Escolar Documentos
Profissional Documentos
Cultura Documentos
Conceitos Gerais
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br
CONCEITOS GERAIS
O que é um Software?
Consiste em instruções, estrutura de dados e documentação.
Obs.: este curso terá como base a literatura de dois autores: Sommerville e Pressman. As
bancas examinadoras costumam cobrar conceitos desses dois autores.
Engenharia de Software
Em meados dos anos 1970, surgiram os primeiros elementos da engenharia de software,
devido ao evento chamado “crise do software”.
5m
Os computadores evoluíam cada vez mais rápido com a introdução dos chips e os
softwares não estavam acompanhando no mesmo ritmo essa evolução.
Pode ser vista como uma abordagem de desenvolvimento de software elaborada com
disciplina e métodos bem definidos.
Sommerville (2011) relata os maiores problemas enfrentados na época:
I – Estouro de orçamento;
II – Prazos não cumpridos;
III – Software que não atendem aos requisitos do usuário;
IV – Projetos com poucos elementos para permitir sua gestão e código fonte de difícil
manutenção.
1 www.grancursosonline.com.br
ENGENHARIA DE SOFTWARE
Conceitos Gerais
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br
Processos de Software
São complexos e dependem de vários fatores como:
I – Produto a ser desenvolvido;
II – Time;
III – Recursos;
IV – Não existe um processo ideal, ele pode ser adaptado de acordo com o contexto,
podendo ser mais formal ou mais flexível.
10m
Atividades (PRESSMAN)
Para Pressman, um processo de engenharia de software passa por algumas atividades,
conforme mostra o quadro a seguir:
Atividade Definição
Entender os objetivos dos envolvidos para o projeto e reunir requisitos que ajudem a defi-
Comunicação
nir os recursos e as funções do software.
Cria um “mapa” (plano de projeto de software) descrevendo as tarefas técnicas a serem
Planejamento conduzidas, os riscos prováveis, os recursos necessários, os produtos resultantes a ser
produzidos e um cronograma de trabalho.
Criação de modelos para entender melhor as necessidades do software e do projeto que
Modelagem vai atender a essas necessidades. Cria-se um “esboço” para que se possa ter uma ideia do
todo.
Essa atividade combina geração de código (manual ou automatizada) e testes necessários
Construção
para revelar erros na codificação.
Entrega Entrega do software e avaliação pelo cliente.
2 www.grancursosonline.com.br
ENGENHARIA DE SOFTWARE
Conceitos Gerais
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br
Atividade Definição
Atividade Definição Controle e Possibilita que a equipe avalie o progresso em relação ao plano do
acompanhamento do projeto projeto e tome as medidas necessárias para cumprir o cronograma.
Avalia riscos que possam afetar o resultado ou a qualidade do pro-
Administração de riscos
duto/projeto.
Define e conduz as atividades que garantem a qualidade do sof-
Garantia da qualidade
tware.
Avaliam artefatos da engenharia de software, tentando identificar e
Revisões técnicas
eliminar erros antes que se propaguem para a atividade seguinte.
Medição Define e coleta medidas (do processo, do projeto e do produto).
Gerenciamento da configura-
Gerencia os efeitos das mudanças ao longo do processo.
ção de software
Gerenciamento da capacidade Define critérios para a reutilização de artefatos e estabelece meca-
de reutilização nismos para a obtenção de componentes reutilizáveis.
Preparo e produção de artefa- Engloba as atividades necessárias para criar artefatos, como mode-
tos de software los, documentos, logs, formulários e listas.
Atividade Definição
A funcionalidade do software e as restrições a seu funcionamento
Especificação de Software
devem ser definidas.
Projeto e Implementação
O software deve ser produzido para atender às especificações.
de Software
15m
O software deve ser validado para garantir que atenda às demandas
Validação de Software
do cliente.
O software deve evoluir para atender às necessidades de mudança
Evolução de Software
dos clientes.
ANOTAÇÕES
3 www.grancursosonline.com.br
ENGENHARIA DE SOFTWARE
Conceitos Gerais
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br
FLUXO DE PROCESSO
Repete uma ou mais das atividades metodológicas antes de prosseguir para a seguinte.
A repetição pode ocorrer em uma única atividade ou em conjuntos de atividades.
20m
ANOTAÇÕES
4 www.grancursosonline.com.br
ENGENHARIA DE SOFTWARE
Conceitos Gerais
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br
5 www.grancursosonline.com.br
ENGENHARIA DE SOFTWARE
Conceitos Gerais
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br
Executa uma ou mais atividades em paralelo com outras (por exemplo, a modelagem
para um aspecto do software poderia ser executada em paralelo com a construção de outro
aspecto do software).
Obs.: esse fluxo em paralelo tem sido pouco utilizado atualmente, contudo é importante
conhecê-lo, visto que as bancas examinadoras podem cobrá-lo em prova.
ATENÇÃO
Modelos evolucionários são iterativos.
Apresentam características que possibilitam desenvolver versões cada vez mais com-
pletas do software.
Os dois modelos mais comuns de processos evolucionários são:
• Prototipação; e
• Modelo Espiral.
ANOTAÇÕES
6 www.grancursosonline.com.br
ENGENHARIA DE SOFTWARE
Conceitos Gerais
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br
Prototipação
Um protótipo é uma versão inicial de um sistema de software, usado para demonstrar
conceitos, experimentar opções de projeto e descobrir mais sobre o problema e suas
possíveis soluções.
O desenvolvimento rápido e iterativo com custos controlados.
Prototipação possa ser utilizada como um modelo de processo isolado, mas ela é mais
comumente utilizada como uma técnica a ser implementada no contexto de qualquer um
dos modelos de processo.
Vantagens Desvantagens
Os envolvidos enxergam o que parece ser uma
Facilita a definição dos requisitos.
versão operacional do software.
30m
Reduz os riscos e incertezas do desenvolvimento. Pressão para aproveitar o código escrito.
A experiência obtida pode reduzir o custo das
Retrabalho.
etapas seguintes.
Pode aumentar o custo do desenvolvimento.
ANOTAÇÕES
7 www.grancursosonline.com.br
ENGENHARIA DE SOFTWARE
Conceitos Gerais
Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br
Obs.: como modelo de processo, a prototipação prega que o protótipo (modelo) deve ser
descartado. Contudo, na prática, muitos acabam reaproveitando esse código. O pro-
blema é que isso gera a necessidade de se incrementar esse software, o que pode
acarretar um grande retrabalho. Hoje em dia a prototipação é mais utilizada como
técnica dentro de outros modelos.
�Este material foi elaborado pela equipe pedagógica do Gran Cursos Online, de acordo com a aula
preparada e ministrada pelo professor Washington Henrique Carvalho Almeida.
A presente degravação tem como objetivo auxiliar no acompanhamento e na revisão do conteúdo
ministrado na videoaula. Não recomendamos a substituição do estudo em vídeo pela leitura exclu-
siva deste material.
ANOTAÇÕES
8 www.grancursosonline.com.br