Upload
internet
View
111
Download
5
Embed Size (px)
Citation preview
Estruturação de Descrições de Casos de Uso através de Mecanismos de
Extensibilidade da UML
Gabriel Silva Bornia
Prof. Dr. Roberto Tom PriceOrientador
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
• 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
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
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
Contexto Atual
Simplicidade x Conteúdo
Contexto Atual
Casos de Uso e o RUP
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
Contexto Atual
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 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
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>>
Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML
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.
Ator1. Preenche o usuário e a senha.
Fluxo principal e seqüência alternativa
Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML
Seqüência alternativaFluxo principal
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>>
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
Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML
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 o modelo de classes
Vínculo da descrição com o resto do Modelo
Navegabilidade e Rastreamento
Vínculo da descrição com o resto do Modelo
Processamento da Descrição Estruturada
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
Mecanismo de Transformação
Processamento da Descrição Estruturada
Mecanismo de Transformação
Processamento da Descrição Estruturada
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– 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
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
Código
Fonte
IHM
Diagramas
da
UML
Planos de Teste
Requisitos
Projeto
ArquiteturaGerenciamento
Descrições de
Casos de Uso
Trabalhos Futuros