0% encontró este documento útil (0 votos)
10 vistas43 páginas

Sistema Web de Citas Médicas

documentacion
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
10 vistas43 páginas

Sistema Web de Citas Médicas

documentacion
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD AUTONOMA GABRIEL RENE MORENO

FACULTAD INTEGRAL DEL NORTE


INGENIERÍA EN SISTEMAS

“DESARROLLO DE UN SISTEMA DE INFORMACIÓN WEB DE CITAS MÉDICAS”


<<CONSULTASONLINE>>

AUTOR:
Elvis D. Quinteros Siles
Marcos S. Vargas Chávez

DOCENTE GUIA:
[Link]. Ing. Edwin Magno Calizaya

Santa Cruz, Bolivia


ABRIL, 2023
2

Dedicatoria
A los padres y hermanos, por su gran ejemplo de superación y valioso apoyo en todo momento
desde el inicio de los estudios de la maestría. A los familiares y amigos que tuvieron una palabra de
apoyo durante los estudios.

Dedicado a mis padres y hermanos por darme el ejemplo de que todo se puede en la vida con
trabajo, por apoyarme en todo momento y brindarme un poco de su tiempo cuando lo necesitaba. Y por
sobre todo está dedicado a mi hija y mujer que son mi motivación e inspiración para salir adelante y
demostrar que cuando uno quiere puede
3

Agradecimiento
Expresar de todo corazón los más sinceros agradecimientos a todas aquellas personas que
brindaron su colaboración, sus conocimientos, su ayuda incondicional y por sobre todo su
amistad durante la realización de esta investigación. Este es el esfuerzo de un gran equipo de
trabajo, a cada uno de ellos, Gracias. A Dios, por el regalo de una familia, por el amanecer cada
día y por sobre todo quien regala el entendimiento para realizar cada reto en la vida. A los
padres, quien siempre está pendiente de encomendarme en sus oraciones, que cada día sea mejor,
no solo en lo que hago como trabajo, sino de ser mejor persona. Nuevamente a todos, MUCHAS
GRACIAS.

Agradecimiento dirigido a Dios por nunca abandonarme en los momentos más difíciles y
guiarme en cuerpo, alma y espíritu y agradecido con mi hermano ejemplo de superación y
perseverancia, gracias a él soy lo que soy y nunca me dejo perder el camino
4

RESUMEN

En el primer capítulo veremos los antecedentes generales del proyecto, proporcionando el

contexto necesario para entender su razón de ser, la justificación, objetivos y viabilidad,

explicando de manera clara cuál es la necesidad que el proyecto busca resolver. Con el contexto

apropiado se permitirá tomar decisiones informadas sobre su ejecución. En el marco teórico

veremos la base intelectual del proyecto, los modelos y conceptos relevantes para abordar el

problema y el objetivo del proyecto. Esto ayuda a tener claridad en el lenguaje y a asegurar que

todos los involucrados comprendan los términos utilizados, proporcionando una guía para el

desarrollo del trabajo. En el tercer capítulo Ingeniería del Proyecto, describiremos cómo se

llevará a cabo la planificación, desarrollo y ejecución del proyecto. Esta sección abarca varios

aspectos clave relacionados con la gestión y la implementación del proyecto, se enumeran los

recursos humanos, financieros, tecnológicos y materiales necesarios para llevar a cabo el

proyecto. El cuarto capítulo del proyecto, denominado "Ingeniería de Software ", nos

enfocaremos en presentar dos metodologías ágiles populares y ampliamente utilizadas en el

desarrollo de software: Scrum y XP. Implementaremos ambas metodologías porque promueven

la flexibilidad, la colaboración y la entrega iterativa e incremental de software de alta calidad. En

el capítulo de las conclusiones del proyecto haremos un resumen de los principales hallazgos,

resultados y lecciones aprendidas a lo largo de la ejecución del mismo. Estas conclusiones darán

respuesta a cada uno de los objetivos específicos que nos planteamos en el primer capítulo. En el

sexto capítulo recomendaciones, haremos sugerencias específicas y acciones propuestas para

mejorar y abordar aspectos relacionados con el proyecto. Estas sugerencias están relacionadas a

las conclusiones obtenidas por cada objetivo específico planteado. En la bibliografía incluiremos

todas las fuentes utilizadas en el proyecto siguiendo todas las normas de citación Apa 7, para
5

evitar el plagio y dar crédito a los autores originales de las obras consultadas. En el último

capítulo pondremos los anexos, de manera clara y enumerada, proporcionaremos imágenes de

referencia que mostraran el menú del administrador y del usuario cliente.


6

ÍNDICE GENERAL

Dedicatoria.....................................................................................................................................................2
Agradecimiento..............................................................................................................................................3
CAPITULO 1. ANTECEDENTES GENERALES....................................................................................9
1.1 Introducción...................................................................................................................................9
1.2 Antecedentes del Problema..........................................................................................................10
FODA.......................................................................................................................................................10
DIAGRAMA DE ISHIKAWA................................................................................................................11
..................................................................................................................................................................11
1.3 Planteamiento del problema.........................................................................................................11
1.3.1 Campo de acción..................................................................................................................11
1.3.2 Objeto de estudio.................................................................................................................11
1.4 Objetivos......................................................................................................................................12
1.4.1 Objetivo General......................................................................................................................12
1.4.2 Objetivos Específicos...............................................................................................................12
1.5 Idea Científica a Defender...........................................................................................................12
1.6 Justificación.................................................................................................................................12
1.6.1 Justificación teórica.................................................................................................................12
1.6.2 Justificación metodológica.......................................................................................................13
1.6.3 Justificación practica................................................................................................................13
1.6.4 Justificación social...................................................................................................................14
1.6.5 Justificación institucional.........................................................................................................14
1.6.6 Justificación personal...............................................................................................................14
1.6.7 Justificación económica...........................................................................................................15
1.7 Delimitación de la Investigación.................................................................................................15
1.7.1 Delimitación Espacial..............................................................................................................15
1.7.2 Delimitación Temporal............................................................................................................15
1.7.3 Delimitación Sustantiva...........................................................................................................15
1.8 Metodologías................................................................................................................................16
1.9 Herramientas Tecnológicas..........................................................................................................16
1.10 Normas y Estándares....................................................................................................................16
2 CAPITULO 2. MARCO TEORICO.........................................................................................................17
2.1 Empresa..............................................................................................................................................17
7

2.1.1 Historia........................................................................................................................................17
2.1.2 Misión.........................................................................................................................................18
2.1.3 Visión..........................................................................................................................................19
2.1.4 Organigrama...............................................................................................................................19
2.1.5 Localización................................................................................................................................19
2.1.5 Servicios......................................................................................................................................20
2.2 Ingeniería de software....................................................................................................................20
2.2.1 Administración del proyecto.......................................................................................................21
2.2.2 Método del costo de personal COCOMO 1................................................................................21
2.2.3 Métricas del Proyecto.................................................................................................................22
2.2.4 Administración de riesgo............................................................................................................23
2.3 Metodología del proyecto..................................................................................................................23
2.3.1 Metodología SCRUM.................................................................................................................23
2.3.2 Metodología XP..........................................................................................................................24
2.4 Plataformas........................................................................................................................................25
2.4.1 Aplicación Web..........................................................................................................................25
2.4.2 Tipos de Aplicaciones Web........................................................................................................25
 Importancia De Una Aplicación Web..........................................................................................26
 Ventajas De Una Aplicación Web...............................................................................................27
