Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 2: Processo de Software Atividades Fundamentais do Processo de Software Evolução Validação Projeto e implementação Especificação As descrições do processo Produtos Papéis Pré e pós-‐‑ condições Modelos de Processo de Software • Modelo em Cascata • Desenvolvimento incremental • Engenharia de software orientada a reúso Modelo em Cascata Definição de requisitos Projeto de sistema e software Inplementação e teste unitário Integração e teste de sistema Operação e manutenção Modelo em Cascata • Modelo menos flexível • Só passamos para a próxima fase quando concluímos a anterior. • Recomendado para sistemas críticos e que não possuem mudança de requisitos. Desenvolvimento Incremental Descrição do esboço Especificação Desenvolvimento Validação Versão Inicial Versões Intermediárias Versão Final Desenvolvimento Incremental • Base para as metodologias ágeis • Vantagens o Baixo custo para mudanças o Retorno rápido dos clientes o Entrega rápida • Modelo mais utilizado • Desvantagens o O processo não é visível. Pouca documentação. o A estrutura tende a se degradar com adição de novos incrementos Orientada a Reúso Especificação de requisitos Análise de componentes Alterações nos requisitos Projeto de sistema com reúso Desenvolvimento e integração Validação de Sistema Orientada a Reúso • Componentes utilizados em reúso o Web service o Objetos (.NET ou Java) o Softwares Stand-Alone Atividades do Processo • Especificação de Software • Projeto e implementação de software • Validação de software • Evolução de software Especificação de Software Estudo da Viabilidade Elicitação e análise de requisitos Especificação de requisitos Validação de requisitos Relatório de viabilidade Modelos de sistema Req. de usuários e de sistema Documentação de requisitos Projeto e implementação de software Informação de plataforma Especificação de requisitos Descrição de dados Entradas do projeto Projeto de interface Projeto de arquitetura Projeto de componentes Projeto de banco de dados Atividades de projeto Arquitetura de sistema Especificação de banco de dados Especificação de interface Especificação de componentes Validação de Software Teste de componente Teste de sistema Teste de aceitação Estágios de Testes Testes dirigidos a planos Especificação de requisitos Especificação de sistema Projeto de sistema Projeto detalhado Código e teste unitário de módulo Operação Teste de aceitação Teste de integração de sistema Teste de integração de sub-‐‑sistema Plano de testes de aceitação Plano de testes de integração de sistema Plano de testes de integração de sub-‐‑sistema Evolução de Software Definir requisitos de sistema Avaliar sistemas existentes Propor mudanças de sistema Modificar sistemas Novo sistema Sistemas existentes Prototipação Modelo espiral de Boehm RUP (Rational Unified Process) 1. Perspectiva dinâmica: mostra as fases do modelo ao longo do tempo 2. Perspectiva estática: mostra as atividades realizadas no processo 3. Perspectiva prática: sugere boas práticas a serem usadas durante o processo http://www-306.ibm.com/software/awdtools/rup/ Fases do RUP (dinâmica) Concepção Elaboração Construção Transição Workflows (estática) Workflow Descrição Modelagem de negócios Os processos de negócio são modelados por meio de casos de uso de negócio. Requisitos Atores que interagem com o sistema são identificados e casos de uso são desenvolvidos para modelar os requisitos do sistema. Análise e projeto Um modelo de projeto é criado e documentado com diagramas de arquitetura, diagramas de componentes, diagramas de objetos e diagramas de sequência. Implementação Os componentes do sistema são implementados e estruturados em subsistemas de implantação. A geração automática de código a partir de modelos de projeto ajuda a acelerar esse processo Teste O Teste é um processo iterativo que é feito em conjunto com a implementação. O teste do sistema segue a conclusão da implementação. Implantação Um release do produto é criado, distribuido aos usuários e instalado em seu local de trabalho Workflows de Apoio Workflow Gerenciamento de configurações e mudanças Gerenciamento de projeto Meio Ambiente Boas práticas do RUP • Desenvolver software iterativamente • Gerenciar requisitos • Usar arquitetura baseada em componentes • Modelar software visualmente (UML) • Verificar a qualidade do software • Controlar as mudanças de software Dúvidas ?
Compartilhar