Está en la página 1de 12

ESPECIFICACION DE REQUISITOS SOFTWARE 1.- Presentacin General.

Este proyecto tiene por objeto crear un sistema informtico para llevar el control de la informacin asociada en la automatizacin de los proceso de facturacin y control de inventario de la empresa Farmacia La Principal.

2.- Clientes.
Farmacia La Principal de la ciudad de Corinto, municipio de Corinto, departamento de Chinandega, Nicaragua.

3.- Metas.
La meta general de este software es realizar de forma eficiente la automatizacin de la informacin relacionada con la facturacin y el control de inventario de Farmacia La Principal, ms concretamente lo que se desea es:      Almacenar y llevar el control de todos los clientes que solicitan crdito. Llevar el control de los proveedores que abastecen a la farmacia. Realizar y generar el clculo de la facturacin de los productos vendidos. Llevar un control de los clientes que compran al contado. Generacin de informes actualizados sobre productos, inventario, ventas, clientes, etc.

4.- Funciones del sistema. Ref. #


R1.1 R1.2 R1.3 R1.4 R1.5 R1.6 R1.7 R1.8 R1.9 R1.10 R1.11 R1.12 R1.13 R1.14 R1.15 R1.16 R1.17 R1.18 R1.19 R1.20

Funcin
Validar el ingreso del usuario al sistema Ingresar la informacin de productos en la base de datos Ingresar la informacin de los proveedores en la base de datos Registrar la informacin de los clientes al crdito Registrar el detalle de la venta de productos Elaborar factura por la venta de productos Calcular el subtotal, IVA y el total a pagar por factura emitida Consultar datos de los clientes Consultar datos en el catlogo de productos Consultar datos en el registro de proveedores Eliminar proveedores de artculos Anular factura de venta Registrar la remisin de productos Generar informe de venta diaria Generar catlogo de productos Alertar del estado actual de la existencia mnima de productos Decrementar existencia de productos en inventario Incrementar existencia de productos en inventario Generar informe de clientes morosos Imprimir recibo de venta de productos

Categora
Evidente Evidente Evidente Evidente Evidente Evidente Superflua Evidente Evidente Evidente Evidente Evidente Evidente Evidente Evidente Oculta Oculta Oculta Evidente Evidente

5.- Atributos del sistema en las especificaciones de funciones. a) Atributos propios del sistema. Atributo Detalle y restricciones de frontera
Interfaz de usuario Tolerancia a fallos (detalle) Uso de ventanas con el logotipo de la farmacia en todas ellas, as como cuadros de dilogo que contengan ayudas. (restriccin de frontera) El sistema deber contar con un sistema de proteccin cuando falle la energa del equipo, que permita guardar todos los cambios hechos en el ltimo momento. (detalle) Se utilizar Windows 2003 Server como sistema servidor con estaciones de trabajo ejecutando ya sea Microsoft Windows XP, Windows Vista o Windows 7. (detalle) Cuadros de dilogo interactivos que contengan ayuda sobre el elemento que se est utilizando. (restriccin de frontera) Cuando se genere una factura el recibo de venta se debe imprimir en 5 segundos como mximo.

Plataforma del sistema operativo Facilidad de uso Tiempo respuesta de

b) Atributos del sistema en las especificaciones de funciones. Ref. #


R1.20

Funcin
Imprimir recibo de venta de productos

Cat.
Evidente

Atributo
Interfaz usuario de

Detalle y restricciones
Vista preliminar que muestre recibo de factura a imprimir 5 segundos como mximo Peticin de los datos por 3 veces en caso que fallar al ingresar la contrasea de usuario. Completado los tres intentos la interfaz se terminar 2 segundos como mximo 2 segundos como mximo Cuadro de dialogo con filtro de informacin para el usuario 5 segundos Cuadro de dialogo con filtro de informacin para el usuario 5 segundos Cuadro de dialogo con filtro de informacin para el usuario 5 segundos

Cat.
Oblig.

R1.1

Validar el ingreso del usuario al sistema

Evidente

Tiempo de respuesta Interfaz de usuario

Oblig.

R1.12 R1.11 R1.8

Anular factura de venta Eliminar proveedores de artculos Consultar datos de los clientes

Evidente Evidente Evidente

Tiempo de respuesta Tiempo de respuesta Interfaz de usuario Tiempo de respuesta Interfaz de usuario Tiempo de respuesta Interfaz de usuario Tiempo de respuesta

Oblig. Oblig. Opc.

Opc. Opc.

R1.9

Consultar datos en el catlogo de productos

Evidente

Opc. Opc.

