Fase de Elaboração: Fluxo de Análise Análise de Sistemas de Software Prof. Rodrigo Ribeiro Princípios Objetivos do fluxo de análise Modelar de maneira precisa o problema Verificar a qualidade dos requisitos Detalhar os requisitos a um nível adequado... Para a construção do modelo de desenho Elaboração de testes de aceitação e de integração Produto do fluxo de análise MASw – Modelo de análise de software Atividades Atividades Detalhes das Atividades Identificação das classes Como? Substantivos nos casos de uso Deve-se observar Eliminar aspectos de implementação Resolver ambigüidades Considerar expressões equivalentes a substantivos Considerar substantivos que não são classes, mas objetos Técnica útil Uso de Cartões CRC Classes-Responsabilidades-Colaborações Atividades Exemplo O caixeiro faz a abertura de venda 2. O caixeiro registra os itens vendidos informando a identificação e quantidade do item. 3. O Merci totaliza a venda para o cliente 1. Substantivos descobertos Abertura, venda, identificação, item vendido, quantidade, cliente, venda. Atividades Analisar se substantivos são classes... operação Venda classe Item vendido classe Abertura ItemDeVenda atributo de item de venda Quantidade atributo de item de venda Etc... Identificação Como saber o que é classe? Não existe um método formal para isso Vale o bom senso! Atividades Detalhes das atividades Especificação das classes Escolher um bom nome Documentação de cada classe Definição concisa da classe Lista de responsabilidades e colaborações Lista de regras e restrições aplicáveis Possíveis exemplos Mais... Operações e atributos necessários Relacionamentos Atividades Descrição de classes Descrição Informação relativa a um item de venda Responsabilidades Comandar baixa no estoque Calcular impostos Imprimir linha em ticket fiscal Colaborações Venda, Mercadoria Atividades Descrição de classes (continuação...) Regras e restrições Cada item de venda linha do ticket fiscal Todo item de venda mercadoria em estoque Exemplos 5 latas de extrato de tomate 12 latas de cerveja Função da documentação A partir desta pode-se inferir problemas com classes Atividades Alguns problemas... Documentação Solução: Combinar classes Documentação documentação da classe Analisar mais! Refatoração longa Solução: Dividir a classe Difícil parecida (Refactoring) Extrair classe, mover método / atributo, internalizar classe... Atividades Organização das classes Pacotes lógicos Estereótipos Jacobson propõe a divisão de classes em... Entidades: Estereótipo <<entity>> Fronteira: Estereótipo <<boundary>> Controle: Estereótipo <<control>> Identificação de relacionamentos Associações, Agregações, Composições Classe de associação, uso de qualificador. Atividades Realizações de casos de uso Uso de diagramas de interação Seqüência e colaboração Identificação das operações Cada Deve se tornar uma operação em uma classe Como identificar operações? Através das responsabilidades de uma classe... No mensagem em um diagrama... modelo de análise... Não é necessário especificar argumentos... Atividades Identificação de atributos Só listar atributos necessários Relevantes para o domínio do problema Representam componentes de GUI Evitar os que são necessários para implementação Definição de hierarquia de herança Revisão da análise Verificação da MASw e ERSw Atividades Validação Deve incluir Casos uso são completamente realizados? É possível obter dados da GUI? A análise continua até... Todas as classes possuam todas operações Compreensão de cada operação Fim da análise Todos os componentes de classes identificados Atributos e operações realizam todos os casos de uso Técnicas Oficinas de detalhamento de requisitos Personalização Preparação das instalações Treinamento Quanto à prática de oficinas de requisitos UML Preparação de software para Apresentação e edição de requisitos Ferramentas de modelagem O.O. Ferramentas para prototipagem rápida Técnicas Oficinas de detalhamento de requisitos Sessões Identificação dos grupos de dados Identificação dos relacionamentos entre dados Detalhamento de interfaces gráficas Detalhamento de casos de usos – fluxos e sub-fluxos Elaboração de casos de uso – diagramas de interação Fechamento MASw completo ERSw completa e revisada incluindo MASw Protótipos Técnicas Documentação da Análise Diagramas Somente necessário para fluxos complexos Diagramas E relações entre esses grupos Mostrar um diagrama de classes coesas... de classes Incluir um diagrama que mostre “grupos” de interação Para realizar um caso de uso complexo Mostrar hierarquias de... Agregação e herança. Finalmente... Dicas para um bom MASw e ERSw... Cáp. 14 – Seção 3 Mostra como é feita um revisão destes artefatos Seguindo este roteiro de revisão... Pode-se evitar problemas comuns E realizar um bom trabalho!