Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
171 changes: 163 additions & 8 deletions 3Identificacionrequerimientos.tex
Original file line number Diff line number Diff line change
@@ -1,8 +1,163 @@
\chapter{Identificación de Requerimientos}
\section{Objetivo General}
Objetivos especificos.
\section{Requerimientos Funcionales}
id,nombre,descripción,prioridad.
\section{Requerimientos de Plataforma}
\section{Interacción con el Usuario}
\section{Propiedades del software}
\chapter{Identificación de requerimientos}
\label{cap:reqUsr}

En este capítulo se modela el alcance del sistema.


%---------------------------------------------------------
\section{Objetivo General Del Proyecto}
Llevar el control completo de la farmacia, mediante un único sistema conectado y utilizado por todos los empleados en las diferentes sucursales de la franquicia.
\section{Objetivos Específicos}
\begin{itemize}
\item Resolver los problemas que surjan en el entendimiento del negocio.

\item Reducir los problemas de inventario con base a las salidas y entradas de medicamento.

\item Tener una visión en general sobre el ámbito laboral de las múltiples sucursales como de los empleados que operan en ellas.

\end{itemize}

\section{Requerimientos del Usuario}
\begin{itemize}

\item RU1 Registrar Medicamentos\\
Descripción: El dueño necesita registrar los nuevos medicamentos que se venderán en la farmacia.\\
\item RU2 Registrar entregas de proveedores\\
Descripción: El cajero necesita registrar los medicamentos que llegarón de un proveedor, de la misma forma necesita información del proveedor que hace la entrega ,requiere la hora y fecha en que se realizó la entrega, y un comprobante de parte del proveedor.\\

\item RU3 Consultar Medicamento por cada Sucursal\\
Descripción:El usuario necesita conocer el medicamento que se maneja así como la cantidad de cada uno de estos medicamentos por cada una de las sucursales.\\

\item RU4 Registrar Empleados\\
Descripción:El dueño necesita tener una forma para registrar la información de los nuevo trabajadores que laboran en la franquicia de la farmacia, de la misma manera necesita asignarles sucursal para laborar; en caso de que sea supervisor asignarle un máximo de 3 y un mínimo de 1.\\

\item RU5 Control de la caja.
Descripción: El dueño necesita que alguien monitorice el dinero con el que se empieza cada turno (matutino, vespertino, nocturno) así como al final de estos.\\

\item RU6 Realizar una Venta\\
Descripción: El cajero requiere registrar nombre,costo y unidades de cada medicamento en la venta.\\

\item RU7 Registrar Sucursal\\
Descripción: El dueño requiere registrar información de cada nueva sucursal( dirección,el nombre y teléfono).\\

\item RU8 Consultar Ventas por día\\
Descripción: El supervisor necesita conocer las ventas que se realizaron durante la hora de atención de la farmacia(9:00am A 12:00pm) para tener una visión de las ventas.\\

\item RU9 Registrar Proveedor
Descripción: El dueño Necesita Registrar a los proveedores que le surten de medicamentos.\\

\item RU10 Consultar Proveedores
Descripción: El dueño necesita consultar a los proveedores para hacer algún pedido,
o en su defecto aclarar algún inconveniente.\\

