A maior rede de estudos do Brasil

Grátis
182 pág.
Apostila ENGENHARIA DE SOFTWARE unicesumar

Pré-visualização | Página 4 de 38

configurações necessários para 
fazer este programa operar corretamente”. Além disso: 
Para ser considerada como prática de engenharia profissional deve in-
cluir o código e os regulamentos que seus membros devem seguir. Por-
tanto, a engenharia do software também inclui diretivas para a aqui-
sição de conhecimento por parte de seus membros e diretivas para as 
práticas comportamentais de seus membros (TSUI; KARAM, 2013, p. 
36).
As pessoas que trabalham diretamente com a engenharia do software estão 
envolvidas e dirigem seus conhecimentos para o desenvolvimento do software, 
atentas à manutenção e adequação, bem como aos seus diferentes processos 
produtivos.
De acordo com Sommerville (2011), “a engenharia de software é uma dis-
ciplina cujo foco está em todos os aspectos da produção de software, desde os 
estágios iniciais da especificação do sistema até sua manutenção”.
Para Sommerville (2011, p. 5), a engenharia de software é importante por 
dois motivos:
1. A sociedade, cada vez mais, depende de sistemas de software avançados, 
portanto é preciso que os engenheiros de software sejam capazes de pro-
duzir sistemas confiáveis de maneira econômica e rápida.
2. A longo prazo, normalmente, é mais barato usar métodos e técnicas 
propostos pela engenharia de software, ao invés de somente escrever os 
programas como se fossem algum projeto pessoal. Para a maioria dos sis-
temas, o maior custo está na sua manutenção, ou seja, nas alterações que 
são realizadas depois que o sistema é implantado.
INTRODUÇÃO À ENGENHARIA DE SOFTWARE
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IU N I D A D E20
A PRÁTICA DA ENGENHARIA DE SOFTWARE 
De acordo com Pressman (2011, p. 43), devemos utilizar os seguintes princí-
pios e conceitos:
1. Compreender o problema: nem sempre é fácil o quanto pensamos.
Quem tem interesse na solução do problema? Quais são os interessados?
Quais recursos, dados e funções são necessários para resolver apropria-
damente o problema?
O problema pode ser compartimentalizado? É possível representar em 
problemas menores? Talvez seja mais fácil para ser compreendido.
O problema pode ser representado graficamente? É possível termos um 
modelo analítico? 
2. Planejar uma solução: realize um pequeno projeto.
Você já viu problemas similares anteriormente? Existem padrões que são 
reconhecíveis em um potencial de soluções? Existe algum software que 
implemente os dados, as funções e características necessárias?
Algum problema similar já foi resolvido? Em caso positivo, existem ele-
mentos da solução que podem ser reutilizados?
É possível definir subproblemas? Em caso positivo, existem soluções apa-
rentes e imediatas para eles?
É possível representar uma solução de maneira que conduza a uma imple-
mentação efetiva? É possível criar um modelo de projeto?
3. Executar o plano: podem surgir desvios inesperados, mas é possível 
descobrirmos caminhos melhores; se seguirmos o planejamento, conti-
nuaremos sem nos perder.
Verificar se a solução se adequa ao plano? O código fonte pode ser atri-
buído ao projeto?
Projeto e códigos foram revisados? Os componentes da solução estão pro-
vavelmente corretos?
História da Engenharia De Software
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
21
4. Examinar resultado para ter precisão: não podemos ter certeza de que 
uma solução seja perfeita, porém asseguramos que testes são suficientes 
para revelar um número maior de erros.
Podemos testar cada parte componente da solução? Foi implementado 
uma estratégia de testes?
Os resultados da solução se adequam aos dados, funções e característi-
cas? O software foi validado em relação às solicitações dos interessados.
PRINCÍPIOS GERAIS
De acordo com Pressman (2011), são:
1. A razão de existir: antes de especificar uma necessidade do sistema todas 
as decisões deveriam ter princípios voltados aos seus usuários, verificar 
se realmente vai haver agregação diante da necessidade.
2. KISS – (Keep it simple, ou seja, Faça de forma simples): há diversos 
fatores a ser considerados em qualquer esforço do projeto, um software 
com qualidade de fácil manutenção e menos propensos a erros.
3. Mantenha a visão: para o sucesso, é preciso mantermos uma visão clara, 
sem ela o projeto se torna ambíguo; corre-se o risco de transformar o pro-
jeto em vários recortes, comprometendo, então, a visão clara .
4. O que um produz, os outros consomem: o sistema de força industrial é 
construído e utilizado de forma isolada. Outras pessoas poderão documen-
tar, manter e usar. Sendo assim, projete e implemente ciente de que alguém 
mais deverá entender o que você está desenvolvendo, dessa forma você 
agrega mais valor ao sistema e facilita o trabalho de todas outras pessoas.
5. Esteja aberto para o futuro: jamais desenvolva projetos limitados, pois 
um software com maior tempo de vida mais tem valor.
6. Planeje com antecedência: alcançar o nível de reuso é indiscutivelmente 
a meta mais difícil de ser atingida quando se desenvolve um software, pois 
a reutilização economiza tempo e esforço.
7. Pense: é a forma mais clara e qual produz melhores resultados sempre!
©shutterstock
INTRODUÇÃO À ENGENHARIA DE SOFTWARE
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IU N I D A D E22
TIPOS DE APLICAÇÕES DE SOFTWARE
Atualmente, com o software sendo utilizado em praticamente todas as ativida-
des exercidas pelas pessoas, existe uma grande variedade de aplicações. Vamos 
ver algumas delas:
 ■ Software de sistema – de acordo com Pressman (2011, p. 34), são aqueles 
