Upload
akio
View
38
Download
0
Embed Size (px)
DESCRIPTION
Introducción al estándar mundial para el análisis de sistemas orientado a objetos. Prof. Fernando Pinciroli. Universidad de Congreso Mendoza - República Argentina http://www.ucongreso.edu.ar. Temario. 1 - Evolución del análisis de sistemas 2 - El Lenguaje de Modelación Unificado - PowerPoint PPT Presentation
Citation preview
Introducción al estándar mundial para el análisis de sistemas orientado a objetos
Universidad de Congreso Mendoza - República Argentinahttp://www.ucongreso.edu.ar
Prof. Fernando Pinciroli
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Temario
1 - Evolución del análisis de sistemas2 - El Lenguaje de Modelación Unificado3 - Procesos de modelación4 - Conclusión5 - Bibliografía
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
1 - El análisis de sistemas antes del UML
1.1 - Las metodologías tradicionales
1.2 - Fundamentos filosóficos del enfoque orientado a objetos
1.3 - Los métodos orientados a objetos
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Metodología
• Conjunto de métodos que se siguen en una investigación científica o en una exposición doctrinal
• Es un enfoque particular, fundado en ciertos principios generales, de orden filosófico; es un modo de comprender la realidad.
• Se puede decir que es un enfoque, una manera de interpretar la realidad o la disciplina en cuestión
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Método• Procedimiento que se sigue en las ciencias para hallar la verdad y enseñarla. Puede ser analítico o sintético
• Es un conjunto de técnicas, herramientas y tareas que, de acuerdo a un enfoque metodológico, se aplican para la resolución de un problema.
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Clasificación de las metodologías
Metodología
Met. orientadaa procesos
Met. orientadaa objetos
Met. orientadaa datos
Método1 1..*
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Los métodos de análisis orientado a procesos• Empleo del lenguaje natural (‘50s. y ss.)
• Descomposición funcional (Constantine, ‘60s. y ss.)
• Análisis estructurado (De Marco, Gane & Sarson, ‘70s., ‘80s.)
• Análisis esencial (McMenamin & Palmer, ‘84)
• Análisis estructurado moderno (Yourdon, ‘86)
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Los métodos de análisis orientado a datos
• Aparición de la Teoría Relacional (Codd, ‘70s.)
• Modelo Entidad/Relación (Chen, ‘70s.)
• Modelación de la Información (´70s., ´80s.)
• Desarrollo de Sistemas de Jackson (‘80s.)
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
El error de Kant: no comprender la realidad tal como ella es
Espacio y tiempo 12 categorías(color, medida, etc.)
Realidad caótica
...¡o la mente inventa la realidad!
O la realidad posee un orden...
Abstracción
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
El error kantiano se observa en los métodos tradicionales
“Categorías” tradicionales:datos o procesos
Realidad caótica (al inicio del relevamiento)
Abstracción
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
La realidad según los métodos orientados a objetos
Abstracción
Realidad caótica (al inicio del relevamiento)
Se trata de captar la realidadtal cual es
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
La OO posee un enfoque aristotélico-tomista• En la realidad no existen datos o procesos independientes
• Santo Tomás de Aquino sostiene que el número, considerado abstractamente, no existe fuera de nuestra mente
• Aristóteles indica que “no se pueden separar, a los objetos en movimiento, por ejemplo,” puesto que "hay una multitud de accidentes que son esenciales a las cosas, en tanto que cada uno de ellos reside esencialmente en ellas” (Metafísica. 7ª ed. Madrid, Espasa-Calpe, 1972, p.284.)
• Para Santo Tomás, "la verdad consiste en la adecuación del entendimiento con las cosas" (Suma Teológica. I, c.16, a.3.)
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Una suma sinérgica
¡Objetos! = características + comportamiento
¿Datos?edadrazacolor
¿Procesos?ladrarcomerdormir
¡Soy orientado
a objetos!
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Ventajas del empleo de un enfoque adecuado
• Facilita el logro del éxito del análisis al permitir interpretar la realidad tal cual ella es• Permite reducir la complejidad del sistema a evaluar• Mejora la comunicación con los usuarios y con el equipo de análisis• Permite representar las relaciones existentes entre los elementos constitutivos del sistema• Permite modelar con el mismo énfasis los datos y los procesos
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Respaldo de los autores tradicionales
• Gane & Sarson incorporan la teoría relacional• McMenamin & Palmer no dudan en remarcar la importancia de modelar datos además de procesos• Page-Jones destaca la importancia que cobró la modelación de los datos además de los procesos• Yourdon combina herramientas de modelación de datos y procesos• Jackson agrega modelación de procesos a su método de modelación de datos
”El diseño y la programación estructurados les permitíana algunos equipos de encargados de proyectos llegar a undesastre más rápidamente que antes, al construir unabrillante solución al problema equivocado”YOURDON, Edward. Análisis Estructurado Moderno. México, Prentice-Hall Iberoamericana, 1989, p.138.
”Ocho años han pasado desde que escribí la primera ediciónde este libro. Durante este tiempo ha sucedido mucho en elcampo del desarrollo del software. Por ejemplo, hemos vistoel advenimiento de la edad de la modelación de la información”PAGE-JONES, Meilir. The Practical Guide to StructuredSystems Design. 2ª ed. Englewood Cliffs, Prentice-Hall,1988, p.XV
¨Los analistas deben por consiguiente usar un tema diferente,uno denominado particionado en objetos”McMENAMIN, Stephen y Palmer, John. Essential SystemsAnalysis. Englewood Cliffs, Prentice-Hall, 1984, p.57."¿Qué tal si el propósito del sistema no es hacer algo, sinomeramente ser el recipiente de una gran cantidad deinformación interesante?"YOURDON, Edward. Análisis Estructurado Moderno. México, Prentice-Hall Iberoamericana, 1989, p.261.
”La normalización se hará probablemente más y más importanteen los próximos años, a medida que las bases de datos se vuelvan más complejas y la simplicidad se haga más vital"GANE, Chris y Sarson, Trish. Análisis Estructurado deSistemas. Buenos Aires, El Ateneo, 1988, p.118.
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Evolución del análisis orientado a objetos• En principio encontramos recomendaciones de diseño (Booch, 1986)
• Se impone la modelación orientada a las características de los objetos (Shlaer & Mellor, 88)
• Surgen muchos métodos más, de autores provenientes de las bases de datos relacionales (Coad & Yourdon, Martin & Odell, Rumbaugh, Embley, etc., 1990 y ss.)
• Se imponen los métodos orientados al comportamiento de los objetos (Wirfs-Brock, Jacobson, Rubin & Goldberg, 1994)
• Comienza a gestarse el UML (1994)
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
2 - El Lenguaje de Modelación Unificado
2.1 - El camino hacia la unificación
2.2 - Objetivos del UML
2.3 - Características del UML
2.4 - Descripción de las herramientas
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
El camino hacia la unificación• Grady Booch observa la necesidad de unificar criterios
• Ese mismo año, Ivar Jacobson completa el trío de “amigos”
• Ambos elaboran la versión 0.8 del Unified Method en 1995
• James Rumbaugh se une a Booch en octubre de 1994
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
El camino hacia la unificación• Se elabora la versión 0.9 del Unified Modeling Language
• Durante 1996 se realizan sucesivas modificaciones en base a aportes de muchas otras personas (versiones 0.91 y 1.0)
• Se realiza la versión 1.1 en conjunto con otras importantes empresas, que es presentada al OMG
• El OMG adopta al UML versión 1.1 como estándar a fines de 1997
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Objetivos del UML• Establecer un lenguaje visual de modelación, expresivo y sencillo en su uso
• Mantener una independencia de los procesos de modelación y de los lenguajes de programación
• Establecer bases formales
• Integrar las mejores prácticas
• Imponer un estándar mundial
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Elementos constitutivos
Herramientade modelación
Semántica
Metalenguaje
Extensión
Notación
Elemento demodelación
1..*
1..*
1..*
1..*
1
1..*
0..*
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Metalenguajes
• Porción de la notación (diagramas de clases) empleada en el metamodelo
• Object Constraint Language
• Lenguaje natural
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Object Constraint Language• Elaborado por Jos Warmer dentro del grupo de trabajo de IBM y ObjectTime que colaboró con Rational• Proviene del método Syntropy, lenguaje de modelación de negocios de la IBM Insurance Division, desarrollado por Steve Cook y John Daniels• Objetivos: especificación de invariantes, descripción de pre y post condiciones, descripción de guardias, definición de reglas de formación y de restricciones en operaciones
• Ejemplo:ExpresiónOCL ´esta oración escrita en Courier es una expresión OCL´
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Arquitectura del UMLArquitectura de cuatro capas, definida a fin de cumplir con la especificación Meta Object Facility del OMG:
• Meta-metamodelo: define el lenguaje para especificar metamodelos
• Metamodelo: define el lenguaje para especificar modelos
• Modelo: define el lenguaje para describir un dominio de información
• Objetos de usuario: define un dominio de información específico
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Estructura del metamodelo
Elementos de comportamiento
Administración del Modelo
Fundación
Fundación:
Comportamiento comúnColaboracionesCasos de usoMáquinas de estado
Elementos de comportamiento:
Elementos centralesElementos auxiliaresMecanismos de extensiónTipos de datos
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Metamodelo de “Clase”
Generalización
OperaciónAtributo
Clase
MétodoAsociación
Rol de la Asociación
Elemento del modeloInterfaz
**
*
* *
*
*
*
*
*
12..
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Casos de Uso• Introducido formalmente por Ivar Jacobson• Aceptado por la comunidad usuaria de TOO y por muchos metodologistas• De empleo en la etapa de relevamiento para captar los requerimientos de los usuarios• De fácil comprensión por parte de los usuarios de los sistemas• Herramienta que precisa otras complementarias para ser utilizada en procesos de modelación OO
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Casos de Uso
incorporarlibros
realizarpréstamo
Alumno
Bibliotecario
Subsistema de biblioteca
actor
caso de uso
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Casos de Usoincorporar
libros
realizarpréstamoAlumno
Bibliotecarioconsultar
libro
«usa»
«usa»
crear nuevocódigo
«extiende»
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Casos de Uso• «extiende» (extends) se emplea para establecer una situación excepcional o de error, que no corresponde al camino normal del caso de uso básico
• «usa» (uses) se utiliza para extraer las parte comunes de los casos de uso; son casos de uso abstractos
• Los casos de uso abstractos son ejecutados por actores abstractos obtenidos de una estructura de generalización entre actores
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Clases• Proviene de los diagramas de entidad-relación de Chen (‘70s)• Fueron extendidos con conceptos de AOO, como generalización y agregación (‘80s)• Incorporados por los autores orientados a las características de los objetos• Permiten modelar la estructura estática de los sistemas• Utilizados en el UML para la construcción de los metamodelos• Aunque también fueron empleados por Booch, conservan el aspecto de la notación propuesta por Rumbaugh en OMT
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Clases
atributos
operaciones
nota
Alumno Libro
Préstamo
0..* 0..*
PersonaAutor
1..*1
rol
generalización
clase
multiplicidad
asociación
clase asociación
navegabilidad
discriminador
solicita
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Clases: conceptos• Atributos:
visibilidad nombre:tipo=valor inicial
atributos derivados: /nombre
• Operaciones:
visibilidad nombre(parámetros):tipo de resultado
• Visibilidad:
existe definición a nivel público, privado o protegido
atributos
operaciones
Alumno
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Clases: conceptos
triángulo:Polígono triángulo:Polígono
• Objetos:
• Diagrama de objetos: instancia de un diagrama de clases
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Clases: conceptos avanzados
• Estereotipos: extienden la semántica de los elementos del UML
• la idea proviene de Rebecca Wirfs-Brock, que incorporó el objeto «coordinador»• Ivar Jacobson mejoró sustancialmente la idea con sus objetos de interfaz, entidad y control• Como ejemplo se pueden consultar los documentos “UML Extension for Objectory Process for Software Engineering” y “UML Extension for Business Modeling”
«empleado»
AdministradorAdministrador
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Clases: conceptos avanzados
• Clasificación múltiple: permite que un mismo objeto pertenezca a más de una clase• Clasificación dinámica: brinda la posibilidad de que un objeto cambie de clase
• estos conceptos fueron introducidos inicialmente por Odell
AlumnoPersona
Profesor
Hombre
Mujer
sexo rol
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Clases: conceptos avanzados
• Agregación: relación todo-parte
• Composición: agregación en la que las partes nacen y mueren con el todo
• todavía no existe un acuerdo definitivo con respecto a estos conceptos, pero ésta es la postura con más aceptación
Automóvil
Motor1
Conductor
Automóvil
Motor 1
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Clases: conceptos avanzados
• Interfaz: clase con declaración de operaciones, sin implementación y sin atributos
Ventana Windows
Ventana Ventana Mac
Editor de textos
«interfaz»
Ventana Windows
Editor de textos
Ventana
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Clases: conceptos avanzados
• Asociación cualificada: consiste en indicar la necesidad de una estructura de datos, estilo “diccionario”, en un extremo de una asociación
• En algunos casos permite reducir la multiplicidad
Nombre_archivoDirectorio Archivo
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Clases: conceptos avanzados
• Clase asociación: es una asociación que se modela como clase o viceversa
• Importante: por cada asociación entre los objetos de las clases ordinarias, sólo puede existir un solo objeto de la clase asociación
Factura Artículo* 1..*
Ítem_facturado
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Clases: conceptos avanzados
• Clase parametrizada: es la descripción de una clase con uno o más parámetros
Clase1
operación1(P)operación2(P)
P
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de paquetes• Permite administrar la complejidad del sistema al subdividirlo en porciones de menor tamaño
• Corresponde a las categorías del método de Booch
• Se pueden aplicar a diferentes elementos de modelación, no sólo a clases
• Permite establecer las dependencias entre paquetes (que no son de carácter transitivo) a fin de reducirlas
• También permite reducir los ciclos de dependencias
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de paquetes
Paquete 5 Paquete 6
Paquete 2 Paquete 3 {abstracto}
Paquete 4
Paquete 7
Paquete 8
Paquete 1 {global}
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Secuencia• Es uno de los dos diagramas de interacción que propone el UML
• Describe la forma en la que colaboran entre sí los objetos para llevar a cabo sus respectivas responsabilidades
• Cada diagrama representa la funcionalidad de un único caso de uso
• Permite ver cómo se suceden cronológicamente los mensajes entre los objetos
•Proviene de los diagramas POSA de Buschmann
• Fueron utilizados por los tres autores del UML en sus respectivos métodos previos
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Secuencia
objeto 1 objeto 2 objeto 3
inicio de un métodoauto-delegación
destrucción de un objeto
retornoactivación
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Colaboración• Es otro de los diagramas de interacción que se incluye en el UML
• No permite observar gráficamente la cronología de los mensajes
• Facilita la organización de los objetos en paquetes
• Destaca la conexión estática entre los objetos
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Colaboración
:objeto 3
:objeto 2:objeto 1
1:mensaje1( )
1.1:mensaje2( )
1.2:auto-delegación1( ) 1.3:auto-delegación2( )
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Estados• Describe los estados posibles en la vida de los objetos
• Permite observar cómo cambian de estado los objetos a medida que ocurren los eventos
• Cada diagrama se utiliza para representar el ciclo de vida de los objetos de una única clase
• Provienen de las cartas de estado de David Harel
• Los emplearon Rumbaugh en OMT, Booch en su libro de 1994 y Jacobson con la incorporación de una vasta notación
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Estados
entrada/acciónhacer/actividadsalida/acción
Estado 1 Estado 2
Estado 3Estado 5
Estado 6
Estado 4
evento/acción [guardia]
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Actividad• No posee antecedentes claros entre las herramientas de los autores del UML en sus propios métodos• Proviene de varias técnicas, como diagramas de eventos de Odell y redes de Petri• Permite destacar y sincronizar las operaciones concurrentes y establecer caminos alternativos• Muestra el comportamiento combinado de varias clases, aunque éstas no se identifican si no se lo hace explícitamente• Al igual que los diagramas de estado, se emplea para describir comportamientos complejos
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de ActividadBuscar
transporte
Entra a sutrabajo
Cambia demarcha
Mira por elespejo
Toma untaxi
Se va ensu auto
[eligió un taxi][eligió su auto]
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Componentes• Este diagrama, junto al de despliegue, corresponde al grupo de herramientas de implementación del UML
• Representa módulos físicos de código
• Es importante que cada componente sea equivalente a un paquete
• De esta manera, las dependencias entre componentes con las mismas que las existentes entre los paquetes
• La notación gráfica corresponde a los gradygramas
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Componentes
Nombre 1
Nombre 2
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Despliegue• Es la segunda herramienta de implementación del UML
• Muestra las relaciones entre los componentes de hardware y software del sistema
• Permite observar dónde se encuentran físicamente los paquetes en el sistema
• La notación gráfica también proviene de Booch
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Diagrama de Despliegue
PC1
PC*
servidor
1
Impresora*
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Rational Rose• Herramienta de Rational Software Corporation que soporta el UML
• Provee generación de código en múltiples lenguajes
• Posee ingeniería reversa y reingeniería
• Permite emplear la notación tradicional de OMT y el método de Booch
• Es posible obtener una copia demo en el sitio web de Rational, http://www.rational.com
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
3 - Procesos de modelación
3.1 - Proceso orientado a las características de los objetos
3.2 - Proceso orientado al comportamiento
3.3 - Tarjetas CRC
3.4 - Rational Unified Process
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Modelación basada en las características de los objetos
comportamiento de los objetos
característicasde los objetos
Modelo OO
Realidad
Diagrama declases
Diagrama deestados
Diagrama desecuencia
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Modelación orientada al comportamiento de los objetos
comportamiento de los objetos
característicasde los objetos
Modelo OO
Realidad
Diagrama decasos de uso
Diagrama declases
Diagrama deinteracción
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Empleo de scripts en los Casos de Uso
incorporarlibros
realizarpréstamo
Alumno
Bibliotecario
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Descripción de los Casos de Uso
Casos de uso:
incorporar libros: el bibliotecario recibe el libro, consulta sus datos, le coloca su código, actualiza su existencia y lo ubica en la estantería.
realizar préstamo: el alumno solicita un libro, el bibliotecario consulta el pedido, actualiza los datos del préstamo y entrega el libro al alumno.
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Scripts• Los scripts son oraciones estructuradas que describen el comportamiento en base a cuatro elementos:
• el actor o iniciador• la acción que ejecuta el iniciador• el participante que responde a la acción del iniciador• la respuesta a esa acción
• Fueron creados por Kenneth Rubin para su método OBA/D a comienzos de los ‘90• Los propongo como herramienta complementaria del UML
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Estructuración de los casos de uso mediante scriptsUso de scripts:
el alumno solicita un libro; el bibliotecario atiende pedido
el bibliotecario realiza consulta; el fichero entrega datos
el bibliotecario conforma préstamo; el fichero acepta datos
el bibliotecario entrega el libro; el alumno recibe el libro
(actor acción; participante respuesta)
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Tarjetas CRC
(Figura tomada del paper original: http://c2.com/doc/oopsla89/paper.html)
clase
colaboraciones
responsabilidades
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Tarjetas CRC
comportamientode los objetos
características de los objetos
Modelo OO
Realidad
TarjetasCRC
Diagrama declases
Diagrama deinteracción
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Rational Objectory Process:origen
• Proveniente de Object Factory for Software Development, fue creado en 1985 por Ivar Jacobson, para el desarrollo de sistemas en Ericsson, Suecia
• Se completó en 1986, se presentó en OOPSLA’87 y se incorporó una herramienta automatizada en 1989
• Fue adoptado por numerosas empresas, principalmente de telefonía
• Parte del método fue publicada en OOSE, la primera obra de Jacobson
• Cuando Jacobson se incorporó a Rational, Objectory fue complementado con las ideas de Booch
• Además se integraron la herramientas que soportan a Objectory con otras de Rational o adquiridas por esta última empresa
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Rational Objectory Process:características generales
• Es un proceso de ingeniería de software para la producción de software de alta calidad que satisfaga las necesidades del usuario
• Es un proceso iterativo en el que el producto final se obtiene por sucesivos refinamientos con crecimiento incremental
• Se basa en la producción y mantenimiento de modelos con un enfoque orientado a objetos y empleo del UML
• Utiliza como herramienta principal a los casos de uso
• Soporta desarrollo basado en componentes y es aplicable a diferentes tipos de proyectos y de distinta envergadura
• Alcanza el nivel CMM de madurez 3 del Software Engineering Institute
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Rational Objectory Process:etapas• En cada iteración, el proceso pasa por cuatro fases:• Incepción: se establecen las características del proyecto, los casos de uso, se evalúan los riesgos, se estiman los recursos y se decide la factibilidad del proyecto• Elaboración: se analiza el problema, se combaten los mayores riesgos, se describen los casos de uso y se establece la arquitectura del sistema• Construcción: se desarrolla iterativa e incrementalmente un producto a través de las etapas de análisis, diseño, implementación y prueba, para ser entregado al usuario• Transición: consiste en poner en marcha el producto final, corrigiendo errores, realizando ajustes y se verifica el cumplimiento del plan de proyecto
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Rational Objectory Process:iteraciones
Elaboration Construction TransitionInception
Phases
Requirements Capture
Analysis & Design
ImplementationTest
ManagementEnvironmentDeployment
Process Components
Supporting Components
Iterations
preliminaryiteration(s)
iter.#1
iter.#2
iter.#n
iter.#n+1
iter.#n+2
iter.#m
iter.#m+1
Organizationalong content
Organization along time
(Dibujo tomado de “Rational Objectory Process 4.1 - Your UML Process”, pág.3, http://www.rational.com)
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Rational Objectory Process:componentes
OKOKFail
Realized ByImplemented
ByVerified By
ImplementationModel
Test ModelDesign Model
Use-CaseModel
Models
ProcessComponents TestImplemen-
tationAnalysis &
DesignRequirements
Capture
(Dibujo tomado de “Rational Objectory Process 4.1 - Your UML Process”, pág.5, http://www.rational.com)
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Rational Unified Process(RUP)• Proceso de modelación que permite optimizar el uso del UML, anunciado el 15 de junio de 1998
• Reúne las mejores prácticas de diversas disciplinas• administración de requerimientos• modelación de negocios• desarrollo basado en componentes• ingeniería de datos• prueba y calidad
• Rational Objectory Process pasó a ser un subconjunto de RUP
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Consideraciones finales• En estos momentos está disponible la versión 1.3 del UML
• El OMG espera la versión 2.0 del UML conteniendo todas las mejoras
• Existen otras alternativas que continúan desarrollándose con éxito (ej.: OML)
• También existen varios métodos que siguen evolucionando
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Conclusión• El análisis de sistemas debe fundarse en tres aspectos primordiales: un enfoque adecuado, un buen conjunto de herramientas y un método dirigido por la realidad
• El UML es un excelente medio para esta visión del análisis de sistemas, además de que es estándar
• Numerosas empresas están desarrollando herramientas automatizadas para aplicar el UML
• Las Universidades deberían realizar un esfuerzo para orientar su enseñanza en este sentido y ser impulsoras del cambio en la sociedad
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Bibliografía sobre UML• FOWLER, Martin con Scott, Kendall. UML Distilled. Applying the Standard Object Modeling Language.Addison Wesley Longman, 1997.
• http://www.rational.com/uml
• Más la trilogía de libros de los autores del UML, Booch, Rumbaugh y Jacobson
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Bibliografía complementaria al UML
• BOOCH, Grady. Análisis y Diseño Orientado a Objetos con Aplicaciones. 2ª ed. Wilmington, Addison-Wesley Iberoamericana, 1996
• JACOBSON, Ivar y otros. Object-Oriented Software Engineering. A Use Case Driven Approach. 4ª reimpresión revisada. Estados Unidos de América, Addison-Wesley/ACM press, 1994
• RUMBAUGH, James y otros. Object-Oriented Modeling and Design. Englewood Cliffs, Prentice-Hall, 1991. (Ver también OMT-2 en http://www.rational.com)
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Bibliografía adicional sobre OOBERARD, Edward. Be Careful With "Use Cases". The Object Agency, Inc.BOOCH, Grady. Object Solutions: Managing the Object-Oriented Project. Addison-Wesley, 1996.BOOCH, Grady y otros. The Unified Modeling Language User Guide. Addison-Wesley, 1999.COAD, Peter y Yourdon, Edward. Object-Oriented Analysis. 2ª ed. Englewood Cliffs, Prentice-Hall, 1991.EMBLEY, David y otros. Object-Oriented Systems Analysis. A Model-Driven Approach. Englewood Cliffs, Prentice-Hall, 1992.ERIKSSON, Hans-Erik y Penker, Magnus. UML Toolkit Wiley Computer Publishing, 1998.FOWLER, Martin y Scott, Kendall. UML Distilled. A brief Guide to the Standard Object Modeling Language. 2da.ed. Addison-Wesley, 1999.GAMMA, Erich y otros. Design Patterns. Reading, Addison-Wesley, 1995.GOLDBERG, Adele y Rubin, Kenneth. Succeeding with Objects: Decision Frameworks for Project Management. Addison-Wesley, 1995.GRAHAM, Ian. Métodos Orientados a Objetos. 2ª ed. Wilmington, Addison-Wesley Iberoamericana, 1996.GRAHAM, Ian. Migrating to Object Technology. Addison-Wesley, 1995.JACOBSON, Ivar. Use Case Engineering. En: A Rational Technical Class Software Development West 1996. California, Rational Software
Corporation, 27/3/1996.JACOBSON, Ivar y otros. The Object Advantage - Business Process Reengineering with Object Technology. Addison-Wesley, 1996.MARTIN, James. Principles of Object-Oriented Analysis and Design. Englewood Cliffs, Prentice-Hall, 1993.MARTIN, James y Odell, James. Análisis y Diseño Orientado a Objetos. México, Prentice-Hall, 1994.MELLOR, Stephen y Lang, Neil. Developing Shlaer-Mellor Models Using UML. California, Project Technology Inc., 1997, .MEYER, Bertrand. Object-Oriented Software Construction. Hertfordshire, Prentice-Hall, 1988.MULLER, Pierre Alain. Modelado de Objetos con UML. Barcelona, Gestión 2000, 1997.PAGE-JONES, Meilir. The Practical Guide to Structured Systems Design. 2ª ed. Englewood Cliffs, Prentice-Hall, 1988.ParcPlace. MethodWorks User's Guide. Sunnyvale, ParcPlace Systems, Inc., 1995.QUATRINI, Terry. Visual Modeling With Rational Rose and UML. Addison-Wesley, 1998.ROSENBERG, Doug y Scott, Kendall. Use Case Driven Modeling with UML. A Practical Approach. Addison-Wesley, 1999.RUBIN, Kenneth. Object Behavior Analysis and Design. Sunnyvale, ParcPlace Systems, Inc., 1994.RUMBAUGH, James. Trends in Object-Oriented Methodology. Unifying Methods. Short Talk. Santa Clara, Rational Software Corporation,
1996.SHLAER, Sally y Lang, Neil. Shlaer-Mellor Method: The OOA96 Report Version 1.0. Berkeley, Project Technology, Inc., 1996,
http://www.projtech.comSHLAER, Sally y Mellor, Stephen. Migration from Structured to OO Methodologies. Berkeley, Project Technology, Inc., 1996,
http://www.projtech.comSHLAER, Sally y Mellor, Stephen. Object Lifecycles. Modeling the World in States. Englewood Cliffs, Prentice-Hall, 1992.SHLAER, Sally y Mellor, Stephen. Object-Oriented Analysis. Modeling the World in Data. Englewood Cliffs, Prentice-Hall, 1988.TAKAHASHI, Tadao. Introduçao a Programaçao Orientada a Objetos. Curitiba, III EBAI, 1988.WIRFS-BROCK, Rebecca y otros. Designing Object-Oriented Software. Englewood Cliffs, Prentice-Hall, 1990.YOURDON, Edward. Análisis Estructurado Moderno. México, Prentice-Hall Iberoamericana, 1989.
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Otra bibliografía consultada para esta presentaciónAQUINO, Santo Tomás de. Suma Teológica.An Interview with Ivar Jacobson. Parte I. En: Object Currents. Vol. I Nº 3. New York, SIGS Publications,
Inc., marzo de 1996.An Interview with Steve Mellor. En: Object Currents. Vol.I Nº 6. New York, SIGS Publications, Inc., 1996.ARISTÓTELES. Metafísica. 7ª ed. Madrid, Espasa-Calpe, 1972.BERTALANFFY, Ludwig von. Teoría General de los Sistemas. Buenos Aires, Fondo de Cultura Económica,
1990.GAMBRA, Rafael. Historia Sencilla de la Filosofía. 12 ed. Madrid, Rialp, 1981.GANE, Chris y Sarson, Trish. Análisis Estructurado de Sistemas. Buenos Aires, El Ateneo, 1988.HAREL, David. State Charts: A Visual Formalism for Complex Systems. Science of Computer
Programming, vol 8, 1987.HATHAWAY, Bob. James Rumbaugh Interview. En: Object Currents. Vol. I, Nº 2. New York, SIGS
Publications, Inc., 1995.HEUSER, Carlos. Modelagem Conceitual de Sistemas. Buenos Aires, Kapelusz, I EBAI, 1988.MARTIN, James. Sistemas de Información. Buenos Aires, El Ateneo, 1989.McMENAMIN, Stephen y Palmer, John. Essential Systems Analysis. Englewood Cliffs, Prentice-Hall, 1984.MURDICK, Robert y Munson, John. Sistemas de Información Administrativa. México, Prentice-Hall
Hispanoamericana, 1988.PRESSMAN, Roger. Ingeniería del Software. Un enfoque práctico. 3ª ed. Madrid, McGraw-
Hill/Interamericana de España, 1993.URDANOZ, Teófilo O.P. Historia de la Filosofía. Tomo IV. Siglo XIX: Kant, idealismo y espiritualismo.
Madrid, La Editorial Católica, 1975.
Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar
Cómo contactarnos
http://www.ucongreso.edu.are-mail: [email protected] [email protected]./Fax: (0261) 4230193 / 630 / 771 / 960 / 980Domicilios: Av. Mitre 617
o Colón 90(5500) Mendoza