\item RU11 Recibir Medicamentos\\
Descripción: El cajero necesita modificar las existencias de los medicamentos que se venderán en la farmacia conforme a entregas de los proveedores.\\
\end{itemize}
\newpage
\section{Requerimientos funcionales}
RF1 Registrar Medicamento\\
Descripcion: El sistema Guarda la información de forma estructurada de los campos de importancia de un medicamento, que son: su nombre, ingredientes Activos con su dosificación, Precios de compra y venta, caducidad, presentación, vía de administración, laboratorio,lote,advertencias y existencias.\\
Prioridad: MA\\
RU:RU1.\\
\\
RF2 Registrar Entregas
Descripcion: El sistema guarda la información de las entregas realizadas por el proveedor tales como fecha, hora, nombre del proveedor, y todos los campos mencionados en la entidad ``Ingreso" y también en la entidad ``Lote" En la Sección ``Modelo del dominio del problema" en el Capitulo anterior.\\
Prioridad:A\\
RU:RU2.\\
\\
RF3 Registrar Clientes\\
Descripcion:El Sistema Guarda información de un cliente, los campos que Guarda del Cliente están Especificados en la entidad ``Cliente" En la Sección ``Modelo del dominio del problema" en el Capitulo anterior.\\
Prioridad:M\\
RU:RU3\\
\\
RF4 Registrar Empleados\\
Descripcion: El sistema guarda la información de un empleado, este Empleado puede ser un Cajero o un Supervisor, la información que guarda de cada uno de estos se encuentra Especificada en las Entidades ``Cajero" y ``Supervisor" En la Sección ``Modelo del dominio del problema" en el Capitulo anterior.\\
Prioridad:A\\
RU:RU4\\
\\
RF5 Abrir Caja\\
Descripcion:El sistema Permite Que el usuario pueda Abrir la Caja la cual contara con 1500\$ como base para operar de forma adecuada.\\
\\
Prioridad:A\\
RU:RU5
\\
RF6 Cerrar caja\\
Descripcion: El sistema va a calcular las ganancias del turno que se cerrará y se marcará que en caja solo quedán 1500\$ y una vez realizado esto permite cerrar la caja.\\
Prioridad:A\\
RU:RU5\\
\\
RF7\\
Nombre: Realizar Una Venta\\
Descripcion:El sistema cuando se realiza una venta Guarda todos los datos especificados en la entidad ``Venta" y la entidad ``detalle Venta" En la Sección ``Modelo del dominio del problema" en el Capitulo anterior, Aparte en el mismo proceso reduce las existencias del medicamento que se vendió e imprime un comprobante con la información de ``Venta" junto con el nombre de los medicamentos comprados, la cantidad adquirida y su precio desde una impresora.\\
Prioridad:MA\\
RU:RU6\\
\\
RF8 Consultar Medicamento Local\\
Descripcion: El sistema Mostrará una tabla con los medicamentos que se tienen en la sucursal y datos esenciales como su nombre, precio, Existencias y proporciona al usuario un botón para que pueda visualizar la demás información del medicamento.\\
Prioridad:M\\
RU:RU7\\
\\
RF9 Registrar Sucursal\\
Descripcion: El sistema Guarda la información de una sucursal la cual se especifica en la entidad ``Sucursal" En la Sección ``Modelo del dominio del problema" en el Capitulo anterior. \
Prioridad:A\\\
RU:RU8\\
\\
RF 9 Consultar Ventas Por día\\
Descripcion: Genera una reporte en formato .pdf con los productos vendidos, su cantidad y precio y con los ingresos totales de la sucursal.\\
Prioridad: MA\\
RU:RU9\\
\\
RF13 Registrar Proveedor
Descripcion: El sistema guarda la Información del proveedor La Cual se especifica en la entidad ``Proveedor" En la Sección ``Modelo del dominio del problema" en el Capitulo anterior.\\
Prioridad: A\\
RU:RU10\\
\\
RF14 Consultar Proveedor\\
Descripcion: El sistema muestra una tabla que enlista a los proveedores que están registrados en el sistema junto con sus datos que son nombre del proveedor, email, teléfono, RFC y estado.
Prioridad: M\\
RU:RU11\\
\newpage

%---------------------------------------------------------
\section{Especificación de plataforma}

\begin{description}

\item[Tipo de sistema:] Web.
\item[Software requerido:]Apache, Maria-DB,google-chrome,firefox,edge.
\item[OS:] Arch Linux x86\_64.
\item[Kernel Release:] 4.14.47-1-MANJARO.
\item[RAM:] 2006 MB / 3835 MB
\item[Processor Type:] Intel(R) Celeron(R) CPU B830 @ 1.80GHz.
\item[servicios:] servicios del servidor de base de datos 10.1.33-MariaDB MariaDB Server.\\También se Ocupan servicios del serve API Apache 2.0 Handler
Con la Version de Apache: Apache/2.4.33 (Unix) PHP/7.2.6.
\item[Mysql Support:] mysqlnd 5.0.12-dev - 20150407.
\item[Hosting:]Se Compra un servidor dedicado con el proveedor ``Go Daddy".
Se compra un servidor dedicado, para que se pueda dar soporte a todos los empleados en todas las sucursales, tal vez al principio se tendrá espacio y servidor de sobra, pero de esta forma aumenta la productividad y se quitan los riesgos de tráfico en el servidor.
\item[servidor Hosting:]4 núcleos de CPU @ 3.1 GHz
Memoria de 4 GB
1 TB de almacenamiento (RAID-1)\^
Ancho de banda sin medición(El proveedor no limita el ancho de banda)
3 IP dedicadas
Certificado SSL gratis durante 1 año.
\item[Dominio:] Se Compra el dominio ``www.Farmacias.francs.com"\\ con el mismo proveedor a un precio muy razonable con contrato de un año al igual que el servicio de hosting.
\item[Seguridad web:]El mismo proveedor de hosting ofrece seguridad SSL
con las siguientes Características:Asegura un sitio web
Sólido cifrado SHA2 y encriptación de 2048 bits\\
Disponible en Certificados SSL DV, OV y EV.\\
El SSL EV hace que la barra del navegador se ponga verde
Incrementa el posicionamiento de tu sitio en Google.\\
Marca confiable McAfee SECURE.\\
\end{description}
\begin{figure}[htbp!]
\begin{center}
\fbox{\includegraphics[width=18cm, height=20cm]{images/arquitectura}}
\caption{Arquitectura del sistema.}
\label{fig:arquitectura}
\end{center}
\end{figure}

