Lectura 3 Modelo De Analisis

44
Sesión 13 Análisis

description

Lectura 3 Modelo De Analisis

Transcript of Lectura 3 Modelo De Analisis

Page 1: Lectura 3   Modelo De Analisis

Sesión 13

Análisis

Page 2: Lectura 3   Modelo De Analisis

ESTRUCTURA DEL RUP

AdministraciónAmbiente

Modelación de Negocios

Implementación

Prueba

Análisis y Diseño

Iteración(es)Preliminar

Iter.#1

FasesF. Trabajo Procesos

Iteraciones

F. Trabajo Soporte

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

Desarrollo

Admin. Configuración

Requerimientos

Elaboración TransiciónInicio Construcción

Page 3: Lectura 3   Modelo De Analisis

El El Modelo deModelo de AnálisisAnálisisEl propEl propóósito fundamental del modelo de ansito fundamental del modelo de anáálisis es lisis es resolver resolver analizando los requisitos con mayor profundidadanalizando los requisitos con mayor profundidad, pero con la , pero con la diferencia de que puede utilizarse el diferencia de que puede utilizarse el lenguaje de los lenguaje de los desarrolladoresdesarrolladores de proyectos para describir los resultadosde proyectos para describir los resultados..

En consecuencia podemos razonar mEn consecuencia podemos razonar máás sobre los s sobre los aspectos aspectos internos del sistemainternos del sistema, y por tanto resolver aspectos relativos a la , y por tanto resolver aspectos relativos a la interferencia de casos de uso y deminterferencia de casos de uso y demáás. s.

Podemos Podemos estructurar los requisitos de manera que nos facilite estructurar los requisitos de manera que nos facilite su comprensisu comprensióónn, su preparaci, su preparacióón, su modificacin, su modificacióón y su n y su mantenimiento.mantenimiento.Se puede considerar como una primera aproximación al modelo de diseño y es por tanto, una entrada fundamental cuando se da “forma” al sistema en el diseño y la implementación..

Page 4: Lectura 3   Modelo De Analisis

Realización de un caso de uso

Una realización de Caso de Uso describe cómo es realizado un caso de uso en particular dentro del modelo del diseño, en términos de la colaboración de sus objetos

Realización del Caso de Uso

Page 5: Lectura 3   Modelo De Analisis

En Rational Rose

Por cada Caso de Uso una carpeta

Page 6: Lectura 3   Modelo De Analisis

Rational Rose

Una realización por cada caso de Uso

R_Atender reserva de BuffetAtender reserva de Buffet

(from Use Cases)

<<realize>>

Page 7: Lectura 3   Modelo De Analisis

Artefacto: clase del AnálisisArtefacto: clase del Análisis

Una clase de análisis representa la abstracción de una o varias Una clase de análisis representa la abstracción de una o varias clases y/o subsistemas del diseño del sistema. Esta abstracción clases y/o subsistemas del diseño del sistema. Esta abstracción posee las siguientes características:posee las siguientes características:

Una clase de análisis se centra en el tratamiento de los Una clase de análisis se centra en el tratamiento de los requisitos funcionales.requisitos funcionales.Una Una clase de análisis también define atributosclase de análisis también define atributos, aunque esos , aunque esos atributos son de alto nivel, pero normalmente estos pasan atributos son de alto nivel, pero normalmente estos pasan hacer una clase en el diseño.hacer una clase en el diseño.Las clases del análisis siempre encaja en uno de tres Las clases del análisis siempre encaja en uno de tres estereotipos básicos: Interfaz, Control, Entidadestereotipos básicos: Interfaz, Control, Entidad..

Page 8: Lectura 3   Modelo De Analisis

Clases análisis del Modelo de Análisis

Clas e de entidadClase de control

Clase de Interfaz

Clase de Interfaz Clase de Gestor Clase de entidad

Page 9: Lectura 3   Modelo De Analisis

Clase de InterfazClase de Interfaz

Las clases de interfaz se utilizan para modelar la Las clases de interfaz se utilizan para modelar la interacción entre el sistema y los actores. interacción entre el sistema y los actores.

Las clases de interfaz modelan las partes del sistema Las clases de interfaz modelan las partes del sistema que dependen de sus actores, lo cual implica que que dependen de sus actores, lo cual implica que clasifican y reúnen los requisitos en los límites del clasifican y reúnen los requisitos en los límites del sistema.sistema.

Las clases de interfaz representan a menudo Las clases de interfaz representan a menudo abstracciones de ventanas, formularios, paneles, abstracciones de ventanas, formularios, paneles, interfaces de comunicaciones.interfaces de comunicaciones.

Page 10: Lectura 3   Modelo De Analisis

Clase de Interfaz, ejemplo:Clase de Interfaz, ejemplo:

(f rom U se C ase View)

