ESCUELA ACADEMICO PROFESIONAL DE INGENIERIA DE SISTEMAS

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
DIAGRAMAS DE CASOS DE USO
Fundamentos de Diseño de Software INFT.1
Análisis y Diseño Estructurado
Introduccion a UML Wilson Peláez Hernández
Ejemplo para desarrollar el modelado del sistema mantenedor de países
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
TEMA 8: DIAGRAMAS EN UML.
Tomado de:
Introducción a la Orientación a Objetos
Guia Diseño Robert Echeverria
Prof. César Luza Montero
Parte 2: Modelo de Análisis del Negocio
CONCEPTOS Y PRINCIPIOS ORIENTADOS A OBJETOS
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
LENGUAJE UNIFICADO DE MODELADO UML
Ingeniería del Software
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.
Ingeniería del Software
DESCRIPCION DEL PROBLEMA
Reunión de los requerimientos de la red
Análisis y Diseño O.O. Click to add notes Preguntas del diseño :
Aspectos Avanzados de la Tecnología de Objetos
Desarrollo Orientado a Objetos con UML
Una Introducción a UML El Modelo de Proceso de Negocio
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Análisis y Diseño orientado a objetos con UML.
* FRAUSTO JIMENEZ GABRIELA * * HERNANDEZ TORRES ANA LAURA * * MANDUJANO JUAN CARLOS * * NOVA MARIN YARELI PAULINA * * ZAVALA CORTE JOCELYN ARELI *
Actividad 6. Requisitos del software, referente a la estructura y base de datos. M.C. Juan Carlos Olivares Rojas Syllabus May,
Ingeniería de Software Orientado a Objetos
UNIDAD 3: “Desarrollo Orientado a Objetos con UML”
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de programación
Diseño e Implementación
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
INGENIERIA DE SOFTWARE
Organización y Estructuración de Datos
CASOS DE USO Ing. Sonia Godoy H..
PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE
Capitulo III CASOS DE USO Los casos de uso son un fenómeno interesante, durante mucho tiempo, tanto en el desarrollo orientado a objeto como en el tradicional,
Ingeniería de software
1 Diseño Orientado al Objeto Agustín J. González ELO-326: Seminario de Computadores II 2do. Sem
Algunas Herramientas de Apoyo al Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos.
Importancia en la efectividad del:
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
DIAGRAMA DE CLASES DE ANALISIS Y DIAGRAMA DE COLABORACION
Trainning DFD.
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.
DEFINICIÓN DE OBJETO Un objeto es aquello que puede ser observado, estudiado y aprendido CARACTERÍSTICAS nos permiten conocerlos mediante la observación,
Ingeniería de Software
Clasificación de Diagramas
Ingeniería de Requisitos
MODELAMIENTO VISUAL Y UML
UML.
Relación con otras asignaturas del plan de estudio
Fundamentos del Análisis Orientado a Objetos
Análisis y Diseño de Aplicaciones
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.
Un requerimiento es una condición o capacidad a la que el sistema (siendo construido) debe conformar [ Rational ]. Un requerimiento de software puede.
Proceso de desarrollo de Software
UML – Lenguaje de Modelado Unificado
Software de Comunicaciones
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.
Lenguaje Unificado de Modelado (UML) Julio … Casos de Uso  Ejemplo:
Entregables del Proyecto
Seminario de Sistemas Distribuidora Autores: Silvana Bassi Federico Albera Director: Lic. José A. Peralta Febrero de 2008.
Flujos de Trabajo Fundamentales Proceso Unificado de Desarrollo de Software.
Transcripción de la presentación:

ESCUELA ACADEMICO PROFESIONAL DE INGENIERIA DE SISTEMAS Curso : Ingeniería de Software Sesión 2 : PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE

PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE Sesión 2 : Temario ... PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE Fases y modelos. Modelo del Negocio. Diagrama de actividades del negocio. Casos de uso del negocio. Modelos de objetos del negocio.

Fases y modelos ...

