Ingeniería de Software I

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
Diagrama de estado Alumnos: Hernández Darwin ( )
Lenguaje Unificado de Modelado
Programación Orientada a Objetos y Lenguaje de Modelado Unificado
Introduccion a UML Wilson Peláez Hernández
UML para programadores Java
UML 1.4 Peter Emerson Pinchao Solis.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
INGENIERIA DE SOFTWARE II Clase Nº 7
Introducción a la Orientación a Objetos
Fundamentos de Ingeniería de Software
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
LENGUAJE UNIFICADO DE MODELADO UML
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
UNIDAD 1: “ Introducción al Lenguaje Unificado de Modelado ”
Análisis y Diseño O.O. Click to add notes Preguntas del diseño :
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
Una Introducción a UML El Modelo de Proceso de Negocio
Lenguaje C++ Segunda parte
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Análisis y Diseño orientado a objetos con UML.
Profesor: Miguel Angel Vidal
Diagramas de Interacción
UML Diagramas. Diagramas de Interacción Muestran como los objetos de la aplicación cooperan e interactúan para cumplir con los requisitos. Suele construirse.
Tema 10: Interfaces Antonio J. Sierra.
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Algunas Herramientas de Apoyo al Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos.
Modelado Arquitectónico
UML – Lenguaje de Modelado Unificado
Lenguaje de Modelado Unificado Unified Modeling Languaje
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
* FRAUSTO JIMENEZ GABRIELA * * HERNANDEZ TORRES ANA LAURA * * MANDUJANO JUAN CARLOS * * NOVA MARIN YARELI PAULINA * * ZAVALA CORTE JOCELYN ARELI *
Ingeniería de Software
Ingeniería de Software Orientado a Objetos
UNIDAD 3: “Desarrollo Orientado a Objetos con UML”
Fundamentos de programación
 Es un tipo de diagrama del Lenguaje Unificado de Modelado que se utiliza para modelar el hardware utilizado en las implementaciones de sistemas y.
UML 2.0 Integrantes: Diana Carolina Valencia M. Jhon Fernando Lopez T. Carlos Alberto Castillo.
Ingeniería de software
LES CUENTO QUE Los diagramas UML de secuencia y de colaboración (llamados diagramas de interacción) se utilizan para modelar los aspectos dinámicos.
Diagrama de Clases ACI 570.
Algunas Herramientas de Apoyo al Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos.
TEMA 10: DIAGRAMA DE: OBJETOS, SECUENCIA Y DESPLIEGUE EN UML
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
Análisis y diseño de sistemas Diagrama de componentes
Diagramas de Interacción.
Ingeniería de Software
UML 2.0 Diagramas de Comportamiento
Introducción a UML Departamento de Informática Universidad de Rancagua
Conceptos Fundamentales
Ingeniería de Requisitos
DIAGRAMA DE SECUENCIA Y ACTIVIDADES.
UML.
Relación con otras asignaturas del plan de estudio
INTRODUCCION AL ANALISIS Y DESARROLLO DE SISTEMAS DE SOFTWARE EQUIPO NUMERO CUATRO INTEGRADO POR: XAVIER REFUGIO GARY NERY HERNANDEZ OSCAR JUAREZ.
Prof. Joel Moreno Molina
¿QUE ES EL DIAGRAMA DE ESTADO ?
Sandra Muñoz Blanca González Patricia Lázaro
Unified Modeling Language (Lenguaje de Modelamiento unificado)
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
MODELAMIENTO VISUAL Y UML
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Fundamentos de Ingeniería de Software
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
1 Qué es UML Es un Lenguaje de Modelado Unificado basado en una notación gráfica que permite especificar,construir, visualizar y documentar los objetos.
Unified Modeling Language UML. Ejemplo a desarrollar La Universidad XXX desea computarizar su sistema de registración – El secretario establece el plan.
Universidad Nacional de Ingeniería Comprendiendo los Fundamentos de
Transcripción de la presentación:

Ingeniería de Software I Modelamiento con UML Ingeniería de Software I

Temas Modelamiento UML Elementos básicos Relaciones Diagramas

Modelamiento

Modelo Representación de una parte de un sistema (aspectos relevantes) Ejemplo: Un Plano Una maqueta Un prototipo etc.

Ventajas Explorar diferentes soluciones Realizar análisis de costos y estimaciones Minimizar los riesgos y errores Simplificar la complejidad del mundo real omitiendo aspectos no tan importantes