Comprador IU Solicitud de Pago

Page 11: Lectura 3   Modelo De Analisis

Clase de EntidadClase de Entidad

Las clases de entidad Las clases de entidad modelan informaciónmodelan información y el y el comportamiento asociado de algún fenómeno o comportamiento asociado de algún fenómeno o concepto, como persona o un objeto. concepto, como persona o un objeto.

Las clases de Las clases de entidad reflejan la información de un entidad reflejan la información de un modo que beneficia a los desarrolladores al diseñar e modo que beneficia a los desarrolladores al diseñar e implementar el sistemaimplementar el sistema, incluyendo su soporte de , incluyendo su soporte de persistencia.persistencia.

Las clases de entidad suelen mostrar una estructura de Las clases de entidad suelen mostrar una estructura de datos lógica y contribuyen a comprender de qué datos lógica y contribuyen a comprender de qué información depende el sistema.información depende el sistema.

Page 12: Lectura 3   Modelo De Analisis

Entidades: Capturando Atributos

Permiten capturar aquellos datos que nos interesa mantener de la entidadRepresentan la estructura interna de los objetos de la entidadSe vinculan con la información de negocio.Determinan el estado interno del objetoSirven de base para el desarrollo de las responsabilidades adquiridas por los objetos de la entidad

Permiten capturar aquellos datos que nos interesa mantener de la entidadRepresentan la estructura interna de los objetos de la entidadSe vinculan con la información de negocio.Determinan el estado interno del objetoSirven de base para el desarrollo de las responsabilidades adquiridas por los objetos de la entidad

<Nombre>

Atributos / Conocimiento

Responsabilidades

Page 13: Lectura 3   Modelo De Analisis

(f rom U se C ase View)

CompradorIU Solicitud de Pago

Factura

Muestra

Page 14: Lectura 3   Modelo De Analisis

Clase de GestorClase de Gestor

Las clases de control Las clases de control representan coordinación, representan coordinación, secuencia, transacciones y control de otros objetossecuencia, transacciones y control de otros objetos y se y se usan con frecuencia para encapsular el control de un usan con frecuencia para encapsular el control de un caso de uso en concreto. caso de uso en concreto.

Los Los aspectos dinámicos del sistema se modelan con aspectos dinámicos del sistema se modelan con clases de controlclases de control, debido a que ellas manejan y , debido a que ellas manejan y coordinan las acciones y los flujos de control coordinan las acciones y los flujos de control principales, y delegan trabajo a otros objetos.principales, y delegan trabajo a otros objetos.

Page 15: Lectura 3   Modelo De Analisis

(f rom U se C ase View)

Comprador

IU Solicitud de Pago

Factura

Gestor de Tabla

Cambia estado

Planifica factura

Page 16: Lectura 3   Modelo De Analisis

Caso: Generar actividad

Page 17: Lectura 3   Modelo De Analisis

Diagrama de Secuencia y de Comunicación (colaboración)Los diagramas de secuencia y de colaboración son Isomorfos.

Un diagrama de secuencia se puede transformar mecanicamente en un diagrama de colaboración. Un diagrama de colaboración se puede transformar mecanicamente en un diagrama de secuencia.

: Usuario

: Actividad : GestroActividad

: InterfazActividad

llama al Caso de uso incluido VisualizarHorario

Flujo alternativo 2.2.1.

Flujo alternatico 2.2.5.

1: Crear o modificar actividad

4: Selecciona intervalo

horario, dia, descripción

6: actualiza la actividad

2: solicita/buscar periodos de tiempo

3: visualida horario

5: visualizan los nuevos cambios

Page 18: Lectura 3   Modelo De Analisis

Ejemplo : Realización de un caso de uso en el Modelo de Análisis

Dependencia de traza

<<realize>>

Realización del caso de usoSacar Dinero Sacar dinero

Salida Interfaz del Cajero

Retirada de Efectivo

Cuenta

Clase de controlClase de entidad

Clases de interfaz

Page 19: Lectura 3   Modelo De Analisis

Ejemplo : Una clase que participa en varias realizaciones de caso de uso en el Modelo de Análisis

Sistema de Cajero Automático

Modelo de casos de uso Modelo de Análisis

Salida

Interfaz del Cajero

Retirada de Efectivo

CuentaTransferencias

Sacar Dinero

Transferencia entre CuentasCliente

de Banco

Ingresar Dinero IngresoReceptor de Dinero

Cliente de Banco

Clases que participan y desempeñan roles en las 3 realizaciones de casos de uso

Page 20: Lectura 3   Modelo De Analisis

Ejemplo : Uso de diagramas de colaboración para describir unarealización de caso de uso en el Modelo de análisis

Diagrama de colaboración para la realización del caso de uso Sacar Dinero en el Modelo de Análisis

Page 21: Lectura 3   Modelo De Analisis

