Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Engenharia de Software
Tecnologia em Análise e Desenvolvimento de Sistemas
2
O que é Engenharia de Software?
O que é software? O que é Engenharia de Software? Qual é a diferença entre Engenharia de Software e Engenharia de Sistemas? O que é um processo de software? O que é um modelo de processo de software? Quais os desafios enfrentados pela Engenharia de Software? Quais os atributos de um bom software? Engenharia de Software - Professor Gabriel Baptista
3
O que é Engenharia de Sistemas? Algumas características dos sistemas?
Como se dividem os requisitos de um sistema? Como modelar um sistema? Quais os componentes funcionais dos sistemas? Quais as fases de um processo de Engenharia de Sistemas? Como faço se preciso comprar um sistema? Engenharia de Software - Professor Gabriel Baptista
4
O que vem a ser um ciclo de vida?
Engenharia de Software - Professor Gabriel Baptista
5
Atividades fundamentais do Software
Especificação: Definição de funcionalidades e restrições Projeto (Desenho) e implementação: Produção do software de acordo com o especificado Validação: Garantia que o software faz o que foi especificado Evolução: Evolução natural para atender às necessidades do cliente. Engenharia de Software - Professor Gabriel Baptista
6
Não existe um processo de software ideal!
Observações Não existe um processo de software ideal! Não existem ferramentas mágicas! A melhoria de processo deve ser implementada! Engenharia de Software - Professor Gabriel Baptista
7
Modelos de processo de software
Genéricos Com o objetivo de mostrar as tendências no desenvolvimento do software Diferentes abordagens Evolução Engenharia de Software - Professor Gabriel Baptista
8
Modelo em “Cascata” Water-Fall (Royce, 1970)
Definição dos requisitos Projeto de sistemas e de software Implementação e testes de unidade Integração e testes de sistemas Operação e manutenção (SOMMERVILLE, 2003) Engenharia de Software - Professor Gabriel Baptista
9
Modelo em “Cascata” Retrato das atividades fundamentais.
Idealizado para não existir iteração entre as fases. Porém, na prática, existe uma pequena iteração. Costuma-se “congelar” determinados documentos a partir de um certo ponto do projeto. Engenharia de Software - Professor Gabriel Baptista
10
Quais as vantagens do modelo em cascata?
Quais as desvantagens do modelo em cascata? Em que tipo de projeto você utilizaria o modelo em cascata? Engenharia de Software - Professor Gabriel Baptista
11
Observações sobre o modelo em “Cascata”
Deve ser utilizado se os requisitos forem bem compreendidos. Ao encontrar um erro, deve-se retornar até a fase causadora do erro e reiniciar o projeto daquele ponto. Engenharia de Software - Professor Gabriel Baptista
12
Versões intermediárias
Modelo evolucionário Atividades concorrentes Especificação Versão inicial Versões intermediárias Descrição do esboço Desenvolvimento Validação Versão final (SOMMERVILLE, 2003) Engenharia de Software - Professor Gabriel Baptista
13
Modelo evolucionário Dois tipos:
Exploratório: Evolução a partir de propostas do cliente Protótipos descartáveis: O objetivo é compreender os requisitos Engenharia de Software - Professor Gabriel Baptista
14
Quais as vantagens do modelo evolucionário?
Quais as desvantagens do modelo evolucionário? Em que tipo de projeto você utilizaria o modelo evolucionário? Engenharia de Software - Professor Gabriel Baptista
15
Observações sobre o modelo evolucionário
Facilidade de interação com o cliente Especificação desenvolvida gradativamente Processo não é visível Sistemas mal-estruturados Engenharia de Software - Professor Gabriel Baptista
16
Desenvolvimento incremental Desenvolvimento espiral
Processos iterativos! Possibilidade de repetição de alguns pontos do processo para redimensionamento ou mesmo melhor entendimento do software. Desenvolvimento incremental Desenvolvimento espiral Engenharia de Software - Professor Gabriel Baptista
17
Desenvolvimento incremental
Definir esboço dos requisitos Atribuir requisitos aos incrementos Projetar arquitetura do sistema Desenvolver incremento do sistema Validar incremento Integrar incremento Validar sistema Sistema final Sistema incompleto (SOMMERVILLE, 2003) Engenharia de Software - Professor Gabriel Baptista
18
Observações sobre o desenvolvimento incremental
Meio de reduzir o retrabalho Funções prioritárias devem ser entregues primeiro Risco menor de fracasso total Cuidado com o número de incrementos! Cuidado com o número de funções por incremento! Engenharia de Software - Professor Gabriel Baptista
19
Desenvolvimento em espiral (Boehm, 1988) (SOMMERVILLE, 2003)
Engenharia de Software - Professor Gabriel Baptista
20
Observações sobre o desenvolvimento em espiral
Cada loop representa uma fase do processo: viabilidade, requisitos, projeto, etc. Quatro vetores: Definição de objetivos Avaliação e redução de riscos Desenvolvimento e validação Planejamento Consideração explícita dos riscos Abrangência de outros processos para produção de artefatos. Engenharia de Software - Professor Gabriel Baptista
21
Momento de reflexão Você consegue visualizar algum destes modelos dentro da sua empresa? Existe uma documentação formal sobre este processo de desenvolvimento dentro da sua empresa? Você conseguiria desenhar o processo de sua empresa? Engenharia de Software - Professor Gabriel Baptista
22
Importante! Precisamos ter o processo que iremos utilizar em um projeto documentado! Isto faz parte do planejamento do projeto! Engenharia de Software - Professor Gabriel Baptista
23
Obrigado! Engenharia de Software - Professor Gabriel Baptista
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.