Académique Documents
Professionnel Documents
Culture Documents
Contenido
Por qu modelamos La importancia Cuatro principios del modelado Los planos bsicos de un sistema software Modelado orientado a objetos Qu es UML?. Presentacin del UML Diagramas Utilizados en UML (ejemplos)
2
Por qu Modelamos
Importancia de Modelar
La eleccin de qu modelos crear, y dar forma a una solucin. Todo modelo puede ser expresado a diferentes niveles de precisin. Los mejores modelos estn ligados a la Realidad Un nico modelo no es suficiente.
UML
Qu es UML?.
UML puede ser utilizado por cualquier metodologa de anlisis y diseo orientada a objetos para expresar los modelos de diseo.
Qu es UML
Este lenguaje es el resultado de la unificacin de los mtodos de modelado orientados a objetos de: Booch, Rumbaugh (OMT:Object Modeling Technique) Jacobson (OOSE:Object-Oriented Sotfware Engineering) .
Historia de UML
La notacin UML se deriva de y unifica, las tres metodologas de anlisis y diseo O.O. ms extendidas: Metodologa de Grady Booch para la descripcin de conjuntos de objetos y sus relaciones.
Tcnica de modelado orientada a objetos de James Rumbaugh (OMT: Object-Modeling Technique). Aproximacin de Ivar Jacobson (OOSE: Object- Oriented Software Engineering) mediante la metodologa de casos de uso (use case).
9
Historia de UML
El desarrollo de UML comenz a finales de 1994 cuando Grady Booch y Jim Rumbaugh de Rational Software Corporation empezaron a unificar sus mtodos. A finales de 1995, Ivar Jacobson y su compaa Objectory se incorporaron a Rational en su unificacin, aportando el mtodo OOSE.
10
Historia de UML
De las tres metodologas iniciales, las de Booch y Rumbaugh pueden ser descritas como centradas en objetos, ya que sus aproximaciones se enfocan hacia el modelado de los objetos que componen el sistema, su relacin y colaboracin. Por otro lado, la metodologa de Jacobson es ms centrada a usuario, ya que todo en su mtodo se deriva de los escenarios de uso. UML se ha ido fomentando y aceptando como estndar desde el OMG (), que es tambin el origen de CORBA, el estndar lder en la industria para la programacin de objetos distribuidos.
11
Historia de UML
En 1997 UML 1.1 fue aprobada por la OMG convirtindose en la notacin estndar de facto para el anlisis y el diseo O.O. UML es el primer mtodo en publicar un metamodelo en su propia notacin, incluyendo la notacin para la mayora de la informacin de requisitos, anlisis y diseo (cualquier lenguaje de modelado de propsito general debera ser capaz de modelarse a s mismo).
12
Historia de UML
2005? 2003 2000 1999 1998 Nov 97
UML 2.0
UML 1.5 UML 1.4 UML 1.3 UML 1.2
UML aprobado por el OMG Revisiones menores
*Desarrollo de Software Orientado a Objeto usando UML, Patricio Letelier Torres, http://www.dsic.upv.es/~uml/curso.ppt 13
UML!
Es un lenguaje estndar para escribir planos de software. Puede visualizar, especificar, construir y documentar los componentes de un sistemas OO que involucra una gran cantidad de software. UML es apropiado para modelar sistemas de informacin en empresas hasta aplicaciones web. Es un lenguaje muy expresivo , cubre todas las vistas necesarias para desarrollar y desplegar sistemas.
14
Sistema de Informacin Institucionales Bancos y Servicios Financieros Telecomunicaciones Transporte Comercio Electrnica mdica mbito cientfico Servicios distribuidos basados en la Web
15
16
Qu significa contar con un sistema o.o que est bien diseado? Significa adquirir y utilizar habilidades prcticas en el diseo OO. Estas destrezas son indispensables para crear sistemas de software bien diseados, robusto y de fcil mantenimiento, utilizando la tecnologa de objetos y los lenguajes de programacin O.O 17 como C++, Java, etc.
La esencia del anlisis y el diseo orientado a objetos consiste en situar el dominio de un problema y su solucin lgica dentro de la perspectiva de los objetos.
Anlisis
Investigacin del problema
Diseo
Solucin Lgica
Construccin
Cdigo
18
Durante el anlisis orientado a objetos se procura ante todo identificar y describir los objetos o conceptos dentro del dominio del problema. Por ejemplo: Sistema de informacin de la biblioteca Algunos Conceptos son: Libro, Biblioteca y Cliente
19
Durante el diseo orientado a objetos se procura definir los objetos lgicos del software que finalmente sern implementados en un lenguaje de programacin O.O.
Finalmente, durante la construccin o programacin O.O se implementan los componentes del diseo, como una clase Libro en C++ o Java, etc. Ejemplo: Organizacin de la Empresa MicroChaos
21
Un proceso de desarrollo de software es un mtodo de organizar las actividades relacionadas con la creacin, presentacin y mantenimiento de los sistemas de software.
22
El lenguaje UML estandariza los artefactos y la notacin, pero no define un proceso oficial de desarrollo. Algunas de las razones que explican esto:
1.- Aumentar las probabilidades de una aceptacin generalizada de la notacin estndar del modelado, sin la obligacin de adoptar un proceso oficial.
2.- La esencia de un proceso apropiado admite mucha variacin y depende de las habilidades del personal, de la razn investigacin-desarrollo, de la naturaleza del tiempo, etc. 23
Una vez aclaradas estas razones, procedemos a aplicar los principios generales y los pasos normales que guan un proceso eficaz. Pasos de macronivel: En un nivel alto, los pasos principales en la presentacin de una aplicacin son los siguientes:
24
1.- Planeacin y elaboracin: Planear, definir los requerimientos, construir prototipos, etc. 2.- Construccin: La creacin del sistema. 3.- Aplicacin: La transicin de la implementacin del sistema a su uso.
25
Desarrollo iterativo Un ciclo de vida iterativo se basa en el agrandamiento y perfeccionamiento secuencial de un sistema a travs de mltiples ciclos de desarrollo de anlisis, diseo, implementacin y pruebas.
El sistema crece al incorporar nuevas funciones en cada ciclo de desarrollo. Tras una frase preliminar de planeacin y especificacin, el desarrollo pasa a la fase de construccin a travs de una serie de ciclos de desarrollo.
26
Desarrollo iterativo En cada ciclo se aborda un conjunto relativamente pequeo de requerimientos, pasando por el anlisis, el diseo, la construccin y las pruebas. El sistema va creciendo en cada ciclo que concluye.
Esto contrasta con el ciclo clsico de la vida en cascada, en el cual las actividades (anlisis y diseo, entre otras) se llevan a cabo una vez con todos los requerimientos del sistema.
27
Fijacin de la duracin de un ciclo de desarrollo Una estrategia muy til en los ciclos de desarrollo consiste en limitarlo a un marco temporal, esto es, un lapso rgidamente fijo, digamos cuatro o n semanas.
En un perodo menor sera muy difcil terminar las actividades; en un periodo mayor la complejidad se torna abrumadora y la retroalimentacin se retras.
28
Relaciones
Diagramas
29
Relaciones
interfaz nodo servidor componente
Diagramas
Casos de uso
Realizar Pedido
Clase activa
GestorEventos S uspender () V aciarCola()
Estructurales
Cadena de responsabilidad
Interaccin
Estados
Esperando
Dibujar Mensajes
30
Elementos Estructurales
Elementos estructurales, son la parte esttica de un modelo Clase: representa un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semntica.
Publicacin
Cdigo P Cadena(2) Copias Entero Importe Decimal(10,2)
Operaciones
31
Elementos Estructurales
Atributo: Representa una propiedad de una entidad. Cada atributo de un objeto tiene un valor que pertenece a un dominio de valores determinado. Objeto: Se caracteriza por tener una identidad nica, un estado definido por un conjunto de valores de atributos y un comportamiento representado por sus operaciones y mtodos
32
Elementos Estructurales
de
Elementos Estructurales
Caso de Uso: Conjunto de secuencia de acciones que se ejecutan y el resultado es de inters para un actor en particular.
Realizar pedido
34
Elementos Estructurales
Clase Activa: Son similares a las clases excepto que sus objetos representan elementos cuyo comportamiento es concurrente con otros elementos
Gestor Ventas Nombre
Suspender() VaciarCola()
Operaciones
35
Elementos Estructurales
Orderform.java
36
Elementos Estructurales
recurso computacional
Servidor
37
Elementos Comportamiento
Son la parte dinmica, y representan comportamiento en el tiempo y el espacio.
38
Elementos Comportamiento
Estado: Identifica un perodo de tiempo del objeto (no instantneo) en el cual el objeto esta esperando alguna operacin, recibe cierto tipo de estmulos y especifica la secuencia de estado por las que pasa un objeto
Esperado
39
Elementos Agrupacin
Elementos Agrupacin organizativas son las partes
40
Elementos de Anotacin
Elementos de Anotacin son las partes explicativas, son comentarios, para describir, clasificar, y hacer observaciones
Relaciones
Diagramas
Dependencia
Relacin entre dos elementos uno independiente a otro dependiente y puede afectar la semntica
0...1 * Patrn empleado
Asociacin
Son conexiones entre objetos (rol, multiplicidad, calificador) Especificacin en donde el hijo comparte la estructura y el comportamiento del padre Es una relacin semntica entre clasificadores
42
Generalizacin
Realizacin
Relaciones
Use Case Diagramas Diagrams Caso de Uso
Diagramas
State Diagramas Diagrams Objecto
Modelos
Diagramas Actividades
Despliegue
43
Diagramas de clases
Un Diagrama de Clases muestra un conjunto de clases, interfaces, colaboraciones y relaciones. Cubren la vista de diseo esttico de un sistema Cuando incluyen clases activas cubren la vista de procesos estticos
44
Diagramas de clases
Relacin de Asociacin (Rol y Multiplicidad)
Rol: Se identifica con un nombre al final de la lnea y describe la semntica de la relacin en el sentido indicado. Cada asociacin tiene dos roles; cada rol es una direccin y puede estar representado en el nombre de la clase.
45
Diagramas de clases
Relacin de Asociacin (Rol y Multiplicidad)
Multiplicidad: Describe la cardinalidad de la relacin, es decir, cuantos objetos de esa clase pueden participar en la relacin dada.
1
Clase Clase
* 0. ...1 m. n
Clase Clase
Diagramas de clases
Vendedor Nmero Nombre ATRIBUTOS Direccin :
Ejemplo
CLASES
1..*
RELACION
Diagramas de objetos
Diagrama de objetos muestra un conjunto de objetos y sus relaciones representan instantneas de instancias de los elementos encontrados en los diagramas de clase.
48
Diagramas de objetos
Ejemplo
Abstracciones ms generales Vehculo
Vehculo Terrestre
Vehculo areo
Coche
Camin
Avin
Helicptero
49
Estos diagramas son especialmente importantes en el modelado y organizacin del comportamiento de un sistema.
50
51
Es una herramienta esencial para la captura de requerimientos y para la planificacin y control de un proyecto interactivo.
54
Actor
Actualizar carga Administrativa Elaborar Informe de Actividades
<<use>>
Elaborar Planificacin de Actividad
Profesor
Pedir Permiso
55
Diagramas de secuencia
Diagrama de secuencia Es un diagrama de interacciones que resalta la ordenacin temporal de los mensajes.
Es importante mencionar que los diagramas de interaccin es un conjunto de objetos y sus relaciones, incluyendo los mensajes que pueden ser enviados entre ellos.
56
Diagrama de secuencia
:USUARIO AUTORIZADO
ACTUALIZAR DEPOSITO F.T. OK
:USUARIO AUTORIZADO
:TOTAL_D
ACTUALIZAR TOTAL_D OK
ACTUALIZAR TOTAL_D OK
Diagramas de colaboracin
Diagrama de colaboracin es un diagrama de interaccin que resalta la organizacin estructural de los objetos, que envan y reciben mensajes de las iteraciones que estn indicadas por un nmero
A diferencia de los diagramas de secuencia, pueden mostrar el contexto de la operacin (cules objetos son atributos, cules temporales) y ciclos en la ejecucin.
58
Diagramas de colaboracin
Registra Retiro 1 Arranca Aplicacin 2 Teclea Tipo mov 3 Teclea num Cuenta 4 Teclea Tipo Docto 5 Teclea Num Cheque Cajero <<Cajero>>
Ejemplo
Aplicacin
ChequeOk
: Cuenta cheques
: Cheque
5.1.1 Valida Cheque No Robado (NumCheque) 5.1.2 Valida Cheque No Canceladop (NumCheque)
: Cliente
59
Diagramas de Estado
Diagrama de estados (statechart) muestra una mquina de estados, que consta de estados transiciones, eventos y actividades. Cubren la vista dinmica de un sistema y el comportamiento de una interfaz, clase, colaboracin y resaltan el comportamiento dirigido por eventos de un objeto.
60
Diagramas de Estados
Muestra el conjunto de estado por los cuales pasa un objeto durante su vida en una aplicacin junto con los cambios que permiten pasar de un estado a otro Esta representado principalmente por los siguientes elementos: estado, elemento y transicin.
61
Diagramas de Estados
Eventos: Es una ocurrencia que puede causar la transicin de un estado a otro de un objeto. -Condicin que toma el de verdadero o falso. -Recepcin de una seal o mensaje de otro objeto en el modelo. -Paso de cierto perodo de tiempo, despus de entrar al estado o de cierta hora y fecha particular.
62
Diagramas de Estados
Transicin: Es una relacin de tres o ms estados en una transicin de mltiples fuentes o mltiples destinos.
63
Diagramas de Estados
Ejemplo
Inicio No se revisan todos los artculos / obtiene siguiente artculo Comprobacin Hace / revisa artculo Todos los artculos comprobados && algunos artculos no en inventario Artculo recibido Algunos artculos no en existencia Transicin Espera Autotransicin Estado Entregado Todos los artculos comprobados && todos los artculos disponibles Despachando Hace /inicia entrega
64
Diagramas de Actividades
Cubren la vista dinmica, son importantes al modelar el funcionamiento del un sistema y resaltan el flujo de control de objetos.
65
Diagrama de Actividades
Un diagrama de actividades es un diagrama de estados, casi todos los estados son estados de accin, y casi todas las transiciones son enviadas al terminar la accin ejecutada en el estado anterior. Generalmente modelan los pasos de un algoritmo y puede dar detalle a un caso de uso, un objeto o un mensaje en un objeto.
66
Diagrama de Actividades
Sirven para representar transiciones internas, sin hacer mucho nfasis en transiciones o eventos externos Los elementos que conforman el diagrama son: accin y transicin.
67
Diagrama de Actividades
Transicin: Es la relacin entre dos estados y se encuentran unidos por flechas Indican que un objeto que est en el primer estado, realizar una accin especificada y entrar en el segundo estado cuando un evento implcito ocurra y unas condiciones especificas sean satisfechas
68
Diagrama de Actividades
Ejemplo
Recibe orden
[por cada artculo]
Cancela orden
[Fallo]
Autoriza pago
Condicin de sincronizacin
[xito]
Asigna orden
Despacha orden
Reordena artculo
69
Diagramas de Componentes
Diagrama de componentes muestra la organizacin y las dependencias entre un conjunto de componentes, cubren la vista de implementacin esttica. Se relacionan con diagramas de clase en que un componente se corresponde con una o ms clases, interfaces o colaboraciones.
70
Diagramas de Componentes
Representa las componentes fsicas de la aplicacin.
Reservacin LISTADO
AGENCIA DE VIAJES
Actualizar
INTERFAZ
71
Diagramas de Despliegue
Diagrama de despliegue muestra la configuracin de nodos de procesamiento en tiempo de ejecucin y los componentes que residen en ellos. Su relacin con los diagramas de componentes en que un nodo incluye, uno o mas componentes.
72
Diagrama de despliegue
Representa la visualizacin de los componentes sobre los dispositivos fsicos.
SERVIDOR
<<Base de Datos >>
listado
reservaciones
73
Conclusiones
En este trabajo se ha aprendido los conceptos de UML (El Lenguaje Unificado de Modelado), como es el vocabulario, reglas de construccin de modelos. Se vio, los elementos sus relaciones y los 9 Diagramas que utiliza UML para su modelado de Sistemas
74
Bibliografa
El lenguaje unificado de modelado
Grady Booch James Rumbaugh Ivar Jacobson