Baixe o app para aproveitar ainda mais
Prévia do material em texto
Gestão de Hotel da Estácio NÃO CORRIGIDO 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. Exercício DIAGRAMA DE CASOS DE USO (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. Biblioteca 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). Exercício Sistema para controle de uma Biblioteca SOLUÇÃO (Biblioteca) SOLUÇÃO Com Tratamento da Situação do Livro(Biblioteca) Barrichelos Kart NÃO CORRIGIDO 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. Exercício Diagrama de casos de uso (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. Exercício Diagrama de casos de uso (BARRICHELO’S KART) 6- 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..) 19 MULTIPLICIDADE 19 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 haverum cliente que não esteja associado a pedido algum. Um pedido está associado a um, e somente um, cliente. 1 1 9 0..* Cliente Pedido CONECTIVIDADE 1 9 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..* 1 9 EXEMPLO (CONECTIVIDADE) 1 0..1 Empregado Departamento 0..* 1 Empregado Departamento 0..* 1..* Empregado Projeto Um paraum Um paramuitos Muitos para muitos 2 0 NOME DE ASSOCIAÇÃO, DIREÇÃO DE LEITURA E PAPÉIS 2 0 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 0 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) 21 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 1 É 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 1 • É 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 de seu “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 2 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 2 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 2 É 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 2 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 umautor, 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 Alterar o flag se possui ou não elevador do 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 Loja de Materiais para Construção O proprietário de uma Loja de Material de 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 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 Barrichelo’s Kart e Estacionamento Praça da Estácio 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; DIAGRAMA DE CASO DE USO “BARRICHELO’S KART” DIAGRAMA DE CASO DE USO “ESTACIONAMENTO PRAÇA DA ESTÁCIO”
Compartilhar