programas desenvolvidos para atender a outros programas, por exemplo, 
editores de texto, compiladores e sistemas operacionais.
 ■ Software de aplicação – são programas desenvolvidos para solucionar uma 
necessidade específica de negócio, processando dados comerciais ou técnicos 
de forma que ajude nas operações comerciais ou tomadas de decisão pelos 
administraExdores da empresa. Um exemplo é o software ERP (Enterprise 
Resource Planning) sendo este um software que visa a integração de todos 
os dados e processos de uma organização em um sistema único.
 ■ Software científico/de engenharia – são aplicações que vão da astronomia 
à vulcanologia, da biologia molecular à fabricação automatizada, normal-
mente utilizando algoritmos para processamento numérico pesado.
 ■ Software embutido – controla ou gerencia dispositivos 
de hardware, como celular, painel do micro-ondas, con-
trole do sistema de freios de um veículo.
 ■ Software de inteligência artificial – utiliza algoritmos 
não numéricos para solucionar problemas complexos que 
não poderiam ser solucionados pela computação ou análise 
direta, por exemplo, sistemas especialistas, robótica, redes neu-
rais artificiais.
MITOS RELATIVOS AO SOFTWARE
Mitos de software são caracterizados como uma série de “falsas verdades”, pois 
apresentam uma sensação intuitiva, distorcendo a verdadeira face do processo 
de engenharia. Atualmente, profissionais com muita experiência na engenha-
ria de software reconhecem os mitos e as atitudes enganosas que representam. 
Tipos de Aplicações de Software
Re
pr
od
uç
ão
 p
ro
ib
id
a.
 A
rt
. 1
84
 d
o 
Có
di
go
 P
en
al
 e
 L
ei
 9
.6
10
 d
e 
19
 d
e 
fe
ve
re
iro
 d
e 
19
98
.
23
Podemos observar alguns exemplos a seguir de acordo com Presmann (2011, 
p. 46-47).
1. Mitos de Gerenciamento: 
Mito: temos um livro com padrões e procedimentos para desenvolver 
software.
Realidade: o livro pode existir, mas ele é usado? Os praticantes sabem que