Estruturação de Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML...

Preview:

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

Obrigado!

Gabriel Silva Bornia

bornia@inf.ufrgs.br