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

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

2. Modelos de ciclo de vida e métodos de desenvolvimento

Apresentações semelhantes


Apresentação em tema: "2. Modelos de ciclo de vida e métodos de desenvolvimento"— Transcrição da apresentação:

1 2. Modelos de ciclo de vida e métodos de desenvolvimento
2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral 2.5 Métodos de desenvolvimento 2.6 Métodos de quarta geração e novos paradigmas 2.7 O exemplo do RUP Objetivo: mostrar os modelos de desenvolvimento de software e os métodos de desenvolvimeto para que se esclareça a forma como os projetos eram e são desenvolvidos

2 O estudo e a sistematização do processo de desenvolvimento de software, ou seja, a ES, requer que se conheçam as características do produto desejado e da tecnologia que será utilizada A partir dela, surgiram questões relacionadas às práticas e ao perfil do profissional de informática e à visibilidade do projeto Práticas Pergunta: Como vocês estão realizando o trabalho de construção do sistema? (Yourdon) Respostas dadas: sobre uma ferramenta ou uma marca Tais respostas refletem o fracasso de construção do sistema que não leva em consideração melhores práticas:

3 Perfil do profissional envolve habilidades
Gerenciamento de risco Especificação Inspeção e revisão de pares Cronogramento e rastreamento com métricas Rastreamento de defeitos e controle de qualidade Especificações de hardware e software Responsabilidade gerencial Visibilidade Perfil do profissional envolve habilidades Comunicação Capacidade de análise Conhecimento da atividade do usuário Capacidade de negociação Administração de projetos Conhecimento técnico funções específicas para analista, projetista, programador

4 Precisamos então entender esses modelos?
Visibilidade Como um modelo de ciclo de vida contempla o gerenciamento de software? Através de um método que permita ver o progresso ou a falta de progresso em um projeto Precisamos então entender esses modelos? Por quê?

5 O estudo do desenvolvimento trouxe novas sugestões
Todo processo de desenvolvimento é orientado por modelos de ciclo de vida As funções primárias são: Determinar as fases Determinar a ordem das atividades e a atividade de cada etapa Estabelecer critérios para a transição das fases O estudo do desenvolvimento trouxe novas sugestões O mais primitivo foi o “caótico”, artesanal, “se colar colou”, codificar e consertar, com um foco na programação

6 2.1 O CICLO DE VIDA EM CASCATA
A complexidade e o tamanho dos sistemas ocasionou sugestões mais focadas em sistemas do que em programas A primeira dessas sugestões foi baseada na engenharia de sistemas: o modelo em cascata

7 Análise Projeto Requisitos do sistema Domínio do problema
Requisitos e modelagem conceitual documentados para o usuário Projeto Vários passos com quatro atributos: Estrutura de dados Arquitetura de software Detalhe procedural Projeto da interface O documento especificação de projeto é baseado na especificação de requisitos

8 Construção Avaliação Manutenção Codificação Inspeção Walkthrough
Prova formal Testes Os testes devem ser devidamente planejados PERGUNTA: Quando o sistema é entregue ao usuário? após resultado satisfatório dos testes, mas pode haver erros Observados pelo usuário De adaptação ao ambiente De desempenho Manutenção Modificações devido a erros, adaptação e desempenho

9 O ciclo de vida em cascata ou “clássico” é o paradigma mais antigo e o que mostrou maior evolução até então Desvantagens Os projetos reais raramente seguem o fluxo sequencial do modelo Há necessidade de iterações É difícil declarar todas as exigências no início Há incerteza natural nos projetos O cliente precisa de muita paciência Há problemas terríveis em erros não previstos

10 2.2 CICLO DE VIDA EVOLUCIONÁRIO
Expansão gradativa com comportamentos do software É variante do “cascata” e o projeto foi decomposto em físico e lógico Viabilidade – é viável? lógico Requisitos – ok? físico projeto – concluído? codificação – testado? implantação – viável? manutenção – problemas?

11 2.3 PROTOTIPAGEM Forma de desenvolvimento incremental com quatro tipos
Ilustrativo (telas) Simulado (acesso a banco de dados) Funcional (subconjunto limitado) Evolucionário (começa pequeno e cresce) – não descartável

12

