Foro temático semana tres
Descripción:
Comparta con sus compañeros las ventajas más relevantes de usar UML como base
para realizar los diagramas de representación de un sistema.
Introducción
En general al
producirse un requerimiento de software, surge una idea. Por ejemplo un
administrador general de un negocio que compra y vende productos, observa que
utilizando la informática puede mejorar sustancialmente su administración; entonces,
teniendo una idea bastante clara de su necesidad, acude a especialistas en
desarrollo de software.
Después de varias
entrevistas, los especialistas determinan que deben cumplir con las siguientes
etapas de trabajo para generar el software adecuado a los requerimientos de su
cliente:
a)
Relevamiento
b)
Análisis
c)
Diseño
d)
Desarrollo
e)
Capacitación
f)
Mantenimiento
El relevamiento
consiste en un dialogo permanente de los especialistas y el cliente (puede
incluir al personal de diferentes sectores del negocio) con el fin que los
primeros identifiquen todos y cada uno de los componentes de dicho negocio y
cómo interactúan. En definitiva, los especialistas deben comprender aquella
idea detalladamente y mantenerla mientras se produce el software.
Para esto, los
especialistas pueden hacer uso del Lenguaje Unificado de Modelado, ya que les
ayudará a capturar la idea del sistema requerido, para luego comunicarla a los
involucrados en el proyecto. Esta tarea se lleva a cabo en las etapas de
análisis y diseño, utilizando simbología y diagramas UML con el objeto de
modelar el sistema.
Modelar el sistema
utilizando los diagramas de UML, significara en definitiva contar con
documentos que plasman el trabajo de capturar la idea para la posterior
evolución del proyecto. El cliente podrá entender el plan de trabajo de los
especialistas y señalar cambios si no se captó correctamente alguna necesidad;
o bien, indicar cambios sobre la marcha del proyecto. A su vez, los
especialistas encargados del desarrollo generalmente trabajaran en equipo, por
lo que cada uno de ellos podrá identificar su trabajo particular y el general a
partir de los diagramas UML.
UML proporciona las
herramientas para organizar un diseño sólido y claro, que comprendan los
especialistas involucrados en las distintas etapas de la evolución del
proyecto, y por qué no para documentar un anteproyecto que será entregado al
cliente.
El UML está compuesto
por diversos elementos gráficos que se combinan para conformar diagramas.
Debido a que el UML es un lenguaje, cuenta con reglas para combinar tales
elementos.
La finalidad de los
diagramas es presentar diversas perspectivas de un sistema, a las cuales se les
conoce como modelo. Recordemos que un modelo es una
representación simplificada de la realidad; el modelo UML describe lo que
supuestamente hará un sistema, pero no dice cómo implementar dicho sistema.
UML
El éxito de un proyecto depende en gran medida de un buen
plan y de una buena organización. En vista de ello, se hace necesario contar
con herramientas eficientes para desarrollar sistemas.
La utilización del UML como herramienta de diseño de
sistemas no se trata de una aventura sin precedentes, sino por el contrario,
UML es actualmente un estándar que ha llegado a hacerse popular por la
aceptación que ha tenido y la efectividad que ha representado para muchos
analistas y diseñadores de sistemas.
El Lenguaje Unificado de Modelado preescribe un conjunto de
notaciones y diagramas estándar para modelar sistemas orientados a objetos, y
describe la semántica esencial de lo que estos diagramas y símbolos significan.
Mientras que ha habido muchas notaciones y métodos usados para el diseño orientado
a objetos, ahora los modeladores sólo tienen que aprender una única notación.
UML se puede usar para
modelar distintos tipos de sistemas: sistemas de software, sistemas de
hardware, y organizaciones del mundo real.
UML es una
consolidación de muchas de las notaciones y conceptos más usados orientados a
objetos. Empezó como una consolidación del trabajo de Grade Booch, James
Rumbaugh, e Ivar Jacobson, creadores de tres de las metodologías orientadas a
objetos más populares.
UML preescribe una
notación estándar y semánticas esenciales para el modelado de un sistema
orientado a objetos. Previamente, un diseño orientado a objetos podría haber
sido modelado con cualquiera de la docena de metodologías populares, causando a
los revisores tener que aprender las semánticas y notaciones de la metodología
empleada antes que intentar entender el diseño en sí. Ahora con UML, diseñadores
diferentes modelando sistemas diferentes pueden sobradamente entender cada uno
los diseños de los otros.
UML es, probablemente
una de las innovaciones conceptuales en el mundo tecnológico del desarrollo de
software que más expectativas y entusiasmos haya generado en muchos años,
comparable a la aparición e implantación de los lenguajes COBOL, BASIC, PASCAL,
C++, y más recientemente Java o XML. Además todas las expectativas se han
cumplido y han generado a su vez nuevas expectativas. UML es ya un estándar de
la industria, pero no solo de la industria del software sino, en general, de
cualquier industria que requiera la construcción de modelos como condición
previa para el diseño y posterior construcción de prototipos.
UML ha nacido como un
lenguaje, pero es mucho más que un lenguaje de programación. Aunque en su
génesis se parece a C++ o a Java, en realidad se ha diseñado o construido un
lenguaje que ha nacido con una madurez muy acentuada si se le compara, incluso,
con los últimos desarrollos de HTML, Java y XML, los lenguajes por excelencia
del mundo Internet.
Ventajas
UML se ha diseñado
realizando combinaciones de una gran cantidad de estándares, si bien se rige a
través de tres metodologías procedentes de la colaboración de los tres
creadores de UML, J. Rumbaugh, G. Booch e I. Jacobson, así como del análisis y
estudio de alrededor de 20 métodos estándares que a su vez se han integrado en
otro estándar, en este caso, UML; esta fue una gran iniciativa de los tres
creadores que pusieron las especificaciones de UML a la consideración de la
comunidad informática mundial, antes de su publicación. El diseño de UML ha
sido completo desde el principio, al contrario que HTML que ha cambiado
gradualmente, de forma que XML ha tratado de resolver los problemas de HTML y
Java, que sigue todavía en el proceso de estandarización con la nueva versión
2.0. Al contrario que HTML/XML que son lenguajes de marcación (markup), UML es
un lenguaje para modelar, que es el proceso que emplean los ingenieros de
software antes de pasar a su construcción, al igual que sucede con cualquier
producto manufacturado o fabricado en serie.
UML ayuda al usuario a
entender la realidad de la tecnología y la posibilidad de que reflexione antes
de invertir y gastar grandes cantidades en proyectos que no estén seguros en su
desarrollo, reduciendo el coste y el tiempo empleado en la construcción de las
piezas que constituirán el modelo.
Sin embargo desde el
punto de vista puramente tecnológico, UML tiene una gran cantidad de
propiedades que han sido las que, realmente han contribuido a hacer de UML el estándar
de facto de la industria que es en realidad. Algunas de las propiedades de UML
como lenguaje de modelado estándar son:
·
Concurrencia: es un lenguaje distribuido y adecuado a las
necesidades de conectividad, actuales y futuras.
·
Ampliamente utilizado por la industria desde su adopción
por OMG.
·
Reemplaza a decenas de notaciones empleadas con otros
lenguajes.
·
Modela estructuras complejas.
·
Las estructuras más importantes que soportan tienen su
fundamento en las tecnologías orientadas a objetos, tales como objetos, clase,
componentes y nodos.
·
Emplea operaciones abstractas como guía para variaciones
futuras añadiendo variables si es necesario.
·
Comportamiento del sistema: casos de uso,
diagramas de secuencia y de colaboraciones, que sirven para evaluar el estado
de las máquinas.
Algunos beneficios: Dos grandes empresas, Rational Software (empresa
creadora de UML y de Rational Case) y Commerce One (líder mundial en soluciones
globales de comercio electrónico) acordaron colaboración mutua para crear la
especificación de la primera versión UML para la industria, que siga las
especificaciones XML para el desarrollo del comercio electrónico; es decir, se
han unido dos grandes empresas con el objeto de construir un método estándar
que reduzca drásticamente el tiempo de desarrollo e incremente la calidad de
las aplicaciones de comercio electrónico basadas en XML.
Se trata de alcanzar
la máxima de que el cambio rápido de Internet ha creado una paradoja para el
desarrollo del conocido como e-software para las organizaciones que requieren
la entrega de software de un modo mucho más rápido pero conservando una calidad
alta. La versión de UML para especificaciones XML está disponible en el sitio
web de Commerce One (www.commerceone.com/xml/sox/index.html) y en el sitio web de
Rational (www.rational.com/uml/index.itmpl).
Otra gran ventaja que
está ofreciendo UML se refiere al desarrollo de aplicaciones globales para la
web, no solo para comercio electrónico. UML está siendo utilizado por los
gerentes de proyectos, desarrolladores y arquitectos de la web que aplican
técnicas orientadas a objetos para construir aplicaciones web robustas,
escalables y eficientes. UML permite a los desarrolladores modelar sus
aplicaciones web como parte de un sistema completo y la lógica de negocios que
se debe reflejar en las aplicaciones.
UML permite modelar
sistemas de información, y su objetivo es lograr modelos que, además de
describir con cierto grado de formalismo tales sistemas, puedan ser entendidos
por los clientes o usuarios de aquello que se modela. Para ello es muy
importante que el idioma en el que estén las palabras y textos que aparezcan en
tales modelos sea el propio de estas personas.
En cualquier comunidad
hispanohablante, leer “Pedido” aclara más que ver “Order”, y leer “Hereda de”
más que “inherits”, porque los términos en español evocan directamente al
lector una semántica cercana a la que se pretende con su uso en el modelo, y
esa evocación es precisamente la razón por la cual fueron elegidos los términos
ingleses de ese modelo. Como lenguaje de modelado y descripción, UML permite
que todo el modelo se cree en español o en cualquier otro lenguaje. Sin
embargo, el inglés ha sido el idioma nativo en la creación de UML, por lo que
las palabras clave incorporadas en el propio UML están en inglés. Para el
cliente y el equipo de desarrollo, esto no es un problema, pueden usar los
términos traducidos que entenderán mejor; pero cuando se quiere usar una
herramienta de ingeniería de software que entiende semántica UML, ésta esperará
encontrar términos ingleses para entender lo que quiere decir, por ejemplo, esa
línea o figura.
Características
generales
El Lenguaje Unificado
de Modelado (UML) es un lenguaje de modelado visual que se usa para
especificar, visualizar y documentar artefactos de un sistema de software.
Captura decisiones y conocimiento sobre los sistemas que se deben construir. Se
usa para entender, diseñar, hojear, configurar, mantener y controlar la
información sobre los sistemas que se deben construir. Está pensado para usarse
con todos los métodos de desarrollo, etapas del ciclo de vida, dominios de
aplicación y medios. El lenguaje de modelado pretende unificar la experiencia
pasada sobre técnicas de modelado e incorporar las mejores prácticas actuales
en un acercamiento estándar. UML incluye conceptos semánticos, notación y
principios generales. Tiene partes estáticas, dinámicas, de entorno y
organizativas. Está pensado para ser utilizado en herramientas interactivas de
modelado visual que tengan grandes generadores de código así como generadores
de informes. La especificación de UML no define un proceso estándar pero está
pensado para ser útil en un proceso de desarrollo iterativo. Pretende dar apoyo
a la mayoría de procesos orientados a objetos.
UML capta la
información sobre la estructura estática y el comportamiento dinámico de un
sistema. Un sistema se modela como una colección de objetos discretos que
interactúan para realizar un trabajo que finalmente beneficia a un usuario
externo. La estructura estática define los tipos de objetos importantes para un
sistema y para su implementación, así como las relaciones entre los objetos. El
comportamiento dinámico define la historia de los objetos en el tiempo y la
comunicación entre objetos para cumplir sus objetivos. El modelar un sistema
desde varios puntos de vista, separados pero relacionados, permite entenderlo
para diferentes propósitos.
UML también contiene
construcciones organizativas para agrupar los modelos en paquetes, lo que
permite a los equipos de software dividir grandes sistemas en piezas de
trabajo, para entender y controlar las dependencias entre paquetes, y para
gestionar las versiones de las unidades del modelo, en un entorno de desarrollo
complejo. Contiene construcciones para representar decisiones de implementación
y para elementos de tiempo de ejecución en componentes.
UML no es un lenguaje
de programación. Las herramientas pueden ofrecer generadores de código de UML
para una gran variedad de lenguajes de programación, así como construir modelos
por ingeniería inversa a partir de programas existentes. UML es un lenguaje
altamente formal pensado para probar teoremas. Hay varios lenguajes de ese
tipo, pero no son fáciles de entender ni de usar para la mayoría de los
propósitos. UML es un lenguaje de modelado de propósito general; para dominios
especializados, tales como la composición de IGU, diseño de circuitos VLSI, o
inteligencia artificial basada en reglas, podría ser más apropiada una
herramienta especializada con un lenguaje especial. UML es un lenguaje de
modelado discreto. No se creó para modelar sistemas continuos como los basados
en ingeniería y física. UML quiere ser un lenguaje de modelado universal, de
propósito general, para sistemas discretos, tales como los compuestos por
software, firmware o lógica digital.
El UML soporta un conjunto rico
en elementos de notación gráficos. Describe la notación para clases,
componentes, nodos, actividades, flujos de trabajo, casos de uso, objetos,
estados y cómo modelar la relación entre esos elementos. El UML también soporta
la idea de extensiones personalizadas a través elementos estereotipados.
El UML provee beneficios
significativos para los ingenieros de software y las organizaciones al
ayudarles a construir modelos rigurosos, trazables y mantenibles, que soporten
el ciclo de vida de desarrollo de software completo.
El UML unido a una gestión de
calidad, evita malos entendidos y entrega ciertas precauciones en
la evolución y mantención de programas. Especialmente en lo referente a los
requerimientos asociados al levantamiento y diseño funcional de un sistema. En
efecto, por ejemplo con los Clientes Dilema, quienes nos podrán hacer pensar que el cambio que están solicitando es
pequeño, cuando detrás de la petición existe una enorme cantidad de tareas
relacionadas al requerimiento.
Referencias:
El lenguaje unificado de modelado. Manual de referencia.
J. Rumbaugh, I. Jacobson, G. Booch
Pearson Educación S.A., Madrid 2000
Monografías.com
Ejemplos
de diagramas UML, interfaces gráficas de usuario, y usos del UML en la ingeniería
inversa
Modelado
de Sistemas com UML
por
Popkin Software and Systems
El
Lenguaje de Modelado Unificado
Proyectos UML
Diagramas de
clases y aplicaciones
JAVA en NetBeans
6.9.1
Ubaldo José
Bonaparte
Editorial de la
Universidad Tecnológica Nacional
Argentina
No hay comentarios.:
Publicar un comentario