Vous êtes sur la page 1sur 23

UNIVERSIDAD TECNOLÓGICA DE MÉXICO

INGENIERÍA EN SISTEMAS COMPUTACIONALES

MATERIA
APLICACIONES DISTRIBUIDAS

PROFESOR
JUAN LUIS CARRILLO G.

PROYECTO FINAL
“CONTROL DE INVENTARIOS MÉDICOS”

FECHA
7-ABRIL-2017
INDICE

RESUMEN .............................................................................................................. 3
INTRODUCCION .................................................................................................... 3
1.1. Antecedentes .................................................................................................................... 3
1.2. Importancia ........................................................................................................................ 3
2. PLANTEAMIENTO DEL PROBLEMA ............................................................. 4
2.1. Justificación ....................................................................................................................... 4
2.2. Objetivo general ................................................................................................................ 4
3. MARCO TEORICO ........................................................................................... 5
3.1. Referencias o investigaciones similares ....................................................................... 5
3.2. Teorías o enfoques teóricos ........................................................................................... 5
4. DISEÑO METODOLOGICO ............................................................................. 6
4.1. Métodos, plataformas tecnológicas y patrones usados ............................................. 6
4.2. Instrumentos, tecnologías y herramientas.................................................................... 7
4.3. Lenguaje de programación ............................................................................................. 8
4.4. Plataforma de almacenamiento y consulta de datos .................................................. 8
4.5. Técnicas de recolección de datos.................................................................................. 8
5. ANALISIS DE REQUERIMIENTOS ................................................................. 9
5.1. Requerimientos funcionales y no funcionales.............................................................. 9
5.2. Requerimientos del dominio ......................................................................................... 11
5.3. Identificación de reglas del negocio ............................................................................ 12
5.4. Diagramas ....................................................................................................................... 12
6. BASE DE DATOS .......................................................................................... 13
6.1. Consulta selectiva .......................................................................................................... 14
6.2. Inserción de registros ..................................................................................................... 15
6.3. Actualización de registros ............................................................................................. 15
6.4. Eliminación de registros ................................................................................................ 15
7. FRAMEWORK DEL LADO DEL SERVIDOR ................................................. 15
7.1. Desarrollo de una aplicación empresarial distribuida ............................................... 15
7.2. Implementación del patrón MVC .................................................................................. 15
7.3. Implementación de reglas de negocio ........................................................................ 16
8. FRAMEWORK DEL LADO DE CLIENTE ...................................................... 16

Página | 1
8.1. Menú interactivo ............................................................................................................. 16
8.2. Uso de hipervínculos y formularios.............................................................................. 16
8.3. Estilos ............................................................................................................................... 16
8.4. Iconos ............................................................................................................................... 16
8.5. Multimedia (imágenes, sonido o video) ...................................................................... 16
8.6. Controles funcionales .................................................................................................... 16
9. SEGURIDAD .................................................................................................. 16
9.1. Autenticación ................................................................................................................... 16
9.2. Autorización ..................................................................................................................... 16
9.3. Auditoria ........................................................................................................................... 17
10. USABILIDAD .................................................................................................. 17
10.1. Diseño .......................................................................................................................... 17
10.2. Interactividad ............................................................................................................... 17
10.3. Bugs .............................................................................................................................. 17
10.4. Intuitividad .................................................................................................................... 17
10.5. Manual de usuario ...................................................................................................... 17
11. RESULTADOS ............................................................................................... 17
12. BIBLIOGRAFIA .............................................................................................. 21

Página | 2
RESUMEN

El presente trabajo documenta el desarrollo de un software basado en WEB, el cual,


debido a particularidades del proyecto, será desarrollado como prototipo.
Dicho software debe atender una de las problemáticas que afectan a las instituciones
gubernamentales del sector salud. Dicha problemática son las pérdidas económicas
relacionadas a medicamentos que se dan de baja debido a caducidades vencidas. Para lo
cual se plantea implementar un sistema de control de flujo de medicamentos.
Para ello se utilizarán metodologías, arquitecturas, tecnologías y herramientas adecuadas
para identificar las reglas del negocio y desarrollar tanto el front-end como el back-end de
la aplicación; así como para llevar la gestión del proyecto.