2.5 Interfaz de Programación de aplicaciones.........................................................................................28
2.5.1 Rest.............................................................................................................................................28
2.6 Arquitectura del Software..................................................................................................................29
2.6.1 MVC...........................................................................................................................................29
2.6.2 Formato de Intercambio de Datos JSON....................................................................................29
2.7 Herramientas de Implementación......................................................................................................30
2.7.1 Lenguajes de Software................................................................................................................30
 TypeScript....................................................................................................................................30
 Php...............................................................................................................................................31
 Frameworks..................................................................................................................................31
 Angular........................................................................................................................................32
 Laravel.........................................................................................................................................33
2.7.3 Entorno de Ejecución..................................................................................................................34
2.7.4 Control de Versiones...................................................................................................................35
 Git................................................................................................................................................36
 GitHub..........................................................................................................................................37
8

2.7.5 Gestor de Base de Datos.............................................................................................................38


 MySQL........................................................................................................................................39
2.7.6 IDE..............................................................................................................................................40
 Visual Studio Code......................................................................................................................41
9

CAPITULO 1. ANTECEDENTES GENERALES

1.1 Introducción
En la búsqueda constante por mejorar la calidad y accesibilidad de los servicios de salud,
nos inspira la posibilidad de simplificar el proceso de programar citas médicas y hacerlo más
conveniente para todos. Imaginamos un sistema que permita a las clínicas gestionar las citas
médicas de manera eficiente, sin que el cliente tenga que interactuar directamente con el
software.

Este documento te invita a explorar cómo un sistema de citas médicas bien diseñado
puede convertir estas visiones en realidad. Descubrirás cómo la implementación de tecnologías
innovadoras puede transformar radicalmente la experiencia de pacientes y profesionales de la
salud, optimizando tiempos de espera y personalizando agendas médicas para una atención más
eficiente y centrada en el paciente.

En el corazón de esta visión está el compromiso de proporcionar un servicio de salud más


humano y centrado en las necesidades individuales de cada paciente. Al permitir que las clínicas
gestionen eficientemente las citas médicas a través de la tecnología, liberamos tiempo y recursos
para que los profesionales de la salud puedan enfocarse en lo que realmente importa: brindar una
atención de calidad y dedicar tiempo personalizado a cada paciente. Este enfoque integral no
solo mejora la experiencia del paciente, sino que también fortalece la relación entre médicos y
pacientes, creando una base sólida para un sistema de salud más resiliente y orientado al
bienestar de la comunidad.

Prepárate para sumergirte en un mundo donde la tecnología y la salud se fusionan para


ofrecer soluciones prácticas y accesibles. ¡Tu próxima consulta médica podría ser más fácil de lo
que imaginas!
10

1.2 Antecedentes del Problema


En la zona, las clínicas enfrentan desafíos significativos en la gestión de citas médicas y
la calidad de atención. En las clínicas, la transferencia entre niveles de atención médica se ve
obstaculizada por problemas administrativos, como la falta ocasional de firmas o sellos en las
fichas de traslado, lo que resulta en retrasos y la necesidad de solicitar nuevamente la validación.
Además, la disponibilidad limitada de fichas y las largas colas contribuyen a una experiencia
insatisfactoria para los pacientes, quienes a menudo esperan largos períodos de tiempo sin recibir
atención médica.

En las clínicas, además, el enfoque en las horas establecidas por el doctor para la
atención, en lugar de adaptarse a las necesidades de los pacientes, puede resultar en tiempos de
espera prolongados y una menor accesibilidad a la atención médica cuando más se necesita.

Estos antecedentes reflejan la complejidad de la gestión de citas médicas en la zona, así


como la necesidad de abordar los problemas de eficiencia, accesibilidad y calidad en la atención
médica. La implementación de soluciones innovadoras, como sistemas de gestión de citas
automatizados y políticas de atención centradas en el paciente, podría contribuir
significativamente a mejorar la experiencia del paciente y la eficiencia operativa en los
hospitales y clínicas locales.

FODA
FORTALEZAS OPORTUNIDADES
 Disponibilidad de niveles de atención  Implementación de sistemas de
médica progresivos. gestión de citas automatizados para
 Recursos médicos y tecnológicos mejorar la eficiencia.
modernos en clínicas privadas.  Colaboración con instituciones
 Mejora continua en la calidad de la tecnológicas para desarrollar
atención médica. soluciones innovadoras.
 Participación en programas de salud
pública para mejorar el acceso a la
atención médica.

DEBILIDADES AMENAZAS
11

 Falta de procedimientos claros en la  Competencia de otras instituciones


transferencia de pacientes entre médicas que ofrecen servicios más
niveles de atención. eficientes.
 Problemas administrativos como  Cambios en las regulaciones de salud
falta de firmas o sellos en fichas de que podrían afectar los recursos
traslado. disponibles.
 Largo tiempo de espera para una  Expectativas crecientes de los
atención medica de calidad. pacientes en cuanto a la accesibilidad
y calidad de la atención médica.

DIAGRAMA DE ISHIKAWA

1.3 Planteamiento del problema


¿Cómo mejorar la eficiencia y accesibilidad de las citas médicas en una clínica, considerando los
desafíos actuales en la gestión y programación de consultas?

1.3.1 Campo de acción

Citas médicas en el sistema de información web “ConsultasOnline”.

1.3.2 Objeto de estudio

Sistema de información web para realizar citas médicas en la clínica Nuestra señora del rosario…
12

1.4 Objetivos
1.4.1 Objetivo General
Implementar un sistema web de citas médicas en la clínica Nuestra Señora del Rosario,
ubicado en la provincia de Warnes, Santa Cruz, Bolivia, para facilitar la programación y
seguimiento de las consultas médicas optimizando la atención hacia los pacientes, con la
metodología ágil XP y marco de trabajo Scrum.

1.4.2 Objetivos Específicos


 Aplicar una metodología adecuada, como XP, para el levantamiento de requisitos del
sistema.
 Diseñar una interfaz de usuario intuitiva y accesible que permita al recepcionista
programar y gestionar las citas de manera eficiente y sencilla, promoviendo así una
experiencia positiva para el paciente.
 Codificar los diferentes módulos del sistema web de citas médicas utilizando tecnologías
modernas y asegurando su funcionalidad y adaptabilidad a las necesidades específicas de
la clínica Nuestra Señora del Rosario.
 Implementar un sistema de seguimiento de citas médicas que permita al personal del
hospital monitorear y gestionar eficazmente la programación de consultas, minimizando
así el tiempo de espera de los pacientes y optimizando los recursos de la clínica.
 Realizar pruebas rigurosas del sistema web de citas médicas para detectar y corregir
posibles errores o fallos, garantizando su funcionamiento óptimo y la plena satisfacción
del usuario final.

1.5 Idea Científica a Defender


La aplicación web 'ConsultasOnline' puede mejorar la eficiencia en la gestión de citas
médicas y reducir los tiempos de espera en entornos clínicos mediante su implementación.

1.6 Justificación
1.6.1 Justificación teórica
La teoría detrás del software "ConsultasOnline" radica en la necesidad de mejorar la
eficiencia y accesibilidad de los servicios de salud, especialmente en la gestión de citas médicas.
Su implementación busca optimizar los procesos de programación de citas, reducir los tiempos
de espera y mejorar la experiencia del paciente. A corto plazo, se espera una mejora inmediata en
13