En la figura~\ref{fig:arquitectura} se describe la estructura del sistema, en ella se detallan los servicios de base de datos que se necesitan, las conexiones al servidor apache, así como las especificaciones que necesita el CPU de la sucursal en la que se monta el sistema de la farmacia.



80 changes: 80 additions & 0 deletions cu/cu7.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
\begin{UseCase}{CU7}{Registrar Venta Cliente.}{
El cajero debe tener una manera fácil de realizar una venta, la venta se realizará a un cliente registrado utilizando la pantalla de ventas,
donde el cajero tomará los datos del cliente y de el o los medicamentos que se venderán, así como el número de unidades a adquirir teniendo en cuenta
que no podrá vender más medicamento del que se tiene en el almacén, una vez realizada la venta el sistema generará un comprobante para el cliente
el cual servirá para cualquier aclaración, duda o problema que pueda surgir y para fines de control y consulta por parte de la farmacia.
}
\UCitem{Versión}{\color{Gray}0.9}
\UCitem{Autor}{\color{Gray}Vázquez Cruz Fernando Darwin.}
\UCitem{Supervisa}{\color{Gray}Aguilera Rosas Landa Enrique.}
\UCitem{Actor}{Cajero.}
\UCitem{Propósito}{Tener un control de las salidas de medicamento por ventas a clientes, para fines de cualquier aclaración o duda.}
\UCitem{Entradas}{Tipo de cliente, nombre del cliente, apellido materno del cliente, apellido paterno del cliente,código de barras de lo(s) medicamento(s).}
\UCitem{Origen}{Teclado, mouse, lector de código de barras.}
\UCitem{Salidas}{Comprobante de venta con los datos nombre de sucursal, nombre completo del empleado,lista de medicamentos comprados, precio unitario de cada medicamento, valor total de la compra, cantidad a llevar de cada medicamento, fecha y hora de compra.}
\UCitem{Destino}{Pantalla,impresora}
\UCitem{Precondiciones}{Los medicamentos a vender deben estar registrados en el sistema, el supervisor debió abrir la caja con anterioridad \UCref{CU9}{Abrir Caja}, los medicamentos a vender deben tener fecha de caducidad vigente mayor a 2 meses.}
\UCitem{Postcondiciones}{Disminuye la cantidad de los medicamentos que se vendieron, se tiene una venta más registrada en el sistema a nombre de un cliente, se aumenta el dinero existente en la caja.}
\UCitem{Errores}{Que no se realice una conexión a la base de datos,que el servidor se caiga,que los datos proporcionados estén erróneos, que el o los medicamentos estén registrados en el sistema pero no estén disponibles en la sucursal, que no haya conexión con la impresora, que la impresora no tenga rollo.}
\UCitem{viene de...}{\UCref{CU0}{Control de acceso}}
\UCitem{Observaciones}{}
\UCitem{Estado}{Aprobado}
\end{UseCase}
%--------------------------------------
\begin{UCtrayectoria}{Principal}
\UCpaso Se incluye el caso de uso \UCref{CU0}.
\UCpaso [\UCactor] Presiona el botón \IUbutton{Ventas} que esta en la pantalla principal \IUref{IU1}{Pantalla principal}
\UCpaso Verifica que los permisos de usuario sean permisos de cajero. \Trayref{A}
\UCpaso Genera y despliega el Formulario \IUref{IU19}{Formulario Ventas}.
\UCpaso Busca el id del cajero que esta actualmente con la sesión activa y llena el campo "Empleado" con el nombre completo del empleado.
\UCpaso [\UCactor] En el primer campo de formulario "Cliente" Selecciona la opción "Cliente Preferente".
\UCpaso Identifica la opción seleccionada por el [\UCactor].
\UCpaso Genera y despliega una lista desplegable con los nombres de los clientes registrados en el sistema.
\UCpaso [\UCactor] Selecciona el nombre del cliente al que se le registrará la venta.\Trayref{B}
\UCpaso Llena el campo Cliente con el nombre seleccionado en el paso anterior.
\UCpaso [\UCactor] Escanea el código de barras del medicamento con el lector de código de barras.
\UCpaso Llena el campo de `"Medicamentos" con el código de barras que se introdujo del lector.\Trayref{C}.
\UCpaso Llena el campo "Desglose de medicamentos, precios y cantidad" con el nombre del medicamento, el precio.
\UCpaso Restringe la venta del medicamento a las unidades existentes a la sucursal.
\UCpaso [\UCactor] En el campo "Desglose de medicamentos, precios y cantidad" selecciona la cantidad del medicamento a vender.\Trayref{D}
\UCpaso Calcula el Total a pagar y muestra la cantidad en el campo "Valor Total".
\UCpaso [\UCactor] Presiona el botón \IUbutton{Guardar}.
\UCpaso Muestra el Mensaje {\bf MSG6-}"Confirmar[{\em Confirmar Operación }]¿Los datos del formulario son correctos?.".
\UCpaso [\UCactor] Presiona el botón \IUbutton{Aceptar}
\UCpaso Verifica que ningún campo del formulario esté vació. \Trayref{E}
\UCpaso Guarda los datos de la venta y reduce el inventario del medicamento vendido.
\UCpaso Muestra el Mensaje {\bf MSG0-}"Éxito[{\em Operación Realizada con éxito }].".
\UCpaso Añade los datos de la venta al reporte diario de ventas.
\UCpaso Muestra la pantalla \IUref{IU19}{Formulario Ventas}.
\end{UCtrayectoria}

%--------------------------------------
\begin{UCtrayectoriaA}{A}{Permiso Denegado}
\UCpaso Muestra el Mensaje {\bf MSG4-}`"Cancelado[{\em Permiso Denegado }].".
\UCpaso Muestra la pantalla \IUref{IU1}{Pantalla Principal}.
\end{UCtrayectoriaA}

