·
Análise de Sistemas ·
Engenharia de Software
Envie sua pergunta para a IA e receba a resposta na hora

Prefere sua atividade resolvida por um tutor especialista?
- Receba resolvida até o seu prazo
- Converse com o tutor pelo chat
- Garantia de 7 dias contra erros
Recomendado para você
Texto de pré-visualização
Senac Modelagem de Sistemas de Informação Bacharelado em Sistemas de Informação Profª Claudia Bianchi Progetti claudiabprogettispsenacbrclaudiaprogettihotmailcom Aula 9 Diagrama de Classes Diagrama de Classes Seu principal objetivo é permitir a visualização das classes que vão compor o sistema seus atributos métodos e como essas classes se relacionam entre si O diagrama de classes é um dos mais importantes e mais utilizados da UML Diagrama de Classes A representação de uma classe é feita assim Nome da Classe Atributos Métodos ContaComum nroconta long dtabertura Date dtencerramento Date situação int senha int saldo double abrirConta int consultarConta int validarSenha int saldoConta double extratoConta string sacarValor int depositarValor int encerrarConta int EXEMPLO DE DIAGRAMA DE CLASSES Pessoa nompessoa String endpessoa String ceppessoa long telpessoa String rendapessoa double sitpessoa int Movimento PessoaFisica PessoaJuridica cpfpessoa long rgpessoa long cnpjpessoa long tipomov int dtmov Date hormov Time valmov double ContaComum nroconta long dtabertura Date dtencerramento Date 01 situação int senha int saldo double 0 ContaPoupança dtaniversario Date ContaEspecial limiteconta double 1 1 1 registra possui Diagrama de Classes Visibilidade no Diagrama de Classes Privado Somente a classe pode ver o valor do atributo Público Qualquer classe pode ver o valor do atributo Pacote Somente as classes do mesmo pacote podem ver o valor do atributo Protegido Somente a própria classe ou suas filhas por herança podem ver o valor do atributo Diagrama de Classes Métodos podem retornar um valor de um tipo e também podem receber valores como parâmetros cada um com um tipo O nome tipo de retorno parâmetros é a assinatura do método Diagrama de Classes Exemplo de representação de métodos em um Diagrama de Classes Não é preciso colocar o nome do parâmetro apenas o tipo A visibilidade também aparece como nos atributos O tipo de retorno aparece no final após os dois pontos nroconta long dtabertura Date dtencerramento Date situação int senha int saldo double ContaComum abrirContaint long consultarContalong int validarSenhaint int saldoConta double extratoContaDate Date string sacarValordouble int depositarValorlong double int encerrarConta int Diagrama de Classes Representação dos atributos e métodos dos exemplos anteriores em uma classe Java Diagrama de Classes Continuação Diagrama de Classes Adicionando Detalhes A antes dos atributos dtabertura e dtencerramento significa que os valores desses atributos sofrem algum tipo de cálculo A multiplicidade 01 depois de dtencerramento significa que uma conta pode ou não ter essa data nroconta long dtabertura Date dtencerramento Date 01 situação int 1 senha int saldo double 0 abrirContaint long consultarContalong int validarSenhaint int saldoConta double extratoContaDate Date string sacarValordouble int depositarValorlong double int encerrarConta int ContaComum Diagrama de Classes Relacionamentos ou Associações Descrevem um vínculo que permite a troca de informações e colaboração para execução de processos dentro do sistema São representadas por linhas que podem ter nomes informando o tipo de associação Podem ser Unárias Binárias Ternárias Agregação Composição GeneralizaçãoEspecialização Classes Associativas Dependência Associação Unária ou Reflexiva Ocorre quando existe um relacionamento de um objeto da classe com objetos da mesma classe Um funcionário pode ser chefe de nenhum ou vários outros funcionários Funcionário nome String chefia 0 Associação Binária É um relacionamento entre objetos de duas classes distintas Um sócio pode possuir zero ou vários dependentes Um dependente obrigatoriamente estará vinculado a um sócio implícito 11 Socio Dependente nomsocio String endsocio String telsocio String datsocio Date nomdep String datdep Date possui 0 Associação Ternária ou Nária São associações que conectam objetos de três o mais classes São representadas por um losango que recebe todas as ligações da associação Professor Turma Saladeaula Leciona Possui Utiliza 1 1 1 Agregação Por vezes as informações de um objeto todo precisam ser complementadas por informações contidas em outros objetos parte Para isso utilizase a Agregação É representada por um losango objetotodo Pessoa ContaComum nompessoa String endpessoa String ceppessoa long telpessoa String rendapessoa double sitpessoa int nroconta long dtabertura Date dtencerramento Date 01 situacao int 1 senha int saldo double 0 1 1 Composição É uma associação mais forte que a Agregação onde os objetosparte precisam estar associados a um único objetotodo e só podem ser destruídos por ele Nesse caso os artigos só podem ser inéditos ou seja estão vinculados a uma única edição RevistaCientífica Edicao Artigo 1 610 publica Contém titrev String issnrev long periodicidade String nroedi int voledi int datedi Date tiragemedi int titart String Generalização Especialização Objetiva representar as relações de herança Similar ao que foi visto no Diagrama de Casos de Uso ContaComum nroconta long dtabertura Date dtencerramento Date 01 situação int 1 senha int saldo double 0 ContaPoupança dtaniversario Date abrirContaint long consultarContalong int validarSenhaint int saldoConta double extratoContaDate Date string sacarValordouble int depositarValorlong double int encerrarConta int ContaEspecial limiteconta double abrirContaintdouble long sacarValordouble int jrosContadouble double rendaContaDate double double Classe Associativa Ocorrem em associações com multiplicidade muitos em ambos os lados Nesse caso há também uma informação importante na associação em si o papel Ator Filme Atua nomator String papel String titfilme String durfilme Time 1 1 Dependência Representa o grau de dependência de uma classe em relação a outra Nesse caso a placamãe depende da interface iMonitor provavelmente para seguir um padrão da indústria pois interfaces possuem só as assinaturas dos métodos Placamae Interface iMonitor Restrições São condições a serem validadas durante a implementação dos métodos de uma classe suas associações ou atributos São representadas por textos entre chaves Podem ser utilizadas para detalhar requisitos nãofuncionais Socio Locacao Um sócio só poderá realizar uma locação após ter devolvido a locação anterior titfilme String durfilme Time 1 Exemplo de restrição em Atributos nroconta long dtabertura Date dtencerramento Date 01 situação int 1 senha int saldo double 0 abrirContaint long consultarContalong int validarSenhaint int saldoConta double extratoContaDate Date string sacarValordouble int depositarValorlong double int encerrarConta int ContaComum As datas de abertura e encerramento devem ser tomadas do sistema quando da abertura e encerramento de uma conta respectivamente A senha deve ter 6 dígitos O saldo deve ser recalculado sempre que houver um depósito ou saque Exercício 1 Desenvolva o diagrama de classes para um sistema de controle de cinema sabendo que Um cinema pode ter muitas salas sendo necessário portanto registrar informações a respeito de cada sala como sua capacidade ou seja o número de assentos disponíveis O cinema apresenta muitos filmes Um filme tem informações como título e duração Assim sempre que um filme for apresentado devese registrálo também Um filme tem um único gênero mas um gênero pode se referir a muitos filmes Um filme pode ter muitos atores atuando nele e um ator pode atuar em muitos filmes Em cada filme um ator interpretará um ou mais papéis diferentes Por uma questão de propaganda é útil anunciar os principais atores do filme e que papéis eles interpretam Um mesmo filme pode ser apresentado em diferentes salas e em horários Cada apresentação em uma determinada sala e horários é chamada Sessão Um filme sendo apresentado em sessão tem um conjunto máximo de ingressos determinado pela capacidade da sala Os clientes do cinema podem comprar ou não ingressos para assistir uma sessão O funcionário deve intermediar a compra do ingresso Um ingresso deve conter informações como o tipo do ingresso meio ingresso ou ingresso inteiro Além disso um cliente só pode comprar ingressos para sessões não encerradas Exercício 2 Desenvolva o diagrama de classes para um sistema de controle de clube social de acordo com os seguintes requisitos O clube tem muitos sócios e precisa manter informações referentes a eles como o número de seu cartão de sócio nome endereço telefone e email Um sócio pode ter nenhum ou muitos dependentes mas um dependente está associado a somente um sócio O clube precisa manter informações sobre os dependentes de cada sócio como o número de seu cartão nome parentesco e email Um sócio deve pertencer a uma única categoria No entanto pode haver muitos sócios pertencentes a uma determinada categoria Um sócio deve pagar mensalidades para poder frequentar o clube Assim enquanto permanecer sócio do clube um sócio pode pagar muitas mensalidades mas uma mensalidade pertence a somente um sócio Eventualmente um sócio pode estar adimplente Nesse caso serão cobrados juros sobre o valor da mensalidade relativos ao atraso do pagamento É também possível que um sócio nunca tenha pago suas mensalidades As informações pertinentes a cada mensalidade são a data de pagamento o valor a data em que foi efetivamente paga os possíveis juros aplicados o valor efetivamente pago e se está quitada ou não Exercício 3 Desenvolva o diagrama de classes para um sistema de controle de hotelaria de acordo com os seguintes fatos O hotel aluga quartos de diversas categorias simples duplo casal luxo etc O valor dos quartos varia de acordo com a categoria Cada hóspede precisa ser identificado no momento em que ocupa um quarto mesmo que este seja pago por outro hóspede Caso seu cadastro ainda não exista ou seus dados tenham mudado é necessário cadastrálo Um hóspede pode alugar muitos quartos em um mesmo momento ou em momentos diferentes e um quarto pode ser alugado por muitos hóspedes em momentos diferentes naturalmente Dependendo da categoria do quarto ele terá uma determinada quantidade de itens tanto no quarto propriamente dito como no frigobar Um hóspede pode consumir itens do frigobar Cada item tem valores e quantidades diferentes Um hóspede pode solicitar serviços do hotel Cada quarto gera diárias sempre ao meiodia Uma diária deve ser paga exclusivamente por um determinado hóspede mas um hóspede pode pagar muitas diárias É necessário saber qual funcionário foi responsável pela locação eou encerramento de cada locação de um quarto Bibliografia da aula GUEDES GTA UML2 Uma Abordagem Prática 3ª Ed Novatec 2018
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
Texto de pré-visualização
Senac Modelagem de Sistemas de Informação Bacharelado em Sistemas de Informação Profª Claudia Bianchi Progetti claudiabprogettispsenacbrclaudiaprogettihotmailcom Aula 9 Diagrama de Classes Diagrama de Classes Seu principal objetivo é permitir a visualização das classes que vão compor o sistema seus atributos métodos e como essas classes se relacionam entre si O diagrama de classes é um dos mais importantes e mais utilizados da UML Diagrama de Classes A representação de uma classe é feita assim Nome da Classe Atributos Métodos ContaComum nroconta long dtabertura Date dtencerramento Date situação int senha int saldo double abrirConta int consultarConta int validarSenha int saldoConta double extratoConta string sacarValor int depositarValor int encerrarConta int EXEMPLO DE DIAGRAMA DE CLASSES Pessoa nompessoa String endpessoa String ceppessoa long telpessoa String rendapessoa double sitpessoa int Movimento PessoaFisica PessoaJuridica cpfpessoa long rgpessoa long cnpjpessoa long tipomov int dtmov Date hormov Time valmov double ContaComum nroconta long dtabertura Date dtencerramento Date 01 situação int senha int saldo double 0 ContaPoupança dtaniversario Date ContaEspecial limiteconta double 1 1 1 registra possui Diagrama de Classes Visibilidade no Diagrama de Classes Privado Somente a classe pode ver o valor do atributo Público Qualquer classe pode ver o valor do atributo Pacote Somente as classes do mesmo pacote podem ver o valor do atributo Protegido Somente a própria classe ou suas filhas por herança podem ver o valor do atributo Diagrama de Classes Métodos podem retornar um valor de um tipo e também podem receber valores como parâmetros cada um com um tipo O nome tipo de retorno parâmetros é a assinatura do método Diagrama de Classes Exemplo de representação de métodos em um Diagrama de Classes Não é preciso colocar o nome do parâmetro apenas o tipo A visibilidade também aparece como nos atributos O tipo de retorno aparece no final após os dois pontos nroconta long dtabertura Date dtencerramento Date situação int senha int saldo double ContaComum abrirContaint long consultarContalong int validarSenhaint int saldoConta double extratoContaDate Date string sacarValordouble int depositarValorlong double int encerrarConta int Diagrama de Classes Representação dos atributos e métodos dos exemplos anteriores em uma classe Java Diagrama de Classes Continuação Diagrama de Classes Adicionando Detalhes A antes dos atributos dtabertura e dtencerramento significa que os valores desses atributos sofrem algum tipo de cálculo A multiplicidade 01 depois de dtencerramento significa que uma conta pode ou não ter essa data nroconta long dtabertura Date dtencerramento Date 01 situação int 1 senha int saldo double 0 abrirContaint long consultarContalong int validarSenhaint int saldoConta double extratoContaDate Date string sacarValordouble int depositarValorlong double int encerrarConta int ContaComum Diagrama de Classes Relacionamentos ou Associações Descrevem um vínculo que permite a troca de informações e colaboração para execução de processos dentro do sistema São representadas por linhas que podem ter nomes informando o tipo de associação Podem ser Unárias Binárias Ternárias Agregação Composição GeneralizaçãoEspecialização Classes Associativas Dependência Associação Unária ou Reflexiva Ocorre quando existe um relacionamento de um objeto da classe com objetos da mesma classe Um funcionário pode ser chefe de nenhum ou vários outros funcionários Funcionário nome String chefia 0 Associação Binária É um relacionamento entre objetos de duas classes distintas Um sócio pode possuir zero ou vários dependentes Um dependente obrigatoriamente estará vinculado a um sócio implícito 11 Socio Dependente nomsocio String endsocio String telsocio String datsocio Date nomdep String datdep Date possui 0 Associação Ternária ou Nária São associações que conectam objetos de três o mais classes São representadas por um losango que recebe todas as ligações da associação Professor Turma Saladeaula Leciona Possui Utiliza 1 1 1 Agregação Por vezes as informações de um objeto todo precisam ser complementadas por informações contidas em outros objetos parte Para isso utilizase a Agregação É representada por um losango objetotodo Pessoa ContaComum nompessoa String endpessoa String ceppessoa long telpessoa String rendapessoa double sitpessoa int nroconta long dtabertura Date dtencerramento Date 01 situacao int 1 senha int saldo double 0 1 1 Composição É uma associação mais forte que a Agregação onde os objetosparte precisam estar associados a um único objetotodo e só podem ser destruídos por ele Nesse caso os artigos só podem ser inéditos ou seja estão vinculados a uma única edição RevistaCientífica Edicao Artigo 1 610 publica Contém titrev String issnrev long periodicidade String nroedi int voledi int datedi Date tiragemedi int titart String Generalização Especialização Objetiva representar as relações de herança Similar ao que foi visto no Diagrama de Casos de Uso ContaComum nroconta long dtabertura Date dtencerramento Date 01 situação int 1 senha int saldo double 0 ContaPoupança dtaniversario Date abrirContaint long consultarContalong int validarSenhaint int saldoConta double extratoContaDate Date string sacarValordouble int depositarValorlong double int encerrarConta int ContaEspecial limiteconta double abrirContaintdouble long sacarValordouble int jrosContadouble double rendaContaDate double double Classe Associativa Ocorrem em associações com multiplicidade muitos em ambos os lados Nesse caso há também uma informação importante na associação em si o papel Ator Filme Atua nomator String papel String titfilme String durfilme Time 1 1 Dependência Representa o grau de dependência de uma classe em relação a outra Nesse caso a placamãe depende da interface iMonitor provavelmente para seguir um padrão da indústria pois interfaces possuem só as assinaturas dos métodos Placamae Interface iMonitor Restrições São condições a serem validadas durante a implementação dos métodos de uma classe suas associações ou atributos São representadas por textos entre chaves Podem ser utilizadas para detalhar requisitos nãofuncionais Socio Locacao Um sócio só poderá realizar uma locação após ter devolvido a locação anterior titfilme String durfilme Time 1 Exemplo de restrição em Atributos nroconta long dtabertura Date dtencerramento Date 01 situação int 1 senha int saldo double 0 abrirContaint long consultarContalong int validarSenhaint int saldoConta double extratoContaDate Date string sacarValordouble int depositarValorlong double int encerrarConta int ContaComum As datas de abertura e encerramento devem ser tomadas do sistema quando da abertura e encerramento de uma conta respectivamente A senha deve ter 6 dígitos O saldo deve ser recalculado sempre que houver um depósito ou saque Exercício 1 Desenvolva o diagrama de classes para um sistema de controle de cinema sabendo que Um cinema pode ter muitas salas sendo necessário portanto registrar informações a respeito de cada sala como sua capacidade ou seja o número de assentos disponíveis O cinema apresenta muitos filmes Um filme tem informações como título e duração Assim sempre que um filme for apresentado devese registrálo também Um filme tem um único gênero mas um gênero pode se referir a muitos filmes Um filme pode ter muitos atores atuando nele e um ator pode atuar em muitos filmes Em cada filme um ator interpretará um ou mais papéis diferentes Por uma questão de propaganda é útil anunciar os principais atores do filme e que papéis eles interpretam Um mesmo filme pode ser apresentado em diferentes salas e em horários Cada apresentação em uma determinada sala e horários é chamada Sessão Um filme sendo apresentado em sessão tem um conjunto máximo de ingressos determinado pela capacidade da sala Os clientes do cinema podem comprar ou não ingressos para assistir uma sessão O funcionário deve intermediar a compra do ingresso Um ingresso deve conter informações como o tipo do ingresso meio ingresso ou ingresso inteiro Além disso um cliente só pode comprar ingressos para sessões não encerradas Exercício 2 Desenvolva o diagrama de classes para um sistema de controle de clube social de acordo com os seguintes requisitos O clube tem muitos sócios e precisa manter informações referentes a eles como o número de seu cartão de sócio nome endereço telefone e email Um sócio pode ter nenhum ou muitos dependentes mas um dependente está associado a somente um sócio O clube precisa manter informações sobre os dependentes de cada sócio como o número de seu cartão nome parentesco e email Um sócio deve pertencer a uma única categoria No entanto pode haver muitos sócios pertencentes a uma determinada categoria Um sócio deve pagar mensalidades para poder frequentar o clube Assim enquanto permanecer sócio do clube um sócio pode pagar muitas mensalidades mas uma mensalidade pertence a somente um sócio Eventualmente um sócio pode estar adimplente Nesse caso serão cobrados juros sobre o valor da mensalidade relativos ao atraso do pagamento É também possível que um sócio nunca tenha pago suas mensalidades As informações pertinentes a cada mensalidade são a data de pagamento o valor a data em que foi efetivamente paga os possíveis juros aplicados o valor efetivamente pago e se está quitada ou não Exercício 3 Desenvolva o diagrama de classes para um sistema de controle de hotelaria de acordo com os seguintes fatos O hotel aluga quartos de diversas categorias simples duplo casal luxo etc O valor dos quartos varia de acordo com a categoria Cada hóspede precisa ser identificado no momento em que ocupa um quarto mesmo que este seja pago por outro hóspede Caso seu cadastro ainda não exista ou seus dados tenham mudado é necessário cadastrálo Um hóspede pode alugar muitos quartos em um mesmo momento ou em momentos diferentes e um quarto pode ser alugado por muitos hóspedes em momentos diferentes naturalmente Dependendo da categoria do quarto ele terá uma determinada quantidade de itens tanto no quarto propriamente dito como no frigobar Um hóspede pode consumir itens do frigobar Cada item tem valores e quantidades diferentes Um hóspede pode solicitar serviços do hotel Cada quarto gera diárias sempre ao meiodia Uma diária deve ser paga exclusivamente por um determinado hóspede mas um hóspede pode pagar muitas diárias É necessário saber qual funcionário foi responsável pela locação eou encerramento de cada locação de um quarto Bibliografia da aula GUEDES GTA UML2 Uma Abordagem Prática 3ª Ed Novatec 2018