El Proceso Unificado Un proceso de software “guiado por los casos de uso, centrado en la arquitectura, iterativo e incremental. Reconoce la importancia de la comunicación con el cliente y la orientacion a describir el punto de vista del cliente con respecto a un sistema (ejm el CdU). Enfatiza la importancia de la arquitectura de software, focalizando las metas correctas, como el entendimiento, el ajuste a los cambios futuros y la reutilizacion” Plantea un flujo de proceso iterativo e incremental, concordando con la caracteristica evolutiva del software moderno.

Fases del Proceso Unificado Lanzamiento Fig. Relación del Proceso Unificado con la actividades genéricas del marco de trabajo del proceso de software

Fases del Proceso Unificado INICIO Comprende la comunicación con el cliente y las actividades de planeación. Propósito: definir y acordar el alcance del proyecto con los patrocinadores, identificar los riesgos asociados al proyecto, proponer una visión muy general de la arquitectura de software y producir el plan de las fases y el de iteraciones posteriores.. Los requisitos fundamentales del negocio se describen a través de un conjunto preliminar de Casos de Uso (CdU). Los CdU describen las características y funciones deseables para cada clase importante de usuarios. ELABORACION Se seleccionan los casos de uso que permiten definir la arquitectura base del sistema, se realiza la especificación de los casos de uso seleccionados y el primer análisis del dominio del problema, se diseña la solución preliminar. Expande la representacion arquitectónica para incluir 5 visiones diferentes del software: El modelo de CdU El modelo de análisis El modelo de diseño El modelo de implementación El modelo de despliegue.

Fases del Proceso Unificado CONSTRUCCION Desarrolla o adquiere los componentes del software que hara que cada CdU sea operativo para los usuarios finales. Se diseñan y ejecutan pruebas de unidad para cada componente. Se realizan las actividades de integracion (ensamble de componentes y pruebas de integracion) TRANSICION  Propósito: asegurar que el software esté disponible para los usuarios finales, ajustar los errores y defectos encontrados en las pruebas de aceptación, capacitar a los usuarios y proveer el soporte técnico necesario. Se debe verificar que el producto cumpla con las especificaciones entregadas por las personas involucradas en el proyecto.. Al final de esta fase, el incremento de software se convierte en un lanzamiento de software utilizable.

MODELADO DEL ANALISIS 2.1 Análisis de requisitos 2.2 Enfoques de modelado del análisis 2.3 Conceptos del modelado de datos 2.4 Análisis orientado a objetos. Conceptos 2.5 Modelado basado en escenarios 2.5.1 Especificación y Diagrama de Casos de Uso 2.5.2 Diagramas de actividad Mg. Ing. WILFREDO CARRANZA

2.1 Análisis de requisitos MODELADO DEL ANALISIS La Ingeniería de Software comienza con una serie de tareas de modelado que conducen a una especificación de requisitos y a una representación completa del diseño del software que se construirá. El modelo de análisis, conformado por una serie de modelos, es la primera representación técnica del sistema. 2.1 Análisis de requisitos Por medio del modelado del análisis, el ingeniero de software se centra primero en el qué, no en el cómo. ¿Qué objetos manipula el sistema? ¿Qué funciones debe desempeñar el sistema? ¿Qué comportamientos muestra el sistema? ¿Qué interfaces se definen? Y, ¿Qué restricciones se aplican? Mg. Ing. WILFREDO CARRANZA

Fig. El modelo de análisis como un puente entre la descripción del sistema y el modelo de diseño Arquitectura de aplicación del SW Interfaz con el usuario Funcionalidad general del sistema (aplicando SW, HW, Datos, Humanos) Modelo de Diseño Modelo de Análisis Estructura en el nivel de componentes Descripción del sistema (llena el vacío entre una descripción al nivel de sistemas y el diseño de software) Y, otros elementos del sistema (Ejm: seguridad, rendimiento)