Modelamiento Visual Generar productos a partir del modelo Mecanismo de comunicación Claro Fácil de modificar Generar productos a partir del modelo Documentar las decisiones tomadas

Unified Modeling Language UML Unified Modeling Language

UML “Es un lenguaje para la especificación, visualización, construcción y documentación de los diferentes elementos de un sistema de software” Especificación UML

UML Desarrollado inicialmente por un equipo de personas (Rumbaugh, Jacobson, Booch) Adoptado en 1997 por OMG Versión actual: 1.4

UML No es una metodología ni un proceso Notación No define etapas No define cómo elaborar cada diagrama Puede usarse en diversas metodologías Notación Sintaxis Semántica

UML Componentes de UML Elementos Relaciones Diagramas

Elementos básicos

Clase Colección de objetos con estructura, comportamiento, relaciones y semántica común Representa un concepto dentro del sistema Deben tener un nombre único dentro del paquete al cual pertenecen

Clase Estructura Comportamiento Relaciones con otros elementos Atributos Comportamiento Operaciones (Métodos) Relaciones con otros elementos Notación Rectángulo con tres partes: Nombre, Atributos, Operaciones

Clase Nombre Clase atributo: tipo … método (parámetos): tipo

Clase Ejemplo: Municipio nombre: String extensión: double habitantes: int +setHabitantes(cantidad:int):String +getDensidad():double

Interfaz Conjunto de operaciones que caracterizan el comportamiento de un elemento No especifica estructura interna No tiene atributos No implementa las operaciones que define No es origen de asociaciones

Interfaz Notación Ejemplo: Un rectángulo con dos partes: Nombre precedido de: <<interface>> Operaciones Un círculo con el nombre de la interfaz en la parte inferior Ejemplo:

<<interface>> Interfaz <<interface>> ItemInventario +getCódigo():String +establecerFecha (fecha:Date):void ItemInventario

Objeto Instancia de una clase Tiene: Notación Identidad Valores Rectángulo con dos partes: Nombre - Clase Atributos - Valores

Objeto nombre: Clase atributo = valor …

Objeto Ejemplo: capitalDepto: Municipio unMunicipio: Municipio nombre = “Cali” extensión = 564 habitantes = 2.264.256 unMunicipio: Municipio

Componente Parte modular y reemplazable de un sistema, que encapsula una implementación y expone un conjunto de interfaces Puede ser implementado por uno o más “productos de software” (artifacts), como archivos binarios o ejecutables

Componente Notación Nombre

Nodo Objeto físico que representa un recurso de procesamiento Incluyen Dispositivos de cómputo Recursos humanos Recursos mecánicos …

Nodo Notación

Use Case (Caso de Uso) Unidad de funcionalidad proporcionada por un sistema, formada por: Secuencia de mensajes intercambiados entre el sistema y elementos externos, y Acciones llevadas a cabo por el sistema

Use Case Notación Nombre

Actor Conjunto coherente de roles que los usuarios ejecutan cuando interactúan con el sistema Notación Nombre

Diagramas

Diagrama de clases Representación visual de la estructura estática del sistema Clasificadores (clases, interfaces, paquetes) Relaciones estáticas

Diagrama de clases Relaciones Asociación Generalización Dependencia Realización

Asociación Relación entre dos clasificadores (clases) que implica conexión entre las instancias Notación: nombre

Asociación Multiplicidad Número de instancias de una clase relacionadas con UNA instancia de la otra Ejemplos: 1 0..4 1..* 2..5,8,10..20

Asociación Navegabilidad Roles rol ClaseA ClaseA

Asociación Ejemplo: Empresa Empleado empleador empleado Trabaja 1..* 0..2

Asociación Agregación Asociación Todo-Parte Ejemplo: Polígono Punto 1 3..* vértice

Asociación Composición Agregación más fuerte. Una parte está incluida en UNA sola composición La composición es responsable por la disposición de sus partes.

Asociación Ejemplo: Materia Curso 1..*

Generalización Relación entre un elemento más general (padre) y otro más específico (hijo) Jerarquía - Relación “es”

Generalización Ejemplo: SerVivo Animal Planta

Realización Relación entre una especificación y su implementación Significa que el cliente soporta (al menos) todas las operaciones definidas en el proveedor

