Quando um relacionamento possui multiplicidade muitos (*) em suas duas extremidades é necessário criar uma classe associativa para guardar os objetos envolvidos nessa associação. Na classe associativa são definidos o conjunto de atributos que participam da associação e não às classes que participam do relacionamento. Neste caso, pelo menos os atributos-chave devem fazer parte da classe associativa, porém, a classe associativa também pode possuir
possui atributos próprios, além dos atributos-chave das classes que participam da associação (só que nesse caso esses atributos-chave não são representados no diagrama).
Exemplo de classe associativa
Neste exemplo, uma instância da classe Curso pode se relacionar com muitas instâncias da classe Disciplina, e uma instância da classe Disciplina pode se relacionar com muitas instâncias da classe Curso. Como existe a multiplicidade muitos nas extremidades de ambas as classes da associação, não há como reservar atributos para armazenar as informações decorrentes da associação, pois não há como determinar um limite para a quantidade de disciplinas que um curso pode ter e nem há como saber em quantos cursos uma disciplina pode pertencer. Assim, é preciso criar uma classe para guardar essa informação, além das informações próprias da classe, que são a carga horária da disciplina no curso e também a qual série essa disciplina estará vinculada naquele curso. Os atributos-chave das classes Curso e Disciplina são transmitidos de forma transparente pela associação, não sendo, portanto, necessário escrevê- los como atributos da classe associativa.
Segundo Guedes (2007, p. 61), as classes associativas podem ser substituídas por classes normais, que, neste caso, são chamadas de classes intermediárias, mas que desempenham
exatamente a mesma função das classes associativas. A figura abaixo mostra o mesmo exemplo da figura anterior, porém com a classe intermediária ao invés da classe associativa.
Exemplo de classe intermediária
ESTUDO DE CASO
Para mostrar um diagrama de classes, vamos utilizar o mesmo documento de requisitos utilizado para demonstrar o diagrama de casos de uso, ou seja, o documento de requisitos da Fábrica de Colchões. Não vou colocar novamente o documento aqui, mas seria interessante que você fizesse a leitura novamente do documento antes de analisar o diagrama de classes abaixo.
ESTUDO DE CASO 2
Neste estudo de caso, vou mostrar um novo documento de requisitos, agora de um Laboratório de Análises Clínicas. Com base nesse documento de requisitos, vamos elaborar o diagrama de casos de uso e também o diagrama de classes, mas dessa vez faremos isso passo a passo. Mas antes de começarmos a ler o documento de requisitos, gostaria que você imaginasse que foi a um médico, por exemplo, um clínico geral. Para te dar um diagnóstico preciso e correto, esse médico pediu que você fizesse uma série de exames, como, por exemplo: hemograma, glicemia, creatinina, triglicerídeos e urocultura. Ele anotou essa lista de exames em um Pedido de Exames e você, de posse desse pedido, vai até um laboratório de análises clínicas para fazer os exames (nesse caso, você vai até o Laboratório São João). É aí que começa o nosso documento de requisitos.
DOCUMENTO DE REQUISITOS – Laboratório de Análises Clínicas
O Laboratório de Análises Clínicas São João deseja informatizar suas atividades, pois hoje não há controle sobre o histórico de cada paciente (dos exames que ele já realizou) e se gasta muito tempo com atividades que poderiam ser feitas por um sistema informatizado.
Hoje, o laboratório funciona da seguinte forma:
• O paciente (você) chega ao laboratório com o pedido dos exames (preenchido pelo seu médico – aquele que o clínico geral que você acabou de consultar, preencheu). • Se for a primeira vez que o paciente vai fazer exames, é preenchida uma ficha de
cadastro com os seguintes dados: nome, endereço, cidade, UF, CEP, telefone, data de nascimento, RG e CPF.
• A recepcionista (a moça que te atendeu quando você chegou ao laboratório São João) preenche uma ficha com o nome do paciente, nome do convênio do paciente, os nomes dos exames que o paciente irá fazer e a data e horário da realização de cada exame. No final da ficha é anotada a data em que os exames estarão prontos. A primeira via desta ficha é entregue ao paciente (a você).
• O resultado do exame é colocado no envelope para posterior retirada pelo paciente. O Laboratório deseja que o novo sistema possa fornecer informações rápidas, precisas e seguras, para assim melhorar suas atividades administrativas e o atendimento a seus pacientes (e neste caso, você vai demorar bem menos no laboratório, pois os processos estarão automatizados). Para tanto, o novo sistema deve:
• Permitir o cadastro dos pacientes do laboratório, com todos os dados preenchidos hoje na ficha de cadastro. Esse cadastro será realizado pelas recepcionistas. • Permitir o cadastro dos exames que o laboratório pode realizar. Cada exame per-
tence a um Grupo de Exames. Por exemplo, o exame HEMOGRAMA, pertence ao grupo SANGUE. Para cada exame é preciso saber o seu código, descrição, valor e procedimentos para a realização do mesmo. Por exemplo, hemograma: deve estar em jejum. Esse cadastro será realizado pelos Bioquímicos.
• Permitir o cadastro dos pedidos de exames dos pacientes. É necessário saber qual o nome do paciente, o nome do médico que está solicitando os exames, o nome
do convênio que o paciente irá utilizar para este pedido, data e horário dos exames
(atenção: cada exame pode ser realizado em datas e horários diferentes), os
nomes dos exames a serem feitos, data e horário em que cada exame ficará pronto (atenção: cada exame pode ficar pronto em uma data e horário diferente) e o valor de cada um deles. Lembrando que o médico pode solicitar mais de um
exame em cada pedido (no seu caso, o médico solicitou 5 exames. Está lembrado
do começo do nosso estudo de caso?). Esse cadastro será realizado pelas recep- cionistas.
• Emitir a ficha do paciente, contendo todos os dados cadastrados. Este relatório será solicitado e recebido tanto pelas recepcionistas quanto pelo departamento adminis- trativo do laboratório.
• Emitir relatório com todos os exames que o laboratório realiza com o código, descri- ção, procedimentos e valor de cada exame, agrupados por grupo de exame, devendo ser impresso neste relatório o código e a descrição do grupo. Este relatório será solicitado e recebido pelas recepcionistas.
• Emitir o pedido do exame em 3 vias, com todos os dados do pedido do exame. O re- latório será emitido pela recepcionista, sendo que a 1ª via será entregue ao paciente (comprovante da entrega do exame), a 2ª via será entregue para o departamento de faturamento (para a cobrança dos exames dos convênios) e a 3ª via para os bioquí- micos (para a realização dos exames).
• Emitir relatório com os resultados dos exames por pedido de exame, contendo o nome do paciente, data e horário do exame (da realização do exame), nome do médico que solicitou o exame, nome do convênio, o nome e o resultado de cada exame realizado, no caso de ter sido mais de um. Esse relatório será solicitado pela recepcionista e entregue ao paciente (não é necessário que a recepcionista fique com esse relatório).