Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduo
Modelos permitem descrever os requisitos de um sistema de informao de forma conveniente para usurios e implementadores Modelos do negcio a cargo de um analista de negcio
Modelo de casos de uso de negcio viso externa do negcio, contexto do negcio Modelo de processos de negcio viso interna do negcio, com diagramas de atividades Tambm possvel modelar: objetivos do negcio, regras do negcio, estrutura organizacional, ...
Desenvolvimento de Software com UML 2006 2
Introduo
nvel lgico: mdulos funcionais, comunicao com outros sistemas nvel fsico: distribuio por mquinas, redes e stios
Modelo de casos de uso funcionalidades do sistema, requisitos funcionais Modelo de domnio informao manipulada pelo sistema (entidades informacionais, atributos e relaes), requisitos de informao
Desenvolvimento de Software com UML 2006 3
Introduo
Requisitos suplementares
lista de requisitos que no so descritos adequadamente pelos casos de uso normalmente so requisitos no funcionais
requisitos de qualidade: desempenho, segurana, usabilidade e acessibilidade, disponibilidade e falibilidade,, etc. requisitos impostos pelo ambiente operacional etc.
2006
S se justifica em sistemas complexos Decomposio em sub-sistemas, com indicao de dependncias entre sub-sistemas, e dependncias em relao a sistemas externos (arquitetura lgica) Cada sub-sistema corresponde a uma rea funcional (grupo de funcionalidades), cobrindo todas as camadas da implementao (interface com o usurio, base de dados, etc.) Os sub-sistemas podem por sua vez ser decompostos da mesma forma Em UML, representar por diagrama de pacotes, com pacotes (packages) e sub-pacotes
2006
sistema
Sade Familiar
Cuidados na Comunidade
sub-sistema dependncia
Cuidados Comuns
Urgncia Consultas Internamento MCDT
2006
Finalidade: mostrar a utilidade ou possveis usos do sistema Contedo: atores (tipos de usurios e sistemas externos que interagem com o sistema), casos de uso (funcionalidades do sistema tal como so vistas externamente, ou tipos de interaes entre atores e o sistema) e relaes entre ambos Casos de uso capturam os requisitos funcionais e alguns no funcionais
Desenvolvimento de Software com UML 2006 7
Viso geral Diagrama de casos de uso acompanhado de descrio textual que passa superficialmente pelos casos de uso e atores mais importantes
2006
ator
caso de utilizao
Submeter Artigo Notificar revisores
Autor-Submissor
Viso geral (cont.) Se existirem muitos casos de uso, apresentar primeiro um diagrama de pacotes de casos de uso e depois um diagrama de casos de uso para cada pacote
Gerente
Aplicao de Gesto
Recepcionista
Pblico
Estatsticas
Gerente Obter estatstica de taxa de ocupao ao longo do tempo
Alterar ou anular uma reserva Cliente Enviar mensagem para o hotel Responder a mensagem do hotel extend Receber mensagens do hotel
2006
12
Gerente
extend
Reservas
Registar reserva de cliente
Gerente Receber mensagens de clientes
Estadias
Registar entrada de cliente sem reserva Registar entrada de cliente Registar entrada de cliente com reserva Alterar data de sada prevista
Gerente ou Recepcionista Consultar mapa de ocupao
Gerente ou Recepcionista
Consulta de ocupao
Efectuar mudana de quarto Recepcionista include Registar sada de cliente Emitir factura
Recepcionista
Viso geral (cont.) Opcionalmente, modelar atravs de um ou mais diagramas de atividades o encadeamento de casos de uso (i.e., modelar workflows ou processos de negcio)
casos de uso aparecem como atividades no diagrama de atividades se tiver sido construdo anteriormente um modelo de processos de negcio, isto j foi feito
2006
14
Modelao do processo de submisso de um artigo desde a submisso at rejeio ou submisso de verso final, submissode actividades em desde Modelagem do processo de por diagrama de um artigo UML
Autor-submissor PC Charir Comisso Revisores
1..*
a1 : Artigo r : RevisorArtigo
Submete Artigo
fluxo de controle
Decide aceitao ou rejeio
Revm artigo
[artigo aceite]
fluxo de objetos
[artigo rejeitado]
[submetido]
2006
15
Revisor 1
Revisor n
Rev artigo
...
Rev artigo
barra de sincronizao (inicia ou termina execuo em paralelo) Desenvolvimento de Software com UML 2006 16
Atores
Nome e breve descrio de cada ator Descrio mais ou menos detalhada de cada caso de uso
Casos de Uso
2006
17
Nome
Descrio sumria
Atores
Prioridade
2006
18
Fluxo de eventos
Semelhante a instrues passo a passo no manual do usurio Por definio, um caso de uo "uma sequncia de aes" Descrever a seqncia de funcionamento normal ponto a ponto Descrever separadamente sequncias de funcionamento alternativos, por diferenas em relao sequncia normal Indicar tanto as aes realizados pelos atores como as aes realizadas pelo sistema Evidenciar os dados de entrada (introduzidos pelos atores) e os dados de sada (fornecidos pelo sistema) Evidenciar como que se inicia o caso de uso (normalmente indicase pela primeira ao do actor)
2006
19
2.
3.
4.
5. 6. 7. 8. 9.
Um cliente dirige-se bilheteria pedindo bilhetes para um espectculo O empregado seleciona o espetculo no sistema O sistema mostra um mapa com os lugares vagos e ocupados O empregado dialoga com o cliente para determinar os lugares pretendidos O empregado seleciona os lugares pretendidos no sistema O sistema imprime os bilhetes e informa o preo total O empregado transmite ao cliente o preo total O cliente paga os bilhetes O empregado entrega ao cliente os bilhetes
Desenvolvimento de Software com UML 2006 20
O segredo est em descrever uma sequncia de funcionamento que transmite requisitos importantes, sem entrar em detalhes de implementao!
Descreve uma seqncia de atividades alternativa em caso de alguma anormalidade no fluxo normal Exemplo de Fluxo de exceo - Cliente sem dinheiro"
8.1 - Se o cliente no tiver dinheiro para pagar, o empregado cancela a venda no sistema e inutiliza os bilhetes 2.1 - Se os bilhetes estiverem esgotados, o espectculo aparece assinalado de forma especial na lista de espetculos e o empregado informa imediatamente o cliente
Desenvolvimento de Software com UML 2006 21
Fluxo de eventos
Sempre que se justifique (isto , sempre que os diagramas permitem mais rapidamente apreender a informao que se quer transmitir), acompanhar ou substituir a descrio textual por diagramas dinmicos
diagramas de sequncia para descrever sequncias particulares diagrama de atividades para descrever todas as sequncias possveis
Desenvolvimento de Software com UML 2006 22
diagrama de sequncia, mostrando sequncia normal de funcionamento do caso de uso "Registar entrada de cliente sem reserva"
: CRM4SH::Cliente
: CRM4SH::Recepcionista
Pede alojamento indicando n de pessoas, servio e data de sada Introduz n de pessoas, servio e data de sada
objetos
Confirma pedido e escolhe quarto(s) Selecciona quarto(s) da lista Pede documento de identificao e carto de crdito
mensagens
Regista dados do carto de crdito do cliente Valida carto Carto Ok Imprime carto da estadia
2006
23
diagrama de atividades, mostrando todas as sequncias possveis de funcionamento do caso de uso "Registar entrada de cliente sem reserva"
Escolhe quarto(s)
Faculta doc. ident. e carto crdito Regista dados de identificao do cliente Memoriza informao
Regista dados do carto de crdito do cliente Solicita validao do carto Valida carto
Recolhe chave
Entrega chave
2006
24
Apresentar esboos ou imagens de prottipos da interface com o usurio fundamental evidenciar qual o grau de fidelidade dos esboos ou prottipos da interface, isto , qual o grau de variao permitida em relao implementao Em muitos casos, faz sentido desenvolver um prottipo relativamente completo da interface com o usurio Normalmente interessa evidenciar mais os contedos e elementos de interao disponveis (botes, links, ...) do que o aspecto visual (estilo e layout)
2006
25
Quando o aspecto visual e usabilidade da interface so importantes, deve-se envolver um designer de interfaces (j no competncia tpica do analista) As interfaces apresentadas devem estar consistentes com a descrio das sequncias de funcionamento Opcionalmente, descrever o significado de cada elemento de que aparece na interface (campo, boto, etc.) Opcionalmente, mostrar diagrama de navegao (diagrama de estados com estados da interface) ou storyboard
2006
26
estado da interface
n de revisores
0 1
seleccionar artigo
Terminar
revisor 1 revisor 2
3 1
excluir
excluir
Dados de Revisor nome: instituio: e-mail: reas de interesse: artigos que rev: artigo1, ...
seleccionar revisor
revisores disponveis n art. atribuir nome revisor 3 revisor 4 3 0 Terminar atribuir atribuir
fechar
Fechar
Desenvolvimento de Software com UML
atribuir
excluir
2006
27
Pr-condies (Opcional)
Uma pr-condio uma condio nos dados de entrada e no estado inicial do sistema (com base em modelo de estado definido no modelo de domnio), que deve ser verdadeira para se poder executar o caso de uso Exemplo na venda de bilhetes a scios para um jogo de futebol:
Ps-condies (Opcional)
Uma ps-condio uma condio nos dados de entrada, estado inicial do sistema, dados de sada e estado final do sistema, que deve ser verdadeira no final da execuo do caso de uso (com base em modelo de estado definido no modelo de domnio) Traduz o efeito/resultado do caso de uso Exemplo (na compra de bilhetes):
Requisitos especiais (Opcional) Lista de requisitos internos ao caso de uso (features, restries, atores, alerta, ajuda ...) Pode ser uma forma alternativa de transmitir requisitos, em vez de descrever sequncias de funcionamentos Ex: Requisitos internos ao caso de uso "Marcar consulta":
A consulta pode ser marcada pelo mdico ou pela secretria (atores) Um mdico pode marcar uma consulta para outro mdico (atores) No se podem marcar duas consultas para a mesma data, hora e mdico (restrio) O sistema deve alertar o usurio no caso do doente ter outras consultas marcadas (alerta) O sistema deve ajudar o usurio a encontrar vagas (ajuda)
Desenvolvimento de Software com UML 2006 30
Listar as classes (ou entidades informacionais) do modelo de domnio relevantes para o caso de uso ou, se a complexidade o justificar, apresentar um diagrama de classes parcial, com as classes, atributos e relaes relevantes Fontes de informao consideradas (entrevistas, sites, etc.). Se forem iguais para todos os casos de uso, basta indicar no fim do documento, em vez de indicar em cada caso de uso
2006
31
organizar e relacionar termos que esto definidos num glossrio ou num dicionrio de dados classes so conceitos
que informao mantida no sistema e trocada com o ambiente classes so entidades informacionais
classes que modelam o estado interno persistente e partilhado do sistema, como atributos de entidades (e eventos) do negcio e respectivas ligaes so as classes mais importantes classes que modelam a estrutura de documentos trocados entre o sistema e o seu ambiente classes que modelam tipos de dados (usados nos atributos e operaes das classes anteriores)
Desenvolvimento de Software com UML 2006 32
Viso geral
Diagrama de classes Descrio textual que passa superficialmente pelas classes mais importantes
2006
33
agregao
Cliente nmero de cliente {I} nome nacionalidade data de nascimento morada telefone nmero do bilhete de identidade ou passaporte {I2} data do bilhete de identidade ou passaporte e-mail 1 1
1..*
1 1..*
0..1
associao
* 0..1
diagrama de classes
* /
Permite manter informao de mudanas de quarto e indicar a distribuio de pessoas pelos quartos.
nota
Contacto com Cliente data-hora modo de contacto iniciativa do contacto descrio 0..1 *
* *
generalizao
Mensagem por e-mail
2006
34
Estados devem corresponder a condies nos valores de atributos e ligaes Nesta fase, eventos devem corresponder a casos de uso, podendo ter parmetros
Desenvolvimento de Software com UML 2006 35
estado transio
Activa
registo de entrada com reserva anulao de reserva passagem da data de entrada prevista
eliminao da informao
evento temporal
2006
36
Mais informao
www.uml.org especificaes e recursos sobre UML Use Case Modeling, Kurt Bittner, Lan Spencer, Addison-Wesley, 2003 The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar Jacobson, Addison-Wesley, 1998 The Unified Software Development Process, Ivar Jacobson, Grady Booch, James Rumbaugh, Addison-Wesley, 1999
Desenvolvimento de Software com UML 2006 37