Lectura 3 Modelo De Analisis

Post on 06-Jul-2015

23.991 views 1 download

description

Lectura 3 Modelo De Analisis

Transcript of Lectura 3 Modelo De Analisis

Sesión 13

Análisis

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

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..

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

En Rational Rose

Por cada Caso de Uso una carpeta

Rational Rose

Una realización por cada caso de Uso

R_Atender reserva de BuffetAtender reserva de Buffet

(from Use Cases)

<<realize>>

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..

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

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.

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

(f rom U se C ase View)

Comprador IU Solicitud de Pago

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.

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

(f rom U se C ase View)

CompradorIU Solicitud de Pago

Factura

Muestra

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.

(f rom U se C ase View)

Comprador

IU Solicitud de Pago

Factura

Gestor de Tabla

Cambia estado

Planifica factura

Caso: Generar actividad

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

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

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

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

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

Arquitectura del análisis

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

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

R_A_Consultar stock

R_A_Consultar s tock

Consult ar s tock

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

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

: 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

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>>

R_A_Cotizar

R_A_Cotizar Cotizar

(from Casos de Uso)

R_A_Cotizar: Estructura Interna

Vendedor

(from Actores)

InterfazCotizacion

sol ic it a co ti zar

Cot iz acionG estorCotizacion

indica validar guarda

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

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

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

Estructura

Tarjetas CRC

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”

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.

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.

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

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.

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.

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

Tarjetas CRC para la Clase: CrearAñoEscolar

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”

Fin de la sesión 13

Análisis