Sie sind auf Seite 1von 7

Ingeniera Civil Industrial, Tecnologa& Sistemas Universidad de La Serena, Chile

Lenguaje de Modelado Unificado para Sistemas de Software

Alejandro lvarez Marn1,*, Constanza Portilla Espinoza2, Francisca Rubio Salvo2, Javiera Carmona Lpez2, Jorge Corts Tapia2 (1) Acadmico, Departamento de Ingeniera Industrial, Universidad de La Serena, Chile (2) Estudiantes, Ingeniera Civil Industrial, Universidad de La Serena, Chile Informacin Artculo Publicacin Junio de 2012 Palabras Clave Lenguaje Estandarizado Software Diagramas Modelos Orientado a Objetos Autor de Correspondencia * Benavente N 980 La Serena, Chile 1720170 aalvarez@userena.cl cothi@live.cl fran16.11@gmail.cl javiby_26491@hotmail.com jorge_dekomizo@hotmail.com +56051204262 Resumen El modelado es una actividad que describe de forma general el conocimiento de un sistema de informacin, lo que da origen a un esquema conceptual, que especficamente son los Lenguajes de Modelado, uno de ellos es el UML (Unified Modeling Language). Los modelos buscan capturar la vista de un sistema del mundo real. As, el modelo describe completamente aquellos aspectos del sistema que son relevantes al propsito del modelo y a un apropiado nivel de detalle. Durante la ltima dcada, UML ha sido ampliamente utilizado en la industria y en el mbito docente, contribuyendo a la mejora en el desarrollo de sistemas de informacin. Hoy en da UML es un componente fundamental a la hora de desarrollar sistemas informticos, por ende, al modelar, es de crucial importancia que los diagramas para disear los modelos, sean claros, precisos y concisos. De esta manera, todas las personas insertas en el proyecto entendern lo que se desea construir, sin tener mayores conocimientos del tema. Para entender a mayor cabalidad esta materia, se mostraran los distintos tipos de diagramas con sus relaciones y clasificacin, la arquitectura de modelado por medio de UML y las vistas en la construccin de software entre otros tpicos, con la finalidad de poder comprender la importancia del manejo de UML por ser un lenguaje estandarizado para la tcnica orientada a objetos.

1. Introduccin UML es la consolidacin de la evolucin de algunos lenguajes de modelado orientado a objetos. El lenguaje de modelado unificado fue desarrollado por la compaa Rational Software a travs de la unin de los principales mtodos existentes para la modelacin orientada a objetos. Estos mtodos fueron desarrollados por Grady Booch (Booch), Jim Raumbaugh (OMT, Object Modeling Technique) e Ivar Jacobson (OOSE, Object Oriented Software Engineering). Estos tres autores fueron llamados los tres amigos de la Ingeniera de Software y muchas veces se les encuentra de ese modo en la literatura relacionada con UML. En 1997 el Object Management Group (OMG), un pilar para la comunidad del diseo orientado a objetos, aprob el documento UML 1.1 (Larman, 1999). A partir de esa fecha se han desarrollado mejoras que han permitido la evolucin hasta UML 2.0 (2001) (Letelier, 2002). Es as que se puede decir que UML es una herramienta que permite a los creadores de Sistemas generar diseos que capturen sus ideas en una forma convencional y fcil de comprender y as poder comunicrselas a otras personas. La estandarizacin de este lenguaje permite adems, que cada una de las partes involucradas en un