<<interface>> Realización Ejemplo: <<interface>> ItemInventario +getvalor():double Libro +Libro() … Libro ItemInventario

Dependencia Relación no estructural entre dos elementos, donde un cambio en uno de ellos (el independiente) puede afectar al otro (el dependiente)

Dependencia Ejemplos: Libro ItemInventario Venta Materias Matrícula

Diagrama de objetos Representa instancias de las clases y relaciones entre ellas (pueden ser temporales) “Foto” del estado del sistema en un momento dado Sirve para ejemplificar algún elemento complejo del sistema

Diagrama de objetos Ejemplo: Alexandra:Empleado Icesi: Empresa Andrés:Empleado Daniel:Empleado

Diagrama de componentes Diagrama de implementación Muestra la organización y las dependencias entre los componentes de software Incluye: Componentes Relaciones de dependencia (usando interfaces)

Diagrama de componentes Ejemplo: A B <<EJBSession>> Sesión Catálogo <<EJBEntity>> Catálogo

Diagrama de deployment (despliegue) Diagrama de implementación Configuración de los elementos de procesamiento y los componentes de software en tiempo de ejecución Muestra qué componentes pueden ejecutarse en cada nodo

Diagrama de deployment Ejemplo: :Servidor :Cliente :compA :compB

Diagramas de interacción Permiten modelar el comportamiento Colección de interacciones (mensajes) entre instancias (objetos) para lograr un objetivo específico Muestra llamados, creación y destrucción de instancias

Diagramas de interacción Tipos Diagrama de Secuencia Énfasis en el tiempo (secuencia de los mensajes) Diagrama de Colaboración Énfasis en la estructura (relaciones entre los objetos)

Diagrama de secuencia Dos dimensiones: Elementos Vertical  tiempo Horizontal  instancias (no tienen orden) Elementos Línea de vida Representa la existencia de la instancia

Diagrama de secuencia Elementos (cont.) Activación o Foco de control Período durante el cual una instancia está llevando a cabo una acción Mensaje – Estímulo Comunicación entre dos instancias Invocar una operación Creación Destrucción Envío de una señal

Diagrama de secuencia Mensaje – Estímulo Anidado: Asíncrono: De retorno:

Diagrama de secuencia objeto:Clase nuevo:Clase new(…) mensaje(…) X

Diagrama de colaboración Representa diferentes instancias, sus roles, las relaciones entre ellas y sus interacciones La secuencia se indica numerando los mensajes Los enlaces entre las instancias pueden tener información adicional

Diagrama de colaboración Formato mensajes: Predecesor / Expresión de secuencia Valor de retorno := Nombre (lista de parámetros) 3.6 [x>0]: mover(5,7) 5 repaint() 1.2 *[i:=1..n]: dibujarSegmento(i)

Diagrama de colaboración objeto:Clase otro:Clase2 1 mensaje(…) rol nuevo:Clase3 new()

Diagrama de estados Describen el comportamiento de instancias de un elemento Máquinas de estado Pueden incluir variables Modelar comportamiento discreto

Diagrama de estados Elementos Estado Estado inicial Estado final Transición Entradas/Salidas Variables

Diagrama de estados Listo Eliminado terminar eliminar / control=0

Diagrama de actividades Variación de diagrama de estados Modelar procesos de negocio y flujos de datos/trabajo (workflow) Elementos adicionales: Subactividad Decisiones Íconos de control Bifurcaciones “Carriles” (Swimlanes)

Diagrama de actividades Calcular costo total Autorizar [costo>=50] [costo<50]

Diagrama de use case Representa la funcionalidad de un sistema, de acuerdo a la interacción con el exterior Puede mostrar gráficamente el límite del sistema Sirve como herramienta de comunicación con los usuarios

Diagrama de use case Relaciones Asociación: Actor-Use Case Generalización: Actor, Use Case Extends: Use Case – Use Case El comportamiento de un caso de uso (extendido) puede ser incluido en otro (base) Include: Use Case – Use Case El comportamiento de un caso de uso contiene al otro

Actualizar beneficios Diagrama de use case Empleado Actualizar perfil Actualizar beneficios Administrador Actualizar valor hora <<include>>

Bibliografía The Unified Modeling Language User Guide. Booch, Jacobson, Rumbaugh The Unified Modeling Language Reference Manual. Rumbaugh, Booch, Jacobson. Especificación UML: www.omg.org