A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Engenharia de Software

Apresentações semelhantes


Apresentação em tema: "Engenharia de Software"— Transcrição da apresentação:

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


Carregar ppt "Engenharia de Software"

Apresentações semelhantes


Anúncios Google