apostila (1)
74 pág.

apostila (1)


DisciplinaEx Metologia Cientifica39 materiais198 seguidores
Pré-visualização22 páginas
Engenharia de Softwares e Engenharia de Requisitos 
1
Engenharia de 
Software e Engenharia 
de Requisitos
Profª Elisamara de Oliveira
Profº Marcelo de Freitas Pintaud
Engenharia de Softwares e Engenharia de Requisitos 
2
Apresentação 3
Software e Engenharia de Software 4
Antecedentes Históricos da Engenharia de Software 4
Definições e Conceitos de Software e Engenharia de Software 6
O Produto Software 9
Aplicações do Software 10
Mitos do Software 12
Exercícios do Capítulo 1 15
Processo de Software 16
Conceitos Básicos de Processo de Software 16
Padrões, Avaliação e Tecnologias de Processo 18
Exercícios do Capítulo 2 20
Modelos de Processo 21
Ciclo de Vida e Modelos de Processo 21
Modelos Prescritivos de Processo 24
Modelo em Cascata 24
Modelos Evolucionários de Processo 25
Prototipação 25
Modelo Espiral 26
Modelo de Desenvolvimento Concorrente 28
Modelos Incrementais de Processo 29
Modelo Incremental 29
Desenvolvimento Baseado em Componentes 32
Modelo de Métodos Formais 33
Processo Unificado 34
Desenvolvimento Ágil 37
Exercícios do Capítulo 3 41
Engenharia de Requisitos 44
Requisitos e Engenharia de Requisitos 44
Objetivos e Classificação dos Requisitos 45
Requisitos de Produto 45
Requisitos Organizacionais 45
Requisitos Externos 46
Tarefas da Engenharia de Requisitos 49
Exercícios do Capítulo 4 - Parte 1 49
Elicitação de Requisitos 53
Técnicas de Coleta de Requisitos 55
Considerações sobre as Técnicas de Coleta de Requisitos 59
Exercícios do Capítulo 4 - Parte 2 60
Considerações Finais 62
Respostas Comentadas dos Exercícios 63
Capítulo 1 63
Capítulo 2 65
Capítulo 3 66
Sumário
Engenharia de Softwares e Engenharia de Requisitos 
3
Capítulo 4 \u2013 Parte 1 68
Capítulo 4 \u2013 Parte 2 68
Glossário de Siglas 71
Referências Bibliográficas 72
Engenharia de Softwares e Engenharia de Requisitos 
4
Apresentação
Atualmente o software está presente, explicitamente ou mesmo sem se fazer notar, em diversos aspectos 
da vida, inclusive nos sistemas críticos que afetam nossa saúde e nosso bem estar. Diferentemente de outras 
áreas da Engenharia, novas aplicações de software aparecem a cada dia e isso torna a área de desenvolvi-
mento de software um desafio constante, necessitando de pessoas treinadas, capacitadas e em constante 
evolução para desempenhar adequadamente as funções necessárias para a produção de software de quali-
dade.
As dificuldades em se obter software de qualidade, obedecendo a prazos, custos e escopo estabelecidos, 
se mostram presentes desde os primórdios da área de computação. Devido a isso, uma base sólida sobre 
a teoria e a prática da Engenharia de Software é essencial para sabermos como construir bons softwares e 
avaliarmos os riscos e as oportunidades que ele pode trazer para o bom desempenho dos negócios. 
A Engenharia de Software trilhou um longo caminho desde quando o termo foi usado pela primeira vez. 
Convidamos você, caro aluno, a percorrer esse caminho. Ao longo dessa disciplina, iremos destacar aspectos-
-chaves da Engenharia de Software, abordando, dentre outras, as seguintes questões:
\u2022 Qual a necessidade de uma disciplina de Engenharia para o desenvolvimento de software?
\u2022 O que se entende por Engenharia de Software?
\u2022 O que se entende por software de computador?
\u2022 Por que lutamos para construir sistemas de alta qualidade?
\u2022 Como podemos categorizar os domínios de aplicação para o software? 
\u2022 Que mitos ainda existem sobre software?
\u2022 O que é um processo de software?
\u2022 Que modelos de processo podem ser aplicados ao desenvolvimento de software?
\u2022 Quais os pontos fortes e fracos de cada modelo de processo?
\u2022 Por que é tão complicado estabelecer os requisitos de um sistema?
\u2022 Quais técnicas podem nos auxiliar no estabelecimento dos requisitos?
Quando essas questões forem respondidas, você, caro aluno, estará melhor preparado para entender os 
conceitos de gestão e os aspectos técnicos da atividade de Engenharia de Software que serão abordados nas 
disciplinas subsequentes do nosso curso.
Marcelo Pintaud
Elisamara de Oliveira 
Engenharia de Softwares e Engenharia de Requisitos 
5
Software e Engenharia de Software
Caro aluno, neste capítulo abordaremos os antecedentes históricos da engenharia de software, 
falaremos sobre os principais conceitos de software e da engenharia de software, sobre a crise 
do software, mostraremos as diferenças entre os produtos \u201csoftware\u201d x \u2018hardware\u201d, exemplifi-
caremos algumas das principais aplicações do software e o alertaremos sobre o que é mito e 
realidade na área de desenvolvimento.
Antecedentes Históricos da 
Engenharia de Software
Caros alunos, para entendermos melhor os concei-
tos fundamentais que envolvem a área de Engenha-
ria de Software, vamos fazer um breve histórico dos 
principais fatos que ocorreram no mundo da tecnolo-
gia que justificaram a criação deste ramo da compu-
tação. É interessante vocês notarem que há algumas 
décadas atrás, não se tinha ideia da importância que 
os computadores e, em especial, o software (progra-
mas de computadores), iriam ter e como iriam afetar 
profundamente a vida de todos nós.
A denominação da \u201cEngenharia de Software\u201d sur-
giu em 1968, em uma conferência organizada para 
discutir a chamada \u201ccrise do software\u201d. Mas, para 
sermos mais precisos, o termo foi criado no início da 
década de 1960, tendo sido utilizado oficialmente em 
1968 nesta conferência, a NATO Conference on Sof-
tware Engineering (Conferência da OTAN sobre En-
genharia de Software), que aconteceu na cidade de 
Garmisch, Alemanha. Nesta ocasião, todos estavam 
preocupados em contornar os efeitos da crise do 
software e buscar maneiras de dar um tratamento de 
engenharia, ou seja, mais sistemático e controlado, 
ao desenvolvimento de sistemas de software comple-
xos. 
Um sistema de software complexo é caracterizado 
por um conjunto de componentes de software (es-
truturas de dados, métodos, técnicas) encapsulados 
na forma de procedimentos, funções, módulos, obje-
tos ou agentes, interconectados entre si, compondo 
a arquitetura do software, que deverão ser executa-
dos em sistemas computacionais. 
Fonte: http://profcarolinadgs.webnode.com.br/unip/engenharia-
de-software/
Engenharia de Softwares e Engenharia de Requisitos 
6
A Crise do Software
A \u201ccrise do software\u201d foi um termo criado para descrever as dificuldades enfrentadas no desenvolvimento de 
software no final da década de 1960. A complexidade dos problemas, a ausência de técnicas bem estabelecidas 
e a crescente demanda por novas aplicações começavam a se tornar um problema sério. Essa crise teve como 
origem a introdução de computadores \u201cmais poderosos\u201d. O advento deste hardware com mais recursos tornava 
viáveis softwares bem maiores e mais complexos que os sistemas existentes. A experiência inicial de construção 
desses sistemas mostrou que uma abordagem informal de desenvolvimento de software não era suficiente. 
Projetos importantes sofriam atrasos (às vezes, de alguns anos). Os custos eram muito maiores do que os ini-
cialmente projetados. As soluções de software não eram confiáveis. Os programas eram de difícil manutenção. 
Novas técnicas e novos métodos eram necessários para controlar a complexidade inerente aos grandes sistemas 
de software.
Desta forma, como o principal objetivo dessa conferência foi estabelecer práticas mais maduras para o 
processo de desenvolvimento de software, é considerado como o evento que deu origem à disciplina de En-
genharia de Software.
Duas décadas depois, em 1986, Alfred Spector, presidente da Transarc Corporation, foi co-autor de um 
artigo comparando a construção de pontes ao desenvolvimento de software. Sua premissa era de que \u201cAs 
pontes normalmente eram construídas no tempo planejado, no orçamento e nunca caíam. Por outro lado,