Desde los inicios de la informática se han estado utilizando distintas formas de representar los diseños de una manera más bien personal o con algún modelo gráfico, La falta de estandarización en la representación gráfica de un modelo impedía que los diseños gráficos realizados se pudieran compartir fácilmente entre distintos diseñadores, con este objetivo se creo el Lenguaje Unificado de Modelado (UML: Unified Modeling Language).
UML es el lenguaje de modelado de sistemas de software más conocido en la actualidad; es el estándar internacional aprobado por la OMG (Object Managment Group), consorcio creado en 1989 responsable de la creación, desarrollo y revisión de especificaciones para la industrial del software.
UML son un grupo de especificaciones de notación orientadas a Objeto, las cuales están compuesta por distintos diagramas, que representan las diferentes etapas del desarrollo de un proyecto de software. Este trabajo se centra en un Sistema de Control de Citas Médicas. Se han usados varios de los diagramas de UML, de modo que se muestre el uso de los mismos, enfocado desde una perspectiva práctica.
El lenguaje UML comenzó a gestarse en octubre de 1994, cuando Rumbaugh se unió a la compañía Rational fundada por Booch (dos reputados investigadores en el área de metodología del software). El objetivo de amb os era unificar dos métodos que habían desarrollado: el método Booch y el OMT (Object Modelling Tool). El primer borrador apareció en octubre de 1995. En esa misma época otro reputado investigador, Jacobson, se unió a Rational y se incluyeron ideas suyas. Estas tres personas son conocidas como los "tres amigos". Además, este lenguaje se abrió a la colaboración de otras empresas para que aportaran sus ideas. Todas estas colaboraciones condujeron a la definición de la primera versión de UML.
1. Modelado: es el diseño de un software antes de su codificación, es la visualización de lo que se quiere construir.
Esta primera versión se ofreció a un grupo de trabajo para convertirlo en 1997 en un estándar del OMG. Este grupo gestiona estándares relacionados con la tecnología orientada a objetos (metodologías, bases de datos objetuales, CORBA, etc.), propuso una serie de modificaciones y una nueva versión de UML (la 1.1), que fue adoptada por el OMG como estándar en noviembre de 1997. Desde aquella versión han habido varias revisiones que gestiona la OMG Revision Task Force. La última versión aprobada es la UML 2.0 superstructure. En estos momentos se está desarrollando actualizaciones a esta versión en la que se incluirán cambios importantes (principalmente añadir nuevos diagramas).
- Desarrollar el diseño y modelación de un Sistema de Control de Citas Médicas utilizando el lenguaje UML.
- Impulsar el acercamiento hacia una nueva manera de entender el diseño de software basado en UML.
OBJETIVOS ESPECIFICOS
- Estudiar el lenguaje de Modelado UML.
- Desarrollar por completo el diseño de un proyecto de software con el fin de comprender todo el proceso.
- Identificar en el diseño del proyecto los distintos tipos de diagramas que existen como son los:
- Diagramas de clases
- Casos de usos
- Paquetes
- Diagramas de interacción y secuencia, y los diagramas de transición de estados
- Aplicar patrones de diseño modernos para la construcción de una aplicación de software utilizando para ello la herramienta Rational Rose.
- Mostrar como UML crea un protocolo de comunicación estándar entre los desarrolladores.
El trabajo presentado a continuación es un estudio sobre el Lenguaje de Modelado que abarca desde la definición de sus conceptos hasta su aplicación en un ejemplo práctico, en el mismo veremos como UML nos permite experimentar y visualizar un sistema que aun no ha sido codificado.
Este trabajo contiene la siguiente documentación:
- Diseño de Sistema utilizando UML
- Historia del UML
- Que es UML
- Bloques de Construcción UML
- Elementos Estructurales
- Elementos de comportamiento
- Elementos de agrupación
- Elementos de anotación
- Relaciones
- Diagramas
- Caso Practico de un Diseño de Software utilizando UML (Sistema de Control de Citas Medicas)
- Definición de los requerimientos del sistema.
- Los diagramas de casos y subcasos de uso.
- La descripción de los casos de uso.
- Diagrama Conceptual.
- Diagrama de Estructura Estática (de Clases).
- Diagrama de Interacción.
- Diagrama de Estados.
- Diagrama de Actividades.
Este trabajo no incluye la codificación del Software, el mismo esta enfocado desde el punto de vista del diseño.
Standish Group, CHAOS Report nos muestra en su estudio del 2002 que el 26% de los proyectos de software son exitosos, lo que quiere decir que el 74% fallan. La razón básica por la que fallan los proyectos se determina en la etapa de análisis y diseño del sistema.
Entendiendo lo anterior, podemos decir que es necesario y obligatorio el mejorar la calidad del desarrollo de software y para esto debemos adoptar procedimientos, metodologías y herramientas que permitan una estandarización en la ingeniería de software, esto es precisamente lo que ofrecen los lenguajes de modelado de software, un lenguaje común que permite el crear una disciplina con estándares como existe en la ingeniería civil, ingeniería eléctrica, etc.
Siendo UML el estándar internacional para el modelado hemos decidido el desarrollar este tema para este proyecto, veamos algunos de los beneficios que ofrece UML:
- Contaremos con un mejor entendimiento del riesgo del proyecto antes de construir el sistema
- Mejores tiempos totales de desarrollo (de 50% o mas)
- Podremos especificar la estructura y el comportamiento del sistema y comunicarlo a todos los integrantes del proyecto
- Se documentarán las decisiones de la arquitectura del proyecto
- Se obtendrá el "plano" del sistema
- Mejor soporte a la planeación y al control del proyecto
- Un aumento en la calidad del desarrollo
- Reducción en los costos económicos
Estas son algunas de las razones por la cual es necesario adoptar UML como lenguaje de modelado, otra razón importante es el hecho de que muchas compañías a la hora de contratar servicios de desarrollo exigen que el lenguaje de modelado utilizado sea UML.
Tarea 1. Documentación: En esta etapa se realizarán consultas bibliográficas relacionadas con el análisis y diseño de sistemas de información con UML, a los fines de elaborar un manual de UML con sus diagramas, definición y ejemplos.
Tarea 2. Análisis de requerimientos: En esta etapa se busca la necesidad del usuario y la forma en que se va a presentar la solución.
Actividades:
- Identificar Casos de Uso del sistema
- Dar detalle a los casos de uso descritos
- Definir una interfaz inicial del sistema
- Desarrollar el modelo del mundo
- Validar los modelos
Tarea 3. Diseño del sistema: en esta etapa se define una subdivisión del sistema por funciones y la forma de comunicación para su interacción.
Actividades:
- Identificar la arquitectura del sistema
- Definir los componentes del sistema
- Refinar los casos de uso (textualmente y en diagrama)
Tarea 4. Diseño detallado: en esta etapa se adecuará el análisis a las características específicas del software.
Actividades:
- Agregar detalles de implementación al modelo del mundo
- Desarrollar el modelo de interfaz
- Desarrollar los modelos de control, persistencia y comunicación
Medios y Materiales a utilizar:
- http://www.monografias.com/trabajos16/lenguaje-modelado-unificado/lenguaje-modelado-unificado#PRINCIP
- www.omg.org
- http://www.monografias.com/trabajos5/insof/insof
- http://64.233.161.104/search?q=cache:3aHY_Njdo4YJ:www.solocursos.net/analisis_y_dise%C3%B1o_orientado_a_objetos_de_un_framework_para_el_modelado_estadistico_con_mlg-slccurso697391.htm+tesis+de+uml+objetivo&hl=es
- http://64.233.161.104/search?q=cache:kVXLEJTjyiUJ:delta.cs.cinvestav.mx/~pmejia/investiga.ppt+OBJETIVOS+ESPECIFICOS+tesis+uml&hl=es
- www.delta.cs.cinvestav.mx/~pmejia/investiga.ppt
- http://www.clikear.com/manuales/uml/
- http://www.xpdian.com/UML2.0.html
- Diseño Orientado a Objeto usando UML. Raúl Alarcón
Angel Geraldo Director de Sistemas. Dirección de Sistemas. ageraldo[arroba]sipen.gov.do