R1.10

Consultar datos en el registro de proveedores

Opc.

6.- Casos de usos.


Se especifican los casos de uso, utilizando el formato expandido de la Farmacia La Principal. 6.1.- Caso de uso: Iniciar sesin en el sistema. Caso de uso: Actores: Propsito: Resumen: Tipo: Referencias cruzadas: Iniciar sesin en el sistema. Vendedor. Validarse ante el sistema para poder acceder a las funcionalidades del mismo. El vendedor accede a la interfaz de inicio de la aplicacin e ingresa los datos del nombre de usuario y la contrasea. Primario. funciones: R1.1 Curso normal de los eventos: Accin del actor 1.- El caso de uso comienza cuando el actor inicia la interfaz para ingresar al sistema. 2.- El vendedor ingresa en los campos usuario y contrasea lo datos correspondiente a su nombre de usuario ante el sistema y su clave de acceso respectivamente. 3.- El vendedor acepta el ingreso de los datos. Respuesta del sistema

4.- El sistema valida los datos ingresados por parte del usuario, cotejando la contrasea ingresada con la almacenada en la base de datos. 5.- Se muestra el mensaje de aceptacin de los datos o el mensaje de error en caso contrario.

6.- El vendedor acepta el mensaje presentado, y accede a la aplicacin en caso que los datos hayan sido validados de manera satisfactoria, en caso contrario debe reingresar los datos de usuario y contrasea. 6.2.- Caso de uso: Registrar datos en el maestro de productos. Caso de uso: Actores: Propsito: Resumen: Tipo: Referencias cruzadas: Registrar datos en el maestro de productos. Vendedor. Ingresar la informacin correspondiente de un producto en la base de datos. El vendedor al recibir un nuevo producto registra la informacin general de dicho producto en la base de datos. Primario. funciones: R1.2, R1.9

Curso normal de los eventos: Accin del actor 1.- Cada vez que se recibe un nuevo producto el vendedor apunta los datos generales del mismo para proceder a su alta en el sistema. Respuesta del sistema

2.- El vendedor accede a la interfaz del maestro de productos. 3.- El vendedor registra los datos del nuevo producto. 4.- El vendedor acepta la entrada de datos al sistema.

5.- El sistema valida los datos ingresados por el usuario. Si el proceso de validacin falla, se muestra el mensaje correspondiente al error, caso contrario se confirma la alta del nuevo producto.

6.- El usuario acepta el mensaje mostrado.

6.3.- Caso de uso: Registrar datos en el maestro de proveedores. Caso de uso: Actores: Propsito: Resumen: Tipo: Referencias cruzadas: Registrar datos en el maestro de proveedores. Vendedor. Ingresar la informacin correspondiente de un proveedor en la base de datos. El vendedor registra la informacin de un nuevo proveedor en la base de datos. Primario. funciones: R1.3, R1.10

Curso normal de los eventos: Accin del actor 1.- Cada vez que se debe ingresar un nuevo proveedor el vendedor apunta los datos generales del mismo para proceder a su alta en el sistema. 2.- El vendedor accede a la interfaz del maestro de proveedores. 3.- El vendedor registra los datos del nuevo proveedor. 4.- El vendedor acepta la entrada de datos al sistema. Respuesta del sistema

5.- El sistema valida los datos ingresados por el usuario. Si el proceso de validacin falla, se muestra el mensaje correspondiente al error, caso contrario se confirma la alta del nuevo producto.

6.- El usuario acepta el mensaje mostrado.

6.4.- Caso de uso: Registrar datos en el maestro de clientes. Caso de uso: Actores: Propsito: Resumen: Tipo: Referencias cruzadas: Registrar datos en el maestro de clientes. Vendedor. Ingresar la informacin correspondiente de un cliente en la base de datos. El vendedor registra la informacin de un nuevo cliente en la base de datos. Primario. funciones: R1.4

Curso normal de los eventos:

Accin del actor 1.- Cada vez que se debe ingresar un nuevo cliente el vendedor apunta los datos generales del mismo para proceder a su alta en el sistema. 2.- El vendedor accede a la interfaz del maestro de clientes. 3.- El vendedor registra los datos del nuevo cliente. 4.- El vendedor acepta la entrada de datos al sistema.

Respuesta del sistema

5.- El sistema valida los datos ingresados por el usuario. Si el proceso de validacin falla, se muestra el mensaje correspondiente al error, caso contrario se confirma la alta del nuevo producto.

6.- El usuario acepta el mensaje mostrado.