proyecto, pueda entender y comprender lo que se est modelando. Es por esto que la siguiente investigacin tendr como finalidad mostrar que es el lenguaje de modelado unificado orientado a objetos basndose en las distintas utilizaciones que se le da a este lenguaje. Esto implicar profundizar en cada una de sus partes para el desarrollo de los modelos y dar a conocer de que manera y en que modelos se puede utilizar UML. 2. Lenguaje de Modelado Unificado Orientado a Objetos 2.1 Tcnica Orientada a Objetos. El paso del tiempo ha generado la complejidad de los sistemas de software. Con el fin de disminuir esta complicacin, se comenz a utilizar la programacin estructurada, donde la programacin se basaba en una secuencia esperada de instrucciones de ejecucin. Finalmente sta tcnica solo logr el desarrollo de un software que nadie entenda completamente (Martin, 1994). La tcnica orientada a objetos tiene diferencias significativas, pues el creador o diseador de modelos piensa en trminos de objetos y el comportamiento de stos. Estas tcnicas entregan un conjunto de clases, que son definiciones de las propiedades y comportamiento

lvarez-Marn et al./ Lenguaje de Modelado Unificado para Sistemas de Software (2012)

de un tipo de objeto concreto, donde la mayor parte del proceso de construccin de software consiste en el ensamblaje de clases existentes y probadas. La creacin de esta tcnica buscaba mejorar la capacidad del profesional de la computacin en diversos modos y es por esto que presenta una serie de beneficios para el anlisis y diseo orientado a objetos (Martn, 1994).

Los objetos de cada uno de los diagramas se utilizan para describir partes de un sistema, estos se mostraran en la siguiente tabla 1. Los tipos de relaciones se muestran en la tabla 2, stas son usadas para conectar objetos de los diagramas de UML.
Nombre Smbolo Descripcin Descripcin de un conjunto de objetos que compartan mismos atributos, operaciones, relaciones y semntica. Coleccin de operaciones que especifican un servicio de una clase o componente. Elementos relacionados -Actores -Seales -Utilidades

Clase

2.2 Lenguaje, No Mtodo. UML se define como un lenguaje que permite especificar, visualizar y construir los objetos o artefactos de los sistemas de software (Booch et al., 1997). Establece un conjunto de notaciones y diagramas estandarizados para modelar sistemas orientados a objetos. Adems entrega una descripcin de la semntica utilizada en cada uno de estos diagramas. Mientras que ha habido muchas notaciones y mtodos usados para el diseo orientado a objetos, ahora los diseadores y modeladores slo tienen que aprender una nica notacin. UML se puede usar para modelar distintos tipos de sistemas, sistemas de software, sistemas de hardware y organizaciones del mundo real. Para esto UML ofrece nueve diagramas en los cuales modelar sistemas (Booch et al., 1997).
Interfaces

Colaboracin

Actor

Interaccin de una sociedad y otros elementos que trabajan juntos para dar un comportamiento de cooperacin, Entidad extensa que se comunica con un sistema, normalmente una persona que juega un rol. Descripcin de secuencias de acciones que un sistema realiza y produce un resultado observable para un actor. Clase cuyos objetos, propios de un proceso o hilo de ejecucin, puede iniciar una actividad de control sobre si mismo.

Caso de uso

Caso de activo

Ingeniera Civil Industrial, Tecnologa &Sistemas, Universidad de La Serena, Chile

lvarez-Marn et al./ Lenguaje de Modelado Unificado para Sistemas de Software (2012) Un componente es una parte fsica y remplazable que se ajusta y proporciona la relacin de un conjunto de interfaces. Un recurso fsico que existe en tiempo de ejecucin y representa un recurso computacional Conjunto de mensajes intercambiados entre un conjunto de objetos y dentro de un contexto partculas para lograr un propsito especifico. Un comportamiento que especifica las secuencias de estado de un objeto. Mecanismo general con propsito de organizar los elementos en grupos.
Paquete

Componente

Realizacin

Nodo

Mensaje interaccin

-Mensaje -Secuencia de accin -Enlaces

Relacin semntica entre dos clasificaciones, donde uno de ellos especifica un contrato y las otras garantas para llevar a cabo el contrato se utiliza entre: -las interfaces y las clases o componentes Los casos de uso y colaboracione s que las realizan

Estado de la maquina

-Estados -Transiciones -Eventos -actividades -Marcos -Modelos -Subsistemas

