El diagrama de classes representa una vista estàtica d'una aplicació. Representa els tipus d'objectes que resideixen al sistema i les relacions entre ells. Una classe consta dels seus objectes, i també pot heretar d'altres classes. S'utilitza un diagrama de classes per visualitzar, descriure, documentar diversos aspectes diferents del sistema i també construir codi de programari executable.
Mostra els atributs, les classes, les funcions i les relacions per donar una visió general del sistema de programari. Constitueix noms de classe, atributs i funcions en un compartiment separat que ajuda en el desenvolupament de programari. Com que és una col·lecció de classes, interfícies, associacions, col·laboracions i restriccions, s'anomena diagrama estructural.
Propòsit dels diagrames de classe
L'objectiu principal dels diagrames de classes és construir una vista estàtica d'una aplicació. És l'únic diagrama que s'utilitza àmpliament per a la construcció i es pot mapejar amb llenguatges orientats a objectes. És un dels diagrames UML més populars. El propòsit dels diagrames de classes que es donen a continuació són els següents:
- Analitza i dissenya una vista estàtica d'una aplicació.
- Descriu les principals responsabilitats d'un sistema.
- És una base per als diagrames de components i de desplegament.
- Incorpora enginyeria directa i inversa.
Beneficis dels diagrames de classes
- Pot representar el model d'objectes per a sistemes complexos.
- Redueix el temps de manteniment proporcionant una visió general de com s'estructura una aplicació abans de la codificació.
- Proporciona un esquema general d'una aplicació per a una millor comprensió.
- Representa un gràfic detallat destacant el codi desitjat, que s'ha de programar.
- És útil per a les parts interessades i els desenvolupadors.
Components vitals d'un diagrama de classes
El diagrama de classes està format per tres apartats:
- Posa en majúscula la lletra inicial del nom de la classe.
- Col·loca el nom de la classe al centre de la secció superior.
- El nom d'una classe s'ha d'escriure en negreta.
- El nom de la classe abstracta s'ha d'escriure en cursiva.
- Els atributs s'escriuen juntament amb els seus factors de visibilitat, que són públics (+), privats (-), protegits (#) i paquets (~).
- L'accessibilitat d'una classe d'atribut s'il·lustra amb els factors de visibilitat.
- S'ha d'assignar un nom significatiu a l'atribut, que explicarà el seu ús dins de la classe.
Relacions
A UML, les relacions són de tres tipus:
A l'exemple següent, Student_Name depèn de Student_Id.
Per exemple, el compte corrent, el compte d'estalvi i el compte de crèdit són la forma generalitzada de compte bancari.
Per exemple, un departament està associat a la universitat.
Multiplicitat: Defineix un rang específic d'instàncies permeses d'atributs. En cas que no s'especifiqui un interval, un es considera com a multiplicitat per defecte.
format de cadena java llarg
Per exemple, diversos pacients són ingressats en un hospital.
Agregació: Una agregació és un subconjunt d'associació, que representa té una relació. És més específic que l'associació. Defineix una part del tot o una part de la relació. En aquest tipus de relació, la classe fill pot existir independentment de la seva classe pare.
L'empresa inclou un nombre d'empleats i, fins i tot si un empleat renuncia, l'empresa encara existeix.
Composició: La composició és un subconjunt de l'agregació. Representa la dependència entre el pare i el seu fill, el que significa que si s'elimina una part, l'altra també es descarta. Representa una relació de part sencera.
Una llibreta de contactes consta de diversos contactes i, si suprimeixes la llibreta de contactes, es perdran tots els contactes.
Classes abstractes
A la classe abstracta, cap objecte no pot ser una entitat directa de la classe abstracta. La classe abstracta no es pot declarar ni es pot instanciar. S'utilitza per trobar les funcionalitats de les classes. La notació de la classe abstracta és similar a la de classe; l'única diferència és que el nom de la classe està escrit en cursiva. Com que no implica cap implementació per a una funció determinada, és millor utilitzar la classe abstracta amb diversos objectes.
Suposem que tenim una classe abstracta anomenada desplaçament amb un mètode declarat dins d'ell, i aquest mètode s'anomenarà com a conduir () . Ara, aquest mètode de classe abstracta pot ser implementat per qualsevol objecte, per exemple, cotxe, bicicleta, scooter, cicle, etc.
Com dibuixar un diagrama de classe?
El diagrama de classes s'utilitza més àmpliament per construir aplicacions de programari. No només representa una visió estàtica del sistema, sinó també tots els aspectes principals d'una aplicació. Una col·lecció de diagrames de classes en el seu conjunt representa un sistema.
A continuació es donen alguns punts clau que cal tenir en compte a l'hora de dibuixar un diagrama de classe:
- Per descriure un aspecte complet del sistema, es recomana donar un nom significatiu al diagrama de classes.
- Els objectes i les seves relacions s'han de reconèixer per endavant.
- S'han de conèixer els atributs i mètodes (responsabilitats) de cada classe.
- S'ha d'especificar un nombre mínim de propietats desitjades, ja que més nombre de propietats no desitjades donarà lloc a un diagrama complex.
- Les notes es poden utilitzar quan el desenvolupador ho requereixi per descriure els aspectes d'un diagrama.
- Els diagrames s'han de tornar a dibuixar i reelaborar tantes vegades perquè siguin correctes abans de produir la seva versió final.
Exemple de diagrama de classes
A continuació es mostra un diagrama de classes que descriu el sistema de comandes de venda.
Ús dels diagrames de classes
El diagrama de classes s'utilitza per representar una vista estàtica del sistema. Té un paper essencial en l'establiment dels diagrames de components i de desplegament. Ajuda a construir un codi executable per realitzar enginyeria cap endavant i cap enrere per a qualsevol sistema, o podem dir que s'utilitza principalment per a la construcció. Representa el mapeig amb llenguatges orientats a objectes que són C++, Java, etc. Els diagrames de classes es poden utilitzar per als propòsits següents:
- Per descriure la vista estàtica d'un sistema.
- Mostrar la col·laboració entre cada instància a la vista estàtica.
- Descriure les funcionalitats que realitza el sistema.
- Construir l'aplicació de programari utilitzant llenguatges orientats a objectes.