2.2 Enfoques del modelado de analisis Una visión del modelado del análisis, llamado análisis estructurado, considera que los datos y el proceso que transforma los datos son entidades separadas. Los objetos de datos se modelan en una forma que define sus atributos y relaciones. Los procesos que manipulan los objetos de los datos se modelan de tal manera que muestran cómo transforman los datos, mientras los objetos de datos fluyen por el sistema. Un segundo enfoque del modelado del análisis, llamado análisis orientado a objetos, se centra en la definición de clases y en la manera en que éstas colaboran entre ellas para efectuar los requisitos del cliente. El UML y el proceso unificado están orientados a objetos en forma predominante. (Object Management Group) Consorcio con más de 700 compañías con el objetivo de proveer una estructura común para el desarrollo de aplicaciones usando técnicas de programación orientado a objetos. OMG es responsable de las especificaciones CORBA. (Common Object Request Broker Architecture). CORBA es un estándar definido por el OMG (Object Management Group) que permite escribir componentes de software en múltiples lenguajes y ejecutarlos en múltiples computadoras para trabajar juntos.

2.3 Conceptos del modelado de datos El modelado del análisis a menudo comienza con el modelado de datos. El ingeniero o analista del software define todos los objetos de datos que se procesan dentro del sistema y las relaciones entre los objetos de datos, además de otra información pertinente para las relaciones.  Objetos de datos Un objeto de datos es una representación de casi cualquier información compuesta que el software debe entender. Información compuesta se refiere a algo que tiene muchas propiedades o atributos diferentes. Un objeto de datos puede ser: una entidad externa (por ejem., cualquier cosa que produzca o consuma información), una cosa (por ejemplo, un reporte o un despliegue), un suceso (como una transacción bancaria o, una llamada telefónica) o un evento (como alerta por clave errada o, una alarma), un rol (por ejem., un comprador, un auditor), una unidad organizacional (como un departamento de logística), un lugar (como un almacén), o una estructura (como un archivo). (Object Management Group) Consorcio con más de 700 compañías con el objetivo de proveer una estructura común para el desarrollo de aplicaciones usando técnicas de programación orientado a objetos. OMG es responsable de las especificaciones CORBA. (Common Object Request Broker Architecture). CORBA es un estándar definido por el OMG (Object Management Group) que permite escribir componentes de software en múltiples lenguajes y ejecutarlos en múltiples computadoras para trabajar juntos.

Por ejemplo, una persona o un auto pueden verse como un objeto de datos en el sentido de que cualquier de ellos puede definirse en términos de un conjunto de atributos. Un objeto de datos encapsula sólo datos: no existe alguna referencia dentro del objeto de datos a las operaciones que actúan sobre los datos. Une los objetos de datos entre si Atributos referenciales Atributos descriptivos Identificador (Object Management Group) Consorcio con más de 700 compañías con el objetivo de proveer una estructura común para el desarrollo de aplicaciones usando técnicas de programación orientado a objetos. OMG es responsable de las especificaciones CORBA. (Common Object Request Broker Architecture). CORBA es un estándar definido por el OMG (Object Management Group) que permite escribir componentes de software en múltiples lenguajes y ejecutarlos en múltiples computadoras para trabajar juntos. Instancia Nombres de atributos

1) nombrar una ocurrencia de objeto de datos. Atributos Los atributos definen las propiedades de un objeto de datos y toman una de las tres características diferentes. Se pueden utilizar para: 1) nombrar una ocurrencia de objeto de datos. 2) describir la ocurrencia, o 3) hacer referencia a otra ocurrencia en otra tabla. Además, se debe definir uno o más atributos como un identificador es decir, el atributo identificado se convierte en una “clave” cuando se desea encontrar una concurrencia del objeto de datos.   (Object Management Group) Consorcio con más de 700 compañías con el objetivo de proveer una estructura común para el desarrollo de aplicaciones usando técnicas de programación orientado a objetos. OMG es responsable de las especificaciones CORBA. (Common Object Request Broker Architecture). CORBA es un estándar definido por el OMG (Object Management Group) que permite escribir componentes de software en múltiples lenguajes y ejecutarlos en múltiples computadoras para trabajar juntos.

