1 / 38

Estudo de caso em UML

LESERC. Laboratory of Software Engineering and Computer Network. Engineering for a better life. Estudo de caso em UML. Denivaldo Lopes. 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.

Télécharger la présentation

Estudo de caso em UML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LESERC Laboratory of Software Engineering and Computer Network Engineering for a better life Estudo de caso em UML Denivaldo Lopes 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: Arquitetura Iterativo e Incremental Caso de uso <<Centrado na>> <<No transcorrer>> <<dirigido por>> Processo genérico Grupo A Empresa B

  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 Utilizador C Utilizador A Conjunto de Necessidades Utilizador B

  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. Supervisor Portador de cartão Guarda Descrição do caso de uso • Representação das categorias de usuários

  10. configuração supervisor Identificação Controle de acesso Portador de cartão Guarda Supervisão Caso de uso

  11. :Supervisor :Sistema Login(senha) verificação Autorização Caso de uso: configuração Identificação

  12. :Sistema :Supervisor Modificação de uma porta Lista de porta Escolha de uma porta Informações da porta Modificação das informações Informação da porta Salvar informações Caso de uso: configuração Modificações das informações relativas a uma porta

  13. :Sistema :Supervisor Modificação de uma pessoa Lista de pessoas Escolha de uma pessoa Informações da pessoa Modificação das informações Informação da pessoa Salvar informações Caso de uso: configuração Modificações das informações relativas a uma pessoa

  14. :Sistema :Supervisor Modificação de um grupo de pessoas Lista de grupos Escolha de um grupo de pessoas Informações do grupo Modificação das informações Informações do grupo de pessoas Salvar informações Caso de uso: configuração Modificações das informações relativas a um grupo de pessoas

  15. :Sistema :Supervisor Modificação de um grupo de portas Lista de grupos Escolha de um grupo de pessoas Informações do grupo Modificação das informações Informações do grupo de portas Salvar informações Caso de uso: configuração Modificações das informações relativas a um grupo de portas

  16. :Sistema :Supervisor Busca de uma pessoa (cartão) Informações das pessoas Caso de uso: configuração Busca de uma pessoa em função do cartão

  17. :Sistema :Supervisor Busca de portas autorizadas Lista de pessoas Escolha de uma pessoa Lista de portas Escolha de uma porta Informações da porta Caso de uso: configuração Busca de portas autorizadas para uma pessoa

  18. :Supervisor :Sistema Modificação do acesso de um grupo de pessoas Lista o grupo de pessoas Escolha de um 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ções das informações Informações sobre o acesso Salvar informações Caso de uso: configuração Modificações de direitos de acesso de um grupo de pessoas

  19. :Sistema :Supervisor Modificação de uma semana tipo Lista de semanas tipo Escolha de uma semana tipo Informações de uma semana tipo Modificações das informações Informações sobre a semana tipo Salvar informações Caso de uso: configuração Modificações de um tipo de semana

  20. :Sistema :Supervisor Busca de direitos de acesso de uma pessoa por uma porta Lista de portas Escolha de porta Lista de pessoas Escolha de pessoas Informações sobre o acesso Caso de uso: configuração Busca dos direitos de acesso de uma pessoa por uma porta específica

  21. :Guarda :Sistema Login(senha) verificação Autorização Caso de uso: supervisão O guarda utiliza a supervisão Identificação

  22. Caso de uso: supervisão Relatório de eventos :Sistema :Guarda Relatório de alarmes (período) Lista de alarmes

  23. Caso de uso: supervisão Relatório de eventos :Sistema :Guarda Relatório de eventos (período) Eventos

  24. :Sistema :Guarda Abertura manual de uma porta Lista de portas Escolha de uma porta Abertura da porta Registro do evento Caso de uso: supervisão Abertura manual de uma porta

  25. :Sistema :Guarda Incêndio Abertura de todas as portas Caso de uso: supervisão Alarme de incêndio

  26. :Sistema :Portador de Cartão Apresenta seu cartão Verifica os direitos de acesso [direitos de acesso OK] Abertura de porta Caso de uso: controle de acesso O portador de cartão utiliza o controle de acesso

  27. Resumo de Caso de uso

  28. Exercício • Propor diagramas de colaboração, diagramas de classe e diagrama de implantação

  29. 1:nome=LerNome() 2:senha=LerSenha() :Login :Supervisor 3:Verificar(senha) Supervisor: Pessoa Login Pessoa Diagrama de colaboração referente a identificação Diagrama de classe preliminar

  30. Diagrama de estado-transição Espera nome Nome lido [nome e senha incorreto] Espera senha [nome e senha OK]

  31. 2:Ler() 3:Escrever() p:Porta :Supervisor 1:selecionar() :Porta Diagrama de colaboração referente a modificação das informações de uma porta

  32. :Pessoa 1:p=Selecionar() p: Pessoa 1:[i=1...n] g=Selecionar() :Grupo de Portas :Supervisor 3:Ler informações g: Grupo de Portas :Porta Pesquisa de portas habilitadas para uma pessoa específica p:Porta

  33. :GrupoDePessoas 1:gPessoas=Selecionar() 3:Lista de acesso gPessoa: GrupoDePessoas 4: a=Acesso(gPortas) :Supervisor 2:gPortas= Selecionar() :Acesso 5:Leitura() 6:Salvar() a:Acesso :GrupoDePortas gPortas: GrupoDePortas Modificação de direitos de acesso de um grupo de pessoas a um grupo de portas p:Porta

  34. 1:Acesso(num. de cartão) :Portador de cartão cartão: Cartão 2:p=selectionar( num. cartão) :Porta :Pessoa 3:ListarAcesso() p:Pessoa 5:Éválida (Hora) 4:ListarAcessoNa(gPortas) :GrupoDePessoas :Acesso gPortas:GrupoDePortas Controle de Acesso: autorização de passagem gPessoa: GrupoDePessoas p:Porta :Acesso a:Acesso

  35. Porta Pessoa GrupodePortas Nome Nome Acesso Cartão GrupodePessoas Validade NúmeroCartão Nome Diagrama de classe (parcial) gPessoa: GrupoDePessoas p:Porta :Acesso a:Acesso

  36. 1 <<RS422>> 1 <<processador>> <<dispositivo>> <<processador>> PC supervisor Leitor de cartões PC guarda 1 2 35 Arquitetura (Diagrama de Implantação) gPessoa: GrupoDePessoas p:Porta :Acesso a:Acesso

  37. Exposição do exercício feito pelos alunos gPessoa: GrupoDePessoas p:Porta :Acesso a:Acesso

  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. gPessoa: GrupoDePessoas p:Porta :Acesso a:Acesso

More Related