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

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

Engenharia de Software Slide 06 – Modelos de Processos (Continuação) Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas.

Apresentações semelhantes


Apresentação em tema: "Engenharia de Software Slide 06 – Modelos de Processos (Continuação) Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas."— Transcrição da apresentação:

1 Engenharia de Software Slide 06 – Modelos de Processos (Continuação) Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas Juliano Amorim de Oliveira

2 Vimos nas aulas anteriores Engenharia de Software: uma tecnologia em camadas (ferramentas, métodos, processos, qualidade) Modelos de processo de sofware Modelo cascata

3 Modelo Seqüencial Linear (Modelo Cascata) Paradigma de Prototipação Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software Modelo Incremental Modelo Espiral Modelo de Montagem de Componentes Modelo de Desenvolvimento Concorrente Modelos de Métodos Formais Técnicas de Quarta Geração Modelos de Processo de Software

4 Modelo Seqüencial Linear (Modelo Cascata) Paradigma de Prototipação Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software Modelo Incremental Modelo Espiral Modelo de Montagem de Componentes Modelo de Desenvolvimento Concorrente Modelos de Métodos Formais Técnicas de Quarta Geração Modelos de Processo de Software

5 O Modelo de Prototipação Objetivo: entender os requisitos do usuário possibilita que o desenvolvedor crie um modelo (protótipo) do software que deve ser construído apropriado quando o cliente definiu um conjunto de objetivos gerais para o software, mas não identificou detalhadamente esses requisitos

6 O Modelo de Prototipação Obter Requisitos Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo

7 Prototipação construa/revise protótipo construa/revise protótipo teste do protótipo pelo cliente teste do protótipo pelo cliente ouça o cliente Simplificando

8 O Modelo de Prototipação Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo Obter Requisitos Desenvolvedor e cliente: definem os objetivos gerais do software identificam quais requisitos são conhecidos identificam as áreas que necessitam de definições adicionais

9 O Modelo de Prototipação Obter Requisitos Construir Protótipo Avaliar Protótipo Refinamento do Protótipo Elaborar Projeto Rápido Representação dos aspectos do software que são visíveis ao usuário abordagens de entrada e formatos de saída

10 Construir Protótipo O Modelo de Prototipação Obter Requisitos Elaborar Projeto Rápido Avaliar Protótipo Refinamento do Protótipo Construir Protótipo Implementação rápida do projeto

11 O Modelo de Prototipação Obter Requisitos Elaborar Projeto Rápido Construir Protótipo Refinamento do Protótipo Avaliar Protótipo Cliente e desenvolvedor avaliam o protótipo

12 O Modelo de Prototipação Obter Requisitos Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo Cliente e desenvolvedor refinam os requisitos do software a ser desenvolvido

13 O Modelo de Prototipação Obter Requisitos Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo CONSTRUÇÃO DO PRODUTO Identificados os requisitos, o protótipo deve ser descartado e a versão de produção deve ser construída considerando os critérios de qualidade

14 Prototipação Dificuldades: cliente não sabe que o software que ele vê, não considerou, durante o desenvolvimento, a qualidade global e a manutenibilidade a longo prazo. Não aceita bem a idéia de jogar fora o que foi feito desenvolvedor freqüentemente desenvolve o protótipo de forma comprometida (utilizando o que está disponível). Depois de um tempo ele se familiariza com essas escolhas, e pode ser que esqueça que elas não são apropriadas para o produto final;

15 Modelos de Processo de Software Modelo Seqüencial Linear (Modelo Cascata) Paradigma de Prototipação Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software Modelo Incremental Modelo Espiral Modelo de Montagem de Componentes Modelo de Desenvolvimento Concorrente Modelos de Métodos Formais Técnicas de Quarta Geração

16 O Modelo Incremental Combina elementos do modelo cascata (aplicado repetidamente) com a filosofia iterativa Usado quando é difícil estabelecer a priori uma especificação detalhada dos requisitos Objetivo: trabalhar junto do usuário a fim de descobrir seus requisitos, de maneira incremental, até que o produto final seja obtido

17 O Modelo Incremental Versão Inicial Descrição geral Versões Intermediárias Versão Final Atividades Paralelas Engenharia de Sistemas Análise de Requisitos Projeto Codificação Testes