Co n su l ta r p ro ve e d o re s

(f ro m C as os de U s o)

Ha c e r p ag o s

(f rom C as os de U s o)

<< i n c l u d e> >

G a f

(f rom A c to res )

G en e ra r n o ta d e p e d i d o y fa c tu ra c i o n

(f rom C as os de U s o)

Co n su l ta r sto ck

(f rom C as os de U s o)

Re g i stra r re p u e sto s e n a l m a cé n

(f rom C as os de U s o)

Co n su l ta r ó rd e n e s d e co m p ra

(f rom C as os de U s o)

A l m a c e n e ro

(f rom A c to res )

< < i n c l u d e > >

Co ti za r

(f rom C as os de U s o)

< < e xte n d > >

Ha ce r ó rd en e s d e c o m p ra

(f rom C as os de U s o)

< < i n c l u d e > > < < i n c l u d e > >

Fa ctu ra r

(f rom C as os de U s o)

Ve n d e d o r

(f rom A c to res )

V e ri f i ca r d a to s d e c l i e n te s

(f rom C as os de U s o)

< < i n c l u d e > >

< < i n c l u d e > >

< < i n c l u d e > >

S i co n ti e n e GU I

N o t i e n e G UI

Diagrama de Casos de Uso

Page 22: Lectura 3   Modelo De Analisis

Arquitectura del análisis

Page 23: Lectura 3   Modelo De Analisis

Arquitectura del análisis, continua...

Pagos

CAPA DE APLICACION

Compras Co mercia l Facturacion

AlmacenesAgendaPersonal

CA PA ES PE CÍF IC A

CAPA GENERAL

---------------------------------------------------------------------------------------------------...

Page 24: Lectura 3   Modelo De Analisis

R_A_Consultar stock

R_A_Consultar s tock

Consult ar s tock

(from Casos de Uso)<<real ize>>

Page 25: Lectura 3   Modelo De Analisis

Estructura Interna

Vendedor

(from Actores)

A lmacenero

(from Actores)

Inte rfazConsultaStock

solic ita buscar producto

solic ita buscar producto

P roductoGestorStoc k

indica buscar a ob tiene

Page 26: Lectura 3   Modelo De Analisis

: Inter faz Consult aStoc k : GestorStock : Producto : Almacenero

3: filtra

6: carga

4: obtiene lis tado

7 : obtiene

PCosto

Descripción

1 : Selecciona tipo de filt ro

2: Ingresa producto a buscar

Nombre/Palabra de Descripción

5: Selecciona producto

Flujo Básico: Almacenero

: Interfaz Consult aStoc k : GestorStock : Producto : Vendedor

3: filtra

6: carga

4: obtiene lis tado

7 : obtiene

PCosto

Descripción

1 : Selecciona tipo de filt ro

2: Ingresa producto a buscar

Nombre/Palabra de Descripción

5: Selecciona producto

Flujo Básico: Vendedor

Page 27: Lectura 3   Modelo De Analisis

R_A_Generar Notas de Pedido y Facturación

R_A_Generar Notas de Pedido y Facturación

Generar nota de pedido y facturacion

(from Casos de Uso)

<<realize>>

Page 28: Lectura 3   Modelo De Analisis

R_A_Cotizar

R_A_Cotizar Cotizar

(from Casos de Uso)

Page 29: Lectura 3   Modelo De Analisis

R_A_Cotizar: Estructura Interna

Vendedor

(from Actores)

InterfazCotizacion

sol ic it a co ti zar

Cot iz acionG estorCotizacion

indica validar guarda

Page 30: Lectura 3   Modelo De Analisis

R_A_Cotizar: Flujo Básico

: V endedor : Interfaz Cotiz ac ion

: G es torCotiz ac ion

: Cotiz ac ion

2 .1 V e rific a r da tos de c li e n te s

3.1 Consulta r stock

: P rodu c to

1: Ingres a c liente a bus c ar

RUC/Nom bre

3: S olic ita bus c ar

4: Ingres a P V tent ativo

7: Ingre s a P V defini tivo

8: Ingres a dato de Cotiz ac ión

Tipo de P agoDis ponibilidad

11: G rab a cot iz ac ión

2: bus c a c liente

5: Calc ula M G

9: Calc ula P V Neto

10: Calc ula P V Total

12: V alida grabac ión

6: obtiene m árgenes

M ax%M in%

13: guarda

Page 31: Lectura 3   Modelo De Analisis

R_A_Cotizar: Esc: Actualizar cotización

: Vendedor : InterfazCotizacion : Gest orCot izac ion

: Cotizacion

Punto de Extensión: Generar Notas de Pedido y Facturación

1: Ingresa Nro Cotización a buscar

4: Cambia estado

5: Graba

2: busca

6: valida

3: obt iene

7: guarda

