paradigmas de engenharia de software

Post on 06-Jun-2015

11.548 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Engenharia de Software II

Paradigmas de Engenharia de Software

Prof. César França

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Engenharia

• Métodos• Ferramentas• Procedimentos

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Desenvolvimento Clássico(Cascata / Waterfall)

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Levantamento de Requisitos

• Análise de requisitos engloba todas as tarefas que lidam com investigação, definição e escopo de novos sistemas ou alterações. Análise de requisitos é uma parte importante do processo de projeto de sistemas, na qual o engenheiro de requisitos e o analista de negócio, juntamente comengenheiro de sistema ou desenvolvedor de software, identificam as necessidades ou requisitos de um cliente. Uma vez que os requisitos do sistema tenha sido identificados, os projetistas de sistemas estarão preparados para projetar a solução.

• Entrevistas com Stakeholder• Workshops• Lista de requisitos: estilo contrato formal• Objetivos Mensuráveis• Protótipos

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Análise de Requisitos

• Análise de Requisitos é o estudo das características que o sistema deverá ter para atender às necessidades e expectativas do cliente.

• É o Entendimento do Problema

• Cada funcionalidade demandada pelo cliente deve ser analisada para verificar os possíveis impactos no desenvolvimento das demais funcionalidades do sistema, e verificado em conjunto com a equipe de desenvolvimento se as necessidades tecnológicas para a sua implementação estão disponíveis

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Projeto

• É a parte da engenharia de software que se encarrega de transformar os resultados da Análise de Requerimentos em um documento ou conjunto de documentos capazes de serem interpretados diretamente pelo programador.

• Arquitetura de Software• Design Patterns (Padrões de Projeto)• Refatoração

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Implementação

• Corresponde à codificação, ou tradução dos requisitos para uma linguagem legível pelas máquinas.

• Se o projeto for executado detalhadamente, a codificação pode ser feita mecanicamente, e até mesmo automatizada.

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Testes

• O objetivo, por paradoxal que pareça, é encontrar defeitos nos produtos, para que estes possam ser corrigidos pela equipe de programadores, antes da entrega final.

• Testes Caixa-Branca ou Caixa-Preta• Testes Unitários, de Integração, de Aceitação, de Produção e de Regressão

Processo Simplificado• Descobrir a existência do bug • Isolar o código que causa o bug • Identificar a causa do bug • Determinar uma correção para o bug• Aplicar a correção e testar a correção

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Implantação

• Passagem do software para a produção.

• Liberação• Instalação• Ativação/Desativação

• Risco: Integração com Sistemas Legados!!!

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Desenvolvimento Clássico(Cascata / Waterfall)

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Custo da Mudança

Tempo

Custo

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Prototipação

• Processo que capacita o desenvolvedor a criar um modelo do software que será implementado.

• Storyboarding• Protótipo em papel• Mágico de Oz• Máquina de Cenários• Prototipagem Rápida• Prototipagem Evolutiva

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Prototipação

• Pontos Positivos– Requisitos adequados– Cliente visualiza a construção

• Pontos Negativos– Difícil manutenção– Baixo re-uso– Riscos de projeto– Cliente achar que o projeto está pronto!

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Modelo Iterativo

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Prototipação

• Pontos Positivos–Desenvolvimento evolutivo–Projeto componentizado

• Pontos Negativos–Custo da mudança–Refactoring

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Modelo Espiral

EngenhariaRequisitos

ImplementaçãoAvaliação

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Modelo Espiral

• Pontos Positivos– Desenvolvimento Evolutivo– Mudança planejada– Redução de Riscos

• Pontos Negativos – Difícil adoção dos clientes– Avaliação de Riscos delicada– Imprevisão de riscos grandes: mudança cara!

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Outros “Paradigmas”

• Linguagens de 4ª Geração• RAD – Rapid Application Development

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Qual o melhor?

• Desenvolvimento Tradicional• Prototipagem• Iterativo• Espiral• ...

DEPENDE!!!

FASETE, Engenharia de Software II, 2008.1 Prof. César França

Disponível em...http://es2.cesarfranca.com

Prof. César França

top related