Prévia do material em texto
Processo de Desenvolvimento de Software - PDS Prof Tavares – Engenharia de Requisitos 1 Processo de Desenvolvimento de Software Parte 01 Processo de Desenvolvimento de Software - PDS Prof Tavares – Engenharia de Requisitos 2 • Tentativas de lidar com a complexidade e de minimizar os problemas envolvidos no desenvolvimento de software envolvem a definição de processos de desenvolvimento de software - PDS. • Um PDS compreende todas as atividades necessárias para definir, desenvolver, testar e manter um produto de software. Processo de Desenvolvimento de Software - PDS Prof Tavares – Engenharia de Requisitos 3 • Alguns objetivos de um PDS: ✓ Definir quais as atividades a serem executadas ao longo do projeto; ✓ Definir quando, como e por quem tais atividades serão executadas; ✓ Prover pontos de controle para verificar o andamento do desenvolvimento; ✓ Padronizar a forma de desenvolver software em uma organização. • Exemplos de PDS existentes: ✓ RUP ✓ XP ✓ SCRUM Processo de Desenvolvimento de Software - PDS Prof Tavares – Engenharia de Requisitos 4 Atividades típicas de um PDS • Levantamento de requisitos • Análise de requisitos • Projeto • Implementação • Testes • Implantação Engenharia de requisitos Processo de Desenvolvimento de Software - PDS Prof Tavares – Engenharia de Requisitos 5 Modelos de Ciclos de Vida • Um ciclo de vida corresponde a um encadeamento específico das fases para construção de um sistema. • Dois modelos de ciclo de vida: – modelo em cascata – modelo iterativo e incremental. Processo de Desenvolvimento de Software - PDS Prof Tavares – Engenharia de Requisitos 6 Modelo em Cascata • Esse modelo apresenta uma tendência para a progressão sequencial entre uma fase e a seguinte. Processo de Desenvolvimento de Software - PDS Prof Tavares – Engenharia de Requisitos 7 Modelo em cascata • Projetos reais raramente seguem um fluxo sequencial. • Assume que é possível declarar detalhadamente todos os requisitos antes do início das demais fases do desenvolvimento, aumentando a possibilidade de propagação de erros pelas fases do processo. • Uma versão de produção do sistema não estará pronta até que o ciclo do projeto de desenvolvimento chegue ao final. Processo de Desenvolvimento de Software - PDS Prof Tavares – Engenharia de Requisitos 8 Modelo iterativo e incremental • Divide o desenvolvimento de um produto de software em ciclos. • Em cada ciclo de desenvolvimento, podem ser identificadas as fases de análise, projeto, implementação e testes. • Cada ciclo considera um subconjunto de requisitos. • Esta característica contrasta com a abordagem clássica, na qual as fases são realizadas uma única vez. Processo de Desenvolvimento de Software - PDS Prof Tavares – Engenharia de Requisitos 9 Modelo iterativo e incremental • Desenvolvimento em “minicascatas”. Processo de Desenvolvimento de Software - PDS Prof Tavares – Engenharia de Requisitos 10 Modelo Espiral • Foi originalmente proposto por Boehm em 1988. • Cada setor da espiral corresponde a uma tarefa (fase)do desenvolvimento. • A primeira tarefa inclui a determinação de objetivos, alternativas e restrições, onde ocorre o comprometimento dos envolvidos e o estabelecimento de uma estratégia para alcançar os objetivos. • Na segunda tarefa - avaliação de alternativas, identificação e solução de riscos, executa-se uma análise de risco. Prototipação é uma boa ferramenta para tratar riscos. Se o risco for considerado inaceitável, pode parar o projeto. • Na terceira tarefa ocorre o desenvolvimento do produto. • Na quarta tarefa o produto é avaliado e se prepara para iniciar um novo ciclo. Processo de Desenvolvimento de Software - PDS Prof Tavares – Engenharia de Requisitos 11 Modelo Espiral Processo de Desenvolvimento de Software - PDS Prof Tavares – Engenharia de Requisitos 12 • No processo de Prototipagem o desenvolvedor interage diretamente com o usuário, escutando seus pedidos e desenvolvendo, imediatamente, um protótipo do produto desejado. • O usuário, então, utiliza esse protótipo e fornece ao desenvolvedor novas informações que o levam a modificar o protótipo, de maneira a atender todas as necessidades do usuário. • É claramente um processo de desenvolvimento baseado em um ciclo de realimentação de informações, com alta participação do usuário. Processo de Desenvolvimento de Software - PDS Prof Tavares – Engenharia de Requisitos 13 Necessidade de um Padrão • Percebeu-se a necessidade de um padrão para a modelagem de sistemas que fosse aceito e utilizado amplamente. • Surge a UML (Unified Modeling Language) em 1996 como a melhor candidata para ser linguagem “unificadora”. • Em 1997, a UML é aprovada como padrão pelo OMG. • Desde então, a UML tem tido grande aceitação pela comunidade de desenvolvedores de sistemas. Processo de Desenvolvimento de Software - PDS Prof Tavares – Engenharia de Requisitos 14 UML • UML é... – uma linguagem visual. – independente de linguagem de programação. – independente de processo de desenvolvimento. • UML não é... – uma linguagem de programação (mas possui versões!). – uma técnica de modelagem. • Um processo de desenvolvimento que utilize a UML como linguagem de modelagem envolve a criação de diversos documentos. – Estes documentos, denominados artefatos de software, podem ser textuais ou gráficos. • Os artefatos gráficos produzidos de um sistema OO são definidos através dos diagramas da UML. Processo de Desenvolvimento de Software - PDS Prof Tavares – Engenharia de Requisitos •15 Contribuições para UML Fusion Descrições de operação, Numeração de mensagem Meyer Pré e pós condições Wirfs-Brock Responsabilidades Embley Classes singleton, Visão “high-level” Odell Classificação Shlaer - Mellor “Object Lifecycles” Booch JacobsonRumbaugh UMLHarel Diagrama de Estado Gamma, et.al “Frameworks”, “patterns”, notas Processo de Desenvolvimento de Software - PDS Prof Tavares – Engenharia de Requisitos 16 Diagramas da UML 2.0 Processo de Desenvolvimento de Software - PDS Prof Tavares – Engenharia de Requisitos Até a próxima!!