1
Estudo de caso em UML
Denivaldo Lopes
Engineering for a better life
Laboratory of Software Engineering and Computer Network
LESERC(Laboratório de Engenharia de Software e Rede de Computadores)
Web Site: http://www.leserc.dee.ufma.br/Contato: denivaldo.lopes AT dee.ufma.br
2
Sumário
Sistema de controle de acesso a um prédio Diagramas de caso de uso Diagrama de seqüência Diagramas de colaboração Diagrama de classe Diagrama de atividade Diagrama de implantação
3
Abordagem
UML é uma linguagem de modelagem. UML não é um método de modelagem. UML não especifica uma abordagem de
modelagem, cada um é livre para escolher um processo.
Um método serve para canalizar e ordenar a criatividade de pessoas que são responsáveis pela modelagem de uma aplicação.
UML por si só não garante um resultado satisfatório de desenvolvimento do sistema.
4
Abordagem
O valor não está no método, mas nas pessoas que se servem do método.
A abordagem que usaremos é seguinte:
Caso de usoArquitetura
Iterativo e Incremental
Grupo A
Processo genérico
Empresa B
<<dirigido por>> <<No transcorrer>><<Centrado na>>
5
Determinação das necessidades
O contato com o contratante: as necessidades do sistema são determinadas à partir das informações recolhidas durante os encontros com os funcionários de informática e os futuros utilizadores do sistemas. Os usuários dizem o que querem Os prof. de informática levantam as
necessidades que os usuários desejam realizar. Evitar conversas sobre hardware e linguagens de
programação. Centrar a discussão no problema e na lógica do
negócio.
6
Representação das necessidades
As necessidades podem ser expressas na forma de caso de uso
Conjunto de Necessidades
Utilizador A
Utilizador B
Utilizador C
7
Análise do domínio
A modelagem através de caso de uso segue um critério de decomposição funcional.
Evite fazer a decomposição através da arquitetura do sistema, para não engessar o sistema.
Os aspectos estáticos devem ser expressos por diagramas de classe
Os aspectos dinâmicos devem ser expressos por diagramas de colaboração e atividade
8
Controle de acesso de um prédio
O espaço a proteger é um prédio de dois níveis com uma área de 250 m2
O prédio é dividido em 4 zonas Compartimentos:
Salas de escritório Laboratórios Administração
Deve haver direitos de acesso Um administrador do sistema Guardas Usuários O sistema deve permitir semanas tipo
(configuração do acesso a salas em função do horário, dia da semana)
9
Descrição do caso de uso
Representação das categorias de usuários
Supervisor Portador de cartão Guarda
Ator Caso de uso
Supervisor Configura o sistema
Guarda Usa o sistema
Usuário Validação de uma solicitação de acesso
10
Caso de uso
supervisor configuração
Portador de cartão
Supervisão
Identificação Controle de acesso
Guarda
11
Caso de uso: configuração
Identificação
:Supervisor :Sistema
Login(senha)
verificação
Autorização
12
Caso de uso: configuração
Modificações das informações relativas a uma porta
:Supervisor:Sistema
Modificação de uma porta
Salvar informações
Lista de porta
Escolha de uma porta
Informações da porta
Modificação das informações
Informação da porta
13
Caso de uso: configuração
Modificações das informações relativas a uma pessoa
:Supervisor :Sistema
Modificação de uma pessoa
Salvar informações
Lista de pessoas
Escolha de uma pessoa
Informações da pessoa
Modificação das informações
Informação da pessoa
14
Caso de uso: configuração
Modificações das informações relativas a um grupo de pessoas
:Supervisor:Sistema
Modificação de um grupo de pessoas
Salvar informações
Lista de grupos
Escolha de um grupo de pessoas
Informações do grupo
Modificação das informações
Informações do grupo de pessoas
15
Caso de uso: configuração
Modificações das informações relativas a um grupo de portas
:Supervisor:Sistema
Modificação de um grupo de portas
Salvar informações
Lista de grupos
Escolha de um grupo de pessoas
Informações do grupo
Modificação das informações
Informações do grupo de portas
16
Caso de uso: configuração
Busca de uma pessoa em função do cartão
:Supervisor:Sistema
Busca de uma pessoa (cartão)
Informações das pessoas
17
Caso de uso: configuração
Busca de portas autorizadas para uma pessoa
:Supervisor:Sistema
Busca de portas autorizadas
Lista de pessoas
Escolha de uma pessoa
Lista de portas
Escolha de uma porta
Informações da porta
18
Caso de uso: configuração
Modificações de direitos de acesso de um grupo de pessoas
:Supervisor :Sistema
Escolha de um grupo de pessoas
Lista o grupo de pessoas
Informações de um grupo de pessoas
Escolha de um acesso a um grupo de portas
Informações sobre o acesso
Modificação do acesso de um grupo de pessoas
Modificações das informações
Informações sobre o acesso
Salvar informações
19
Caso de uso: configuração
Modificações de um tipo de semana
:Supervisor:Sistema
Escolha de uma semana tipo
Lista de semanas tipo
Modificação de uma semana tipo
Modificações das informações
Salvar informações
Informações de uma semana tipo
Informações sobre a semana tipo
20
Caso de uso: configuração
Busca dos direitos de acesso de uma pessoa por uma porta específica
:Supervisor:Sistema
Escolha de porta
Lista de portas
Busca de direitos de acesso de uma pessoa por uma porta
Escolha de pessoas
Lista de pessoas
Informações sobre o acesso
21
:Guarda :Sistema
Login(senha)
verificação
Autorização
Caso de uso: supervisão
Identificação
O guarda utiliza a supervisão
22
Caso de uso: supervisão
Relatório de eventos
:Guarda:Sistema
Lista de alarmes
Relatório de alarmes (período)
23
Caso de uso: supervisão
Relatório de eventos
:Guarda:Sistema
Eventos
Relatório de eventos (período)
24
Caso de uso: supervisão
Abertura manual de uma porta
:Guarda:Sistema
Lista de portas
Abertura manual de uma porta
Escolha de uma porta
Abertura da porta
Registro do evento
25
Caso de uso: supervisão
Alarme de incêndio
:Guarda :Sistema
Abertura de todas as portas
Incêndio
26
Caso de uso: controle de acesso
O portador de cartão utiliza o controle de acesso
:Portador de Cartão:Sistema
Verifica os direitos de acesso
Apresenta seu cartão
[direitos de acesso OK] Abertura de porta
27
Resumo de Caso de usoCaso de uso Cenários principais
Configuração Identificação
Configuração Modificação de informações relativas a uma porta
Configuração Modificação de informações relativas a uma pessoa
Configuração Modificação de informações relativas a um grupo de pessoas
Configuração Procura de uma pessoa em função do cartão
Configuração Modificação de direitos de acesso de um grupo de pessoas sobre um grupo de portas
Configuração Modificação de uma semana tipo
Configuração Apresentação de direitos de acesso de uma pessoa por uma porta específica
Supervisão Identificação
Supervisão Relatório de eventos
Supervisão Detecção de alarmes
Supervisão Abertura manual de uma porta
Supervisão Incêndio
Controle de acesso Autorização de passagem
28
Exercício
Propor diagramas de colaboração, diagramas de classe e diagrama de implantação
29
Diagrama de colaboração referente a identificação
:Supervisor :Login
Supervisor:Pessoa
3:Verificar(senha)
2:senha=LerSenha()
1:nome=LerNome()
Login Pessoa
Diagrama de classe preliminar
30
Diagrama de estado-transição
Espera nome
Espera senha
Nome lido
[nome e senha OK]
[nome e senha incorreto]
31
Diagrama de colaboração referente a modificação das informações de uma porta
:Supervisorp:Porta
2:Ler()3:Escrever()
1:selecionar()
:Porta
32
Pesquisa de portas habilitadas para uma pessoa específica
:Supervisor
:Porta
:Pessoa
p:Pessoa
:Grupo de Portas
g:Grupo de Portas
1:p=Selecionar()
1:[i=1...n] g=Selecionar()
3:Ler informações
33
Modificação de direitos de acesso de um grupo de pessoas a um grupo de portas
1:gPessoas=Selecionar()
2:gPortas=Selecionar()
3:Lista de acesso
4: a=Acesso(gPortas)
5:Leitura()6:Salvar()
gPessoa:GrupoDePessoas
:GrupoDePessoas
:Acesso
a:Acesso
gPortas:GrupoDePortas
:GrupoDePortas
:Supervisor
34
Controle de Acesso: autorização de passagem
:Portador de cartão
1:Acesso(num. de cartão)
2:p=selectionar(num. cartão)
:Porta
gPortas:GrupoDePortas
:Acesso
:GrupoDePessoas
cartão:Cartão
p:Pessoa
:Pessoa
3:ListarAcesso()
4:ListarAcessoNa(gPortas)5:Éválida
(Hora)
35
Diagrama de classe (parcial)
Porta
Pessoa
Nome
GrupodePortasNome
Nome
GrupodePessoas
Cartão
Validade
NúmeroCartão
Acesso
36
Arquitetura (Diagrama de Implantação)
Nó
<<processador>>
PC supervisor
<<processador>>
PC guarda
<<dispositivo>>
Leitor de cartões1 35 2
1
1 <<RS422>>
37
Exposição do exercício feito pelos alunos
38
Exercício
Propor o modelo UML de um sistema que gerencia a admissão de candidatos em um curso de pós-graduação.
Realizar em grupos de 3 pessoas.
Nota: A descrição do domínio deve ser pesquisada.
Top Related