Baixe o app para aproveitar ainda mais
Prévia do material em texto
DIAGRAMA DE CLASSE E DE OBJETOS Professor: Lázaro P. de Oliveira Curso: Sistemas de Informação • Capítulo 3: Diagramas de Classes: Os elementos Básicos DIAGRAMA DE CLASSE CONCEITUAL LIVRO PROPRIETÁRIO Capítulo 5 – Diagramas de Classes: Conceitos Avançados. DIAGRAMA DE CLASSE DE PROJETO Os conceitos de classes e objetos são fundamentais para o desenvolvimento de software e de modelos de software neste paradigma. De acordo com Booch, Rumbaugh e Jacobson (2005) as classes são a estrutura mais importante na construção de sistemas orientados a objetos. CLASSES E OBJETOS Os conceitos de classes e objetos são fundamentais para o desenvolvimento de software e de modelos de software neste paradigma. De acordo com Booch, Rumbaugh e Jacobson (2005) as classes são a estrutura mais importante na construção de sistemas orientados a objetos. CLASSES E OBJETOS A representação de Classe na UML é um retângulo dividido em três partes: 1) Nome da Classe 2) Atributos 3) Métodos DIAGRAMA DE CLASSE Nome da Classe. 1ª. letra maiúscula (caixa alta). O nome deve representar uma entidade no sistema a ser modelado Atributos da Classe. Todas as letras minúsculas (caixa baixa) Métodos da Classe. Todas as letras minúsculas (caixa baixa) ATRIBUTOS DE UMA CLASSE De acordo com Foeler (2005) para se entender os atributos de uma classe, pode-se fazer uma analogia à campos (variáveis pertencentes a uma estrutura) de uma linguagem de programação. Em outras palavras, os atributos são as qualidades que um objeto possuirá quando instanciado seguindo o modelo de uma classe. Sintaxe: <nome atributo>:<tipo atributo> Exemplo: Nome_cliente: string MÉTODOS DE UMA CLASSE Os métodos de uma classe são as ações que um objeto instanciado pode executar, recebendo ou não parâmetros, retornando ou não valores. Os tipos dos métodos são, basicamente, o tipo do valor que será retornado. Quando não há retorno, define-se o tipo void. MÉTODOS DE UMA CLASSE - EXEMPLO girarAntiHorario: ao ser executado este método, nenhum valor é retornado (void), porém no momento da execução do método, é necessário que se transmita a velocidade desejada. checaSeEstáLigado: para ser executado, este método não necessita de parâmetro, porém o valor booleano (verdadeiro ou falso) é retornado, indicando verdadeiro para quando o ventilador está ligado e falso para quando está desligado. OBJETO • Classe: Molde de objetos afins, com as mesmas características (atributos e métodos) • Objeto: Instância de uma classe Classe Objeto EVOLUÇÃO NO DIAGRAMA DE CLASSES Modelo conceitual (análise) • Classes do negócio Concebidas a partir das funcionalidades dos casos de uso • Atributos sem tipos sem visibilidade • Relacionamentos Só o relacionamento de associação Modelo de classes de Projeto (Projeto) – Multiplicidade – Relacionamentos – análise semântica – Novos atributos – Métodos – Visibilidade e tipos dos atributos – Classes de projeto (persistência,camadas..) 26 MULTIPLICIDADE 26 Multipl Significado 1 Exatamente 1 (um) 1..* Um ou vários (muitos) 0..* Nenhum (zero) ou vários (muitos) * Muitos. A leitura é Nenhum (zero) ou vários (muitos) 0..1 Nenhum (zero) ou 1 (um) m..n Faixa de valores. Exemplo : 1 a 3 , 4 a 7 ou 6 a 11 Outro Exemplo: Uma corrida está associada a: no mínimo, dois (2) velocistas; No máximo seis (6) velocistas; Um velocista pode estar associado a várias (*) corridas. MULTIPLICIDADE EXEMPLO (MULTIPLICIDADE) Pode haver um cliente que esteja associado a vários pedidos. Pode haver um cliente que não esteja associado a pedido algum. Um pedido está associado a um, e somente um, cliente. 1 2 6 0..* Cliente Pedido CONECTIVIDADE 2 6 A conectividade corresponde ao tipo de associação entre duas classes: “muitos para muitos”, “um para muitos” e “um para um”. A conectividade da associação entre duas classes depende dos símbolos de multiplicidade que são utilizados na associação. CONECTIVIDADE X MULTIPLICIDADE Conectividade Em um extremo No outro extremo Um para um 0..1 0..1 1 1 Um para muitos 0..1 * 1 1..* 0..* Muitos para muitos * * 1..* 1..* 0..* 0..* 2 6 EXEMPLO (CONECTIVIDADE) 1 0..1 Empregado Departamento 0..* 1 Empregado Departamento 0..* 1..* Empregado Projeto Um paraum Um paramuitos Muitos para muitos 2 6 NOME DE ASSOCIAÇÃO, DIREÇÃO DE LEITURA E PAPÉIS 2 6 Para melhor esclarecer o significado de uma associação no diagrama de classes, a UML define três recursos de notação: Nome da associação: fornece algum significado semântico à mesma. Direção de leitura: indica como a associação deve ser lida Papel: para representar um papel específico em uma associação. EXEMPLO (NOME DE ASSOCIAÇÃO, DIREÇÃO DE LEITURA E PAPÉIS) contratante * contratado * Contrata Organização Indivíduo Papel Nome da associaçã o Papel Direção de leitura 2 6 Os atributos (campos) e operações (métodos) de uma classe podem ser especificados para mostrar como a mesma pode ser vista e utilizada pelos outros elementos do sistema. Os níveis de visibilidade para o atributo ou operação: VISIBILIDADE Visibilidade Comentários + Publico Qualquer classe pode usar o método ou atributo - Privado Apenas a própria classe pode usar o método ou o atributo ~ Pacote Apenas classes dentro do pacote podem usar o método ou atributo # Protegido Apenas as subclasses (herança), ou classe especializada pode usar o atributo ou método ( - ) Somente a própria classe tem acesso direto aos atributos do veículo ( + ) Qualquer classe pode ligar ou desligar o veículo ( # ) Somente classes do mesmo pacote ou sub-classes podem acelerar ou frear veículo ( - ) Somente a própria classe pode ativar o ABS ( ~ ) Somente classes do mesmo pacote podem ver o consumo do veículo VISIBILIDADE DIAGRAMA DE CLASSES Observe a Classe “ContaBancaria” e, no slide a seguir, como ficaria o código fonte para sua criação CÓDIGO FONTE PARA CRIAÇÃO DA CLASSE “ContaBancaria” At rib ut os M ét od os RELACIONAMENTOS Os tipos de relacionamento entre classes em um diagrama de classes são: 1) Herança (ou generalização/especificação); 2) Associação; 3) Agregação; 4) Composição; 5) Dependência; 6) Autoassociação. Trata-se da ação de uma classe herdar toda a estrutura de uma outra classe Uma sub-classe sempre herda de sua super-classe: Atributos Operações Relacionamentos Uma sub-classe pode: Adicionar atributos e operações Adicionar relacionamentos 1) HERANÇA (GENERALIZAÇÃO / ESPECIFICAÇÃO) 1) HERANÇA (GENERALIZAÇÃO / ESPECIFICAÇÃO) 27 1) HERANÇA (GENERALIZAÇÃO / ESPECIFICAÇÃO) 1) HERANÇA (GENERALIZAÇÃO / ESPECIFICAÇÃO) 1) HERANÇA (GENERALIZAÇÃO / ESPECIFICAÇÃO) 2) ASSOCIAÇÃO (CLASSE ASSOCIATIVA) 2 7 É uma classe que está ligada a uma associação, ao invés de estar ligada a outras classes. É normalmente necessária quando duas ou mais classes estão associadas, e é necessário manter informações sobre esta associação. Uma classe associativa pode estar ligada a associações de qualquer tipo de conectividade. A Classe é ligada a uma Associação. Classe Associativa Oriunda do relacionamento muitos para muitos 0 .. * 1 .. * 2) ASSOCIAÇÃO (CLASSE ASSOCIATIVA) 3) AGREGAÇÃO 2 8 • É uma associação diferente da associação simples apresentada no item anterior. • Considera as classes relacionadas como sendo uma o “TODO” e a outra a “PARTE”. • Por tal motivo, também é conhecida, juntamente com a composição, como relacionamento TODO-PARTE. • Representado por um losango vazado voltado para a parte “TODO”. Um Pedido de compra com os itens que serão comprados. No caso da agregação, os itens podem existir no sistema mesmo antes de fazerem parte de um pedido. Em outras palavras, a existência de “item” independe da existência deseu “pedido”. A existência da “parte” (item) independe da existência do “todo” (pedido). 3) AGREGAÇÃO: Exemplo A representação gráfica da composição é feita com um losango cheio (pintado). 4) COMPOSIÇÃO A utilização da composição é bem similar à agregação, porém, com uma diferença principal: A EXISTÊNCIA DA “PARTE” NÃO FAZ SENTIDO SE O “TODO” NÃO EXISTIR. Na AGREGAÇÃO, o objeto “parte” pode pertencer a mais de um “todo”, enquanto na composição, o objeto “parte” pode pertencer somente a um “todo”. Na composição, as “partes” são destruídas como consequência da destruição do seu respectivo “todo”. Um funcionário pode possuir Dependentes: A existência do(s) dependente(s) não faz sentido se não for para compor uma classe Funcionario. Um funcionário, quando excluído no sistema, seus dependentes tabém serão excluídos, pois não faz sentido mantê-los. 4) COMPOSIÇÃO: Exemplo A dependência de classes é utilizada para que? para que ações sejam executadas por um objeto, é necessário que exista um objeto de outra classe. 5) DEPENDÊNCIA • Um Caixa de Banco possui métodos de “Depositar” (no caso, dinheiro). • Este método recebe dois parâmetros: o “valor” a ser depositado e a “conta” em que o valor será creditado. • Para que a “conta” possa ser especificada, é necessário que um objeto da classe “Conta” seja passado como parâmetro para o método. • Portanto, a classe “Caixa” tem uma relação de dependência com a classe “Conta”. 5) DEPENDÊNCIA: Exemplo 6) AUTOASSOCIAÇÃO 2 8 Associa objetos da mesma classe. Cada objeto tem um papel distinto na associação. A utilização de papéis é bastante importante para evitar ambiguidades na leitura da associação. Uma associação reflexiva não indica que um objeto se associa com ele próprio. Ao contrário, indica que objetos de uma mesma classe se associam supervisor supervisionado 1 * Empregado Supervisão 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. 6) AUTOASSOCIAÇÃO EXEMPLO MAIS AMPLO Diagrama de Classes não é um modelo ER O maior perigo com os diagramas de classes é que você pode focalizar exclusivamente na estrutura e ignorar o comportamento (métodos). CUIDADO NÍVEIS DO MODELO DE CLASSES Três níveis sucessivos de abstração: 1) Domínio; 2) Especificação; 3) Implementação. 1) CLASSES DE DOMÍNIO Representa as classes no domínio do negócio em questão. Não leva em consideração restrições inerentes à tecnologia a ser utilizada na solução de um problema. 2 9 Representa termos do domínio do negócio. Objetivo: descrever o problema representado pelo sistema a ser desenvolvido, sem considerar características da solução a ser utilizada. 2) CLASSES DE ESPECIFICAÇÃO 2 9 É obtido através da adição de detalhes ao modelo anterior conforme a solução de software escolhida. 3) CLASSES DE IMPLEMENTAÇÃO Copyright 2002, 2003 Eduardo Bezerra 2 9 O modelo de classes de implementação corresponde à implementação das classes em alguma linguagem de programação. A gráfica ABC trabalha com diversos autores que escrevem os livros que ela publica. Alguns autores escreveram apenas um livro, enquanto outros já escreveram vários. Além disso, alguns livros foram escritos por vários autores, porém um livro deve possuir pelo menos um autor. A gráfica ABC trabalha também com diversas impressoras, porém um livro só pode ser impresso em uma única impressora. Deve ser possível buscar os livros de um autor, saber qual foi a impressora em que o livro foi impresso, saber a quantidade de páginas que uma impressora já imprimiu e a quantidade de páginas que ela imprimiu de um determinado livro, entre outros. EXERCÍCIO DE FIXAÇÃO 01 EXERCÍCIO DE FIXAÇÃO 01 - SOLUÇÃO Um veículo tem chassi, modelo, peso, ano de fabricação. Um veículo não existe por si só, ele deve ser um avião ou um carro. Todo veículo liga e desliga. Um carro acelera e freia e um avião decola, voa e pousa. EXERCÍCIO DE FIXAÇÃO 02 EXERCÍCIO DE FIXAÇÃO 02 - RESOLUÇÃO Um imóvel possui um endereço, área (em m2) e um proprietário. O imóvel pode ser uma casa ou um apartamento. Caso seja casa possuirá também o número do registro do lote e, caso seja apartamento, possuirá o número do andar e um flag indicando se possui ou não elevador. Um proprietário possui cpf, nome e telefone. Pelo menos as seguintes operações devem existir: Alterar a área de um imóvel Alterar o proprietário de um imóvel (um proprietário possui imóvel (is)) Alterar o flag se possui ou não elevador no apartamento Recuperar a quantidade de imóveis de um proprietário Alterar o telefone de um proprietário PS: Atenção com os parâmetros e com o tipo de retorno das operações EXERCÍCIO DE FIXAÇÃO 03 EXERCÍCIO DE FIXAÇÃO 03 EXERCÍCIO DE FIXAÇÃO 03 Loja de Materiais para Construção O proprietário de uma Loja de Material para Construção solicitou, aos alunos da Estácio de Sá, que desenvolvessem um sistema para gestão de sua loja. Para tanto, solicitou que fosse, inicialmente, criado Diagrama de Caso de Uso seguido do Diagrama de Classes. Em entrevista com o proprietário, os alunos levantaram as seguintes atividades realizadas na loja e que devem ser contempladas no sistema: O gerente só compra os produtos de fornecedores qualificados. Os fornecedores são todos cadastrados pelo próprio gerente, antes mesmo de realizar as compras; Os atendentes realizam as vendas dos produtos no balcão e emitem as respectivas notas fiscais. O gerente também pode vir a atender no balcão com vendas de produtos. Quando os clientes assim desejam, os produtos vendidos são entregues em sua residência. Para tanto, o atendente precisa gerar uma nota de entrega e cadastrar o cliente (caso este seja um cliente novo ou ainda não tenha sido cadastrado). LOJA DE MATERIAL PARA CONSTRUÇÃO RESOLUÇÃO RESOLUÇÃO RESOLUÇÃO DIAGRAMA DE OBJETOS O diagrama de objetos é uma variação do diagrama de classes e utiliza quase a mesma notação. A diferença é que o diagrama de objetos mostra os objetos que foram instanciados das classes. O diagrama de objetos é como se fosse o perfil do sistema em certo momento de sua execução. Pode ser visto com uma instância de diagramas de classes DIAGRAMA DE OBJETOS Empresa de Aluguel de Veículos EXERCÍCIO 1 O diagrama de classes abaixo se refere a uma empresa de aluguel de veículos. Observe o diagrama e faça um texto, interpretando o que você entendeu no diagrama. EXERCÍCIO 2 Baseado na sua interpretação do exercício 1, faça uma descrição da situação representada no diagrama de objetos abaixo: EXERCÍCIO 3 Como fica o diagrama do exercício 2, se o Pablo alugar uma Kombi, no contato 3125. Em um hotel da cidade, um hóspede pode obter um quarto de 2 formas: através de uma reserva prévia ou obtendo um quarto se houver disponibilidade no ato. Ao reservar são registrados Nome, CPF, Período da estada, quantidade de quartos e de hospedes. Na chegada do hóspede (com ou sem reserva) são registrados, além dos dados acima, os dados (Nome e data de nascimento) dos demais hóspedes. Na saída do hóspede, registra-se a data de saída, bem como apresenta o valor a pagar ao hospede, que informa forma de pagamento (dinheiro, cartão ou cheque). Se pagamento em cheque (banco, agencia, conta e cheque) registra-se os dados do cheque. Se pagamento em cartão, registra-se dados do cartão (administradora, numero cartão e validade). Após saída do hóspede, o recepcionista deve liberar o quarto para limpeza , que ao ser encerrada deve liberar o quarto para uso novamente. O gerente pode retirar um quarto de uso, seja para obra ou qualquer outra ação, podendo retornar o quarto para hospedagem, sempre que desejar. O gerente poderáincluir novos quartos, quando forem construídos. Sempre que solicitado o gerente deve receber um mapa de ocupação dos quartos (reservas e ocupados) em um período (por ele informado). Ao final do dia o caixa precisa saber o total recebido em dinheiro e o gerente as reservas canceladas. Uma reserva pode ser cancelada pelo recepcionista (obedecendo pedido do hóspede) ou automaticamente, se o hóspede não chegar ate as 17h. Todo atendimento (reservas, checkin e checkout) é feito pelos recepcionistas. EXERCÍCIO 4 – Estudo de Caso Hotel 1. Identificando Casos de Uso IDENTIFICANDO CLASSES 1. Precisa reter, no sistema, dados de algum ator? Não. Nenhum ator é relevante para o domínio do problema enquanto retenção de seus dados 2. Que casos de uso dão origem a classes ? Incluir quarto e outros – Quarto Cadastrar hóspede – Hóspede Reservar Quarto o outros – Reserva Registrar Entrada do Hóspede / Registrar Saída do Hóspede - Hospedagem Pagar Cheque, Pagar Dinheiro, Pagar Cartão – Pagamento. IDENTIFICANDO ATRIBUTOS 3. Que atributos identificam cada classe ? Quarto: Num Quarto, Max Pessoas Hóspede: CPF, Nome, Data Nasc Reserva: Data Reserva, Data Inicial, Data Final, Qtde Pessoas, Qtde Quartos Hospedagem: Data Cheg, Data Saida Pagamento: Forma Pagamento, Valor Pagamento Dinheiro : Valor Pago, Troco Cheque : Banco, Agencia, Conta, Chequ Cartão: Adm, Num Cartão, Val Cartão, Parcelas IDENTIFICANDO MÉTODOS EVIDENTES 4. Algum caso de uso dá origem a métodos de uma classe? Quarto: Incluir quarto, Bloquear Quarto, desbloquear quarto, liberar quarto da limpeza. Reserva: Incluir Reserva, Cancelar reserva, cancelar reservas do dia, consultar reservas canceladas. Hóspede: Cadastrar Hospedagem: Registrar entrada, registrar saída Pagamento: ? – nada evidente Pag Dinheiro – Consultar recebimento especie Pag Cartão - ? Nada evidente Pag Cheque - ? Nada evidente 1ª VERSÃO: DIAGRAMA CONCEITUAL CLASSES REFINAMENTO 1: DCC REFINAMENTO 2: DCC REFINAMENTO 3: DCC REFINAMENTO 4: DCC REFINAMENTO 5: DCC Prática EXERCÍCIOS Monte o Diagrama de Classes para os seguintes Diagramas de Casos de Uso: 1) Barrichelo’s Kart; 2) Estacionamento Praça Estácio; 3) Sistema de Gestão de Hotel; 1) Sistema para controle de uma Biblioteca. Barrichelo’s Kart; 1 Barrichelo’s Kart é uma promotora de corridas de Kart, localizada em um grande shopping center, na zona sul da cidade do Rio de Janeiro. Ao longo de seus 6 meses de operação, Barrichelo’s Kart já realizou mais de 1.000 corridas em sua pista. Segundo o gerente da promotora, um dos fatores que garantiu o sucesso da empresa é a manutenção de três listas de melhores corredores. A primeira lista apresenta os melhores corredores da semana. A segunda lista apresenta os melhores corredores do mês. Finalmente, a terceira lista apresenta os melhores corredores desde o início da empresa. O gerente explica que o melhor corredor da semana recebe, como prêmio, uma corrida grátis na semana seguinte. O gerente da promotora decidiu investir em um sistema informatizado. O sistema deve controlar os corredores, os carros que foram utilizados, o tempo de corrida, o número de batidas e infrações, além das listas de melhores corredores. Enunciado do Exercício: Diagrama de classes (BARRICHELO’S KART) O sistema deve possuir um cadastro de corredores, indicando seu nome, endereço completo, telefone de contato, data de nascimento, peso e altura. O sistema deve conter também um cadastro de carros que podem ser utilizados nas corridas. A cada nova corrida, o sistema deve registrar seus participantes – cada corrida pode ter até 6 participantes -, o carro utilizado por cada participante, sua ordem de partida, seus tempos, batidas e infrações. Ao fim de cada corrida, o sistema deve emitir um relatório com a classificação de cada corredor, indicando seu carro, tempo de corrida e infrações. Ao fim de cada dia, o sistema deve emitir os relatórios de melhor da semana, do mês e desde o início da empresa. Ao fim da semana, o sistema deve selecionar o melhor corredor da semana e enviar por email um convite de corrida grátis. Diagrama de Caso de uso “Barrichelo’s Kart” RESOLUÇÃO: Diagrama de Classes “Barrichelo’s Kart” Classificacao: int Estacionamento Praça da Estácio 2 ENUNCIADO DO EXERCÍCIO: DIAGRAMA DE CLASSES “ESTACIONAMENTO – PRAÇA DA ESTÁCIO” Diariamente o estacionamento “Praça da Estácio” recebe vários clientes para aluguel de suas vagas e possui uma rotina destinada ao bom atendimento. Como Regra de Negócio, todos os clientes devem ser cadastrados. O gerente do estacionamento cadastra todas as vagas com sua devida localização e situação. No caso de algum impedimento, goteira e obra, por exemplo, as vagas são interditadas para uso. O veículo é identificado (Placa, cor e modelo) na entrada e a locação da vaga é registrada pelo atendente, que emite um comprovante e cadastra o veículo que for recebido pela 1ª vez. A locação da vaga registra data e hora de entrada e o atendente. Após registrar a locação, a referida vaga é bloqueada. A liberação é efetivada a partir da solicitação do cliente, que entrega ao atendente o seu comprovante de locação, realiza o pagamento e recebe uma autorização de saída. São registradas data e hora de saída. Após registrar a liberação, a vaga deverá ser liberada para um próximo cliente. O manobrista retira o carro da vaga e entrega-o ao cliente. Diagrama de Caso de uso “Estacionamento Praça da Estácio” RESOLUÇÃO: Diagrama de Classes do “Estacionamento Praça da Estácio” ENUNCIADO DO EXERCÍCIO: DIAGRAMA DE CLASSES “ESTACIONAMENTO – PRAÇA DA ESTÁCIO” Observem que, no Diagrama de Classes, foi inserida a classe “Cliente”. Contudo, não existe um caso de uso correspondente no Diagrama de Casos de Uso. Inclusive, esta classe está sendo citada no Estudo de Caso. Sendo assim, é preciso voltar ao Diagrama de casos de Uso e inserir este novo caso de uso, como pode ser visto no slide seguinte. ALTERAÇÕES NO DIAGRAMA DE CASOS DE USO Diagrama de Caso de uso “Estacionamento Praça da Estácio” Sistema Gestão de Hotel Estácio 3 O cadastro do hóspede (nome, procedência, endereço, contato, previsão de permanência) é realizado pelo setor de recepção que também controla a alocação de quarto/apartamento (número do quarto ou apartamento) e abertura de uma conta corrente para o hospede (senha, número da conta, nome do hospede). Ao setor de serviço de copa cabe a responsabilidade pelos lançamentos, na conta do hospede, das despesas que o mesmo efetuar com bebidas e comidas (data, tipo da despesa e valor). A atendente de telefonia é responsável pelo lançamento, na conta do cliente, das chamadas interurbanas que o mesmo venha a fazer (data, local chamado, duração e tarifa). As chamadas locais não são computadas. O setor de lavanderia é responsável pelos lançamentos, na conta do hospede, dos serviços que o mesmo venha a solicitar àquele setor (data, tipo de serviço, valor). A gerência pode, a qualquer instante, ter acesso às informações de cadastro e gastos realizados pelo hospede. A gerência é responsável pelo cadastro e atualização das tabelas de serviços, menus e diárias. Enunciado do Exercício DIAGRAMA DE CLASSES (SISTEMA DE GESTÃO DE HOTEL ESTÁCIO) O hospede pode, a qualquer instante, consultar o saldo de sua conta. O setor de recepção é responsável pela extração do extrato final da conta e fechamento da mesma quando o hospede finaliza sua estadia. DIAGRAMA DE CASOS DE USO (Sistema de Gestão de Hotel Estácio) RESOLUÇÃO: Diagrama de Classes Sistema de Gestão de Hotel Estácio + Fechar_hospedagem - Valor_servico serviço Tipo_servico ENUNCIADO DO EXERCÍCIO: DIAGRAMA DE CLASSES “ESTACIONAMENTO – PRAÇA DA ESTÁCIO” ALTERAÇÕES NO DIAGRAMA DE CASOS DE USO 1) Observem que, no Diagrama de Classes, temos a classe “Quarto”. Contudo, esta classe não existe no Diagrama de Casos de Uso. Sendo assim, precisamosincluí-la no DCU. 2) Observe, também, que talvez seja melhor alterar o nome do caso de uso “Alocar Quarto” para “Manter Hospedagem. Isto porque teria mais coerência com o nome correspondente no Diagrama de Classes. Veja tais alterações realizadas no slide seguinte. 3) Observe, ainda, que foi inserido um método na classe Quarto com o nome “atualizar_situação”. Ocorre que este método não aparece no Diagrama de Caso de Uso. Assim sendo, este diagrama precisa ser alterado DIAGRAMA DE CASOS DE USO (Sistema de Gestão de Hotel Estácio) Manter hospedagem Manter Quarto Atualizar situação Quarto Sistema para controle de uma Biblioteca 4 O aluno, ao chegar na Biblioteca, solicita o empréstimo de um livro. Com isso, o bibliotecário verifica se o livro solicitado está disponível para locação. Estando o livro disponível para locação, o bibliotecário empresta o livro e o coloca em estado de indisponibilidade, o que evitará que outros tentem emprestar aquele livro que já fora emprestado. Neste momento de empréstimo, caso o aluno ainda não esteja cadastrado, o bibliotecário o cadastrará. Quando o aluno devolver o livro ao bibliotecário, este deverá registrar a devolução e colocar o livro em estado de disponibilidade para que possa ser emprestado a outro aluno. O Bibliotecário é o responsável por cadastrar todos os livros da biblioteca. Para tanto, o bibliotecário também cadastrará o autor do livro (caso este ainda não esteja cadastrado) e também cadastrará a editora que o publicou (caso esta ainda não esteja cadastrada). NÃO CORRIGI Enunciado do exercício Sistema para controle de uma Biblioteca Diagrama de Casos de Uso para o Sistema de Controle de uma Biblioteca Loja de Material para Construção Os alunos devem criar o Diagrama de Casos de Uso, o Diagrama de Classes e especificar um dos casos de uso do driagrama ESTUDO DE CASO: LOJA DE MATERIAL DE CONSTRUÇÃO Em entrevista com o proprietário de uma loja de materiais para construção, os alunos da Estácio identificaram as seguintes atividades realizadas na loja e que, portanto, devem ser contempladas no sistema: O gerente só compra produtos de fornecedores qualificados. Os fornecedores são todos cadastrados pelo próprio gerente. Os atendentes realizam as vendas dos produtos no balcão e emitem as notas fiscais. O gerente também pode vir a atender no balcão, vendendo produtos. Quando os clientes assim desejam, os produtos vendidos são entregues em suas residências. Para tanto, o atendente precisa gerar uma nota de entrega e cadastrar o cliente (caso este seja um cliente novo ou ainda não tenha sido cadastrado). 2- DIAGRAMA DE CASO DE USO ( SIMPLIFICADO ) 3- DIAGRAMA DE CASO DE USO (COM INCLUDE E EXTEND) RESOLUÇÃO DIAGRAMA DE INTERAÇÃO (Sequência – Sequência de Sistema – Colaboração) Professor: Lázaro P. de Oliveira Curso: Sistemas de Informação OBJETIVO Com base no Estudo de caso “Sistema de Gestão de Hotel Estácio”: Descrição de caso de uso Diagrama de Sequencia Diagrama de Sequencia de Sistema Diagrama de Colaboração O cadastro do hospede (nome, procedência, endereço, contato, previsão de permanência) é realizado pelo setor de recepção que também controla a alocação de quarto/apartamento (número do quarto ou apartamento) e abertura de uma conta corrente para o hospede (senha, número da conta, nome do hospede). Ao setor de serviço de copa cabe a responsabilidade pelos lançamentos, na conta do hospede, das despesas que o mesmo efetuar com bebidas e comidas (data, tipo da despesa e valor). A atendente de telefonia é responsável pelo lançamento, na conta do cliente, das chamadas interurbanas que o mesmo venha a fazer (data, local chamado, duração e tarifa). As chamadas locais não são computadas. O setor de lavanderia é responsável pelos lançamentos, na conta do hospede, dos serviços que o mesmo venha a solicitar àquele setor (data, tipo de serviço, valor). A gerência pode, a qualquer instante, ter acesso às informações de cadastro e gastos realizados pelo hospede. A gerência é responsável pelo cadastro e atualização das tabelas de serviços, menus e diárias. O hospede pode a qualquer instante consultar o saldo de sua conta. O setor de recepção é responsável pela extração do extrato final da conta e fechamento da mesma quando o hospede finaliza sua estadia. ESTUDO DE CASO SISTEMA DE GESTÃO DE HOTEL ESTÁCIO Hospedar Cliente ESTUDO DE CASO DIAGRAMA DE CASO DE USO PASSO 1 - Definir o Cabeçalho Nome: Hospedar cliente Objetivo: Registrar entrada do hóspede no hotel Pré-condição: Quartos disponíveis. Pós-condição: Conta corrente aberta para consumo. Autorizada permanência do cliente nas áreas do hotel. ESTUDO DE CASO DESCRIÇÃO DO CASO DE USO “HOSPEDAR CLIENTE” PASSO 2 - Definir a interface ESTUDO DE CASO DESCRIÇÃO DO CASO DE USO “HOSPEDAR CLIENTE” Hotel Estácio HÓSPEDE Nome: Endereço: Contato: Procedência: Previsão permanência: HOSPEDAGEM Quarto: Data de chegada ____/____/____ Data de saída: ____/____/____ SAIRCONFIRMANOVO CLIENTE Hotel Estácio HÓSPEDE Nome: Endereço: Contato: Procedência: Previsão permanência: HOSPEDAGEM Quarto: Data de chegada ____/____/____ Data de saída: ____/____/____ SAIRCONFIRMANOVO CLIENTE Hotel Estácio HÓSPEDE Nome: Endereço: Contato: Procedência: Previsão permanência: HOSPEDAGEM Quarto: Data de chegada ____/____/____ Data de saída: ____/____/____ SAIRCONFIRMANOVO CLIENTE Hotel Estácio HÓSPEDE Nome: Endereço: Contato: Procedência: Previsão permanência: HOSPEDAGEM Quarto: Data de chegada ____/____/____ Data de saída: ____/____/____ SAIRCONFIRMANOVO CLIENTE PASSO 3 – Identificar procedimentos fluxo principal ESTUDO DE CASO DESCRIÇÃO DO CASO DE USO “HOSPEDAR CLIENTE” FLUXO PRINCIPAL: 1. Sistema Apresenta Tela de Hospedagem 2. Sistema apresenta lista de HÓSPEDES já cadastrados 3. Recepção escolhe HÓSPEDE 4. Sistema obtém dados HÓSPEDES e apresenta informações: endereço e contato 5. Sistema apresenta lista de PROCEDÊNCIA cadastrada 6. Recepção escolhe PROCEDÊNCIA 7. Recepção informa DIAS DE PERMANÊNCIA PASSO 4 – Descrição procedimentos fluxo principal ENTRADA ESTUDO DE CASO DESCRIÇÃO DO CASO DE USO “HOSPEDAR CLIENTE” 8. Sistema apresenta lista de QUARTOS cadastrados e disponíveis 9. Recepção escolhe QUARTOS 10. Sistema apresenta data de chegada como a data do dia 11. Sistema apresenta data de saída calculando a data de chegada acrescida dos dias de permanência 12. Recepção clica CONFIRMA PASSO 4 – Descrição procedimentos fluxo principal ENTRADA/PROCESSAMENTO ESTUDO DE CASO DESCRIÇÃO DO CASO DE USO “HOSPEDAR CLIENTE” 13. Sistema <INCLUDE> “Alocar Quarto” 14. Sistema <INCLUDE> “Abrir conta corrente” 15. Sistema inclui informações de HOSPEDAGEM 16. Sistema encerra caso de uso PASSO 4 – Descrição procedimentos fluxo principal SAÍDAS ESTUDO DE CASO DESCRIÇÃO DO CASO DE USO “HOSPEDAR CLIENTE” Hotel Estácio HÓSPEDE Nome: Endereço: Contato: Procedência: Previsão permanência: HOSPEDAGEM Quarto: Data de chegada ____/____/____ Data de saída: ____/____/____ SAIRCONFIRMANOVO CLIENTE PASSO 5 – Identificar procedimentos dos fluxos Alternativos e de Exceção ESTUDO DE CASO DESCRIÇÃO DO CASO DE USO “HOSPEDAR CLIENTE” PASSO 5 – Identificar procedimentos fluxo Alternativo e de exceção FLUXO PRINCIPAL: 1. Sistema Apresenta Tela de Hospedagem 2. Sistema apresenta lista de HÓSPEDES já cadastrados 3. Recepção escolhe HÓSPEDE 4. Sistema obtém dados HÓSPEDES e apresenta informações: endereço e contato 5. Sistema apresenta lista de PROCEDÊNCIA cadastrada 6. Recepção escolhe PROCEDÊNCIA7. Recepção informa DIAS DE PERMANÊNCIA 8. Sistema apresenta lista de QUARTOS cadastrados e disponíveis 9. Recepção escolhe QUARTOS 10. Sistema apresenta data de chegada como a data do dia 11. Sistema apresenta data de saída calculando a data de chegada acrescida dos dias de permanência 12.Recepção clica CONFIRMA ESTUDO DE CASO DESCRIÇÃO DO CASO DE USO “HOSPEDAR CLIENTE” E E A PASSO 6 – Descrever procedimentos fluxo Alternativo FLUXO ALTERNATIVO: 12. Recepção clica CONFIRMA 12.1 Recepção desiste 12.1.1 Recepção clica SAIR 12.1.2 Sistema retorna 2 ESTUDO DE CASO DESCRIÇÃO DO CASO DE USO “HOSPEDAR CLIENTE” PASSO 6 – Descrever procedimentos fluxo de Exceção FLUXO DE EXCEÇÃO: 3. Recepção escolhe HÓSPEDE 3.1 Novo hóspede 3.1.1 Recepção clica “Novo Cliente” 3.1.2 Sistema <EXTEND> “Cadastrar Hóspede” 3.1.3 Sistema retorna 4 8. Sistema apresenta lista de QUARTOS cadastrados e disponíveis 8.1 Não existem quartos disponíveis 8.1.1 Sistema apresenta mensagem “Quartos indisponíveis no momento” 8.1.2 Caso de Uso é encerrado. ESTUDO DE CASO DESCRIÇÃO DO CASO DE USO “HOSPEDAR CLIENTE” DIAGRAMAS DE INTERAÇÃO O Diagrama de Interação representam a troca de mensagens entre os objetos. Os tipos de Diagrama de Interação são: 1) Sequencia 2) Sequencia de Sistemas 3) Colaboração ESTUDO DE CASO - INTERAÇÃO O Diagrama de Sequência deve ser feito para cada Caso de Uso. Dentro do Caso de Uso, deve ser feito para: Um para o Fluxo Normal; Um para cada Fluxo Alternativo. Só para os Fluxos relevantes. Bom senso O Diagrama de Sequência é desenvolvido com base nos diagramas de Classe de Casos de Uso. DIAGRAMA DE INTERAÇÃO - SEQUÊNCIA ESTUDO DE CASO – SEQUENCIA PASSO 1: Representar os Objetos e as Linhas da Vida Linha da Vida Objetos É possível ir criando na medida em que os objetos vão aparecendo na análise do caso de uso. ESTUDO DE CASO – SEQUENCIA PASSO 1: Representar os Objetos e as Linhas da Vida 1. Sistema Apresenta Tela de Hospedagem 2. Sistema apresenta lista de HÓSPEDES já cadastrados 3. Recepção escolhe HÓSPEDE 4. Sistema obtém dados HÓSPEDES e apresenta informações: endereço e contato ESTUDO DE CASO – SEQUENCIA PASSO 2: A partir da descrição de caso de uso, informar mensagens 1. Sistema Apresenta Tela de Hospedagem 2. Sistema apresenta lista de HÓSPEDES já cadastrados 3. Recepção escolhe HÓSPEDE 4. Sistema obtém dados HÓSPEDES e apresenta informações: endereço e contato É uma mensagem. Representa um método que deve estar no Diagrama de Classes. O Asterisco (*) indica que vai retornar algo, que neste caso será uma lista. Linha pontilhad a: indica o retorno de um evento. Auto transição DESTRÓI (X). Depois que lista os hóspedes, pode destruir. Não precisa mais ficar na memória. Representa o próprio Sistema Objeto ESTUDO DE CASO – SEQUENCIA PASSO 2: A partir da descrição de caso de uso, informar mensagens 5. Sistema apresenta lista de PROCEDÊNCIA cadastrada 6. Recepção escolhe PROCEDÊNCIA 7. Recepção informa DIAS DE PERMANÊNCIA Objetos ESTUDO DE CASO – SEQUENCIA PASSO 2: A partir da descrição de caso de uso, informar mensagens 8. Sistema apresenta lista de QUARTOS cadastrados e disponíveis 9. Recepção escolhe QUARTOS 10. Sistema apresenta data de chegada como a data do dia 11. Sistema apresenta data de saída calculando a data de chegada acrescida dos dias de permanência 12. Recepção clica CONFIRMA ESTUDO DE CASO – SEQUENCIA PASSO 2: A partir da descrição de caso de uso, informar mensagens Representação de guarda ou de condição. Neste caso, só vai ler os quartos disponíveis. escolheQuarto() 13. Sistema <INCLUDE> “Alocar Quarto” 14. Sistema <INCLUDE> “Abrir conta corrente” 15. Sistema inclui informações de HOSPEDAGEM 16. Sistema encerra caso de uso ESTUDO DE CASO – SEQUENCIA PASSO 2: A partir da descrição de caso de uso, informar mensagens ESTUDO DE CASO – SEQUENCIA PASSO 2: A partir da descrição de caso de uso, informar mensagens escolheQuarto() ESTUDO DE CASO – SEQUENCIA PASSO 3: Incluir os métodos no Diagrama de Classe É um recorte do Diagrama de Sequência. Representa apenas as Entradas e as Saídas. Representa a interação apenas do sistema com o mundo externo. DIAGRAMA DE INTERAÇÃO DSS – DIAGRAMA DE SEQUÊNCIA DO SISTEMA Representa as entradas e saídas DIAGRAMA DE INTERAÇÃO DSS – DIAGRAMA DE SEQUÊNCIA DO SISTEMA escolheQuarto() DSS – DIAGRAMA DE SEQUÊNCIA DO SISTEMA Proposta Inicial deste Diagrama: Fazer para o sistema inteiro Problema: Vai poluir; Solução: Fazer um por Caso de Uso. Assim como o Diagrama de Sequência, o Diagrama de Colaboração também representa a interação entre os objetos. No entanto, não oferece uma visão linear e sequenciada. Fornece uma visão dos métodos, independentemente da ordem que está sendo representado. DIAGRAMA DE INTERAÇÃO DIAGRAMA DE COLABORAÇÃO Representa troca de mensagens sem sequencia. ESTUDO DE CASO DIAGRAMA DE COLABORAÇÃO Crie o Diagrama de Sequência para o Caso de Uso “Registrar Entrada de Veículo” do Estudo de Caso “Estacionamento Praça da Estácio” ESTUDO DE CASO: ESTACIONAMENTO PRAÇA DA ESTÁCIO Diariamente o estacionamento “Praça da Estácio” recebe vários clientes para aluguel de suas vagas e possui uma rotina destinada ao bom atendimento. Como Regra de Negócio, todos os clientes devem ser cadastrados. O gerente do estacionamento cadastra todas as vagas com sua devida localização e situação. No caso de algum impedimento, goteira e obra, por exemplo, as vagas são interditadas para uso. O veículo é identificado (Placa, cor modelo) na entrada e a locação da vaga é registrada pelo atendente, que emite um comprovante e cadastra o veículo que for recebido pela 1ª vez. A locação da vaga registra data e hora de entrada e o atendente e. Após registrar a locação, a referida vaga é bloqueada. A liberação é efetivada a partir da solicitação do cliente, que entrega ao atendente o seu comprovante de locação, realiza o pagamento e recebe uma autorização de saída. São registradas data e hora de saída. Após registrar a liberação, a vaga deverá ser liberada para um próximo cliente. O manobrista retira o carro da vaga e entrega-o ao cliente. ESTACIONAMENTO PRAÇA DA ESTÁCIO CASO DE USO “REGISTRAR ENTRADA DE VEÍCULO” PLACA: CLIENTE: VAGAS: Confirmar Cancelar INTERFACE PARA REGISTRAR A ENTRADA VEÍCULO DESCRIÇÃO DO CASO DE USO “REGISTRAR ENTRADA VEÍCULO” FLUXO PRINCIPAL: 1) Sistema apresenta tela para o registro da entrada do veículo no estacionamento. 2) Atendente Informa a placa do veículo que deseja estacionar. 3) Sistema obtém e exibe dados do veículo e do cliente proprietário do veículo. (FE) 4) Sistema obtém dados de VAGAS e disponibiliza lista de Vagas Liberadas para locação. 5) Atendente seleciona a vaga do estacionamento. 6) Atendente CONFIRMA a operação. (FA) 7) Sistema inclui “Alterar status VAGA” para “Bloqueada”. 8) Sistema Inclui “Emitir Comprovante de Entrada” 9) Sistema Registra a locação do veículo e o Caso De Uso termina. FLUXO ALTERNATIVO: 6: Usuário não confirma a operação a) O usuário decide cancelar a operação e o caso de uso é encerrado. FLUXO DE EXCEÇÃO: 3: Veículo não cadastrado a) Se o veículo não está cadastrado, então o sistema exibe a mensagem “Veículo não cadastrado”. Neste caso, o usuário deverá cadastrar o respectivo veículo para dar prosseguimento com a locação. b) Caso de Uso volta ao passo 2. DIAGRAMA DE SEQUÊNCIA: REGISTRAR ENTRADA VEÍCULO DIAGRAMA DE ESTADO Professor: Lázaro P. de Oliveira Curso: Sistemas de Informação DIAGRAMA DE ESTADO O Diagrama de Estado, na UML, é utilizado para apresentar os estados, a mudança de estado e o processo que faz mudar o estado de um Caso de Uso ou de uma Classe. O Diagrama de Estado mostra os estados admissíveis que os objetos de uma classe podem assumir e as transições permitidas entre pares de estado. Esta é mais uma técnica para validarmos o tratamento das restrições sistêmicasimpostas pelos requisitos. O Estado é um atributo da Classe DIAGRAMA DE ESTADO Simbologia Início Fim Simbologia Início Estado Fim Posição do objeto após a ocorrência da transição. DIAGRAMA DE ESTADO Simbologia Início Estado Fim Procedimento desenvolvido até que ocorra a transição. Atividade É o que estará acontecendo até que ocorra a transição DIAGRAMA DE ESTADO Simbologia Início Estado Ocorrência para mudança de estado. Atividade É o que estará ocorrendo até que ocorra a transição Transição Determina a mudança de um estado para o outro Fim DIAGRAMA DE ESTADO Estado Fim Fato ocorrido para provocar a transição Transição Dentro da Transição temos o Evento e a Guarda Início Evento (o que ocorreu para que o objeto mudasse de estado) Atividade É o que estará ocorrendo até que ocorra a transição Simbologia DIAGRAMA DE ESTADO Início Estado Fim Condição lógica. Transição guardada ocorre somente se a guarda for “verdade”. Guarda Para a transição ocorrer de fato, a guarda precisa ser satisfeita Evento (o que ocorreu para que o objeto mudasse de estado) Atividade É o que estará ocorrendo até que ocorra a transição Transição Dentro da Transição temos o Evento e a Guarda Simbologia DIAGRAMA DE ESTADO Início Estado Fim Procedimento responsável por alterar o status. Ação (procedimento responsável por realizar a transição de estado Atividade É o que estará ocorrendo até que ocorra a transição Transição Dentro da Transição temos o Evento e a Guarda Guarda Para a transição ocorrer de fato, a guarda precisa ser satisfeita Evento (o que ocorreu para que o objeto mudasse de estado) Simbologia DIAGRAMA DE ESTADO Simbologia – Auto transição Quando houver uma transição que retorna ao mesmo estado. DIAGRAMA DE ESTADO Simbologia – Super Estados Quando um conjunto de atividades define ao final o mesmo estado. Quando o objeto estiver em qualquer dos três estados (validando, aguardando ou Expedindo) poderá ser cancelado DIAGRAMA DE ESTADO Simbologia – Estados Concorrentes Quando um objeto de uma mesma classe pode ter mais de um estado ao mesmo tempo para que ao final tenha um só estado. PA G AM EN TO PE DI DO S O Estado só poderá se tornar “Entregue”, se antes estiverem “Expedindo” e “Autorizado” DIAGRAMA DE ESTADO Diagrama de Estado – Caso de Uso Importante para: • Identificar o atendimento às restrições; • Analisar a ordem das ocorrências das mudanças de estado; Para exemplificar podemos utilizar o Caso de Uso “Registrar Locação”. DIAGRAMA DE ESTADO Diagrama de Estado – Caso de Uso Imagine o estado do Caso de Uso a cada execução e restrição a ser seguida e dê início a construção do diagrama. DIAGRAMA DE ESTADO DIAGRAMA DE ESTADO Diagrama de Estado – Caso de Uso Aguardando Entrada Verificando cadastro AguardandoCadastro 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 Estado – Classe Não são todas as classes que passam por mudança de estado. DIAGRAMA DE ESTADO Diagrama de Estado – Classe Não são todas as classes que passarão por mudança de estado. No exemplo “Estacionamento Praça da Estacio” podemos observar que a classe VAGA possui mudança de estado e, portanto, podemos construir um diagrama para ela: Estados da VAGA: - Liberada - Bloqueada - Interditada DIAGRAMA DE ESTADO Diagrama de Estado – Classe Passos para construção: 1. Identifique os estados possíveis: Liberada; Bloqueada; Interditada. 2. Relacione as mudanças de/para; DIAGRAMA DE ESTADO Diagrama de Estado – Classe Evento Ação / Procedi mento DIAGRAMA DE ESTADO <Extend> Liberar vaga Interditar vaga Diagrama de Estado – Classe Supondo que fosse possível também o estado de CANCELADA !!!! Pode-se cancelar a partir do estado DISPONÍVEL ou INTERDITADA. Como fazer? DIAGRAMA DE ESTADO Diagrama de Estado – Classe ... Ligar os dois estados a um estado de CANCELADO ... DIAGRAMA DE ESTADO Interditar vaga Liberar vaga Agora que você inseriu o novo estado “Cancelada”, faça o mesmo criando uma super estado. DIAGRAMA DE ESTADO Como fazer? Diagrama de Estado – Classe ... Ou representa-se um super Estado... DIAGRAMA DE ESTADO Interditar vaga Liberar vaga reservado em aberto fechado EXERCÍCIO Com base na Classe “Hospedagem”, bem como no Caso de Uso “Hospedar Clente” (que está no próximo slide) construa o Diagrama de Estado DIAGRAMA DE CASOS DE USO (hospedar cliente) RESOLUÇÃO DO EXERCÍCIO (DIAGRAMA DE ESTADO) DIAGRAMA DE ATIVIDADES Professor: Lázaro P. de Oliveira Curso: Sistemas de Informação Início Atividade (Representa um método sobre uma classe ou um Caso de Uso) Tarefa que precisa ser feita. Representa um método sobre uma classe. DIAGRAMA DE ATIVIDADE Início Atividade Representa comportamento condicional que, a partir de uma única entrada, poderá gerar algumas saídas. Decisão (representa o comportamento condicional) DIAGRAMA DE ATIVIDADE DIAGRAMA DE ATIVIDADE Início Atividade Representa comportamento condicional que, a partir de várias entradas, poderá gerar apenas uma saída. Decisão Intercalação (usado para fechar a condição) DIAGRAMA DE ATIVIDADE Início Atividade Transições seguintes são efetuadas em paralelo independente da seqüência. Decisão Intercalação Separação Início Atividade Decisão Intercalação Separação Transição seguinte efetuada somente quando todos os estados nas transições de entrada tenham completado suas atividades. Junção DIAGRAMA DE ATIVIDADE Início Atividade Decisão Intercalação Separação Junção Fim DIAGRAMA DE ATIVIDADE EXEMPLO DE DIAGRAMA DE ATIVIDADE EXERCÍCIO: Monte o Diagrama de Atividades para representar o seguinte Diagrama de Casos de Uso
Compartilhar