la eficiencia operativa y la experiencia del paciente, mientras que a largo plazo podría contribuir
a la generación de datos significativos para futuras investigaciones y políticas de salud pública.
Este trabajo busca llenar el vacío de conocimiento en cuanto a la aplicación de sistemas
automatizados de gestión de citas en entornos hospitalarios, y pretende ampliar las teorías
existentes sobre la gestión de citas médicas al introducir un enfoque innovador basado en
tecnología. Sus aportaciones teóricas son importantes para informar prácticas de gestión de citas
más efectivas y centradas en el paciente, y fomentar la investigación continua en este campo.

1.6.2 Justificación metodológica


La elección de la metodología ágil Scrum para el desarrollo del software "ConsultasOnline" se
fundamenta en su idoneidad para proyectos que requieren flexibilidad y adaptación continua. Dado que el
desarrollo de un sistema web de citas médicas puede enfrentarse a cambios en los requisitos y
necesidades emergentes de los usuarios, Scrum ofrece un enfoque iterativo e incremental que permite
responder de manera ágil a estas demandas.

La naturaleza colaborativa de Scrum facilita la comunicación y la colaboración entre los


miembros del equipo de desarrollo y los usuarios, lo que resulta fundamental para garantizar que el
producto final satisfaga las necesidades del personal médico y de los pacientes. Además, la entrega
incremental de funcionalidades permite una rápida retroalimentación por parte de los usuarios, lo que
contribuye a la mejora continua del sistema.

La viabilidad del método se asegura mediante pruebas exhaustivas en cada etapa del desarrollo, lo
que garantiza la calidad del producto final. Además, la validación cruzada con expertos en gestión de
citas médicas y pruebas rigurosas ayudarán a demostrar la validez y confiabilidad del sistema, asegurando
su eficacia y utilidad en el entorno clínico.

1.6.3 Justificación practica


La aplicación "ConsultasOnline" está destinada a transformar la dinámica de la gestión de
citas médicas, ofreciendo una solución eficiente y accesible para pacientes y profesionales de la
salud. Al simplificar el proceso de programación de citas y reducir los tiempos de espera, esta
herramienta aborda directamente los desafíos prácticos que enfrentan millones de personas en su
búsqueda de atención médica. Su impacto se reflejará en una mejora significativa en la
experiencia del paciente, al permitirles acceder fácilmente a los servicios de salud y evitar largas
esperas frustrantes. Además, al optimizar la asignación de recursos clinicos y mejorar la
productividad de los profesionales de la salud, "ConsultasOnline" contribuirá a una atención
14

médica más eficiente y centrada en el paciente. En última instancia, esta aplicación tiene el
potencial de abordar problemas concretos en el acceso a la atención médica, ofreciendo una
solución práctica y efectiva que puede tener un impacto positivo en la salud y el bienestar de la
sociedad en su conjunto.

1.6.4 Justificación social


La aplicación "ConsultasOnline" se presenta como una solución innovadora para mejorar
la calidad de vida de los bolivianos al facilitar su acceso a la atención médica. Al reducir los
tiempos de espera y optimizar la gestión de citas médicas, esta herramienta no solo mejora la
experiencia del paciente, sino que también contribuye al desarrollo y modernización del sistema
de salud en Bolivia. Con su capacidad para abordar demandas sociales actuales y futuras,
"ConsultasOnline" emerge como un recurso valioso en la búsqueda de una mejor salud y
bienestar para todos los ciudadanos bolivianos en su zona de influencia.

1.6.5 Justificación institucional


La implementación de "ConsultasOnline" proporcionará numerosos beneficios para la
institución u organización en términos de optimización de procesos y mejora de la experiencia
del paciente. Al adoptar esta plataforma, la institución reducirá significativamente los tiempos de
espera para las citas médicas, lo que aumentará la eficiencia operativa y la satisfacción del
paciente. Además, al facilitar la gestión de citas de manera automatizada, se liberará tiempo y
recursos que podrán ser destinados a otras áreas de atención médica. Esto fortalecerá la
reputación de la institución como proveedor de servicios de salud de alta calidad y centrado en el
paciente, lo que a su vez puede atraer a más pacientes y mejorar la retención de los existentes. En
última instancia, la implementación de "ConsultasOnline" refleja el compromiso de la institución
con la innovación tecnológica y la mejora continua, lo que la posicionará como líder en su
campo y contribuirá a su éxito a largo plazo. Principio del formulario

1.6.6 Justificación personal


El propósito personal de realizar el presente proyecto radica en el deseo de contribuir de
manera significativa al mejoramiento de la accesibilidad y eficiencia de los servicios de salud.
Como individuo, me motiva la oportunidad de aplicar mis habilidades y conocimientos en el
desarrollo de una solución tecnológica que tenga un impacto positivo en la vida de las personas.
Además, me impulsa el interés por la innovación y el uso de la tecnología para resolver
15

problemas importantes en la sociedad, como la gestión de citas médicas. La realización de este


trabajo me brinda la oportunidad de combinar mi pasión por la tecnología con mi compromiso
con el bienestar de los demás, lo que me llena de satisfacción personal y me impulsa a seguir
adelante con el proyecto.

1.6.7 Justificación económica


La justificación económica de este proyecto es fundamental para entender el valor
financiero que aporta. El presupuesto total del proyecto incluye la asignación de fondos para el
desarrollo de software, adquisición de hardware necesario, licencias de software, así como
posibles colaboraciones con entidades públicas o privadas. Estos recursos son esenciales para
garantizar el éxito y la viabilidad del proyecto, ya que permiten cubrir los costos asociados con el
desarrollo, implementación y mantenimiento de la plataforma "ConsultasOnline". Además, la
inversión en este proyecto puede generar retornos significativos a largo plazo al mejorar la
eficiencia operativa de las instituciones de salud, reducir los costos asociados con la gestión de
citas médicas y mejorar la satisfacción del paciente. Por lo tanto, esta justificación económica no
solo es necesaria, sino también estratégica para asegurar el éxito del proyecto y maximizar su
impacto en el sector de la salud.

1.7 Delimitación de la Investigación


1.7.1 Delimitación Espacial
El presente proyecto se implementará en la clínica del municipio de Warnes de la Ciudad
de Santa Cruz de la Sierra Bolivia

1.7.2 Delimitación Temporal


El desarrollo del presente proyecto tendrá una duración de 4 meses, comprendido desde el
mes de mayo del 2021 hasta agosto del 2021.

1.7.3 Delimitación Sustantiva


La delimitación sustantiva está comprendida en los siguientes módulos:

 Modulo Autenticación
 Módulo de Roles y Permisos
 Módulo de Staff
 Módulo de especialidades
16

 Módulo de Doctores
 Módulo de Pacientes
 Módulo de Citas Medicas
 Módulo de Pagos
 Módulo de Calendario
 Módulo de Consultas Medicas

1.8 Metodologías
En la metodología de desarrollo del software se utilizó la Programación Extrema (XP) y
como marco de trabajo la metodología SCRUM y en Lenguaje Unificado de Modelado (U.M.L.)
para documentar los artefactos del sistema.

1.9 Herramientas Tecnológicas


 Laravel se utilizó como framework en el backend.
 Angular se utilizó como framework en el frontend.
 Visual Studio Code se utilizó como IDE para el backend y frontend.
 MYSQL se utilizó como base de datos.
 API de Facebook se utilizó para notificaciones de recordatorio al paciente.
 Cron Jobs se utilizó para la automatización de procesos.
 JWT se utilizó como seguridad de API.
 Redis se utilizó para guardar en cache las consultas.
 Git y GitHub se utilizaron como control de versiones con.
 Crear y Configurar droplets con (Ubuntu y Linux).
 DIGITALONCEANS para deploy del proyecto.
 Para pruebas se utilizó Postman.

