SlideShare uma empresa Scribd logo
1 de 218
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Contenido ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
I Introducción
Introducción: Modelado de SW
Construcción de una casa para “fido”  Puede hacerlo una sola persona Requiere: Modelado mínimo Proceso simple Herramientas simples I. Introducción: Modelado de SW
Construcción de una casa Construida eficientemente y en un tiempo  razonable por un equipo Requiere: Modelado Proceso bien definido Herramientas más sofisticadas I. Introducción: Modelado de SW
Construcción de un rascacielos I. Introducción: Modelado de SW
Claves  en Desarrollo de SI Herramientas Proceso Notación I. Introducción: Modelado de SW
Abstracción - Modelado Visual (MV)  Sistema Computacional “ El modelado captura las partes esenciales del sistema ”   I. Introducción: Modelado de SW Proceso de Negocios Orden Item envío
II. Notación (Visual) - Beneficios Manejar la complejidad “ Modelar el sistema independientemente  del lenguaje de implementación” Promover la Reutilización I. Introducción: Modelado de SW Interface de Usuario (Visual Basic, Java, ..) Lógica del Negocio (C++, Java, ..) Servidor de BDs (C++ & SQL, ..) Múltiples Sistemas Componentes  Reutilizados
Introducción: UML
¿Qué es UML? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],I. Introducción: UML
Situación de Partida ,[object Object],[object Object],[object Object],[object Object],I. Introducción: UML
Historia de UML ,[object Object],[object Object],I. Introducción: UML
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 I. Introducción: UML UML 1.5 2003
Participantes en UML 1.0 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],I. Introducción: UML
UML  “ aglutina ”  enfoques OO UML Rumbaugh Jacobson Meyer Harel Wirfs-Brock Fusion 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 I. Introducción: UML
Aspectos Novedosos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],I. Introducción: UML
Inconvenientes en UML ,[object Object],[object Object],[object Object],[object Object],I. Introducción: UML
Perspectivas de UML ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],I. Introducción: UML
II Breve Tour por UML
Modelos y Diagramas ,[object Object],[object Object],[object Object],II. Breve Tour por UML
[object Object],[object Object],[object Object],... Modelos y Diagramas II. Breve Tour por UML
Diagramas de UML 1.5 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],II. Breve Tour por UML
...  Diagramas de UML II. Breve Tour por UML Los diagramas expresan gráficamente partes de un modelo Use Case Diagrams Use Case Diagrams Diagramas de  Casos de Uso Scenario Diagrams Scenario Diagrams Diagramas de Colaboración State Diagrams State Diagrams Diagramas de Componentes Component Diagrams Component Diagrams Diagramas de Distribución State Diagrams State Diagrams Diagramas de  Objetos Scenario Diagrams Scenario Diagrams Diagramas de Estados Use Case Diagrams Use Case Diagrams Diagramas de Secuencia State Diagrams State Diagrams Diagramas de Clases Diagramas de Actividad Modelos
[object Object],Organización de Modelos Vista Lógica Vista de  Procesos Vista de  Distribución Vista de Realización Vista de los  Casos de Uso Este enfoque sigue el browser de Rational Rose II. Breve Tour por UML
... Organización de Modelos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],II. Breve Tour por UML
Paquetes en UML ,[object Object],[object Object],II. Breve Tour por UML
…  Paquetes en UML ,[object Object],[object Object],[object Object],II. Breve Tour por UML
…  Paquetes en UML ,[object Object],[object Object],II. Breve Tour por UML
...Paquetes en Rational Rose II. Breve Tour por UML Customers Banking
…  Paquetes en UML II. Breve Tour por UML Práctica 1
Diagrama de Casos de Uso ,[object Object],[object Object],II. Breve Tour por UML
…  Ejemplos Ejemplo: II. Breve Tour por UML Práctica 2
Diagrama de Secuencia II. Breve Tour por UML
Diagrama de Colaboración Práctica 3 II. Breve Tour por UML
Diagrama de Clases ,[object Object],[object Object],[object Object],[object Object],II. Breve Tour por UML
Ejemplos (Clase y Visibilidad) II. Breve Tour por UML
…  Ejemplos (Asociación) II. Breve Tour por UML
…  Ejemplos (Clase Asociación) II. Breve Tour por UML
…  Ejemplos (Generalización) II. Breve Tour por UML
…  Ejemplos  Prácticas 4 II. Breve Tour por UML
Diagrama de Estados II. Breve Tour por UML
Diagrama de Actividad II. Breve Tour por UML Práctica 5
Diagrama Componentes II. Breve Tour por UML
Diagrama de D espliegue II. Breve Tour por UML
Diagrama de D espliegue en Rational Práctica 6 II. Breve Tour por UML Servidor Central Punto de Venta Terminal de Consulta
Resumen ,[object Object],[object Object],II. Breve Tour por UML
III El Paradigma  Orientado a Objeto
¿Por qué la Orientación a Objetos? ,[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO
¿Por qué la Orientación a Objetos? ,[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO
Problemas en OO “ ...Los conceptos básicos de la OO se conocen desde hace dos décadas, pero su aceptación todavía no está tan extendida como los beneficios que esta tecnología puede sugerir” “ ...La mayoría de los usuarios de la OO  no  utilizan los conceptos de la OO de forma purista, como inicialmente se pretendía. Esta práctica ha sido promovida por muchas herramientas y lenguajes que intentan utilizar los conceptos en diversos grados” --Wolfgang Strigel III. El Paradigma OO
[object Object],[object Object],[object Object],[object Object],[object Object],…  Problemas en OO “ Las aplicaciones de gestión están constituidas mayoritariamente por objetos degenerados” III. El Paradigma OO
Fundamentos de  Modelado OO
Objetos ,[object Object],[object Object],[object Object],III. El Paradigma OO: Fundamentos de Modelado OO
…  Objetos ,[object Object],III. El Paradigma OO: Fundamentos de Modelado OO
…  Objetos ,[object Object],III. El Paradigma OO: Fundamentos de Modelado OO
…  Objetos ,[object Object],[object Object],[object Object],III. El Paradigma OO: Fundamentos de Modelado OO
Clases y Objetos III. El Paradigma OO: Fundamentos de Modelado OO
Comportamiento ,[object Object],III. El Paradigma OO: Fundamentos de Modelado OO
…  Comportamiento ,[object Object],[object Object],[object Object],III. El Paradigma OO: Fundamentos de Modelado OO
Persistencia ,[object Object],[object Object],[object Object],III. El Paradigma OO: Fundamentos de Modelado OO
Comunicación ,[object Object],[object Object],III. El Paradigma OO: Fundamentos de Modelado OO
…  Comunicación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: Fundamentos de Modelado OO
…  Comunicación ,[object Object],[object Object],[object Object],III. El Paradigma OO: Fundamentos de Modelado OO
…  Comunicación ,[object Object],III. El Paradigma OO: Fundamentos de Modelado OO
El Concepto de Mensaje ,[object Object],III. El Paradigma OO: Fundamentos de Modelado OO
Mensaje y Estímulo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: Fundamentos de Modelado OO
Requisitos del software III. El Paradigma OO: Requisitos
Casos de Uso ,[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: Requisitos
…  Casos de Uso ,[object Object],[object Object],[object Object],III. El Paradigma OO: Requisitos
…  Casos de Uso ,[object Object],III. El Paradigma OO: Requisitos
…  Casos de Uso ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: Requisitos
…  Casos de Uso ,[object Object],[object Object],[object Object],III. El Paradigma OO: Requisitos
Casos de Uso: Relaciones ,[object Object],[object Object],III. El Paradigma OO: Requisitos
…  Casos de Uso: Relaciones ,[object Object],[object Object],III. El Paradigma OO: Requisitos
…  Casos de Uso: Relaciones ,[object Object],III. El Paradigma OO: Requisitos
…  Casos de Uso: Relaciones ,[object Object],III. El Paradigma OO: Requisitos
…  Casos de Uso: Relaciones ,[object Object],III. El Paradigma OO: Requisitos
…  Casos de Uso: Relaciones ,[object Object],III. El Paradigma OO: Requisitos
…  Casos de Uso: Relaciones ,[object Object],III. El Paradigma OO: Requisitos
…  Casos de Uso: Relaciones ,[object Object],III. El Paradigma OO: Requisitos
Casos de Uso: Construcción ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: Requisitos
…  Casos de Uso: Construcción ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: Requisitos Práctica 7
III. El Paradigma OO: Requisitos Identificador CU-< id-requisito > Nombre < nombre del requisito funcional > Descripción El sistema deberá comportarse tal como se describe en el siguiente caso de uso { concreto cuando <evento de activación> , abstracto durante la realización de los casos de uso <lista de casos de uso>} Precondición <precondición del caso de uso> Secuencia Normal Paso Acción 1 {El <actor> , El sistema} <acción realizada por el actor o sistema>, se realiza el caso de uso  < caso de uso CU-x> 2 Si <condición>, {el <actor> , el sistema} <acción realizada por el actor o sistema>>, se realiza el caso de uso < caso de uso CU-x> … … Postcondición <postcondición del caso de uso> Excepciones Paso Acción 1 Si <condición de excepción>,{el <actor> , el sistema} }<acción realizada por el actor o sistema>>, se realiza el caso de uso  < caso de uso CU-x>, a continuación este caso de uso {continua, aborta} … … Rendimiento Paso Cota de tiempo 1 n segundos … … Frecuencia esperada <nº de veces> veces / <unidad de tiempo> Importancia {sin importancia, importante, vital} Urgencia {puede esperar, hay presión, inmediatamente} Comentarios <comentarios adicionales>
Comentarios ,[object Object],[object Object],[object Object],III. El Paradigma OO: Requisitos
I nteracci ón entre objetos
Interacción ,[object Object],[object Object],III. El Paradigma OO: Interacción entre objetos
Mensajes ,[object Object],[object Object],III. El Paradigma OO: Interacción entre objetos
Diagramas de interacción ,[object Object],[object Object],[object Object],III. El Paradigma OO: Interacción entre objetos
Diagrama de Secuencia ,[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: Interacción entre objetos
…  Diagrama de Secuencia III. El Paradigma OO: Interacción entre objetos
…  Diagrama de Secuencia III. El Paradigma OO: Interacción entre objetos
Diagrama de Secuencia mostrando foco de control,  condiciones, recursividad creación y destrucción  de objetos III. El Paradigma OO: Interacción entre objetos
III. El Paradigma OO: Interacción entre objetos
…  Diagrama de Secuencia III. El Paradigma OO: Interacción entre objetos
Diagrama de Colaboración ,[object Object],[object Object],[object Object],III. El Paradigma OO: Interacción entre objetos
Mensajes ,[object Object],[object Object],A B A.1, B.3 /  1: Mensaje III. El Paradigma OO: Interacción entre objetos
…  Mensajes ,[object Object],A B [x>y]  1 : Mensaje III. El Paradigma OO: Interacción entre objetos
…  Mensajes ,[object Object],A B 1:  distancia :=  mover(x,y) Práctica 8 III. El Paradigma OO: Interacción entre objetos
Clases y relaciones  entre clases
Clas ificación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: Clases y relaciones entre clases
Clases ,[object Object],[object Object],[object Object],III. El Paradigma OO: Clases y relaciones entre clases
Clases: Notación Gráfica ,[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: Clases y relaciones entre clases
Clases: Notación Gráfica ,[object Object],III. El Paradigma OO: Clases y relaciones entre clases
Clases: Encapsulación ,[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: Clases y relaciones entre clases
…  Clases: Encapsulación ,[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: Clases y relaciones entre clases
…  Clases: Encapsulación ,[object Object],III. El Paradigma OO: Clases y relaciones entre clases
Relaciones entre  C lases ,[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: Clases y relaciones entre clases
Asociación ,[object Object],[object Object],III. El Paradigma OO: Clases y relaciones entre clases
[object Object],…  Asociación III. El Paradigma OO: Clases y relaciones entre clases
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],…  Asociación III. El Paradigma OO: Clases y relaciones entre clases
Asociación Cualificada  Reduce la multiplicidad del rol opuesto al considerar el valor del cualificador III. El Paradigma OO: Clases y relaciones entre clases
[object Object],[object Object],[object Object],Agregación  III. El Paradigma OO: Clases y relaciones entre clases
Ejemplos III. El Paradigma OO: Clases y relaciones entre clases
... Ejemplos III. El Paradigma OO: Clases y relaciones entre clases
…  Ejemplos Asociación excluyente Clase de asociación Agregación III. El Paradigma OO: Clases y relaciones entre clases
Clases y Objetos ,[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: Clases y relaciones entre clases
Generalización ,[object Object],[object Object],[object Object],III. El Paradigma OO: Clases y relaciones entre clases
[object Object],[object Object],... Generalización III. El Paradigma OO: Clases y relaciones entre clases
... Generalización III. El Paradigma OO: Clases y relaciones entre clases
[object Object],[object Object],[object Object],[object Object],... Generalización III. El Paradigma OO: Clases y relaciones entre clases
[object Object],[object Object],[object Object],... Generalización III. El Paradigma OO: Clases y relaciones entre clases
[object Object],[object Object],[object Object],... Generalización III. El Paradigma OO: Clases y relaciones entre clases
[object Object],... Generalización { estática } III. El Paradigma OO: Clases y relaciones entre clases
[object Object],... Generalización { d i n á mic a  } III. El Paradigma OO: Clases y relaciones entre clases
[object Object],[object Object],... Generalización int(A)    int(B) ext(B)    ext(A)  III. El Paradigma OO: Clases y relaciones entre clases
[object Object],... Generalización ext(C 0 ) =    ext(C i )    completa ext(C i )    ext(C j ) =       disjunta C 0 C 1 C n { static } III. El Paradigma OO: Clases y relaciones entre clases
[object Object],... Generalización ext(C 0 ) =     ext(C i )    completa ext t (C i )    ext t (C j ) =       disjunta en t ext t1 (C i )    ext t2 (C j )          posiblemente   no disjunta en    diferentes   instantes C 0 C 1 C n { d i n á mic a  } III. El Paradigma OO: Clases y relaciones entre clases
[object Object],... Generalización Vehículo Aéreo Avión Helicóptero Comercial Militar estructura uso III. El Paradigma OO: Clases y relaciones entre clases
Clasificación Múltiple (herencia múltiple) ,[object Object],[object Object],[object Object],III. El Paradigma OO: Clases y relaciones entre clases
…  Herencia Múltiple ,[object Object],Animal Bípedo Cuadrúpedo Con Pelos Con Plumas Con Escamas Her b í v oro Carn ív oro cubertura cobertura cobertura comida nro patas nro patas comida Conejo III. El Paradigma OO: Clases y relaciones entre clases
Principio de Sustitución ,[object Object],[object Object],III. El Paradigma OO: Clases y relaciones entre clases
…  Principio de Sustitución ,[object Object],[object Object],III. El Paradigma OO: Clases y relaciones entre clases
Polimorfismo ,[object Object],[object Object],[object Object],III. El Paradigma OO: Clases y relaciones entre clases
…  Polimorfismo ,[object Object],dormir ? ? III. El Paradigma OO: Clases y relaciones entre clases
…  Polimorfismo Dormir() { en un árbol } Dormir() { sobrela espalda } Dormir() { sobre el vientre } Dormir() { } Animal dormir() León dormir() Oso dormir() Tigre dormir() III. El Paradigma OO: Clases y relaciones entre clases
…  Polimorfismo ,[object Object],[object Object],Práctica 9-12 III. El Paradigma OO: Clases y relaciones entre clases
Comportamiento de objetos
Diagrama de Estados ,[object Object],[object Object],[object Object],III. El Paradigma OO: Comportamiento de objetos
[object Object],[object Object],[object Object],[object Object],[object Object],…  Diagrama de Estados III. El Paradigma OO: Comportamiento de objetos
[object Object],[object Object],[object Object],[object Object],[object Object],…  Diagrama de Estados III. El Paradigma OO: Comportamiento de objetos
[object Object],…  Diagrama de Estados A B Evento   [condición]  / Acción Tanto el evento como la acción se consideran instantáneos III. El Paradigma OO: Comportamiento de objetos
[object Object],…  Diagrama de Estados III. El Paradigma OO: Comportamiento de objetos
[object Object],Acciones A B Evento [condición] / OtroObjeto.Operación III. El Paradigma OO: Comportamiento de objetos
[object Object],…  Acciones estado A entry: acción por entrar exit: acción por salir do: acción mientras en estado on evento : acción III. El Paradigma OO: Comportamiento de objetos
Generalización de Estados ,[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: Comportamiento de objetos
Generalización de Estados ,[object Object],A B C e1 e2 e2 III. El Paradigma OO: Comportamiento de objetos
[object Object],Generalización de Estados C a b A B e1 e2 III. El Paradigma OO: Comportamiento de objetos
[object Object],…  Generalización de Estados C a b A B e1 e2 e0 III. El Paradigma OO: Comportamiento de objetos
[object Object],…  Generalización de Estados C a b A B e1 e2 e1 e0 III. El Paradigma OO: Comportamiento de objetos
[object Object],[object Object],…  Generalización de Estados III. El Paradigma OO: Comportamiento de objetos
[object Object],…  Generalización de Estados III. El Paradigma OO: Comportamiento de objetos
…  Generalización de Estados III. El Paradigma OO: Comportamiento de objetos
Historia ,[object Object],[object Object],[object Object],III. El Paradigma OO: Comportamiento de objetos
[object Object],…  Historia A d2 d1 H * B C x y D out in III. El Paradigma OO: Comportamiento de objetos
[object Object],…  Historia Enjuague Lavado Secado H Enjuague Lavado Secado H Espera abir   p uerta cerrar   p uerta III. El Paradigma OO: Comportamiento de objetos
Destrucción del Objeto ,[object Object],[object Object],III. El Paradigma OO: Comportamiento de objetos
…  Destrucción de Objeto ,[object Object],III. El Paradigma OO: Comportamiento de objetos
Transiciones temporizadas ,[object Object],[object Object],[object Object],III. El Paradigma OO: Comportamiento de objetos
[object Object],…  Transiciones temporizadas A esperar  dinero entry: Mostrar mensaje exit: cerrar ranura B anular  transacción / Abrir ranura Depósito efectuado después de 30 segundos III. El Paradigma OO: Comportamiento de objetos
Diagrama de Actividad ,[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: Comportamiento de objetos
Ejemplo ( con  s wim lines ) III. El Paradigma OO: Comportamiento de objetos
... Ejemplos III. El Paradigma OO: Comportamiento de objetos
... Ejemplos III. El Paradigma OO: Comportamiento de objetos
Componentes
Diagrama de Componentes ,[object Object],[object Object],III. El Paradigma OO: Componentes
...Diagrama de Componentes ,[object Object],[object Object],III. El Paradigma OO: Componentes
...Diagrama de Componentes III. El Paradigma OO: Componentes
Distribución y despliegue de Componentes
Diagrama de D espliegue ,[object Object],III. El Paradigma OO: Distribución y despliegue de componentes
[object Object],[object Object],[object Object],[object Object],[object Object],…  Diagrama de D espliegue III. El Paradigma OO: Distribución y despliegue de componentes
[object Object],…  Diagrama de D espliegue Terminal Punto de Venta << Cliente> > Base de  Datos << Servidor> > Control <<TCP/IP>> <<RDSI>> Podemos distinguir tipos de nodos y connexiones por estereotipado <<RDSI>> III. El Paradigma OO: Distribución y despliegue de componentes
[object Object],…  Diagramas de Despliegue III. El Paradigma OO: Distribución y despliegue de componentes
[object Object],…  Diagramas de Despliegue Component Diagram: videoStoreServer Client videoStoreApplication DBServer III. El Paradigma OO: Distribución y despliegue de componentes
Object Constraint Language OCL III. El Paradigma OO
¿Qué es OCL?  ,[object Object],[object Object],[object Object],III. El Paradigma OO: OCL
Usos de OCL  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: OCL
Ejemplo  III. El Paradigma OO: OCL
Invariantes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: OCL
Pre- Post condiciones ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: OCL
Valores iniciales y derivados ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: OCL
Expresiones Let ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: OCL
Definiciones ,[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: OCL
Navegación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: OCL
…  Navegación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],III. El Paradigma OO: OCL
IV Proceso de Desarrollo  de SW basado en UML
¿Qué es un Proceso de Desarrollo de SW?  ,[object Object],[object Object],Requisitos nuevos o modificados Sistema nuevo o modificado Proceso de Desarrollo  de Software IV. Proceso de Desarrollo de SW basado en UML
Rational Unified Process (RUP)  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Rational Unified Process 1998 Rational  Objectory Process 1996-1997 Objectory Process 1987-1995 Enfoque  Ericsson UML IV. Proceso de Desarrollo de SW basado en UML
Dos Dimensiones IV. Proceso de Desarrollo de SW basado en UML
Fases e Hitos (Milestones) ti empo Objetivos (Vision)   Ar qui tectur a   Capacidad Operacional Inicial   Release del Producto Inception Elaboration Construction Transition IV. Proceso de Desarrollo de SW basado en UML
Elementos en RUP  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],IV. Proceso de Desarrollo de SW basado en UML
... Elementos en RUP  ,[object Object],[object Object],Workflow Detail:Analyse the Problem Workflow: Requirements IV. Proceso de Desarrollo de SW basado en UML Actividades Workers Artefactos
... Elementos en RUP  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],IV. Proceso de Desarrollo de SW basado en UML
... Elementos en RUP  ,[object Object],[object Object],IV. Proceso de Desarrollo de SW basado en UML
... Elementos en RUP  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],IV. Proceso de Desarrollo de SW basado en UML
... Elementos en RUP  ,[object Object],[object Object],IV. Proceso de Desarrollo de SW basado en UML
Características Esenciales de RUP  ,[object Object],[object Object],[object Object],IV. Proceso de Desarrollo de SW basado en UML
Requisitos Capturar,  definir  y  validar los   casos de uso Realizar los  casos de uso Verificar  que  se satisfacen los   casos de uso Proceso dirigido por los Casos de Uso Análisis  & Diseño Implement ación Prueba s Casos de Uso integran el trabajo IV. Proceso de Desarrollo de SW basado en UML
Caso de Uso Realización de Análisis Realización de Diseño Caso de Prueba X «trace» «trace» «trace» «trace» Pruebas Funcionales Pruebas Unitarias ... Proceso dirigido por los Casos de Uso [ The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999 ]   IV. Proceso de Desarrollo de SW basado en UML
... Proceso dirigido por los Casos de Uso IV. Proceso de Desarrollo de SW basado en UML
[object Object],[object Object],[object Object],Proceso Iterativo e Incremental IV. Proceso de Desarrollo de SW basado en UML
[object Object],... Proceso Iterativo e Incremental n veces IV. Proceso de Desarrollo de SW basado en UML Análisis Diseño Codific. Pruebas e Integración
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],... Proceso Iterativo e Incremental IV. Proceso de Desarrollo de SW basado en UML
Proceso Iterativo e Incremental Enfoque Secuencial Enfoque Iterativo e Incremental IV. Proceso de Desarrollo de SW basado en UML
... Proceso Iterativo e Incremental Grado de Finalización de Artefactos IV. Proceso de Desarrollo de SW basado en UML
Proceso Centrado en la Arquitectura  ,[object Object],[object Object],[object Object],Inception Elaboration Construction Transition IV. Proceso de Desarrollo de SW basado en UML Architecture
Fases, Release, Base Line, Generación ciclo de desarrollo ciclo de evolución generación (release final de  un ciclo de desarrollo) release (producto al final de una iteración) base line (release asociada a un hito) IV. Proceso de Desarrollo de SW basado en UML
Esfuerzo y dedicación por Fases en RUP IV. Proceso de Desarrollo de SW basado en UML Inicio Elaboración Construcción Transición Esfuerzo 5 % 20 % 65 % 10% Tiempo Dedicado 10 % 30 % 50 % 10%
Distribución de Recursos por Fases en RUP IV. Proceso de Desarrollo de SW basado en UML
V Conclusiones
Claves en el Desarrollo de SI Herramientas p.e. Rational Rose Poseidon Proceso p.e. Rational Unified Process Métrica 3.0 o XP Notación UML V. Conclusiones
Modelado de SI: Algunas Reflexiones ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],V. Conclusiones
Adaptabilidad al contexto del proyecto V. Conclusiones
Tendencias ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],V. Conclusiones
... Tendencias ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],V. Conclusiones
Diagramas en UML 2.0
Bibliografía Adicional ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],V. Conclusiones

Mais conteúdo relacionado

Mais procurados (20)

Introduccion a Uml
Introduccion a Uml Introduccion a Uml
Introduccion a Uml
 
Curso Uml 2.1 Diagramas De Cu Y Clases
Curso Uml   2.1 Diagramas De Cu Y ClasesCurso Uml   2.1 Diagramas De Cu Y Clases
Curso Uml 2.1 Diagramas De Cu Y Clases
 
Introduccion a UML
Introduccion a UMLIntroduccion a UML
Introduccion a UML
 
Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UML
 
Uml
UmlUml
Uml
 
Presentacion uml dian1_2003
Presentacion uml dian1_2003Presentacion uml dian1_2003
Presentacion uml dian1_2003
 
Uml (lenguaje unificado de modelado)
Uml (lenguaje unificado de modelado)Uml (lenguaje unificado de modelado)
Uml (lenguaje unificado de modelado)
 
Informatica
Informatica Informatica
Informatica
 
El lenguaje de modelado unificado
El lenguaje de modelado unificadoEl lenguaje de modelado unificado
El lenguaje de modelado unificado
 
Uml
UmlUml
Uml
 
Lenguaje unificado de modelado
Lenguaje unificado de modeladoLenguaje unificado de modelado
Lenguaje unificado de modelado
 
Diagrama uml ing software i promecys
Diagrama uml ing software i promecysDiagrama uml ing software i promecys
Diagrama uml ing software i promecys
 
Modelo dinamico
Modelo dinamicoModelo dinamico
Modelo dinamico
 
Lenguaje Unificado de Modelado
Lenguaje Unificado de ModeladoLenguaje Unificado de Modelado
Lenguaje Unificado de Modelado
 
Uml
UmlUml
Uml
 
Historia uml
Historia umlHistoria uml
Historia uml
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
 
Análisis orientado a objetos y uml
Análisis orientado a objetos y umlAnálisis orientado a objetos y uml
Análisis orientado a objetos y uml
 
Historia de uml
Historia de umlHistoria de uml
Historia de uml
 
UML
UMLUML
UML
 

Destaque

Diagramas de clase y estado
Diagramas de clase y estadoDiagramas de clase y estado
Diagramas de clase y estadoVictor Selgas
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Softwareem3marquez
 
Actividad final, Anàlisis y Diseño de Sistemas de Informaciòn II_ Fase I, II,...
Actividad final, Anàlisis y Diseño de Sistemas de Informaciòn II_ Fase I, II,...Actividad final, Anàlisis y Diseño de Sistemas de Informaciòn II_ Fase I, II,...
Actividad final, Anàlisis y Diseño de Sistemas de Informaciòn II_ Fase I, II,...dimatoba
 
Estado social de derecho (Colombia)
Estado social de derecho (Colombia)Estado social de derecho (Colombia)
Estado social de derecho (Colombia)Hawin Rodríguez
 
Sesion 2 2 conceptos claves de analisis y diseno
Sesion 2 2 conceptos claves de analisis y disenoSesion 2 2 conceptos claves de analisis y diseno
Sesion 2 2 conceptos claves de analisis y disenoJulio Pari
 
Fundamentos de Calidad del Software - Modelos y Estándares
Fundamentos de Calidad del Software - Modelos y EstándaresFundamentos de Calidad del Software - Modelos y Estándares
Fundamentos de Calidad del Software - Modelos y EstándaresLuis Eduardo Pelaez Valencia
 
Educacion tecnologica
Educacion tecnologicaEducacion tecnologica
Educacion tecnologicaJorge Lopez
 
Estándares y modelos de calidad del software
Estándares y modelos de calidad del softwareEstándares y modelos de calidad del software
Estándares y modelos de calidad del softwarerodigueezleidy
 
Capitulo04
Capitulo04Capitulo04
Capitulo04martin
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de SoftwareUPT
 
algoritmos, pseudocódigos y diagrama de flujo
algoritmos, pseudocódigos y diagrama de flujoalgoritmos, pseudocódigos y diagrama de flujo
algoritmos, pseudocódigos y diagrama de flujolaurabernier14
 
Diagramas De Estado
Diagramas De EstadoDiagramas De Estado
Diagramas De Estadoguest5ed375
 
Tm01 el modelado en el desarrollo de software
Tm01 el modelado en el desarrollo de softwareTm01 el modelado en el desarrollo de software
Tm01 el modelado en el desarrollo de softwareJulio Pari
 
Diseño de interfaz importancia y proceso
Diseño de interfaz importancia y procesoDiseño de interfaz importancia y proceso
Diseño de interfaz importancia y procesoadrianazamora
 

Destaque (20)

Modelado, Ingenieria de Software
Modelado, Ingenieria de SoftwareModelado, Ingenieria de Software
Modelado, Ingenieria de Software
 
Diagramas de clase y estado
Diagramas de clase y estadoDiagramas de clase y estado
Diagramas de clase y estado
 
Diseño de Sistemas
Diseño de SistemasDiseño de Sistemas
Diseño de Sistemas
 
Análisis de objeto
Análisis de objetoAnálisis de objeto
Análisis de objeto
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
 
Actividad final, Anàlisis y Diseño de Sistemas de Informaciòn II_ Fase I, II,...
Actividad final, Anàlisis y Diseño de Sistemas de Informaciòn II_ Fase I, II,...Actividad final, Anàlisis y Diseño de Sistemas de Informaciòn II_ Fase I, II,...
Actividad final, Anàlisis y Diseño de Sistemas de Informaciòn II_ Fase I, II,...
 
Estado social de derecho (Colombia)
Estado social de derecho (Colombia)Estado social de derecho (Colombia)
Estado social de derecho (Colombia)
 
Sesion 2 2 conceptos claves de analisis y diseno
Sesion 2 2 conceptos claves de analisis y disenoSesion 2 2 conceptos claves de analisis y diseno
Sesion 2 2 conceptos claves de analisis y diseno
 
Fundamentos de Calidad del Software - Modelos y Estándares
Fundamentos de Calidad del Software - Modelos y EstándaresFundamentos de Calidad del Software - Modelos y Estándares
Fundamentos de Calidad del Software - Modelos y Estándares
 
Conceptos de diseño
Conceptos de diseñoConceptos de diseño
Conceptos de diseño
 
Educacion tecnologica
Educacion tecnologicaEducacion tecnologica
Educacion tecnologica
 
Diagrama uml
Diagrama umlDiagrama uml
Diagrama uml
 
Estándares y modelos de calidad del software
Estándares y modelos de calidad del softwareEstándares y modelos de calidad del software
Estándares y modelos de calidad del software
 
Capitulo04
Capitulo04Capitulo04
Capitulo04
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
algoritmos, pseudocódigos y diagrama de flujo
algoritmos, pseudocódigos y diagrama de flujoalgoritmos, pseudocódigos y diagrama de flujo
algoritmos, pseudocódigos y diagrama de flujo
 
Diagramas De Estado
Diagramas De EstadoDiagramas De Estado
Diagramas De Estado
 
Tm01 el modelado en el desarrollo de software
Tm01 el modelado en el desarrollo de softwareTm01 el modelado en el desarrollo de software
Tm01 el modelado en el desarrollo de software
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Diseño de interfaz importancia y proceso
Diseño de interfaz importancia y procesoDiseño de interfaz importancia y proceso
Diseño de interfaz importancia y proceso
 

Semelhante a Ingenieria de software

Semelhante a Ingenieria de software (20)

cursoUML.ppt
cursoUML.pptcursoUML.ppt
cursoUML.ppt
 
UML_Clase_01
UML_Clase_01UML_Clase_01
UML_Clase_01
 
Diagramas uml(1)
Diagramas uml(1)Diagramas uml(1)
Diagramas uml(1)
 
Uml
UmlUml
Uml
 
Umbrello UML Modeller
Umbrello UML ModellerUmbrello UML Modeller
Umbrello UML Modeller
 
uml
umluml
uml
 
Teoria del modelado de objetos modificado
Teoria del modelado de objetos modificadoTeoria del modelado de objetos modificado
Teoria del modelado de objetos modificado
 
Uml juan pablo cueto galindo
Uml juan pablo cueto galindoUml juan pablo cueto galindo
Uml juan pablo cueto galindo
 
El Proceso UML Ing. de Sistemas 7° Sem. "UNEFA"
El Proceso UML Ing. de Sistemas 7° Sem. "UNEFA"El Proceso UML Ing. de Sistemas 7° Sem. "UNEFA"
El Proceso UML Ing. de Sistemas 7° Sem. "UNEFA"
 
UML
UMLUML
UML
 
Sesion1.1 uml
Sesion1.1 umlSesion1.1 uml
Sesion1.1 uml
 
UML. un analisis comparativo para la diagramación de software
UML.  un analisis comparativo para la diagramación de softwareUML.  un analisis comparativo para la diagramación de software
UML. un analisis comparativo para la diagramación de software
 
Objeto de Aprendizaje : Introducción a UML
Objeto de Aprendizaje : Introducción a UMLObjeto de Aprendizaje : Introducción a UML
Objeto de Aprendizaje : Introducción a UML
 
Uml
UmlUml
Uml
 
Lenguaje unificado de modelado
Lenguaje unificado de modeladoLenguaje unificado de modelado
Lenguaje unificado de modelado
 
Uml
UmlUml
Uml
 
Uml
UmlUml
Uml
 
Modelado de sistemas software
Modelado de sistemas softwareModelado de sistemas software
Modelado de sistemas software
 
Generacion en los diferentes diagramas de uml
Generacion en los diferentes diagramas de uml Generacion en los diferentes diagramas de uml
Generacion en los diferentes diagramas de uml
 
Uml
UmlUml
Uml
 

Mais de Belen Gonzalez

Gonzalez_Belén _Taller1
Gonzalez_Belén _Taller1Gonzalez_Belén _Taller1
Gonzalez_Belén _Taller1Belen Gonzalez
 
Flujos y archivo en java
Flujos y archivo en javaFlujos y archivo en java
Flujos y archivo en javaBelen Gonzalez
 
Aprendizaje, enseñanza y propuestas pedagógicas
Aprendizaje, enseñanza y propuestas pedagógicasAprendizaje, enseñanza y propuestas pedagógicas
Aprendizaje, enseñanza y propuestas pedagógicasBelen Gonzalez
 
Aprendizaje, enseñanza y propuestas pedagógicas
Aprendizaje, enseñanza y propuestas pedagógicasAprendizaje, enseñanza y propuestas pedagógicas
Aprendizaje, enseñanza y propuestas pedagógicasBelen Gonzalez
 
Guia breve para enviar evidencias
Guia breve para enviar evidenciasGuia breve para enviar evidencias
Guia breve para enviar evidenciasBelen Gonzalez
 
Difusion u1 actividad 2
Difusion u1 actividad 2Difusion u1 actividad 2
Difusion u1 actividad 2Belen Gonzalez
 
Gonzalez Belen - Cuadro
Gonzalez Belen - CuadroGonzalez Belen - Cuadro
Gonzalez Belen - CuadroBelen Gonzalez
 
Videos Ted - Belen Gonzalez
Videos Ted - Belen GonzalezVideos Ted - Belen Gonzalez
Videos Ted - Belen GonzalezBelen Gonzalez
 
Videos Ted - Belen Gonzalez
Videos Ted - Belen GonzalezVideos Ted - Belen Gonzalez
Videos Ted - Belen GonzalezBelen Gonzalez
 
Seminario multidisciplinario
Seminario multidisciplinarioSeminario multidisciplinario
Seminario multidisciplinarioBelen Gonzalez
 
Entornos virtuales en la educación superior
Entornos virtuales en la educación superiorEntornos virtuales en la educación superior
Entornos virtuales en la educación superiorBelen Gonzalez
 

Mais de Belen Gonzalez (20)

Gonzalez_Belén _Taller1
Gonzalez_Belén _Taller1Gonzalez_Belén _Taller1
Gonzalez_Belén _Taller1
 
Usando minecraft
Usando minecraftUsando minecraft
Usando minecraft
 
Flujos y archivo en java
Flujos y archivo en javaFlujos y archivo en java
Flujos y archivo en java
 
Entrar al bios
Entrar al biosEntrar al bios
Entrar al bios
 
Comparacion
ComparacionComparacion
Comparacion
 
Conectivismo
ConectivismoConectivismo
Conectivismo
 
Aprendizaje, enseñanza y propuestas pedagógicas
Aprendizaje, enseñanza y propuestas pedagógicasAprendizaje, enseñanza y propuestas pedagógicas
Aprendizaje, enseñanza y propuestas pedagógicas
 
Aprendizaje, enseñanza y propuestas pedagógicas
Aprendizaje, enseñanza y propuestas pedagógicasAprendizaje, enseñanza y propuestas pedagógicas
Aprendizaje, enseñanza y propuestas pedagógicas
 
Guia breve para enviar evidencias
Guia breve para enviar evidenciasGuia breve para enviar evidencias
Guia breve para enviar evidencias
 
Difusion u1 actividad 2
Difusion u1 actividad 2Difusion u1 actividad 2
Difusion u1 actividad 2
 
Autopresentacion
AutopresentacionAutopresentacion
Autopresentacion
 
Gonzalez Belen - Cuadro
Gonzalez Belen - CuadroGonzalez Belen - Cuadro
Gonzalez Belen - Cuadro
 
Videos Ted - Belen Gonzalez
Videos Ted - Belen GonzalezVideos Ted - Belen Gonzalez
Videos Ted - Belen Gonzalez
 
Videos Ted - Belen Gonzalez
Videos Ted - Belen GonzalezVideos Ted - Belen Gonzalez
Videos Ted - Belen Gonzalez
 
Videos Ted
Videos TedVideos Ted
Videos Ted
 
1. st blogs
1. st blogs1. st blogs
1. st blogs
 
Seminario multidisciplinario
Seminario multidisciplinarioSeminario multidisciplinario
Seminario multidisciplinario
 
Entornos virtuales en la educación superior
Entornos virtuales en la educación superiorEntornos virtuales en la educación superior
Entornos virtuales en la educación superior
 
Redes de computadoras
Redes de computadorasRedes de computadoras
Redes de computadoras
 
Hist moderna choco
Hist moderna chocoHist moderna choco
Hist moderna choco
 

Último

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 

Último (15)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 

Ingenieria de software

  • 1.
  • 2.
  • 5. Construcción de una casa para “fido” Puede hacerlo una sola persona Requiere: Modelado mínimo Proceso simple Herramientas simples I. Introducción: Modelado de SW
  • 6. Construcción de una casa Construida eficientemente y en un tiempo razonable por un equipo Requiere: Modelado Proceso bien definido Herramientas más sofisticadas I. Introducción: Modelado de SW
  • 7. Construcción de un rascacielos I. Introducción: Modelado de SW
  • 8. Claves en Desarrollo de SI Herramientas Proceso Notación I. Introducción: Modelado de SW
  • 9. Abstracción - Modelado Visual (MV) Sistema Computacional “ El modelado captura las partes esenciales del sistema ” I. Introducción: Modelado de SW Proceso de Negocios Orden Item envío
  • 10. II. Notación (Visual) - Beneficios Manejar la complejidad “ Modelar el sistema independientemente del lenguaje de implementación” Promover la Reutilización I. Introducción: Modelado de SW Interface de Usuario (Visual Basic, Java, ..) Lógica del Negocio (C++, Java, ..) Servidor de BDs (C++ & SQL, ..) Múltiples Sistemas Componentes Reutilizados
  • 12.
  • 13.
  • 14.
  • 15. 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 I. Introducción: UML UML 1.5 2003
  • 16.
  • 17. UML “ aglutina ” enfoques OO UML Rumbaugh Jacobson Meyer Harel Wirfs-Brock Fusion 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 I. Introducción: UML
  • 18.
  • 19.
  • 20.
  • 21. II Breve Tour por UML
  • 22.
  • 23.
  • 24.
  • 25. ... Diagramas de UML II. Breve Tour por UML Los diagramas expresan gráficamente partes de un modelo Use Case Diagrams Use Case Diagrams Diagramas de Casos de Uso Scenario Diagrams Scenario Diagrams Diagramas de Colaboración State Diagrams State Diagrams Diagramas de Componentes Component Diagrams Component Diagrams Diagramas de Distribución State Diagrams State Diagrams Diagramas de Objetos Scenario Diagrams Scenario Diagrams Diagramas de Estados Use Case Diagrams Use Case Diagrams Diagramas de Secuencia State Diagrams State Diagrams Diagramas de Clases Diagramas de Actividad Modelos
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. ...Paquetes en Rational Rose II. Breve Tour por UML Customers Banking
  • 32. … Paquetes en UML II. Breve Tour por UML Práctica 1
  • 33.
  • 34. … Ejemplos Ejemplo: II. Breve Tour por UML Práctica 2
  • 35. Diagrama de Secuencia II. Breve Tour por UML
  • 36. Diagrama de Colaboración Práctica 3 II. Breve Tour por UML
  • 37.
  • 38. Ejemplos (Clase y Visibilidad) II. Breve Tour por UML
  • 39. … Ejemplos (Asociación) II. Breve Tour por UML
  • 40. … Ejemplos (Clase Asociación) II. Breve Tour por UML
  • 41. … Ejemplos (Generalización) II. Breve Tour por UML
  • 42. … Ejemplos Prácticas 4 II. Breve Tour por UML
  • 43. Diagrama de Estados II. Breve Tour por UML
  • 44. Diagrama de Actividad II. Breve Tour por UML Práctica 5
  • 45. Diagrama Componentes II. Breve Tour por UML
  • 46. Diagrama de D espliegue II. Breve Tour por UML
  • 47. Diagrama de D espliegue en Rational Práctica 6 II. Breve Tour por UML Servidor Central Punto de Venta Terminal de Consulta
  • 48.
  • 49. III El Paradigma Orientado a Objeto
  • 50.
  • 51.
  • 52. Problemas en OO “ ...Los conceptos básicos de la OO se conocen desde hace dos décadas, pero su aceptación todavía no está tan extendida como los beneficios que esta tecnología puede sugerir” “ ...La mayoría de los usuarios de la OO no utilizan los conceptos de la OO de forma purista, como inicialmente se pretendía. Esta práctica ha sido promovida por muchas herramientas y lenguajes que intentan utilizar los conceptos en diversos grados” --Wolfgang Strigel III. El Paradigma OO
  • 53.
  • 54. Fundamentos de Modelado OO
  • 55.
  • 56.
  • 57.
  • 58.
  • 59. Clases y Objetos III. El Paradigma OO: Fundamentos de Modelado OO
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69. Requisitos del software III. El Paradigma OO: Requisitos
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85. III. El Paradigma OO: Requisitos Identificador CU-< id-requisito > Nombre < nombre del requisito funcional > Descripción El sistema deberá comportarse tal como se describe en el siguiente caso de uso { concreto cuando <evento de activación> , abstracto durante la realización de los casos de uso <lista de casos de uso>} Precondición <precondición del caso de uso> Secuencia Normal Paso Acción 1 {El <actor> , El sistema} <acción realizada por el actor o sistema>, se realiza el caso de uso < caso de uso CU-x> 2 Si <condición>, {el <actor> , el sistema} <acción realizada por el actor o sistema>>, se realiza el caso de uso < caso de uso CU-x> … … Postcondición <postcondición del caso de uso> Excepciones Paso Acción 1 Si <condición de excepción>,{el <actor> , el sistema} }<acción realizada por el actor o sistema>>, se realiza el caso de uso < caso de uso CU-x>, a continuación este caso de uso {continua, aborta} … … Rendimiento Paso Cota de tiempo 1 n segundos … … Frecuencia esperada <nº de veces> veces / <unidad de tiempo> Importancia {sin importancia, importante, vital} Urgencia {puede esperar, hay presión, inmediatamente} Comentarios <comentarios adicionales>
  • 86.
  • 87. I nteracci ón entre objetos
  • 88.
  • 89.
  • 90.
  • 91.
  • 92. … Diagrama de Secuencia III. El Paradigma OO: Interacción entre objetos
  • 93. … Diagrama de Secuencia III. El Paradigma OO: Interacción entre objetos
  • 94. Diagrama de Secuencia mostrando foco de control, condiciones, recursividad creación y destrucción de objetos III. El Paradigma OO: Interacción entre objetos
  • 95. III. El Paradigma OO: Interacción entre objetos
  • 96. … Diagrama de Secuencia III. El Paradigma OO: Interacción entre objetos
  • 97.
  • 98.
  • 99.
  • 100.
  • 101. Clases y relaciones entre clases
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113. Asociación Cualificada Reduce la multiplicidad del rol opuesto al considerar el valor del cualificador III. El Paradigma OO: Clases y relaciones entre clases
  • 114.
  • 115. Ejemplos III. El Paradigma OO: Clases y relaciones entre clases
  • 116. ... Ejemplos III. El Paradigma OO: Clases y relaciones entre clases
  • 117. … Ejemplos Asociación excluyente Clase de asociación Agregación III. El Paradigma OO: Clases y relaciones entre clases
  • 118.
  • 119.
  • 120.
  • 121. ... Generalización III. El Paradigma OO: Clases y relaciones entre clases
  • 122.
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 128.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133.
  • 134.
  • 135.
  • 136.
  • 137. … Polimorfismo Dormir() { en un árbol } Dormir() { sobrela espalda } Dormir() { sobre el vientre } Dormir() { } Animal dormir() León dormir() Oso dormir() Tigre dormir() III. El Paradigma OO: Clases y relaciones entre clases
  • 138.
  • 140.
  • 141.
  • 142.
  • 143.
  • 144.
  • 145.
  • 146.
  • 147.
  • 148.
  • 149.
  • 150.
  • 151.
  • 152.
  • 153.
  • 154. … Generalización de Estados III. El Paradigma OO: Comportamiento de objetos
  • 155.
  • 156.
  • 157.
  • 158.
  • 159.
  • 160.
  • 161.
  • 162.
  • 163. Ejemplo ( con s wim lines ) III. El Paradigma OO: Comportamiento de objetos
  • 164. ... Ejemplos III. El Paradigma OO: Comportamiento de objetos
  • 165. ... Ejemplos III. El Paradigma OO: Comportamiento de objetos
  • 167.
  • 168.
  • 169. ...Diagrama de Componentes III. El Paradigma OO: Componentes
  • 170. Distribución y despliegue de Componentes
  • 171.
  • 172.
  • 173.
  • 174.
  • 175.
  • 176. Object Constraint Language OCL III. El Paradigma OO
  • 177.
  • 178.
  • 179. Ejemplo III. El Paradigma OO: OCL
  • 180.
  • 181.
  • 182.
  • 183.
  • 184.
  • 185.
  • 186.
  • 187. IV Proceso de Desarrollo de SW basado en UML
  • 188.
  • 189.
  • 190. Dos Dimensiones IV. Proceso de Desarrollo de SW basado en UML
  • 191. Fases e Hitos (Milestones) ti empo Objetivos (Vision) Ar qui tectur a Capacidad Operacional Inicial Release del Producto Inception Elaboration Construction Transition IV. Proceso de Desarrollo de SW basado en UML
  • 192.
  • 193.
  • 194.
  • 195.
  • 196.
  • 197.
  • 198.
  • 199. Requisitos Capturar, definir y validar los casos de uso Realizar los casos de uso Verificar que se satisfacen los casos de uso Proceso dirigido por los Casos de Uso Análisis & Diseño Implement ación Prueba s Casos de Uso integran el trabajo IV. Proceso de Desarrollo de SW basado en UML
  • 200. Caso de Uso Realización de Análisis Realización de Diseño Caso de Prueba X «trace» «trace» «trace» «trace» Pruebas Funcionales Pruebas Unitarias ... Proceso dirigido por los Casos de Uso [ The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999 ] IV. Proceso de Desarrollo de SW basado en UML
  • 201. ... Proceso dirigido por los Casos de Uso IV. Proceso de Desarrollo de SW basado en UML
  • 202.
  • 203.
  • 204.
  • 205. Proceso Iterativo e Incremental Enfoque Secuencial Enfoque Iterativo e Incremental IV. Proceso de Desarrollo de SW basado en UML
  • 206. ... Proceso Iterativo e Incremental Grado de Finalización de Artefactos IV. Proceso de Desarrollo de SW basado en UML
  • 207.
  • 208. Fases, Release, Base Line, Generación ciclo de desarrollo ciclo de evolución generación (release final de un ciclo de desarrollo) release (producto al final de una iteración) base line (release asociada a un hito) IV. Proceso de Desarrollo de SW basado en UML
  • 209. Esfuerzo y dedicación por Fases en RUP IV. Proceso de Desarrollo de SW basado en UML Inicio Elaboración Construcción Transición Esfuerzo 5 % 20 % 65 % 10% Tiempo Dedicado 10 % 30 % 50 % 10%
  • 210. Distribución de Recursos por Fases en RUP IV. Proceso de Desarrollo de SW basado en UML
  • 212. Claves en el Desarrollo de SI Herramientas p.e. Rational Rose Poseidon Proceso p.e. Rational Unified Process Métrica 3.0 o XP Notación UML V. Conclusiones
  • 213.
  • 214. Adaptabilidad al contexto del proyecto V. Conclusiones
  • 215.
  • 216.
  • 218.

