Gabriel Silva Bornia Prof. Dr. Roberto Tom Price Orientador Estruturação de Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML Gabriel Silva Bornia Prof. Dr. Roberto Tom Price Orientador
Roteiro Contexto Atual Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML Vínculo da descrição com o resto do Modelo Processamento da Descrição Estruturada Ferramenta CASE: UC Designer
Contexto Atual
Modelagem de Casos de Uso Contexto Atual Modelagem de Casos de Uso Casos de Uso mecanismo de levantamento de requisitos descrevem o comportamento do sistema Diagramas de Casos de Uso suportados por ferramentas que seguem a especificação UML Descrição de Casos de Uso representação desvinculada do modelo UML
Requisitos da especificação através de Casos de Uso Contexto Atual Requisitos da especificação através de Casos de Uso Convenções usuais para descrições de caso de uso devem poder ser validadas com o usuário; devem servir como “contrato” entre o desenvolvimento e o usuário devem servir aos demais envolvidos no processo de construção do sistema forma narrativa é livre de uma representação estruturada ou formal Jacobson, Cockburn, Fowler, Firesmith, Ambler, Armour & Miller Choque entre requisitos: simplicidade X conteúdo
Simplicidade x Conteúdo Contexto Atual Simplicidade x Conteúdo “Os casos de uso são uma forma elegante de comunicar as necessidades de um negócio ou sistema.” Ivar Jacobson
Simplicidade x Conteúdo Contexto Atual Simplicidade x Conteúdo Casos de Uso e o RUP
Contexto Atual Contexto Atual Formas estruturadas utilizadas hoje em dia para descrever o comportamento do sistema Linguagens estruturadas (Portugol, etc.) Diagramas de Atividade Diagramas de Seqüência Redes de Petri Entre outras... Mais difíceis de entender do que uma representação narrativa
Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML
Objetivos do trabalho Estruturar as descrições de caso de uso Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML Objetivos do trabalho Estruturar as descrições de caso de uso Permitir uma visão de fácil entendimento Representar a descrição com UML Altamente difundida Possibilidade de integrar a descrição de casos de uso com outros modelos do sistema Possui mecanismos de extensibilidade Permitir a representação diagramática das descrições de casos de uso
Descrições de Casos de uso como Diagramas de Atividade Estendidos Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML Descrições de Casos de uso como Diagramas de Atividade Estendidos Por que Diagramas de Atividade? Boa representação para condições, paralelismo e sincronização UML 2.4 suporta sub-diagramas para as atividades (estruturação hierárquica) Facilmente transformáveis em diagramas de seqüência Podem ser associados a outros modelos
Extensões utilizadas Elementos da descrição Estereótipo Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML Extensões utilizadas Elementos da descrição Estereótipo Descrição do caso de uso <<use case description>> Evento do Ator <<actor>> Evento do Sistema <<system>> Ponto de Inclusão <<inclusion point>> Ponto de Extensão <<extension point>>
Fluxo principal e seqüência alternativa Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML Fluxo principal e seqüência alternativa Sistema 2. Valida o usuário e a senha. 3. Realiza o login do usuário. Alternativa ao passo 2: O usuário e senha estão inválidos. Informa o usuário sobre o erro e requisita novamente as informações de login. Ator 1. Preenche o usuário e a senha.
Seqüência alternativa Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML Fluxo principal Seqüência alternativa
Inclusão de casos de uso Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML Inclusão de casos de uso
Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML
Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML Cadastra Funcionário Cadastra Pessoa <<include>>
Extensão de casos de uso Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML Extensão de casos de uso
Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML
Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML Efetua Compra Pagamento em Dinheiro <<extend>> Pagamento em Cheque <<extend>>
Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML Casos de colaboração
Vínculo da descrição com o resto do Modelo
Relação com a arquitetura Vínculo da descrição com o resto do Modelo Relação com a arquitetura
Relação com o modelo de classes Vínculo da descrição com o resto do Modelo Relação com o modelo de classes
Navegabilidade e Rastreamento Vínculo da descrição com o resto do Modelo Navegabilidade e Rastreamento
Processamento da Descrição Estruturada
É possível verificar todos os caminhos possíveis Processamento da Descrição Estruturada É possível verificar todos os caminhos possíveis Verificação de Cenários Validação do caso de uso
Mecanismo de Transformação Processamento da Descrição Estruturada Mecanismo de Transformação Mecanismo de transformação
Mecanismo de Transformação Processamento da Descrição Estruturada Mecanismo de Transformação Descrições de Casos de Uso Estruturadas Descrições Narrativas Simples Descrições Narrativas Detalhadas Cenários de Testes Artefatos específicos da organização
Ferramenta CASE: UC Designer
Ferramenta CASE: UC Designer
Ferramenta CASE: UC Designer
Ferramenta CASE: UC Designer
Ferramenta CASE: UC Designer
Ferramenta CASE: UC Designer
Ferramenta CASE: UC Designer
Ferramenta CASE: UC Designer
Trabalhos Futuros
Ferramenta... Migrar para plataforma Eclipse Trabalhos Futuros Ferramenta... Migrar para plataforma Eclipse API para criação de plug-ins Controle de versões (CVS) Existem plug-ins para editoração UML (ex: Together) Vínculo da descrição do caso de uso não apenas com outros modelos da UML: vínculo com a implementação
Áreas a serem exploradas... Trabalhos Futuros Áreas a serem exploradas... Teste de sistemas Padrões de Casos de Uso Interface Homem-Máquina Rastreabilidade de Requisitos Estimativas de Esforço Processo de desenvolvimento
Trabalhos Futuros Requisitos IHM Planos de Teste Diagramas da UML Descrições de Casos de Uso Código Fonte Projeto Gerenciamento Arquitetura
Gabriel Silva Bornia bornia@inf.ufrgs.br Obrigado! Gabriel Silva Bornia bornia@inf.ufrgs.br