Académique Documents
Professionnel Documents
Culture Documents
Escuela de Ciencias de la
Computacin e Informtica
Estndar de diseo
II Semestre 2007
ndice
1. Alcance_______________________________________________________________ 3
2. Referencias____________________________________________________________ 3
3. Definiciones ___________________________________________________________ 3
4. Consideraciones para producir un DDS_____________________________________ 4
5. Descripcin del contenido del documento de diseo ___________________________ 4
5.1. Portada__________________________________________________________________ 4
5.2. Tabla de Contenido________________________________________________________ 5
5.3. Introduccin _____________________________________________________________ 5
5.3.1 Alcance del Sistema ____________________________________________________________ 5
5.3.2 Definiciones y Trminos. ________________________________________________________ 6
5.3.3. Documentos de Referencia. ______________________________________________________ 6
1. Alcance
Este documento describe un estndar para especificar el diseo de un proyecto o
mdulo de software. Especifica la informacin que debe contener el documento de
diseo del software y recomienda una organizacin para ste. El documento de
diseo es una representacin del sistema que se utiliza para comunicar cualquier
informacin del diseo del software.
Este estndar debe ser aplicado durante la etapa de diseo del software y est
orientado hacia los desarrolladores de software.
2. Referencias
[1] ANSI/ISO/IEEE Std. 1016-1987, IEEE Recommended practice for
software Design Descriptions.
[2] Pressman, Roger S. Ingeniera del Software, Un enfoque prctico.
Editorial McGraw-Hill/Interamericana de Espaa, S. A. 5 edicin. Espaa,
2002
[3] Adaptable
info@rspa.com
Process
Model
(APM),
Pressman
&
Associates,
3. Definiciones
Las definiciones de trminos no encontradas aqu pueden ser buscadas en [4].
Componente. Es una parte de un sistema que puede ser hardware o
software y puede ser dividido en otros componentes. A menudo suelen
utilizarse trminos como: mdulo, componente, unidad.
Entidad de diseo (ED). Es un elemento (componente) del diseo,
estructural y funcionalmente distinto de los dems, y que es nombrado y
referenciado. Por ejemplo, una consulta, una pantalla, una tabla de la base
de datos.
Diseo de la arquitectura. Es el proceso de definir un conjunto de
componentes de hardware y software y sus interfaces para establecer la
estructura del desarrollo.
Descripcin del diseo del software (DDS). Es un documento que se
utiliza para comunicar informacin de diseo. Es un plano detallado que
describe la arquitectura del software, sus componentes, interfaces y datos,
y que es utilizado en la etapa de programacin. El DDS muestra como el
3
5.1. Portada
La portada debe seguir el formato descrito en la figura 1. Debe incluir al menos la
siguiente informacin: nombre de la institucin, el nombre del documento, el
nombre de la aplicacin, los autores del Plan, el nmero de versin y la fecha de
aprobacin.
5.3. Introduccin
En esta seccin se debe explicar el objetivo del documento de diseo, as como el
contenido general del mismo y una breve resea de cmo se usa. Adems, se
debe mencionar a manera de referencia, el mtodo particular de diseo que se
utilizar para realizar el diseo del software y cualquier herramienta, biblioteca de
programas, notacin, o sintaxis.
No.
Prioridad
R1-1
Alta
R1-2
Alta
R1-3
Alta
R1-4
Alta
R1-5
Baja
5
Tipo de
Dato
Longitud
Restricciones
Cdula
Nombre
Direccin
NoDpto
Hilera
Hilera
Hilera
Entero
15
20
50
4
No nulo
No nulo
No nulo
Acciones de algn
actor
Punto de verificacin
11
5.12 Anexos
Los anexos deben incluir cualquier otra informacin adicional que pueda ayudar a
especificar mejor el documento de diseo.
13
Anexo 1
Caso de ejemplo: Especificacin del diseo para el sistema
SAWMI
Hoja de portada
Especificacin Diseo
Elaborador por:
Versin 1.0
14
Tabla de contenido
1. Introduccin..................................................................................................................... 16
1.1 Alcance del proyecto ............................................................................................................. 16
1.2 Definiciones y Trminos ....................................................................................................... 18
1.3 Documentos de Referencia ................................................................................................... 18
4. Diseo de la Arquitectura................................................................................................ 23
4.1 Diagrama de la Arquitectura .............................................................................................. 24
15
1. Introduccin
En el presente documento de especificacin de diseo, se describirn de manera detallada
todos los elementos que rodean la implementacin del Sistema de Facturacin para la
empresa SAWMI.
Se presentarn inicialmente todos los requisitos que se deben cumplir en el sistema y se
abarcarn las cuatro reas correspondientes al diseo de la siguiente manera:
1. Datos: Se describe de manera detallada las clases del sistema y las correspondientes
estructuras de datos utilizadas. Se presenta el esquema entidad relacin. Adems la
estructura de las tablas (detalle para cada tabla de su llave primaria, fornea y sus
restricciones) con sus correspondientes atributos (se detallan nombres, tipos y
longitud de cada uno).
2. Arquitectura: Se describe la arquitectura que se utilizar para desarrollar la
aplicacin y se muestra el esquema de arquitectura correspondiente.
3. Interfaz: Se presentan las interfaces por cada mdulo y la navegabilidad entre
pantallas de la aplicacin. Adems se describen los componentes de cada pantalla.
Prioridad
Alta
Alta
Alta
No.
R2.1
R2.2
R2.3
R2.4
Prioridad
Alta
Alta
Alta
Alta
No.
R3.1
R3.2
R3.3
R3.4
R3.5
Prioridad
Alta
Alta
Alta
Alta
Alta
16
No.
R4.1
R4.2
R4.3
R4.4
Prioridad
Alta
Alta
Alta
Alta
No.
R5.1
R5.2
R5.3
R5.4
Prioridad
Alta
Alta
Alta
Alta
No.
R6.1
R6.2
R6.3
R6.4
R6.5
Prioridad
Alta
Alta
Alta
Alta
Alta
No.
R7.1
R7.2
R7.3
R7.4
Prioridad
Alta
Alta
Alta
Alta
No.
Prioridad
R8.1
Alta
R8.2
R8.3
R8.4
R8.5
R8.6
R8.7
R8.8
Alta
Alta
Alta
Alta
Alta
Alta
Alta
17
Planes futuros para nuevas versiones de software: el sistema ser diseado para que en
caso que sea necesario agregar un nuevo requerimiento o mdulo este se agregue de manera
independiente a todos los dems, por tanto el agregar una nueva funcionalidad al sistema no
ser ningn problema ya que no afectar las funciones existentes.
18
3. Diseo de Datos
Durante esta fase se tomar el trabajo realizado en el anlisis para establecer las clases y las
estructuras de datos necesarias para la implementacin del sistema. Seguidamente se
presenta el anlisis de los datos.
Nombre_Usuario
Contrasea
Miembro
Cedula
Nombre
1erApellido
2doApellido
Telfono
Tipo.Actor
Clasificacin
Correo
Proforma
Id_Proforma Cedula_Cliente Fecha Id_Responsable Subtotal Impuesto Descuento Total
Foreing Key
Foreing Key
Factura
Id_Factura
Es_Web
Cedula_Cliente
Foreing Key
Fecha
Id_Responsable
Foreing Key
Subtotal
Impu
esto
Desc
uento
Detalle_Factura
Id_Producto
Foreing Key
Id_Factura
Foreing Key
Cantidad
Precio
Cantidad
Precio
Descuento
Detalle_Proforma
Id_Proforma
Foreing Key
Id_Producto
Foreing Key
Producto
Id_Producto
Id_Proveedor Nombre
Foreing Key
Tipo
Precio
Venta
Detalle_Pedido_Proveedor
Id_Producto
Foreing Key
Id_Pedido
Foreing Key
CantidadPedida
CantidadRecibida PrecioCompra
FechaPedido
Id_Responsable
Foreing Key
Pedido_Proveedor
Id_Pedido
Id_Proveedor
Foreing Key
FechaRecibido
Proveedor
Ced_juridica Nombre
Correo
Representante
Foreing Key
Telfono
Direccin
20
Total
Restricciones
No nulo
No nulo
No nulo
No nulo
22
4. Diseo de la Arquitectura
La arquitectura que se va a aplicar es la estratificada por capas. Este modelo arquitectnico
consiste en crear diferentes capas, donde cada una de las capa realiza operaciones que
progresivamente se aproximan ms al cuadro de instrucciones de la mquina. En la capa
externa los componentes sirven a las operaciones de interfaz de usuario, en la capa interna
los componentes realizan operaciones de interfaz de usuario y en las capas intermedias
proporcionan servicios de utilidad y funciones del software de aplicaciones. La
organizacin jerrquica se realiza de tal manera que cada capa proporciona servicios a la
capa inmediatamente superior y se sirve de los servicios de la capa inmediatamente inferior.
23
24
Las razones por las que se eligi la arquitectura N-capas para este sistema son las
siguientes:
1. Permite la creacin de componentes con una alta cohesin (encapsulan una funcin
especfica) y bajo acoplamiento (una mnima relacin entre componentes
nicamente la necesaria). Con estas caractersticas la arquitectura se presenta como
sumamente modular.
2. Otra ventaja presente es el orden de acceso, los datos no pueden ser manipulados
directamente por las aplicaciones clientes, esto colabora en el tema de seguridad de
la aplicacin. Permite una adecuada validacin de los datos antes de ser
almacenados.
3. Con esta arquitectura es posible que una vez definidas las tareas se realicen varias
de stas en paralelo, por parte del equipo desarrollador, debido a la independencia
de los mdulos.
4. Durante todo el proceso la arquitectura establece una serie de actividades paralelas
como los son: seguridad, administracin del funcionamiento y comunicacin. Estas
actividades colaboran con un proceso adecuado de ingeniera de software en todo el
desarrollo.
25
Producto
(f rom Base de datos)
1
1
1
Formulario Producto
(f rom Interf aces)
Controladora Producto
1
1
Controladora Proveedor
(f rom Reglas de negocio)
Provedor
Controladora Proveedor
1
1
1
Controladora Base de Datos
(from Reglas de negocio)
26
n
1
1
1
Formulario Prof orma
Prof orma
1 (from Base de dat...
(from Interfac...
1
1
1
1
1
1
1
1
Controladora Producto
Controladora Miembro
n
1
1
Controladora Factura
Formulario Factura
(from Interfaces)
Factura
11
1
1
1
1
1
1
Controladora Producto
(from Reglas de negocio)
Controladora Miembro
27
28
Relacin existente: una relacin uno a uno entre la clase Formulario Proveedor
y la Controladora Proveedor. La clase Formulario Proveedor mediante el
mtodo solicitarDatos Proveedor(idProveedor) utiliza los datos que le
devuelve la clase Controladora Proveedor para llenar el ComboBox con todos
los Proveedores
Mtodos: la clase Controladora Proveedor Utiliza los datos recibidos por la
clase Formulario Proveedor para insertar, modificar, eliminar y consultar
mediante los mtodos: Guardar Proveedor(), Modificar Proveedor(), Eliminar
Proveedor() y SolicitarDatos Proveedor() respectivamente. El mtodo
SolicitarDatos Proveedor() devuelve los datos del Proveedor consultado.
Atributos: el atributo necesario para consultar, modificar, eliminar e insertar es
el id_Proveedor.
o Controladora Proveedor Controladora Base de Datos
Relacin existente: una relacin uno a uno entre la clase Controladora
Proveedor y la Controladora Base de Datos.
Mtodos: la clase Controladora Proveedor Utiliza los datos recibidos por la
clase Formulario Proveedor y mediante los mtodos: Guardar Proveedor(),
Modificar Proveedor(), Eliminar Proveedor() y Consultar Proveedor() ejecuta
los llamados a la Controladora de Base de Datos. La Controladora de Base de
Datos utiliza el metodo devuelveDatos Proveedo() para devolver los datos
solicitados mediante una consulta y con el mtodo devuelveMensaje(xito
Fracaso) responde a los llamados insertar, modificar y eliminar.
Atributos: el atributo necesario para consultar, modificar, eliminar e insertar es
el id_Proveedor.
o Controladora Miembro Miembro
Relacin existente: una relacin uno a uno entre la clase Controladora
Proveedor y la clase constructora Proveedor.
Mtodos: los mtodos de la clase controladora Guardar Proveedor(), Modificar
Proveedor(), Eliminar Proveedor() y SolicitarDatos Proveedor() trabajan sobre
una sola instancia de un objeto de tipo Proveedor a la vez y utilizan los
atributos de la clase Proveedor para enviar y recibir la informacin de cada
Proveedor.
Atributos: de la clase Proveedor son id_Proveedor, Nombre, CedulaJuridica,
Correo, Representante, Telefono, Direccion.
Subsistema IMEC Proforma
o Formulario Proforma Controladora Proforma
Relacin existente: una relacin uno a uno entre la clase Formulario Proforma
y la Controladora Proforma. La clase Formulario Proforma mediante el
mtodo solicitarDatos Proforma (id_Proforma) utiliza los datos que le
devuelve la clase Controladora Proforma para llenar el ComboBox con todos
las Proformas.
Mtodos: la clase Controladora Proforma utiliza los datos recibidos por la
clase Formulario Proforma para insertar, modificar, eliminar y consultar
mediante los mtodos: Guardar Proforma(), Modificar Proforma(), Eliminar
Proforma() y SolicitarDatos Proforma() respectivamente. El mtodo
SolicitarDatos Proforma() devuelve los datos de la Proforma consultada.
29
31
Clases Entidad
Mtodos Generales Clases Entidad
- crearObjeto(datosObjeto***): La entidad crea el objeto correspondiente con los datos
que recibe como parmetros.
- encapsularObjeto*(datosObjeto***): Recibe un conjunto de datos y realiza la creacin
de un objeto a partir de los parmetros recibidos.
- devuelveObjeto*(Objeto*): Devuelve el objeto que se creo.
34
para extraer los datos necesarios (cedula, nombre, lapellido, 2apellido) para llenar el
combobox de clientes.
Subsistema IMEC Factura Subsistema IMEC Proforma
El subsistema IMEC Factura se comunica con el subsistema IMEC Profonna con el fin
de extraer los datos que se necesiten de la profonna en el caso de que la factura se lleve a
cabo en funcin de una proforma (que esta se base en los datos de una proforma).
Subsistema IMEC_Factura Subsistema IMEC_Producto
El subsistema IMEC_Factura se comunica con el subsistema IMEC_Producto con el fin
de extraer los datos que se utilizan para llenar el datagrid de los productos disponibles,
tambin a la hora de crear el detalle local, y el detalle que se crear en la base de datos.
Subsistema IMEC_ComprasWeb Subsistema IMEC_Producto
El subsistema IMEC_ComprasWeb se comunica con el subsistema IMEC_Producto con
el fin de extraer los datos que se utilizan para llenar el datagrid de los productos
disponibles, tambin a la hora de crear el detalle local (carrito de compras), y el detalle
que se crear en la base de datos.
Subsistema IMEC_ComprasWeb Subsistema IMEC_Miembro
El subsistema IMEC_ComprasWeb se comunica con el subsistema IMEC_Miembro con
el fin de extraer los datos que se utilizan para la validacin del usuario y para obtener los
datos necesarios a la hora de crear la factura.
Subsistema IMEC_Producto Subsistema IMEC_Proveedor
El subsistema IMEC_Producto se comunica con el subsistema IMEC_Proveedor para
llenar el combobox de proveedores y despus para llenar el campo respectivo en la tabla
de producto.
Subsistema IMEC_ ProveedorPedido Subsistema IMEC_Proveedor
El subsistema IMEC ProveedorPedido se comunica con el subsistema IMEC Proveedor
con el fin de extraer los datos que se utilizan para llenar el combobox de los proveedores
disponibles.
Subsistema IMEC_ ProveedorPedido Subsistema IMEC_Producto
El subsistema IMEC ProveedorPedido se comunica con el subsistema IMEC Producto
con el fin de extraer los datos que se utilizan para llenar el datagrid de los productos
disponibles, tambin a la hora de crear el detalle local, y el detalle que se crear en la
base de datos.
Subsistema IMEC_ ProveedorPedido Subsistema IMEC_Miembro
El subsistema IMEC_ProveedorPedido se comunica con el subsistema IMEC_Miembro
con el fin de extraer los datos que se utilizan para llenar el campo del responsable
(empleado)
36
Pgina
Principal
Facturacin
Salida del
Sistema
Proforma
Productos
Cliente
Empleado
Proveedor
Reporte Fact.
Pedido Prov.
Historial Cliente
Compra
Web
Client-Prod-Prov
Prod Provedor
Consultas
Complejas
Usuario
Fact en Tiempo
Prom. Tiemp Prov
Pedidos por Empl
Ventas por Empl
37
Pantalla de Validacin:
1
Figura 9. Pantalla de validacin
del Sistema SAWMI.
Pantalla simple, que solicita el nombre de inicio y contrasea del usuario, cuenta
con el botn aceptar (1), para introducir y chequear los datos (se verifican sean validos, o
desplegar mensaje de error). Una vez realizado esto se llama a la pantalla principal del
Sistema.
Men de Navegacin
Figura 10. Men que permite la navegacin entre los diferentes mdulos del
Sistema SAWMI.
El men de navegacin se mantiene a lo largo de las diversas pantallas del sistema, posee
enlaces a los diversos mdulos del sistema: Facturacin, Preformas, Productos, Clientes,
38
IMEC Producto
2
4
3
Figura 11. Pantalla del mdulo Mantenimiento de Productos.
Existen tres botones en la parte superior derecha de la pantalla que permite llevar hacia las
diversas funciones propias del Producto (2) Insertar, Eliminar o Modificar -. Existe un
datagrid (3) que permite visualizar los diferentes Productos existentes, a la vez que una
serie de labels con los atributos del producto (4) propuestos para poder visualizar o editar la
informacin segn sea el caso. Finalmente se presentan los botones Aceptar y Cancelar en
la parte inferior de la pantalla (1) para aprobar o rechazar las acciones realizadas y borrar
los campos.
39
IMEC Proveedor
2
4
40
IMEC Factura
2
5
8
1
Figura 13. Pantalla del mdulo Mantenimiento de Facturas.
Existen tres botones en la parte superior derecha de la pantalla que permite llevar hacia las
diversas funciones propias la Factura (2) Insertar, Anular o Consultar -. El nmero
secuencial de la factura actual se muestra en la parte superior derecha de la pantalla (3).
Una serie de labels con los atributos de la Factura (4) se presentan para poder visualizar o
editar la informacin segn sea el caso, al igual que decidir si la bsqueda se realizar por
Nombre o Cdigo del producto. En el datagrid de la parte izquierda de la pantalla (5) se
presentan los diversos productos existentes que concuerdan con la bsqueda del usuario, en
el de la derecha (7) los productos ya incluidos en la factura del usuario, para agregar o
eliminar productos de la factura se utilizan los botones delimitados con lo smbolos >>
(Agregar) o << (Eliminar) (6). En la parte derecha de la pantalla (8) se muestra el Subtotal,
Descuento y Precio total de la compra actual; finalmente se presentan los botones Aceptar y
Cancelar en la parte inferior de la pantalla (1) para aprobar o rechazar las acciones
realizadas y borrar los campos.
41
IMEC Proforma
7
5
8
1
Figura 14. Pantalla del mdulo Mantenimiento de Proformas.
Existen cuatro botones en la parte superior derecha de la pantalla que permite llevar hacia
las diversas funciones propias la Proforma (2) Insertar, Modificar, Eliminar o Consultar -.
El nmero secuencial de la proforma actual se muestra en la parte superior derecha de la
pantalla (3). Una serie de labels con los atributos de la Proforma (4) se presentan para poder
visualizar o editar la informacin segn sea el caso, al igual que decidir si la bsqueda se
realizar por Nombre o Cdigo del producto. En el datagrid de la parte izquierda de la
pantalla (5) se presentan los diversos productos existentes que concuerdan con la bsqueda
del usuario, en el de la derecha (7) los productos ya incluidos en la proforma del usuario,
para agregar o eliminar productos de la proforma se utilizan los botones delimitados con lo
smbolos >> (Agregar) o << (Eliminar) (6). En la parte derecha de la pantalla (8) se
muestra el monto total actual de la proforma; finalmente se presentan los botones Aceptar y
Cancelar en la parte inferior de la pantalla (1) para aprobar o rechazar las acciones
realizadas y borrar los campos.
42
8. Aspectos de Pruebas
8.1 Clases de Pruebas
Para la realizacin de las pruebas se siguieron diferentes estrategias segn sea el alcance
deseado.
Pruebas de Unidad:
En estas pruebas se decidi seguir una estrategia de caja blanca, esto debido a que al ser los
mdulos individuales pareci correcto revisarlos ms extenuantemente los cdigos, debido
a que de la revisin y correctitud de estos depender la eficacia del sistema una vez que se
este integrando. Se opto por la estrategia de caja blanca determinada prueba flujo de datos,
la cual selecciona caminos de prueba de acuerdo a la ubicacin de las definiciones y los
usos de las variables.
Pruebas de Integracin:
Para las pruebas de integracin se opto por utilizar pruebas de caja negra, ya que en la etapa
anterior se revis el cdigo de las diferentes unidades. En esta etapa se da principal nfasis
en la eficacia del sistema y no del cdigo anteriormente escrito. En este caso se opto por
utilizar pruebas valor lmite, en la cual se utilizan valores lmites para realizar pruebas
sobre el sistema.
Pruebas de Validacin
Para esta parte se decidi utilizar pruebas de caja negra. Se realizar una verificacin por
escenarios, con las cuales se van a verificar todos los requerimientos establecidos siguiendo
el flujo normal del usuario, los cuales van a ejercitar varios subsistemas en una sola prueba
Pruebas de Sistema
Para esta parte se decidi utilizar pruebas de caja negra. Se utilizarn pruebas de estructura
superficie, la cual es la estructura observable externamente de un programa orientado a
objetos. Se le brindan objetos al usuario para que los manipule, y es realizada a travs de la
interfaz. Se basa en las tareas del usuario.
43
Acciones de algn
actor
E jefe de
departamento o
encargado de
soporte presiona el
botn Crear.
Selecciona la orden
# Punto de verificacin
Verificar precondiciones
Se carga correctamente el
comboBox de rdenes?
44
Presiona el botn
Aceptar.
11 Confirma el
mensaje de si est
seguro de hacer la
creacin de factura.
Muestra el mensaje
solicitando la confirmacin
del usuario?
Hace la validacin
correctamente? Si alguno
de los campos obligatorios
no est lleno muestra un
mensaje indicando esta
situacin?
Inserta la compra
correctamente en la base de
datos?
Muestra un mensaje
indicando que la operacin
fue exitosa o de lo contrario
que hubo un problema?
Actualiza correctamente el
inventario?
13 Guarda la informacin de la
nueva factura en la base de
datos.
14 Presiona OK en el
mensaje de
confirmacin
15 Presiona botn
Cancelar.
Acciones de algn
actor
E jefe de
# Punto de verificacin
Verificar precondiciones
Estn habilitados cada uno de los
45
departamento o
encargado de soporte
presiona el botn
Modificar.
3
4
6
Presiona OK en el
mensaje de
confirmacin
11 Presiona botn
Cancelar.
5
7
El sistema despliega un
mensaje para confirmar
la modificacin
Valida los datos.
Guarda la informacin
del cliente en la base de
datos.
10
Despliega el datagrid de
Clientes Actuales en el
Sistema actualizado.
Limpia los campos.
12
19. Salida: El sistema muestra un mensaje indicando que la modificacin fue exitosa o de lo
contrario que se present un problema y que lo intente de nuevo ms tarde.
20. Reporte: Se crear un documento que contiene los resultados una vez realizada la prueba.
46