1.10 Normas y Estándares


 La Norma APA versión 7 se utilizó para documentar el proyecto.
17

2 CAPITULO 2. MARCO TEORICO


2.1 Empresa
2.1.1 Historia
El Hospital Nuestra Señora del Rosario está gestionado por las Hermanas de la Caridad
de Santa Ana, congregación fundada en 1804 por la Beata María Rafols y el Padre Juan Bonal en
el Hospital Real y General de Nuestra Señora de Gracia de Zaragoza.
Fue a finales de la década de 1880 cuando la Madre Candelaria Marmuyed, acompañada
de otras Hermanas de la Congregación, emprende camino a Madrid con el fin de desarrollar en la
capital su voluntad y su afán de ayuda y cuidado de los ciudadanos más desfavorecidos. Aúnan sus
esfuerzos con D. Francisco Méndez, capellán del Rey Alfonso XII y perteneciente a la Orden de
Caballeros Hospitalarios, que se dedicaban a atender en consultas gratuitas a personas de escasos
recursos, a quienes proporcionaban también las medicinas.
Con el tiempo, las Hermanas amplían su actividad al comprar una casa en un descampado
en las afueras de Madrid, en la actual calle Castelló, donde se dedican al cuidado y la atención de
convalecientes que salen del hospital y no tienen quien les atienda ni donde ser acogidos.

El 22 de marzo de 1889, con la asistencia de la Reina Doña Mª Cristina, se inaugura el


Hospital Nuestra Señora del Rosario, que en aquel momento es denominado Casa de Salud y
Convalecientes. Tres años más tarde, en 1892, las Hermanas, tras ser reconocidas como
Congregación de derecho pontifico, salen hacia las leproserías de Venezuela.
Duros fueron los comienzos por la falta de recursos, pero las Hermanas suplían las
carencias con su trabajo duro y callado, ayudadas por algunas donaciones de personas de bien, que
eran conscientes de sus penurias y del entusiasmo que ponían en la obra.

Poco a poco el hospital se fue adaptando a las nuevas necesidades y a los tiempos y así, 70
años después, en 1958, se inauguraba un nuevo edificio destinado a maternidad, actividad por la
que fue ampliamente conocido en Madrid.

En abril de 1986 un coche bomba, colocado en la calle Juan Bravo, hizo verdaderos
estragos en su fachada y en su interior, hecho que provocó una tremenda conmoción en la
18

Congregación y en el personal que compartía el trabajo con las Hermanas, que llegaron a
replantearse la continuidad del hospital.

Finalmente, la Congregación de Hermanas de la Caridad de Santa Ana, con su Consejo


General a la cabeza, tomó la decisión de mantener la actividad asistencial del centro, adecuándolo
a las necesidades del momento, dándole una proyección de futuro y dotándolo de los medios
técnicos y humanos necesarios para hacer de él lo que hoy es, esto es, un moderno hospital general.

A lo largo de toda su existencia –en 2019 ha cumplido 130 años de historia- la razón de ser
del Hospital Nuestra Señora del Rosario ha sido dignificar, humanizar y evangelizar el mundo de
la salud, desde la dimensión del Carisma de Caridad que los fundadores imprimieron a la
Congregación de las Hermanas de la Caridad de Santa Ana y que esta ha cumplido fielmente.
2.1.2 Misión
Nuestro hospital es una institución sin ánimo de lucro, perteneciente a la Congregación de
las Hermanas de la Caridad de Santa Ana, y forma parte de un Proyecto de Hospitalidad y Salud de
alcance universal.

Nuestra atención está inspirada en la concepción cristiana de la persona, en el respeto a su


libertad, dignidad y derechos, desde una propuesta de humanización de la atención sanitaria.

Prestamos atención hospitalaria médico-quirúrgica especializada, desarrollando funciones


de investigación y docencia.

Ofrecemos una atención integral a las personas que demandan nuestros servicios de salud,
con una apuesta por la calidad asistencial, una tecnología puntera y un compromiso de
profesionalidad.

Y todo ello, con nuestro propio estilo: “con todo cuidado, con todo detalle, con todo amor”.
19

2.1.3 Visión
Esperamos ser su hospital de elección porque compaginamos humanización y técnica,
acogida y profesionalidad, en el marco de una vocación de servicio, puesta a disposición de las
personas y de su salud.

2.1.4 Organigrama

DIRECTOR

DOCTOR ENFERMERA/O

ESPECIALISTAS
RECEPCIONISTA AUXILIARES

2.1.5 Localización
El hospital nuestra señora del rosario se encuentra ubicado en la provincia Warnes, calle
Bolívar, lado Este a dos cuadras de la carretera principal Warnes- Santa Cruz
20

2.1.5 Servicios
es un establecimiento destinado para la atención y asistencia a enfermos por medio de
personal médico, enfermería, personal auxiliar y de servicios técnicos durante 24 horas, 365 días
del año y disponiendo de tecnología, aparatología, instrumental y farmacología adecuadas.

2.2 Ingeniería de software


La ingeniería de software es un campo amplio que abarca el desarrollo de software desde su
concepción hasta su entrega y mantenimiento. Aquí hay algunos aspectos clave que abarca:

 Análisis y Diseño de Software: Comprende la identificación de requisitos del cliente, el


diseño de la arquitectura del software y la creación de modelos que guíen el desarrollo.
 Desarrollo de Software: Involucra la implementación del diseño mediante la codificación de
programas utilizando diferentes lenguajes de programación y herramientas de desarrollo.
 Pruebas de Software: Se refiere a la verificación y validación del software para garantizar que
cumple con los requisitos y funciona correctamente. Esto incluye pruebas de unidad,
integración, sistema y aceptación, entre otras.
 Gestión de Proyectos de Software: Implica planificar, coordinar y controlar los recursos y
actividades relacionadas con el desarrollo de software para garantizar que los proyectos se
completen a tiempo y dentro del presupuesto.
 Mantenimiento de Software: Consiste en realizar cambios y mejoras en el software existente
para corregir errores, agregar nuevas funciones o adaptarlo a nuevos requisitos.
21

 Calidad de Software: Se refiere a la aplicación de estándares y procesos para garantizar la


calidad del software en términos de funcionalidad, confiabilidad, eficiencia, seguridad y
facilidad de mantenimiento.
 Gestión de Configuración: Implica controlar y gestionar los cambios en el software y otros
activos relacionados para garantizar la integridad y la trazabilidad de los mismos a lo largo
del ciclo de vida del software.
 Ingeniería de Requisitos: Se ocupa de la captura, análisis, especificación y gestión de los
requisitos del software, asegurando que reflejen las necesidades y expectativas de los usuarios
y otras partes interesadas.

2.2.1 Administración del proyecto


La administración de proyectos es la metodología utilizada para lograr objetivos específicos
dentro de un hospital o clínica en un tiempo estimado. Persigue metas fundamentales para la institución
de salud: eficiencia en la prestación de servicios, mejora en la atención al paciente, optimización de
recursos, reducción de costos operativos y tiempos de espera, coordinación interdepartamental, control de
calidad, y evaluación continua de resultados, entre otros aspectos clave.