INTRODUCCION

1.1. Antecedentes

Nuestro sistema de salud, desde su fundación en 1943, ha visto crecer el número de


instituciones que brindan servicios de salud públicos. Cada una de estas instituciones
cuenta con infraestructura y logística tal que les permite brindar servicios de salud
pública.
Este servicio depende de que las instituciones sean autosuficientes, en sus procesos,
y puedan cubrir necesidades propias de las instituciones; tales como mano de obra,
tecnología y abastecimiento de insumos.
Pero, aun con toda la logística implicada, estas instituciones registran pérdidas
económicas debido a causas diversas. Entre estas causas se encuentra las perdidas
por caducidades vencidas en medicamentos.

1.2. Importancia

Así es que se hace necesario implementar medidas que puedan ayudar a que los
procesos, asociados a dichas perdidas, sean más eficientes y por lo tanto ayuden a
reducir los costos a asociados a dichas perdidas.
Por ello se pretende implementar una solución de software que ayude a las
instituciones de salud pública a hacer un uso más eficiente del presupuesto
gubernamental. Esto se traduce en que el presupuesto otorgado a estas instituciones
sea canalizado a su propósito original, el cual es mantener una población saludable.

Página | 3
2. PLANTEAMIENTO DEL PROBLEMA

2.1. Justificación

Los almacenes de las instituciones de salud públicas tienen contemplados, entre sus
procedimientos, diferentes tipos de bajas. Esto se refiere a que algún producto no
cumple con las especificaciones requeridas y por lo tanto se da de baja de existencias.
Estos tipos de baja son: por deterioro (se ha roto o estropeado el producto), por
caducidad vencida (el producto caducó) y la propia salida del almacén.
Este proyecto se enfoca a las bajas denominadas “por caducidad vencida”. Dichas
bajas ocurren cuando un medicamento alcanza la fecha marcada por el indicador de
caducidad que está grabado en el contenedor del mismo.
Esto ocurre porque los almacenes no cuentan con un eficiente control de flujo de
medicamentos. Pues para ello el almacenista despachador debe conocer que
medicamento es el más próximo a caducar y su ubicación, para que estos sean los
primeros en salir del almacén.

2.2. Objetivo general

Poder tener un gran número de personas inscritas en el servicio, además de un gran


grupo selecto de farmacias y médicos con una buena demanda en nuestro servicio.
Se desarrollará un sistema con el fin de que pueda:

 Añadir, eliminar, consultar y modificar información acerca de ubicaciones


donde se guardarán los medicamentos (racks).
 Añadir, eliminar, consultar y modificar información acerca de los
medicamentos del catálogo.
 Registrar entradas y salidas de medicamentos.
 Hacer inventario.
 Controlar el flujo de medicamentos, según caducidad.

Página | 4
3. MARCO TEORICO
3.1. Referencias o investigaciones similares
3.2. Teorías o enfoques teóricos

Página | 5
4. DISEÑO METODOLOGICO
4.1. Métodos, plataformas tecnológicas y patrones usados

CIMED se basó en dos métodos para la creación de su sistema:


MVC
Es el principal patrón arquitectónico que usamos en este proyecto. MVC es una
propuesta de diseño de software utilizada para implementar sistemas donde se
requiere el uso de interfaces de usuario.

Conceptos Componentes

Figura1. MVC

Así bien, los Modelos representan los datos con los que los usuarios trabajan. Estos
pueden ser modelos de vista simple, que sólo representan transferencias de datos
entre vistas y controladores; o pueden ser modelos de dominio, los cuales
contienen los datos del dominio de la empresa así como las operaciones,
transformaciones y reglas para manipular esos datos. Las vistas se utilizan para
representar parte del modelo como una interfaz de usuario. Los controladores
procesan peticiones entrantes, realizan operaciones en el modelo y seleccionan
vistas para mostrar los resultados al usuario. Estos componentes interaccionan
entre sí de la siguiente manera:

Figura2. MVC, Interacion entre sus componentes

