Sistemas de Informação
Modelação de Sistemas
de Informação com UML
Prof Nunzio Marco Torrisi
Bacharelado em Ciência e Tecnologia Universidade Federal do ABC
Março 2009
Introdução
Modelos permitem descrever os requisitos de um
sistema de informação de forma conveniente para utilizadores e implementadores
Modelos do negócio – a cargo de um analista de
negócio negócio
Modelo de casos de utilização do negócio – visão externa do
negócio, contexto do negócio
Modelo de processos de negócio – visão interna do negócio,
com diagramas de actividades
Também é possível modelar: objectivos do negócio, regras do
Introdução
Modelos do sistema – a cargo de um analista de
sistemas
Modelo da arquitectura do sistema
nível lógico: módulos funcionais, comunicação com outros
sistemas sistemas
nível físico: distribuição por máquinas, redes e sítios
Modelo de casos de utilização – funcionalidades do
sistema, requisitos funcionais
Modelo de domínio – informação manipulada pelo
sistema (entidades informacionais, atributos e relações), requisitos de informação
Introdução
Complementar modelos com
Requisitos suplementares
lista de requisitos que não são descritos adequadamente
pelos casos de utilização
normalmente são requisitos não funcionais
normalmente são requisitos não funcionais
requisitos de qualidade: desempenho, segurança no sentido de
security, usabilidade e acessibilidade, disponibilidade e
fiabilidade, segurança no safety), etc.
requisitos impostos pelo ambiente operacional
etc.
Glossário – vocabulário do domínio
Modelo da arquitectura do sistema
Só se justifica em sistemas complexos
Decomposição em sub-sistemas, com indicação de
dependências entre sub-sistemas, e dependências em relação a sistemas externos (arquitectura lógica)
Cada sub-sistema corresponde a uma área funcional
(grupo de funcionalidades), cobrindo todas as camadas da implementação (interface com o utilizador, base de dados, etc.)
da implementação (interface com o utilizador, 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
Possibilidade de indicar estereótipos «system» e «subsystem»
Em alternativa, representar por diagrama de blocos com
Gestão de Cuidados de Saúde
Bloco Operatóri o
Hos pital de Dia
Cuidados Diferenciados Cuidados Primários
Saúde Fam iliar Cuidados na Saúde Pública
Exemplo: Sistema de Gestão de Cuidados de Saúde
sistema
sub-sistema
Urgência Cons ultas Internam ento MCDT
Cuidados Comuns
Saúde Fam iliar Cuidados na Comunidade
Só contactos individualizados es tarão regis tados no SIIMS
sub-sistema
Modelo de casos de utilização
Finalidade: mostrar a utilidade ou usos
possíveis do sistema
Conteúdo: actores (tipos de utilizadores e
sistemas externos que interagem com o
sistemas externos que interagem com o
sistema), casos de utilização (funcionalidades
do sistema tal como são vistas externamente,
ou tipos de interacções entre actores e o
sistema) e relações entre ambos
Casos de utilização capturam os requisitos
Forma do modelo de casos de utilização (1)
Visão geral
Diagrama de casos de utilização acompanhado de
descrição textual que passa superficialmente pelos casos de utilização e actores mais importantes
Exemplo: Sistema de Gestão de Conferências
actor fronteira do sistema nome do sistema actor caso de utilização diagrama de casos de utilizaçãoForma do modelo de casos de utilização (2)
Visão geral (cont.)
Se existirem muitos casos de utilização, apresentar
um primeiro diagrama de pacotes de casos de
utilização e depois um diagrama de casos de
utilização para cada pacote utilização para cada pacote
Pacotes devem corresponder a sub-sistemas no modelo da
Exemplo: Sistema de Gestão de Hotéis (CRM4SH) (1)
diagrama de
pacotes de casos de utilização
Exemplo: Sistema de Gestão de Hotéis
CRM4SH) (2)
CRM4SH - Site Web
Público
Área para o público
Consultar características, serviços, preços e
disponibilidades Registar-se como
cliente
Área para clientes registados
Alterar dados pessoais
CRM4SH - Aplicação de Gestão - Administração
Registar e actualizar características gerais da empresa Registar e actualizar serviços oferecidos e preços Registar empregados com acesso ao sistema
Configuração Registar e actualizar quartos Cliente Efectuar uma reserva Consultar as reservas pendentes Alterar ou anular uma reserva Enviar mensagem para o hotel Receber mensagens do hotel Responder a mensagem do hotel «extend» Consultar historial de estadias, reservas e mensagens Gerente Estatísticas Obter estatística de taxa de ocupação ao longo do
tempo Obter estatística de evolução da facturação ao longo
do tempo Obter estatística de distribuição das vendas por
nacionalidade Obter estatística de clientes com maior
facturação diagramas de casos de utilização (com pacotes de 2º nível)
Exemplo: Sistema de Gestão de Hotéis
(CRM4SH) (3)
CRM4SH - Aplicação de Gestão - Recepção (2)
Gerente Mensagens e Contactos Receber mensagens de clientes Enviar mensagem para cliente Responder a mensagem de cliente «extend» Registar outros contactos com clientes
Gerente ou Recepcionista
Recepcionista
Consulta de ocupação
Consultar mapa de ocupação
Consulta de informação de clientes
Consultar ficha e historial de cliente
Forma do modelo de casos de utilização (3)
Visão geral (cont.)
Opcionalmente, modelar através de um ou mais
diagramas de actividades o encadeamento de casos
de utilização (i.e., modelar workflows ou processos de negócio)
negócio)
casos de utilização aparecem como actividades no diagrama
de actividades
se tiver sido construído anteriormente um modelo de
Revisores PC Charir
Autor-submissor
Submete Artigo
Atribui revisores a artigo
a1 : Artigo r : RevisorArtigo
1..*
Modelação do processo de submissão de um artigo desde a submissão até à rejeição ou submissão de versão final, por diagrama de actividades em UML
Exemplo: Sistema de Gestão de Conferências (1)
objectos de classes do modelo de domínio (ver adiante) passos são execuções de casos de utilização! actor [submetido] Revêm artigo
Decide aceitação ou rejeição
Sumbete versão final [artigo aceite]
[artigo rejeitado]
notação não standard tipo “assembly line diagram”
fluxo de objectos fluxo de
controlo
utilização!
Exemplo: Sistema de Gestão de Conferências (2)
Revisor n Revisor 1
Revê artigo Revê artigo Decomposição da actividade "Revêm artigo"
Revê artigo Revê artigo
barra de sincronização
Forma do modelo de casos de utilização (4)
Actores
Nome e breve descrição de cada actor
Casos de Utilização
Descrição mais ou menos detalhada de cada
Descrição mais ou menos detalhada de cada
Descrição detalhada de cada caso de
utilização
Nome
Usar normalmente um verbo, evidenciando a
finalidade/objectivo/utilidade
Descrição sumária
Uma ou duas frases curtas, que ficaria bem numa tabela de resumo dos
casos de utilização, tornando evidente o objectivo/utilidade
Actores Actores
Indicar os vários actores intervenientes e o seu papel, tornando evidente
quem inicia a interacção
Prioridade
Indicar a prioridade do caso de utilização (por exemplo, alta, média ou
baixa)
Convém considerar pelo menos 3 níveis de prioridade, para ter
Descrição detalhada de cada caso de
utilização
Sequência de funcionamento (ou fluxo de eventos)
Semelhante a instruções passo a passo no manual do utilizador
Por definição, um caso de utilização é "uma sequência de acções"
Descrever a sequência de funcionamento normal ponto a ponto
Descrever separadamente sequências de funcionamento excepcionais,
por diferenças em relação à sequência normal por diferenças em relação à sequência normal
Indicar tanto as acções realizados pelos actores como as acções
realizadas pelo sistema
Evidenciar os dados de entrada (introduzidos pelos actores) e os dados
de saída (fornecidos pelo sistema)
Evidenciar como é que se inicia o caso de utilização (normalmente
Descrição detalhada de cada caso de utilização
Sequência de funcionamento (ou fluxo de eventos)
Exemplo de sequência normal de funcionamento do
caso de utilização "Vender bilhetes":
1. Um cliente dirige-se ao empregado da bilheteira pedindo
bilhetes para um espectáculo
2. O empregado selecciona o espectáculo no sistema
3. O sistema mostra um mapa com os lugares vagos e
ocupados ocupados
4. O empregado dialoga com o cliente para determinar os
lugares pretendidos
5. O empregado selecciona os lugares pretendidos no sistema
6. O sistema imprime os bilhetes e informa o preço total
7. O empregado transmite ao cliente o preço total
8. O cliente paga os bilhetes
Mais informação
www.uml.org – especificações e recursos sobre UML
Use Case Modeling, Kurt Bittner, Lan Spencer,
Addison-Wesley, 2003
UML – Metodologias e Ferramentas CASE, Alberto Silva,
Carlos Videira, Centro Atlântico, 2001
The Unified Modeling Language User Guide, Grady Booch,
James Rumbaugh, Ivar Jacobson, Addison-Wesley, 1998
The Unified Software Development Process, Ivar Jacobson,