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

Download 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

Post on 17-Apr-2015

143 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

  • Slide 1
  • 2. Modelos de ciclo de vida e mtodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionrio 2.3 Prototipagem 2.4 Modelo espiral 2.5 Mtodos de desenvolvimento 2.6 Mtodos de quarta gerao e novos paradigmas 2.7 O exemplo do RUP Objetivo: mostrar os modelos de desenvolvimento de software e os mtodos de desenvolvimeto para que se esclarea a forma como os projetos eram e so desenvolvidos
  • Slide 2
  • 2 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB O estudo e a sistematizao do processo de desenvolvimento de software, ou seja, a ES, requer que se conheam as caractersticas do produto desejado e da tecnologia que ser utilizada prticasperfil visibilidadeA partir dela, surgiram questes relacionadas s prticas e ao perfil do profissional de informtica e visibilidade do projeto PrticasPrticas Pergunta: Como vocs esto realizando o trabalho de construo do sistema? (Yourdon) Respostas dadas: sobre uma ferramenta ou uma marca Tais respostas refletem o fracasso de construo do sistema que no leva em considerao melhores prticas:
  • Slide 3
  • 3 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB Gerenciamento de risco Especificao Inspeo e reviso de pares Cronogramento e rastreamento com mtricas Rastreamento de defeitos e controle de qualidade Especificaes de hardware e software Responsabilidade gerencial Visibilidade PerfilPerfil do profissional envolve habilidades Comunicao Capacidade de anlise Conhecimento da atividade do usurio Capacidade de negociao Administrao de projetos Conhecimento tcnico analistaprojetistaprogramador funes especficas para analista, projetista, programador
  • Slide 4
  • 4 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB VisibilidadeVisibilidade modelo de ciclo de vida Como um modelo de ciclo de vida contempla o gerenciamento de software? Atravs de um mtodo que permita ver o progresso ou a falta de progresso em um projeto Precisamos ento entender esses modelos? Por qu?
  • Slide 5
  • 5 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB Todo processo de desenvolvimento orientado por modelos de ciclo de vida As funes primrias so: Determinar as fases Determinar a ordem das atividades e a atividade de cada etapa Estabelecer critrios para a transio das fases O estudo do desenvolvimento trouxe novas sugestes O mais primitivo foi o catico, artesanal, se colar colou, codificar e consertar, com um foco na programao
  • Slide 6
  • 6 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB 2.1 O CICLO DE VIDA EM CASCATA2.1 O CICLO DE VIDA EM CASCATA A complexidade e o tamanho dos sistemas ocasionou sugestes mais focadas em sistemas do que em programas A primeira dessas sugestes foi baseada na engenharia de sistemas: o modelo em cascata
  • Slide 7
  • 7 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB Anlise Requisitos do sistema Domnio do problema Requisitos e modelagem conceitual documentados para o usurio Projeto Vrios passos com quatro atributos: Estrutura de dados Arquitetura de software Detalhe procedural Projeto da interface O documento especificao de projeto baseado na especificao de requisitos
  • Slide 8
  • 8 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB Construo Codificao Avaliao Inspeo Walkthrough Prova formal Testes Os testes devem ser devidamente planejados PERGUNTA: Quando o sistema entregue ao usurio?PERGUNTA: Quando o sistema entregue ao usurio? oaps resultado satisfatrio dos testes, mas pode haver erros Observados pelo usurio De adaptao ao ambiente De desempenho Manuteno Modificaes devido a erros, adaptao e desempenho
  • Slide 9
  • 9 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB O ciclo de vida em cascata ou clssico o paradigma mais antigo e o que mostrou maior evoluo at ento Desvantagens Os projetos reais raramente seguem o fluxo sequencial do modelo H necessidade de iteraes difcil declarar todas as exigncias no incio H incerteza natural nos projetos O cliente precisa de muita pacincia H problemas terrveis em erros no previstos
  • Slide 10
  • 10 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB Viabilidade vivel? 2.2 CICLO DE VIDA EVOLUCIONRIO2.2 CICLO DE VIDA EVOLUCIONRIO Expanso gradativa com comportamentos do software variante do cascata e o projeto foi decomposto em fsico e lgico Requisitos ok? projeto concludo? codificao testado? implantao vivel? manuteno problemas? lgico fsico
  • Slide 11
  • 11 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB 2.3 PROTOTIPAGEM2.3 PROTOTIPAGEM Forma de desenvolvimento incremental com quatro tipos Ilustrativo (telas) Simulado (acesso a banco de dados) Funcional (subconjunto limitado) Evolucionrio (comea pequeno e cresce) no descartvel
  • Slide 12
  • 12 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB
  • Slide 13
  • 13 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB O que fazer com um prottipo quando ele identificar os requisitos de software? Desvantagens O cliente pode ver qualquer prottipo como uma verso de trabalho do software O desenvolvedor se familiariza com algumas opes de implementao e faz concesses para entregar o produto rapidamente A questo se se deve planejar antecipadamente a construo de algo que se vai jogar fora ou prometer entregar isso ao cliente Vale a pena defender a honestidade com o cliente?
  • Slide 14
  • 14 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB Aps o modelo evolucionrio e de prototipao surgiram outros variantes Ciclo de vida com reutilizao Ciclo de vida com sntese automtica Modelos de fuso at o surgimento do que hoje se considera um METAMODELO
  • Slide 15
  • 15 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB 2.4 MODELO ESPIRAL2.4 MODELO ESPIRAL Baseado em processos e nveis de risco Cclico Pode ser considerado incremental Os riscos levam em conta prosseguir / no prosseguir O fluxo ao redor da trajetria em espiral leva ao desenvolvimento mais completo distribudo em quatro quadrantes
  • Slide 16
  • 16 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB
  • Slide 17
  • 17 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB 2.5 MTODOS DE DESENVOLVIMENTO 2.5 MTODOS DE DESENVOLVIMENTO A tabela abaixo resume alguns TCNICASABORDAGENSFERRAMENTAS ANLISE TRADICIONAL FUNCIONAL TEXTOS FLUXOGRAMAS ANLISE ESTRUTURADA FUNCIONAL DADOS DIAGRAMA DE FLUXO DE DADOS DIAGRAMA DE ESTRUTURA DE DADOS MINIESPECIFICAES NORMALIZAO DICIONRIO DE DADOS ANLISE ESSENCIAL FUNCIONAL DADOS CONTROLE TABELA DE EVENTOS DIAGRAMA DE FLUXO DE DADOS DIAGRAMA DE ENTIDADE-RELACIONAMENTO DIAGRAMA DE TRANSIO DE ESTADOS DIAGRAMA DE ESTRUTURA DE DADOS NORMALIZAO MINIESPECIFICAES DICIONRIO DE DADOS
  • Slide 18
  • 18 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB 2.6 MTODOS DE QUARTA GERAO E NOVOS PARADIGMAS2.6 MTODOS DE QUARTA GERAO 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 Anlise / Avaliao das alternativas / riscos Desenvolvimento / Engenharia de software Avaliao do cliente Apesar disso tudo, ainda h tcnicas de quarta gerao e outras formas de combinao de paradigmas que podem no ser contempladas no ciclo de espiral
  • Slide 19
  • 19 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB Tcnicas de quarta gerao (4GT) Abrangem um amplo conjunto de ferramentas de software que possibilitam que o desenvolvedor especifique alguma caracterstica do software em um nvel elevado Tm desenvolvido bastante mas continuam dependentes do dilogo cliente-desenvolvedor Para pequenas aplicaes possvel passar diretamente da etapa da coleta de exigncias para a implementao usando um linguagem de quarta gerao (4GL) O uso de 4GL sem planejamento ocasiona os mesmos problemas que ocorrem nos enfoques convencionais Coleta de requisitos Estratgia de projeto Implementao 4GL Teste
  • Slide 20
  • 20 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB Prs Reduo no tempo de desenvolvimento Produtividade aumentada Contras No so to fceis quanto se imagina O cdigo produzido ineficiente A manutenibilidade questionvel Situao atual So mais voltadas para aplicaes comerciais, mas j h uso para aplicaes de engenharia e de tempo real Tempo reduzido para aplicaes pequenas e intermedirias Para grandes projetos, necessita-se tanto ou mais anlise, planejamento e teste
  • Slide 21
  • 21 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB Combinao de paradigmas Alm do espiral, qualquer paradigma pode constituir uma base sobre a qual outros paradigmas so integrados, incluindo 4GT No h necessidade de ser dogmtico em relao a paradigmas para a engenharia de software a natureza da aplicao deve ditar a abordagem a ser tomada Contudo, para uma prototipagem evolutiva, algumas eventos podem ser priorizados O usurio incapaz ou no deseja examinar modelos abstratos em papel, como os diagramas e fluxos de dados. O usurio incapaz ou no 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 contrrio dos sistemas de edio, atualizao e relatrio em lote. O sistema no requer a especificao de muitos detalhes em algoritmos.
  • Slide 22
  • 22 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB 2.7 O EXEMPLO DO RUP2.7 O EXEMPLO DO RUP O RUP (Rational Unified Process) um framework genrico para processos de desenvolvimento de software orientado arquitetura, funcionalidade, iterao e incrementao, utilizando UML para projeto e documentaes A sua histria est relacionada a mtodos aplicados em empresas e suas modificaes, realizadas por estudiosos de mtodos de desenvolvimento e por outras instituies, incorporando ainda elementos adotados por outros mtodos
  • Slide 23
  • 23 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB
  • Slide 24
  • 24 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB O RUP e o processo iterativo O RUP usa uma abordagem iterativa que uma sequncia de passos incrementais ou iteraes Cada iterao inclui uma ou mais das disciplinas de desenvolvimento (requisitos, anlise, projeto, implementao etc)
  • Slide 25
  • 25 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB A abordagem iterativa tem se mostrado superior por vrias razes Envolve mudana de requisitos Integrao no se torna um big bang no final do projeto Riscos so normalmente descobertos ou direcionados a uma soluo durante as fases iniciais Gerenciamento tem meios de fazer mudanas tticas do produto Reuso facilitado Defeitos podem ser corrigidos em sucessivas iteraes melhor para um projeto pessoal e os membros da equipe aprendem durante o processo O desenvolvimento refinado e melhorado no decurso do projeto
  • Slide 26
  • 26 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB O processo do RUP tem duas estruturas ou dimenses Estrutura dinmica representada pela dimensa horizontal ou dimenso de tempo do processo (fases) H tantas iteraes quanto possveis para alcanar os objetivos daquela fase suficientemente, mas no MAIS Se os objetivos no forem alcanados dentro da fase planejada, outra iterao deve ser adicionada fase Para evitar atrasos, deve-se ter certeza que cada iterao formatada focada APENAS no que NECESSRIO para alcanar os objetivos daquela fase
  • Slide 27
  • 27 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB Atividades
  • Slide 28
  • 28 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB Estrutura esttica elementos do processo (atividades - COMO, disciplinas/workflows - QUANDO, artefatos O QUE, e papis - QUEM) so logicamente agrupados
  • Slide 29
  • 29 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-PB Cada ciclo tem quatro fases: Concepo escopo e viabilidade econmica Compreenso do problema e da tecnologia Casos de uso crticos Critrios de sucesso, avaliao de riscos e estimativas Elaborao identificao dos principais riscos e arquitetura Plano de projeto Definio de requisitos em casos de uso Construo iterao at o final Desenvolvimento Descrio dos critrios de aceitao Testes conjuntos e manuais de aceitao Transio - disponibilidade de uma verso Dispe o sistema, treinamento e verificao da satisfao
  • Slide 30
  • 30 - Lafayette B. Melo Anlise e Projeto de Sistemas para a Internet Modelos de Ciclo de Vida e Mtodos de Desenvolvimento COINFO CEFET-P...