Page 32: Lectura 3   Modelo De Analisis

Crear año escolar

: Di re ctor : Interfaz C rear Año Escolar

: Gestor Cre ar Año E scolar

: año Escolar

: aulas

FA1:datos incorrectos

1: ingresa datos

Nombre del AñoSeccion

A ñoVacantes

Aula

2: selecciona crear

4: valida

5: graba

3: obtiene

capacidad

Page 33: Lectura 3   Modelo De Analisis

Estructura

Page 34: Lectura 3   Modelo De Analisis

Tarjetas CRC

Page 35: Lectura 3   Modelo De Analisis

Tarjetas CRC Clase - Responsabilidad - Colaboración

• Las clases también se pueden descubrir usando tarjetas Clase-Responsabilidad-Colaboración (CRC).

• Es un medio sencillo de identificar y organizar las clases• Ayudan a identificar las colaboraciones cercanas:

– jerarquías de generalización/especialización o – jerarquías de agregación entre las clases

• A medida que se completan más escenarios surgen más patrones de colaboración entre las clases

• Las tarjetas CRC son muy efectivas en técnicas de OO porque:– Se enfocan en los problemas– Previenen la generalización prematura– Fomentan el “pensamiento orientado a objetos”

Page 36: Lectura 3   Modelo De Analisis

Tarjetas CRC

Una tarjeta CRC es una tarjeta de 3 x 5 que muestra:1. El nombre y descripción de la clase2. Las responsabilidades de la clase: se refieren a atributos y

operaciones relevantes para la clase.• Conocimiento interno de la clase• Servicios que brinda la clase

3. Los colaboradores para las responsabilidades• Un colaborador es una clase cuyos servicios son

necesarios para cumplir una responsabilidad.• Decimos que un objeto colabora con otro, si para

ejecutar una responsabilidad necesita enviar cualquier mensaje a otro objeto.

Page 37: Lectura 3   Modelo De Analisis

Una sesión de Tarjetas CRC

Se escoge un grupo de personas para representar los roles de losobjetos que participan en un escenario de CU.

Se crea una tarjeta para cada objeto del escenario.

A cada participante se le asigna un grupo de tarjetas que representan objetos similares.

La persona se convierte en una “clase”

Los escenarios que se escojan deben ser desarrollados por los participantes como si se hiciera una representación.

Page 38: Lectura 3   Modelo De Analisis

Una sesión de Tarjetas CRC, continua...

En las tarjetas se anotan las responsabilidades y colaboracionesque vayan surgiendo de las representaciones de los escenariosSe crean tarjetas para cualquier objeto nuevo que se descubra.Orden de la Sesión:

–Análisis del problema–Definición de clases

•Tormenta de ideas•Filtrado de clases

–Definición de superclases y subclases–Definición de responsabilidades.–Definición de atributos.–Operación en escenarios determinados

Page 39: Lectura 3   Modelo De Analisis

Una sesión de Tarjetas CRC, continua...

Se usan normalmente en sesiones de experto del área/desarrollador o desarrollador/desarrollador en grupos no mayores a 6 personas para discutir sobre las características de la implementación.

Page 40: Lectura 3   Modelo De Analisis

Responsabilidades

• Representan características estables de una clase: atributos y operaciones– Atributos: se extraen de la naturaleza de la clase– Operaciones: se extraen del análisis gramatical.

• Verbos: candidatos a operaciones

• La inteligencia del sistema debe distribuirse en forma igualitaria, ubicando la información (atributos) y el comportamiento (servicios) en la misma clase.

Page 41: Lectura 3   Modelo De Analisis

Colaboradores

• Representan solicitudes de un cliente a un servidor para realizar una responsabilidad.

• Dos objetos colaboran entre sí al necesitar enviarse mensajes para ejecutar una responsabilidad

• Ayuda a identificar relaciones entre clases• Se examinan 3 relaciones genéricas entre clases:

– Es-parte-de– Tiene-conocimiento-sobre– Depende-de

Page 42: Lectura 3   Modelo De Analisis

Tarjetas CRC para la Clase: CrearAñoEscolar

Page 43: Lectura 3   Modelo De Analisis

Beneficio de las Tarjetas CRC

•Los patrones de colaboración emergen a medida que más y más escenarios se completan.

•Las tarjetas se pueden distribuir físicamente para representar las colaboraciones estrechas.

•Esto puede ayudar a identificar las jerarquías de generalización oespecialización, y asociaciones de agregación entre las clases(estos temas se desarrollan mas adelante).

•Las tarjetas de CRC son más efectivas para grupos nuevos en técnicas de OO porque:

Previenen enfocarse en temas de Programacion OOPrevienen la generalización prematuraImpulsan a “pensar orientado a objetos”

Page 44: Lectura 3   Modelo De Analisis

Fin de la sesión 13

Análisis