El Diagrama de Clase es el el diagrama principal de diseño y análisis para un sistema. En él, la
estrucutra de clases del sistema se especifica, con relaciones entre clases y estructuras de herencia.
Durante el análisis del sistema, el diagrama se desarrolla buscando una solución ideal. Durante el diseño,
se usa el mismo diagrama, y se modifica para satisfacer los detalles de las implementaciones.
Durante el diseño, el Diagrama de Clase se elabora para tener en cuenta los detalles concretos de la
implementación del sistema.
Un componente es un grupo de objetos o componentes más pequeños que interaccionan entre ellos y se
combinan para dar un servicio. Un componente es similar a una caja negra, en la cual los servicios del
componente se especifican por su interface o interfaces, sin ofrecer concimiento del diseño e
implementación internas del componente. El desarrollo basado en componentes es el proceso de ensamblar
la combinación correcta de componentes en la configuración correcta para llevar acabo la funcionalidad
deseada para un sistema. Los componenetes se representan en el diagrama de clases de UML especificando
la interfaz de una clase o paquete. Hay dos notaciones para mostrar una interfaz - una es mostrar la
interfaz como una 'regular class symbol' con el estereotipo "interfz", con una lista de operaciones
soportadas por esta interfaz, detalladas en el 'operation department' (departamento de operación).
'The alternate, shortcut notation' es mostrar la interfaz como un circulo pequeño junto con la clase
con una línea sólida, con el nombre de la interfaz en el círculo.
El ejemplo de la Figura 9 muestra que la clase 'Pasajero' ofrece la operación move(x coord, y coord)
para su apariencia en un GUI, a través de su interfaz 'Displayable'. Ambas notaciones UML de interfaz,
se muestran en la figura. Además, la clase Pasajero también ofrece una opción save(store at) a través
de su interfaz Persistente. Una clase de o componente para conectar con una base de datos podría usar
esta interfaz.