Tabela MySQL para Teste Físico
A NEXO C — UML U NIFIED M ODELING L ANGUAGE
C.1 LINGUAGEM DE MODELAGEM UNIFICADA
A análise orientada a objetos é uma metodologia de programação, projeto e análise, que concentra-se na modelagem das características e do comportamento de objetos do mundo real. As idéias de objetos e atributos, classes e membros, são utilizadas para compreender sistemas complexos. Apesar da diversidade, os diferentes métodos têm suportado, no entanto, os mesmos conceitos básicos, como no caso da UML (Linguagem de Modelagem Unificada).
Na década de 80, foi proposto um método que consistia no emprego de técnicas de projeto orientado a objeto, o qual descrevia um objeto como sendo um modelo do mundo real, formado por dados e com capacidade para o tratamento desses dados. Na mesma década, foi apresentado uma técnica de modelagem de objetos, OMT (Object Modeling Technique), cuja notação empregada era parecida com a dos métodos estruturados e utilizava a notação de modelo, suportando conceitos de modelagem de dados, objetos e herança. Também na década de 80 foram criadas as bases para os métodos OOSE (Objected-Oriented Software
Engineering), sendo que seu método focava-se em casos de uso e categorização de
pessoas e equipamentos, dependendo de seu papel no sistema global.
Em 1995, Booch e Rumbaucg juntaram forças por meio da Rational
Corporation e unificaram seus trabalhos. Logo após, Jacobson juntou-se à equipe
trazendo sua contribuição. Reunidos, buscaram a criação de uma linguagem de modelagem que tratasse de assuntos de escala, inerentes a sistemas complexos e de missão crítica. O objetivo era modelar qualquer tipo de aplicação de tempo real cliente-servidor, sendo usada principalmente para:
• mostrar as fronteiras de um sistema e suas funções principais utilizando atores e casos de uso;
• ilustrar a realização de casos de uso com diagramas de interação;
• representar uma estrutura estática de um sistema utilizando diagramas de classe;
• modelar o comportamento de objetos com diagramas de transição de estado; e
• relevar a arquitetura de implementação física com diagramas de componentes e implantação;
C.2 NOTAÇÃO DA UML
Tendo em mente as cinco fases do desenvolvimento de softwares (análise de requisitos, análise, projeto, programação e testes), a UML propõe para o seu desenvolvimento cinco tipos de visões, nove tipos de diagramas e vários modelos de elementos que são utilizados na criação dos diagramas e mecanismos gerais que em conjunto, especificam e exemplificam a definição do sistema, tanto estática como dinâmica do desenvolvimento de um sistema. (BOOCH et al., 1999).
Contudo, serão apresentados apenas conceitos básicos, necessários ao entendimento dos diagramas de classes, podendo no futuro serem agregados outros conceitos.
C.2.1 CLASSES
Uma classe é a descrição de um tipo de objeto. Em UML as classes, como mostrado na figura C.1, são representadas por um retângulo dividido em três compartimentos: o compartimento de nome, que conterá apenas o nome da classe modelada, o de atributos, que possuirá a relação de atributos que a classe possui em sua estrutura interna, e o compartimento de operações, que envolve os métodos de manipulação de dados e de comunicação de uma classe com outras do sistema. (BARROS, 2002).
Elemento de Atrito Codigo_Cliente : String Codigo_FrasLe : String Nome da Classe Operações Atributos
Figura C.1: Representação de uma classe em UML
A sintaxe usada em cada um desses compartimentos é independente de qualquer linguagem de programação, embora podem ser usadas outras sintaxes como a do C++, Java, etc.
C.2.2 RELACIONAMENTOS
Os relacionamentos ligam as classes entre si, criando relações lógicas entre essas entidades. Os relacionamentos podem ser dos seguintes tipos:
• Agregação: é um caso particular da associação. A agregação indica que uma das classes do relacionamento é uma parte, ou está contida em outra classe. As palavras-chaves usadas para identificar uma agregação são: "consiste em", "contém", “tem”, "é parte de". A figura C.2 apresenta um exemplo de relacionamento de agregação associado a elementos de atrito para sistemas de freio. Considerando o conceito adotado neste trabalho, todo elemento de atrito tem acessórios, material de atrito e uma aplicação.
Materia_Prima Acessórios
Aplicacao Elemento de Atrito
Formula
Figura C.2: Representação do relacionamento de agregação em UML
• Generalização: é um relacionamento entre um elemento geral e um outro mais específico. O elemento mais específico possui todas as características do
elemento geral e contém ainda particularidades. A generalização, também chamada de herança, permite a criação de elementos especializados em outros, normalmente é representada por uma linha entre as duas classes que fazem o relacionamento, sendo que coloca-se uma seta no lado da linha onde encontra- se a superclasse, indicando a generalização. A figura C.3 apresenta um exemplo de relacionamento de generalização, onde a classe “aplicação” de um elemento de atrito pode trazer associada a ela vários tipos de aplicações como por exemplo sistemas de freios ou embreagens, bem como aplicações especiais (industriais).
Sis tem as de Embreagem Aplicações Especiais
Mercado de Reposição Montadoras Nacionais Mont adoras Internac ionais Aplicação
Sistema de Freio
É um tipo de É um tipo de
É um tipo de É um tipo de É um tipo de
É um tipo de
Figura C.3: Representação do relacionamento de generalização em UML
C.2.3 DIAGRAMAS
Os diagramas utilizados pela UML são de nove tipos: diagrama de use case, de classes, de objeto, de estado, de seqüência, de colaboração, de atividade, de componente e o de execução. Todos os sistemas possuem uma estrutura estática e um comportamento dinâmico.
A modelagem estática é suportada pelo diagrama de classes e de objetos, que consiste nas classes e em seus relacionamentos. Os relacionamentos podem ser de associações, herança (generalização), dependência ou refinamentos. A
modelagem dinâmica é suportada pelos diagramas de estado, seqüência, colaboração e atividade, enquanto a modelagem funcional é suportada pelos diagramas de componente e execução.
Um dos principais tipos de diagramas da UML, e que será extensamente usado neste trabalho são os Diagramas de Classes. Estes demonstram a estrutura estática das classes de um sistema, onde estas representam as "coisas" que são gerenciadas pela aplicação modelada, sendo que sua estrutura é válida em qualquer ponto do ciclo de vida do sistema. As figuras B.2 e B.3 apresentam exemplos de diagramas de classe.
Maiores informações sobre programação orientada a objetos e UML podem ser encontradas em Rumbaugh et al. (1994), Booch (1994), Jacobson et al. (1999), Booch et al. (1999), Fowler e Scott (2000), Larman (2000) e Lee e Tepfenhart (2001). Existem também portais, como, por exemplo, www.omg.org, www.uml.org e www.uml.com.br, entre outros, que tratam diretamente da UML.