Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTEGRANTES:
Padilla Yapura José Luis
Avalos Seviche Gerald José
Maldonado Gutiérrez Daniel
Ortiz Serrano Edilson
DOCENTE:
ING. Rolando Martínez
ASIGNATURA
Ingeniería de Software I (INF-422)
FECHA: 06/12/2023
2
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
CONTENIDO
1. PERFIL ...................................................................................................................................5
1.1. Descripción del problema ...................................................................................................5
2. METRICAS .............................................................................................................................6
2.1. Bip4Cast ............................................................................................................................6
2.1.1. Funcionalidades Importantes .......................................................................................6
2.1.2. Captura de Interfaces...................................................................................................6
2.1.3. Características del Desarrollador .................................................................................7
2.1.4. Aplicación de Métricas Orientado al Tamaño................................................................7
2.1.5. Aplicación de Métricas Orientado a la Función .............................................................7
2.2. MDxApp............................................................................................................................9
2.2.1. Funcionalidades Importantes .......................................................................................9
2.2.2. Captura de Interfaces...................................................................................................9
2.2.3. Características del Desarrollador ...............................................................................10
2.2.4. Aplicación de Métricas Orientado al Tamaño..............................................................10
2.2.5. Aplicación de Métricas Orientado a la Función ...........................................................11
2.3. App Web ML-MT ...........................................................................................................12
2.3.1. Funcionalidades Importantes .....................................................................................12
2.3.2. Captura de Interfaces.................................................................................................12
2.3.3. Características del Desarrollador ...............................................................................13
2.3.4. Aplicación de Métricas Orientado al Tamaño..............................................................13
2.3.5. Aplicación de Métricas Orientado a la Función ...........................................................13
3. DEFINICIONES PARA LA ESTIMACION............................................................................15
3.1. Dimensiones del Proyecto .................................................................................................15
3.1.1. Tamaño .....................................................................................................................15
3.1.2. Complejidad del proyecto...........................................................................................15
3.1.3. Estructuración del Cliente ..........................................................................................15
3.2. Ámbito del Proyecto .........................................................................................................16
3.2.1. Objetivos del proyecto ................................................................................................16
3.2.2. Requerimientos principales ........................................................................................16
3.2.3. Rendimiento ..............................................................................................................17
3
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
1. PERFIL
Introducción al problema
En el ámbito de la atención médica, la interpretación precisa y rápida de los análisis clínicos es
esencial para la toma de decisiones clínicas efectivas. La creciente cantidad de información
médica, a menudo presentada en documentos, plantea desafíos en la eficiencia y precisión del
análisis por parte de los profesionales de la salud, ya que grandes volúmenes de información que
deben ser analizadas representan desafíos en la gestión de su manejo.
Impacto y consecuencias
La falta de una solución efectiva puede resultar en diagnósticos tardíos o imprecisos, afectando
negativamente la calidad de la atención médica. La demora en la interpretación de los resultados
de los análisis clínicos puede tener consecuencias graves para la salud del paciente.
Contexto externo
Avances en tecnologías de procesamiento de imágenes y procesamiento del lenguaje natural que
podrían ser aplicadas a la interpretación de documentos médicos.
2. METRICAS
2.1. Bip4Cast
Aplicación de Android para recopilar datos para su análisis con fines médicos. Su desarrollo se
inició como parte de un proyecto de fin de carrera en la UCM (Universidad Complutense de
Madrid), que se puede encontrar como "Sistema para predecir crisis de trastorno bipolar
mediante el análisis de datos masivos". Esta aplicación móvil se está utilizando en el proyecto
Bip4cast, en el que se están recopilando datos de pacientes del hospital San Juan de Dios con
el objetivo de mejorar el tratamiento del trastorno bipolar, cuyas crisis pueden evitarse mediante
una predicción temprana.
Ilustración 1: Interfaz
Fuente (Elaboración Propia)
Ilustración 2: Interfaz
Fuente (Elaboración Propia)
7
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
𝐸+𝐷
Calidad = 𝐾𝐿𝐷𝐶 = 0.00126370
𝐾𝐿𝐷𝐶
Productividad = 𝐸𝑠𝑓𝑢𝑒𝑟𝑧𝑜 = 6067.76
14
2.2. MDxApp
MDxApp es una app que utiliza ChatGPT (un chatbot desarrollado recientemente por Open AI)
como proxy para ayudar a proponer un diagnóstico rápido según la demografía del paciente, un
contexto ambiental reciente, una lista de síntomas recientes y relevantes. observaciones sobre
el estado del paciente y cualquier condición crónica existente seguidas de indicaciones sobre
cualquier tratamiento existente.
Ilustración 5: Interfaz
Fuente (Elaboración Propia)
10
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
Ilustración 6: Interfaz
Fuente (Elaboración Propia)
Calidad = 0.0140
Productividad = 11587.5
11
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
Factor de peso
Parámetro de medición Cuenta Simple Medio Complejo Total
Número de entradas de Usuario 4 3 4 6 12
Número de Salidas de Usuario 5 4 5 7 20
Número de peticiones de Usuario 3 3 4 6 9
Número de Archivos 6 7 10 15 42
Número de Interfaces Externas 1 5 7 10 5
Cuenta Total 77
Ilustración 9:
Fuente (Elaboración Propia)
13
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
Calidad = 0.00007216
Productividad = 3403.63
Factor de peso
Parámetro de medición Cuenta Simple Medio Complejo Total
Número de entradas de Usuario 18 3 4 6 72
Número de Salidas de Usuario 145 4 5 7 1015
Número de peticiones de Usuario 15 3 4 6 60
Número de Archivos 36 7 10 15 540
Número de Interfaces Externas 12 5 7 10 120
Cuenta Total 1837
3.1.1. Tamaño
El tamaño del proyecto estará definido por la cantidad de elementos establecidos en el apartado de
Product Backlog y la cantidad de líneas de código medidas en KLDC.
El proyecto cuenta con 11 elementos en total según el Product Backlog, el cual se aprecia
en la tabla de product backlog.
El equipo está conformado por programadores junior que tienen un nivel medio de familiaridad
con el desarrollo en diferentes plataformas e integraciones como inteligencia artificial. Conscientes
de la importancia de ofrecer funcionalidades novedosas en el análisis de documentos médicos,
hemos optado por utilizar tecnologías confiables como "Laravel", que nos permite un manejo
modular y escalable. El equipo está familiarizado con este framework. Sin embargo, las
herramientas y tecnologías asociadas, como JavaScript permiten un uso y aprendizaje más
sencillos.
El proyecto desarrollado tiene como cliente a cualquier individuo que requiera del servicio de
proceso de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio en
consecuencia, los requisitos deben ser bien definidos en búsqueda de obtener y retener la mayor
cantidad de clientes a través del modelo SaaS que es el más apegado a las exigencias del proyecto
en su relación con el cliente.
16
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
Objetivo General
Desarrollar un sistema de asistencia médica para el análisis, diagnóstico y sugerencias a partir de
un análisis clínico.
Objetivos Específicos
Identificar los requerimientos del sistema
Determinar las funcionalidades del sistema mediante análisis de los requerimientos.
Diseñar la planificación requerida para llevar a cabo el proyecto en el tiempo establecido.
Diseñar una BD integra, consistente, accesible y segura para el sistema
Gestionar usuario: se debe poder registrar al usuario del sistema, siendo el usuario
cualquier persona que requiera analizar un documento de análisis clínico.
Registro e inicio de sesión: los usuarios podrán registrarse en el sistema e iniciar sesión
con sus credenciales.
Subir archivos: los usuarios podrán elegir entre dos formatos de archivos para poder
iniciar el proceso de análisis, archivos en formato de imagen y en formato pdf.
Extraer y digitalizar texto de los archivos subidos: cuando los archivos han sido
cargados para su análisis, se extraerá la información en formato de texto digitalizado para
su mejor compresión y procesamiento.
Interpretar el texto extraído y generar documento de análisis: el proceso del análisis
analizara el texto digitalizado y aplicando la IA retornara un documento en formato de
análisis clínico con los siguientes datos: nombre del paciente, asunto, día, mes, año,
diagnostico, recomendaciones.
Listar medicación y una descripción del medicamento asociado con el análisis: el
documento de análisis genera una lista de medicamentos con sus descripciones siempre
que el documento original del análisis que es sometido al procesamiento incluya
referencias a medicación del paciente.
Historial de documentos procesados: se debe poder listar todos los análisis que resultan
del procesamiento de información en una tabla que tenga las siguientes funciones: ver
análisis, eliminar.
Enviar por correo electrónico el documento de análisis clínico: los documentos
generados por el procesamiento deben poder enviarse por a través de correo electrónico a
terceros.
Descargar por pdf el análisis clínico: es posible descargar los documentos generados del
análisis en un formato pdf.
17
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
3.2.3. Rendimiento
El rendimiento del software tiene que ser rápido en el tiempo de respuesta, dado que tendrá
peticiones de usuarios al análisis de documentos médicos (análisis clínicos), donde se debe de
priorizar que la respuesta sea rápida ya que los usuarios al momento de realizar el proceso de
análisis quieren que sus respuestas sean rápidas y no haya fallas en el software.
Base de datos: Se utilizará una base de datos normalizada y optimizada.
3.2.4. Fiabilidad
Por el grado de importancia que tiene la plataforma para sus potenciales clientes se ha determinado
que el grado de fiabilidad que se requiere del mismo es ALTO.
En este sentido, para garantizar la fiabilidad del software se realizarán las siguientes actividades:
Se utilizará un servicio de hospedaje en la nube confiable que permita la recuperación pronta en
caso de caídas y el escalamiento de recursos veloz, en caso de su agotamiento.
Se utilizará un servicio de inteligencia artificial de un proveedor confiable, que garantice la
continuidad del servicio.
3.2.5. Restricciones
Programación: El equipo de gestión del proyecto estableció entre 20 a 30 días para los tres Sprint
que se realizará en torno al marco de trabajo de SCRUM.
Seguimiento: Una vez el proyecto entró en marcha, el Scrum Master y el Product Owner fueron
los encargados de realizar seguimientos cada cierto periodo semanal para establecer un plazo
realista para la finalización del proyecto.
18
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
Control: En el paso de control, el equipo fue comunicando los resultados de cada Sprint del
proyecto y avance en consecuencia. En el primer y segundo Sprint las cosas marcharon bien, se
analizaron los factores que contribuyeron para ese resultado positivo para que pueda continuar y
reproducirse.
Se facilitó la documentación clara del alcance completo del proyecto al principio de este,
incluidos todos los requisitos.
se incluyen:
Recursos: Se estimará la tasa de coste de los bienes y la mano de obra para los
siguientes puntos:
4. ESTIMACIONES
𝑉𝐸 = 58.433 KLDC
𝑉𝐸 = 58433.33 LDC
21
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
3.7.2. Cocomo II
FACTOR DE COMPLEJIDAD
Pantalla 12 1 2 3 12
Reporte 2 2 5 8 10
Componentes 38 10 380
3GL
Experiencia/capacidad X
deldesarrollador
Madurez/capacidad del X
entorno
PROD 4 7 13 25 50
PO = 12+10+380 = 402
PROD = 7+13 = 20
(100−%𝑟𝑒𝑢𝑠𝑜) 59.8
𝑁𝑂𝑃 = PO ∗ 100
= 402 ∗ 100 = 240.39
𝑁𝑂𝑃 240.39
𝐸𝑠𝑓𝑢𝑒𝑟𝑧𝑜 𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑜 = PROD = 20
= 12.01 (cantidad de personas necesarias para llevar a
cabo el proyecto en 1 mes)
22
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
Fórmula de la ecuación:
𝐵 0.333 3 1
𝐸 = (LDC ∗ ) ∗ ( 4)
P 𝑡
Donde:
E= Esfuerzo en hombre-año
B = Factor especial de destrezas, Para programas pequeños B vale 0.16, para programas
intermedios vale 0.28, para programas mayores vale 0.39
𝐸 = 180 ∗ 𝐵 ∗ 𝑡 3
P = 28000
58433.33 0.43
𝑡 = 8.14 ∗ ( ) = 11.17 meses
28000
Velocidad estimada 16
Velocidad real 16
Velocidad estimada 24
Velocidad real 24
4. GESTION DE RIESGO
Tabla de riesgos
La siguiente tabla muestra los diferentes riesgos que se pueden presentar en el proyecto. El impacto
puede tener alguno de los siguientes valores:
NI = No Influye M = Medio SG = Significativo CR = Critico
Usar herramientas
como jira
para llevar un
registro de
actividades con
plazos de entrega
R6. Incapacidad de 40% M Usar herramientas Responsabilidad con
alguno miembro cooperativas y nuestras tareas, en caso
del equipo para explicar lo de que tengamos que
cumplir sus tareas desarrollado de la cubrir algún compañero.
tarea Tener un entendimiento
del proyecto cada una de
las tareas
5.1. Planificación
26
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
Preparación:
Capacitación:
Análisis:
Diseño:
Implementación:
Desarrollar la implementación
Implementación API REST HTTP para la conexión de Frontend y Backend.
6. TABLA DE RECURSOS
To Prec-
Fecha Disponibilidad Precio %
tal Canti Unit Precio
Recurso Unitari Depre
Me dad Neto Total $
Desde Hasta o$ c.
s $
HARDWARE
11/09/20 06/12/20
Router 2 1 70.00 25% 2.92 2.92
23 23
SOTFWARE
11/09/20 06/12/20
Sistema operativo 2 1 45.00 20% 1.50 1.5
23 23
INFRAESTRUC
TURA
28
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
11/09/20 06/12/20
Oficina 2 1 5000 2.5% 125.0 250
23 23
0
11/09/20 06/12/20
Serv. Basiscos 2 1 70.00 100% 70.00 140
23 23
11/09/20 06/12/20
Serv. Internet 2 1 30.00 100% 30.00 60
23 23
PERSONAL
LOGISTICA
7. ORGANIZACIÓN INTERNA
La estructura de equipo que utilizaremos para el desarrollo del software será la Descentralizada
Democrática, ya que la metodología a seguir asigna una tarea a un grupo de trabajo la cual se hace
responsable del cumplimiento de esta tarea. La organización Descentralizada Democrática no tiene
30
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
INTEGRANTES:
Padilla Yapura José Luis
Avalos Severiche Gerald José
Maldonado Gutiérrez Daniel
Ortiz Serrano Edilson
DOCENTE:
ING. Rolando Martínez
ASIGNATURA
Ingeniería de Software I (INF-422)
FECHA: 06/12/2023
33
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
9. METODOLOGIA DE DESARROLLO
Servidor
34
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
9.1.2. Software
En esta sección se describe el hardware que utilizaremos para el desarrollo e implementación de
la aplicación web.
Nombre Descripción
Sistema Operativo
Windows 10 Pro/Home
Lenguaje de Programación
PHP.
Framework
Enterprise Arquitect
35
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
Composer 1.9.*
Product Owner
Responsable Características Justificación
Padilla Es una persona responsable y Fue elegida como Product Owner, ya que
Yapura José comprometida con el equipo de Tiene conocimiento sobre los respectivos
Luis desarrollo. módulos, puede facilitar entre los
requisitos funcionales y no funcionales al
momento de añadir en el product
backlog.
37
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
Equipo de Desarrollo
Responsable Características Justificación
Avalos Es una persona comprometida y Está en el team developer por sus
Severiche colaborativa. conocimientos en el desarrollo de sistemas
Gerald José de software, utilizando herramientas
necesarias para este software a
implementar.
Ortiz Serrano Es una persona responsable, con Pertenece al Team developer, tiene
Edilson iniciativa y participativa. conocimiento de la tecnología de
implementación y aplica sus
conocimientos con las herramientas
requeridas.
Maldonado Es una persona autodidacta, Del team developer por sus capacidades a
Gutierrez colaborativa y responsable con la hora de implementar la solución
Daniel sus tareas. determinada.
Padilla Es participativo, creativo, y Participa al team developer porque es
Yapura José responsable. capaz de realizar las tareas de
Luis programación requeridas.
Scrum Master
Responsable Características Justificación
Stakeholders
Responsable Características Justificación
Product Backlog
ID Tareas Estimación Priorid Tipo
ad
1 Planificar reunión de organización 5 hr 5 Planificación
del equipo scrum
2 Determinar y asignar roles para cada 1hr 3 Planificación
participante del escrutinio
S
3 Documentar el perfil de la 6 hr 3 Planificación
P documentación del proyecto
R 4 Comenzar con captura de requisitos. 24 hrs 5 Análisis
I 5 Definir herramientas de 8 hrs 5 Análisis
implementación.
N
6 Instalar y preparar las herramientas 5 hrs 3 Análisis
T de desarrollo e implementar la
estructura del sistema web
7 Diseñar la base de datos 12 hrs 3 Diseño
1
HU09 extraer y digitalizar texto de los 48 h 4 Implementación
archivos subidos
HU10 interpretar el texto extraído y 48 h 4 Implementación
generar documento de análisis
41
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
2
TOTAL 292 hrs
10. SPRINT 0
11. SPRINT 1
11.1. Sprint Planing
11.1.1. Objetivos del Sprint
Objetivo General
Diseñar e implementar las interfaces de usuario del software.
Objetivos Específicos
UI Inicio de sesión, registro, pantalla principal
UI subir archivos
UI Análisis de documento
UI Documento procesado
UI Historial de documentos procesados
43
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
UI Subir archivos
HU05 Descripción: como usuario debo poder visualizar la vista de selección del tipo de
archivos que deseo subir para el posterior análisis, esto es o bien un PDF o bien una
imagen.
Prioridad: Estimación: 3 hrs
5
Criterios de Aceptación:
La vista permite visualizar dos cards alineadas horizontalmente cada card tiene un texto y
una imagen que acompaña la descripción del tipo de archivo que puede elegir el usuario para
subir
Hay un título centrado en la parte superior de la vista y que dice “elige el formato en que
deseas subir tus archivos”
Desarrolladores a Cargo: Maldonado Gutiérrez Daniel
44
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
UI Análisis de documento
HU06 Descripción: como usuario luego de seleccionar el tipo de archivo que deseo subir debo
poder visualizar una ventana emergente que lista los archivos que seleccione para su
carga y posterior análisis.
Prioridad: Estimación: 2 hrs
5
Criterios de Aceptación:
La ventana emergente tiene un título “Lista de archivos”.
La ventana tiene un checklist por ítem (archivo que se ha cargado para el análisis).
Cada checklist permite quitar los archivos que no se desean analizar.
La ventana emergente tiene 2 botones alineados horizontalmente y ubicados en la parte inferior
derecha de la ventana emergente.
Los botones tienen la función “cancelar” y “comenzar análisis”.
UI Documento procesado
HU07 Descripción: como usuario luego de darle click al botón “comenzar análisis” debo poder
visualizar una vista previa de los archivos cargados para el análisis y su formato
digitalizado.
Prioridad: Estimación: 3 hrs
2
Criterios de Aceptación:
La vista muestra una división vertical que divide las visualizaciones de los archivos por un
lado y el texto digitalizado que representa a estos archivos por otro.
Las visualizaciones de los archivos cargados se ubican a izquierda de la división vertical.
El texto digitalizado se ubica en el lado derecho de la división vertical.
Debe haber 2 botones alineados horizontalmente y ubicados en la parte inferior derecha de la
vista.
Los botones tienen la función “cancelar” y “procesar”.
Desarrolladores a Cargo: Ortiz Serrano Edilson
45
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
Sprint Backlog
1 UI Inicio de sesión, registro,
2
pantalla principal
2 UI subir archivos 5
3 UI Análisis de documento 5
4 UI Documento procesado 2
5 UI Historial de documentos
2
procesados
46
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
Sprint Backlog
(no hay un diagrama de contenedor de esta sección porque solo se tratan de interfaces, no se
Diagrama de Componentes
(no hay un diagrama de componentes de esta sección porque solo se tratan de interfaces, no se
20:50 25 min Estado del Sprint Se concluyó todas las tareas para Scrum Master
este sprint dando así porterminado
este sprint
21:30 15 min Demostraciones Los requisitos para el desarrollo de Equipo de
este Sprint, fueron probados y desarrollo
aceptados por los miembros del
equipo, cumpliendo con todas las
funcionalidades establecidas
previamente.
21:45 5 min Conclusiones Se lograron implementar todas las Scrum Master
funcionalidades para el
funcionamiento del sistema.
12. SPRINT 2
12.1. Sprint Planning
12.1.1. Objetivos del Sprint
Objetivo General
Implementar las todas funcionalidades(backend) del proyecto.
Objetivos Específicos
extraer y digitalizar texto de los archivos subidos
interpretar el texto extraído y generar documento de análisis
listar medicación y una descripción del medicamento asociado con el análisis
enviar por correo electrónico el documento de análisis clínico
descargar por pdf el análisis clínico
50
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
HU12 Descripción: como usuario debo poder enviar el documento del análisis vía correo
electrónico.
Prioridad: Estimación: 2 dias
5
Criterios de Aceptación
Enviar por correo electrónico el documento del análisis en formato pdf.
Diagrama de Componentes
ANEXOS
Prototipos
Los siguientes prototipos de la aplicación fueron diseñados en Figma, un software open-source
gratuito que funciona como un diseñador de interfaces web y móviles. Si desea ver los diseños
de los prototipos en Figma, visite el siguiente enlace:
https://www.figma.com/file/A6hYWdSwuUM28CuHEnNpG0/Untitled?type=design&node-
id=0%3A1&mode=design&t=AnaXvmmw7xvK9lav-1
Página Principal
Inicio de sesión
59
Software de análisis, diagnóstico y sugerencias a partir de un scanner de laboratorio
Registro
Digitalización de archivos
Perfil de usuario
BIBLIOGRAFIA
Jain, A. K., & Li, S. Z. (2011). Handbook of face recognition (2nd Ed.). Springer.
Turk, M., & Pentland, A. (1991). Face recognition using eigenfaces. In Proceedings.
1991 IEEE Computer Society Conference on Computer Vision and Pattern Recognition
Zhao, W., Chellappa, R., Phillips, P. J., & Rosenfeld, A. (2003). Face recognition: A
literature survey. ACM Computing Surveys (CSUR), 35(4), 399-458.
Kadir, A. A., & Kamaruddin, L. M. (2013). A comparative study between LBP and Haar-
like features for face detection. In 2013 International Conference on Advanced Computer
Science Applications and Technologies (pp. 57-62). IEEE.
Conklin, W. A., Davis, R. L., & Williams, D. (2018). Principles of Computer Security:
CompTIA Security+ and Beyond.