Principales objetivos de la administración de proyectos en el contexto hospitalario o clínico:

 Mejora de la atención al paciente y aumento de la eficacia en los resultados clínicos.


 Control y gestión de riesgos relacionados con la salud del paciente y la operación del hospital.
 Optimización de recursos humanos, materiales y financieros para garantizar una atención médica
eficiente y sostenible.
 Cumplimiento de plazos y presupuestos establecidos para proyectos específicos, como la
implementación de nuevas tecnologías o la mejora de infraestructuras.
 Coordinación efectiva entre diferentes departamentos y equipos médicos para proporcionar una
atención integral y multidisciplinaria.
 Evaluación continua de la calidad de los servicios de salud y la satisfacción del paciente para
identificar áreas de mejora y optimización en la gestión hospitalaria.

2.2.2 Método del costo de personal COCOMO 1


El modelo COCOMO (COnstructive COst MOdel) fue creado por Barry Boehm en la
Universidad del Sur de California en la década de 1980. COCOMO es un modelo de estimación de costos
y esfuerzo para proyectos de desarrollo de software. Fue una de las primeras herramientas formales para
estimar los costos, esfuerzos y plazos asociados con el desarrollo de software.
22

El modelo COCOMO original, conocido como COCOMO 1, fue presentado en 1981.


Proporcionaba una manera de estimar el esfuerzo requerido para desarrollar un proyecto de software en
función del tamaño del proyecto, medido en líneas de código. COCOMO 1 tenía tres niveles de
estimación:

 Básico: Estimaba el esfuerzo y el tiempo requerido para un proyecto en función del tamaño del
software.
 Intermedio: Añadía factores adicionales como la complejidad, la experiencia del equipo y la
capacidad de reutilización.
 Detallado: Proporcionaba una estimación más detallada considerando múltiples atributos del
proyecto.

COCOMO 1 sentó las bases para futuros modelos de estimación de costos y esfuerzo en el desarrollo
de software. Aunque ha sido sucedido por versiones más recientes como COCOMO II, su contribución al
campo de la ingeniería de software es significativa.

2.2.3 Métricas del Proyecto


Al desarrollar la aplicación web para un hospital o clínica utilizando tecnologías como Laravel 10
y Angular, se ha fundamentado establecer métricas claras para medir el éxito del proyecto. Algunas de
estas métricas incluyen:

 Satisfacción del Personal Médico y Administrativo: Evaluar cómo el personal del hospital percibe
y utiliza la aplicación. Se puede medir mediante encuestas de satisfacción y retroalimentación
directa del personal.
 Eficiencia en la Gestión de Citas: Medir la capacidad de la aplicación para gestionar
eficientemente las citas médicas, minimizando el tiempo de espera de los pacientes y optimizando
la agenda del personal médico.
 Accesibilidad y Usabilidad: Evaluar la facilidad con la que los usuarios pueden acceder y utilizar
la aplicación. Se puede medir mediante pruebas de usabilidad y análisis de la experiencia del
usuario.
 Integración con Sistemas Existentes: Medir la capacidad de la aplicación para integrarse sin
problemas con los sistemas y herramientas existentes en el hospital, como los sistemas de gestión
de pacientes y de historias clínicas electrónicas.
 Seguridad y Cumplimiento Normativo: Evaluar la seguridad de la aplicación en términos de
protección de datos de pacientes y cumplimiento de regulaciones como HIPAA (en el caso de
Estados Unidos) u otras normativas locales.
23

 Tiempo de Respuesta y Rendimiento: Medir el tiempo que tarda la aplicación en responder a las
solicitudes de los usuarios y su capacidad para manejar un alto volumen de transacciones sin
degradación del rendimiento.
 Adopción por parte de los Pacientes: Evaluar la aceptación y el uso de la aplicación por parte de
los pacientes para realizar tareas como programar citas, acceder a resultados de exámenes y
comunicarse con el personal médico.
 Reducción de Errores y Tiempo de Administración: Medir la reducción de errores administrativos
y el tiempo dedicado a tareas administrativas repetitivas gracias a la implementación de la
aplicación.

2.2.4 Administración de riesgo


La gestión de riesgos en un hospital o clínica es una función crucial de la organización. Implica
alinear estrategias, procesos, personal, tecnologías y conocimientos para enfrentar y mitigar la
incertidumbre inherente a la prestación de servicios de salud. Esta gestión no se limita solo a riesgos de
contingencias, sino que aborda los peligros asociados con todas las actividades médicas y administrativas.

En el ámbito hospitalario, los tipos de riesgos laborales incluyen:

 Riesgos físicos: Tales como lesiones por movimientos repetitivos, caídas, y exposición a agentes
biológicos.
 Riesgos químicos: Relacionados con la manipulación y exposición a sustancias químicas
utilizadas en la limpieza, esterilización y tratamiento de pacientes.
 Riesgos ergonómicos: Asociados con posturas y movimientos repetitivos que pueden causar
fatiga y lesiones musculoesqueléticas en el personal médico y de apoyo.
 La gestión efectiva de estos riesgos es fundamental para garantizar un entorno de trabajo seguro y
proteger la salud y el bienestar tanto del personal como de los pacientes atendidos en el hospital o
clínica.

2.3 Metodología del proyecto


2.3.1 Metodología SCRUM
Scrum es un marco de trabajo ágil que se centra en la entrega iterativa e incremental de productos
y servicios. Se basa en principios de transparencia, inspección y adaptación, y proporciona un enfoque
estructurado para la gestión de proyectos. Algunos conceptos clave de Scrum incluyen:

 Roles: Scrum define tres roles principales: Product Owner, Scrum Master y Equipo de Desarrollo.
Cada uno tiene responsabilidades específicas en el proceso de desarrollo.
24

 Eventos: Scrum utiliza eventos como la Planificación del Sprint, la Reunión Diaria (Daily
Scrum), la Revisión del Sprint y la Retrospectiva del Sprint para facilitar la colaboración y la
entrega continua.
 Artefactos: Los artefactos en Scrum incluyen el Backlog del Producto, el Backlog del Sprint y el
Incremento del Producto. Estos artefactos ayudan a mantener la transparencia y a gestionar el
trabajo del equipo.
 Iteraciones (Sprints): Scrum divide el trabajo en iteraciones cortas llamadas Sprints, generalmente
de 2 a 4 semanas de duración, durante las cuales se desarrolla y entrega un incremento del
producto.

Scrum se enfoca en la flexibilidad y la capacidad de adaptación, permitiendo a los equipos responder


rápidamente a los cambios en los requisitos del cliente y en el entorno del proyecto.

2.3.2 Metodología XP
Extreme Programming (XP) es una metodología ágil que se centra en la mejora continua de la
calidad del software y la satisfacción del cliente. XP promueve prácticas de desarrollo como la
programación en pareja, las pruebas unitarias automatizadas, la integración continua y la refactorización
del código. Algunos principios y prácticas clave de XP incluyen:

 Valores: XP se basa en cinco valores fundamentales: Comunicación, Simplicidad,


Retroalimentación, Valentía y Respeto.
 Prácticas de Ingeniería: XP promueve prácticas como la programación en pareja (Pair
Programming), las pruebas unitarias automatizadas, el diseño incremental y la integración
continua para garantizar la calidad del código y facilitar los cambios frecuentes.
 Iteraciones Cortas: Al igual que Scrum, XP utiliza iteraciones cortas para entregar software de