6.5.- Caso de uso: Registrar detalle de venta. Caso de uso: Actores: Propsito: Resumen: Tipo: Referencias cruzadas: Registrar detalle de venta. Vendedor. Ingresar la informacin correspondiente al detalle de venta de una factura. El vendedor registra la informacin de la venta de un producto de la farmacia. Primario. funciones: R1.5, R1.9, R1.6, R1.7, R1.17, R1.20 Curso normal de los eventos: Accin del actor 1.- Cada vez que se debe ingresar un nuevo producto a vender el vendedor establece la informacin del producto. 3.- El vendedor en caso de que la bsqueda se haya completado con xito ingresa la cantidad a vender caso contrario acepta el mensaje de error. Respuesta del sistema 2.- El sistema busca en la base de datos la informacin del producto. Si el producto existe muestra la informacin del producto, caso contrario muestra mensaje de error. 4.- El sistema calcula el monto de la venta, el subtotal general, el IVA y el total a pagar y decrementa la cantidad vendida del producto en inventario.

6.6.- Caso de uso: Elaborar factura de productos. Caso de uso: Actores: Propsito: Resumen: Tipo: Referencias cruzadas: Elaborar factura de productos. Vendedor. Elaborar factura de venta de productos. El vendedor registra la informacin de la venta de productos. Primario. funciones: R1.5, R1.6, R1.7, R1.9, R1.20, R1.8 Curso normal de los eventos: Accin del actor 1.- Cada vez que se debe elaborar una nueva Respuesta del sistema

factura de venta de productos el vendedor accede a la interfaz correspondiente. 2.- El vendedor inicia una nueva factura en la pantalla. 5.- El vendedor especifica o busca el nombre del cliente. 7.- El vendedor especifica el(los) productos a vender. 9.- El vendedor especifica la cantidad a vender. 11.- El vendedor acepta la entrada de datos de la nueva factura. 14.- El vendedor decide si imprimir o no el recibo de factura.

3.- El sistema genera un nuevo nmero de factura. 4.- El sistema establece la fecha de venta. 6.- En caso de buscar al cliente el sistema devuelve los datos del cliente. 8.- El sistema retorna la informacin del producto junto con su precio venta. 10.- El sistema calcula el total del monto, el subtotal general, el IVA y total a pagar. 12.- El sistema registra en la base de datos la informacin de la factura. 13.- El sistema pregunta si se desea imprimir el recibo de factura. 15.- En caso de haber dado la orden de impresin de la factura, el sistema genera el recibo de impresin.

6.7.- Caso de uso: Consultar datos de cliente. Caso de uso: Actores: Propsito: Resumen: Tipo: Referencias cruzadas: Consultar datos de cliente. Vendedor. Buscar informacin de un cliente en el sistema. El vendedor consulta la informacin de un cliente en la base de datos. Secundario. funciones: R1.8 Curso normal de los eventos: Accin del actor 1.- El vendedor solicita la informacin de un cliente. Respuesta del sistema 2.- El sistema retorna la informacin del cliente, mostrando todos los datos requeridos del cliente.

6.8.- Caso de uso: Consultar datos de productos. Caso de uso: Actores: Propsito: Resumen: Tipo: Referencias cruzadas: Consultar datos de productos. Vendedor. Buscar informacin de un producto en el sistema. El vendedor consulta la informacin de un producto en la base de datos. Secundario. funciones: R1.9 Curso normal de los eventos: Accin del actor 1.- El vendedor solicita la informacin de un producto. Respuesta del sistema 2.- El sistema retorna la informacin del producto, mostrando todos los datos requeridos del producto.

6.9.- Caso de uso: Consultar datos de proveedor. Caso de uso: Actores: Propsito: Resumen: Tipo: Referencias cruzadas: Consultar datos de proveedor. Vendedor. Buscar informacin de un proveedor en el sistema. El vendedor consulta la informacin de un proveedor en la base de datos. Secundario. funciones: R1.10

Curso normal de los eventos: Accin del actor 1.- El vendedor solicita la informacin de un proveedor. Respuesta del sistema 2.- El sistema retorna la informacin del proveedor, mostrando todos los datos requeridos del proveedor.

6.10.- Caso de uso: Eliminar proveedor. Caso de uso: Actores: Propsito: Resumen: Tipo: Referencias cruzadas: Eliminar proveedor. Vendedor. Eliminar la informacin de un proveedor en el sistema. El vendedor elimina la informacin de un proveedor en la base de datos. Secundario. funciones: R1.11 Curso normal de los eventos: Accin del actor 1.- El vendedor eliminar la informacin de un proveedor. Respuesta del sistema 2.- El sistema elimina toda la informacin del proveedor de la base de datos actualizando la informacin de todo el sistema.