%--------------------------------------
\begin{UCtrayectoriaA}{B}{El cajero no encuentra el nombre del cliente}
\UCpaso [\UCactor] Busca el nombre del cliente en el checklist pero no lo encuentra.
\UCpaso [\UCactor] Verifica la información proporcionada por el cliente.
\UCpaso [\UCactor] Continua en el paso 6 de este caso de uso.
\end{UCtrayectoriaA}
%--------------------------------------
\begin{UCtrayectoriaA}{C}{El lector de barras no pudo leer bien el código}
\UCpaso Sigue su ejecución sin llenar el campo "Medicamentos""
\UCpaso Continua en el paso 11 de este caso de uso.
\end{UCtrayectoriaA}
%----------------------------------------
\begin{UCtrayectoriaA}{D}{El cliente quiere comprar más de 20 unidades del mismo medicamento}
\UCpaso Muestra el Mensaje {\bf MSG4-}`"[{\em Permiso Denegado}] Contacta a tu supervisor.".
\UCpaso [\UCactor] Solicita la autorización del supervisor.
\UCpaso Regresa al paso 15 de este caso de uso.
\end{UCtrayectoriaA}
%--------------------------------------
\begin{UCtrayectoriaA}{E}{Existe por lo menos un campo obligatorio que esta vacío}
\UCpaso Remarca con rojo los campos obligatorios que están vacíos y pone la leyenda "Campo Obligatorio".
\UCpaso Muestra el Mensaje {\bf MSG1-}"Error en la operación [{\em Campos obligatorios vacíos}] Los campos llenados con Rojo no pueden estar vacíos.".
\UCpaso[\UCactor] Oprime el botón \IUbutton{Aceptar}.
\UCpaso Regresa a la pantalla \IUref{IU19}{Formulario Ventas} Mostrando los campos en rojo y dejando la información introducida por el [\UCactor] en los pasos anteriores de este casos de uso.
\end{UCtrayectoriaA}
Loading