A maior rede de estudos do Brasil

Grátis
182 pág.
Apostila Engenharia de Software

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

Por meio desses métodos a engenharia de software pode aplicar em seus projetos, 
sendo eles não muito complexos, de maior rapidez, pois os ciclos são mais curtos, o 
planejamento é mais funcional, tolerância a mudanças, maior proximidade da equipe 
com seu cliente e vice versa e o foco geral no ambiente de trabalho e de seus colabora-
dores.
MATERIAL COMPLEMENTAR
Fundamentos de Engenharia de Software
Frank Tsui e Orlando Karam
Editora: LTC
Sinopse: Em sua segunda edição, Fundamentos da Engenharia 
de Software consiste em uma introdução abrangente de temas e 
metodologias essenciais sobre o desenvolvimento de software. Ideal 
para estudantes universitários e para profi ssionais experientes à 
procura de uma nova carreira no setor de tecnologia da informação 
– ou áreas afi ns –, esta obra apresenta o ciclo de vida completo de 
um sistema de software – da concepção até a liberação e o suporte 
ao usuário. 
Fundamentos da Engenharia de Software constitui um texto 
excepcional para aqueles que estão ingressando no estimulante 
mundo do desenvolvimento de software.
REFERÊNCIAS
33
MEDEIROS, H. Princípios da engenharia de software. Disponível em: <http://
www.devmedia.com.br/principios-da-engenharia-de-software/29630>. Acesso em 
11 de fev. de 2016.
PRESSMAN, R. S. Engenharia de software. Uma abordagem profissional. 7. Ed. Por-
to Alegre: AMGH, 2011.
SOMMERVILLE, I. Engenharia de software. 9. Ed. São Paulo: Pearson Prentice Hall, 
2011. 
STEFFEN, J. B. O que são essas tais de metodologias ágeis? Disponível em: <ht-
tps://www.ibm.com/developerworks/community/blogs/rationalbrasil/entry/
mas_o_que_s_c3_a3o_essas_tais_de_metodologias__c3_a1geis?lang=en>. Aces-
so em 11 de fev. de 2016.
TSUI, F. ; KARAM, O. Fundamentos de engenharia de software. 2. Ed. Rio de Janei-
ro: LTC, 2013.
VASCONCELOS, A. M. L. de; ROUILLER, A. C.; MACHADO, C. Â. F.; MEDEIROS, T. M. 
M. de. Introdução à engenharia de software e à qualidade de software. Lavras: 
UFLA/FAEPE, 2006. Disponível em: <http://www.cin.ufpe.br/~if720/downloads/
Mod.01.MPS_Engenharia&QualidadeSoftware_V.28.09.06.pdf>. Acesso em 11 de 
fev. de 2016.
GABARITO
1. – C
2. - Programa, Documentação
3. –
• Software de sistema: programas desenvolvidos para atender a outros pro-
gramas.
• Software de aplicação: programas desenvolvidos para solucionar uma ne-
cessidade específica de negócio.
• Software científico/de engenharia: são aplicações que vão da astronomia à 
fabricação automatizada.
• Software embutido: controla ou gerencia dispositivos de hardware.
• Software de inteligência artificial: solucionar problemas complexos que 
não poderiam ser solucionados pela computação ou análise. 
U
N
ID
A
D
E II
Professora Me. Márcia Cristina Dadalto Pascutti
PROCESSOS DE SOFTWARE
Objetivos de Aprendizagem
 ■ Compreender os conceitos de processo de software e modelos de 
processo de software.
 ■ Mostrar as atividades básicas do processo de software.
 ■ Mostrar três modelos de processo de software.
Plano de Estudo
A seguir, apresentam-se os tópicos que você estudará nesta unidade:
 ■ Processos de Software
 ■ Modelos de Processo de Software
 ■ Atividades Básicas do Processo de Software
