Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenidos
Anlisis de Sistemas
Diseo de Sistemas
1
Bibliografa
Ghezzi, et al. Fundamentals of Software Engineering. PrenticeHall, 1991
Davis Alan. Software Requirements: Objects, Functions & States. Prentice-
Hall, 1993
Roger S. Pressman. Ingeniera de Software, un enfoque prctico. Mc Graw-
Hill, 1992.
Wirfs-Brock, et al. Object-Oriented Design, Addison-Wesley, 1990
Rumbaugh, Jacobson, Booch. The Unified Modelling Language Reference
Manual. Addison-Wesley, 1999
Fowler & Scott. UML Gota a Gota. Addison-Wesley, 1997
Erikson, Penker. UML Toolkit. Wiley & Sons Inc. 1998
Gamma, Helm, Johnson, Vlissides. Design Patterns: Elements of Reusable
Object-Oriented Software. Addison-Wesley, 1995
Larman. Applying UML and Patterns. Prentice-Hall PTR, 1998
Buschmann,et al.Pattern-Oriented Software Architect.: A System of
Patterns.Wiley,1996
2
Proceso Unificado con UML
El Proceso Unificado es
Iterativo e incremental
Contempla al desarrollo como sucesivas iteraciones a partir de un
refinamiento sucesivo
La construccin es incremental, tomando como base el ciclo de
vida incremental
Manejado por Casos de Uso
La construccin comienza a partir de los casos de uso, que son los
que determinan los requerimientos que debe cumplir el sistema
Arquitectura Centrica
Los diagramas que representan distintos aspectos del sistema
confluyen en un modelo de sistema
3
Casos de Uso
4
Funcin vs. Forma
5
Workflow de Requerimientos
6
Contexto del Sistema: Modelo de Dominio
Orden Item
1..*
fecha emisin descripcin
direccin costo
1..*
paga
comprador
Factura Cuenta
1
cantidad vendedor saldo
fecha emisin 1 dueo
ultima fecha pago
9
Contexto del Sistema: Modelo de Negocios
Proceso de desarrollo:
1. Preparar un modelo de casos de uso de negocio que identifica
los actores del negocio y los casos de uso usados por ellos.
2. Desarrollar un modelo de objetos de dominio consistente de
empleados, entidades de negocio, y unidades de trabajo que
juntas realizan los casos de uso de negocio. Con estos objetos
se asocian reglas de negocio y otras regulaciones.
10
Modelo de Negocios: Ejemplo - Diagrama
factura_a_pagar
comprador
vendedor
Cuenta Factura
11
Modelo de Casos de Uso
El Modelo de Casos de Uso describe al sistema como un
conjunto de actores y casos de uso y las relaciones entre ellos.
Describe lo que el sistema hace para cada tipo de usuario
(actores).
Actores:
Cada sistema externo con el que se interacta se representa por uno
o ms actorres. stos colaboran con el sistema.
Una vez identificados los actores externos, hemos identificado el
entorno externo del sistema.
Actores son trabajadores de un negocio. Cada rol (de un trabajador)
define qu hace el trabajador en un proceso particular.
Los roles permiten derivar los roles que el actor del sistema jugar.
12
Modelo de Casos de Uso
Solicitar Bienes
o Servicios
iniciador Confirmar
Orden
iniciador
Comprador Vendedor
Facturar iniciador
iniciador al Comprador
Pagar
Factura
Sistema de
Cuentas
14
Modelo de Casos de Uso - Desarrollo
Pasos de Construccin
Encontrar los Actores
Encontrar los Casos de Uso
Describir brevemente casa Caso de Uso
Describir el modelo de casos de uso como un todo (incluye
preparar un glosario de trminos)
Encontrar Actores y Casos de Uso para:
Delimitar el sistema de su entorno
Mostrar quin y qu (actores) interacta con el sistema, y qu
funcionalidad (casos de uso) es esperada del sistema.
Capturar y definir en un glosario los trminos comunes lo que es
esencial para crear descripciones detalladas de la funcionalidad del
sistema.
15
Modelo de Casos de Uso - Actores
Encontrar Actores
Identificar al menos un usuario que se tome como actor
candidato. Nos ayuda a encontrar slo actores relevantes y evitar
aquellos que hemos creado en nuestra mente.
Debera haber el mnimo de superposicin entre roles de
diferentes instancias de los actores. No queremos dos o ms
actores con el mismo rol.
Si es as tratar de combinar los roles en un conjunto simple
para un actor; tratar de encontrar un actor genrico que tiene
asignado los roles comunes. Ej. Comprador y Vendedor pueden
ser especializaciones de un actor Cliente_de_Banco.
Asignar nombres relevantes a los actores.
16
Modelo de Casos de Uso Casos de Uso
Encontrar Casos de Uso
Un caso de uso es sugerido por cada rol de cada trabajador que
participa en la realizacin de un caso de uso de negocios y quin
usar la informacin del sistema.
Se analiza por cada actor qu casos de uso necesita para soportar
su trabajo. Para crear, cambiar, mantener, eliminar, o estudiar
objetos de negocios.
Algunos casos de uso candidatos pueden ser partes de otros casos
de uso. Intentamos crear casos de uso que sean fciles de modificar,
revisar, testear, y manejar como una unidad.
Elegimos un nombre que nos haga pensar acerca de esa particular
secuencia de acciones que aportan significado a un actor.
Nombre: Verbo + Sustantivo
17
Modelo Casos de Uso: Ejemplo - Descripcin
Breve Descripcin
El caso de uso Pagar Factura es usado por un Comprador para planear los pagos de
facturas. Luego el caso de uso efecta el pago en la fecha establecida.
Descripcin Inicial Paso-a-Paso
Antes que este caso de uso sea iniciado, el Comprador ya ha recibido una factura
(enviada por otro caso de uso: Facturar Comprador) y ha recibido los bienes o
servicios solicitados:
Diagrama de
Transicin de
Estados para el Verificacin
Caso de Uso:
Pagar Factura planificar
rechazar
Planificacin
de Facturas
pagar en fecha
Factura Factura
Pagada Cancelada
20
Mtodo de Diseo OO
Ciclo de vida Orientado a Objetos
Mayor duracin de la etapa de diseo (foco en reuso)
Menor duracin global
El diseo genera:
un sistema compuesto por objetos que cumple con los requerimientos,
una descripcin del comportamiento de los objetos,
y los patrones de comunicacin entre objetos.
El diseo produce:
(1) una lista de clases de la aplicacin
(2) una descripcin de la estructura y de las operaciones
que son responsabilidad de una clase, y
(3) una descripcin de la colaboracin entre clases
22
Mtodo DOO - Responsabilidades
Las responsabilidades incluyen: el conocimiento que mantiene un
objeto, y las acciones que debe hacer el objeto.
Relaciones is-kind-of
Examinar relaciones Relaciones is-analogous-to
entre clases: Relaciones is-part-of
23
Mtodo DOO - Colaboraciones
Colaboracin: interaccin en la que un objeto requiere un servicio
de otro objeto.
Encontrar colaboraciones
Para cada responsabilidad de cada clase:
Puede esa clase cumplir con su responsabilidad
por s misma?
Si no, qu necesita?
De qu otras clases puede adquirir lo que necesita?
Para cada clase:
Qu hace o registra esa clase?
Qu otras clases necesitan el resultado o informacin?
Si una clase no tiene interacciones con otras,
debera ser descartada.
24
Mtodo DOO - Colaboraciones y Contratos
Examinar relaciones
relacin is-part-of
relacin has-knowledge-of
relacin depends-upon
cliente servidor
contrato
25
Mtodo DOO - Jerarquas
Construir Jerarquas
Modele la jerarqua clase-de
Factorice responsabilidades comunes lo ms alto posible
Verifique que las clases abstractas no hereden de clases
concretas
Elimine clases que no agreguen funcionalidad
26
Mtodo DOO - Jerarquas (cont.)
Identificar contratos
Agrupar responsabilidades relacionadas
Cada responsabilidad ser parte de un contrato,
pero no todas las responsabilidades sern
asignadas
Responsabilidades privadas y pblicas
Cohesin de responsabilidades
Guas
Agrupar responsabilidades usadas por
los mismos clientes
Maximizar la cohesin de una clase
Minimizar la cantidad de contratos
27
Mtodo DOO Tipos de Clases
La construccin del diseo del sistema debe basarse en una
clasificacin de las entidades participantes:
Interface de Bases de Datos: Efectuar registros y consultas.
Interface de Usuario: Presentar y Solicitar informacin al user.
Dispositivos: Manejar los dispositivos de interaccin con el user.
Transacciones: Poseen la lgica de la aplicacin especfica.
System: Transaccin especial. Inicia las transacciones del sistema.
El control dentro de la
Dispositivos aplicacin es asignado a
las entidades de transaccn.
I.U. Las I.U no poseen
inteligencia para acceder
System Transacciones datos de la BD.
El usuario es solo un actor,
I.B.D. no posee el control.
28
Mtodo DOO Arquitectura
Visin vertical de la clasificacin de entidades: Arquitectura de tres
niveles (consideramos solamente las mas importantes).
I.U. Correspondencia:
Transacciones
I.U Presentacin
Transacciones Dominio de la
I.B.D. Aplicacin
I.B.D Dominio de Negocios
BD
29
Diagramas UML - Vista Esttica - Clases
Etapa de Anlisis: se utilizan los diagramas de Casos de Uso, Clases, Secuencias,
Transicin de Estados, etc..
El diagrama de Clases es usado para describir las Dominio de Negocios.
Etapa de Diseo: se refina este diagrama y se agregan las clases de Presentacin y
Aplicacin. El resto de los diagramas ayudan a describir el nivel de Aplicacin.
Diagrama de Clases: Describe los tipos de objetos que hay en el sistema y las diversas
clases de relaciones estticas que existen entre ellos. Tambin muestra el estado (atributos)
y operaciones (comportamiento) de una clase y las restricciones a que se ven sujetos, segn
la forma en que se conecten los objetos.
30
UML Diagrama de Clases (cont.)
Dos tipos principales de relaciones estticas:
Asociacin: relacin entre instancias de clases (ej. Una persona trabaja para una
empresa; una empresa tiene cierta cantidad de oficinas).
Herencia: relacin de generalizacin (hacia arriba) o especializacin (hacia abajo).
(ej. Cliente: clase general. Cliente Corporativo y Cliente Personal: clases especficas
Subclases).
33
UML - Vista de Interaccin - Colaboraciones
Un diagrama de colaboraciones es un diagrama de clases que contiene roles (de clases
y asociaciones). Estos describen la configuracin de objetos y los enlaces que pueden
establecerse cuando se ejecuta una instancia de la colaboracin.
Los enlaces pueden estar marcados para indicar que son temporarios (parameter,
local) o que llaman al mismo objeto (self).
34
Vista de Interaccin - Colaboraciones (cont.)
Es til clasificar los objetos en cuatro grupos: (1) los que existen durante toda la
interaccin; (2) aquellos creados durante la interaccin ([new]); (3) aquellos eliminados
durante la interaccin ({destroyed}); y (4) aquellos creados y eliminados durante la
interaccin ({transient}).
Cada mensaje tiene un
nmero de secuencia, una
lista de mensajes
predecesores (opcional), una
condicin de ejecucin
(opcional), un nombre y una
lista de argumentos y el
nombre de un valor de
retorno (opcional).
36
Vista de Interaccin - Colaboraciones (cont.)
Los diagramas de interaccin y los diagramas de colaboraciones enfatizan aspectos
diferentes: los primeros muestran en forma clara las secuencias de tiempo mientras
que los diagramas de colaboracin muestran las relaciones entre objetos y las
secuencias se obtienen de los nmeros.
37