persona automóvil persona automóvil Relaciones Los objetos de datos están conectados entre si de muchas maneras diferentes. Por ejemplo, dos objetos de datos, persona y auto, pueden representarse con la simple notación ilustrada. Se establece una conexión entre persona y auto porque los objetos se relacionan entre sí. persona automóvil a) Una conexión básica entre objetos de datos (Object Management Group) Consorcio con más de 700 compañías con el objetivo de proveer una estructura común para el desarrollo de aplicaciones usando técnicas de programación orientado a objetos. OMG es responsable de las especificaciones CORBA. (Common Object Request Broker Architecture). CORBA es un estándar definido por el OMG (Object Management Group) que permite escribir componentes de software en múltiples lenguajes y ejecutarlos en múltiples computadoras para trabajar juntos. persona posee automóvil autorizada para manejar b) Relaciones entre objetos de datos

… Conceptos del modelado de datos Cardinalidad y modalidad Se debe entender cuántas ocurrencias del objeto X están relacionadas con cuántas ocurrencias del objeto Y. Esto conduce al concepto del modelado de datos llamado cardinalidad. El modelo de datos debe ser capaz de representar el número de ocurrencias de los objetos en una relación dada. Ejm.: si un objeto puede relacionarse sólo con otro objeto entonces la relación es 1: 1 Y, si es con muchos objetos entonces la relación es 1:N Cuando la relación es de muchas ocurrencias a muchas ocurrencias, entonces es M:N “Cardinalidad es la especificación del número de ocurrencias de un (objeto) que puede relacionarse con el número de ocurrencias de otro (objeto)”.   Sin embargo, no indica si un objeto particular de datos debe participar o no en la relación. El modelo de datos agrega modalidad al par objeto/relación para especificar esta información. La modalidad de una relación es de 0 si no hay una necesidad explicita para que ocurra la relación o la relación es opcional. La modalidad es 1 si una ocurrencia de la relación es obligatoria. (Object Management Group) Consorcio con más de 700 compañías con el objetivo de proveer una estructura común para el desarrollo de aplicaciones usando técnicas de programación orientado a objetos. OMG es responsable de las especificaciones CORBA. (Common Object Request Broker Architecture). CORBA es un estándar definido por el OMG (Object Management Group) que permite escribir componentes de software en múltiples lenguajes y ejecutarlos en múltiples computadoras para trabajar juntos.

… Conceptos del modelado de datos Clase Automóvil Ejemplos 1 1 1 1 1 1 1 1 4 .. 5 0 ..1 * 2 .. * Clase Motor Clase Llantas Clase Techo Corredizo Clase Dados Clase Asientos Clase Chasis (Object Management Group) Consorcio con más de 700 compañías con el objetivo de proveer una estructura común para el desarrollo de aplicaciones usando técnicas de programación orientado a objetos. OMG es responsable de las especificaciones CORBA. (Common Object Request Broker Architecture). CORBA es un estándar definido por el OMG (Object Management Group) que permite escribir componentes de software en múltiples lenguajes y ejecutarlos en múltiples computadoras para trabajar juntos. “Un automóvil se compone de un chasis, un motor, 4 ó 5 llantas, un techo corredizo, cero ó más dados que cuelgan del espejo retrovisor y 2 ó más asientos”