Página | 6
RUP
Esta es una metodología que fue diseñada para adaptarse a las necesidades de la
organización.
La filosofía RUP se basada en 6 principios, los cuales son: Adaptar el proceso,
Equilibrar prioridades, Demostrar valor iterativamente, Colaboración entre equipos,
Enfocarse en la calidad, Elevar el nivel de abstracción.

Figura3. Flujo de trabajo de RUP

4.2. Instrumentos, tecnologías y herramientas

- VISUAL STUDIO: porque es un entorno de desarrollo integrado para sistemas


operativos Windows y soporta diferentes lenguajes de programación, como C++, C#,
Visual Basic .NET, F#, Java,etc. pero lo más importante soporta el entorno para el
desarrollo en .NET MVC, que fue requerido para el sistema.

- ASP.NET: se utilizó para la creación de la página web.

- MySQL: como el servidor de base de datos.

- RAZOR: Al ejecutarse en el servidor, el código puede realizar tareas complejas, como


acceder a bases de datos.

Página | 7
4.3. Lenguaje de programación

Para el desarrollo de nuestro sistema se contaron con diversos leguajes de programación


los cuales encuentran su funcionalidad en alguno de los componentes del modelo MVC.
Así bien agrupamos estos lenguajes en 2 grupos, los cuales son front-end y back-end.
Lenguajes para Front-end

 HTML: es un lenguaje interpretado por lo que no presenta ningún compilador, por


lo tanto, algún error de sintaxis que se presente éste no lo detectará y se
visualizará en la forma como éste lo entienda.
 CSS: es un lenguaje interpretado. Esta tecnología se usa para describir la
presentación de páginas Web, como incluir colores, diseño, tipo de fuente.
 JavaScript: es un lenguaje de programación que se utiliza principalmente para
crear páginas web dinámicas.
 Ajax: el un método o conjunto de técnicas que permiten intercambiar información
con un servidor y actualizar parte de los contenidos de una web sin necesidad de
recargar la página web completamente

Lenguajes para Back-end

 C#: es un lenguaje de programación orientado a objetos desarrollado y


estandarizado por Microsoft como parte de su plataforma .NET.
 SQL: es un lenguaje de acceso a bases de datos que explota la flexibilidad y
potencia de los sistemas relacionales y permite así gran variedad de operaciones.

4.4. Plataforma de almacenamiento y consulta de datos

4.5. Técnicas de recolección de datos

Para este proyecto se necesita información acerca de los procesos que las instituciones
gubernamentales de salud pública usan para el abastecimiento de medicamentos. Es por ello que
dentro de este proyecto se realizó una entrevista para conocer acerca de los problemas más
polémicos con la finalidad de que CIMED logre generar un sistema dando la solución a estos.

Página | 8
5. ANALISIS DE REQUERIMIENTOS
5.1. Requerimientos funcionales y no funcionales
REQUERIMIENTOS FUNCIONALES

NOMBRE TIPO DE
ID DESCRIPCIÓN DE REQUERIMIENTO PRIORIDAD NIVEL
REQUERIMIENTO REQUERIMIENTO

El usuario deberá loguearse con un Administrador/


Autentificación de usuario y contraseña la cual será
RF-01 Funcional Alta Medico/Farmacia/
usuario proporcionada al momento del registro
de este. Recepcionista

REGISTRO Y CONTROL DE PACIENTES

La recepcionista registrara los datos


Administrador /
RF-02 Alta de pacientes personales de los pacientes para realizar Funcional Alta
Recepcionista
el llenado del historial médico.

Actualizar datos de La recepcionista modificara los datos Administrador /


RF-03 Funcional Alta
pacientes personales de los pacientes. Recepcionista

La recepcionista solo cambiara el status Administrador /


RF-04 Baja de los pacientes Funcional Alta
del paciente a “No Activo”. Recepcionista

REGISTRO Y VISUALIZACION DE RECETA


Visualización de
El medico podrá visualizar el historial Administrador /
RF-05 datos del paciente Funcional Alta
médico de cada paciente Médico
(Historial médico)

El medico deberá hacer el llenado de la


Administrador /
RF-06 Receta médica receta médica de acuerdo a los síntomas Funcional Alta
Médico
del paciente.

Actualizar receta El médico podrá actualizar los datos de la Administrador /


