unt ingenieria industrial - ingsw...

38
INGENIERIA DE SOFTWARE Ing. Francisco Rodríguez Novoa UNT INGENIERIA INDUSTRIAL

Upload: others

Post on 27-Mar-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 2: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

Ing. Francisco Rodríguez

Tema 8

Modelo de Diseño

Page 3: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

3

Rational Unified Process (RUP)

Page 4: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

AGENDA

• Diseño

• Diseño Orientado a Objetos

• Artefactos de Diseño

• Trabajadores

• Actividades del Diseño Orientado a Objetos

Page 5: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

VISION GENERAL

Page 6: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

Diseño – Diagramas UML

Page 7: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

Flujo de trabajo del DOO

• El objetivo del diseño es entender la solución refinando

el modelo de análisis con la intención de desarrollar un

modelo de diseño que permita una transición sin

problemas a la fase de construcción. En el diseño, nos

adaptamos al entorno de implementación y despliegue.

Page 8: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

VISION GENERAL

Acercar el modelo de análisis al modelo de implementación

“Los milagros más comunes de la ingeniería del software son las

transiciones desde el análisis hasta el diseño y desde el diseño al código”

(Richard Due).

Identificar requisitos no funcionales y restricciones en relación a:

lenguajes de programación, reutilización de componentes, sistemas

operativos, tecnologías de: distribución, concurrencia, bases de datos,

interfaces de usuario, gestión de transacciones, etc.

Descomponer el modelo de análisis en subsistemas que

puedan desarrollarse en paralelo. Definir la interfaz de

cada subsistema.

Derivar una representación arquitectónica del sistema

Page 9: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

Actividades del Diseño

Page 10: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

Actividades del Análisis y diseño

Page 11: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

Artefactos del Diseño

Modelo de Diseño.

Elementos del modelo de diseño: capas, subsistemas con

clases de diseño (como servlets, beans y otras) e interfaces,

librerías con clases utilitarias, y realizaciones de diseño de

casos de uso.

Diagramas de realizaciones de diseño de casos de uso:

diagrama de clases y diagramas de secuencia.

Diagrama de componentes, cuyos elementos son los

componentes de la aplicación.

Modelo de Despliegue.

Diagrama de despliegue, cuyos elementos son artefactos y

nodos

Page 12: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

Artefactos del Diseño

Page 13: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

Artefactos del Diseño

Page 14: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

ARQUITECTO

MODELO DE

DISEÑO

MODELO DE

DESARROLLO

DESCRIPCION

DE LA

ARQUITECTURA

INGENIERO DE

CASOS DE USO

REALIZACION DE

CASOS DE USO - ANALISIS

INGENIERO DE

COMPONENTES

SUBSISTEMA

DE DISEÑO

INTERFAZCLASES

DE DISEÑO

Responsable de

Responsable de

Responsable de

ARTEFACTOS Y TRABAJADORES

Page 15: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

Arquitecto

ARQUITECTO

MODELO DE

DISEÑO MODELO DE

DESPLIEGUE

DESCRIPCION

DE LA

ARQUITECTURA

RESPONSABLE DE

VISTA DE LA ARQUITECTURA

Page 16: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

Ingeniero de Casos de Uso

Realización de caso

de Uso - diseño

INGENIERO DE

CASOS DE USO

RESPONSABLE DE

Page 17: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

Ingeniero de Componentes

INGENIERO DE

COMPONENTES

Clase de Diseño

SUBSISTEMA

DE DISEÑO

Interfaz

RESPONSABLE DE

Page 18: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

Workers - Diseño

Arquitecto: responsable de la integridad del modelo de

Análisis y de crear una vista arquitectónica que permita

avanzar en el desarrollo.

Ingeniero de Casos de Uso: responsable de la integridad de

las realizaciones de casos de uso.

Ingeniero de Componentes: responsable de la integridad de

clases de análisis y sus relaciones, y la integridad de paquetes

de análisis

Page 19: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

21

Realizar los Diagramas de Interacción de los casosde uso del sistema.