Tabla2. Relaciones de UML (Booch et al., 1997)

2.3 Clasificacin de los tipos de diagramas Los diagramas son la representacin grfica de un conjunto de elementos con sus relaciones y estn clasificados. D. De comportamiento: permite exhibir comportamientos de un sistema o de los procesos de las organizaciones. (Booch et al., 1997). Diagrama de actividades: Representa los flujos de trabajo paso a paso de negocios y operaciones, muestra el flujo de control general. El diagrama de estado permite visualizar de una forma secuencial la ejecucin de cada uno de los procesos. Diagrama de estado: Utilizado para identificar cada una de las rutas o caminos que puede tomar un flujo de informacin luego de ejecutarse cada proceso. Diagrama de casos de usos: Utilizan para mostrar la vista del caso de uso de un sistema. Diagrama de secuencia: Enfatiza el orden en tiempo de los mensajes. Diagrama de Colaboracin: Muestra el conjunto de objetos, los enlaces entre ellos y los mensajes enviados y recibidos por los objetos. D. De estructura: muestra los elementos de una especificacin que sean independientes del tiempo (Booch et al., 1997). Diagrama de clases: Muestra un conjunto de clases, interfaces y sus relaciones. Diagrama de objetos: Muestra un conjunto de objetos y sus relaciones. Se enfocan en la perspectiva de los casos de uso y prototipos. Diagrama de componentes: Muestra el conjunto de componentes y sus relaciones y se utilizan

Paquetes

Nota

Smbolo para representar notas y restricciones asociadas a un elemento.

Tabla1. Objetos de UML (Booch et al., 1997)

Nombre

Smbolo

Descripcin Relacin semntica entre dos objetos en la cual el cambio en un objeto afecta la semntica del objeto dependiente. Relacin estructural que describe una serie de enlaces, donde cada enlace es una conexin entre objetos Relacin en el que los objetos del elemento especializado pueden sustituir a los objetos del elemento generalizado.

Especializacin

Dependencia

Agregacin

Asociacin

Composicin

Generalizacin

Ingeniera Civil Industrial, Tecnologa &Sistemas, Universidad de La Serena, Chile

lvarez-Marn et al./ Lenguaje de Modelado Unificado para Sistemas de Software (2012)

para ilustrar la vista de la implementacin esttica de un sistema. Diagrama Implantacin: Muestra un conjunto de nodos y sus relaciones, se usan para ilustrar la vista de implantacin esttica de un sistema.

2.6 Arquitecturas de modelado de software en UML Arquitectura de software es un aspecto de la ingeniera de software orientada al desarrollo de aplicaciones grandes y complejas de una manera que reduce los costes de desarrollo, aumenta la posibilidad de coincidencia entre los diferentes miembros de una familia de productos estrechamente relacionados, y facilita la evolucin, posiblemente en el tiempo de ejecucin del sistema (Garlan y Shaw, 1993; Perry y Wolf 1992). Elegir qu aspectos del modelo y la forma de evaluar son dos decisiones que enmarcan la arquitectura de software de investigacin (Medvidovic y Rosenblum 1997). 2.7 Vistas de UML En la construccin de software usando UML, existen cinco vistas para visualizar, especificar, construir y documentar la arquitectura del software (Booch et al., 1997). Vista de Caso de Usos: Muestra la funcionalidad del sistema desde el punto de vista de un actor externo que interacta con el. Esta vista es til para clientes, diseadores y desarrolladores. Vista de Diseo: Muestra la funcionalidad del diseo dentro del sistema en trmino de la estructura esttica y comportamiento dinmico del sistema. Se definen propiedades tales como persistencia, concurrencia, interfaces y estructuras internas a las clases. Esta vista es til a diseadores y desarrolladores. Vista de Procesos: Muestra la concurrencia del sistema, comunicacin y sincronizacin. til para desarrolladores e integradores. Vista de Implementacin: Muestra la organizacin de los componentes de cdigo. til a desarrolladores. Vista de Implantacin: Muestra la implantacin del sistema en la arquitectura fsica. til a desarrolladores, integradores y verificadores. 2.8 Modelos de Diseo Es importante mencionar que UML es un lenguaje para construir modelos no muestra la forma de realizar el anlisis y diseo orientado a objetos ni indica que proceso de desarrollo adoptar (Larman, 1999). Si se quiere caracterizar los modelos, se debe poner de manifiesto la informacin esttica y dinmica de un sistema.