RF-07 Funcional Alta
medica receta médica. Médico

Baja de receta Administrador /


RF-08 Se eliminará la receta médica. Funcional Alta
medica Médico

REGISTRO Y CONTROL DE MÉDICAMENTOS

Registrar cada medicamento de acuerdo


Registrar Administrador /
RF-09 a su nombre, sustancia, caducidad, Funcional Media
medicamentos Farmacia
cantidad y valor (precio).

El administrador podrá dar de baja un


Administrador /
RF-10 Baja medicamentos medicamento, solo cambiando su status Funcional Media
Farmacia
a “No activo”.

Actualizar El administrador podrá actualizar la Administrador /


RF-11 Funcional Alta
medicamento cantidad y precio del producto que se Farmacia

Página | 9
encuentra disponible en farmacia.

Alta de ubicaciones El administrador deberá registrar la Administrador /


RF-12 Funcional Alta
de los medicamentos ubicación de cada medicamento. Farmacia

Actualización de la
El administrador podrá modificar la Administrador /
RF-13 ubicación de los Funcional Alta
ubicación de los medicamentos. Farmacia
medicamentos

Baja de ubicación de El administrador podrá eliminar la Administrador /


RF-14 Funcional Alta
medicamentos ubicación que tenía el medicamento. Farmacia

FARMACIA

El personal de la farmacia podrá


Visualizar las recetas consultar la receta de cada paciente para Administrador /
RF-15 Funcional Media
medicas poder darle el medicamento que le Farmacia
corresponda.

Visualización de Se mostrarán los datos de cada Administrador /


RF-16 Funcional Alta
inventario movimiento de los medicamentos. Farmacia

Visualizar la El personal de la farmacia podrá


Administrador /
RF-17 existencia de consultar la existencia de los Funcional Media
Farmacia
medicamentos medicamentos.

Visualizar la El personal de la farmacia podrá


Administrador /
RF-18 ubicación de los consultar la ubicación de los Funcional Media
Farmacia
medicamentos medicamentos.

REQUERIMIENTOS NO FUNCIONALES

Página | 10
NOMBRE
ID DESCRIPCIÓN DE REQUERIMIENTO TIPO DE REQUERIMIENTO PRIORIDAD
REQUERIMIENTO
Cambio de Todos los usuarios podrán cambiar su contraseña, si
RNF-01 No funcional Baja
contraseña lo desean.

Búsqueda de El administrador podrá buscar por nombre a todos


RNF-02 No funcional Media A
pacientes los pacientes registrados

Mostrará un listado de submenús con información


RNF-03 Menú de Registro adicional (registro) No Funcional Baja

El sistema llevará un logo para identificar la


RNF-04 Logo en Sistema institución No Funcional Baja

Búsqueda de El administrador podrá buscar por nombre a todos


RNF-05 No funcional Media
medicamentos los medicamentos registrados

Los permisos de acceso al sistema podrán ser


Cambio de cambiados solamente por el administrador de
RNF-06 No Funcional Baja
Permisos acceso a datos.
La aplicación web debe poseer un diseño
“Responsivo” a fin de garantizar la adecuada
RNF-07 Visualización visualización en múltiples computadores personales, No Funcional Baja
dispositivos tableta y teléfonos inteligentes.

5.2. Requerimientos del dominio

NOMBRE
ID DESCRIPCIÓN DE REQUERIMIENTO VISIBILIDAD
REQUERIMIENTO
RD-01 Interfaz de usuario La aplicación debe ser desarrollada como plataforma web. VISIBLE

RD-02 Intuitivo La navegación, el uso de formularios y la lectura de resultados VISIBLE


deben ser de fácil entendimiento para el usuario.
RD-03 Responsivo La visualización de la aplicación debe adaptarse al tamaño de VISIBLE
los diferentes dispositivos.
La aplicación debe visualizarse en los navegadores más
populares como lo son:
RD-04 Navegadores  Google Chrome. VISIBLE
 Mozilla Firefox.
 Internet Explorer.
RD-05 Plugin La aplicación debe poder funcionar sin requerir instalación de plugin. NO VISIBLE

