180 likes | 302 Views
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...
E N D
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 • 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 • O caixeiro registra os itens vendidos informando a identificação e quantidade do item. • O Merci totaliza a venda para o cliente • Substantivos descobertos • Abertura, venda, identificação, item vendido, quantidade, cliente, venda.
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!
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 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...
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 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...
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 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.
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!