2.4 Modelo UML de un Sistema de Software En el modelado de los sistemas de software se incluye el anlisis y el diseo del mismo. A travs del anlisis, el sistema primero es descrito por medio de un cumulo de requisitos y despus por medio de la identificacin de las partes del sistema en un nivel ms alto. La parte del diseo est ligada con la etapa del anlisis, pues se comienza con la identificacin de las piezas del sistema y se prosigue con una especificacin detallada de las piezas y su interaccin entre ellas (Medvidovic y Rosenblum 1997). Un modelo de un sistema de software se compone de varios modelos parciales, cada uno de los cuales aborda un determinado conjunto de problemas con un cierto nivel de fidelidad. La fidelidad hace referencia a cuanto el modelo corresponder a la eventual implementacin del sistemas, una baja fidelidad implicara que los modelos se utilicen en el inicio del ciclo de vida del sistema, adems que estn orientados principalmente a los problemas y que son ms genricos, los modelos de fidelidad alta son utilizados ms tardamente en el ciclo de vida, estn orientados a las soluciones y son ms especficos. 2.5 Especificacin de Requisitos en el Modelo UML de Sistemas de Software UML especifica el uso de dos elementos determinados para poder especificar la funcionalidad de un sistema a desarrollar. Uno de estos elementos es el actor, quien representa una entidad externa (por ejemplo personas) que interacta con el sistema. El otro elemento es el caso de uso, el cual hace referencia al sistema que se desea construir, mediante este elemento se detalla el comportamiento del sistema, el que produce resultados que pueden ser observados por el actor. Los casos de usos por tanto, describen las funciones que los actores desean del sistema, es por esto que deben representar una tarea completa desde la perspectiva del actor. Los actores junto a los casos de uso forman un modelo denominado Modelo de Casos de Usos, el cual muestra el funcionamiento del sistema mirado desde el lugar del usuario. Por tanto ser til como producto de entrada para el anlisis y diseo del sistema (Medvidovic y Rosenblum 1997).

Ingeniera Civil Industrial, Tecnologa &Sistemas, Universidad de La Serena, Chile

lvarez-Marn et al./ Lenguaje de Modelado Unificado para Sistemas de Software (2012)

1) Vista esttica (o estructural): Realza la esttica estructural del sistema usando objetos, atributos operaciones y relaciones. El punto de vista estructural incluye diagramas de clases y una estructura compuesta de diagramas (Larman, 1999). 2) Vista dinmica (o de comportamiento): Destaca la dinmica del comportamiento del sistema, mostrando la colaboracin entre los objetos y cambios a los estados internos de los objetos. Esta vista incluye diagramas de secuencia, diagramas de actividad y diagramas de estado de la mquina (Larman, 1999).

definicin de alto nivel pueda ser mapeada plataformas de implementacin especfica.