Página | 11
5.3. Identificación de reglas del negocio

Figura4. Diagrama de interaccion de Roles

Figura5. Diagrama de Actividad

5.4. Diagramas
Dentro de este diagrama UML se pueden apreciar los actores que interactuan dentro
del sistema.

Crear Receta medica

Recepcionista
Rol Medico

Visualizar recetas medicas

Sistema Rol Farmacia

Medico
Visualizar existencia medicamentos

Rol Recepcionista
Baja Pacientes

Farmacia
Cambios Pacientes

Alta Pacientes

Figura6. Diagrama de casos de uso del sistema

Página | 12
Figura7. Diagrama a bloques

6. BASE DE DATOS

Para este sistema se ocuparon 2 bases de datos:

Modelo Entidad Relación

Página | 13
Modelo Entidad Relación de Inventario

6.1. Consulta selectiva


Podrán realizar consultas para buscar un paciente, un medicamento, la ubicación del
medicamento, la receta y de igual forma consultar el reporte de inventario.

Página | 14
6.2. Inserción de registros
Dentro de este sistema utilizaremos la inserción de registro al dar de alta los pacientes,
los medicamentos, la creación de la receta y dar de alta la ubicación de los
medicamentos.

6.3. Actualización de registros


Una vez haciendo el registró de las altas ya mencionadas se podrán actualizar los datos
en caso de algún error o modificación.

6.4. Eliminación de registros


Se eliminarán las recetas, los pacientes dados de baja y / o ubicaciones si así lo desean.

7. FRAMEWORK DEL LADO DEL SERVIDOR


7.1. Desarrollo de una aplicación empresarial distribuida

7.2. Implementación del patrón MVC

CIMED_MAPA DE NAVEGACIÓN WEB


ACCESIBLE A: NIVEL DE NAVEGACION
SU AU OU VU 1 2 3 4
X X Home
X X Almacen
X X Consultorio
X X Login
X X Farmacia
X Altas
X Ubicaciones
X Medicamentos
X Bajas
X Ubicaciones
X Medicamentos
X X Cambios
X X Ubicaciones
X X Medicamentos
X X X Consultas
X X X Ubicaciones
X X X Medicamentos
X X X Movimientos
X X X Inventario

Página | 15
7.3. Implementación de reglas de negocio

8. FRAMEWORK DEL LADO DE CLIENTE


8.1. Menú interactivo
El sistema cuenta con un menú el cual permite al usuario dirigirse a la vista o pantalla
que requiera.

8.2. Uso de hipervínculos y formularios


Si se hizo uso de los hipervínculos y formularios para la creación de la receta e
inventario.

8.3. Estilos
- CSS: dentro de sistema se utilizó para el diseño de las vistas, botones, menú,
etc.
- Bootstrap: para que el sistema se ajustara a cualquier dispositivo y tamaño de
pantalla, y logre verse de la misma forma siempre.

8.4. Iconos
Se utilizaron los iconos para que el sistema fue un poco más interactivo y con un
diseño amigable para el usuario.

8.5. Multimedia (imágenes, sonido o video)


Al igual que los iconos decidimos utilizar imágenes para que el sistema tuviera un
diseño amigable para el usuario.

8.6. Controles funcionales

9. SEGURIDAD
9.1. Autenticación
La autenticación será por medio de un usuario y contraseña las cuales seran cuentas
diferentes para cada área. Serán asignadas por el admisnitrador.

9.2. Autorización
Una vez autenticado el usuario, podrá ingresar a la aplicación tienendo acceso
unicamente a las ventanas permitidas.

Página | 16
9.3. Auditoria

10. USABILIDAD
10.1. Diseño
10.2. Interactividad
10.3. Bugs
Para este sistema NO APLICA.

10.4. Intuitividad
10.5. Manual de usuario
El manual de Usuario viene anexo al final de este documento con el nombre Manual
CIMED.

11. RESULTADOS

El proyecto se desarrolló del 27 de febrero al 10 de abril del 2017. En ese periodo de