2.4 ANALISIS ORIENTADO A OBJETOS El objetivo del análisis orientado a objeto (AOO) es definir todas las clases (además de las relaciones y el comportamiento asociado con ellas) relevantes para el problema y que deben resolverse. Esto se logra llevando a cabo algunas tareas: Deben comunicarse los requisitos básicos del usuario entre el cliente y el ingeniero de software. Deben identificarse las clases (es decir, se definen los atributos y métodos). Se define una jerarquía de clases. Deben representarse las relaciones de objeto a objeto (conexiones entre objetos). Debe modelarse el comportamiento del objeto. Las tareas 1 a 5 se vuelven a aplicar de manera iterativa hasta que el modelo esté completo. (Object Management Group) Consorcio con más de 700 compañías con el objetivo de proveer una estructura común para el desarrollo de aplicaciones usando técnicas de programación orientado a objetos. OMG es responsable de las especificaciones CORBA. (Common Object Request Broker Architecture). CORBA es un estándar definido por el OMG (Object Management Group) que permite escribir componentes de software en múltiples lenguajes y ejecutarlos en múltiples computadoras para trabajar juntos.

Conceptos orientados a objetos Atributos: una colección de valores de los datos que describen una clase. Clase: encapsula los datos y las abstracciones de procedimiento requeridos para describir el contenido y el comportamiento de alguna entidad del mundo real. Dicho de otra manera, una clase es una descripción generalizado (por ejemplo, una plantilla un patrón o un plano de trabajo) que describe una colección de objetos similares. Objetos: instancias de una clase específica. Los objetos heredan los atributos y operaciones de una clase. Operaciones: también llamadas métodos servicios proporcionan la representación de uno de los comportamientos de una clase.   Subclase: una especialización de la superclase. Una subclase puede heredar tanto los atributos como las operaciones de una superclase. Superclase: también llamada una clase básica, es una generalización de un conjunto de clases que están relacionadas con ella. (Object Management Group) Consorcio con más de 700 compañías con el objetivo de proveer una estructura común para el desarrollo de aplicaciones usando técnicas de programación orientado a objetos. OMG es responsable de las especificaciones CORBA. (Common Object Request Broker Architecture). CORBA es un estándar definido por el OMG (Object Management Group) que permite escribir componentes de software en múltiples lenguajes y ejecutarlos en múltiples computadoras para trabajar juntos.

2.5 Modelado basado en escenarios La satisfacción del usuario mide el éxito de un sistema. Si los ingenieros de software entienden la manera en que los usuarios finales quieren interactuar con el sistema, el equipo de software será más capaz de caracterizar en forma apropiada los requisitos y construir modelos significativos de análisis y diseño. Por lo tanto, el modelado del análisis con UML comienza con la creación de escenarios en la forma de casos de uso y diagramas de actividad. Casos de uso Un caso de uso captura las interacciones que ocurren entre los productores y consumidores de información y del sistema en sí mismo. Un caso de uso describe un escenario de uso específico en un lenguaje directo desde el punto de vista de un actor definido. El desarrollo de una serie de casos de uso se comienza haciendo una lista de las funciones o actividades que realiza un actor específico. Estas pueden obtenerse de una lista de funciones requeridas del sistema por medio de conversaciones con los clientes o usuarios finales, o mediante una evaluación de los diagramas de actividad desarrollados como parte del modelado del análisis. Un actor no es una persona específica, sino el rol que desempeña una persona (o dispositivo) dentro de un contexto específico. (Object Management Group) Consorcio con más de 700 compañías con el objetivo de proveer una estructura común para el desarrollo de aplicaciones usando técnicas de programación orientado a objetos. OMG es responsable de las especificaciones CORBA. (Common Object Request Broker Architecture). CORBA es un estándar definido por el OMG (Object Management Group) que permite escribir componentes de software en múltiples lenguajes y ejecutarlos en múltiples computadoras para trabajar juntos.

Diagrama de actividad El diagrama de actividad en UML complementaria el caso de uso al proporcionar una representación gráfica del flujo de interacción dentro de un escenario específico.   El diagrama de actividad, con carriles, permite al modelador la representación del flujo de actividades descritas por el caso de uso y al mismo tiempo, indicar que actor (si hay múltiples actores involucrados en una función específica) o clase de análisis tiene la responsabilidad de la acción descrita mediante un rectángulo de actividad. (Object Management Group) Consorcio con más de 700 compañías con el objetivo de proveer una estructura común para el desarrollo de aplicaciones usando técnicas de programación orientado a objetos. OMG es responsable de las especificaciones CORBA. (Common Object Request Broker Architecture). CORBA es un estándar definido por el OMG (Object Management Group) que permite escribir componentes de software en múltiples lenguajes y ejecutarlos en múltiples computadoras para trabajar juntos.

