Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
* * Modelagem de Sistemas Prof. Valentino D´Ambrosi Jr. Seção 3 * * Nossas aulas Seção 1 - 29/01/2014 Seção 2 - 05/02/2014 Seção 3 - 12/02/2014 – ED1 Seção 4 - 19/02/2014 - N1 Seção 5 - 21/02/2014 Seção 6 - 26/02/2014 –ED2 Seção 7 - 05/03/2014 Seção 8 – 12/03/2014 – N2 Seção 9 - 14/03/2014 – ED3 Seção 10 - 26/03/2014 – U2 * * Classes - Relacionamentos * * Classes - Relacionamentos É uma conexão entre classes. É representado graficamente como um caminho, com um tipo diferente de linha para cada tipo de relacionamento. Tipos: Dependência Generalização\Especialização Associação Agregação * * Relacionamentos - Dependência Relacionamento de utilização. Determinando que uma classeA utiliza informações e serviços de outra classeB. O inverso pode não ser verdade. Representada graficamente com linhas tracejadas apontando a classe da qual a outra depende. Usada quando uma classe depende de outra. * * Relacionamentos - Dependência Exemplo: * * Relacionamentos Generalização\Especialização Relacionamento entre classes gerais (classes mães) e classes mais específicas (classes filha). Generalização significa que a classe filha é substituível por uma declaração da classe mãe. A classe filha herda métodos e atributos da classe mãe. As classes filhas normalmente tem mais atributos e métodos que a classe mãe. * * Relacionamentos Generalização\Especialização Polimorfismo = a operação de uma classe filha, com a mesma assinatura de uma operação da classe mãe, prevalecerá. Mesma assinatura = métodos com mesmo nome e mesmos parâmetros. A relação de um classe filha com apenas uma classe mãe é chamada de herança. A relação de de uma classe filha com mais de uma classe mãe é chamada de herança múltipla. * * Relacionamentos Generalização\Especialização Generalização e especialização são dois pontos de vista do mesmo relacionamento. Se a classe A é uma generalização da classe B, então B é uma especialização de A. Termos utilizados: Classe mãe pode ser chamada de superclasse, supertipo ou classe base. Classe filha pode ser chamada de subclasse, subtipo ou classe herdeira. * * Relacionamentos Generalização\Especialização Classes representam um conjunto de objetos que partilham um conjunto comum de propriedades (atributos e métodos). Alguns objetos bastante semelhantes a outros podem possuir propriedades especificas. Exemplo:Pessoa, PessoaFísica e PessoaJurídica. * * Relacionamentos Generalização\Especialização Exemplo: * * Relacionamentos - Associação Responsável por conectar duas classes. Com uma associação você é capaz de navegar de um objeto de uma classe até o objeto de outra classe e vice-versa. Você pode ter uma conexão da classe A com a própria classe A. Isso significa vínculos entre objetos da mesma classe. * * Relacionamentos - Associação Associação entre duas classes é associação binária. Representada graficamente com uma linha sólida. Uma associação pode ter um nome (bastante comum). * * Relacionamentos - Associação Exemplo: * * Relacionamentos - Associação As classes em uma associação possuem papéis específicos. É possível, mas não obrigatório, nomear o papel de cada extremidade. * * Associação - Multiplicidade Associações permitem representar a informação dos limites superior e inferior da quantidade de objetos aos quais o outro pode estar associado. Cada associação possui uma multiplicidade. * * Associação - Multiplicidade Exemplo: * * Associação - Multiplicidade Intervalo específico: o x e o y devem ser substituídos pelos valores do limite inferior e superior. Pode também ser uma lista de intervalos: 1, 3,5…9, 11. * * Relacionamentos - Agregação Em uma associação as classes estão no mesmo nível. Agregação é um relacionamento “todo/parte”. Onde uma classe representa • o “todo” e a outra classe representa a “parte”. Um objeto do “todo” tem um objeto da “parte”. É um tipo especial de associação. * * Relacionamentos - Agregação Exemplo: * * Modelagem de Dependências - Exercício Crie uma dependência apontando, a partir da classe que executa a operação, a classe utilizada como parâmetro nessa operação. Exemplo: * * Modelagem de Herança Exercício Em um conjunto de classes procure responsabilidades, atributos e métodos que sejam comuns a duas ou mais classes. Coloque as responsabilidades, atributos e métodos comuns em uma classe mais geral Exemplo: * * Modelagem de Associação Exercício Para cada par de classes, caso seja necessário navegar entre elas, especifique uma associação. Para cada associação especifique uma multiplicidade. Especifique os nomes dos papéis se ajudar a entender o modelo. Se uma das classes de uma associação pertencer a outra utilize agregação. * * Modelagem de Associação Exemplo: * * Identificação de Classes Em 1983 Russel Abbott propôs a seguinte técnica para identificação de classes: Reunir diversas fontes de informações do sistema a ser modelado: documento de requisitos, modelos de negócios, conhecimento sobre o domínio etc. Nesses documentos destacar substantivos e adjetivos. Sinônimos são removidos. * * Identificação de Classes Cada termo que sobrar é classificado em uma das 3 situações: O termo se torna uma classe (classe candidata). O termo se torna um atributo. O termo não tem relevância alguma ao problema a ser modelado. Em seguida destacamos os verbos da documentação. Verbos com sentido de “ação” (calcular, confirmar, comprar, etc) são métodos em potencial. * * Identificação de Classes Verbos com sentido de “ter” são agregações em potencial. Os verbos que sobrarem são associações em potencial. Resumo: * * DIAGRAMA DE OBJETOS * * Diagrama de Objetos Também chamado de diagrama de instâncias. Objetos são instâncias de classes. Exibe uma fotografia do sistema em determinado momento. Pode exibir os valores dos atributos de um objeto. * * Diagrama de Objetos Cada objeto é representado por uma caixa com duas partes. Parte superior: identificação do objeto Parte inferior (opcional): valores para atributos da classe do objeto. Exemplo: * * Diagrama de Objetos Identificação do objeto sempre sublinhada. Primeiro caracter de cada palavra do nome da classe com letra maiúscula. Primeiro caracter da primeira palavra do nome de um objeto é com letra minúscula. O nome do objeto pode ser omitido. A segunda parte deve apresentar o nome do atributo e um valor. * * Diagrama de Objetos Formatos para identificação de objetos: * * Diagrama de Objetos Exemplo (diagrama de classes): * * Diagrama de Objetos Exemplo: * * Diagrama de Objetos Pouco utilizados. Utilidade: auxiliar o entendimento de um relacionamento complexo de um diagrama de classe. Utilizado nos diagramas de interação (principalmente no de comunicação). Diagrama de Classe descreve situação geral X Diagrama de Objeto descreve situação específica. * * Diagrama de Objetos Exemplo 2: * * Diagrama de Objetos - Modelagem Identifique qual parte do sistema deseja-se modelar. Congele o cenário em um determinado momento e represente cada objeto que é participante. Exponha os valores dos atributos de cada um desses objetos, conforme necessidade, para compreensão do cenário. Exponha os relacionamentos existentes entre esses objetos. * * Diagrama de Objetos Engenharia reversa = criação de um modelo a partir de código. Diagrama de objetos é útil no processo de engenharia reversa. Utilizado no momento de depuração de um código. * * Contato valentino.junior@bilac.com.br Obrigado pela atenção de todos(as). @ *
Compartilhar