Análise e Projetos de Sistemas Revisão de Conteúdo UML-Linguagem de Modelagem Unificada Professor: Armando Hage Belém-2005
Conceitos da UML A UML pode ser usada para: A UML pode ser usada para: Mostrar os limites de um sistema e suas funções principais (Use-cases) Mostrar os limites de um sistema e suas funções principais (Use-cases) Ilustrar as funções básicas do sistema por diagramas de interação Ilustrar as funções básicas do sistema por diagramas de interação Representar a estrutura estática do sistema (Diagramas de Classes) Representar a estrutura estática do sistema (Diagramas de Classes) Modelar o comportamento de Objetos com diagramas de estado Modelar o comportamento de Objetos com diagramas de estado
Tradicional e Moderna Classe s Objeto s Relaciona mentos Java Beans CORBA Casos de Uso Component es Responsabi lidade Design Patterns Colaboraçã o Objetos de Negócio Atividades
Usos de UML A UML é uma linguagem de modelagem para Visualização Especificação Construção Documentação Comunicação Diagramas São representações gráficas de um conjunto de elementos. São desenhados para visualizar o sistema de diferentes perspectivas
9 Diagramas Modelos Classe Use Case Objeto Component e Implantação Seqüência Colaboração Statechart(Estado) Atividade
9 Diagramas Modelos Classe Caso de Uso Objeto Component e Implantação Seqüência Colaboração Statechart(Estado) Atividade Visão Estática Visão Dinâmica
Diagramas Estruturais 1. Diagrama de classes Classes, interfaces e colaborações 2. Diagrama de objetos Objetos 3. Diagrama de componentes Componentes 4. Diagrama de implantaçãoNós
Diagramas Comportamentais 1. Diagramas de Caso de Uso organiza o comportamento do sistema 2. Diagrama de Seqüência Tem, como foco, a ordem temporal das mensagens 3. Diagrama de Colaboração Tem, como foco, a organização estrutural de objetos que enviam e recebem mensagens
Diagramas Comportamentais 4. Diagramas de Estados Tem, como foco, o estado de mudança de um sistema orientado por eventos 5. Diagrama de Atividades Tem, como foco, o fluxo de controle de uma atividade para outra
Elementos EssenciasElementosEstruturaisElementosComportamentais Elementos de Agrupamento Anotação
Elementos Estruturais São as partes estáticas de um modelo, representando elementos conceituais ou físicos Classe Componente Casos de Uso Interface Nó
Elementos Comportamentais São as partes dinâmicas dos modelo da UML Interação: especifica um conjunto de mensagens trocadas entre objetos Máquina de Estado: especifica seqüências de estados de um objeto
Elementos de Agrupamento São as partes organizacionais dos modelo da UML Pacotes: mecanismo para organizar os elementos em grupos
Elementos de Anotação São as partes explicativas dos modelo da UML. São comentários utilizados para descrever, iluminar e remarcar elementos no modelo Nota: símbolo contendo restrições ou comentários que são melhor expressados em textos
Notação UML Partes que compõem a UML: Visões Visões Modelos de Elementos Modelos de Elementos Diagramas Diagramas 1 – Modelo do Domínio de Dados do Problema 2 – Modelo do Domínio Funcional 3 – Modelo Comportamental 4 – Particionar os Modelos (Modelo da Organização)
Visões Tipos de Visões: Visão de Use-cases Visão de Use-cases Visão de Componentes Visão de Componentes Visão Lógica Visão Lógica Visão de Organização Visão de Organização Visão de Concorrência Visão de Concorrência
Modelos de ElementosClasses Cliente Nome : String Idade :Integer Criar() Destruir()Objetos Marcelo:Cliente Nome = "Marcelo" Idade = 28 Criar() Destruir()
Modelos de Elementos Estados Estados Componentes Componentes Pacotes Pacotes Relacionamentos Relacionamentos Associações Associações Generalizações Generalizações Dependências e Refinamentos Dependências e Refinamentos
Diagrama de Casos de Uso Diagramas Diagrama de Casos de Uso Aplicar em Pré Fixados Consultar Conta Corrente Gerar Histórico Movimentar Conta Corrente > Cliente
Diagrama de Classes Diagramas Diagrama de Classes
Diagrama de Objetos Diagramas Diagrama de Objetos 2478:Contrato deAluguel Num_Contrato = 2478 Veículo ="Corsa" 2479:Contrato deAluguel Num_Contrato = 2479 Veículo = " Santana" Marcelo:Cliente Nome =: "MarceloTurine" Idade = 28 CPF =
Diagrama de Estado Diagramas Diagrama de Estado
Diagrama de Seqüência Diagramas Diagrama de Seqüência
Diagrama de Colaboração Diagramas Diagrama de Colaboração
Diagrama de Componente Diagramas Diagrama de Componente
Diagrama de Execução ou Implantação Diagramas Diagrama de Execução ou Implantação
UML - Diagramas Diagramas de casos de uso Diagramas de classe Diagramas de comportamento diagrama de estado diagrama de atividade diagrama de seqüência diagrama de colaboração Diagramas de implementação diagrama de componente diagrama de implantação
Análise usando UML Caso de uso Classes Componentes Implantação Aluno Solicitar Matricula Solicitar Nota Secretaria Diretor incluiAluno curso nome Créditos abrir() incluir Oferta local abrir() incluir 1 0..* 1 1..* Cliente Win Servidor NT EXE OCX
Diagramas de Casos de Uso Técnica utilizada para descrever a funcionalidade de um sistema através de atores externos interagindo em casos de uso. É realizado em interações
Casos de Uso Gráfico de atores ATOR Caso de Uso SISTEMA Interação
Modelagem de Comportamento O comportamento de um sistema é modelado através de diagramas de casos de uso (use cases); Um diagrama de use cases apresenta as funções de um sistema, as entidades que as realizam e as relações entre as entidades e as funções. Funções do sistema são modeladas como use cases Entidades que as realizam são modeladas como atores
Atores representam qualquer elemento que possa interagir com o sistema. Atores podem ser: Pessoas Outros sistemas Equipamentos ligados ao sistema Atores podem: Entrar com informações no sistema Receber resultados do sistema Entrar com informações e receber resultados do sistema Atores O símbolo ao lado representa um ator em um diagrama de use cases:
Identificação Atores são descobertos a partir e entrevistas com o cliente ou com especialistas do domínio da aplicação Quem está interessado em uma deterdminada função ? Quem será beneficiado pelo sistema ? Quem fornece informação para o sistema ? Quem usa ou remove informação do sistema ? Quem fornece suporte ou manutenção para o sistema ? O sistema utiliza recursos externos ? Alguma pessoa realiza diversas funções no sistema ? O sistema interage com algum sistema em operação ? Guias: Dois atores que realizem as mesmas funções podem ser representados por um único ator Um ator que realize as funções de dois ou mais atores pode ser descomposto nestes atores primários Documentação Cada ator deve receber um nome As funções do ator no sistema devem ser resumidas em um parágrafo
Diagramas de Casos de Uso Utilizado na fase de Construção: compreender os requisitos do sistema Definir os Casos de Uso Clientes são as pessoas que podem avaliar o valor do negócio de um caso de uso sendo implementado Categorizar: Alta, Média e Baixa Prioridade de acordo com o valor do negócio Servem para facilitar o entendimento de um sistema mostrando a sua visão externa São usados para modelar o contexto de um sistema, subsistema ou classe
São uma das maneiras mais comuns de documentar os requisitos do sistema Delimitam (escopo) do sistema Definem a funcionalidade Cenário Seqüência de passos que descreve uma interação entre um usuário e o sistema Diagramas de Casos de Uso
Um caso de uso é um conjunto de cenários amarrados por um objetivo comum de um usuário Especificação de seqüências de ações que um sistema, subsistema ou classe pode realizar, interagindo com atores Mostra o relacionamento entre os atores e os casos de uso dentro do sistema Podem incluir seqüências alternativas ou excepcionais (de erro) Diagramas de Casos de Uso
Exemplo: Compra de um Produto 1. O cliente navega pelo catálogo e seleciona os itens a serem comprados 2. O cliente vai para o check out 3. O cliente preenche o formulário de remessa 4. O sistema apresenta o total do faturamento 5. O cliente preenche a informação de cartão de crédito 6. O sistema autoriza a compra 7. O sistema confirma a venda 8. O sistema envia uma confirmação por Alternativa No item 6. O sistema falha na autorização da compra por crédito
Roteiro: Cadastro de Vendedores 1. Gerente seleciona vendedor 2. Gerente solicita documentos para vendedor 3. Vendedor apresenta documentos ao Gerente 4. Gerente consulta cadastro de vendedores 5. Gerente anota dados e entrega documento ao vendedor 6. Gerente determina % (percentual) de comissão do vendedor 7. Gerente expõe condições de trabalho e forma de remuneração 8. Gerente providencia atualização de dados cadastrais do vendedor 9. Gerente anota alterações de dados cadastrais do vendedor 10. Gerente assinala vendedores a serem eliminados Caso de Uso Passos do Roteiro Cadastrar Vendedor4,5,8 Consultar vendedor4 Excluir vendedor4,10,8 Alterar Vendedor4,9,8 Registrar comissão6
Casos de Uso Um caso de uso é um padrão de comportamento que o sistema exibe Podem ser: Principais tarefas do Ator Tarefas que roduzem informações para um Ator Símbolo: Solicitar Matricula
Representação Gráfica A coleção de casos de uso deverá especificar todas as formas existentes de uso do sistema O sistema será descrito por meio de vários casos de uso que são executados por um número de atores Matricular aluno Solicitar histórico Verificar pré- requisitos
Atores: Especialização É possível definir tipos gerais de atores e especializá-los usando o relacionamento de especialização Cliente Cliente Especial
Comunica > Relacionamento Ator com Caso de uso Simbologia : Linha Aluno Solicitar Matricula
Analista Comercial Vendedor Analisar Riscos Fechar Preço Avaliar o Negócio Registrar Negócio Negócio com Limites Excedidos
Sistema de Controle de Pré-Requisitos Secretária Solicitar Histórico Solicitar histórico do semestre atual Verificar dependênc ias Estudante Matricular aluno ? Solicitar histórico de todos os semestres ? >
Associações entre Casos de Uso Existem 3 tipos: 1) Inclusão > (linha pontilhada) comportamento semelhante em mais de um caso de uso (evitar copiar comportamento) substitui o uso de > (UML 1.1) 2) Generalização semelhante, mas faz um pouco mais capturar cenários alternativos 3) Extensão > (linha pontilhada) é uma generalização, mas possui mais regras (estereótipo de dependência) caso de uso-base (declara pontos de extensão) e o estendido
Analista Comercial Vendedor Analisar Riscos Fechar Preço Avaliar o Negócio Registrar Negócio > Negócio com Limites Excedidos Generalização
Usa > ( >) Casos de uso que são usados como transações de outros Apresenta um comportamento que é comum a um ou mais casos de uso é um refinamento Validar Senha > Matricular para cursos Manter Curriculum
Generalização e > ( >) Caso de uso que é similar a outro já modelado Define-se o novo apenas com a variação de um comportamento original É um refinamento Registrar Vendas aprazo Registrar Vendas avista > Registrar Vendas Definir prestações ?
> (info. de pagamento, info. de entrega) Compra por Cliente Regular Compra Produto pontos de extensão info. de pagamento info. de entrega Semelhante á generalização, mas possui mais regras caso de uso-estendido pode acrescentar comportamento para o caso de uso-base, em cima dos pontos de extensão
Criando um Diagrama de Casos de Uso Identifique os objetivos do sistema Elabore um roteiro para realizar a tarefa, do ponto de vista do usuário ( sem se referir ao sistema) Identifique os atores Identifique os casos de uso Identifique os relacionamentos Refine buscando a existência de Extend, Include e Generalização
Estudo de caso Vídeo-locadora Especializada em vídeos para treinamento empresarial Locação, devolução e reserva de fitas Funcionário atende no balcão Gerente recebe posição financeira diariamente Objetivos Locação Devolução Reserva Emissão de relatórios gerenciais
Locação de Fitas - Necessidades 01.Cliente informa sua Identificação ao Atendente. 02.Cliente informa Fitas a devolver ao Atendente. 03.Atendente registra a devolução. 04.Cliente informa Fitas a locar ao Atendente. 05.Atendente verifica existencia de Reserva. 06.Atendente registra a locação. 07.Atendente informa ao Cliente o valor da locação. 08.Cliente efetua o pagamento. 09.Atendente fornece boleto ao Cliente. 10.Cliente assina o boleto. 11.Cliente sai da loja com as fitas. 12 Ao final do mês o Atendente retira um extrato da situação do Cliente. CASOS DE USO Pesquisar Reserva Registrar Devolução Registrar Locação Registrar Pagamento Emitir relatórios ATORES Atendente
Diagrama de Caso de Uso Atendente Pesquisar Cliente CASOS DE USO Pesquisar Reserva Registrar Devolução Registrar Locação Registrar Pagamento Gerar Relatórios Pesquisar Reserva Registrar Reserva Registrar Locação Registrar Pagamento Emitir Relatório > ATORES Atendente
Próxima Aula Diagramas de Classe