1 / 26

Fundamentos de Engenharia de SW

Fundamentos de Engenharia de SW. Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2008/1. Ciclo de vida de projetos. Projetos são empreendimentos únicos e portanto envolvem um grau de incerteza.

bryant
Download Presentation

Fundamentos de Engenharia de SW

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fundamentos de Engenharia de SW Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2008/1

  2. Ciclo de vida de projetos • Projetos são empreendimentos únicos e portanto envolvem um grau de incerteza. • Organizações dividem projetos em fases de forma a garantir um melhor controle e encadeamento com as operações correntes da empresa. • O conjunto das fases de um projeto é conhecido como ciclo de vida do projeto.

  3. Ciclo de vida de projetos • Cada fase do projeto é marcada pela conclusão de um ou mais produtos. • Produto de trabalho: deve ser tangível e verificável. • Exemplo: um estudo de viabilidade, um projeto detalhado ou um protótipo executável.

  4. Seqüência das fases de projetos • A seqüência de fases normalmente envolve alguma forma de transferência de informação: p.ex. de requisitos para projeto ou de projeto para construção. • Produtos das fases precedentes são usualmente aprovados antes do início da fase seguinte. • “Fast tracking”: fases correndo em paralelo com um risco tolerável.

  5. Modelos de Ciclo de vida • Modelos de ciclos de vida de projetos definem: • quem deve estar envolvido em cada fase; • que parte do trabalho técnico que deve ser feita em cada fase.

  6. Modelos básicos de ciclo de vida de SW • Cascata • Iterativo • Incremental • Espiral

  7. Seqüencial Linear Engenharia de Sistemas Análise Projeto Codificação Testes

  8. Cascata Viabilidade Requisitos Projeto Cod. Módulos Integração Entrega Manutenção

  9. Cascata • Processo linear: • saída de uma fase é a entrada para a seguinte • Consiste de 7 fases • 1. Estudo de viabilidade • 2. Definição de requisitos • 3. Projeto • 4. Codificação e teste dos módulos • 5. Integração e teste do sistema • 6. Entrega e aceitação • 7. Manutenção

  10. Cascata • Problemas • dificuldade de estimar com pouca informação • especificação de requisitos é um documento escrito • usuário não sabe os requisitos exatos • processo não força antecipação das mudanças • processo baseado na produção de documentos (burocrático) • Apesar disto: • ainda é o modelo mais usado pela simplicidade contratual.

  11. Requisitos Projeto Cod. Módulos Sequencial com Fast Tracking • Variante do modelo sequencial linear • Fase inicia antes que a(s) precursora(s) tenha(m) terminado • Aumenta risco de retrabalho

  12. Iterativo (Prototipação) • Processo cíclico para especificar: • requisitos definidos pelo usuário • necessidades de hardware e software • Construção rápida dos primeiros modelos • não integrados ao produto final • Após o término é feita a definição do sistema com focando os demais requisitos de qualidade

  13. Iterativo (Prototipação) Ouvir o Cliente Desenho e Construção Avaliação do Cliente Prototipação é uma boa opção para a definição de requisitos

  14. Iterativo (Prototipação) • Pontos positivos • grande interação com o usuário • qualidade da definição da interface • Pontos negativos • expectativa do usuário • compromissos com a tecnologia

  15. Incremental Requisitos Projeto Projeto Cod. Mód. Cod. Mód. Integraçào Integraçào Aceite Aceite

  16. Modelagem do Negócio Modelagem do Negócio Modelagem dos Dados Modelagem dos Dados Modelagem de Processos Modelagem de Processos Geração do Aplicativo Geração do Aplicativo Testes Testes 60-90 dias 60-90 dias Incremental (Rapid Application Development- RAD)

  17. RAD 1-Modelagem do negócio: definição das atividades a serem executadas e seus requisitos de informação 2-Modelagem dos dados – Definição dos objetos de dados que suportam o negócio 3-Modelagem do tratamento da informação – Descrição dos processos de manipulação dos objetos de dados 4-Geração da aplicação – usando técnicas de geração de código e bibliotecas de componentes 5-Testes – Tempo de testes reduzido devido ao uso de componentes

  18. RAD • Pontos positivos • uso de componentes • redução do tempo • Pontos negativos • tamanho da equipe • necessidade de comprometimento • não adequada a projetos de risco

  19. Espiral • Reune a natureza interativa da prototipação com os aspectos sistemáticos e de controle do modelo sequencial • Grupos de atividades: • Comunicação com o cliente; • Planejamento; • Análise de risco; • Engenharia; • Construção e distribuição; • Avaliação do cliente.

  20. Espiral (cont.) 4-Avaliar 1-Objetivos ? 2-Avaliar Alternativas Riscos 3-Construir

  21. Espiral • Cada volta ao longo da espiral gera: • um protótipo • versão mais sofisticada; • Permite ao desenvolvedor: • utilizar a prototipação em qualquer estágio de evolução do produto • manter a sistemática sugerida pelo ciclo de vida clássico.

  22. Unified Process (UP) • Processo bem definido: • define claramente quem é responsável pelo que, como as coisas devem ser feitas e quando fazê-las. • Estruturado em Fases (tempo) e Disciplinas (áreas de interesse). • Processo personalizável: • suporta a adaptação e criação de processos • variedade de processos podem ser montadas a partir dele. • Configurações: • suportar equipes grandes e pequenas, • técnicas de desenvolvimento disciplinadas ou menos formais.

  23. Unified Process (UP)

  24. Características do UP • Mistura os estilos de processo iterativo e incremental • Premissas: • Tempo de desenvolvimento de sistemas grandes não permite definir o problema e construir a solução num único passo. • Os requisitos irão mudar naturalmente durante o desenvolvimento do projeto, devido a arquitetura, necessidades do cliente ou um melhor entendimento do problema original. • Iteração: • Permite um melhor entendimento do produto através de refinamentos sucessivos e ataca os itens de alto-risco de um projeto com prioridade alta. • Sempre resulta num "lançamento executável”; o que ajuda a reduzir o risco do projeto.

  25. Extreme Programming (XP) • Proposta: • Desenvolver softwares de forma que as mudanças sejam implementadas a medida em que as mesmas vão surgindo durante o desenvolvimento do software. • Cliente satisfeito significa "software eficiente" • O software é desenvolvido de acordo com mudanças requeridas pelo cliente: • até que o software fique como o cliente solicitou.

  26. Características do XP • Se adapta às inevitáveis mudanças que ocorrem durante o desenvolvimento • Desenvolver software da maneira mais rápida possível: • ainda assim confiável e eficiente. • Como: • ignorando, adiando ou gastando menos tempo com atividades como documentação, projeto e modelagem. • Garantia: • O software é sempre testado a medida em que novas mudanças são implementadas

More Related