Notas do Editor

  1. Prólogo A comienzos de 1999 se le dio forma a la primera versión de este curso de modelado OO con UML. A partir del material recolectado y preparado para la asignatura de quinto año de facultad “Laboratorio de Sistemas de Información”. Por otra parte, en mi tesis doctoral (en animación automática de modelos conceptuales) había trabajado en profundidad en aspectos de modelado orientado a objetos. En un comienzo no existía una demanda específica pero ya en Agosto de 1999 el curso pudo estrenarse parcialmente en un seminario que dicté en la Universidad Santa María de Valparaíso-Chile. Posteriormente y hasta la fecha se han realizado 16 ediciones del curso, el cual se ofrece a través de nuestro departamento y el Centro de Formación de Postgrado de la UPV. A mediados de 2000 se dio otro paso: dejar a libre disposición vía internet el material del curso. El objetivo ha sido promover y difundir el uso de técnicas OO en el mundo hispano, facilitando la labor de preparación de material para profesores y/o proporcionar documentación de apoyo para los estudiantes . Hasta fines del 2003 se habían realizado más de 20000 descargas del material del curso, lo cual confirmaba la necesidad de información de UML en español en la red. Cada edición del curso ha dado pie a mejoras, todo ello intentando mantener el volumen de trasparencias. Se han añadido notas al pie de página en algunas trasparencias para apoyar la exposición. Precisamente en esto se centra el esfuerzo actual y futuro de este material. Esperamos que el material proporcionado os sea de utilidad, Un cordial saludo, Patricio Letelier Valencia, 30 de Marzo de 2005
  2. Es importante destacar que, por estrategia del curso, en el capítulo “Breve Tour por UML” se aborda de una manera muy resumida todos los diagramas que constituyen UML, dando una visión global de todo lo que posteriormente será detallado y complementado con pautas de modelado y de proceso. En mi experiencia esta estrategia ha sido efectiva puesto que el alumno puede visualizar el alcance de UML. Por otra parte, a lo largo del curso se desarrolla una sencilla guía de laboratorio con la cual se consigue un primer contacto con una herramienta CASE basada en UML (usamos Rational Rose o Poseidón, sin una que ello suponga una especial preferencia de mi parte).
  3. Extraída desde la presentación “Software Architecture and UML” de Grady Booch (Rational Software).
  4. Extraída desde la presentación “Software Architecture and UML” de Grady Booch (Rational Software).
  5. Extraída desde la presentación “Software Architecture and UML” de Grady Booch (Rational Software). Obviamente el debe ser el contexto de desarrollo (envergadura del proyecto) el que determine la configuración adecuada del proceso y los recursos necesarios. Existen propuestas radicales que promueven un proceso/modelado más “ligth”, tales como: Extreme Programming (Kent Beck) y Agile Modeling (Scott Ambler). Sin embargo, en muchos proyectos es difícil eludir un proceso y modelado más rigurosos, debido por ejemplo a relaciones contractuales, envergadura del proyecto en tiempo y participantes, etc. Una lectura interesante: Extreme Programming in the Quick-change Era &apos;Beware of the religion of the code-generating modeling tool.‘by Alexandra Weber Morales About 30 years ago, Barry Boehm theorized that the cost of software change increased exponentially over time; that is, if an error caught in requirements gathering cost $1, an error caught during deployment would cost $1000. &amp;quot;What if,&amp;quot; said Robert Martin, a former preacher who now uses his persuasive speaking skills to promote Smalltalk guru Kent Beck&apos;s Extreme Programming (XP) methodology, &amp;quot;you took a moment to suspend disbelief and considered that--due to today&apos;s technology--the cost of change is essentially flat. When costs don&apos;t change over time, up-front speculative work is a liability. Ambiguity and volatility are reasons to delay.&amp;quot; In such a world, Martin told a packed room at the UML World conference in New York city on June 14, developers need a process that exploits a flat change/cost curve?and XP is that process. The five-year-old methodology values communication (but not on paper), simplicity, feedback and courage. It&apos;s designed for small to medium-sized teams of no more than 12 people who work in a common area, integrate and test their code constantly, pair program on single computers and use whiteboards hung on the periphery to hash out designs. Source code is the preferred archival medium, and cards containing &amp;quot;user stories&amp;quot;(requirements written by customers) and tasks are the &amp;quot;high-density storage mechanism,&amp;quot; according to Martin, who runs a training firm called Object Mentor out of Green Oaks, IL. &amp;quot;Where does modeling fit in?“ asked an audience member, reminding Martin that his talk, at this point nearly over, had promised to describe the interaction between the UML and XP. &amp;quot;Paper and pencil or whiteboards are the best CASE tools I know of. In Kent&apos;s case, he uses CRC cards, not the UML,&amp;quot; said Martin. &amp;quot;But whether it&apos;s Booch notation or UML, you do the highest-level map you can, but you don&apos;t do all your design up front. Remember, in XP it&apos;s not an archival resource, it&apos;s a communication device. The only archive I want is the code and a few poignant, incisive documents explaining why I made certain decisions.&amp;quot; Does this mean that ever more sophisticated modeling tools have no place in XP? Not exactly, said Martin. &amp;quot;If a code-generating tool works for you, use it. After all, that&apos;s what a compiler does. But beware of the religion of modeling tools that spit out executable prototypes. Sometimes getting the code from the tool is more time-consuming than writing it yourself.&amp;quot;
  6. Figura “Triangle for Success” adaptada desde “Visual Modeling with Rational Rose and UML” de Terry Quatrani
  7. “ ... Hay dos formas de construir software: una es hacerlo tan simple que obviamente no existan deficiencias, otra es hacerlo tan complejo que no existan deficiencias obvias” C:A.R. Hoare, Turing Award Lecture 1980.
  8. 9 The Object Management Group (OMG) is an open membership, not-for-profit consortium that produces and maintains computer industry specifications for interoperable enterprise applications. Our membership includes virtually every large company in the computer industry, and hundreds of smaller ones. Most of the companies that shape enterprise and Internet computing today are represented on the OMG. Some OMG specifications: Common Object Request Broker Architecture (CORBA) Model Driven Architecture (MDA) Meta-Object Facility (MOF) Unified Modeling Language (UML) XML Metadata Interchange (XMI) Common Warehouse Metamodel (CWM) Software Process Engineering Metamodel (SPEM) Documento “OMG Unified Language Specification”, (versión 1.5, 736 páginas, 1 de Marzo de 2003) Resumen Semántica Guía de Notación Ejemplos de Profiles Intercambio de Modelos UML ( Especificación DTD de XMI) Especificación del Object Constraint Language Elementos Estándar de UML B. Ejemplos Action Language Glosario de Modelado del OMG
  9. Stereotype = Estereotipo Constraint = Restricción de Integridad Tagged Values = Valores Etiquetados, es un par (nombre propiedad, valor) Los mecanismos de extensión pueden usarse para: Añadir nuevos elementos de modelado sin crear nuevos símbolos. En este caso el símbolo existente estará etiquetado con el correspondiente estereotipo. Esto permite que el metamodelo de UML no se vea alterado. Definir extensiones necesarias en un proceso de desarrollo o lenguaje de implementación específico. Asignar una semántica particular o información no semántica a elementos de modelado. Las restricciones de integridad pueden escribirse usando un lenguaje específico para representar restricciones (tal como OCL , Object Constraint Language , que expresa restricciones mediante fórmulas bien formadas , desarrollado por IBM ) u otros lenguajes (por ejemplo, un determinado lenguaje de programación) o incluso en lenguaje natural. Tipos de enfoques: no-formales, semi-formales y formales Las principales mejoras al utilizar métodos formales son: Mayor rigor en la especificación Mejores condiciones para realizar la verificación y validación Mejores condiciones para automatización de procesos para la generación automática de prototipos y/o código final
  10. El Diagrama de Objetos en realidad no se provee como un tipo de diagrama separado. En Diagramas de Secuencia, Diagramas de Colaboración y en Diagramas de Actividad se modelan objetos. He visto en algunos libros referirse a Diagramas de Paquetes, Diagramas de Subsistemas y Diagramas de Modelos. Sin embargo, éstos corresponden a casos particulares de los diagramas arriba mencionados, cuando en éstos sólo se incluye paquetes (o subsistemas, o modelos, respectivamente).
  11. Philippe Kruchten. Architectural Blueprints—The “4+1” View Model of Software Architecture. IEEE Software 12 (6), November 1995, pp. 42-50.
  12. Cada Caso de Uso puede estar definido por: texto que lo describe secuencia de pasos (flujo de eventos) ejecutados dentro del caso de uso pre condiciones y post condiciones para que el caso de uso comience o termine mezclando las anteriores
  13. Los Diagramas de Secuencia y de Colaboración son usados para describir gráficamente un caso de uso o un escenario Un Diagrama de Secuencia muestra los objetos de un escenario mediante líneas verticales y los mensajes entre objetos como flechas conectando objetos Los mensajes son dibujados cronológicamente desde arriba hacia abajo Los rectángulos en las líneas verticales representan los periodos de actividad de los objetos.
  14. El Diagrama de Colaboración 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 El Diagrama de Colaboración ofrece una mejor visión del escenario cuando el analista está intentando comprender la participación de un objeto en el sistema
  15. El Diagrama de Estados modela el comportamiento de una parte del sistema Típicamente se elabora un diagrama de Estados para cada clase que tenga un comportamiento significativo El comportamiento es modelado en términos del estado en el cual se encuentra el objeto, qué acciones se ejecutan en cada estado y cuál es el estado al que transita después de un determinado evento
  16. Caso especial de Diagrama de Estados donde: Todos (o la mayoría de) los estados son estados de acción Todas (la mayoría de) las transiciones son “disparadas” como consecuencia de la finalización de la la acción . El Diagrama de Actividades puede especificar: El comportamiento de los objetos de una clase La lógica de una operación (método) Parte o toda la descripción de un Caso de uso La descripción de un Flujo de Trabajo
  17. Un diagrama de Componentes permite modelar la estructura del software y la dependencia entre componentes 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
  18. El Diagrama de Distribución 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 En el Diagrama de Distribución se modelan los nodos y la comunicación entre ellos Cada nodo puede contiene instancias de componentes
  19. Para mayores detalles respecto de estos problemas consultar: “ Real-Life Object-Oriented Systems”, Soren Lauesen, IEEE Software March/April 1998.
  20. Sintaxis para denominar objetos: : C una instancia anónima de la clase C / R una instancia anónima desempeñando el rol R / R : C un a instancia anónima de la clase C desempeñando el rol R O / R una instancia llamada O desempeñando el rol R O : C una instancia llamada O de la clase C O / R : C una instancia llamada O , de la clase C y desempeñando el rol R O una instancia llamada O
  21. Oid (Object Identifier) Cada objeto posee un oid. El oid establece la identidad del objeto y tiene las siguientes características: Constituye un identificador único y global para cada objeto dentro del sistema Es determinado en el momento de la creación del objeto Es independiente de la localización física del objeto, es decir, provee completa independencia de localización Es independiente de las propiedades del objeto, lo cual implica independencia de valor y de estructura No cambia durante toda la vida del objeto. Además, un oid no se reutiliza aunque el objeto deje de existir No se tiene ningún control sobre los oids y su manipulación resulta transparente Sin embargo, es preciso contar con algún medio para hacer referencia a un objeto utilizando referencias del dominio (valores de atributos)
  22. Las siguientes son frases de Ian Sommerville “ Ingeniería de requisitos es el proceso para establecer los servicios que el sistema debe proveer y las restricciones bajo las cuales debe operar. El apelativo de ingeniería es un tanto difuso y hace hincapié al hecho que se trata de un proceso sistemático.” Un requisito funcional describe un servicio o función del sistema. Un requisito no-funcional es una restricción sobre el sistema (por ejemplo el tiempo de respuesta) o sobre el proceso de desarrollo (por ejemplo el uso de un lenguaje específico).   Es conveniente separar en niveles de detalle la especificación del sistema, orientándola en cada caso a distintos lectores:  Definición de requisitos : es una descripcion de alto nivel usada para efectos contractuales. Especificación de requisitos : es una descripción detallada de qué debe hacer el sistema. Puede servir de contrato entre el usuario y el desarrollador. Especificación del software : es una descripción aún más detallada que establece el puente entre ingeniería de requisitos y diseño.
  23. Algunas similitudes y diferencias entre DFDs y D. de Casos de Uso: Un caso de uso es una función (servicio o transacción) atómica ofrecida por el sistema al entorno (actores), mientras que un proceso de un DFD puede ser detallado en un DFD hijo. Así, el concepto de “explosión de proceso” sólo se aplica a los DFDs. Aunque en cierta forma con relaciones de inclusión entre casos de uso (que se explican más adelante) puede mostrarse la factorización de un caso de uso, esto no llega a ser equivalente a explosión de proceso. Aunque un caso de uso y un proceso modelan una pieza de funcionalidad del sistema su especificación es diferente. En un caso de uso interesa expresar la funcionalidad mediante la interacción (pasos de comunicación) actor(es) – sistema. En un proceso la funcionalidad se expresa mediante la transformación que se hace de los flujos de entrada para producir flujos de salida. Un caso de uso en general no modela un particionamiento (o detalle) funcional interno del sistema pues se concibe desde la perspectiva de los actores, es decir una visión externa del sistema. La excepción a lo anterior podría producirse al factorizar funcionalmente un caso de uso para establecer una relación de inclusión (que se explica más adelante). Un DFD, según sea el nivel de detalle, puede mostrar descomposición funcional interna del sistema. La diferencia entre Captura de Requisitos y Análisis radica esencialmente en el grado de detalle que se obtiene respecto del particionamiento del problema (funcional y de datos). La Captura de Requisitos ofrece un particionamiento en el contexto del usuario y adecuado para su comprensión. El Análisis provee un particionamiento que pueda ser utilizado como entrada para el Diseño del Sistema. Así, se puede afirmar que los D. de Casos de Uso son una herramienta exclusivamente de Captura de Requisitos mientras que los DFD podrían utilizarse en ambas actividades. En captura de requisitos para un DFD una entidad externa equivale a un actor, un almacén único y global evita entrar en análisis de datos y los procesos establecidos sólo hasta el nivel de transacciones externas se corresponderían con casos de uso. Las relaciones de extensión y de generalización entre casos de uso no tienen correspondencias en los DFDs. ...
  24. Una característica resaltada respecto de un proceso de desarrollo de software asociado a UML es su naturaleza “use case driven”, es decir, el proceso es dirigido por los casos de uso. Esto significa que en puntos determinado del desarrollo se valida y verifica el correspondiente modelo respecto del modelo de casos de uso. En sí la especificaciones de casos de uso (con los respectivos diagramas de interacción) constituyen una especificación de casos de prueba para el sistema (pruebas funcionales).
  25. Para la explicación de las relaciones entre casos de uso se han identificado como “caso de uso origen” y “caso de uso destino” sólo para indicar el sentido del símbolo (flecha de generalización).
  26. Las relaciones &lt;&lt;include&gt;&gt; y &lt;&lt;extend&gt;&gt; corresponden ambas a factorizaciones del comportamiento de un caso de uso, es decir, el caso de uso incluido y el caso de uso que extiende representan un fragmento de interacción de otro caso de uso. Sin embargo, la intensión es diferente; la relación &lt;&lt;include&gt;&gt; pretende evitar duplicación de interacciones en distintos casos de uso, la relación &lt;&lt;extends&gt;&gt; pretende describir una variación del comportamiento normal de un caso de uso, sobre todo cuando dicha variación pudiera complicar la legibilidad del caso de uso.
  27. En UML 1.3 se disponen de tres tipos de relaciones entre casos de uso, representadas por un símbolo de generalización desde un caso de uso a otro. Los tipos de relación son: Inclusión (con el estereotipo &lt;&lt;include&gt;&gt;), Extensión (con el estereotipo &lt;&lt;extend&gt;&gt;) y Generalización (sin estereotipo). En UML 1.3 se utiliza el estereotipo &lt;&lt;include&gt;&gt; en lugar de &lt;&lt;uses&gt;&gt;.
  28. ¿Podría en este ejemplo haberse modelado el caso de uso “Transferencia por Internet” con una relación de generalización hacia el caso de uso “Transferencia”?. Si la idea de extensión (vista como especialización) forma parte esencial del concepto de generalización/especialización, ¿para qué tener dos tipos de relaciones? ... estos son algunos de lo muchos aspectos de UML que quedan a la interpretación del lector.
  29. En el documento UML no se proporcionan reglas específicas respecto de las modificaciones y ampliaciones posibles en el caso de uso hijo. Lo intuitivo es pensar que un caso de uso obtenido por especialización tiene en principio los mismos pasos de interacción que el caso de uso padre pero que puede insertar nuevos y/o reescribir los pasos heredados.
  30. Esta es una posible plantilla para utilizar al especificar un caso de uso (adaptada desde http://www.lsi.us.es/~amador/publicaciones/metodologia_analisis.pdf.zip )
  31. Casos de Uso a fondo, en la página de Alistair Cockburn , http://members.aol.com/acockburn
  32. Predecesor es una lista separada por coma de los números de secuencia de mensajes que deben ocurrir antes del mensaje especificado. La guarda representa una condición para el envío del mensaje Secuencia representa el nivel de anidamiento procedural. Por ejemplo el mensaje 3.1.4 es posterior al mensaje 3.1.3 dentro de la activación 3.1. También se pueden añadir nombres para especificar mensajes concurrente, por ejemplo, el mensaje 3.1a y el mensaje 3.1b son concurrentes dentro de la activación 3.1. Además se puede incluir una especificación de iteración de la forma *[i:=0 1..n] para representar el envío de una secuencia de mensajes o *||[i:=0..n] para indicar que el envío es en paralelo. Ejemplos: 2: mostrar(x,y) mensaje simple 1.3.1: p: = encontrar(espec) llamada anidada con valor de retorno [x&lt;0] 4: invertir(x, color) mensaje condicional A3, B4/ C3.1*: actualizar sincronización con otros hilos de ejecución, iteración
  33. - Un atributo es semánticamente equivalente a una composición (composite aggreation). La sintaxis por defecto para los atributos es: visibili dad n ombre [multiplici dad ] : t i p o = valor-inicial { propiedades } - tipo es una especificación dependiente del lenguaje de implementación - Para indicar que un atributo es constante se puede poner la propiedad frozen - Ejemplos usando multiplicidad: colores [3]: Color puntos [2..*]: Punto nombre [0..1]: String - Un atributo de clase (del ámbito de clase y no de objeto) se indica subrayándolo
  34. - Una operación es un servicio que una instancia de la clase puede realizar. La sintaxis por defecto es: visibili dad n ombre ( parámetros ) : tipo-devuelto { propiedades } Una operación que no modifica el estado del objeto es especificada con la propiedad query . La propiedad abstract se usa para indicar que el método de la operación es implementado en una subclase. Una operación de clase (del ámbito de clase y no de objeto) puede indicarse subrayando dicha operación - Los parámetros se especifican usando la siguiente sintaxis: io n ombre : t ipo = valor_por_defecto donde io puede ser in , out o inout
  35. La Generalización y Especialización son equivalentes en cuanto al resultado: la jerarquía y herencia establecidas Generalización y Especialización no son operaciones reflexivas ni simétricas pero sí transitivas
  36. El proceso propuesto tiene mucho en común con el modelo de proceso propuesto por Barry Bohem en 1988: “El modelo espiral”. Los cuadrantes de la espiral son: Determinar objetivos, alternativas y restricciones Evaluar alternativas, identificar y resolver riesgos, construir proptotipos Desarrollo y verificación del producto Planificación de las siguientes fases
  37. El ciclo de vida consiste en una serie de ciclos, cada uno de los cuales produce una nueva versión del producto Cada ciclo está compuesto por fases y cada una de estas fases está compuesta por un número de iteraciones Las fases son: Inicio o Estudio de oportunidad Elaboración Construcción Transición Inicio o Estudio de oportunidad ( inception ) Define el ámbito y objetivos del proyecto Se define la funcionalidad y capacidades del producto Elaboración Tanto la funcionalidad como el dominio del problema se estudian en profundidad Se define una arquitectura básica Se planifica el proyecto considerando recursos disponibles Construcción El producto se desarrolla a través de iteraciones donde cada iteración involucra tareas de análisis, diseño e implementación Las fases de estudio y análisis sólo dieron una arquitectura básica que es aquí refinada de manera incremental conforme se construye (se permiten cambios en la estructura) Gran parte del trabajo es programación y pruebas Se documenta tanto el sistema construido como el manejo del mismo Esta fase proporciona un producto construido junto con la documentación Transición Se libera el producto y se entrega al usuario para un uso real Se incluyen tareas de marketing, empaquetado atractivo, instalación, configurac i ón, entrenamiento, soporte, mantenimiento, etc. Los manuales de usuario se completan y refinan con la información anterior Estas tareas se realizan también en iteraciones
  38. Figura “Triangle for Success” adaptada desde “Visual Modeling with Rational Rose and UML” de Terry Quatrani
  39. Extraida desde la presentación “Software Architecture and UML” de Grady Booch (Rational Software).
  40. OO usando BD relacionales http://www.agiledata.org/essays/mappingObjects.html
  41. OO usando BD relacionales http://www.agiledata.org/essays/mappingObjects.html En el 2002 IBM compró Rational Software por US$ 2.100 y Borland pagó US$ 185 por TogetherSoft. Se rumoreaba que Microsoft estaba interesada en adquirir ambas.