13 O que fazer com um protótipo quando ele identificar os requisitos de software?
Desvantagens O cliente pode ver qualquer protótipo como uma versão de trabalho do software O desenvolvedor se familiariza com algumas opções de implementação e faz concessões para entregar o produto rapidamente A questão é se se deve planejar antecipadamente a construção de algo que se vai jogar fora ou prometer entregar isso ao cliente Vale a pena defender a honestidade com o cliente?

14 Após o modelo evolucionário e de prototipação surgiram outros variantes
Ciclo de vida com reutilização Ciclo de vida com síntese automática Modelos de fusão… … até o surgimento do que hoje se considera um METAMODELO

15 2.4 MODELO ESPIRAL Baseado em processos e níveis de risco Cíclico
Pode ser considerado incremental Os riscos levam em conta “prosseguir” / “não prosseguir” O fluxo ao redor da trajetória em espiral leva ao desenvolvimento mais completo distribuído em quatro quadrantes

16

17 2.5 MÉTODOS DE DESENVOLVIMENTO
A tabela abaixo resume alguns TÉCNICAS ABORDAGENS FERRAMENTAS ANÁLISE TRADICIONAL FUNCIONAL TEXTOS FLUXOGRAMAS ESTRUTURADA DADOS DIAGRAMA DE FLUXO DE DADOS DIAGRAMA DE ESTRUTURA DE DADOS MINIESPECIFICAÇÕES NORMALIZAÇÃO DICIONÁRIO DE DADOS ESSENCIAL CONTROLE TABELA DE EVENTOS DIAGRAMA DE ENTIDADE-RELACIONAMENTO DIAGRAMA DE TRANSIÇÃO DE ESTADOS

18 2.6 MÉTODOS DE QUARTA GERAÇÃO E NOVOS PARADIGMAS
O modelo do ciclo de espiral é considerado um modelo que engloba os demais e os seus quadrantes envolvem os outros paradigmas Planejamento Análise / Avaliação das alternativas / riscos Desenvolvimento / Engenharia de software Avaliação do cliente Apesar disso tudo, ainda há técnicas de quarta geração e outras formas de combinação de paradigmas que podem não ser contempladas no ciclo de espiral…

19 Técnicas de quarta geração (4GT)
Abrangem um amplo conjunto de ferramentas de software que possibilitam que o desenvolvedor especifique alguma característica do software em um nível elevado Têm desenvolvido bastante mas continuam dependentes do diálogo cliente-desenvolvedor Para pequenas aplicações é possível passar diretamente da etapa da coleta de exigências para a implementação usando um linguagem de quarta geração (4GL) O uso de 4GL sem planejamento ocasiona os mesmos problemas que ocorrem nos enfoques convencionais Coleta de requisitos Estratégia de projeto Implementação 4GL Teste

20 Prós Contras Situação atual Redução no tempo de desenvolvimento
Produtividade aumentada Contras Não são tão fáceis quanto se imagina O código produzido é ineficiente A manutenibilidade é questionável Situação atual São mais voltadas para aplicações comerciais, mas já há uso para aplicações de engenharia e de tempo real Tempo reduzido para aplicações pequenas e intermediárias Para grandes projetos, necessita-se tanto ou mais análise, planejamento e teste

21 Combinação de paradigmas
Além do espiral, qualquer paradigma pode constituir uma base sobre a qual outros paradigmas são integrados, incluindo 4GT Não há necessidade de ser dogmático em relação a paradigmas para a engenharia de software a natureza da aplicação deve ditar a abordagem a ser tomada Contudo, para uma prototipagem evolutiva, algumas eventos podem ser priorizados O usuário é incapaz ou não deseja examinar modelos abstratos em papel, como os diagramas e fluxos de dados. O usuário é incapaz ou não deseja articular seus requisitos de alguma forma e só pode determinar seus requisitos por meio de um processo de tentativa e erro. O sistema deverá ser em-linha, com atividades com tela completa em terminal, ao contrário dos sistemas de edição, atualização e relatório em lote. O sistema não requer a especificação de muitos detalhes em algoritmos.

