Baixe o app para aproveitar ainda mais
Prévia do material em texto
REVISÃO AV2 POR QUE UTILIZAR A UML? � Seu principal valor está na comunicação e no entendimento � Os diagramas também podem ajudá-lo a entender um sistema de software ou um processo do negócio � A UML se tornou não somente a notação gráfica dominante dentro do mundo orientado a objetos, como também uma técnica popular nos círculos não-orientados a objetos. Fonte: Martin Fowler – UML Essencial O que é UML � A Linguagem de Modelagem Unificada (UML) “é uma linguagem gráfica (visual) para especificar, construir e documentar os artefatos dos software” (OMG03a) � OMG - Object Management Group � O OMG foi formado para estabelecer padrões que suportassem interoperabilidade, especificamente a de sistemas orientados a objetos. Fonte: Craig Larman – Utilizando UML e padrões Vantagens da UML � Usa notação gráfica � Mais clara que a linguagem natural (imprecisa, ambígua) � Posso usar linguagem natural para especificar um software? � Ajuda a obter uma visão global do sistema � Não é dependente de tecnologia (IMPORTANTE) � Apesar de ter sido elaborada pensando-se na OO Histórico de UML Fonte: ITnerante.com � Outras versões, com o mesmo conjunto de modelos da proposta original (versão 0.8/0.91): � Versão 1.2 – 1998 � Versão 1.3 – 1999 � Versão 1.4 – 2002 � Versão 1.5 – 2003 � Versão 2.0 – 2003 (OMG) � Versão 2.2 – 2009 (último diagrama) � Versão 2.3 – 2010 � Versão 2.4 – 2011 � Versão 2.5 - 2013 Histórico de UML Superestrutura da UML Fonte: OMG. UML superstructure Esse diagrama é importante Não consideram o tempo Consideram o tempo Estáticos Dinâmicos DIAGRAMA DE CASO DE USO CASO DE USO é a representação dos requisitos de sistema. Nome caso de uso Simbologia DIAGRAMA DE CASO DE USO CASO DE USO é a representação dos requisitos de sistema. ATOR é a representação do responsável por realizar o caso de uso. Nome ator Nome caso de uso Podem ser: • Pessoas, setores, entidades, órgãos governamentais, etc.. • Outros Sistemas. Simbologia DIAGRAMA DE CASO DE USO CASO DE USO é a representação dos requisitos de sistema. ATOR é a representação do responsável por realizar o caso de uso. INTERAÇÃO CASO DE USO-ATOR representa a realização. Nome ator Nome caso de uso Nome caso de uso Nome ator Simbologia DIAGRAMA DE CASO DE USO <include> estabelece a ligação obrigatória entre os casos de uso. SEMPRE o caso de uso será executado. INTERAÇÃO Caso de Uso – Caso de Uso Simbologia Ou seja: o responsável por realizar um caso de uso é uma caso de uso e não um ator A B DIAGRAMA DE CASO DE USO <include> estabelece a ligação obrigatória entre os casos de uso. SEMPRE o caso de uso será executado. INTERAÇÃO Caso de Uso – Caso de Uso Vendedor Vender Produto <include> Emitir Nota Fiscal Simbologia Ou seja: o responsável por realizar um caso de uso é uma caso de uso e não um ator <include> estabelece a ligação obrigatória entre os casos de uso. SEMPRE o caso de uso será executado. INTERAÇÃO Caso de Uso – Caso de Uso <extend> estabelece a ligação opcional entre os casos de uso. O caso de uso será executado em atendimento a uma regra de negócio. Vendedor Vender Produto <include> Emitir Nota FiscalCadastrar Cliente <extend> Simbologia DIAGRAMA DE CASO DE USO Deve ser usada quando: Temos mais de um ator realizando a mesma tarefa e, algumas tarefas diferenciadas. Funcionário Vendedor Gerente Simbologia GENERALIZAÇÃO DE ATOR DIAGRAMA DE CASO DE USO DIAGRAMA DE CASO DE USO Simbologia GENERALIZAÇÃO DE ATOR Funcionário Vendedor Gerente Vender Produto <include> Emitir Nota Fiscal Cadastrar Cliente <extend> Autorizar pagamento comissão DIAGRAMA DE CASO DE USO Concentra em um caso de uso um conjunto de procedimentos que serão utilizados por vários outros casos de uso que possuem outras particularidades. Simbologia GENERALIZAÇÃO DE CASO DE USO ATENDENTE GRADUAÇÃO Cadastrar Alunos Graduação ATENDENTE MESTRADO Cadastrar Alunos Cadastrar Alunos Mestrado Diagrama de Classes - Introdução � Conjunto de objetos do mesmo tipo � Com mesmas características � Propriedades � Atributos / Relacionamentos � Comportamento � Operações (métodos) Modelo que representa as informações necessárias para realização das funcionalidades do sistema em estudo a partir do conceito de CLASSE. CLASSE Diagrama de Classes - Introdução � Alunos � Professores � Disciplinas � Matrículas � ... Em termos de objetos, o que temos numa universidade? Cada grupo de objetos tem suas características (atributos e métodos) O analista então cria CLASSES para representar esses objetos Podemos pensar uma CLASSE como um template, um molde, uma forma para gerar objetos Classes � Atributos Representam o conjunto de características (estado) dos objetos daquela classe � Métodos Representam o conjunto de operações (comportamento) que a classe fornece Diagrama de Classes - Elementos � As caixas do diagrama de classe são classes e estão divididas em 3 compartimentos: � Nome da classe (Obrigatório) � Atributos � Operações Diagrama de Classes – Elementos Básicos Pedido - dataPagamento : Date[0..1] # éPréPago : boolean[1] = true + itensDeLinha : itenDeLinha [*] {ordenada} - numeroPedidos : int + pagar (valor : double) - calcularTotal() : double O analista define o nível de detalhe que quer mostrar no diagrama Diagrama de Classes Pedido - dataPagamento : Date[0..1] # éPréPago : boolean[1] = true + itensDeLinha : itenDeLinha [*] {ordenada} - numeroPedidos : int + pagar (valor : double) - calcularTotal() : double Nome da operação Tipo de retornoAtributo estático Visibilidade Nome do atributo Tipo de dado Nome da classe Multiplicidade Valor por Omissão Restrição Diagrama de Classes – Atributos - O marcador de visibilidade indica se o atributo é (+) público / (-) privado / (#) protegido / (~) Pacote Público (+): O elemento é visível por qualquer classe Protegido (#): O elemento é visível na própria classe e pelas subclasses da classe Pacote (~): O elemento é visível apenas pela própria classe ou dentro do pacote onde a classe está localizada Privado (-): O elemento é visível apenas pela própria classe Diagrama de Classes – Atributos - Multiplicidade: define o número de vezes em que o objeto participa da associação A representação de multiplicidade possui o seguinte esquema: Li ... Ls, onde: Li define o Limite inferior Ls define o Limite superior Li e Ls poderão ter valores numéricos de 0 a n e Ls poderá também ter a representação * que tem como significado infinito/muitos. Indicadores de multiplicidade: – 1 Exatamente um – 1..* Um ou mais – 0..* Zero ou mais (muitos) – * Zero ou mais (muitos) – 0..1 Zero ou um – m..n Faixa de valores (por exemplo: 4..7) Pessoa Empresa 1..* associação Representação da multiplicidade *trabalha para Diagrama de Classes - Atributos Diagrama de Classes – Relacionamentos Associação: é ligação estabelecida entre as classes, por necessidade de comportamentos do negócio analisado PAPEL: nome da associação, tornando claro no diagrama o ligação estabelecida. Associação / Agregação: – É um tipo especial de associação utilizada para indicar “todo-parte” – Um objeto “parte” pode fazer parte de vários objetos “todo” ItemPedido 0..* 1..* agregação todo parte Diagrama de Classes - Relacionamentos Associação / Composição: – É uma variante semanticamente mais “forte” da agregação – Os objetos “parte” só podem pertencer a um único objeto“todo” e têm o seu tempo de vida coincidente com o dele – Quando o “todo” morre todas as suas “partes” também morrem TecladoNotebook FrameWindow 1 1 1 0..* 1..* 0..* errado Diagrama de Classes - Relacionamentos GENERALIZAÇÃO / ESPECIALIZAÇÃO Generalização representa os vários tipos de um objeto em uma única classe. Diagrama de Classes - Relacionamentos Dependência: • Representa que a alteração de um objeto (o objeto indepedendente) pode afetar outro objeto (o objeto dependente) Ex: – Obs: • A classe cliente depende de algum serviço da classe fornecedor • A mudança de estado do fornecedor afeta o objeto cliente • A classe cliente não declara nos seus atributos um objeto do tipo fornecedor • Fornecedor é recebido por parâmetro de método cliente fornecedor Diagrama de Classes - Relacionamentos Simbologia AUTO ASSOCIAÇÃO Define quando um objeto de uma classe está relacionado com outro objeto da mesma classe para atender a algum comportamento. A multiplicidade é estabelecida normalmente. Diagrama de Classes - Relacionamentos DESCRIÇÃO DE CASO DE USO � É uma descrição narrativa de uma sequência de eventos que ocorre quando um ator (agente externo) usa um sistema para realizar uma tarefa[Jacobson 92] Em outras palavras: É a representação textual dos casos de uso � Utilizada para complementar o modelo de casos de uso � Define o que o sistema faz quando o caso de uso é realizado � Ajuda a validar se a compreensão dos requisitos foi plena � Registra a funcionalidade lógica e é o documento comprobatório do levantamento dos requisitos DESCRIÇÃO DE CASO DE USO Formato de Documentação de Casos de Uso (Modelo mais usado) • Nome do Caso de Uso • Breve descrição • Ator (principal) • Pré-Condições • Pós-Condições • Fluxo de eventos: – Fluxo de evento principal – Fluxos secundários: alternativos e de exceção DESCRIÇÃO DE CASO DE USO A descrição poderá ser desenvolvida de duas formas: Descrição não Expandida e Descrição Expandida. DESCRIÇÃO DE CASO DE USO Descrição não Expandida prevê a apresentação sucinta dos procedimentos, como um pequeno relato apresentando os objetivos a serem atingidos. Deve ser utilizada quando o Caso de Uso for de conhecimento completo de todos, não possuir exceções ou, utilizar mecanismos de outro caso de uso. DESCRIÇÃO DE CASO DE USO Descrição Expandida prevê a apresentação detalhada dos procedimentos, apresentando os objetivos a serem atingidos passo-a-passo e com referência a responsabilidade se ator ou sistema. Devemos considerar a descrição em duas partes: Fluxo Normal e Fluxo Alternativo. DIAGRAMAS DE INTERAÇÃO � Como as operações do sistema são executadas internamente? � A que classes estas operações internas pertencem? � Quais objetos participam da realização de um caso de uso ou de uma operação do software? Os modelos de análise não respondem a algumas perguntas: O modelo de classes (modelo conceitual) não mostra: � De que forma os objetos colaboram para que um determinado caso de uso seja realizado? � Em que ordem as mensagens são enviadas durante esta realização? � Que informações precisam ser enviadas em uma mensagem de um objeto a outro? � Será que há responsabilidades ou mesmo classes que ainda não foram identificadas? Pedido - dataPagamento : Date[0..1] # éPréPago : boolean[1] = true + itensDeLinha : itenDeLinha [*] {ordenada} - numeroPedidos : int + pagar (valor : double) - calcularTotal() : double Diagramas de interação representam como o sistema age internamente para que um ator atinja seu objetivo na realização de um caso de uso. A modelagem de um SOO normalmente contém diversos diagramas de interação. O conjunto de todos os diagramas de interação de um sistema constitui o seu modelo de interações. (Bezerra, E. seg.edição) � Para responder às questões anteriores, omodelo de interações deve ser criado. � Esse modelo representa como os objetos interagem via mensagens para a execução de cenários dos casos de uso do sistema. DIAGRAMAS DE INTERAÇÃO Objetivos do modelo de interação 1 - Obter informações adicionais para completar e aprimorar outros modelos (principalmente o modelo de classes) � Quais as operações de uma classe? � Quais os objetos participantes da realização de um caso de uso (ou cenário deste)? � Para cada operação, qual a sua assinatura? � Uma classe precisa de mais atributos? 2 - Fornecer aos programadores uma visão detalhada dos objetos e mensagens envolvidos na realização dos casos de uso. DIAGRAMAS DE INTERAÇÃO DIAGRAMAS DE INTERAÇÃO Conceitos � O Diagrama de Interação apresenta a relação entre os objetos e a troca de mensagens que são necessárias para efetivar a realização do comportamento. � O Diagrama de Interação representa um único caso de uso e deve ser usado quando se deseja visualizar os comportamentos utilizados pelos vários objetos dentro do caso de uso. � Diagramas de interação são apresentados sob duas formas na UML através do Diagrama de Sequência e Diagrama de Comunicação (Colaboração). Mensagem � O conceito básico da interação entre objetos é a mensagem. � Um sistema OO é uma rede de objetos que trocam mensagens. – Funcionalidades são realizadas pelos objetos, que só podem interagir através de mensagens. – Um objeto envia uma mensagem para outro objeto quando o primeiro deseja que o segundo realize alguma tarefa. � Na construção de diagramas de interação, mensagens de um objeto a outro implicam em operações que classes devem ter. Uma mensagem representa a requisição de um objeto remetente a um objeto receptor para que este último execute alguma operação definida para sua classe. Essa mensagem deve conter informação suficiente para que a operação do objeto receptor possa ser executada. Tipos de diagramas de Interação 1 - Diagrama de Sequência � Foco nas mensagens enviadas no decorrer do tempo. � Se a ênfase do que se quer modelar é o decorrer do tempo � A visualização fica dificultada conforme o número de objetos cresce (disposição em uma dimensão). Tipos de diagramas de Interação 1 - Diagrama de Comunicação � Foco nas mensagens enviadas entre objetos que estão relacionados � Se a ênfase é o contexto do sistema � Exibe mensagens enfatizando relacionamentos. � Melhor utilização do espaço (disposição em duas dimensões) DIAGRAMA DE SEQUÊNCIA - SIMBOLOGIA GERENTE :nome objeto :nome objeto Ator Objeto Linha da vida DIAGRAMAS DE INTERAÇÃO :nome objeto :nome objeto Lista de objetos DIAGRAMA DE SEQUÊNCIA - SIMBOLOGIA Estacionamento Estácio - DSS Representa a ligação entre o mundo externo e o sistema :objeto1 :objeto2 :objeto1 :objeto2 mensagem() retorno() mensagem() Ligação Mensagem DIAGRAMA DE COMUNICAÇÃO – SIMBOLOGIA DIAGRAMAS DE INTERAÇÃO Representa a ligação entre os objetos Diagrama de Comunicação Representa troca de mensagens sem sequência. :formulário escolherHospede() escolherProcedencia() InformarDiasPermanencia() clicaCONFIRMA() :Hóspedes 4: *ler() listaHospedes 1: apresentaInformações() 2: apresentaDataChegada() 3: calculaDataSaída () 5: *ler() listaProcedência :Procedência 6: [disponíveis]*ler() listaQuartos :Quartos 7: Incluir() :Hospedagem 8: <include> alocarQuarto 9: <include> abrirCCorrente DIAGRAMA DE MÁQUINAS DE ESTADO � Representa o comportamento de um objeto individual � Complementa a descrição de um Caso de Uso e se apoia no Diagrama de Classes. � Mostra todos os estados possíveis que objetos de uma certa classe podem assumir e também quais são os eventos do sistemas que provocam tais mudanças.� Sua construção é recomendada apenas quando existir um certo grau de complexidade referente à transição de estados de um dos objetos envolvidos no processo. Conceitos básicos: � Evento � Evento externo � Evento interno � Evento temporal � Estado � Transição � Ação de transição � Condição de guarda DIAGRAMA DE MÁQUINAS DE ESTADO Conceitos básicos: Estado – É a condição de um objeto em determinado momento no tempo – o tempo entre os eventos. Exemplo: Um telefone está no estado ocioso após o fone ter sido colocado no gancho e até que seja novamente retirado do gancho. DIAGRAMA DE MÁQUINAS DE ESTADO Conceitos básicos: Transição – É um relacionamento entre dois estados, indicando que, quando um evento ocorre, o objeto muda do estado anterior para o estado subsequente. Exemplo: Quando o evento “fora do gancho” ocorre, o telefone transiciona do estado “ocioso” para o estado “ativo”. DIAGRAMA DE MÁQUINAS DE ESTADO Conceitos básicos: Condição de guarda – Define que a transição só ocorrerá se o resultado do teste for favorável. DIAGRAMA DE MÁQUINAS DE ESTADO Diagrama de Estado – Caso de uso Registrar locação Aguardando Entrada Verificando cadastro Aguardando Cadastro do veículo Entrar nova locação Entrar informações veículo [veículo não cadastrado]/Cadastrar Veículo Apresentar informações veículo [veículo cadastrado] Cadastrando Locação Aguardando Cadastro do cliente Aguardando Confirmação Entrar Informação Cliente/ Cadastrar Cliente Finalizar Locação/ Emitir Comprovante Confirmar Locação [confirma] Apresentar informações veículo Confirmar Locação [cancela] Aguardando Comprovante Liberar Estacionamento DIAGRAMA DE MÁQUINAS DE ESTADO O diagrama de atividade permite escolher a ordem pela qual as coisas devem ser feitas, isto é, indica meramente as regras essenciais de sequência que necessitam ser seguidas - esse é um aspecto fundamental para diferenciar um diagrama de atividade de um fluxograma. Fluxogramas são limitados a processos sequenciais enquanto que Diagramas de Atividade podem manipular processos paralelos. DIAGRAMA DE ATIVIDADE Quando usar: • Para representar o processo; • Para representar cada Caso de Uso complexo. DIAGRAMA DE ATIVIDADE DIAGRAMA DE ATIVIDADE Boa AV2!
Compartilhar