tiempo se planteó el inicio, desarrollo e implementación de 6 requerimientos funcionales,
pero se logró completar 12 de los 18 requerimientos funcionales requeridos para
completar el sistema CIMED-Almacén. Con esto se tiene un avance del 66% el cual
supera a lo pronosticado en la planeación, la cual sugería un avance del 38% en el mismo
periodo de tiempo.
El software se desarrolló respetando 90% de los requerimientos no funcionales, los cuales
incluyen: patrón arquitectónico, plataforma WEB, diseño, control de acceso, etc.
La utilización del ID Visual Studio 2015 brindó muchas facilidades a la hora de
implementar las funcionalidades. Fue de mucha ayuda incluso en equipos con 2GB de
RAM y procesador Core2Duo a 2.66 GHz. No obstante, presenta algunas ligeras
fluctuaciones con su estabilidad y velocidad de respuesta.
Al comienzo del proyecto se presentaron dificultades para implementar con el patrón
MVC, también hubo problemas con la nueva sintaxis que utiliza “Visual Studio” para
“Query´s a base de datos”, pero a medida que se desarrollaban nuevas funcionalidades
asimilamos los cambios.
El resultado final del proyecto se puede apreciar en la siguiente web:
Localhost:1326/Home/

Página | 17
Figura8. Vista principal del sistema

Figura9. Vista de logeo al sistema

Figura10. Vista de Contacto

Página | 18
Figura11. Vista de Alta ubicaciones

Figura12. Vista de Alta medicamentos

Página | 19
Figura13. Vista de Alta pacientes

Figura14. Vista de Crear receta

Figura15. Vista de consutla medicamentos

Página | 20
Figura16. Vista de consutla ubicaciones

12. BIBLIOGRAFIA

Sitios Web

1. Adobe Color CC. (2017). Color.adobe.com. Retrieved 1 April 2017, from


https://color.adobe.com/es/create/color-wheel/
2. ASP.NET Razor Markup. (2017). W3schools.com. Retrieved 1 April 2017, from
https://www.w3schools.com/asp/razor_intro.asp
3. C Sharp (programming language). (2017). En.wikipedia.org. Retrieved 3 March 2017, from
https://en.wikipedia.org/wiki/C_Sharp_(programming_language)
4. C#. (2017). Msdn.microsoft.com. Retrieved 5 April 2017, from
https://msdn.microsoft.com/es-mx/library/kx37x362.aspx
5. C# Guide. (2017). Docs.microsoft.com. Retrieved 1 April 2017, from
https://docs.microsoft.com/es-es/dotnet/articles/csharp/
6. Cascading Style Sheets, designing for the Web – Chapter 20: The CSS saga. (2017). W3.org.
Retrieved 7 April 2017, from https://www.w3.org/Style/LieBos2e/history/
7. HTML & CSS - W3C. (2017). W3.org. Retrieved 20 March 2017, from
https://www.w3.org/standards/webdesign/htmlcss
8. HTML 5.1: 1. Introduction. (2017). W3.org. Retrieved 20 March 2017, from
https://www.w3.org/TR/2016/REC-html51-20161101/introduction.html#introduction-
history
9. Learn. (2017). The Official Microsoft ASP.NET Site. Retrieved 7 April 2017, from
https://www.asp.net/learn

Página | 21
10. Mark Otto, a. (2017). Bootstrap · The world's most popular mobile-first and responsive
front-end framework.. Getbootstrap.com. Retrieved 20 March 2017, from
http://getbootstrap.com/
11. SQL. (2017). Es.wikipedia.org. Retrieved 7 April 2017, from
https://es.wikipedia.org/wiki/SQL#Or.C3.ADgenes_y_evoluci.C3.B3n
12. Webster, L. (2017). Downloads | Visual Studio Official Site. Visual Studio. Retrieved 7
March 2017, from https://www.visualstudio.com/es/downloads/

Libros

1. Sommerville, I., Addison-Wesley, Harlow. (1995). Software Engineering, Kendall, K., E.


Kendall,
2. J., PEARSON EDUCACIÓN, (2005). Análisis y diseño de sistemas. Silberschatz, A., Korth, H.,
3. Sudarshan, S., Fundamentos de bases de datos.
4. Freeman, A., APRESS, (2013). Pro ASP,NET MVC 5

Página | 22