El tener que escoger entre distintas formas de diagramacin ha hecho poco atractiva la realizacin de anlisis y diseos de sistemas. Las discusiones en torno a cual es la metodologa que se debe seguir no han ayudado en absoluto a popularizar la utilizacin de modelos en el desarrollo de sistemas. Afortunadamente, en la industria informtica se ha venido forjando un amplio consenso en torno a UML como estndar de diagramacin. El hecho de que el nuevo lenguaje de modelado no est amarrado a determinadas marcas o productos facilitar la creacin y el intercambio de elementos reutilizables en el anlisis y el diseo. Una de las ventajas que se pretenden lograr mediante un lenguaje unificado es permitir el intercambio de diagramas y de formas de representacin de sistemas entre diversas herramientas. Por ejemplo, si un grupo de desarrolladores utilizara una herramienta CASE (Computer Aided Software Engineering) o una herramienta de modelado visual, debiera existir la facilidad de transportarla a otra herramienta, independientemente del proveedor o fabricante de cada una de ellas (Jaime Gonzlez, 1998). Pero el problema de estandarizacin no tiene que ver slo con la transportabilidad de los diagramas de una herramienta de software a otra. Para mediados de los noventa las llamadas metodologas haban proliferado de tal forma que los proyectos y equipos de trabajo se topaban constantemente con dificultades para seleccionar un mtodo de anlisis y diseo. Los mtodos propuestos por Grady Booch, Ivar Jacobson, James Martin, James Odell, Edward Yourdon, y muchos ms, tenan asociadas sus formas peculiares de diagramacin. En otras palabras, cada uno de estos mtodos contaba con su propio lenguaje de modelado. Esta falta de estandarizacin impeda la reutilizacin de soluciones de un proyecto a otro, y muchas veces inhiba la inversin en capacitacin de personal y en herramientas para diagramar. A lo anterior debemos aadir el esfuerzo y los riesgos inherentes a la curva de aprendizaje de estos mtodos de anlisis y diseo. UML no va a ser la panacea para el desarrollo de sistemas, pero ciertamente va a contribuir a la solucin de algunos de los problemas ms agudos, especialmente en proyectos grandes o complejos.

Vistas de un Software y sus respectivos diagramas (Booch et al., 1997) 3. Discusin As como en los 80 la orientacin a objetos aconteci como corriente dominante, en los 90 las distintas variantes de notacin del anlisis y diseo orientado a objetos, convergieron hacia el uso de una notacin unificada, que se llam UML (Unified Modeling Language). Entre la versin 1.0 y la 2.0, su uso se extendi hasta ser considerada hoy el "estndar de facto" en el diseo de modelos Orientado a Objetos.

Hoy sin embargo, sea por la proposicin de nuevos paradigmas, o sea por la competencia comercial, existen algunas corrientes que relativizan su importancia y aparecen otros puntos de vista de inters. La reciente difusin de Agile y Extreme Programming , no slo significaron un acercamiento ms libre a los mtodos de diseo y administracin del trabajo de un proyecto, sino tambin un debilitamiento de la importancia dada a la visin de un modelo. Esto sucede en el momento en que UML por otra parte da un salto, proponindose la tarea de que un modelo sea capaz de convertir su descripcin en cdigo ejecutable, y que una

Ingeniera Civil Industrial, Tecnologa &Sistemas, Universidad de La Serena, Chile

lvarez-Marn et al./ Lenguaje de Modelado Unificado para Sistemas de Software (2012)

En el desarrollo de software los modelos juegan el mismo papel que los planos y las especificaciones en la industria de la construccin: primero, porque representan la forma de ir plasmando las aproximaciones e ideas necesarias para resolver los requerimientos del cliente; segundo, porque los modelos son esenciales para la comunicacin entre los distintos equipos de trabajo y entre las distintas disciplinas que participan en un proyecto; tercero, porque es mucho ms econmico hacer correcciones sobre un modelo en papel que hacerlas durante la construccin misma. Y existen muchas razones ms, como es el caso de la facilidad que brinda la documentacin para dar mantenimiento a una aplicacin. El uso de mtodos y modelos tiene mucho que ver con una de las contradicciones ms notorias de poca actual: conforme se incrementa la importancia del software en las operaciones crticas de empresas e instituciones, sucede tambin que las mejores tcnicas para producir o implantar este software son desconocidas o no se encuentran adecuadamente diseminadas. Las cifras son alarmantes. Segn W. Wayt Gibbs, en su artculo "Software's Chronic Crisis" publicado en la edicin de septiembre de 1994 de Scientific American, por cada seis grandes proyectos que son puestos en produccin hay otros dos que han sido cancelados; y tres cuartas partes de los que llegan a ser puestos en marcha son considerados fracasos operativos. Las causas de la crisis del software son variadas, pero entre las ms importantes se encuentra la falta de una cultura comn a quienes realizamos los desarrollos. Y esta carencia est ntimamente relacionada con la falta de medios de comunicacin para, por ejemplo, intercambiar tcnicas y soluciones exitosas. Es precisamente en estos aspectos donde UML nos puede ayudar. (Jaime Gonzlez, 1998) Existen muchos conceptos que no tienen definiciones suficientemente precisas para que puedan ser interpretados sin ambigedad producto de la falta de una semntica formal. Esto en algunos casos puede resultar que sea poco expresivo y hasta inconsistente. Sin embargo varios de sus diagramas resultan tiles para modelar algunos tipos de sistemas, de un alcance reducido. El usar el lenguaje de modelado unificado nos brinda la ventaja de que sea comprendido y utilizado por humanos y a la vez por software, ya que presenta una

