modelado uml 1
TRANSCRIPT
![Page 1: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/1.jpg)
1 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Modelado de Software Orientado a Objetos usando
UMLDr. Pedro Mejia Alvarez
Departamento de ComputacionCINVESTAV-IPN
![Page 2: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/2.jpg)
2 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
ContenidoI. Introducción
– Modelado de Software– UML
II. Breve Tour por UMLIII. El Paradigma Orientado a Objeto usando UML
– Fundamentos del Modelado OO– Requisitos del software– Interacción entre objetos– Clases y relaciones entre clases– Comportamiento de objetos– Componentes– Distribución y despliegue de componentes– Object Constraint Language (OCL)
IV. Proceso de Desarrollo de SW basado en UMLV. Conclusiones
![Page 3: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/3.jpg)
3 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
IIntroducción
![Page 4: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/4.jpg)
4 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Introducción: Modelado de SW
![Page 5: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/5.jpg)
5 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Construcción de Algoritmo de Fibonacci
Puede hacerlo una sola personaRequiere:
Modelado mínimoProceso simpleHerramientas simples
int fib(int val){ if ((val==1)||(val==2)) return 1; else return (fib(val-1)+fib(val-2)); }
![Page 6: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/6.jpg)
6 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Construcción del software para un cajero automatico
Construida eficientemente y en un tiempo razonable por un equipoRequiere:
ModeladoProceso bien definidoHerramientas más sofisticadas
I. Introducción: Modelado de SW
Auto-tellersystem
Securitysystem
Maintenancesystem
Accountdatabase
Usagedatabase
Branchaccounting
system
Branchcountersystem
![Page 7: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/7.jpg)
7 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Sistema de Radar de Aeropuerto
Data comms.system
Transpondersystem
Radarsystem
Aircraftcomms.
Telephonesystem
Flight plandatabase
Backupposition
processor
Positionprocessor
Comms.processor
Backup comms.processor
Aircraftsimulation
system
Weather mapsystem
Accountingsystem
Controllerinfo. system
Controllerconsoles
Activity loggingsystem
Herramientas Proceso
Notación
![Page 8: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/8.jpg)
8 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Pero, como se modela un sistema con esta complejidad ?
![Page 9: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/9.jpg)
9 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Beneficios del Modelado
Interface de Usuario(Visual Basic,
Java, ..)Lógica del Negocio
(C++, Java, ..)
Servidor de BDs(C++ & SQL, ..)
Múltiples Sistemas
Componentes Reutilizados
Manejar la complejidad
“Modelar el sistema independientemente del lenguaje de implementación”
Promover la Reutilización
![Page 10: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/10.jpg)
10 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Introducción: UML
![Page 11: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/11.jpg)
11 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el
modelado orientado a objetos. Impulsado por el Object Management Group (OMG, www.omg.org)
Documento “OMG Unified Modeling Language Specification”
UML combina notaciones provenientes desde:• Modelado Orientado a Objetos • Modelado de Datos• Modelado de Componentes • Modelado de Flujos de Trabajo (Workflows)
![Page 12: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/12.jpg)
12 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Antes de UML Diversos métodos y técnicas OO, con muchos
aspectos en común pero utilizando distintas notaciones.
Modelos de Constantine, Jackson, Gane Sarson, Shlaer-Mellor, etc.
Inconvenientes para el aprendizaje, aplicación, construcción y uso de herramientas CASE, etc.
Pugna entre distintos enfoques
Objetivo: Establecer una notación estándar
![Page 13: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/13.jpg)
13 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Antes de UML Modelos de descripción de procesos: Diagramas
de flujo de datos. Modelos de descripción de datos: Diagramas de
entidad-relación, diccionario de datos. Modelos de descripción arquitectural: Diagramas
de Estructura. Modelos de descripción de comportamiento:
State-Charts.
![Page 14: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/14.jpg)
14 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Historia de UML Comenzó como el “Método Unificado”,
con la participación de Grady Booch y Jim Rumbaugh. Se presentó en el OOPSLA’95
El mismo año se unió Ivar Jacobson. Los “Tres Amigos” son socios en la compañía Rational Software. Herramienta CASE Rational Rose
![Page 15: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/15.jpg)
15 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Historia de UML
Nov ‘97 UML aprobado por el OMG
1998
1999
2000
UML 1.2
UML 1.3
UML 1.4
2005? UML 2.0
Revisiones menores
UML 1.52003
![Page 16: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/16.jpg)
16 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Participantes en UML 1.0 Rational Software
(Grady Booch, Jim Rumbaugh y Ivar Jacobson)
Digital Equipment Hewlett-Packard i-Logix (David Harel) IBM ICON Computing
(Desmond D’Souza) Intellicorp and James
Martin & co. (James Odell)
MCI Systemhouse Microsoft ObjecTime Oracle Corp. Platinium
Technology Sterling Software Taskon Texas Instruments Unisys
![Page 17: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/17.jpg)
17 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
UML reune a enfoques OO
UML
RumbaughJacobson
Meyer
Harel
Wirfs-BrockFusion
Embly
Gamma et. al.
Shlaer-Mellor
Odell
Booch
Pre- and Post-conditions
State Charts
Responsabilities
Operation descriptions, message numbering
Singleton classes
Frameworks, patterns, notes
Object life cycles
![Page 18: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/18.jpg)
18 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Factores importantes en UML Definición del proceso de desarrollo usando
UML. UML no es una metodología o proceso. No cubre todas las necesidades de
especificación de un proyecto software.
Util en la definición de requerimientos, pero tambien en el diseño (y en las pruebas…).
Notacion estándar y soportada por herramientas CASE
Estándar del OMG Gran cantidad de Libros y cursos.
![Page 19: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/19.jpg)
19 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
IIIntroducion a UML
![Page 20: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/20.jpg)
20 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Modelos y Diagramas Un modelo captura una vista de un sistema del
mundo real. Es una abstracción de dicho sistema, considerando un cierto propósito. Así, el modelo describe completa-mente aquellos aspectos del sistema que son relevantes al propósito del modelo, y a un apropiado nivel de detalle.
Diagrama: una representación gráfica de una colección de elementos de modelado, a menudo dibujada como un grafo con vértices conectados por arcos
OMG UML 1.4 Specification
![Page 21: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/21.jpg)
21 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Un proceso de desarrollo de software debe ofrecer un conjunto de modelos que permitan expresar el producto desde cada una de las perspectivas de interés
El código fuente del sistema es el modelo más detallado del sistema (y además es ejecutable). Sin embargo, se requieren otros modelos ...
Cada modelo es completo desde su punto de vista del sistema, sin embargo, existen relaciones de trazabilidad entre los diferentes modelos
... Modelos y Diagramas
![Page 22: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/22.jpg)
22 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Diagramas de UML
Use CaseDiagramsUse Case
DiagramsDiagramas de Casos de Uso
ScenarioDiagramsScenario
DiagramsDiagramas deColaboración
StateDiagramsState
DiagramsDiagramas deComponentes
ComponentDiagramsComponent
DiagramsDiagramas deDistribución
StateDiagramsState
DiagramsDiagramas de Objetos
ScenarioDiagramsScenario
DiagramsDiagramas deEstados
Use CaseDiagramsUse Case
DiagramsDiagramas deSecuencia
StateDiagramsState
DiagramsDiagramas deClases
Diagramas deActividad
Modelos
Los diagramas expresan gráficamente partes de un modelo
![Page 23: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/23.jpg)
23 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Diagrama de Casos de Uso
Es una técnica para capturar información sobre los servicios
queun sistema proporciona a suentorno, desde el punto de vista
delusuario. Es una técnica para
capturay especificación de requisitos
Retirar dinero
Consultar ExtractoCliente
Realizar transferencia
![Page 24: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/24.jpg)
24 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Diagrama de Clases El Diagrama de Clases es el diagrama principal
para el análisis y diseño del sistema Un diagrama de clases presenta las clases del
sistema con sus relaciones estructurales y de herencia
La definición de clase incluye definiciones para atributos y operaciones
El modelo de casos de uso debería aportar información para establecer las clases, objetos, atributos y operaciones
![Page 25: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/25.jpg)
25 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Clases y Objetos
AlumnoDNI : char[10]número_exp : intnombre : char[50]
alta()poner_nota(asignatura : char *, año : int, nota : float)matricular(cursos : asignatura, año : int)listar_expediente()
En UML, para distinguir una clase y una instancia de la clase (un objeto) se representa por un rectángulo con un nombre subrayadoObjeto = Identidad + Estado + ComportamientoEl estado está representado por los valores de los atributos los cuales tienen una visibilidad.Un atributo toma un valor en un dominio concreto.
![Page 26: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/26.jpg)
26 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Diagramas de Clases
Un diagrama de clases describe los tipos de objetosen el sistema y los distintos tipos de relacionesestáticas que existen entre ellos. Existen cuatrorelaciones:
• Asociación• Generalización/especialización• Agregación/composición• Dependencia
![Page 27: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/27.jpg)
27 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
AsociaciónProfesorDepartamento
10..1
director
1
dirige
0..1
•Permite asociar objetos.•La asociacion se representa mediante una línea que une las cajas de los dos objetos.
Empresa Empleado
1..** 1..**
trabajadoresempleador
Cargonombresueldo 0..1
1..*
superior
subordinado 1..*
0..1
![Page 28: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/28.jpg)
28 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Generalización
Catalogue numberAcquisition dateCostTypeStatusNumber of copies
Library item
Acquire ()Catalogue ()Dispose ()Issue ()Return ()
AuthorEditionPublication dateISBN
BookYearIssue
MagazineDirectorDate of releaseDistributor
Film
VersionPlatform
Computerprogram
TitlePublisher
Published itemTitleMedium
Recorded item
Esta es una relación de tipo: es-un. Una generalización serepresenta como una flecha que une a las subclases(hijos) a la superclase (padre), con la flecha tocando la caja de la superclase.
![Page 29: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/29.jpg)
29 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Relacion de Dependencia entre Clases
Se usa para mostrar relaciones entre paquetes (grupos de clases)
ProveedorCliente
![Page 30: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/30.jpg)
30 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Agregacion de Objetos
Videotape
Tape ids.
Lecturenotes
Text
OHP slidesSlides
AssignmentCredits
SolutionsTextDiagrams
Exercises#ProblemsDescription
Course titleNumberYearInstructor
Study pack•En este modelo se muestra como las clases pueden estar compuestas por otras clases.•Existe la relacion de agregacion y la de composicion.•Son similares a los modelos de entidad-relacion.
![Page 31: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/31.jpg)
31 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Diagrama de Secuencia
: Encargado :WInPréstamos :Socio :Video :Préstamo
prestar(video, socio)
verificar situación socio
verificar situación video
registrar préstamo
entregar recibo
Describe el comportamiento dinamico del los objetos en el sistema
![Page 32: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/32.jpg)
32 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Diagrama de Colaboración
: Encargado
:WInPréstamos
:Socio
:Video
:Préstamo
1: prestar(video, socio)
2: verificar situación socio
3: verificar situación video
4: registrar préstamo5: entregar recibo
Modela la interacción entre los objetos de un Caso de Uso
Los objetos están conectados por enlaces (links) en los cuales se representan los mensajes enviados acompañados de una flecha que indica su dirección
Ofrece una mejor visión del escenario cuando el analista está intentando comprender la participación de un objeto en el sistema
![Page 33: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/33.jpg)
33 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Diagrama de Estados
con préstamos
sin préstamos
alta baja
prestar devolver[ número_préstamos = 1 ]
prestar
devolver[ número_préstamos > 1 ]
número_préstamos = 0
número_préstamos > 0
Socionúmero : intnombre : char[50]número_prestamos : int = 0
alta()baja()prestar(código_libro : int, fecha : date)devolver(código_libro : int, fecha : date)
Modela el comportamiento de una parte del sistema
![Page 34: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/34.jpg)
34 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Diagrama de ActividadBuscar Bebida [ no hay café ]
Poner café en filtro
Añadir agua al depósito
Coger taza
Poner filtro en máquina
Encender máquina
Café en preparación
/ cafetera.On
Servir café Beber
Coger zumo
[ hay café ]
indicador de fin
[ hay zumo ]
[ no zumo ]Es un caso especial de un diagrama de state-chart en donde los estados son actividades (“funciones”). Es util para dibujar los flujos de trabajo (workflows) en un sistema
Puede especificar:
(1)El comportamiento de los objetos de una clase
(2) La lógica de una operación (método)
(3) Parte o toda la descripción de un Caso de uso
(4) La descripción de un Flujo de Trabajo
![Page 35: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/35.jpg)
35 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Diagrama ComponentesInterfaz de Terminal
Gestión de Cuentas Rutinas de conexión Acceso a BD
Control y Análisis
Permite modelar la estructura del software y la dependencia entre componentes, en donde un componente es un grupo de clases que trabajan estrechamente. Los componentes pueden corresponder código fuente, binario o ejecutable.
Una relación de dependencia indica que un componente utiliza otro, por lo cual depende de él
![Page 36: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/36.jpg)
36 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Diagrama de Despliegue
Punto de Venta
Servidor Central
Terminal de Consulta
Gestión de Cuentas
Comment
Interfaz de Terminal
Comment
Rutinas de ConeccionComment
Rutinas de Coneccion
Comment
Interfaz de Terminal
Comment
Rutinas de Coneccion
Comment
Acceso a BD
Comment
Control y Análisis
Comment
Modela la distribución en tiempo de ejecución de
los elementos de procesamiento y componentes de
software, junto a los procesos y objetos
asociados Se modelan los nodos y
la comunicación entre ellos
Cada nodo puede contiene instancias de
componentes
![Page 37: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/37.jpg)
37 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Paquetes en UML Los paquetes ofrecen un mecanismo
general para la organización de los modelos/subsistemas agrupando elementos de modelado
Se representan gráficamente como:
Nombre de paquete
![Page 38: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/38.jpg)
38 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
… Paquetes en UML Cada paquete corresponde a un
submodelo (subsistema) del modelo (sistema)
Un paquete puede contener otros paquetes, sin límite de anidamiento pero cada elemento pertenece a (está definido en) sólo un paquete
Una clase de un paquete puede aparecer en otro paquete por la importación a través de una relación de dependencia entre paquetes
![Page 39: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/39.jpg)
39 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
… Paquetes en UML
Todos los elementos no son necesariamente visibles desde el exterior del paquete, es decir, un paquete encapsula a la vez que agrupa
El operador “::” permite designar una clase definida en un contexto distinto del actual
![Page 40: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/40.jpg)
40 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
...Paquetes en Rational Rose
CheckingAccount
Customers
Banking
Customers
Banking
<<access>> CheckingAccount(f rom Banking)
Otra Clase
![Page 41: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/41.jpg)
41 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Los modelos se usan para describir al sistema de software Modelo del sistema: Modelo de objetos
+ modelo funcional + modelo dinamico
Modelo de objetos: Cual es la estructura del sistema? Cuales son los objetos y cual es su relacion?• Notacion UML: Diagramas de clases
Modelo funcional: Cuales son las funciones del sistema? Como fluyen los datos en el sistema?• Notacion UML: Diagramas de casos de uso
Modelo dinamico: Como reaccciona el sistema a eventos externos (e internos) y cual es el flujo de eventos?• Notacion UML: Diagramas de secuencia, state charts y de
actividad.
![Page 42: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/42.jpg)
42 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Modos de utilizacion de UML Ingenieria hacia adelante(Forward
Engineering)• Se comienza con un modelo antes de producir codigo
Ingenieria en reversa (Reverse Engineering)• Se crea un modelo a partir de algun codigo• Proyectos de interfaces o re-ingenieria
Ingenieria ciclica (Roundtrip Engineering)• Se mueve constantemente entre ingenieria hacia
adelante y en reversa.• Util en proyectos que utilizan el modelo de procesos
evolutivo, o cuando los requerimientos cambian frecuentemente.
Se asume que a partir de UML se puede producir codigo, pero en donde se ubica UML dentro del proceso de Diseño ?.
![Page 43: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/43.jpg)
43 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Proceso de Desarrollo Unificado basado en UML
Propuesta de Rational Unified Process (RUP) M. de Casos de Uso del Negocio (Business Use-Case Model) M. de Objetos del Negocio (Business Object Model) M. de Casos de Uso (Use-Case Model) M. de Análisis (Analysis Model) M. de Diseño (Design Model) M. de Despliegue (Deployment Model) M. de Datos (Data Model) M. de Implementación (Implementation Model) M. de Pruebas (Test Model)
![Page 44: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/44.jpg)
44 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Claves en el Desarrollo de Software
Herramientasp.e. Rational Rose
Poseidon
Procesop.e. Rational Unified Process
Métrica 3.0 o XP
NotaciónUML
![Page 45: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/45.jpg)
45 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Modelado de Software. ¿Cuál es el propósito de nuestros modelos?
“Documentar”. Comunicar ideas y estudiar alternativas Tomar decisiones de análisis/diseño que dirijan la
implementación Generar parcial o totalmente una implementación a partir de
los modelos Pragmatismo, los modelos deben ser útiles.
Principio básico: “Sencillez y Elegancia” Gestión de modelos
Distintos nivel de abstracción, expresados en diferentes modelos
Seguimiento de transformaciones durante el proceso (Traceability)
Sincronización de modelos Dificultades para la introducción de notaciones y
herramientas de modelado. La importancia del Proceso de Desarrollo
![Page 46: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/46.jpg)
46 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
Resumen
UML define una notación que se expresa como diagramas sirven para representar modelos/subsistemas o partes de ellos
El modelo de proceso RUP utiliza UML para el modelado.
![Page 47: Modelado Uml 1](https://reader035.vdocuments.mx/reader035/viewer/2022081412/53ffa0c3dab5ca61288b45d6/html5/thumbnails/47.jpg)
47 Pedro Mejia Curso de Ingeniería de Software, CINVESTAV-IPN
BibliografíaPartes de este Curso esta basado en el siguiente material:
Curso de Desarrollo de Software Orientado a Objetos usando UML, del Prof. Patricio Letelier Torres, del DSIC de la Universidad Politecnica de Valencia.
Transparencias del Libro: Object-Oriented Software Engineering: Using UML, Patterns, and Java, Bernd Bruegge & Allen H. Dutoit (3rd. Edition). Prentice Hall, 2009.
UML• www.omg.org/uml/• Martin Fowler, autor de “UML Destilled” (“UML Gota a Gota”)
http://www.martinfowler.com/
Herramientas CASE• Rational Rose de IBM • Herramientas basadas en UML www.objectsbydesign.com/tools/
umltools_byPrice.html