Baixe o app para aproveitar ainda mais
Prévia do material em texto
Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES DISCIPLINA APOO PROF. CLÁUDIO SANTOS CLASSES e OBJETOS Modelagem da Estrutura dos Sistemas Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Modelagem da Estrutura dos Sistemas Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Pilares da Orientação a Objetos • A orientação a objetos se sustenta sobre três conceitos – Encapsulamento – Herança – Polimorfismo OO Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos – Polimorfismo Polimorfismo Encapsulamento Herança Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Encapsulamento • O encapsulamento é a propriedade de esconder detalhes de uma implementação através de uma interface visível e bem definida. • Vantagens do encapsulamento – os detalhes podem ser alterados, sem afetar outras Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos – os detalhes podem ser alterados, sem afetar outras partes do sistema, que conhecem apenas a interface visível. – o encapsulamento torna os programas mais legíveis, mais fáceis de compreender e alterar. – junto com a abstração, o encapsulamento também é um mecanismo de controle de complexidade Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Caixas-Pretas • Um sistema construído com base no princípio do encapsulamento será composto de caixas-pretas – As caixas-pretas escondem os detalhes de sua implementação – As caixas-pretas oferecem serviços através de sua interface – Os serviços são a interface visível e bem definida Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Objetos • Um objeto é uma representação computacional de algum elemento ou processo do mundo real – Um professor – Um automóvel Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos – Um automóvel – Uma cadeira – Uma venda – Um extrato bancário – Uma taxa de juros Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Objetos & Encapsulamento • Um objeto é a implementação do encapsulamento – Cada objeto representa uma caixa-preta do sistema Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos • Um objeto é composto por – Características – Comportamento – Estado – Identidade Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Características • São as informações armazenadas sobre o objeto. • Também são chamadas de atributos • Exemplos: (objeto Automóvel) – Modelo Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos – Modelo – Placa – Ano de fabricação – Cor – Tipo de combustível Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Comportamento • São as operações que podem ser realizadas sobre o objeto ou que o objeto realiza no sistema • Exemplos: (objeto Automóvel) – Andar – Parar Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos – Parar – Acelerar – Frear – Estacionar – Abastecer Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Comportamento • Representado por rotinas associadas ao objeto • Estas rotinas são chamadas de métodos • Os métodos são responsáveis por manipular os Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos • Os métodos são responsáveis por manipular os atributos do objeto • Os atributos somente podem ser manipulados pelos métodos Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Objetos & Encapsulamento • Detalhes de implementação escondidos por interface visível e bem definida – O objeto representa o encapsulamento – Os atributos representam os detalhes – Os métodos representam a interface Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos – Os métodos representam a interface • O objeto funciona como uma cerca – Os portões são os métodos – Somente através dos portões se pode acessar o interior. Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Objetos & Encapsulamento • Objeto Automóvel: ANDAR PARAR MODELO PLACA ANO DE FABRICAÇÃO Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos PARAR MUDAR DE DIREÇÃO ABASTECER ANO DE FABRICAÇÃO TIPO DE COMBUSTÍVEL Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Visão • Um objeto representa uma visão de uma solução de um problema – Os atributos e métodos dependem da visão utilizada • Exemplo (objeto Automóvel) – Suas características dependem do tipo da aplicação Exemplo 1: sistema de controle de revenda Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos • Exemplo 1: sistema de controle de revenda automotiva • Exemplo 2: sistema de oficina mecânica – Ambos os sistemas utilizam automóveis, mas as informações relevantes dependem do tipo do sistema Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Visão • Exemplo 1 - características relevantes • Modelo • Cor • Ano de fabricação • Consumo de combustível Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos • Exemplo 2 - características relevantes • Modelo • Ano de fabricação • Número de cilindros • Potência do motor • Número de quilômetros rodados Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Identidade • Cada objeto possui uma identidade única no sistema, através do qual é reconhecido em suas operações. • A identidade do objeto permite sua distinção entre um conjunto de objetos com as mesmas características e comportamento Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos características e comportamento • Exemplo: (objeto Automóvel) – Fiesta vinho, 2009, placa JHK9102 – Civic grafite, 2010, placa LIE1298 Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Representação • Em UML, objetos são representados por retângulos, onde a identidade do objeto aparece sublinhada Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Fiesta vinho, 2009, placa JHK9102 Civic grafite, 2010, placa LIE1298 Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Classes • Uma classe é a descrição de um conjunto de objetos com as mesmas características, comportamento e relações com outros objetos. • A classe funciona como uma fábrica de objetos – A classe é responsável pela criação de objetos – Cada objeto possui uma única classe Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos – Cada objeto possui uma única classe – A classe determina os atributos e métodos do objeto – Os objetos são chamados de instâncias da classe Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Diferença entre Classe e Objeto • Similar a diferença de variável para tipo – Toda variável possui um tipo – Diversas variáveis podem ser declaradas com o mesmo tipo – O tipo determina as operações válidas Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos – O tipo determina as operações válidas sobre uma variável – O tipo define o intervalo de valores que esta pode assumir – Entretanto, cada variável armazena um valor diferente. Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Diferença entre Classe e Objeto • Classe – Define os atributos – Define os métodos • Objeto Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos • Objeto – Possui valores para os atributos – Acessa os métodos definidos na classe Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Atributos • Objetos distintos podem possuir valores diferentes paraseus atributos, mas todos os objetos da mesma classe possuem os mesmos atributos Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Representação • Em UML, uma classe é representada por um retângulo com três divisões – Nome da classe – Atributos –Métodos Nome Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos –Métodos Nome Atributos Métodos Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Descobrindo Classes • Descobrir as classes de um sistema é a parte mais complexa do desenvolvimento orientado a objetos • Desenvolvimento incremental – Classes são descobertas no início de cada iteração Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos • Não existem regras, somente guias – Análise de descrição do sistema – Modelo MVC -Model View Controller Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Modelo MVC • As classes são divididas em três grupos: – Modelo: classes pertencentes ao domínio do sistema – Visão: classes para edição e apresentação de informação – Controle: determinam a sequência de comportamento para cada ação prevista no Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos comportamento para cada ação prevista no sistema • Descoberta – Classes de modelo são descobertas durante a análise – Classes de visão e controle são descobertas durante o projeto Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Classes de Modelo • Representam entidades ou processos do mundo real – Hóspede – Quarto de Hotel – Serviço • Estas classes podem ser identificadas nas descrições dos fluxos dos use cases Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos dos fluxos dos use cases – Crie uma lista com os substantivos presentes nas descrições – Filtre a lista, removendo substantivos que não pertençam ao domínio do sistema, substantivos redundantes e substantivos que descrevam características das classes Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Classes de Visão • Classes de interface – Tratam a comunicação entre o sistema e os elementos externos ao sistema – Essas classes formam a interface com o usuário e dependem da plataforma que será utilizada no desenvolvimento Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos desenvolvimento • Descobertas pelas interações entre use cases e atores – Cada interação entre um use case e um ator deve conter uma classe de visão Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Classes de Controle • Protocolo de Interação – Encadeiam o comportamento de diversas classes, executando um use case – As classes de controle não sabem como realizar os detalhes de um use case, mas sabem encadear o comportamento de diversas classes para que o Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos comportamento de diversas classes para que o use case seja realizado • Descobertas pelas interações entre use cases e atores – Inicialmente, definimos uma classe de controle para cada interação entre um use case e um ator Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Estereótipos e Classes Estereótipos podem ser utilizados para: • determinar tipos de classes • Exemplos: – Classes de modelo <<modelo>> – Classes de visão <<visão>> Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos – Classes de visão <<visão>> – Classes de controle <<controle>> • O estereótipo aparece no primeiro compartimento da classe, acima de seu nome Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Na UML, cada restrição é escrita em uma linguagem específica, embora também possa ser escrita em linguagem natural, tal como um comentário. Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Exemplo de generalização/especificação com restrição {disjunção,incompleto} Animal Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Mamífero Ave Peixe Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Normalmente, toda superclasse se comporta como classe abstrata pois seu instanciamento é feito de maneira especializada nas suas subclasses. Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES {disjunção,incompleto} Animal {disjunção,incompleto} Animal Crocodilo Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Mamífero Ave Peixe Mamífero Ave Peixe Cão Águia Tubarão Réptil Cão Águia Tubarão Crocodilo Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Neste exemplo, o objeto “Crocodilo” foi armazenado como instância temporária na classe [Animal] por não haver uma subclasse adequada às suas características. Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Se as subclasses não são de disjunção, deve-se usar a restrição {sobreposição}. Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Herança múltipla {sobreposição, incompleto} Veículo Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Veículo terrestre Veículo aquático Veículo anfíbio Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Para ser possível a sobreposição, é necessária a criação da subclasse [Veículo anfíbio]. Em herança múltipla, ocorrem múltiplas superclasses para uma mesma subclasse sendo que o instanciamento é feito nesta - as superclasses irão se comportar como classes abstratas somente para o Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos irão se comportar como classes abstratas somente para o objeto instanciado na subclasse de herança múltipla, permanecendo concretas para instâncias regulares. Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Restrição Significado Sobreposta Posteriormente, podem ser criadas subclasses que herdem de mais de um subclasse (herança múltipla). Disjunta Quaisquer subclasses criadas posteriormente poderão herdar de somente uma subclasse. Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Disjunta poderão herdar de somente uma subclasse. Completa Todas as subclasses possíveis foram enumeradas na hierarquia. Incompleta Nem todas as subclasses foram enumeradas na hierarquia. Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES {sobreposição, incompleto} Veículo Ex.: Porsche Ex.:Jet ski Superclasse composta abstrata na visão da subclasse [veículo anfíbio] Superclasse abstrata Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Veículo terrestre Veículo aquático Veículo anfíbio Ex..: Tanque urutu Ex.: Porsche Ex.:Jet ski Subclasses concretas Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Podem ser aplicadas outras restrições a conjuntos de linhas de generalização. A restrição {completo} indica que a generalização é completa e novas subclasses não serão adicionadas. Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Herança É o mecanismo de reutilização de atributos e operações definidos em classes gerais por classes mais específicas. Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. CláudioSantos Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Provavelmente, a herança é um dos aspectos mais interessantes da modelagem de objetos, pois provê um meio para se construir componentes supostamente reutilizáveis representando uma expressão de similaridade para simplificar a definição de classes com características Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos para simplificar a definição de classes com características semelhantes. Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Redefinição de atributos e operações na herança Superclasse Veículo terrestre Operações redefinidas pela subclasse Partida ( ) Parada ( ) Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos subclasses Automóvel Caminhão {disjunção} Partida ( ) Parada ( ) Partida ( ) Parada ( ) Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Na hierarquia de classes, se uma subclasse herda atributos e operações de mais superclasses, temos a ocorrência de herança múltipla, se herda características de apenas uma superclasse temos herança simples. Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Agregação versus generalização Pedido Árvore Agregação : Pedido, item é parte-de (ou atributo-de) Pedido Generalização : Pinus é tipo-de Árvore Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Como regra geral, quando um domínio sugere que um objeto é tipo-de com outro, a herança provavelmente é uma boa candidata ao relacionamento. Mas se é mais intuitivo usar a expressão parte-de (ou atributo-de), então o relacionamento de agregação é provavelmente a escolha melhor. E se um objeto não é tipo-de nem tampouco parte-de (ou atributo-de) outro, então freqüentemente uma associação etiquetada adequadamente será a melhor escolha. Pedido, item Pinus Pedido Mangueira Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Equipe Atleta Uma agregação é utilizada para representar conexões entre objetos que guardam uma relação todo-parte entre si. Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Se uma equipe for extinta o atleta pode continuar como membro em uma outra equipe. Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Automóvel Motor Roda A composição é uma forma mais forte de agregação. Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Roda Motor e rodas fazem parte de um determinado automóvel, se o automóvel for destruído (no contexto da OO) motor e rodas também o serão. Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Restrição Uma restrição é um relacionamento semântico entre elementos de modelo que especifica condições e proposições que devem ser mantidas como verdadeiras, caso contrário o sistema descrito pelo modelo é nulo, com Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos caso contrário o sistema descrito pelo modelo é nulo, com conseqüências que estão fora do escopo da UML. Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Restrição Grupo de cidadãos idosos Pessoa{pessoa.idade>60} 0..1 0..* Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos No exemplo acima, a restrição é definida no sentido de limitar a possibilidade de associação de [Pessoa] a [Grupo de cidadãos idosos] através da especificação {Pessoa.idade>60}. Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Por ser um mecanismo de extensibilidade da UML, certos tipos de restrições, como é o caso da restrição {ou} em associações, já são predefinidos, outras restrições podem ser definidas normalmente pelos usuários em palavras cuja sintaxe, consistência e interpretação passam Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos palavras cuja sintaxe, consistência e interpretação passam a ser de responsabilidade da ferramenta de modelagem em uso. Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Indivíduo 0..* Pertence 0..1 Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Conta Corrente Organização {ou} 0..* Pertence 0..1 Restrição Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Apesar da UML não prescrever uma linguagem na qual a restrição deva ser escrita, essa é sempre apresentada como uma seqüência de texto entre chaves { } no modelo estrutural. Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Restrição {Se nível de crédito for insuficiente então condição de pagamento deve ser à vista} Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos 1 0..* Faz Para dois símbolos gráficos tais como duas classes ou duas associações, a restrição é desenhada como uma seta tracejada de um elemento para o outro etiquetado na seqüência de restrição. A direção da seta é informação pertinente dentro da restrição. Cliente Pedido Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Participante * * {Subconjunto} ProjetoFuncionário Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos {Subconjunto} 1 *Gerente de Projeto ProjetoFuncionário Restrição Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Imutabilidade é uma restrição normalmente aplicada a um atributo, um papel ou uma classe (usa-se a etiqueta {imutável}) para indicar que um valor não pode mudar durante o tempo de vida de seu objeto fonte. Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos durante o tempo de vida de seu objeto fonte. Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES As seguintes restrições são predefinidas na UML Restrição Descrição Aplica-se Associação {Associação} é uma restrição aplicada a um fim de vínculo e especifica que a instância correspondente é visível através da associação Fim de vínculo Auto {Auto} (self) é uma restrição aplicada a um conjunto de generalizações e especifica que todos os subtipos foram especificados (embora alguns possam ser suprimidos) e que não são permitidos subtipos adicionais Fim de vínculo Completo {Completo} é uma restrição aplicada a um conjunto de generalizações e especifica que todos os subtipos foram especificados (embora alguns possam ser suprimidos) e que não são permitidos subtipos adicionais Generalização Disjunção {Disjunção} é uma restrição aplicada a um conjunto de generalizações e especifica a instância que não pode ter mais que um dos subtipos determinados como um tipo de instância. Generalização Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Essa é a semântica padrão de generalização Global {Global} é uma restrição aplicada a um fim de vínculo e especifica que a instância correspondente é visível devido estar a um escopo global relativo ao vínculo Fim de vínculo Implícito {Implícito} é uma restrição aplicada a uma associação e especifica que a associação não é um manifesto, mas apenas conceitual Associação Incompleto {Incompleto} é uma restrição aplicada a um conjunto de generalizações, e especifica que nem todos os subtipos foram identificados (até mesmo se alguns forem suprimidos) sendo que subtipos adicionais são permitidos. Essa é a semântica de padrão de generalizações- Generalização Local {Local} é uma restrição aplicada a um fim de vínculo e especifica que a instância correspondente é visível devido estar em um escopolocal relativo par o vínculo Fim de vínculo Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Restrição Descrição Aplica-se a Ou {Ou} é uma restrição aplicada a um conjunto de associações e específica sobre esse que somente um é manifesto para cada instância associada. {Ou} é uma restrição exclusiva (não inclusiva) Associação Parâmetro {Parâmetro} é uma restrição aplicada a um vínculo-fim e especifica que a instância correspondente é visível devido a ser um parâmetro relativo para vínculo Fim de vínculo Radiodifusão {Radiodifusão} é uma restrição aplicada a um pedido enviado a instâncias múltiplas, especificando que é enviado simultaneamente a todas as instâncias alvo em uma ordem não especificada e indefinida Pedido Sobreposição { Sobreposição} é uma restrição aplicada a um conjunto de generalizações e especifica que instâncias podem ter mais Generalização Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos generalizações e especifica que instâncias podem ter mais que um dos determinados subtipos como um tipo da instância Voto {Voto} é uma restrição aplicada a um pedido e especifica que o valor de retorno é selecionado por um voto majoritário de todos os valores de retorno voltado de instâncias múltiplas Pedido Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Pacotes • Se um sistema possui muitas classes, estas podem ser agrupadas em pacotes • Pacotes são úteis para facilitar a Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos • Pacotes são úteis para facilitar a compreensão de sistemas com um grande número de classes, escondendo detalhes sobre as classes atrás do nome do pacote Escola de Ciência e Tecnologia Curso: SISTEMAS DE INFORMAÇÕES Representação • Em UML, um pacote é representado por uma pasta com o nome do pacote no interior Disciplina: DESENV. DE PROJETOS DE SISTEMAS – ENFASE EM O.O. – Prof. Cláudio Santos Serviços Prestados pelo Hotel
Compartilhar