manera incremental y obtener retroalimentación temprana del cliente.
 Cliente en Sitio: XP fomenta la colaboración cercana con el cliente, incluyendo la participación
activa del cliente en el equipo de desarrollo y la disponibilidad constante para proporcionar
retroalimentación y clarificar requisitos.

XP se centra en la entrega rápida de software funcional y de alta calidad, utilizando prácticas de


desarrollo que fomentan la colaboración, la simplicidad y la mejora continua.
25

2.4 Plataformas
2.4.1 Aplicación Web
Las aplicaciones web son programas informáticos que se ejecutan en un navegador web.
Son accesibles a través de internet y no requieren que el usuario descargue ni instale ningún
software en su dispositivo. Estas aplicaciones pueden realizar una amplia variedad de funciones,
desde tareas simples como enviar correos electrónicos hasta complejas como gestionar bases de
datos o realizar transacciones financieras. Ejemplos comunes de aplicaciones web incluyen redes
sociales, servicios de correo electrónico, tiendas en línea y aplicaciones de productividad como
Google Docs. Si necesitas más detalles o tienes alguna otra pregunta, estoy aquí para ayudar.

2.4.2 Tipos de Aplicaciones Web


 Aplicaciones web Estáticas
Son páginas web que muestran contenido fijo y no interactivo. El contenido se muestra
tal como está almacenado y no cambia dinámicamente. Son útiles para sitios web simples que no
requieren actualizaciones frecuentes.

 Aplicaciones web Dinámicas


Estas aplicaciones muestran contenido que puede cambiar dinámicamente en función de
la interacción del usuario o de otros factores. Utilizan tecnologías como JavaScript y pueden
conectarse a bases de datos para mostrar información actualizada en tiempo real.

 Aplicaciones web de Comercio Electrónico


Son plataformas en línea diseñadas para permitir a los usuarios comprar productos o
servicios directamente a través de internet. Incluyen funcionalidades como catálogos de
productos, carritos de compra, opciones de pago seguro y gestión de pedidos.

 Aplicaciones web de Gestión de Contenido


Son sistemas que permiten a los usuarios crear, editar y gestionar contenido digital, como
artículos, imágenes y vídeos. Estas aplicaciones suelen tener funcionalidades de administración
de usuarios, programación de publicaciones y gestión de permisos.
26

 Aplicaciones web de Pagina Única


Son aplicaciones que cargan una sola página web y luego actualizan dinámicamente esa
página en respuesta a la interacción del usuario, sin necesidad de recargar la página entera. Son
conocidas por proporcionar una experiencia de usuario fluida y rápida.

 Aplicaciones web de Portal


Son aplicaciones que actúan como puertas de entrada a una variedad de recursos,
servicios y contenido en línea. Suelen incluir funciones como personalización del contenido,
acceso a múltiples servicios y herramientas de búsqueda avanzada.

 Aplicaciones web Progresivas


Son aplicaciones web que utilizan las últimas tecnologías web para proporcionar una
experiencia similar a la de una aplicación nativa en dispositivos móviles y de escritorio. Ofrecen
funcionalidades como notificaciones push, acceso offline y capacidad de instalación en el
dispositivo del usuario. Son diseñadas para ser rápidas, fiables y engaging.

 Importancia De Una Aplicación Web

Una aplicación web es importante porque brinda accesibilidad universal, permitiendo que

usuarios de cualquier lugar y dispositivo puedan acceder a tus servicios o contenido. Elimina la

barrera de instalación, facilitando que los usuarios comiencen a utilizarla de inmediato. Además,

su capacidad para actualizarse rápidamente en el servidor garantiza una experiencia actualizada y

uniforme para todos los usuarios. Su costo relativamente bajo en comparación con las

aplicaciones nativas la hace accesible para una amplia gama de empresas y proyectos. Además,

ofrece un seguimiento detallado del comportamiento del usuario y es escalable para adaptarse a

cualquier aumento en la demanda. En resumen, una aplicación web es una herramienta crucial

para alcanzar una audiencia global, brindar una experiencia de usuario óptima y mantener los

costos de desarrollo bajo control.


27

 Ventajas De Una Aplicación Web

1. Accesibilidad: Las aplicaciones web son accesibles desde cualquier dispositivo con

conexión a Internet y un navegador web, lo que las hace convenientes y fácilmente

disponibles para un amplio público.

2. Costo: Desarrollar y mantener una aplicación web puede ser más económico que

crear una aplicación nativa para múltiples plataformas. Además, los usuarios no

necesitan descargar ni instalar nada, lo que reduce las barreras de entrada.

3. Actualizaciones: Las actualizaciones de una aplicación web se pueden implementar

de manera rápida y sin interrupciones para los usuarios. Esto garantiza que siempre

estén utilizando la versión más reciente y mejorada de la aplicación.

4. Compatibilidad: Las aplicaciones web pueden funcionar en una variedad de

navegadores y sistemas operativos, lo que las hace compatibles con una amplia gama

de dispositivos.

5. Escalabilidad: Las aplicaciones web pueden escalar fácilmente para adaptarse a un

aumento en el tráfico o la demanda de usuarios, lo que las hace ideales para empresas en

crecimiento.

6. Colaboración: Las aplicaciones web facilitan la colaboración entre usuarios, ya que

pueden acceder y compartir información de forma simultánea desde diferentes

ubicaciones.

7. Análisis y seguimiento: Se pueden implementar fácilmente herramientas de análisis en

una aplicación web para realizar un seguimiento del comportamiento de los usuarios, lo

que proporciona datos valiosos para mejorar la experiencia del usuario y la eficacia de la

aplicación.
28

2.5 Interfaz de Programación de aplicaciones

2.5.1 Rest

Figura 1
Arquitectura Api Rest

Nota. La Figura representa la arquitectura de una API Rest. Elaboración propia.

REST (Representational State Transfer) es un estilo arquitectónico para el diseño de

sistemas de software distribuido. Se basa en un conjunto de principios que promueven la

construcción de servicios web escalables, simples y eficientes. En lugar de utilizar protocolos

complejos, REST se apoya en los protocolos estándar de la web, como HTTP.

En términos simples, REST define un conjunto de reglas sobre cómo los recursos pueden

ser definidos y accedidos a través de HTTP. Estos recursos son representaciones de datos que

pueden ser accedidos mediante URLs. Por ejemplo, un sitio web puede tener recursos como

/usuarios, /productos, etc.

Las características principales de REST incluyen:


29

1. Arquitectura cliente-servidor: La comunicación se realiza entre un cliente y un

servidor, donde el cliente envía solicitudes HTTP y el servidor responde con datos.

2. Sin estado: Cada solicitud del cliente al servidor debe contener toda la información

necesaria para comprenderla, lo que significa que el servidor no debe mantener ningún estado de

sesión sobre el cliente entre solicitudes.

3. Interfaz uniforme: Utiliza un conjunto uniforme de operaciones bien definidas, como

GET, POST, PUT y DELETE, para manipular recursos.

4. Sistema de capas: Permite que la arquitectura del sistema esté compuesta por capas, lo

que facilita la escalabilidad y la seguridad.

2.6 Arquitectura del Software

2.6.1 MVC

MVC (Modelo Vista Controlador) es un patrón arquitectónico ampliamente utilizado en

el desarrollo de aplicaciones web y de software. Este patrón separa la aplicación en tres

componentes principales: el Modelo, encargado de la gestión de datos y la lógica de negocio; la

Vista, responsable de la presentación de la interfaz de usuario; y el Controlador, que actúa como