Mantener cliente

Especificación del Caso de Uso del NegocioSolicitar Servicio

1.Actores1.1Artista

2.PropósitoSolicitar los servicios de la galería para realizar una exposición de arte.3.Breve DescripciónEl caso de uso comienza cuando el Artista se dirige a la galería para solicitar los servicios para una exposición de arte. Se entrevista con el Anfitrión quien le pide los datos necesarios y llena la solicitud de servicio de la galería. El caso de uso termina cuando el Artista recibe una copia de la Solicitud de Servicio o del Documento de Rechazo de Pedido.4.Flujo Básico de EventosAcción del Actor Respuesta del Proceso del Negocio1.El Artista solicita el servicio de para una exposición2.El Anfitrión solicita los datos personales del Artista3.El Artista entrega sus datos personales al Anfitrión4.El Anfitrión busca si los datos del Artista están registrados previamente en la galería5.El Anfitrión solicita información de las obras de arte al Artista.6.El Artista entrega la información de las obras al Anfitrión7.El Anfitrión registra la información de las obras de arte.8.El Anfitrión busca la información sobre las técnicas que maneja la galería en el sistema LogiSis9.El sistema LogiSis entrega la información sobre las técnicas que maneja la galería.10.El Anfitrión recibe la información sobre las técnicas y determina si la galería maneja las técnicas de las obras de arte.11.El Anfitrión llena la solicitud de servicio.12.El Anfitrión archiva la Solicitud de Servicio y entrega una copia al Artista13.El artista recibe la copia de la Solicitud de Servicio

: Profesor: GestorTutorias asignatura :

TutoriaAsignatura

nuevoPeriodoTutoria :

Periodo

setAsignaturaEnTutoria( )

setEnTutoria( )

enTutoria := estaEnTutoria( )

[enTutoria]

create( )

setInicioPerido( )

setPeridoActual(PeriodoTutoria)

: Profesor

: GestorTutorias

asignatura :

TutoriaAsignatura

nuevoPeriodoTutoria

: Periodo

1: setAsignaturaEnTutoria( )

3: enTutoria := estaEnTutoria( )

5: create( )6: setInicioPerido( )

7: setPeridoActual(PeriodoTutoria)

2: setEnTutoria( )

4: [enTutoria]

Page 20: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

22

Realizar los Diagramas de Interacción de los casos de uso del sistema.

– Los Diagramas de Interacción describen la interacción

o intercambio de mensajes entre los objetos que

participan en cada caso de uso.

– Existen dos tipos de Diagramas de Interacción.

Diagrama de

Secuencia

Diagrama de

Colaboración

Page 21: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

23

Diagrama de

Secuencia

Diagrama de

Colaboración

Describe el

intercambio de

mensajes ordenado

en el tiempo.

Describe el

intercambio de

mensajes

organizado por los

objetos

participantes.

Page 22: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

24

• Ejemplo de Diagrama de Secuencia.

: Profesor : GestorTutorias asignatura :

TutoriaAsignatura

nuevoPeriodoTutoria :

Periodo

setAsignaturaEnTutoria( )

setEnTutoria( )

enTutoria := estaEnTutoria( )

[enTutoria]

create( )

setInicioPerido( )

setPeridoActual(PeriodoTutoria)

Page 23: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

25

Diagrama de

Secuencia

Describe el

intercambio de

mensajes ordenado

en el tiempo.

• Muestra la interacción de

mensajes entre los objetos que

participan en un caso de uso.

• Ordenados según la secuencia de

ocurrencia en el tiempo.

• Vista gráfica de la mecánica de

interacción de los objetos a través

del intercambio de mensajes de las

clases a que pertenecen en un

determinado escenario.

Page 24: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

23/04/2017 26

• Está formado por.

• Objetos.

• Líneas de vida.

• Barra de tiempo.

• Mensaje.

Diagrama de

Secuencia

Describe el

intercambio de

mensajes ordenado

en el tiempo.

Page 25: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

27

A1:Clase1

Mensaje()

B1:Clase2

Objeto

