UML UML es una especificación de notación orientada a objetos. Se basa en las anteriores especificaciones BOOCH, RUMBAUGH e IVAR JACOBSON. Divide cada proyecto en un número de diagramas que representan las diferentes vistas del proyecto. Estos diagramas juntos son los que representa la arquitectura del proyecto.
Object Oriented Design Grady Booch Object Oriented Design with Applications Benjamming Cummings 1991 Objectory
Análisis de Requerimientos Análisis de Dominio Diseño
Ivar Jacobson Object-Oriented Software Análisis de Enginnering Requerimientos A Use Case Driven Análisis de Robustez Approach Addison-Wesley Diseño 1992 Implementación Pruebas
Object Modeling Technique James Rumbaugh
Object Oriented Modeling Análisis and Design Diseño del Sistema Prentice Hall Diseño de Objetos 1991 Implementación
Estas tres metodologías van a ser fusionadas a finales de 1997 en una sola, basada en la notación UML
Una metodología de desarrollo de software OO consta de
•Conceptos y diagramas •Etapas y definición de entregas en cada una de ellas • Actividades y recomendaciones
UML El Lenguaje de Modelamiento Unificado es un lenguaje gráfico para visualizar, especificar y documentar cada una de las partes que comprende el desarrollo de software. UML entrega una forma de modelar cosas conceptuales como lo son procesos de negocio y funciones de sistema, además de cosas concretas como lo son escribir clases en un lenguaje determinado, esquemas de base de datos y componentes de software reusables.
La Clase Una clase esta representada por un rectángulo que dispone de tres apartados, el primero para indicar el nombre, el segundo para los atributos y el tercero para los métodos. Cada clase debe tener un nombre único, que las diferencie de las otras. Un atributo representa alguna propiedad de la clase que se encuentra en todas las instancias de la clase. Los atributos pueden representarse solo mostrando su nombre, mostrando su nombre y su tipo, e incluso su valor por defecto. Un método o operación es la implementación de un servicio de la clase, que muestra un comportamiento común a todos los objetos. En resumen es una función que le indica a las instancias de la clase que hagan algo. Para separar las grandes listas de atributos y de métodos se pueden utilizar estereotipos.
ATRIBUTOS Y MÉTODOS Atributos: Los atributos o características de una Clase pueden ser de tres tipos, los que definen el grado
de comunicación y visibilidad de ellos con el entorno, estos son: – – –
public (+, ): Indica que el atributo será visible tanto dentro como fuera de la clase, es decir, es accesible desde
todos lados. private (-, ): Indica que el atributo sólo será accesible desde dentro de la clase (sólo sus métodos lo pueden accesar). protected (#, ): Indica que el atributo no será accesible desde fuera de la clase, pero si podrá ser accesazo por métodos de la clase además de las subclases que se deriven (ver herencia).
Métodos: Los métodos u operaciones de una clase son la forma en como ésta interactúa con su entorno,
éstos pueden tener las características: – – –
public (+, ): Indica que el método será visible tanto dentro como fuera de la clase, es decir, es accesibles
desde todos lados. private (-, ): Indica que el método sólo será accesible desde dentro de la clase (sólo otros métodos de la clase lo pueden accezar). protected (#, ): Indica que el método no será accesible desde fuera de la clase, pero si podrá ser accesazo por métodos de la clase además de métodos de las subclases que se deriven (ver herencia).
CASOS DE USO El diagrama de casos de uso representa la forma en como un Cliente (Actor) opera con el sistema en desarrollo, además de la forma, tipo y orden en como los elementos interactúan (operaciones o casos de uso). Un diagrama de casos de uso consta de los siguientes elementos: –
Actor.
-Casos de Uso.
– Relaciones de Uso, Herencia y Comunicación.
RELACIONES Asociación Es el tipo de relación más básica que indica la
invocación desde un actor o caso de uso a otra operación (caso de uso). Dicha relación se denota con una flecha simple. Dependencia o Instanciación Es una forma muy particular de relación entre clases, en la cual una clase depende de otra, es decir, se instancia (se crea). Dicha relación se denota con una flecha punteada. Generalización Este tipo de relación es uno de los más utilizados, cumple una doble función dependiendo de su estereotipo, que puede ser de Uso (<>) o de Herencia (<>).
PAQUETES Un paquete es una forma de agrupar clases (u otros elementos en otro tipo de diagramas) en modelos grandes. Pueden tener asociaciones de dependencia o de generalización entre ellos.
Gestion Horarios
Crear calendario
Determinar Horario
(from Gestion Horarios)
(from Gestion Horarios)
Recursos Humanos
Mantenimiento medicos Mantenimiento enfermeros (from Recursos Humanos)
(from Recursos H umanos)
Administracion Citas Medicas Atencion de la consulta
Diagnosticar
Cancelar Cita Medica
Transladar Cita Medica
(from Administracion Citas Medicas)
(from Administracion Citas Medicas)
(from Atencion de la consulta)
Asignacion de cita medica (from Administracion Citas Medicas)
Historia Clinica
Crear Hi storias Clinicas
Generacion Reportes
(from Historia Clinica)
Generar Reportes (from GeneracionReportes)
Generacion de RIPS de consultas y procedimientos (from Generacion Reporte s)
Seguridad
Acceso a la aplicacion (from Seguridad)
Consolidado de Citas Medicas (from Generacion Reportes)
Diagramas y Vistas La explicación se basará en los diagramas, en lugar de en vistas o anotación, ya que son estos la esencia de UML. Cada diagrama usa la anotación pertinente y la suma de estos diagramas crean las diferentes vistas. Las vistas existentes en UML son: – – – – –
Vista casos de uso Vista de diseño. Vista de procesos. Vista de implementación. Vista de despliegue.
- Diagrama de secuencia - Diagrama de estado - Diagrama de actividades
Conceptos avanzados en un Diagrama de Colaboración Patrón de diseño
Un diagrama de colaboración puede especificar un contrato entre objetos, parte esencial para la descripción de un patrón de diseño. Este diagrama contiene todos los elementos citados de un diagrama de colaboración, dejando libres posiblemente los tipos exactos de algunos objetos o con nombres genéricos para los mensajes. Una "instanciación" del patrón se representa como una elipse unida mediante flechas punteadas a los objetos o clases que participan realmente en el patrón. Estas flechas pueden tener roles, indicando cuál es el papel de cada elemento dentro del patrón. Por ejemplo, una instanciación del patrón de observador puede verse como
Control: 1. Validar existencia de la historia clinica. 2. Cita medi ca por primer a vez o control m edico. 2. Evitar exceder oferta de cons ultas de me dico en un dia. Resultados: 1. Fecha y hora cita 2. Especialidad 3. Medico 4. No consultorio
Asignacion de cita medica
Operario de Cen tral de citas (f rom Use Case View)
4: Verificar Disponib ilidad
3: Planificar cita
Medicos Validador Historia Clinica
(f rom Control Recursos Humanos)
(f rom Historia Clinica)
5: Verificar citas p endien tes
2: Verificar 1: Solicitar cita
Planificador de citas (f rom Control Citas)
Paciente
6: Obtener
(f rom Use Case View)
7: Asignacion de cita medica
1: Solicitar Cita
Pacientes
(f rom Historia Clinica)
IU Citas Medicas (f rom I U Gestion Cit as)
Operario de Central de citas
Citas (f rom Control Citas)
Diagramas secuencia El diagrama de secuencia forma parte del modelado dinámico del sistema. Se modelan las llamadas entre clases desde un punto concreto del sistema. Es útil para observar la vida de los objetos en sistema, identificar llamadas a realizar o posibles errores del modelado estático, que imposibiliten el flujo de información o de llamadas entre los componentes del sistema. En el diagrama de secuencia se muestra el orden de las llamadas en el sistema. Se utiliza un diagrama para cada llamada a representar. Es imposible representar en un solo diagrama de secuencia todas las secuencias posibles del sistema, por ello se escoge un punto de partida. El diagrama se forma con los objetos que forman parte de la secuencia, estos se sitúan en la parte superior de la pantalla, normalmente en la izquierda se sitúa al que inicia la acción. De estos objetos sale una línea que indica su vida en el sistema. Esta línea simple se convierte en una línea gruesa cuando representa que el objeto tiene el foco del sistema, es decir cuando el esta activo.
:MultiCliente : Operario de Central de citas
:Procesador de Solicitudes : Planificador de citas
: IU Citas Medicas Cancelacion y Translados
1. Cancelar o Transladar
: Citas
2. Enviar protoc olo 3. Procesar solicitud
4. procesar citas a modificar
5. Cambiar de estado
6. Modificar
7. Exito o Failed
: Medicos