INTRODUÇÃO
Caro(a) aluno(a), na primeira unidade, você aprendeu alguns conceitos bási-
cos relacionados à Engenharia de Software. A partir de agora, você começará a 
estudar assuntos mais específicos da disciplina e você verá que seu estudo ficará 
cada vez mais interessante. 
Nos últimos tempos, o desenvolvimento de software é uma das áreas da tec-
nologia que mais cresceu, e com esse crescimento vieram, também, problemas 
que vão desde o não cumprimento dos prazos estabelecidos para o seu desen-
volvimento até a falta de qualidade do software desenvolvido. 
Um software não pode ser desenvolvido de qualquer jeito, sem seguir cri-
térios, sem que se saiba qual o próximo passo a ser dado. Por isso, os conceitos 
relacionados à engenharia de software devem ser utilizados. Hoje em dia, a 
empresa precisa definir qual o seu processo de software.
Nesta unidade, você aprenderá o que é um processo de software e conhe-
cerá alguns modelos de processo que já existem em nossa literatura e que são 
utilizados por muitas empresas. Esses modelos são: modelo em cascata, desen-
volvimento incremental e engenharia de software baseada em componentes. É 
importante, porém, ressaltar que não é preciso seguir um desses modelos que já 
estão prontos, ou seja, a empresa que vai desenvolver software pode criar o seu 
próprio modelo. É imprescindível que esse modelo seja seguido.
Existem algumas atividades básicas que fazem parte de um processo de sof-
tware. Estudaremos cada uma dessas atividades: especificação de software, projeto 
e implementação de software, validação de software e evolução de software. Você 
perceberá que os modelos de processo de software apresentados nesta unidade 
possuem todas essas atividades, e que, às vezes, a atividade possui um nome 
diferente, mas com o mesmo significado. Você verá também que uma atividade 
pode se desdobrar em várias etapas ou subatividades.
Introdução
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
.
37
©shutterstock
PROCESSOS DE SOFTWARE
Reprodução proibida. A
rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998.
IIU N I D A D E38
PROCESSOS DE SOFTWARE
Para que um software seja produzido, são necessárias diversas etapas, compostas 
por uma série de tarefas em cada uma delas. A esse conjunto de etapas dá-se o 
nome de processo de software. Essas etapas podem envolver o desenvolvimento 
de software a partir do zero em uma determinada linguagem de programação 
(por exemplo, o Java ou C) ou, então, a ampliação e a modificação de sistemas 
já em utilização pelos usuários.
Segundo Sommerville (2011), existem muitos processos de software diferen-
tes, porém todos devem incluir quatro atividades fundamentais para a engenharia 
de software:
1. Especificação de software: é necessário que o cliente defina as 
funcionalidades do software que será desenvolvido, bem como defina 
todas as suas restrições operacionais.
2. Projeto e implementação de software: o software deve ser confeccio-
nado seguindo as especificações definidas anteriormente.
Processos 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
.
39
3. Validação de software: o software precisa ser validado para garantir que 
ele faz o que o cliente deseja, ou seja, que ele atenda às especificações de 
funcionalidade.
4. Evolução de software: as funcionalidades definidas pelo cliente durante 
o desenvolvimento do software podem mudar e o software precisa evo-
luir para atender a essas mudanças.
Vamos estudar detalhadamente cada uma das atividades mencionadas acima 
durante a nossa disciplina, inclusive utilizando ferramentas automatizadas (fer-
ramentas CASE) para nos auxiliar na elaboração dos diversos documentos que 
serão necessários.
Conforme Sommerville (2011, p. 19), “os processos de software são comple-
xos e, como todos os processos intelectuais e criativos, dependem de pessoas para 
tomar decisões e fazer julgamentos. Não existe um processo ideal, a maioria das 
organizações desenvolve os próprios processos de desenvolvimento de software”.
O que acontece é que nem sempre as empresas aproveitam as boas técnicas 
da engenharia de software em seu desenvolvimento de software. E, normal-
mente, o software não atende aos requisitos do usuário, acaba demorando mais 
tempo para ser desenvolvido do que o previsto,