Baixe o app para aproveitar ainda mais
Prévia do material em texto
Diagrama de Classes: Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para que outros diagramas apresentem outras visões do sistema. Um diagrama correlato ao diagrama de classes é o diagrama de objetos, que apresenta instâncias das classes. Uma classe é representada por meio de um retângulo dividido em 3 compartimentos: – Nome – Atributos – Operações – Operações A sintaxe utilizada para descrever o conteúdo de cada compartimento é independente de linguagem (muito embora isto possa ser adaptado) Representação básica de uma classe: - Identificador da classe - Atributos da classe - Operações da classe Encontrar classes que compõem o sistema: É um processo criativo. Deve ser executado por especialistas no domínio da aplicação. As classes devem vir do domínio da aplicação. Devem ser nomeadas de acordo com que lá representam. A resposta a algumas questões podem auxiliar no processo de identificar classes: – Existe informação que deve ser armazenada ou analisada ? Se sim, ela é uma possível candidata a se tornar classe. – Existem sistemas externos ? Caso existam, podem ser entendidos como classes que o sistema contém ou com quem deve interagir - Existem dispositivos que o sistema deve manipular? Se sim, podem se transformar em classes que manipulam estes dispositivos. – Existem divisões organizacionais (departamentos, núcleos etc.) ? Se sim, elas podem ser representadas por meio de classes. – Quais papéis são desempenhados pelos atores dentro da organização ? Estes papéis podem ser vistos como classes (ex: usuário, cliente, operador do sistema etc.) Políticas de Acesso: • public: Atributos e métodos definidos com a cláusula public podem ser acessados por qualquer outra classe. • private: Atributos e métodos definidos com a cláusula private só podem ser acessados pela classe que o define. • protected: Atributos e métodos definidos com a cláusula protected podem ser acessados pela classe que o define e pelas suas subclasses descendentes. Relacionamento Entre Classes: Um diagrama de classes representa classes e os relacionamentos entre elas. Estes relacionamentos podem ser: – Associações – Generalizações – Dependências – Refinamentos Notação para Relacionamentos: Agregação: • Uma agregação é um tipo especial de associação. • Ela indica um relacionamento “parte-todo” entre as classes. • Sua presença pode ser percebida a partir da existência de relacionamentos cujas denominações incluam expressões como “consiste de”, “contém” ou “é parte de” como “consiste de”, “contém” ou “é parte de”. • Em uma Agregação a vida das “Partes”’ não está relacionada à vida do “Todo”. Agregação de Composição: • Uma agregação de composição “possui” suas partes. • As partes “vivem” dentro do todo. Sem este todo as partes não podem “sobreviver” (deixam de fazer sentido). • A partir do momento que o todo é destruído, as partes também o são. • Uma estratégia de implementação de composição é a declaração das classes “partes” dentro da declaração da classe “todo”. Generalizações (Herança): • Relacionamento entre classes onde uma classe X compartilha estado e/ou comportamento de uma classe Y. • Define uma hierarquia de abstrações em que uma subclasse herda de uma ou mais super classes. • Relacionamento entre um elemento mais geral (chamado de superclasse ou pai) e um mais específico (chamado de subclasse ou filho). • é criada como subclasse de uma superclasse herdando as especificações (estado e comportamento) desta última • pode re-especificar e acrescentar estado e comportamento ao herdado da sua superclasse Relações: • Dependências são relações de uso • Uma dependência indica que mudanças em um elemento (o “servidor”) podem afetar outro elemento (o “cliente”). • Uma dependência entre classes indica que os objetos de uma classe usam serviços dos objetos de outra classe. • Relações pouco usadas.
Compartilhar