2.5.1 Especificación de Casos de Uso Preguntas a formular: ¿Quiénes son los actores y cuáles son sus tareas? El actor ¿qué información crea, modifica, guarda, lee o destruye? El actor ¿ qué cambios externos debe notificar al sistema? El sistema ¿ qué cambios internos debe informar al actor? Especificación de un CdU: -Objetivo del CdU: ¿qué debe realizar? El inicio: ¿cuándo y qué actores lo produce? El fin: ¿cuándo se produce y qué valor devuelve? La interacción Actor- CdU: ¿qué mensajes intercambian ambos? Cronología y origen de las interacciones Frecuencia del comportamiento: ¿qué operaciones son iteradas? Escenarios: ¿qué ejecuciones alternativas se presentan en el CdU?

Especificación de un Caso de Uso: ejemplo Contenido 1. IDENTIFICACIÓN 2. DESCRIPCIÓN CORTA 3. ACTORES ASOCIADOS 4. FLUJO DE EVENTOS 4.1. Aprobación de Requerimientos. 4.2. Flujo alternativo de eventos 5. PUNTOS DE EXTENSIÓN 6. REQUERIMIENTOS NO FUNCIONALES 7. PRECONDICIONES 8. POSTCONDICIONES 9. CASOS DE USO ASOCIADOS 10. PROTOTIPO DE PANTALLAS Y REPORTES 10.1. Aprobación de Requerimientos 11. ANEXOS Ejemplos

Especificación de un Caso de Uso: ejemplo Ejemplos 7. 8. 9. 10.

Devolución a proveedor … Diagrama de Casos de Uso Un caso de uso es un modelo de la interacción entre los usuarios externos de un SI (actores) y el sistema de información mismo. Un diagrama de casos de uso es un conjunto de casos de uso. Interacción entre Casos de Uso: Inclusión.- son incorporadas en otro CdU y pueden ser compartidas por varios CdU. No pueden ser ejecutados directamente por un actor. Regla para su aplicación: cuando se “usa siempre” Devolución a proveedor <<inclusión>> Actualizar Stock <<inclusión>> Actor Salidas a fábrica

Pagar con tarjeta de crédito Interacción entre Casos de Uso: Extensión.- son transacciones relevantes que forman CdUs y que son diferentes secuencias o alternativas de un CdU. Si pueden ser ejecutados directamente por los actores. Regla para su aplicación: cuando se “usa a veces” La flecha siempre señala al CdU que está siendo incluido o extendido <<extensión>> Pagar en efectivo <<extensión>> Pagar cuotas Pagar con cheque Cliente <<extensión>> Pagar con tarjeta de crédito

Diagrama de Casos de Uso: ejemplo Ejemplos SAR- Sistema de administración de requerimientos

2.5.2 Diagramas de actividad Un diagrama de actividad modela la secuencia de actividades que se desarrollan en el flujo de trabajo de un Caso de Uso. También podemos modelar el flujo de un objeto cuando pasa de un estado a otro en diferentes puntos de control del flujo. A diferencia de los diagramas de interacción que destaca el flujo de control entre objetos, un diagrama de actividad destaca el flujo de control entre actividades. Ejemplos

Un diagrama de actividad para una Cia. ensambladora de PCs Ejemplos

Práctica: Diagrama de actividad con carriles Proceso de negocio: Un cliente hace un pedido; el pedido es enviado al Departamento de Ventas para ser procesado. Una vez procesado, es enviado al Almacén para preparar y enviar el pedido al cliente. Ventas elabora la factura. El cliente recibe el pedido, paga la factura, y Ventas determina que el pedido ya ha sido atendido.

… Diagrama de actividad

FIN DE LA SESION 2