18 O Modelo Incremental Versão Inicial Descrição geral Versões Intermediárias Versão Final Atividades Paralelas Engenharia de Sistemas Análise de Requisitos Projeto Codificação Testes Descrição geral A versão inicial é, freqüentemente, o núcleo do produto o desenvolvimento começa com as partes do produto que são mais bem entendidas um plano é desenvolvido para o próximo incremento, como resultado do uso e/ou avaliação por parte do cliente são adicionadas novas características à medida que são sugeridas pelo usuário

19 O Modelo Incremental objetiva a elaboração de um produto operacional a cada incremento os testes podem ser mais efetivos é mais fácil testar cada versão do sistema do que o sistema todo no final

20 O Modelo Incremental Engenharia de Sistemas / Informação Análise Projeto Codificação Testes Análise Projeto Codificação Testes Análise Projeto Codificação Testes Análise Projeto Codificação Testes incremento 1 incremento 2 incremento 3 incremento 4 produto liberado do incremento 1 produto liberado do incremento 2 produto liberado do incremento 3 produto liberado do incremento 4 tempo

21 O Modelo Incremental Diferentemente do paradigma da prototipação, tem o objetivo de apresentar um produto operacional a cada incremento É útil quando não há mão de obra disponível para uma implementação completa.

22 Extreme Programming (XP) Programação Extrema (Programação Ágil) evolução, recente,da abordagem incremental. Desenvolvida por Beck em 1999 Voltada para equipes de até 20 pessoas engajadas no desenvolvimento de software cujos requisitos são vagos ou se encontram em constante mudança Principal atividade codificação Principal contribuição aplicação extrema das práticas num modelo coeso e sinérgico

23 Extreme Programming (XP) Algumas características: o desenvolvimento e a entrega de incrementos de funcionalidade muito pequenos diálogo constante e evolutivo entre programadores e clientes a constante melhoria de código

24 Extreme Programming (XP) Algumas características: a programação em pares 40 horas de trabalho (muita hora-extra é sinal de problemas com o projeto) requisitos são criados pelo cliente estórias Refactoring abordagem disciplinada para tornar o código de um software mais claro e de fácil manutenção, minimizando a probabilidade de inclusão de erros

25 Modelos de Processo de Software Modelo Seqüencial Linear (Modelo Cascata) Paradigma de Prototipação Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software Modelo Incremental Modelo Espiral Modelo de Montagem de Componentes Modelo de Desenvolvimento Concorrente Modelos de Métodos Formais Técnicas de Quarta Geração

26 O Modelo Espiral Engloba as melhores características do modelo Cascata e da Prototipação, adicionando um novo elemento: a Análise de Risco Segue a abordagem de passos sistemáticos do modelo Cascata incorporando-os numa estrutura iterativa que reflete mais realisticamente o mundo real

27 O Modelo Espiral Usa a Prototipação, em qualquer etapa da evolução do produto, como mecanismo de redução de riscos O modelo espiral é dividido em uma série de atividades de trabalho ou regiões de tarefa

28 Planejamento Análise de Riscos Engenharia Construção e Liberação Avaliação do Cliente Comunicação com Cliente O Modelo Espiral (com 6 regiões)

29 Planejamento Análise de Riscos Engenharia Construção e Liberação Avaliação do Cliente Comunicação com Cliente O Modelo Espiral (com 6 regiões) As tarefas das regiões são adaptadas às características do projeto

30 Comentários sobre o Ciclo de Vida em Espiral Exige considerável experiência na determinação de riscos e depende dessa experiência para ter sucesso Usa uma abordagem que capacita o desenvolvedor e o cliente a entender e reagir aos riscos em cada etapa evolutiva

31 Modelos de Processo de Software Modelo Seqüencial Linear (Modelo Cascata) Paradigma de Prototipação Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software Modelo Incremental Modelo Espiral Modelo de Montagem de Componentes Modelo de Desenvolvimento Concorrente Modelos de Métodos Formais Técnicas de Quarta Geração

32 O que são componentes? Componentes fornecem funcionalidades- alvo com interfaces bem definidas que permitem que sejam integrados ao software Componentes possuem documentação

33 O Modelo de Montagem de Componentes O modelo de montagem de componentes incorpora características de tecnologias Orientadas a Objetos no modelo espiral Demanda uma abordagem iterativa para a criação do software O modelo compõe aplicações a partir de componentes de software empacotados

34 O Modelo de Montagem de Componentes Planejamento Análise de Riscos Avaliação do Cliente Comunicação com Cliente Engenharia Construção e Liberação

