Processo de Desenvolvimento de Software – RUP 2. Requisitos Márcio Aurélio Ribeiro Moreira [email protected] http://si.lopesgazzani.com.br/docentes/marcio/ Requisitos = f( comunicação ) Márcio Moreira 2. Requisitos – slide 2 Processo de Desenvolvimento de Software - RUP Objetivos da disciplina de requisitos Estabelecer e manter concordância com os clientes e outros investidores sobre o que o sistema deve fazer. Oferecer aos desenvolvedores do sistema uma compreensão melhor dos requisitos do sistema. Definir os limites do sistema (ou delimitar o sistema). Fornecer uma base para planejar o conteúdo técnico das iterações. Fornecer uma base para estimar o custo e o tempo de desenvolvimento do sistema. Definir uma interface de usuário para o sistema, focando nas necessidades e metas dos usuários. Márcio Moreira 2. Requisitos – slide 3 Processo de Desenvolvimento de Software - RUP Fluxo de trabalho de requisitos Márcio Moreira 2. Requisitos – slide 4 Processo de Desenvolvimento de Software - RUP Objetivos das atividades Problema Análise do problema: Essa atividade estabelece o acordo sobre o problema a ser resolvido e propõe uma solução de alto nível. Soluções Compreender as necessidades dos envolvidos (lista de funcionalidades): Essa atividade busca entender o que os envolvidos desejam a partir da solução proposta e define os recursos principais para a solução. Funcionali dades Definir o sistema: Essa atividade destaca os requisitos chave e busca aceitação no escopo do sistema. Requisitos Gerenciar o escopo do sistema: Essa atividade assegura que os requisitos do sistema estejam limpos e estabelece um conjunto gerenciável de trabalhos de requisitos para iteração. Refinar a definição do sistema: Essa atividade detalha os requisitos a serem desenvolvidos no ciclo atual de desenvolvimento. Requisitos Software Gerenciar requisitos variáveis: Essa atividade gerencia as alterações nos requisitos e avalia seus impactos. Márcio Moreira 2. Requisitos – slide 5 Processo de Desenvolvimento de Software - RUP A: Analisar o problema Márcio Moreira 2. Requisitos – slide 6 Processo de Desenvolvimento de Software - RUP A: Compreender as necessidades dos envolvidos Márcio Moreira 2. Requisitos – slide 7 Processo de Desenvolvimento de Software - RUP A: Definir o sistema Márcio Moreira 2. Requisitos – slide 8 Processo de Desenvolvimento de Software - RUP A: Gerenciar o escopo do sistema Márcio Moreira 2. Requisitos – slide 9 Processo de Desenvolvimento de Software - RUP A: Refinar a definição do sistema Márcio Moreira 2. Requisitos – slide 10 Processo de Desenvolvimento de Software - RUP A: Gerenciar requisitos variáveis Márcio Moreira 2. Requisitos – slide 11 Processo de Desenvolvimento de Software - RUP Modelo de Casos de Uso Plano Gestão de Requisitos Estruturar o Software Detalhar o Sistema Essência da coleta de requisitos Márcio Moreira Como vamos colher, analisar e manter os requisitos? Casos de Uso Esboço Seqüencial Processo Pedido dos Envolvidos Lista de Features Arquitetura do Software Estrutura de: mercado, processos, pessoas, etc. Requisitos do Software Regras de Negócio Glossário de Negócio e/ou Modelo de Domínio 2. Requisitos – slide 12 Processo de Desenvolvimento de Software - RUP P: Plano de gestão de requisitos Gestão de Requisitos: Organização, Responsabilidades e Interfaces Ferramentas, Ambiente e Infra-estrutura Identificação: Produtos de Trabalho Tipo de Requisito Descrição Visão Requisitos do Produto Recursos do produto, restrições e outros requisitos do produto. Modelo de Caso de Uso Caso de Uso Casos de Uso, documentados no Rational Rose Rastreabilidade: Planilha de rastreabilidade Atributos de Casos de Uso: Status: Prioridade: Risco Técnico: Proposto, Aprovado e Validado Baixo, Médio e Alto Baixo, Médio e Alto Atributos de Casos de Teste Márcio Moreira 2. Requisitos – slide 13 Processo de Desenvolvimento de Software - RUP P: Esboço seqüencial Exemplo 1: Exemplo 2: Exemplo 3: Lead Vendas Análise Contrato Aprovação Compras Recepção Prospect Marketing de Lançamen... Oportunidade Viabilidade Proposta Proposta aceita Contrato Adquirir dados sobre ... Gerência da Interface com o... Cotação Qualificar e Educar Clientes Autorizar Crédito Determinar Exequibilida de da Orde... Vendas Ordem do cliente Emitir Ordem de Atendimento Negociar vendas Reprovação Vendas Fabricação Várias Ordens de Serviço Acompanhar e Gerenciar Ordem de Atendimento Fechar Ordem de Atendimento Processamento de Ordem de Atendimento Márcio Moreira Gerenciar conta de faturamento de cliente Acompanhar & Gerenciar o Aprovisionamen... Faturamento Configuração e Ativação 2. Requisitos – slide 14 Recebimento Entrega Qualidade Processo de Desenvolvimento de Software - RUP P: Pedido dos envolvidos Lista de funcionalidades: Lista de Features ou Diagrama de requisitos cd Visão Geral dos Requisitos Suplementares de Negócio Name: Visão Geral dos Requisitos Suplementares de Negócio Package: Requisitos Suplementares de Negócio Version: 1.0 Author: Cumprir prazos e compromissos Armazenar histórico dos acontecimentos nos serviços advocatícios Realização das Features: cd Realização de Histórico dos acontecimentos nos serv iços adv ocatícios Reaproveitar conhecimento Name: Realização de Histórico dos acontecimentos nos serviços advocatícios Package: Histórico dos acontecimentos nos serviços advocatícios Version: 1.0 Author: Administrar contrato Conduzir processo «realize» «realize» Prestar consultoria «realize» Armazenar histórico dos acontecimentos nos serviços advocatícios Márcio Moreira 2. Requisitos – slide 15 Processo de Desenvolvimento de Software - RUP P: Caso de Uso Márcio Moreira 2. Requisitos – slide 16 Processo de Desenvolvimento de Software - RUP Visões arquiteturais Usabilidade: Visões arquiteturais: Usabilidade Lógica Casos de Uso importantes para estruturação do sistema Lógica: Processo Implementação & Dados Distribuição (Implantação) Ref.: KRU95, JAC98 e RUP08 Obrigatoriedade das visões: Visão Obrigatória Razão Usabilidade Sim Define a arquitetura Lógica Sim Define a estrutura Processo Não Use se tiver simultaneidade Implementação Não Dados Não Use se a implementação ou a persistência não forem projetadas Distribuição Use se o software for distribuído Márcio Moreira Não 2. Requisitos – slide 17 Subsistemas, pacotes e classes relevantes para o sistema Processo: Visão do processo de negócio Parte relevante se tiver simultaneidade Implementação & Dados: Módulos, pacotes, camadas arquiteturais e entidades Distribuição (Implantação): Máquinas (nós de rede) onde o software deve ser instalado Processo de Desenvolvimento de Software - RUP P: Documento de arquitetura Usabilidade Márcio Moreira Lógica 2. Requisitos – slide 18 Processo de Desenvolvimento de Software - RUP P: Documento de arquitetura Processos Márcio Moreira Implementação (módulos) 2. Requisitos – slide 19 Processo de Desenvolvimento de Software - RUP P: Documento de arquitetura Implementação (processos) Márcio Moreira 2. Requisitos – slide 20 Distribuição (Implantação) Processo de Desenvolvimento de Software - RUP Referências Sigla Referência JAC98 Ivar Jacobson, Grady Booch, and James Rumbaugh. The Unified Software Development Process. 1998. Addison Wesley Longman. KRO03 Per Kroll e Philippe Kruchten 2003. The Rational Unified Process Made Easy, A Practitioners Guide to the RUP. Addison Wesley Longman. KRU95 Philippe Kruchten 1995, "The 4+1 view model of architecture," IEEE Software. 12(6), 1995. KRU98 P. Kruchten; The Rational Unified Process: An Introduction, Object Technology Series, AddisonWesley, 1998. MAR05 Márcio Moreira. Resumo do livro Unified Process. Márcio. Uberlândia (MG). 2005. MAR06 Márcio Moreira. Engenharia de Software - RUP . Uniube - Universidade de Uberaba - Uberlândia (MG). 2006. PRE95 PRESSMAN, R. S. Engenharia de software. São Paulo: Makron Books. 1995. RUP08 IBM Rational. RUP – Rational Unified Process – 7.5 – For Large and Small Projects. 2008. IBM Rational. SUM07 Sommerville, Ian. Engenharia de Software. 8ª Ed. Pearson / Prentice Hall. 2007. Márcio Moreira 2. Requisitos – slide 21 Processo de Desenvolvimento de Software - RUP