forma estndar de especificar de manera visual y textual los sistemas. 4. Conclusiones La tecnologa orientada a objetos tiene como finalidad descomponer la complejidad en partes ms manejables y ms comprensibles. La gran diferencia se encuentra en aplicar la dualidad estructura-funcin en pequeas unidades capaces de comunicarse y reaccionar en base a la aparicin de una serie de eventos. El lenguaje de modelado unificado es reconocido mundialmente por la industria de construccin de software. Este lenguaje permite el modelamiento visual, siendo una de las tcnicas que brinda mejores resultados. Es importante destacar que todos los sistemas tienen una estructura esttica, la cual se describe en los diagramas de clases y componentes, y comportamiento dinmico, que se representa con diagramas de estado, secuencia, colaboracin y de actividades. Segn Grady Booch, uno de los tres amigos, el 80% de la mayora de los problemas pueden modelarse usando alrededor del 20% de UML. Los diagramas a utilizar en las diferentes etapas del desarrollo de los sistemas de informacin, pueden variar dependiendo del tamao y tipo de sistema, por lo que es necesario organizarlos segn las fases del Proceso Unificado. En este trabajo se busc mostrar las caractersticas que permiten que UML sea considerado estndar en la construccin de modelos, hacindolo uno de los lenguajes de modelado ms utilizados para el diseo de sistemas de diferentes tipos y el preferido por los desarrolladores. Referencias Booch,G., Rumbaugh, J., Jacobson, I., The Unified Modeling Language for Object-Oriented Development, 1996. Booch,G., Rumbaugh, J., Jacobson, I., El Lenguaje Unificado de Modelado, Addison-Wesley 1999. Coleman, D., Arnold, P., Bodoff, S., Dollin, C., Gilchrist, H., Hayes, F. and P.Jeremes. "Object-Oriented Development: The Fusion Method". Prentice-Hall.1994. Desmond F., DSouza., Alan C., Willis, Addison Wesley Longman, Objetos, componentes y Estructuras con UML, The Catalysis Aproach, 1998.

Ingeniera Civil Industrial, Tecnologa &Sistemas, Universidad de La Serena, Chile

lvarez-Marn et al./ Lenguaje de Modelado Unificado para Sistemas de Software (2012)

Larman, C. "Applying UML and Patterns. An Introduction to Object-OrientedAnalysis and Design". Prentice-Hall. 1998. Object Management Group. OMG Unified Modeling Language Specification.Versin. 1.5. Documento formal/03-03-01. Marzo 2003 OMG. "UML Summary. v1.1". UML Specification Document ad/97-08-03.http://www.org.omg. September 1997. Quantrani, T. "Visual Modeling with Rational Rose and UML". Addison-Wesley.1998.

Ingeniera Civil Industrial, Tecnologa &Sistemas, Universidad de La Serena, Chile

Das könnte Ihnen auch gefallen