35 O Modelo de Montagem de Componentes Análise de Riscos Planejamento Avaliação do Cliente Comunicação com Cliente Identificar componentes candidatos Procurar componentes na biblioteca Extrair componentes se disponíveis Construir os componentes não disponíveis Colocar os novos componentes na biblioteca Construir a 1 a iteração do sistema Engenharia Construção e Liberação

36 O modelo de montagem de componentes conduz ao reuso do software A Reusabilidade fornece uma série de benefícios: redução de 70% no tempo de desenvolvimento redução de 84% no custo do projeto Esses resultados dependem da robustez da biblioteca de componentes O Modelo de Montagem de Componentes

37 Modelos de Processo de Software Modelo Seqüencial Linear (Modelo Cascata) Paradigma de Prototipação Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software Modelo Incremental Modelo Espiral Modelo de Montagem de Componentes Modelo de Desenvolvimento Concorrente Modelos de Métodos Formais Técnicas de Quarta Geração

38 Técnicas de 4 a Geração Engloba um conjunto de ferramentas de software que possibilitam que: o sistema seja especificado em uma linguagem de alto nível e o código fonte seja gerado automaticamente a partir dessas especificações

39 Ferramentas do Ambiente das Técnicas de 4 a Geração O ambiente de desenvolvimento de software que sustenta o ciclo de vida de 4 a geração inclui as ferramentas: linguagens não procedimentais para consulta de banco de dados geração de relatórios, planilhas e manipulação de dados interação e definição de telas geração de código capacidade gráfica de alto nível geração automática de HTML e linguagens similares para criação de páginas Web

40 Técnicas de 4 a Geração Obtenção dos Requisitos Estratégia do Projeto Implementação usando 4GL Testes

41 Técnicas de 4 a Geração Estratégia do Projeto Implementação usando 4GL Testes Obtenção dos Requisitos o cliente descreve os requisitos os quais são traduzidos para um protótipo operacional o cliente pode estar inseguro quanto aos requisitos as 4GLs atuais não são sofisticadas suficientemente para acomodar a verdadeira "linguagem natural"

42 Obtenção dos Requisitos Técnicas de 4 a Geração Implementação usando 4GL Testes Estratégia do Projeto Pequenas aplicações: é possível mover-se do passo de Obtenção dos Requisitos para o de Implementação usando uma linguagem de quarta geração Grandes projetos: é necessário desenvolver uma estratégia de projeto. De outro modo ocorrerão os mesmos problemas encontrados quando se usa abordagem ad-hoc (baixa qualidade)

43 Obtenção dos Requisitos Técnicas de 4 a Geração Estratégia do Projeto Testes Implementação usando 4GL Os resultados desejados são representados de modo que haja geração automática de código

44 Obtenção dos Requisitos Técnicas de 4 a Geração Estratégia do Projeto Implementação usando 4GL Testes O desenvolvedor deve efetuar testes e desenvolver uma documentação significativa

45 Comentários sobre as Técnicas de 4 a Geração PROPONENTES: PROPONENTES: redução dramática no tempo de desenvolvimento do software (aumento de produtividade) Quando combinado com a abordagem de desenvolvimento baseada em componentes, o paradigma 4GT pode se transformar na abordagem predominante para o desenvolvimento de software

46 Comentários sobre as Técnicas de 4 a Geração OPONENTES OPONENTES: as 4GL atuais não são mais fáceis de usar do que as linguagens de programação o código fonte produzido é ineficiente a manutenibilidade de sistemas usando técnicas 4G ainda é questionável

47 Exercício! Faça uma análise dos modelos de processo de software que já foram vistos em aula: Modelo Cascata Paradigma de prototipação Modelo incremental Programação extrema Modelo espiral Modelo de montagem de componentes Técnicas de quarta geração

48 Bibliografia PRESSMAN, ROGER S. Engenharia de Software. 6ª edição. Rio de Janeiro: McGraw-Hill, SOMERVILLE, IAN. Engenharia de Software. 8ª edição. São Paulo: Addison Wesley, Slides da professora Debora Paiva da UFMS


Carregar ppt "Engenharia de Software Slide 06 – Modelos de Processos (Continuação) Instituto Metodista Isabela Hendrix Curso de Análise e Desenvolvimento de Sistemas."

Apresentações semelhantes


Anúncios Google