Barra de

tiempo

Mensaje

Línea de

vida

Page 26: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

28

• Objeto.

– Se muestra en la parte superior sobre la

línea punteada vertical (línea de vida).

– Representa a los objetos que participan

en el caso de uso.

– Se coloca una columna por cada clase

que participa en el caso de uso.

Clase1

Page 27: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

29

• Línea de vida.

– Representa la vida del objeto

durante la interacción.

– Da idea del tiempo de vida de los

objetos de la clase en el caso de

uso.

– El tiempo se lee de arriba hacia

abajo.

– Se modela utilizando una línea

discontinua que se desplaza hacia

abajo.

Clase1

Page 28: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

23/04/2017 30

• Barra de tiempo.– Representa el conjunto de mensajes que

mantienen relación consecutiva.

– Se modela utilizando una barra blanca

encima de la línea de vida y la longitud

de la barra se interpreta como la

duración de la secuencia.

Clase1

Page 29: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

31

• Mensaje.– Se modela utilizando una línea

continua con punta de flecha entre las líneas de vida de los objetos de las clase.

– Encima se coloca el nombre del mensaje.

– El nombre significa el propósito de la operación.

A1:Clase1

Mensaje()

B1:Clase2

Page 30: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

Diseño de las clases

• Identificar las responsabilidades de las clases de diseño

(papeles en los casos de uso)

– Identificar:

– Operaciones

– Atributos

– relaciones en las que participa

– estados (diagramas de estados)

– métodos que soportan sus operaciones

– Requisitos nuevos…

Page 31: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

Diseño de las clases

• Identificar operaciones

En el lenguaje de implementación

Mirar responsabilidades que tiene en los casos de uso

• Identificar atributos

Describirlos en el lenguaje de programación

Considerar los atributos de las clases de análisis de las que

se derivan

Page 32: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

Diseño de las clases

Identificar asociaciones y agregaciones

• Las interacciones en los diagramas de secuencia precisan de

asociaciones entre las clases que interactúan.

• Minimizar el número de relaciones entre clases (disminuir el

acoplamiento).

• Refinar multiplicidad, papeles, etc.

• Refinar la navegabilidad (dirección) de las asociaciones en base

a los diagramas de secuencia.

• Identificar generalizaciones-especializaciones

Page 33: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

Diseño de las clases

Describir métodos

• Algoritmos para implementar alguna operación (lenguaje

natural).

• Esqueletos de métodos generado por la herramienta.

• En general, esto se suele hacer en implementación.

Describir estados

• Algunos objetos reaccionan en función de su estado actual.

Utilizar diagramas de transición de estados

Page 34: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

Factura

noFactura : Integer

fecha : Date = DATE()

igv : Double = 18.00

descuento : Currency = 0

Cliente

codCliente : Integer

direccion : String

telefono : Long

Producto

codProducto : Integer

descripcion : String

um : String

pu : Currency = 0.00

presentacion : String

DetalleFactura

noItem : Integer

cantidad : Integer = 0

descuento : Double

Pais

codPais : Integer

Descripcion : String

PersonaNatural

nombre : String

dni : String

PersonaJuridica

razonSocial : String

ruc : String

1..n1..n

realiza

1 0..n 1

reside

1..n

1

está compuesta

10..n

está asociada

DIAGRAMA DE CLASES

Page 35: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando
Page 36: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando
Page 37: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

39

Importancia del diseño

Porque no se va directo a la implementación?

• Modelo de análisis no es suficientemente formal así nosotros

necesitamos para:

- Refinar el análisis de clases

- Determinar operaciones

- Determinar como las clases deben de comunicarse

• El sistema debe estar adaptado a la implementación del entorno.

• Nosotros queremos validar los resultados del análisis

Cuán bien el modelo de análisis y el modelo de

requerimientos dsecriben el sistema?

Page 38: UNT INGENIERIA INDUSTRIAL - INGSW UNTuntingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema8_2017.pdfFlujo de trabajo del DOO •El objetivo del diseño es entender la solución refinando

FIN