6.11.- Caso de uso: Anular factura de venta. Caso de uso: Actores: Propsito: Resumen: Tipo: Referencias cruzadas: Anular factura de venta. Vendedor. Anular la emisin de una factura. El vendedor anula la informacin de una factura en la base de datos, revirtindose todos los valores tanto en inventario como en el subsistema de venta. Primario. funciones: R1.12 Curso normal de los eventos: Accin del actor 1.- El vendedor a peticin del usuario y previa autorizacin del administrador anula la factura de venta. Respuesta del sistema

2.- El vendedor especifica el nmero de factura. 4.- El vendedor acepta la anulacin de la factura. 6.- El vendedor acepta o cancela la operacin.

3.- El sistema muestra la informacin de la factura. 5.- El sistema muestra un mensaje para confirmar la anulacin de la factura. 7.- El sistema en caso de una confirmacin de la anulacin de la factura, revierta los datos aplicados por la factura.

6.12.- Caso de uso: Registrar remisin de producto. Caso de uso: Actores: Propsito: Resumen: Tipo: Referencias cruzadas: Registrar remisin de productos. Vendedor. Registrar el traslado de producto de un centro de costo a otro. El vendedor traslada la informacin de un producto de un centro de costo hacia otro centro de costo. Secundario. funciones: R1.13 Curso normal de los eventos: Accin del actor 1.- El vendedor remite la informacin de un producto de un centro de costo a otro centro de costo. 2.- El vendedor ingresa la informacin de cada producto a remitir. 3.- El vendedor acepta la remisin del (los) producto(s). Respuesta del sistema 2.- El sistema solicita la informacin del producto(s) a remitir.

4.- El sistema registra los datos de la remisin en la base de datos, actualizando el inventario de productos.

6.13.- Caso de uso: Generar informe de venta diaria. Caso de uso: Actores: Propsito: Resumen: Tipo: Referencias cruzadas: Generar informe de venta diaria. Vendedor. Generar el informe impreso de la venta diaria de producto. El vendedor solicita el informe de la venta de productos realizada en el da. Secundario. funciones: R1.14

Curso normal de los eventos: Accin del actor 1.- El vendedor solicita el reporte impreso de la venta realizada en el da. Respuesta del sistema 2.- El sistema genera e imprime el reporte en papel fsico la informacin de la venta diaria de productos.

6.14.- Caso de uso: Generar catlogo de productos. Caso de uso: Actores: Generar catlogo de productos. Vendedor.

Propsito: Resumen: Tipo: Referencias cruzadas:

Generar el informe impreso del catlogo de productos en inventario. El vendedor solicita el informe del catlogo de productos. Secundario. funciones: R1.15

Curso normal de los eventos: Accin del actor 1.- El vendedor solicita el reporte impreso del catlogo de productos. Respuesta del sistema 2.- El sistema genera e imprime el reporte en papel fsico la informacin del catlogo de productos.

6.15.- Caso de uso: Alertar existencia mnima de productos. Caso de uso: Actores: Propsito: Resumen: Tipo: Referencias cruzadas: Alertar existencia mnima de productos. Sistema. Mostrar mensaje de advertencia de existencia mnima de productos. Alertar de la existencia mnima de productos en el inventario Secundario. funciones: R1.16

Curso normal de los eventos: Accin del actor 2.- El vendedor acepta el mensaje mostrado. Respuesta del sistema 1.- El sistema muestra el mensaje de alerta de la existencia mnima de productos.

6.16.- Caso de uso: Generar informe de clientes morosos. Caso de uso: Actores: Propsito: Resumen: Tipo: Referencias cruzadas: Generar informe de clientes morosos. Vendedor. Imprimir el reporte de clientes morosos. Generar el informe de clientes morosos y que tienen saldos no cancelados. Secundario. funciones: R1.19

Curso normal de los eventos: Accin del actor 1.- El vendedor solicita el informe de los clientes morosos. Respuesta del sistema 2.- El sistema genera e imprime el reporte en papel fsico de los clientes morosos.

7.- Modelo Conceptual.


A continuacin se muestra el modelo conceptual del sistema de la Farmacia La Principal.
Facturas (from Gestin de Venta) numero : string cliente : string tipo_factura : string fecha_venta : DateTime subtotal : double 1..n iva : double descuento : double 1..n total_pagar : double observacion : string GuardarFactura() CalcularSubotal() CalcularIVA() CalcularDescuento() CalcularTotalPagar()

