A maior rede de estudos do Brasil

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

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

organizado em cinco unidades, sendo que todas estão estreitamente re-
lacionadas. 
Na unidade I, apresentarei alguns conceitos referentes à disciplina. Você notará, durante 
a leitura das outras unidades, que esses conceitos são utilizados com frequência.
A engenharia de software surgiu da necessidade de tornar o desenvolvimento de sof-
tware confiável, com etapas bem definidas, com custo e cronograma previsíveis, o que, 
até a época de 1968, quando o termo engenharia de software foi proposto, não aconte-
cia. Gostaria de ressaltar que software compreende, além dos programas, toda a docu-
mentação referente a ele, sendo que a engenharia de software é a disciplina que trata 
dessa documentação.
Depois, na segunda unidade, começaremos a aplicar os conceitos já estudados e mos-
trarei a você que um processo de software genérico é composto de algumas etapas bá-
sicas que farão parte de qualquer modelo de processo de software. Essas etapas básicas 
são: i) a especificação dos requisitos do software a ser desenvolvido; ii) o projeto e a im-
plementação do software; iii) a validação do software e, finalmente iv) a evolução do sof-
tware. Nesta unidade, abordarei três modelos de processo de software, mas a literatura 
traz outros modelos. Meu objetivo é mostrar alguns modelos propostos pela literatura, 
mas, ao final dessa unidade, você poderá elaborar o seu próprio modelo, colocando as 
etapas na ordem que você achar melhor para a sua empresa.
A unidade III é bastante específica, tratando apenas dos conceitos relacionados a requi-
sitos de software, já que, para o desenvolvimento de um software da forma esperada 
pelo cliente, é fundamental que todos os requisitos tenham sido claramente definidos. 
Um requisito deve estabelecer o que o sistema deve fazer, bem como as restrições sobre 
seu funcionamento e implementação, podendo ser classificado em requisito funcional e 
não funcional. Os requisitos funcionais dizem respeito aos serviços que o software deve 
fornecer, por exemplo, o cadastro dos pacientes de uma clínica odontológica, a emissão 
de um relatório de vendas. Todos esses requisitos, tanto os funcionais quanto os não 
funcionais, devem ser claramente definidos no documento de requisitos, pois é a par-
tir desse documento que o sistema será modelado, projetado, implementado, ou seja, 
todo o desenvolvimento do sistema será baseado nesse documento. Em alguns casos, 
o documento de requisitos pode servir como um contrato entre o cliente e a empresa 
desenvolvedora do software.
APRESENTAÇÃO
ENGENHARIA DE SOFTWARE
Para você ter uma ideia de como é um documento de requisitos, mostrarei o de uma 
locadora de filmes na unidade III. O exemplo é bem simples, mas contém detalhes 
suficientes para a continuidade do processo de desenvolvimento de software.
Então, de posse do documento de requisitos, começaremos a estudar a penúltima 
unidade do nosso livro, a unidade IV que trata da modelagem do sistema. Nessa 
unidade, utilizaremos os conceitos de orientação a objetos e de UML estudados na 
primeira unidade. A modelagem é a parte fundamental de todas as atividades rela-
cionadas ao processo de software, sendo que, os modelos que são construídos nessa 
etapa servem para comunicar a estrutura e o comportamento desejados do sistema, 
a fim de que possamos melhor compreender o sistema que está sendo elaborado. 
Outro ponto importante que é necessário deixar registrado, é que de nada vale uma 
documentação desatualizada, por isso, é importante utilizar uma ferramenta CASE 
para criar e manter a documentação. Representaremos estes modelos por meio de 
diagramas, utilizando a UML como notação gráfica. Na primeira unidade já explica-
mos a importância da UML e agora começaremos a utilizá-la de fato. A UML tem 
diversos diagramas, mas, em nosso material, trataremos somente do Diagrama de 
Casos de Uso e do Diagrama de Classes. A fim de auxiliar o entendimento de cada um 
deles, elaborei uma espécie de tutorial explicando a sua elaboração passo a passo. 
Isso foi feito para facilitar o seu entendimento, pois esses diagramas são os mais im-
portantes e os mais utilizados da UML, servindo de base para os demais diagramas.
E, finalmente, chegamos à última unidade do nosso material. Essa unidade é o fe-
chamento das etapas do processo de software, ou seja, tratará das etapas de pro-
jeto, implementação, teste e manutenção de software. Assim, você compreenderá 
todo o processo de software com as etapas que o englobam.
O projeto de software é onde são definidas as interfaces do sistema. É importante que o 
usuário participe ativamente deste processo, afinal, será ele quem vai passar a maior par-
te do tempo interagindo com o sistema. Depois disso, o sistema pode ser implementado, 
ou seja, é hora de transformar todo o trabalho realizado até o momento em código fonte. 
À medida que o sistema vai sendo desenvolvido, cada programa vai sendo valida-
do pelo desenvolvedor, mas isso só não basta. É muito importante que a etapa de 
validação seja cuidadosamente realizada pela equipe de desenvolvimento, pois é 
preciso assegurar que o sistema funcionará corretamente.
Depois que o sistema é colocado em funcionamento, ele precisa evoluir para conti-
nuar atendendo as necessidades dos usuários. Em todas estas etapas é importante 
a aplicação das técnicas da engenharia de software.
Assim, chegamos ao final do nosso livro. Espero, sinceramente, que sua leitura seja 
agradável e que esse conteúdo possa contribuir para seu crescimento pessoal, aca-
dêmico e profissional.
Prof.ª Márcia.
Prof.ª Janaína.
Prof.ª Talita.
APRESENTAÇÃO
SUMÁRIO
09
UNIDADE I
INTRODUÇÃO À ENGENHARIA DE SOFTWARE
15 Introdução
16 Conceitos Básicos Sobre Software 
18 História da Engenharia De Software 
22 Tipos de Aplicações de Software 
25 Software Legado 
28 Considerações Finais 
33 Referências 
34 Gabarito 
UNIDADE II
PROCESSOS DE SOFTWARE
37 Introdução
38 Processos de Software 
40 Modelos de Processo de Software 
48 Atividades Básicas do Processo de Software 
54 Considerações Finais 
60 Referências 
61 Gabarito 
SUMÁRIO
10
UNIDADE III
REQUISITOS DE SOFTWARE
65 Introdução
66 Requisitos de Software 
72 O Documento de Requisitos de Software 
78 Engenharia de Requisitos 
91 Considerações Finais 
95 Referências 
96 Gabarito 
UNIDADE IV
MODELAGEM DE SISTEMAS
101 Introdução
102 Modelagem de Sistemas 
104 Diagrama de Casos de Uso 
114 Diagrama de Classes 
131 Ferramentas Case (Computer-Aided Software Engineering) 
134 Conceitos Básicos de Orientação a Objetos 
142 Uml – Unified Modeling Languag 
144 Considerações Finais 
149 Referências 
150 Gabarito 
SUMÁRIO
11
UNIDADE V
PROJETO, IMPLEMENTAÇÃO, TESTES E MANUTENÇÃO DE SOFTWARE
157 Introdução
158 Projeto de Software 
164 Implementação de Software 
168 Teste de Software 
173 Manutenção de Software 
176 Considerações Finais 
182 Referências 
183 Gabarito 
 
184 CONCLUSÃO 
U
N
ID
A
D
E I
Professora Me. Márcia Cristina Dadalto Pascutti
Professora Esp. Talita Tonsic Gasparotti
INTRODUÇÃO À 
ENGENHARIA DE 
SOFTWARE
Objetivos de Aprendizagem
 ■ Entender o que é engenharia de software e qual a sua importância.
Plano de Estudo
A seguir, apresentam-se os tópicos que você estudará nesta unidade:
 ■ Conceitos básicos sobre Software 
 ■ História da Engenharia de Software
 ■ Tipos de Aplicações de Software
 ■ Mitos Relativos ao Software
 ■ Software Legado
INTRODUÇÃO
Caro(a) aluno(a), nesta primeira unidade, trataremos alguns conceitos relacio-
nados à engenharia de software como um todo, que serão fundamentais para o 
entendimento de todas as unidades. 
O termo engenharia de software foi proposto, inicialmente, em 1968, em 
uma conferência