22 2.7 O EXEMPLO DO RUP O RUP (Rational Unified Process) é um framework genérico para processos de desenvolvimento de software orientado à arquitetura, funcionalidade, iteração e incrementação, utilizando UML para projeto e documentações A sua história está relacionada a métodos aplicados em empresas e suas modificações, realizadas por estudiosos de métodos de desenvolvimento e por outras instituições, incorporando ainda elementos adotados por outros métodos

23

24 O RUP e o processo iterativo
O RUP usa uma abordagem iterativa que é uma sequência de passos incrementais ou iterações Cada iteração inclui uma ou mais das disciplinas de desenvolvimento (requisitos, análise, projeto, implementação etc)

25 A abordagem iterativa tem se mostrado superior por várias razões
Envolve mudança de requisitos Integração não se torna um “big bang” no final do projeto Riscos são normalmente descobertos ou direcionados a uma solução durante as fases iniciais Gerenciamento tem meios de fazer mudanças táticas do produto Reuso é facilitado Defeitos podem ser corrigidos em sucessivas iterações É melhor para um projeto pessoal e os membros da equipe aprendem durante o processo O desenvolvimento é refinado e melhorado no decurso do projeto

26 O processo do RUP tem duas estruturas ou dimensões
Estrutura dinâmica – representada pela dimensãa horizontal ou dimensão de tempo do processo (fases) Há tantas iterações quanto possíveis para alcançar os objetivos daquela fase suficientemente, mas não MAIS Se os objetivos não forem alcançados dentro da fase planejada, outra iteração deve ser adicionada à fase Para evitar atrasos, deve-se ter certeza que cada iteração é formatada focada APENAS no que é NECESSÁRIO para alcançar os objetivos daquela fase

27 Atividades

28 Estrutura estática – elementos do processo (atividades - COMO, disciplinas/workflows - QUANDO, artefatos – O QUE, e papéis - QUEM) são logicamente agrupados

29 Cada ciclo tem quatro fases:
Concepção – escopo e viabilidade econômica Compreensão do problema e da tecnologia Casos de uso críticos Critérios de sucesso, avaliação de riscos e estimativas Elaboração – identificação dos principais riscos e arquitetura Plano de projeto Definição de requisitos em casos de uso Construção – iteração até o final Desenvolvimento Descrição dos critérios de aceitação Testes conjuntos e manuais de aceitação Transição - disponibilidade de uma versão Dispõe o sistema, treinamento e verificação da satisfação

30 Iterações com fluxos de trabalho organizados em atividades

31 Atividades de Engenharia de sofware:
As atividades são divididas em um bloco de suporte e outro de engenharia de software Atividades de Engenharia de sofware: Modelagem do negócio – sociabilização da estrutura, dinâmica e modelo para que usuários e equipe de desenvolvimento tenham mesma visão organizacional Requisitos – Busca, compreensão e requisito dos sistemas e gestão de escopo e mudanças Análise e projeto – transformação dos requisitos em especificações técnicas Implementação – criação dos programas segundo as especificações técnicas

32 Atividades de suporte:
Testes – testes de conjunto e integração e validação Entrega – empacotamento, distribuição, instalação e treinamento Atividades de suporte: Gestão de configuração – gerência de todos os artefatos Gestão de projeto – planejamento, acompanhamento e gerenciamento dos riscos Ambiente – Organização do ambiente de trabalho e da configuração do RUP

33 Conceitos fundamentais do RUP
Artefato Informação tangível que é utilizada, criada e modificada pelos trabalhadores Atividade Unidade tangível de trabalho realizado por um trabalhador em uma rotina, implicando uma responsablidade definida, produzindo um resultado que pode ser avaliado a partir de entradas conhecidas Modelo Completa descrição de um sistema a partir de uma perspectiva particular, da criação de um modelo

34 Atores Clientes, usuários e analistas Funcionalidade Baseada em casos de uso

35 Espírito do RUP Ataque os riscos principais cedo e continuamente… ou eles atacarão você! Assegure que você entrega valor ao seu cliente! Permaneça focado no software executável! Acomode mudanças cedo no projeto! Delinear um arquitetura executável logo cedo! Construa seu sistema com componentes! Trabalhe junto como um único grupo! Faça da qualidade um meio de vida e não uma reflexão para a posteridade!


Carregar ppt "2. Modelos de ciclo de vida e métodos de desenvolvimento"

Apresentações semelhantes


Anúncios Google