intermediario entre el Modelo y la Vista, gestionando las interacciones del usuario y las

solicitudes de datos. Esta separación de responsabilidades promueve una estructura organizada y

modular, facilitando la mantenibilidad, escalabilidad y reutilización del código.

2.6.2 Formato de Intercambio de Datos JSON

JSON (JavaScript Object Notation) es un formato ligero de intercambio de datos utilizado

ampliamente en el desarrollo de aplicaciones web y de software. Se basa en una estructura de

pares clave-valor y en la representación de datos en formato de texto legible para humanos. En


30

JSON, los datos se organizan en objetos, que pueden contener arrays, otros objetos o valores

primitivos como cadenas de texto, números, booleanos o nulos. Este formato es fácil de entender

y trabajar para los desarrolladores, y es compatible con la mayoría de los lenguajes de

programación. JSON es especialmente popular en el desarrollo de servicios web y APIs REST

debido a su simplicidad y flexibilidad en la transmisión de datos entre clientes y servidores.

2.7 Herramientas de Implementación

2.7.1 Lenguajes de Software

Un lenguaje de programación es un conjunto de instrucciones y reglas que le permite a un

programador escribir código para comunicarse con una computadora y darle órdenes para que

realice determinadas tareas. Estos lenguajes están diseñados con una sintaxis específica y un

conjunto de reglas gramaticales que permiten expresar algoritmos y procesos de manera

estructurada y comprensible para la máquina. Los lenguajes de programación pueden variar en

complejidad y propósito, desde lenguajes de bajo nivel, que están más cerca del lenguaje

máquina y son utilizados para programación de sistemas y control de hardware, hasta lenguajes

de alto nivel, que ofrecen abstracciones más potentes y son utilizados en el desarrollo de

aplicaciones de software, sitios web, inteligencia artificial, entre otros. Ejemplos comunes de

lenguajes de programación incluyen Python, Java, C++, JavaScript, entre otros.

 TypeScript

TypeScript es un lenguaje de programación desarrollado por Microsoft que extiende las

capacidades de JavaScript al agregarle tipado estático opcional y otras funcionalidades que

mejoran la calidad y mantenibilidad del código. Permite declarar tipos de datos para variables,

parámetros y funciones, lo que ayuda a detectar errores de manera temprana y a facilitar el

trabajo en proyectos de gran escala. Además, soporta características de programación orientada a


31

objetos como clases e interfaces, y se integra fácilmente con tecnologías populares como

Angular, React y [Link]. TypeScript se compila a JavaScript estándar, lo que garantiza su

compatibilidad con cualquier navegador web o entorno [Link]. Con su conjunto de

herramientas de desarrollo que incluyen un compilador y un servidor de desarrollo, TypeScript

se ha convertido en una opción preferida para el desarrollo de aplicaciones web y de software

robustas y escalables.

 Php

PHP (Hypertext Preprocessor) es un lenguaje de programación de código abierto

diseñado para el desarrollo de aplicaciones web dinámicas. Con una sintaxis simple y familiar,

PHP se integra fácilmente con HTML y ofrece una amplia compatibilidad con servidores web y

sistemas operativos. Su extensa biblioteca de funciones predefinidas facilita tareas comunes

como el acceso a bases de datos y la manipulación de archivos. PHP es altamente flexible y

escalable, lo que lo hace adecuado para una amplia variedad de proyectos, desde pequeños

scripts hasta grandes sistemas empresariales. Con una comunidad activa y una amplia

documentación disponible, PHP es una opción popular para desarrolladores que buscan crear

aplicaciones web interactivas y dinámicas.

 Frameworks

Un framework es un conjunto de herramientas, bibliotecas y convenciones de código que

proporcionan una estructura y funcionalidades predefinidas para el desarrollo de aplicaciones o

proyectos de software. Los frameworks están diseñados para facilitar y agilizar el proceso de

desarrollo al ofrecer soluciones comunes para tareas como la gestión de bases de datos, la

creación de interfaces de usuario, el enrutamiento de URLs, la seguridad y mucho más. Al

utilizar un framework, los desarrolladores pueden aprovechar el trabajo ya realizado por otros,
32

reduciendo así el tiempo y esfuerzo necesarios para construir una aplicación desde cero. Además,

los frameworks suelen seguir patrones de diseño y buenas prácticas que ayudan a mantener un

código organizado, escalable y mantenible a lo largo del tiempo.

 Angular

Angular es un framework de desarrollo de aplicaciones web de código abierto y

desarrollado por Google. Está escrito en TypeScript y es ampliamente utilizado para crear

aplicaciones web de una sola página (Single Page Applications - SPAs) y aplicaciones web

dinámicas. Algunas características importantes de Angular son:

o Arquitectura basada en componentes: Angular utiliza una arquitectura basada en

componentes, donde cada parte de la interfaz de usuario es representada por un

componente independiente. Esto facilita la reutilización de código y el mantenimiento de

la aplicación.

o Tipado estático: Al estar escrito en TypeScript, Angular ofrece tipado estático opcional,

lo que ayuda a detectar errores durante la fase de desarrollo y mejora la legibilidad del

código.

o Inyección de dependencias: Angular utiliza un sistema de inyección de dependencias para

gestionar las dependencias entre los componentes de la aplicación, lo que facilita la

creación de código modular y mantenible.

o Rutas y navegación: Angular ofrece un enrutador incorporado que permite gestionar las

rutas y la navegación dentro de la aplicación de forma sencilla y eficiente.


33

o Binding de datos bidireccional: Angular utiliza el binding de datos bidireccional, lo que

significa que los cambios en el modelo de datos se reflejan automáticamente en la vista y

viceversa, sin necesidad de código adicional.

o Herramientas de desarrollo: Angular viene con un conjunto de herramientas de desarrollo

que incluyen un potente CLI (Command Line Interface) para la creación de proyectos,

generación de componentes, pruebas unitarias y más.

o Integración con otras tecnologías: Angular se integra fácilmente con otras tecnologías y

bibliotecas, como TypeScript, RxJS para la programación reactiva, y herramientas de

prueba como Jasmine y Karma.

 Laravel

Laravel es un framework de desarrollo de aplicaciones web PHP de código abierto y

altamente popular. Destaca por su elegante y expresiva sintaxis que facilita el desarrollo rápido y

eficiente de aplicaciones web. Algunas características importantes de Laravel son:

o Arquitectura MVC: Laravel sigue el patrón de diseño Modelo-Vista-Controlador (MVC),

lo que permite una separación clara de la lógica de negocios y la presentación de la

aplicación, facilitando así el mantenimiento y la escalabilidad del código.

o Sistema de enrutamiento: Laravel ofrece un sistema de enrutamiento simple y expresivo

que permite definir fácilmente las rutas de la aplicación y asociarlas con controladores y

acciones específicas.
34

o Eloquent ORM: Laravel incluye Eloquent, un ORM (Object-Relational Mapping) que

simplifica la interacción con la base de datos al permitir el uso de modelos y relaciones

entre ellos, eliminando así la necesidad de escribir consultas SQL manualmente.

o Blade Templating Engine: Laravel utiliza Blade, un motor de plantillas que permite

escribir código HTML de forma limpia y sencilla, con características como la herencia de

plantillas, la inclusión de sub-vistas y la definición de directivas propias.

o Herramientas de seguridad: Laravel proporciona diversas herramientas de seguridad

integradas, como protección contra ataques CSRF (Cross-Site Request Forgery), filtrado

