18
Fase de Elaboração: Fluxo de Análise Análise de Sistemas de Software Prof. Rodrigo Ribeiro

Fase de Elaboração: Fluxo de Análise

  • Upload
    opal

  • View
    40

  • Download
    0

Embed Size (px)

DESCRIPTION

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... - PowerPoint PPT Presentation

Citation preview

Page 1: Fase de Elaboração: Fluxo de Análise

Fase de Elaboração:Fluxo de Análise

Análise de Sistemas de Software

Prof. Rodrigo Ribeiro

Page 2: Fase de Elaboração: Fluxo de Análise

Princípios Objetivos do fluxo de análise

Modelar de maneira precisa o problemaVerificar a qualidade dos requisitosDetalhar 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

Page 3: Fase de Elaboração: Fluxo de Análise

Atividades

Page 4: Fase de Elaboração: Fluxo de Análise

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

Page 5: Fase de Elaboração: Fluxo de Análise

Atividades Exemplo

1. 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

Substantivos descobertos Abertura, venda, identificação, item vendido,

quantidade, cliente, venda.

Page 6: Fase de Elaboração: Fluxo de Análise

Atividades Analisar se substantivos são classes...

Abertura operação Venda classe Item vendido classe

ItemDeVenda

Identificação atributo de item de venda Quantidade atributo de item de venda Etc...

Como saber o que é classe? Não existe um método formal para isso

Vale o bom senso!

Page 7: Fase de Elaboração: Fluxo de Análise

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

Page 8: Fase de Elaboração: Fluxo de Análise

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

Page 9: Fase de Elaboração: Fluxo de Análise

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

Page 10: Fase de Elaboração: Fluxo de Análise

Atividades Alguns problemas...

Documentação parecida Solução: Combinar classes

Documentação longa Solução: Dividir a classe

Difícil documentação da classe Analisar mais!

Refatoração (Refactoring) Extrair classe, mover método / atributo, internalizar

classe...

Page 11: Fase de Elaboração: Fluxo de Análise

Atividades Organização das classes

Pacotes lógicosEstereó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 relacionamentosAssociações, Agregações, ComposiçõesClasse de associação, uso de qualificador.

Page 12: Fase de Elaboração: Fluxo de Análise

Atividades Realizações de casos de uso

Uso de diagramas de interação Seqüência e colaboração

Identificação das operaçõesCada mensagem em um diagrama...

Deve se tornar uma operação em uma classe

Como identificar operações? Através das responsabilidades de uma classe...

No modelo de análise... Não é necessário especificar argumentos...

Page 13: Fase de Elaboração: Fluxo de Análise

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

Page 14: Fase de Elaboração: Fluxo de Análise

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

Page 15: Fase de Elaboração: Fluxo de Análise

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

Page 16: Fase de Elaboração: Fluxo de Análise

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

Page 17: Fase de Elaboração: Fluxo de Análise

Técnicas Documentação da Análise

Diagramas de interação Somente necessário para fluxos complexos

Diagramas de classes Incluir um diagrama que mostre “grupos”

E relações entre esses grupos

Mostrar um diagrama de classes coesas... Para realizar um caso de uso complexo

Mostrar hierarquias de... Agregação e herança.

Page 18: Fase de Elaboração: Fluxo de Análise

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!