ESPECIFICACION DE REQUISITOS SOFTWARE 1.- Presentación General. Este proyecto tiene por objeto crear un sistema informático para llevar el control de la información asociada en la automatización de los proceso de facturación y control de inventario de la empresa Farmacia ³La Principal´ . 2.-
Clientes. 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 automatización de la información relacionada con la facturación y el control de inventario de Farmacia La Principal , más concretamente lo que se desea es:
4.-
Almacenar y llevar el control de todos los clientes que solicitan crédito. Llevar el control de los proveedores que abastecen a la farmacia. Realizar y generar el cálculo de la facturación de los productos vendidos. Llevar un control de los clientes que compran al contado. Generación de informes actualizados sobre productos, inventario, v entas, clientes, etc.
Funciones del sistema. Ref. #
Función
Categoría Categoría
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
Validar el ingreso del usuario al sistema Ingresar la información de productos en la base de datos Ingresar la información de los proveedores en la base de datos Registrar la información de los clientes al crédito 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 catálogo de productos Consultar datos en el registro de proveedores Eliminar proveedores de artículos Anular factura de venta Registrar la remisión de productos Generar informe de venta diaria Generar catálogo de productos Alertar del estado actual de la existencia mínima 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
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
Plataforma del sistema operativo Facilidad
de uso
Tiempo respuesta
de
(det all e) Uso de ventanas con el logotipo de la farmacia en todas ellas, así como cuadros de diálogo que contengan ayudas. (r est ricción de frontera) El sistema deberá contar con un sistema de protección cuando falle la energía del equipo, que permita guardar todos los cambios hechos en el último momento. (det all e) Se utilizará Windows 2003 Server como sistema servidor con estaciones de trabajo ejecutando ya sea Microsoft Windows XP, Windows Vista o Windows 7. (det all e) Cuadros de diálogo interactivos que contengan ayuda sobre el elemento que se está utilizando. (r est ricción de frontera) Cuando se genere una factura el recibo de venta se debe imprimir en 5 segundos como máximo.
b) Atributos del sistema en las especificaciones de funciones. Ref. #
Función
Cat.
Atributo
R1.20
Imprimir recibo de venta de productos
Evidente
Interfaz usuario
R1.1
Validar el ingreso del usuario al sistema
Evidente
R1.12
Anular factura de venta
Evidente
R1.11
Eliminar proveedores de artículos Consultar datos de los clientes
Evidente
R1.8
R1.9
R1.10
Consultar datos en el catálogo de productos
Consultar datos en el registro de proveedores
Evidente
Evidente
de
Tiempo de respuesta Interfaz de usuario
Tiempo de respuesta Tiempo de respuesta Interfaz de usuario Tiempo de respuesta Interfaz de usuario Tiempo de respuesta Interfaz de usuario Tiempo de respuesta
Detalle y restricciones
Cat.
Vista preliminar que muestre recibo de factura a imprimir segundos como 5 máximo Petición de los datos por 3 veces en caso que fallar al ingresar la contraseña de usuario. Completado los tres intentos la interfaz se terminará 2 segundos como máximo segundos como 2 máximo Cuadro de dialogo con filtro de información para el usuario 5 segundos
Oblig.
Cuadro de dialogo con filtro de información para el usuario 5 segundos
Opc.
Cuadro de dialogo con filtro de información para el usuario 5 segundos
Opc.
Oblig.
Oblig. Oblig. Opc.
Opc.
Opc.
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 sesión en el sistema. Caso de uso: Actores: Propósito: Resumen: Tipo: Referencias cruzadas:
Iniciar sesión 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 aplicación e ingresa los datos del nombre de usuario y l a contraseña. Primario. funciones: R1.1
Curso normal de los eventos: Acción 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 contraseña 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
El sistema valida los datos ingresados por parte del usuario, cotejando la contraseña ingresada con la almacenada en la base de datos. 5.- Se muestra el mensaje de aceptación de los datos o el mensaje de error en caso contrario. 4.-
El vendedor acepta el mensaje presentado, y accede a la aplicación en caso que los datos hayan sido validados de manera satisfactoria, en caso contrario debe reingresar los datos de usuario y contraseña. 6.-
6.2.- Caso de uso: Registrar datos en el maestro de productos. Caso de uso: Actores: Propósito: Resumen: Tipo: Referencias cruzadas:
Registrar datos en el maestro de productos. Vendedor . Ingresar la información correspondiente de un producto en la base de datos. El vendedor al recibir un nuevo producto registra la información general de dicho producto en la base de datos. Primario. funciones: R1.2, R1.9
Curso normal de los eventos: Acción 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
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. 2.-
6.-
El sistema valida los datos ingresados por el usuario. Si el proceso de validación falla, se muestra el mensaje correspondiente al error, caso contrario se confirma la alta del nuevo producto. 5.-
El usuario acepta el mensaje mostrado.
6.3.- Caso de uso: Registrar datos en el maestro de proveedores. Caso de uso: Actores: Propósito: Resumen: Tipo: Referencias cruzadas:
Registrar datos en el maestro de proveedores. Vendedor . Ingresar la información correspondiente de un proveedor en la base de datos. El vendedor registra la información de un nuevo proveedor en la base de datos. Primario. funciones: R1.3, R1.10
Curso normal de los eventos: Acción 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.
6.-
Respuesta del sistema
El sistema valida los datos ingresados por el usuario. Si el proceso de validación falla, se muestra el mensaje correspondiente al error, caso contrario se confirma la alta del nuevo producto. 5.-
El usuario acepta el mensaje mostrado.
6.4.- Caso de uso: Registrar datos en el maestro de clientes. Caso de uso: Actores: Propósito: Resumen: Tipo: Referencias cruzadas:
Registrar datos en el maestro de clientes. Vendedor . Ingresar la información correspondiente de un cliente en la base de datos. El vendedor registra la información de un nuevo cliente en la base de datos. Primario. funciones: R1.4
Curso normal de los eventos:
Acción 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.
6.-
Respuesta del sistema
El sistema valida los datos ingresados por el usuario. Si el proceso de validación falla, se muestra el mensaje correspondiente al error, caso contrario se confirma la alta del nuevo producto. 5.-
El usuario acepta el mensaje mostrado.
6.5.- Caso de uso: Registrar detalle de venta. Caso de uso: Actores: Propósito: Resumen: Tipo: Referencias cruzadas:
Registrar detalle de venta. Vendedor . Ingresar la información correspondiente al detalle de venta de una factura. El vendedor registra la información 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: Acción del actor Cada vez que se debe ingresar un nuevo producto a vender el vendedor establece la información del producto. 1.-
El vendedor en caso de que la búsqueda se haya completado con éxito ingresa la cantidad a vender caso contrario acepta el mensaje de error . 3.-
Respuesta del sistema El sistema busca en la base de datos la información del producto. Si el producto existe muestra la información 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. 2.-
6.6.- Caso de uso: Elaborar factura de productos. Caso de uso: Actores: Propósito: Resumen: Tipo: Referencias cruzadas:
Elaborar factura de productos. Vendedor . Elaborar factura de venta de productos. El vendedor registra la información de la venta de productos. Primario. funciones: R1.5, R1.6, R1.7, R1.9, R1.20, R1.8
Curso normal de los eventos:
1.-
Acción del actor 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 3.- El sistema genera un nuevo número de pantalla. factura. 4.- El sistema establece la fecha de venta. 5.- El vendedor especifica o busca el nombre 6.- En caso de buscar al cliente el sistema del cliente. devuelve los datos del cliente. 7.- El vendedor especifica el(los) productos a 8.- El sistema retorna la información del vender . producto junto con su precio venta. 9.- El vendedor especifica la cantidad a vender . 10.- El sistema calcula el total del monto, el subtotal general, el IVA y total a pagar . 11.- El vendedor acepta la entrada de datos de la nueva factura.
14.- El vendedor decide si imprimir o no el recibo de factura.
12.- El sistema registra en la base de datos la información de la factura. 13.- El sistema pregunta si se desea imprimir el recibo de factura. 15.- En caso de haber dado la orden de impresión de la factura, el sistema genera el recibo de impresión.
6.7.- Caso de uso: Consultar datos de cliente. Caso de uso: Actores: Propósito: Resumen: Tipo: Referencias cruzadas:
Consultar datos de cliente. Vendedor . Buscar información de un cliente en el sistema. El vendedor consulta la información de un cliente en l a base de datos. Secundario. funciones: R1.8
Curso normal de los eventos: Acción del actor 1.- El vendedor solicita la información de un cliente.
Respuesta del sistema 2.- El sistema retorna la información del cliente, mostrando todos los datos requeridos del cliente.
6.8.- Caso de uso: Consultar datos de productos. Caso de uso: Actores: Propósito: Resumen: Tipo: Referencias cruzadas:
Consultar datos de productos. Vendedor . Buscar información de un producto en el sistema. El vendedor consulta la información de un producto en la base de datos. Secundario. funciones: R1.9
Curso normal de los eventos: Acción del actor 1.- El vendedor solicita la información de un producto.
Respuesta del sistema 2.- El sistema retorna la información del producto, mostrando todos los datos requeridos del producto.
6.9.- Caso de uso: Consultar datos de proveedor. Caso de uso: Actores: Propósito: Resumen: Tipo: Referencias cruzadas:
Consultar datos de proveedor . Vendedor . Buscar información de un proveedor en el sistema. El vendedor consulta la información de un proveedor en la base de datos. Secundario. funciones: R1.10
Curso normal de los eventos: Acción del actor 1.- El vendedor solicita la información de un proveedor .
Respuesta del sistema El sistema retorna la información del proveedor, mostrando todos los datos requeridos del proveedor . 2.-
6.10.- Caso de uso: Eliminar proveedor. Caso de uso: Actores: Propósito: Resumen: Tipo: Referencias cruzadas:
Eliminar proveedor . Vendedor . Eliminar la información de un proveedor en el sistema. El vendedor elimina la información de un proveedor en la base de datos. Secundario. funciones: R1.11
Curso normal de los eventos: Acción del actor 1.- El vendedor eliminar la información de un proveedor .
Respuesta del sistema El sistema elimina toda la información del proveedor de la base de datos actualizando la información de todo el sistema. 2.-
6.11.- Caso de uso: Anular factura de venta. Caso de uso: Actores: Propósito: Resumen:
Tipo: Referencias cruzadas:
Anular factura de venta. Vendedor . Anular la emisión de una factura . El vendedor anula la información de una factura en la base de datos, revirtiéndose todos los valores tanto en inventario como en el subsistema de venta. Primario. funciones: R1.12
Curso normal de los eventos: Acción del actor 1.- El vendedor a petición del usuario y previa autorización del administrador anula la factura de venta.
Respuesta del sistema
2.-
El vendedor especifica el número de factura.
El vendedor acepta la anulación de la factura. 6.- El vendedor acepta o cancela la operación. 4.-
El sistema muestra la información de la factura. 5.- El sistema muestra un mensaje para confirmar la anulación de la factura. 7.- El sistema en caso de una confirmación de la anulación de la factura, revierta los datos aplicados por la factura. 3.-
6.12.- Caso de uso: Registrar remisión de producto. Caso de uso: Actores: Propósito: Resumen: Tipo: Referencias cruzadas:
Registrar remisión de productos. Vendedor . Registrar el traslado de producto de un centro de costo a otro. El vendedor traslada la información de un producto de un centro de costo hacia otro centro de c osto. Secundario. funciones: R1.13
Curso normal de los eventos: Acción del actor 1.- El vendedor remite la información de un producto de un centro de costo a otro centro de costo. 2.- El vendedor ingresa la información de cada producto a remitir . 3.- El vendedor acepta la remisión del (los) producto(s).
Respuesta del sistema 2.- El sistema solicita la información del producto(s) a remitir .
El sistema registra los datos de la remisión en la base de datos, actualizando el inventario de productos. 4.-
6.13.- Caso de uso: Generar informe de venta diaria. Caso de uso: Actores: Propósito: 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 día. Secundario. funciones: R1.14
Curso normal de los eventos: Acción del actor 1.- El vendedor solicita el reporte impreso de la venta realizada en el día.
Respuesta del sistema 2.- El sistema genera e imprime el reporte en papel físico la información de la venta diaria de productos.
6.14.- Caso de uso: Generar catálogo de productos. Caso de uso: Actores:
Generar catálogo de productos. Vendedor .
Propósito: Resumen: Tipo: Referencias cruzadas:
Generar el informe impreso del catálogo de productos en inventario. El vendedor solicita el informe del catálogo de productos. Secundario. funciones: R1.15
Curso normal de los eventos: Acción del actor 1.- El vendedor solicita el reporte impreso del catálogo de productos.
Respuesta del sistema El sistema genera e imprime el reporte en papel físico la información del catálogo de productos. 2.-
6.15.- Caso de uso: Alertar existencia mínima de productos. Caso de uso: Actores: Propósito: Resumen: Tipo: Referencias cruzadas:
Alertar existencia mínima de productos. Sistema. Mostrar mensaje de advertencia de existencia mínima de productos. Alertar de la existencia mínima de productos en el inventario Secundario. funciones: R1.16
Curso normal de los eventos: Acción del actor
2.-
Respuesta del sistema 1.- El sistema muestra el mensaje de alerta de la existencia mínima de productos.
El vendedor acepta el mensaje mostrado.
6.16.- Caso de uso: Generar informe de clientes morosos. Caso de uso: Actores: Propósito: 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: Acción del actor 1.- El vendedor solicita el informe de los clientes morosos.
Respuesta del sistema El sistema genera e imprime el reporte en papel físico de los clientes morosos. 2.-
Además se presenta el diagrama de secuencia para la elaboración de una factura. El diagrama es el siguiente:
Fig. 3.
Diagrama de secuencia para la elaboración de una factura.
NOTA: N o se defini eron en
cad a uno de los mensaj es los parámet ros, est o no significa que no deben de definír sel e en modelos posterior es para d ar mayor niv el de det all e. 8.-
Contratos.
A continuación 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 número de fact ura para la venta de productos. Sistema. funciones: R1.6, R1.7, R1.8, R1.9, R1.20 Ninguna. Ninguna. Se crea un nuevo número de factura único.
8.2.- Contrato para generar un número de factura. Nombre: Responsabilidades: Tipo: Referencias cruzadas: Excepciones: Precondiciones: Poscondiciones:
iniciar Factura(). Generar un nuevo número de f actura 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 búsqueda de la información de un cliente. Sistema. funciones: R1.8 Si no hay información de cliente, avisar a través de un mensaje. Existe información de clientes. Se crea una nueva instancia de la entidad cliente. Se retorna la información pertinente a un cliente.