Baixe o app para aproveitar ainda mais
Prévia do material em texto
Engenharia de Software – UML(Classes) Prof. Washington Almeida, MSC, ISF 27002 Diagrama de classes • É uma representação da estrutura e relações das classes que servem de modelo para objetos. • É uma modelagem muito útil para o desenvolvimento de sistemas, pois define todas as classes que o sistema necessita possuir e é a base para a construção dos diagramas de comunicação, sequência e estados. 3 Conceitos • Classe: Elemento abstrato que representa um conjunto de objetos. – A classe contém a especificação do objeto; suas características: atributos (características) e métodos (ações / comportamentos). • Atributo: Define características da classe como: – Visibilidade: • Pública, representada pelo símbolo: +, onde outras classes podem ter acesso ao atributo; • Privada, representada pelo símbolo: -, o atributo somente é acessado diretamente pela própria classe e; • Protegida, representada pelo símbolo: #, ou • Pacote, representada pelo símbolo: ~, que é acessado pelo relacionamento da classe com a classe externa. – Nome: Identificação do atributo. – Tipo de dados: Tipo de dado do atributo. – Multiplicidade: Relacionamentos. – Valor inicial: Depende da linguagem de programação, valor opcional. – Propriedade: Características do elemento, opcional. 4 Conceitos • Operação: Função requerida a um objeto abstrato. – Nome, Visibilidade e Parâmetros. • Relacionamentos – Nome: Nome da associação. – Multiplicidade. – Navegação: De onde vêm as informações da classe e para onde vão. 5 Estrutura 6 Representação 7 Relacionamento entre Classes • Os relacionamentos ligam classes entre si, criando relações lógicas. • Associação : São relacionamentos estruturais entre instâncias e especificam que objetos de uma classe estão ligados a objetos de outras classes. – Associações : Simples, Agregação e Composição – Generalização (herança). – Dependência. – Realização. • Multiplicidade 8 Tipos Significa 0..1 Zero ou uma instância. A notação n..m indica n para m instâncias. 0..* ou * Não existe limite para o número de instâncias. 1 Exatamente uma instância. 1..* Ao menos uma instância. Associação Simples • Indica que dois objetos de um elemento estão ligados a objetos de outro elemento. • A navegabilidade pode ser unidirecional ou bidirecional. 9 Agregação • São relacionamentos estruturais entre instâncias e especificam que objetos de uma classe estão ligados a objetos de outras classes. • A associação pode existir entre classes ou entre objetos. • Uma associação entre a classe Gaveta e a classe Meia. Onde a Gaveta poderá ter várias Meias. • Esta relação significa que as instâncias das classes são conectadas, seja fisicamente ou conceitualmente. • Uma Gaveta pode conter Meias, mas a Gaveta não é feita de Meias. Ou seja, mesmo sem Meias a Gaveta ainda existirá. 10 Quando um objeto possui outros objetos, ou seja ele não depende desses objetos para existir. Composição • A composição, diferentemente da agregação, é um relacionamento de contenção. Um objeto (container) CONTÉM outros objetos (elementos). • Esses elementos que estão contidos dentro de outro objeto dependem dele para existir. Eles são criados e destruídos de acordo com o seu container. • A composição, na UML, é representada por uma linha com um losango preenchido do lado da classe dona do relacionamento. • Um Computador é formado por seus componentes, Sem todas essas peças não existe nosso Computador de acordo com a representação do diagrama. • Logo, no nosso diagrama o Computador é um conceito, pois concretamente ele é composto por um conjunto diferentes componentes. 11 Quando um objeto é formado por outros objetos. Ou seja, suas partes o compõem, sem elas o objeto não existe. Dependência • São relacionamentos de utilização no qual uma mudança na especificação de um elemento pode alterar a especificação do elemento dependente. • A dependência entre classes indica que os objetos de uma classe usam serviços dos objetos de outra classe. 12 Realização 13 Relacionamento no qual um item especifica um contrato cujo cumprimento é realizado por outro item. Entre interfaces e as classes ou componentes que as realizam. Representações 14 Questão 1 Ano: 2019 Banca: FCC Órgão: SEMEF Manaus - AM Prova: FCC - 2019 - SEMEF Manaus - AM - Técnico de Tecnologia da Informação da Fazenda Municipal Um técnico deve, em um diagrama de classes da UML 2.0, utilizar a notação para declarar um atributo denominado 'produto', de uma classe, podendo tal atributo conter de 2 a 6 valores. Dessa forma, a maneira correta de declarar esse atributo é: a) produto [2 // 6] b) produto [2 .. 6] c) produto [2/3/4/5/6] d) produto [2 ⇿ 6] e) produto [2 until 6] 15 Justificativa: Conforme demonstrado a notação correta é a utilizada na letra B. https://www.qconcursos.com/questoes-de-concursos/bancas/fcc https://www.qconcursos.com/questoes-de-concursos/institutos/semef-manaus-am https://www.qconcursos.com/questoes-de-concursos/provas/fcc-2019-semef-manaus-am-tecnico-de-tecnologia-da-informacao-da-fazenda-municipal Questão 2 Ano: 2018 Banca: CESPE Órgão: MPE-PI Prova: CESPE - 2018 - MPE-PI - Analista Ministerial - Tecnologia da Informação Em relação a UML, julgue o próximo item: Um diagrama de classes UML de um sistema a ser desenvolvido em Java representa conjuntos de objetos que compartilham atributos, operações, relacionamentos e semântica. Certo Errado 16 Justificativa: Usados com maior frequência na modelagem de sistema orientados a objetos. Mostra um conjunto de classes, interfaces e colaborações e seus relacionamentos. Faz a modelagem da visão estática do projeto de um sistema, a modelagem de colaboração ou modelagem de esquema. Relacionamentos de dependência, generalização e associação. https://www.qconcursos.com/questoes-de-concursos/bancas/cespe https://www.qconcursos.com/questoes-de-concursos/institutos/mpe-pi https://www.qconcursos.com/questoes-de-concursos/provas/cespe-2018-mpe-pi-analista-ministerial-tecnologia-da-informacao Gabarito 17 Questão Resposta 1 LETRA B 2 CERTO 18
Compartilhar