Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Propuesta de La DSIA
Propuesta de La DSIA
Vicerrectorado Administrativo
Universidad de Los Andes
Propuesta para el
Documento de Diseo de Sistemas
de la DSIA
Versin 1.0
Marzo, 2008
1 Introduccin
Este informe presenta una propuesta de la estructura que podra llevar el documento de
diseo del sistema (DDS) elaborado por el Grupo de Diseo adscrito a la Unidad de
Desarrollo de la Direccin de Servicios de Informacin Administrativa (UD-DSIA) de la
Universidad de Los Andes.
El documento DDS ser utilizado por el Grupo de Programacin de la UD-DSIA como una
gua para la codificacin e implementacin de los sistemas o aplicaciones que pudieran ser
desarrollados para las unidades administrativas de esta institucin universitaria.
Entre los objetivos que persigue esta propuesta para la especificacin del diseo de
software tenemos:
1. Producir un documento tcnico que describa todos los detalles del diseo de la
arquitectura del sistema o aplicacin y de todos los componentes que la conforman.
2. Proporcionar todos los detalles tcnicos requeridos por el Grupo de Programacin
para programar o producir cada uno de los componentes de software de la
aplicacin o sistema.
3. Servir de insumo para la planificacin y ejecucin de las pruebas de unidad,
integracin y aceptacin que realizar el Grupo de Pruebas al sistema.
4. Servir como material de gua o entrenamiento al nuevo personal que pueda ser
incorporado a un proyecto, proporcionando la informacin necesaria de cmo una
solucin ha sido diseada y como va a ser implementada.
5. Servir como un acuerdo entre el Grupo de Diseo, el Grupo de Programacin y el
Grupo de Pruebas, de cmo va a ser implementada y probada la funcionalidad
descrita en la especificacin de requisitos del sistema.
Esta propuesta ha sido organizada de la siguiente manera. La estructura del DDS, en su
primera versin, es presentada en la seccin 2. La seccin 3 describe cada uno de los puntos
(secciones o apartados) que contiene el DDS. La seccin 4 presenta algunas de las fichas
tcnicas creadas por el Grupo de Diseo de la DSIA, utilizadas para describir las notaciones
empleadas para construir los diversos de diagramas de UML presentes en el documento
DDS.
Anexos
3.1
Nombre del proyecto o sistema: seala el nombre del proyecto o sistema que
va a ser desarrollado.
entregada formalmente.
3.2
Tabla de Contenido
La tabla de contenido del DDS, detalla las diferentes secciones y apartados del
documento e indica la pgina en que cada una de ellas comienza.
3.3
Introduccin
Esta seccin del DDS proporciona al lector una apreciacin global de lo que se tratar
en este documento. Describe el propsito y alcance de este documento y a quien va
dirigido. (1-2 prrafos)
Presenta adems, en los siguientes apartados, una visin general del sistema o
subsistema a desarrollar, las decisiones y restricciones de diseo. Una lista con las
principales definiciones de los trminos, acrnimos y abreviaturas, una lista de los
documentos que sirven de referencia y por ltimo, un resumen de la estructura o
organizacin de este documento de diseo.
3.3.1
los componentes principales del sistema y los sistemas externos que interactan con
l, adems de los flujos de datos que entran y salen del mismo. (1-5 prrafos)
Un ejemplo de la redaccin de esta seccin se muestra a continuacin.
El subsistema de Reservas es uno de los sistemas informticos de la cadena hotelera
KMG, cuyo propsito fundamental es mantener en forma centralizada y unificada todas las
reservas que se realizan en todos sus hoteles afiliados. Este subsistema permitir que
todos los clientes de la empresa puedan realizar todas sus actividades por Internet y
especialmente sus reservas. As mismo, los recepcionistas en cada uno de los hoteles
operarn utilizando la misma interfaz de usuario, una vez que un cliente llegue al hotel para
hacer su check-in o decida modificar o cancelar una reservacin o se retire del hotel
haciendo su respectivo check-out.
Este subsistema deber ser capaz de apoyar todos los procesos y actividades para la
reserva de habitaciones, entre ellos:
La confirmacin de una reserva mediante una notificacin al cliente bien sea por email, fax, celular o beeper.
Informacin estadstica
caducadas.
3.3.2
de
reservas
tomadas,
modificadas,
canceladas
3.3.3
siglas definidas para ciertos productos del diseo como Diagramas de Secuencias
Detallados (DSD), entre otros.
3.3.4
Referencias
Capa de
Capa de
Presentacin
Presentaci
Presentacin
Capa Lgica
Capa L
Lgica
de Negocio
de Negocio
Capa de
Capa de
Datos
Datos
El estilo arquitectnico de tres-capas ser usado porque no slo separa la interfaz del
usuario de los datos almacenados, sino que tambin, provee una capa de lgica de la
aplicacin. La capa de aplicacin provee una capa intermedia que permite que los datos
almacenados en la base de datos y los componentes GUI estn dbilmente acoplados.
Esta separacin lgica permite que una capa pueda ser modificada sin alterar el resto de
las capas o introducir pequeos cambios en alguna de ellas. Por ejemplo, la capa de la
aplicacin podra ser modificada si hay cualquier cambio en el formato de los archivos de
datos y sus atributos, sin que esto afecte la capa de interfaz. Esta capa intermedia hace
posible que este sistema esconda a sus usuarios, la complejidad inherente del
procesamiento de sus datos y haga posible que ste sistema sea mucho ms fcil de
mantener y de reutilizar.
La capa de Servicios del Sistema contiene los servicios bsicos que debe proveer el
sistema; estos servicios son directamente utilizados por los mdulos de la capa superior.
En esta capa se definen las clases controladoras encargadas de manejar la lgica de los
casos de uso, crendose para ello, una clase interfaz por caso de uso. Se crea un mdulo
por subsistema, donde cada mdulo llevar a cabo todas las interfaces requeridas por los
casos de uso vinculados a ese subsistema. La siguiente figura muestra los servicios
bsicos de esta capa.
La capa de Servicios de Negocio agrupa los mdulos que representan los servicios para el
manejo de informacin del negocio. Estos servicios son an ms bsicos que el de la capa
superior y pueden ser compartidos por otros subsistemas. Cada mdulo de esta capa
ofrece una nica interfaz con los servicios que permiten que las operaciones de la capa
superior puedan ser realizadas. El siguiente diagrama muestra los mdulos de esta capa.
La capa de Infraestructura contiene todos los mdulos necesarios para utilizar los servicios
de la plataforma. En esta capa residen principalmente adaptadores de los servicios
brindados por la plataforma, entre ellos el mdulo de acceso a datos y la comunicacin a
otros sistemas, como el de facturacin y mensajera. Los servicios de esta capa son
mostrados a continuacin."
3.4.2
Esta seccin describe la topologa del sistema, mostrando como sern asignados en
forma fsica los diferentes subsistemas o componentes (software) a los diferentes
equipos de computacin (hardware). Para describir la asignacin del software al
hardware utilice los diagramas de despliegue y de componentes de UML.
Un ejemplo de la arquitectura fsica del sistema de Video Juegos es mostrado a
continuacin [2]:
3.5
Esta seccin describe cada uno de los subsistemas que han sido determinados en la
arquitectura lgica del sistema. Para ello, se incluye una descripcin de la
funcionalidad del subsistema a travs de una vista de casos de uso. Una descripcin
del modelo de datos que soporta, mostrados mediante una vista de datos y la
inclusin de una serie de elementos de modelado que describen como los casos de
uso del sistema pueden ser realizados.
3.5.1
3.5.1.1
Esta vista muestra la funcionalidad del sistema como es percibida por los usuarios
finales, analista y encargados de las pruebas.
Para esta vista se utilizan los diagramas de casos de uso de UML, los cuales
contienen los casos de uso ms representativos de este subsistema. Cuando los casos
de uso contenidos en estos diagramas son numerosos, estos podran ser agrupados de
forma funcional utilizando los paquetes (carpetas) de UML. Esta organizacin crea
una jerarqua de diagramas de casos de uso, los cuales por razones de claridad, no
deberan pasar de tres niveles.
Un ejemplo de la vista de casos de uso para el subsistema de Reservas es mostrado en
la siguiente figura [3]:
Otro ejemplo de la Vista de casos de uso para un sistema de Video Club, podra ser:
Gestin de Socios
Gestin de Alquileres
3.5.1.2
Gestin de Pelculas
Esta vista muestra el subconjunto de clases de entidad que sern utilizadas por este
subsistema. Las clases de entidad se refieren a aquellas clases que van a guardar datos
en forma persistente a travs de un manejador de base de datos. En otras palabras,
representa la porcin del modelo conceptual de datos que ser utilizada por este
subsistema.
Para la construccin de esta vista se utilizan los diagramas de clases de UML. En
estos diagramas se muestran conceptos (objetos), asociaciones entre conceptos
(relaciones) y atributos de conceptos (atributos).
Un ejemplo de la vista de datos relacionada con el sistema de Reservas sera [3]:
Subsistema de Reservas
3.5.1.3
En esta seccin se detalla como cada uno de los casos de uso que pertenecen a este
subsistema van a ser realizados. La realizacin de un caso de uso permite expresar
como el comportamiento definido en un escenario, es distribuido en funcin de los
objetos o clases que colaboran entre si para realizar una operacin.
3.5.1.3.1 Realizacin del caso de uso: <nombre del caso de uso>
Para describir la realizacin de un caso de uso ser necesario: una descripcin textual
de los pasos realizados en ese caso de uso (escenario), un diagrama de las clases que
participan en ese caso de uso y un diagrama de secuencia o de colaboracin que
muestra como la clases interactan. De manera opcional, se puede mostrar los
componentes de la interfaz grfica de usuario (pantallas, vistas o formularios)
involucrados en la realizacin del caso de uso y un diagrama de navegacin a travs
de la interfaz de usuario.
En este apartado se presenta el escenario del caso de uso, que mediante una
descripcin textual muestra el flujo de eventos que ocurre entre uno o ms actores y
el sistema, incorporando detalles de la interfaz, sus atributos y nombres de las clases
utilizadas en la realizacin del caso de uso.
El escenario del caso de uso hacer reserva es mostrado a continuacin [3]:
Este caso de uso de uso permite que un Cajero capture la venta de una
serie de productos y registre su pago en efectivo
Cliente (Iniciador), Cajero
Tipo
Primario
Requisitos
RF 1.1, RF 2.3
Asociados
Precondicin
El Cajero se identifica y autentica
Curso Normal (Bsico)
Paso
1
2
3
4
5
6
7
Accin
Este caso de uso comienza cuando un Cliente llega a la caja del Terminal de punto
de venta (TPDV) con productos para comprar.
El Cajero inicia una nueva venta.
El cajero registra el identificador de cada producto. Si hay varios productos de un
mismo tipo, el Cajero puede introducir su cantidad.
El sistema registra la lnea de venta y presenta la descripcin del producto, precio y suma
parcial.
El Cajero repite los pasos 3 y 4 hasta que termine de introducir los productos y le
indica al TPDV que se concluyo la venta.
El Sistema calcula y presenta el monto total de la venta con sus impuestos.
10
11
12
3a
3-7a
8a
Accin
Diagrama de clases de diseo del caso de uso: <nombre del caso de uso>
Un diagrama de clases en UML es presentado aqu, para mostrar las clases de diseo
de software que colaboran en la realizacin del caso de uso. Este diagrama muestra la
especificacin de las clases software que intervienen en este caso de uso, presentando
sus atributos, mtodos, asociaciones, interfaces y operaciones, navegabilidad y
dependencias.
Los tipos de clases de diseo que son incluidas en estos diagramas son las clases de
entidad, de interfaz y de control, denominadas as en el Proceso Unificado (RUP).
Las clases de identidad representan a aquellos elementos del mundo real o conceptual
a los que se les guardar informacin perdurable en el sistema. Las clases de interfaz
modelan la interaccin entre el sistema y sus diferentes usuarios, asociadas con la
entrada de datos y salida de informacin. Las clases de control o activas, son
utilizadas para controlar el flujo de operaciones que debe realizar el sistema en
respuesta a los eventos generados por un actor.
En algunos casos, se construye bsicamente un Modelo de Diseo de Objetos que
corresponde a la capa del dominio o lgica de la aplicacin, el cual contiene las
clases software que manejaran la lgica del negocio y cuyos nombres son derivados
Un ejemplo que hace uso de clases genricas de software, creadas para el manejo de
la interfaz, de la lgica de la aplicacin y del acceso a datos es mostrado en el
siguiente diagrama de secuencia del caso de uso registrar usuario de un sistema de
Reservaciones Areas [4].
Interfaz grfica de usuario del caso de uso: <nombre del caso de uso>
Esta seccin es opcional y podra ser utilizada slo cuando la realizacin del caso de
uso tenga cierta navegacin compleja que sea necesario describirla. En este caso, se
utilizara un diagrama de estados de UML para mostrar dicha navegabilidad.
La siguiente figura presenta un posible diagrama de navegacin para el caso de uso
hacer reserva, donde se muestran los diferentes componentes de la interfaz de
usuario presentes en la realizacin de este caso de uso.
3.6
Este apartado presenta el esquema conceptual de datos del sistema. Este esquema es
el producto de la integracin de los diferentes diagramas (de clases en UML o de
Recepcin
0..*
Hotel
Habitacin
-nombre : String
-ciudad : String
-IPAddress : String
-nombre : String
1
1..*
0..1
*
Cliente
-idCliente : Integer
-nombre : String
-usuario : String
-password : String
-email : String
-tel : String
-fax : String
Reserva
-idReserva : Integer
-checkin
-checkout
-estado
1
*
TipoHabitacin
-nombre : String
0..*
EstadoReserva
Husped
-nombre : String
-documento : String
-pais : String
3.6.2
Clase enumerada
-Pendiente
-En Curso
-Finaliza
-Cancelada
-NoTomada
3.6.3
Diccionario de Datos
Anexos
Esta seccin incluir toda la informacin adicional o de soporte al diseo del sistema.
Los anexos podran incluir:
Metodologa: UML
Versin: 1.0
Versin: 2.0
Definicin del producto: Diagrama que permite especificar los requisitos funcionales de
un sistema
Utilidad para el cliente del proceso de diseo: Permite estructurar el sistema en
funciones y definir los actores o roles que tendrn acceso a dichas funciones.
Nivel de detalle requerido para Diseo: a nivel de funciones que realizan alguna
transaccin que involucra un conjunto de datos.
Actor o Rol
Caso de uso
Significado
Smbolo
1 1 . Ca r g a r
1 2 . Ca r g a r
1 3 . A c t u a zil a r
CP - O
d e
SAF
f n
i a n c e
i r a s
r e c a u d o s
p o r
d e l Dp t o
t ip o
d e
N m
Re c e p c o
i n si t a
<<e x t e n d >>
1 4 . Va d
il a r
1 5 . Bu s c a r
CP - O
r e c a u d o s
1 6 . Bu s c a r
f n
i a n c e
i
<<e x t e n d >>
1 7 . I n g r e s a r
f n
i a n c e
i r a s
d e
a
l s
Relacin de comunicacin
Relacin include
Relacin extend
Relacin de generalizacin
caso de uso 1
caso de uso 1
<<include>>
Caso de Uso 2
<<extend>>
Caso de Uso 2
usuario autorizado
usuario 2
usuario 1
Recepcionista
<<extend>>
15.Buscar CP-OP
14.Validar recaudos
<<extend>>
16.Buscar OP financiera
<<extend>>
4.2
Fecha14/1 /2008
Metodologa: UML
Versin: 1.0
Versin: 2.0
Definicin del producto: Los paquetes ofrecen un mecanismo general para la
Actor o Rol
Paquete
Significado
Smbolo
Relacin de comunicacin
Estereotipo
Relacin de dependencia
4. Solicitar pagos
6. Controlar pagos
<<subsistema>>
<<subsistema>>
Subsistema 1
Subsistema 2
<<subsistema>>
Subsistema 3
Formulacion Presupuesto
<<Subsistema>>
GestionarLineamientos
<<Subsistema>>
<<Subsistema>>
<<Subsistema>>
Formular Proyecto
<<Subsistema>>
GestionarModificacionesPpto
GestionarIngresoSistema
<<Subsistema>>
Formular Anteproyecto
RealizarEstadisticas
<<Subsistema>>
Mdulos
Casos de Uso
A nivel de un subsistema:
Object-Oriented Model
Model: Modelo de Casos de uso
Package:
Diagram: SUBSISTEMA GESTIN DE PAGOS
Author: Nancy B. de Garca Date: 14/01/2008
Version: 2
Recepcionista
<<mdulo>>
1. Cargar informacin
<<mdulo>>
2. Registrar ingreso a Tesorera
Controlador Financiero
Gestor de Pagos : 1
<<mdulo>>
Supervisor de Tesorera : 1
3. Tramitar pagos
<<Gestin Cuentas Bancarias>>
1.2.1 Autorizacin de Transferencia de Fondos
<<mdulo>>
4. Solicitar pagos
Revisor de documentacin
<<mdulo>>
<<mdulo>>
5. Generar pagos
6. Controlar pagos
Supervisor de Tesorera : 2
Revisor de instrumentos de pago
<<mdulo>>
7.Consultar pagos
Gestor de Pagos : 2
Consideraciones especiales:
Cuando haya ms de 2 niveles se dibuja en forma de rbol; a nivel de un mdulo,
se deben mostrar las relaciones de dependencia y los actores.
Mxima cantidad de niveles: 3
Criterios de buen empaquetamiento: alta cohesin y bajo acoplamiento entre
paquetes.
Paleta de colores: B/N para todos los elementos del diagrama. Gris para casos de
uso que son definidos en un diagrama o paquete y se utilizan en otro
Estandarizado por: Grupo de Ingeniera de Requisitos y Diseo de Software
4.3
Fecha: 28/11/2007
Metodologa: UML
Versin 1.0
Versin:
2.0
Flujo de eventos
excepcionales o
alternativos.
Flujo alternativo o
puntos de extensin.
Puntos de excepcin.
Significado
Conjunto de pasos escrito en lenguaje
natural que muestra el flujo de eventos
principal, a travs de una secuencia de
acciones que ocurren entre los actores y el
sistema.
Flujo alternativo:
Conjunto de pasos que describen el flujo de
acciones al ocurrir una cierta condicin. Se
utiliza para mostrar las diferentes opciones
posibles de un conjunto donde todas tienen
la misma posibilidad de ser seleccionadas
por el usuario.
Flujo excepcional:
Conjunto de pasos que describen las
acciones que se deben realizar en caso de
ocurrir alguna condicin excepcional,
diferente al flujo normal de eventos. Por lo
general, se utiliza para manejar condiciones
de validacin, manejo de errores, etc.
Precondiciones o
condiciones de
entrada
Notacin
Numeracin de los pasos: nmeros
ordinales: 1., 2., ..n.
Frases empleadas:
Bibliografa consultada:
Modelado de Sistemas usando UML 2.0
Name
Association_4
Code
Association_4
Class Name
Use Case Association
Consideraciones especiales:
1) Los escenarios de Casos de Uso para Ingeniera de Requisitos, no deben
involucrar aspectos de interfaz grfica como por ejemplo: pulsar botones.
Tampoco deben involucrar nombres de clases ni de atributos de clases. Sin
embargo, los mismos deben considerar todos los datos que se registran, con
el detalle que se requiere en virtud que estos escenarios sern el insumo
para el diseador.
2) Cuando el escenario ofrezca varias opciones, las cuales tienen la misma
posibilidad de ser elegidas y el caso de uso tenga una relacin de extend
con otros casos de uso, se redacta as:
Ejemplo: caso de uso con relacin extend a travs de las opciones <opcin a>
<opcin b> y <opcin c>
Flujo feliz:
1. El usuario selecciona una opcin.
Flujo alternativo:
1.a. Si el usuario selecciona <opcion a> se realiza el caso de uso Caso de
uso A.
1.b. Si el usuario selecciona <opcion b> se realiza el caso de uso Caso de
uso B.
1.c. Si el usuario selecciona <opcion c> se realiza el caso de uso Caso de
uso C.
3) Cuando el escenario ofrezca varias opciones, de las cuales una de ellas es
la que ms se utiliza y existen otras opciones, bien sea que se van a resolver
dentro del mismo caso de uso o a travs de un extend, se redacta en forma
parecida a 2), slo que la opcin ms frecuente y su flujo se consideran
dentro del flujo feliz, mientras que las opciones se consideran dentro de los
flujos alternativos.
Paleta de colores: Blanco y Negro
Estandarizado por: Grupo de Ingeniera de Requisitos y Diseo de Software
4.4
Diseo Detallado
Fecha:1 / 10 / 2007
Metodologa: UML
Versin: 1.0
Versin: 2.0
Definicin del producto: Diagrama que describe la dinmica de una aplicacin o una parte de
ella, mostrando las interacciones entre los objetos desde el punto de vista temporal, insistiendo
en la cronologa del envo de mensajes.
Utilidad para el cliente del proceso de diseo: Permite conocer en detalle para cada evento
del sistema o hilo de operacin, cules mtodos se requieren de las instancias de las clases
involucradas en la realizacin del caso de uso, as como el ordenamiento de los mensajes entre
los objetos. Facilita la programacin orientada a objetos.
Nivel de detalle requerido para Programacin: Se puede obtener uno o ms diagramas de
secuencia detallados para un caso de uso, tomando en cuenta que por cada uno de stos
existen varios eventos del sistema o hilos de operacin. El nivel de detalle debe incluir: mtodos
utilizados por clase, atributos o parmetros que se pasan a travs de los mensajes, valores de
retorno, condiciones sobre los mensajes e iteraciones, tipos de mensajes (sncronos, asncronos,
de retorno). Tambin se necesita identificar la clase controladora que resolver el evento del
sistema, y debe estar previamente definida con todas sus operaciones, y debidamente
documentada.
Lnea de vida
Ejecucin caja de
activacin
Significado
Smbolo
:clase 2
:clase 2
Uso de la interaccin
Alternativas de interaccin
ref
SequenceDiagram_121()
alt
[Condition]
[Condition]
Elementos de un mensaje
:clase 1
Actor
mensaje "this"
Mensaje indefinido
Mensaje sncrono
Mensaje asncrono
Mensaje de retorno
Creacin del objeto
:clase 2
objetoa:clase 1
objeto b:clase 2
m
n:= 1 [Si x > 2]: z:= Calcular(x,y)
objetoa:clase 1
objeto b:clase 2
objeto c:clase 3
*[n:= 1..m]
Bibliografa consultada:
Vistas de uso
Referencias Bibliogrficas
[1]
[2] Perovich, D. y Vignaga, A. SAD del Subsistema de Reservas del Sistema de Gestin
Hotelera. Reporte Tcnico RT03-15, InCo Pedeciba, Montevideo, Uruguay, 2003.
[3]