Vendedores (from Gestin de Venta) codigo : string nombres : string apellidos : string 1 e_mail : string activo : bool

Productos (from Gestin de Inventario) codigo : string descripcion : string 1 precio : double tipo_producto : string Guardar() Modificar() Eliminar() ModicarPrecio() DetalleVenta (from Gestin de Venta) cantidad_venta : int monto : double GuardarDetalleVenta()

Figura 1. Modelo Conceptual Subsistema de Ventas.


Familias (from Gestin de Inventario) Periodos (from Gestin de Inventario) codigo : string descripcion : string 1 1..n Inventarios (from Gestin de Inventario) numero : string fecha_apertura : DateT ime fecha_cierre : DateTime estado : string GuardarInventario() ModificarInventario() CambiarEstado() 1..n codigo_famila : string descripcion : string ic : string it : string Agrupaciones (from Gestin de Inventario) 1 1..n codigo agrupacion UnidadesMedida (from Gestin de Inventario) codigo : string descripcion_corta : string descripcion : string 1 Articulo_Inventario (from Gestin de Inventario) cantidad_apertura : int entrada : int salida : int cantidad_cierre : int cantidad_fisica : int 1 Productos (from Gestin de Inventario) codigo : string descripcion : string precio : double tipo_producto : string Guardar() Modificar() Eliminar() ModicarPrecio()

1..n

1..n Servicios (from Gestin de Inventario)

Articulos (from Gestin de Inventario) existencia_actual : int existencia_minima : int

Articulo_Requisa (from Gestin de Inventario) item : int cantidad_requerida : int monto : double

1..n DecremetarExistencia() IncrementarExistencia() 1 1..n 1..n 0..n Articulo_OC (from Gestin de Inventario)

1 Empleados (from Gestin de Inventario) codigo : string cedula : string nombres : string apellidos : string sexo : string fecha_nacimiento : DateTime direccion : string estado_civil : string telefono : string e_mail : string activo : bool 1..n

Requisas (from Gestin de Inventario) requisa_numero : string tipo_requisa : string fecha : DateTime total : double comentario : string estado_requisa : string

item : int cantidad : int monto : double

1 OrdenesCompra (from Gestin de Inventario) 1 numero_oc fecha subtotal iva descuento total estado GuardarOrdenCompra() ModificarOrdenCompra() CambiarEstado() ConsultarOrdenCompra()

Proveedores (from Gestin de Inventario) codigo : string nombre : string alias : string contacto : string cargo_contacto : string direccion : string e_mail : string telefono : string fax : string codigo_postal : int poblacion : string provincia : string 1 pais : string Guardar() Modificar() Eliminar()

1..n

1 1..n 1 Estados (from Gestin de Inventario) numero_estado descripcion

Figura 2. Modelo Conceptual Subsistema de Inventario.

Adems se presenta el diagrama de secuencia para la elaboracin de una factura. El diagrama es el siguiente:

Fig. 3. Diagrama de secuencia para la elaboracin de una factura. NOTA: No se definieron en cada uno de los mensajes los parmetros, esto no significa que no deben de definrsele en modelos posteriores para dar mayor nivel de detalle.

8.- Contratos.
A continuacin se especifican los contratos que se emplean en el diagrama de secuencia anterior. 8.1.- Contrato para iniciar una factura. Nombre: Responsabilidades: Tipo: Referencias cruzadas: Excepciones: Precondiciones: Poscondiciones: generarNumeroFactura(). Crear un nuevo nmero de factura para la venta de productos. Sistema. funciones: R1.6, R1.7, R1.8, R1.9, R1.20 Ninguna. Ninguna.  Se crea un nuevo nmero de factura nico.

8.2.- Contrato para generar un nmero de factura. Nombre: Responsabilidades: Tipo: Referencias cruzadas: Excepciones: Precondiciones: Poscondiciones: iniciarFactura(). Generar un nuevo nmero de factura para la venta. Sistema. funciones: R1.6, R1.7, R1.8, R1.9, R1.20 Ninguna. Ninguna.  Se crea una nueva instancia de la entidad Facturas.

8.3.- Contrato para buscar un cliente. Nombre: Responsabilidades: Tipo: Referencias cruzadas: Excepciones: Precondiciones: Poscondiciones: buscarCliente(). Iniciar la bsqueda de la informacin de un cliente. Sistema. funciones: R1.8 Si no hay informacin de cliente, avisar a travs de un mensaje. Existe informacin de clientes.  Se crea una nueva instancia de la entidad cliente.  Se retorna la informacin pertinente a un cliente.