de entradas y autenticación de usuarios, lo que facilita el desarrollo de aplicaciones

seguras.

o Migraciones de bases de datos: Laravel ofrece un sistema de migraciones de bases de

datos que permite controlar la estructura de la base de datos de forma programática y

mantener un historial de los cambios realizados, lo que facilita la colaboración entre

equipos de desarrollo y el despliegue de aplicaciones en diferentes entornos.

2.7.3 Entorno de Ejecución

PHP 8.2.12, Node v20.10.0, Angular CLI: 17.0.9, Composer version 2.6.5, Laravel 10
35

2.7.4 Control de Versiones

Figura 2

Manera de trabajar con un control de versiones

Un control de versiones es un sistema que registra los cambios realizados en los archivos

de un proyecto a lo largo del tiempo, permitiendo mantener un historial detallado de

modificaciones, gestionar conflictos, revertir cambios, facilitar el trabajo colaborativo y

experimentar con nuevas características mediante el uso de ramas de desarrollo. Ejemplos

populares incluyen Git, Subversion (SVN) y Mercurial, siendo fundamentales en el desarrollo de

software para gestionar el código fuente de proyectos de forma eficiente.


36

 Git

Figura 3

Logo de Git

Git es un sistema de control de versiones distribuido ampliamente utilizado en el

desarrollo de software. Permite a los desarrolladores llevar un registro de los cambios realizados

en el código fuente de un proyecto a lo largo del tiempo. Con Git, los desarrolladores pueden

realizar un seguimiento de las modificaciones, revertir cambios si es necesario, trabajar en

diferentes ramas de desarrollo de forma simultánea y colaborar de manera efectiva en proyectos

compartidos. Git facilita la gestión del código fuente y es fundamental en el proceso de

desarrollo de software moderno.


37

 GitHub

Figura 4

Logo de GitHub

GitHub es una plataforma en línea que utiliza el sistema de control de versiones Git para

alojar y gestionar proyectos de desarrollo de software. Permite a los desarrolladores almacenar,

compartir y colaborar en código fuente de manera eficiente. En GitHub, los usuarios pueden

crear repositorios para sus proyectos, realizar seguimiento de problemas, solicitar y revisar

cambios de código (pull requests), gestionar tareas y colaborar con otros desarrolladores a través

de herramientas como la revisión de código y la integración continua. Es una herramienta

fundamental en la comunidad de desarrollo de software, tanto para proyectos de código abierto

como para empresas.


38

2.7.5 Gestor de Base de Datos

Figura 5

Gestor de Base de Datos

Un gestor de base de datos es un software que se encarga de administrar y gestionar la

información almacenada en una base de datos. Proporciona una interfaz para crear, modificar y

eliminar datos, así como para realizar consultas y recuperar información de manera eficiente. Los

gestores de bases de datos también controlan el acceso a los datos, garantizando la seguridad y la

integridad de la información almacenada. Algunos ejemplos populares de gestores de bases de

datos incluyen MySQL, PostgreSQL, Microsoft SQL Server, Oracle Database y MongoDB,

entre otros. Estos sistemas son fundamentales en el desarrollo de aplicaciones que requieren

almacenamiento y manipulación de datos de manera estructurada.


39

 MySQL

Figura 6

Logo de MySQL

MySQL es un sistema de gestión de bases de datos relacional de código abierto

ampliamente utilizado en el desarrollo de aplicaciones web y empresariales. Fue desarrollado

inicialmente por MySQL AB y posteriormente adquirido por Oracle Corporation. MySQL utiliza

el modelo relacional para almacenar y organizar datos en tablas que se pueden relacionar entre sí

mediante claves primarias y claves foráneas. Es conocido por su velocidad, fiabilidad y facilidad

de uso, y es compatible con una amplia gama de plataformas y lenguajes de programación.

MySQL se utiliza en una variedad de aplicaciones, desde pequeños sitios web hasta grandes

sistemas empresariales, y es una opción popular entre los desarrolladores debido a su robustez y

su licencia de código abierto.


40

2.7.6 IDE

Un IDE, o Entorno de Desarrollo Integrado por sus siglas en español, es una aplicación

informática que proporciona a los programadores todas las herramientas necesarias para

desarrollar software de manera eficiente en un solo lugar. Esto incluye un editor de texto con

funciones avanzadas, como resaltado de sintaxis, autocompletado de código y herramientas de

depuración, así como funciones adicionales como la gestión de proyectos, control de versiones,

compilación y ejecución de código, entre otras. Los IDEs están diseñados para mejorar la

productividad de los desarrolladores al proporcionar un entorno de trabajo integrado y

optimizado para el desarrollo de software.


41

 Visual Studio Code

Figura 7
Logo de VS Code

Visual Studio Code es un editor de código fuente desarrollado por Microsoft que está

disponible de forma gratuita y es ampliamente utilizado por desarrolladores de software. Ofrece

una amplia gama de características y extensiones que lo hacen adecuado para la programación en

una variedad de lenguajes, incluyendo, pero no limitado a JavaScript, TypeScript, Python, Java,

C#, C++, entre otros. Visual Studio Code incluye características como resaltado de sintaxis,

autocompletado de código, depuración integrada, control de versiones (a través de Git),

integración con herramientas de compilación y muchas más. Es conocido por su rendimiento, su

extensibilidad a través de una amplia variedad de extensiones y su activa comunidad de usuarios

y desarrolladores que contribuyen con mejoras y nuevas características de manera constante.


42

CAPITULO III INGENIERÍA DEL PROYECTO

Planificación temporal

Descripción del proyecto

Tabla 2

Descripción del proyecto “citas médicas”

proyecto Desarrollo de un sistema de información web de citas medicas


“consultasonline”
Metodología Programación xp y marco de trabajo scrum
Fecha de inicio 10/04/2024
Fecha final 29/07/2024
Duración 4 meses
Costo
contratista

Cronograma general del proyecto

Descripcion de los sprints

Tabla 3

Descripcion de los sprint del proyecto

Nº de sprint Nombre de las Sprint Prioridad Estado Puntos de


tareas listo historia
Sprint 1 Crud SI ALTA TERMINADO 100
Autenticación
Roles y permisos
Modulo staffs
Sprint Crud Si Alta-media Terminado 120
Especialidades
Doctores
Pacientes
Citas medicas
Sprint Crud Si Alta Terminado 120
43

Pagos de citas
Calendario de citas
Consultas medicas
Perfil del paciente
y doctor
Sprint 4 Crud Si Alta Terminado 120
Notificaciones
Uso de redis
Dashboard y kpis
Organización personal

El equipo para la realización del proyecto esta compuesto por 2 personas que cumplen los
siguientes perdiles, según el marco de trabajo scrum

Producto owner: tiene la responsabilidad de decidir que trabjo necesita hacerse y maximizar el
valor del producto o proyecto que esta llevando a cabo. Gestiona prioridades y los presupuestos,
de contratar al esquipo de desarrollo y de explicar ecual es el valor que produce el producto en el
que esta invirtiendo.

Scrum master Es el encargado de garantizar el funcionamiento de los procesos y de la metodología. Es


importante darse cuenta que SCRUM Master es más que un rol, es la responsabilidad de funcionamiento
de modelo, por lo tanto, muchas veces es aconsejable utilizar a personas y puestos más adecuados
según la organización. Un SCRUM master debe interactuar tanto con el equipo como con el cliente y con
los gestores

También podría gustarte