e j e mpl mp osdec a s osdeus ouml t i e ndahot e l yma ma s CASOSDEUSO 1. Laent i dadqu ei ni c i ael c as odeus os el l amaac t or ,per s onaquer ea l i z aunr o l . 2 .“ I NCL UI R” :Esag r e ga roi n t r o du ci ra cc i o ne sau nc as od eu so ,p ore j e mp mp l o . Unac t orpuedeut i l i z arac ci onesdeot r oac t or . 3 .“ EXTENDER” :Es p ec i fi c a rl aba s ed el c a s oi n t r o du c i e nd oa c c i o ne senun as e c ue nc i a . Ej er c i c i os So f t wa r ed ei n f o r ma ci ó nd eu nab i b l i o t e ca Ac t o r e s -Bi bl i ot ec ar i o -Us uar i o Bi bl i ot ec ar i o Si s t e mad ma ei n gr e sop ar av e r i fi c ard at o s -I ngr es oa ls i s t ema -Ve r i fi c adat os -Cons ul t adi s poni bi l i dad -Pe di rd oc u me me nt o Si s t e map ma ar aco ns ul t a rmu l t a s -Ve r i fi c amul t as -As i g namu mu l t a s Si s t e map ma ar amo di fi c a ri n f o r ma c i ó n -El i mi nai nf or mac i ón -Mo di fi c ai n f o r ma ci ó n Si s t emader egi s t r odeunl i b r o -Regi s t r odei nf or mac i óndel l i br oenpr és t amo -Regi s t r odeus uar i o Us u ar i o Si s t emapar as ol i c i t arl i br o -I ngr es oa ls i s t ema -Cons ul t adi s poni bi l i daddel i br os -Sol i c i t al i br o
Ej e mp l ot i e nd a
Ej empl oHOTEL
Unified Modeling Language (UML)
Introducción Aparenetemente UML es la mejor solución para todos los profesionales relacionados con el Análisis de Sistemas, ya que si nos tocara trabajar en un proyecto de software, en el cual sabemos que el número de integrantes no es para nada reducido si se trabajase en empresas grandes!, sin la aplicación de UML, se "ace engorroso ponerse de acuerdo en las metodolog#as que se utili$arán, en las notaciones que se emplearán para cada modelo ya sea de análisis o de implementación!% &s por ello que este nue'o paradigma de dise(o nos posibilita unificar todos nuestros criterios, para un posterior entendimiento, y mejor organi$ación de los proyectos% )omo des'entaja podemos destacar aunque para algunos o muc"os no lo ser#a! que UML permite especificar, 'isuali$ar y construir software*s, pero orientado a objetos% +ara aquellos que prefieran las metodolog#as estructuradas deberán esperar que surja un Lenguaje Unificado de Modelado &structurado% +ensamos que esto no sucederá, a lo sumo aparecerá alguna etensión de UML para considerar algún aspecto del modelo estructurado, pero a nuestro parecer no ser#a muy justificable, por que a lo que se apunta en la actualidad es a la aplicación de metodolog#as orientadas a objetos, pues -stas brindan muc"as 'entajas y solucionan muc"os de los problemas que surgen en las metodolog#as estructuradas%
1. Qué es UML. Caracteristicas &l Lenguaje de Modelado Unificado UML es un lenguaje estándar para escribir planos de software% UML puede utili$arse para 'isuali$ar, especificar, construir y documentar los artefactos de un sistema que in'olucra gran cantidad de software% &l UML es el Lenguaje de Modelado Unificado .rientado a .bjetos, UML no es un m-todo porque no tiene noción de proceso el cual es una parte importante de un m-todo% /arios especialistas en desarrollo de sistemas de información argumentan de que eiste la necesidad de adoptar un +roceso de 0esarrollo de sistemas para enmarcar las fases importantes que sigue el UML, por ello los desarrolladores de proyectos de sistemas de información emplean el +rocesos Unificado para dar soluciones adecuadas a las necesidades de los clientes% &l desarrollo de sistemas con UML siguiendo el proceso unificado incluye acti'idades espec#ficas, cada una de ellas a su 'e$ contienen otras subacti'idades las cuales sir'en como una gu#a de cómo deben ser las acti'idades desarrolladas y secuenciadas con el fin de obtener sistemas eitosos1 consecuentemente el desarrollo de los sistemas puede 'ariar de desarrollador en desarrollador, de proyecto en proyecto, de empresa en empresa adoptando siempre un +roceso de 0esarrollo% UML es una especificación de notación orientada a objetos% Se basa en las anteriores especificaciones 2..)3, 4UM2AU53 y ).A067.U40.8% 0i'ide cada proyecto en un número de diagramas que representan las diferentes 'istas del proyecto% &stos diagramas juntos son los que representa la arquitectura del proyecto% UML permite describir un sistema en diferentes ni'eles de abstracción, simplificando la complejidad sin perder información, para que tanto usuarios, l#deres y desarrolladores puedan comprender claramente las caracter#sticas de la aplicación%
UML se quiere con'ertir en un lenguaje estándar con el que sea posible modelar todos los componentes del proceso de desarrollo de aplicaciones% Sin embargo, "ay que tener en cuenta un aspecto importante del modelo9 no pretende definir un modelo estándar de desarrollo, sino únicamente un lenguaje de modelado% .tros m-todos de modelaje como .M: .bject Modeling :ec"nique! o 2ooc" s# definen procesos concretos% &n UML los procesos de desarrollo son diferentes según los distintos dominios de trabajo1 no puede ser el mismo el proceso para crear una aplicación en tiempo real, que el proceso de desarrollo de una aplicación orientada a gestión, por poner un ejemplo% &l m-todo del UML recomienda utili$ar los procesos que otras metodolog#as tienen definidos% 2. Historia del UML La notación UML se deri'a y unifica las tres metodolog#as de análisis y dise(o .. más etendidas, Metodolog#a de Grady Boochpara la descripción de conjuntos de objetos y sus relaciones, :-cnica de modelado orientada a objetos de James Rumbaugh.M:9 .bject6 Modeling :ec"nique!, Aproimación de Ivar Jacobson ..S&9 .bject6 .riented Software &ngineering! mediante la metodolog#a de casos de uso use case!% &l desarrollo de UML comen$ó a finales de ;<<= cuando 5rady 2ooc" y >im 4umbaug" de 4ational Software )orporationempe$aron a unificar sus m-todos% A finales de ;<, @'ar >acobson y su compa n#a .bjectory se incorporaron a 4ational en su unificación, aportando el m-todo ..S&% 0e las tres metodolog#as de partida, las de 2ooc" y 4umbaug" pueden ser descritas como centradas en objetos, ya que sus aproimaciones se enfocan "acia el modelado de los objetos que componen el sistema, su relación y colaboración% +or otro lado, la metodolog#a de >acobson es más centrada a usuario, ya que todo en su m-todo se deri'a de los escenarios de uso% UML se "a ido fomentando y aceptando como estándar desde el .M5, que es tambi-n el origen de ).42A, el estándar l#der en la industriapara la programación de objetos distribuidos% &n ;<< UML ;%; fue aprobada por la .M5 con'irti-ndose en la notación estándar de facto para el análisis y el dise no orientado a objetos% UML es el primer m-todo en publicar un meta6modelo en su propia notación, incluyendo la notación para la mayor#a de la información de requisitos, análisis y dise no% Se trata pues de un meta6modelo auto6referencial cualquier lenguaje de modelado de propósito general deber#a ser capa$ de modelarse a s# mismo!% 3. Características de softare !ue usan UML Una "erramienta de desarrollo integrado deber#a ayudar a los desarrolladores en todas las etapas del ciclo de 'ida del software% 0e acuerdo con la metodolog#a 4U+, el proceso unificado se repite a lo largo de una serie de ciclos que constituyen la 'ida de un sistema software% )ada ciclo debe tener los siguientes modelos9 Un modelo de casos de uso Un modelo de análisis Un modelo de dise(o Un modelo de implementación Un modelo de despliegue o distribución Un modelo de prueba La "latafor#a $cli"se9 combinada con el >0: >a'a 0e'elopment :ooling!, permite disponer de un @0& @ntegrated 0e'elopment &n'ironment o &ntorno de desarrollo integrado! para >a'a de ecelente calidad% Aqu# cobra más sentido la frase B&clipse es un @0& abierto y etensible para todo y, sin embargo, para nada en particularB% +or s# misma, la plataforma &clipse proporciona funcionalidades demasiado gen-ricas% Solamente cuando se amplia con otras "erramientas el >0: en este caso, que figura en la distribución estándar de &clipse y que es un plug6in formado, a su 'e$, por otros plug6ins!, permite desarrollar acti'idades útiles para los usuarios que la 'ayan a utili$ar como @0&% • • • • • •
+ara el análisis y dise(o de software mediante UML ya "ay disponibles 'arios plug6ins open source para la plataforma &clipse9 &MC,magicdraw, .M.80. y Slime UML% .frecen, en general, las utilidades "abituales9 generación de diagramas UML, ingenier#a in'ersa, generación de código a partir de los diagramas de clases, etc-tera% %oseidon for UML& UML puede simplificar la tarea compleja de desarrollo de software ayudando en la estructuración, aclarando comunicación, y encontrando la abstracción correcta% +oseidon for UML e'ita distracciones de otras "erramientas complejas% La interfase intuiti'a "ace +oseidon la "erramienta UMLmas rapida para manejar, consiguiendo el enfoque en el modelo% $nter"rise 'rcitect& )ombina el potencial de la ultima especificación UML D%E con un alto desempe(o, interfase intuiti'a, para crear modelados a'an$ados para el equipo de desarrollo e implementación% 5randes funcionalidades a un precio accesible, &nterprise Arc"itect puede ayudar al equipo completo, incluyendo analistas, pruebas, jefes de proyecto, personal de control de calidad, desarrolladores y mas, por una fracción del costo de la competencia% #art*ra& &s una forma facil y rapida de reali$ar diagramas de software y es solo el comien$o, eFeeG comenta que Smart0raw no solo es mas facil de usar, tambien cuesta menos que /isio, brinda mas y mejores resultados que /isio, incluye soporte gratis in6 "ouse% Se pueden crear diagramas de software y formatos que se requieran, incluyendo diagramas UML, diagramas de flujo de datos, &40, paginas web, dise(os 5U@ y muc"o mas, sin gastar muc"o dinero ni tiempo Meta#ill& &s un software profesional de modelado UML, desde la 'ersión =%E soporta UML D%E% Metamill está escrito en )HH y corre ligero% :odas las 'ersiones soportan codigo round6 trip engineering for >a'atm!, )HH, A8S@ ) y )I% 0ocumentación 3:ML puede ser generada desde los modelos% Metamill soporta M0A de la forma mas simple% Metamill es un software de modelado UML orientado para equipos de ingenieros y dise(adores indi'iduales de sistemas que usan intensi'amente UML como lenguaje de modelado% +ational +ose es la "erramienta )AS& que comerciali$an los desarrolladores de UML y que soporta de forma completa la especificación del UML% &sta "erramienta propone la utili$ación de cuatro tipos de modelo para reali$ar un dise(o del sistema, utili$ando una 'ista estática y otra dinámica de los modelos del sistema, uno lógico y otro f#sico% +ermite crear y refinar estas 'istas creando de esta forma un modelo completo que representa el dominio del problema y el sistema de software% Left Case agrupa distintos componentes que permiten la edición de diagramas, 0C0 0iagramas de flujo de datos!, 0:0 0iagramas de transición de estados!, 0&4 0iagramas entidadJrelación!, 0iagramas de clases UML, 0iagramas de )asos de Uso, 0iagramas de transición de estados bajo UML!, @nt )ase es un nue'o componente, &s un entorno )AS& frontal, +ermite la edición de diagramas de @nteracción% Los objeti'os de Left )ase son, )reación de un entorno )AS& para la edición de diagramas bajo distintos paradigmas, &structurado .bjetual, 5eneración automática de documentación t-cnica de análisis y d ise(o, Cormato de almacenamiento estándar y portable9 KML% ,. --H& una e/tensión a los #étodos -- "ara el #odelado 0 generación auto#tica de interfaces i"er#ediales
&n la actualidad, los m-todos de modelado conceptual de aplicaciones centran la mayor parte de sus esfuer$os en el correcto modelado de sus capas estática, dinámica y funcional, pero suelen prestar poca o ninguna atención a la presentación, es decir, a su interfa$% Sin embargo, el dise(o cuidadoso de esta interfa$, as# como sus caracter#sticas de facilidad de uso, e'olución y mantenimiento, son aspectos fundamentales para el -ito final de la aplicación, y determinan el ni'el de satisfacción alcan$ado por el usuario durante el uso de la misma% ..63 recoge las dimensiones de na'egación y presentación caracter#sticas de este tipo de interfaces mediante dos nue'os diagramas9 el 0iagrama de Acceso 8a'egacional 0A8! y el 0iagrama de +resentación Abstracta 0+A!% &l 0A8 toma como base los requerimientos de na'egación de cada tipo de usuario del sistema% +ara cada usuario, el 0A8 importa un diagrama de clases etra#do a partir del diagrama de clases de la aplicación! donde se refleja eclusi'amente la organi$ación de la información manejada por ese tipo de usuario% A continuación, el 0A8 proporciona los constructores necesarios para enriquecer dic"o diagrama con los modos de acceso y na'egación necesarios para cubrir sus necesidades de na'egación a tra'-s de la información% A partir de -l, y aplicando una serie de reglas de transformación, es posible generar un 0+A por defecto% &l 0+A se define como una estructura de plantillas especificadas en KML% :anto la estructura del diagrama como las plantillas indi'iduales pueden ser refinadas por el dise(ador para conseguir los rasgos de interfa$ deseados% +ara enriquecer los diagramas de un modo sistemático, ..63 integra un )atálogo de +atrones de @nterfa$, que captura reglas de dise(o que ayudan a incrementar la calidad y facilidad de uso de la misma% )omo resultado, una interfa$ de aplicación web integrable con módulos de lógica preeistentes puede ser generada de forma automática a partir de esta especificación% UMLMast& Una Metodología de 'nlisis 0 *iseo de ie#"o +eal de iste#as -rientados a -45etos UML6Mast es un entorno de modelado que aporta una nue'a 'ista Mast4:/iew! para la descripción del comportamiento de tiempo real del sistema que se modela% A tra'-s de ella el dise(ador puede construir gradualmente el modelo de tiempo real de forma paralela al desarrollo de su modelo lógico% &ste modelo puede ser anali$ado por un conjunto de "erramientas automáticas relati'as al análisis de planificabilidad, estimación de "olguras, asignación óptima de prioridades, detección de bloqueos, animación etc% )on su uso el dise(ador puede tener en consideración desde las primeras fases del dise(o estimaciones del ni'el de cumplimiento de las prestaciones de tiempo real% :anto los componentes conceptuales de modelado como las "erramientas de análisis de UML6Mast son proporcionados por el entorno Mast Modelling and Analysis Suite for 4eal :ime Applications! ;,DN% Mast es un entorno abierto basado en una descripción tetual Mast6 Cile! del modelo del sistema de tiempo real% 6. 7ortale8as 0 *e4ilidades al usar UML. 6.1. 7ortale8as &s un lenguaje consolidado% &standard de facto% Cacil de aprender% +ermite una comunicación% Cluida entre los di'ersos actores acerca del modelo% &stándar industrial, soportado por muc"as "erramientas )AS& 6.2. *e4ilidades UML no "a sido dise(ado para modelar procesos de negocio, por lo que no está orientado a lo que necesita el eperto en el dominio del negocio% +redispone un enfoque orientado a objetos lo que puede contradecir un enfoque orientado al negocio% UML suele estar mas orientado a los arquitectos de sistemas y dise(adores de software UML está pensando para un publico eminentemente tecnico% 0emasiada orientación a software, dif#cil de entender por epertos de dominio% 9. UML durante el anlisis 0 diseo de un siste#a 0 durante la "rogra#ación.
Unified Modeling Language BUMLB, se "a con'ertido en la notación estándar para definir, organi$ar y 'isuali$ar los elementos que configuran la arquitectura de un sistema% Un sistema es algo BcompuestoB, una construcción reali$ada por manos y "erramientas siguiendo las directrices de un propósito% La palabra se aplica casi eclusi'amente a abstracciones con el fin de captar la totalidad de una realidad% A tra'-s de la notación UML podemos comunicar y compartir el conocimiento de una arquitectura gracias a la combinación simultánea de cinco perspecti'as9 a! 0efinir%6 Cijar, determinar, decidir, eplicar un concepto a tra'-s de sus atributos distinti'os% Se(alar sus l#mites y dar una idea eacta de lo que es esencial y de lo que es circunstancial% b! .rgani$ar%6 &stablecer unos recursos, disponer un orden de responsabilidades y formali$ar unas reglas de relación y actuación1 todo ello orientado a conseguir un propósito% c! /isuali$ar%6 4epresentar mediante imágenes yJo s#mbolos el contenido y la organi$ación de los conceptos que configuran un sistema% 3acer 'isible su naturale$a y su complejidad% d! Actuar%6 +ensar y tomar decisiones de manera agil y sistemática, siguiendo un m-todo1 -ste a su 'e$, define el modo de actuar en base a la relación de un conjunto de actores, acti'idades, entregables y certificaciones posibles en un escenario concreto% e! )ertificar%6 )omprobar de manera fe"aciente que un entregable es completo, co"erente y usable para el propósito que "a sido creado% &l resultado, es una mayor comprensión y claridad sobre la naturale$a de los objetos, eventos y hechos que tienen consecuencias dentro de un dominio% &l primer paso para la creación del dise(o lógico de una aplicación es identificar los objetos empresariales los componentes! que proporcionarán la funcionalidad necesaria% A continuación, el equipo debe identificar los comportamientos, atributos y relaciones de cada objeto, para lo cual el equipo se sir'e de los escenarios de uso creados en la fase conceptual% &l lenguaje de modelos unificado UML! es una "erramienta que se utili$a para ilustrar el funcionamiento del sistema% +uede resultar bastante útil a la "ora de describir 'isualmente un sistema para anali$arlo en detalle% &l uso de UML es una forma fácil de elaborar diagramas de componentes, interacciones y relaciones, entre otros% A menudo, UML se utili$a en la fase lógica para facilitar el análisis del dise(o% &l +roceso de Análisis de 4equisitos permite refinar la especificación de requisitos )asos de Uso! y define un conjunto de reglas que asegura que cada elemento del Modelo de 4equisitos tendrá una representación equi'alente en el &squema )onceptual% )uando se llega a la fase de programación, el 'alor del esfuer$o reali$ado en la especificación de requisitos y en el Modelado )onceptual no están del todo claros% &sto es principalmente debido a que no es posible producir un código fuente que funcione de forma equi'alente al esquema conceptual desarrollado, de all# la importancia del uso de UML % :. '"licación de un caso "rctico. &l due(o de un "otel pide desarrollar un programa para consultar sobre las pie$as disponibles y reser'ar pie$as de su "otel% &l "otel posee tres tipos de pie$as9 simple, doble y matrimonial, y dos tipos de clientes9 "abituales y esporádicos% Una reser'ación almacena datos del cliente, de la pie$a reser'ada, la fec"a de comien$o y el número de d#as que será ocupada la pie$a% &l recepcionista del "otel debe poder "acer la siguientes operaciones9 .btener un listado de las pie$as disponible de acuerdo a su tipo +reguntar por el precio de una pie$a de acuerdo a su tipo +reguntar por el descuento ofrecido a los clientes "abituales • • •
•
• • •
+reguntar por el precio total para un cliente dado, especificando su numero de 4U:, tipo de pie$a y número de noc"es% 0ibujar en pantalla la foto de un pie$a de acuerdo a su tipo 4eser'ar una pie$a especificando el número de la pie$a, rut y nombre del cliente% &liminar una reser'a especificando el número de la pie$a
•
&l administrador puede usar el programa para9 )ambiar el precio de una pie$a de acuerdo a su tipo )ambiar el 'alor del descuento ofrecido a los clientes "abituales )alcular las ganancias que tendrán en un mes especificado considere que todos los meses tienen treinta d#as!% • • •
•
&l "otel posee información sobre cuales clientes son "abituales% &sta estructura puede manejarla con un diccionario, cuya cla'e sea el número de 4U: y como significado tenga los datos personales del cliente% &l dise(o a desarrollar debe facilitar la etensibilidad de nue'os tipos de pie$a o clientes y a su 'e$ permitir agregar nue'as consultas%
Infografia
"ttp9JJwww%monografias%comJtrabajos;OJlenguaje6modelado6unificadoJlenguaje6modelado6 unificado%s"tmlIL&85UA> "ttp9JJwww%monografias%comJtrabajosP=Jingenieria6softwareJingenieria6software%s"tml "ttp9JJwww%dcc%uc"ile%clJQpsalinasJumlJintroduccion%"tml "ttp9JJwww6gris%det%u'igo%esJQa'ilasJUMLJnode%"tml "ttp9JJwww%abcdatos%comJtutorialesJtutorialJl;?%"tml "ttp9JJja'a"ispano%orgJarticles%article%actionRidT; "ttp9JJgentleware%comJinde%p"p "ttp9JJwww%smartdraw%comJepJsofJproductJinde%"tm "ttp9JJwww%metamill%comJ