Está en la página 1de 76

Universidad de las Ciencias Informáticas

Facultad de Ciencias y Tecnologías Computacionales

Centro de Tecnologías de Gestión de Datos

Trabajo de diploma para optar por el título de Ingeniero en Ciencias Informáticas

Título:
“Sistema de Gestión de la Información de las plantas medicinales cubanas para el
Ministerio de Salud Pública”

Autoras:
María Mercedes Ramírez Drake
Vivianne Díaz Hiedra

Tutores:
Ing. Lisdán Rodríguez Pérez
Ing. Bárbara Bron Fonseca

Co-tutor:
Dr. Juán Abreu Payrol
Frase y marca de agua

“El mejor descubrimiento de todos los tiempos es que una


persona puede transformar su futuro solo cambiar su
actitud”.

Opreah Winfrey

II
Declaración de autoría

Declaramos ser autoras de la presente tesis que tiene por título: Sistema de Gestión
de la Información de las plantas medicinales cubanas para el Ministerio de Salud
Pública y reconocemos a la Universidad de las Ciencias Informáticas los derechos
patrimoniales sobre esta, con carácter exclusivo.

Para que así conste firmamos la presente a los días del mes de del año
.

Firma de la autora
Firma de la autora Vivianne Díaz Hiedra
María Mercedes Ramírez
Drake

Firma de
Firma
la tutora
del tutor
Ing.Ing. Lisdán
Bárbara Rodríguez
Bron FonsecaPérez
Declaración de autoría

Datos del contacto

Lic. Lisdán Rodríguez Pérez


Graduado en el año 2008 en la Licenciatura de Ciencias de la Computación. Se ha
desempeñado como profesor del Departamento de Programación de la facultad CITEC
de la Universidad de las Ciencias Informáticas (UCI), también como Especialista B en
Informática en el centro DATEC. Actualmente es Jefe de Departamento de Integración
de Soluciones del propio centro DATEC. Presenta experiencia como tutor y oponente
en pregrado.
Email: lisdanrp@uci.cu

Ing. Bárbara Bron Fonseca


Graduada en el año 2012 de Ingeniera en Ciencias Informáticas en la UCI. Se
desempeñó como Especialista B en Informática en la Empresa de Tecnologías para la
Defensa XETID. Actualmente es profesora del departamento de ISW en la facultad
CITEC de la UCI. Posee publicaciones en revistas científicas y memorias de eventos.
Certificado como especialista en calidad para revisiones de Software. Presenta
experiencia como tutora y oponte en pregrado.
Email: bbron@uci.cu
Agradecimientos

María Mercedes

I
Vivianne

Quiero agradecer a todas las personas que de una forma u otra han contribuido a mi
formación como profesional.

A mi madre Milagros por ser lo más grande que tengo y mi razón de ser, por estar
siempre a mi lado.

A mi tía Miladys, a mi abuela Iraida y a mi prima Melisa que me han apoyado


constantemente, alentándome a seguir adelante.

A todas mis amistades de la universidad con que compartí estos inolvidables cinco
años; en especial a mis hermanas del alma Laura, Angelica y María por todos los
momentos inolvidables que pasamos juntas.

A mi compañera de Tesis María por ser muy responsable y preocupada.

A todos los profesores que me ayudaron y me orientaron a lo largo de la carrera y en


especial durante la tesis. A mis tutores Barbara y Lisdán, y en especial Josué Mojena
que nos brindó su apoyo incondicionalmente en todo momento.

A Leandro por estar a mi lado siempre, por quererme y apoyarme, por ser mi novio y
amigo.

II
Dedicatoria

María Mercedes

Vivianne

A mi mamá que siempre ha confiado en mí y me ha apoyado.

A mi abuela, mi tía, mi prima y mi novio por su constante preocupación y cariño.

II
Resumen

Resumen

En la Universidad de las Ciencias Informáticas (UCI) al proceso de gestión de la


información se le presta gran importancia, con la finalidad de lograr la informatización
de la sociedad, fomentando así el desarrollo y eficiencia de las organizaciones. Por tal
causa la presente investigación tiene como objetivo desarrollar un Sistema de Gestión
de la Información de las plantas medicinales cubanas para el Ministerio de Salud
Pública, debido a que dicha entidad no cuenta con una aplicación que permita
consultar y gestionar la información relacionada a las plantas medicinales cubanas, los
productos derivados de estas y la información médica común o las estrategias clínicas
efectivas de medicina verde. Para llevar a cabo tal cometido se analizan sistemas
existentes similares a nivel internacional y nacional, además de un estudio de los
conceptos asociados al dominio del problema con el objetivo de sentar las bases de la
aplicación. Para el desarrollo de la propuesta se utiliza la metodología AUP en su
variante UCI, específicamente el escenario No4, como marcos de trabajo Symfony
v4.2 y Angular v7, como servidor web XAMPP v3.2.2, PostgresSQL v11 y PGAdmin IV
como Sistema Gestor de Bases de Datos y Aplicación para la administración de Bases
de Datos respectivamente. Después de creada la aplicación es evaluada mediante
pruebas unitarias, de sistema y de aceptación, realizándose varias iteraciones hasta
mitigar las no conformidades, obteniéndose una aplicación apta para el despliegue.

Palabras clave: gestión, información, plantas medicinales

II
Abstract

Abstract

At the University of Information Sciences (UCI) the process of information management


is given great importance, in order to achieve the computerization of society, thus
promoting the development and efficiency of organizations. For this reason, the present
investigation has the objective of developing an Information Management System for
Cuban medicinal plants for the Ministry of Public Health, due to the fact that this entity
does not have an application that allows consulting and managing information related
to plants. Cuban medicines, the products derived from these and the common medical
information or the effective clinical strategies of green medicine. To carry out this task,
similar existing international and national systems are analyzed, as well as a study of
the concepts associated with the domain of the problem in order to lay the foundations
of the application. For the development of the proposal, the AUP methodology is used
in its UCI variant, specifically the No4 scenario, as working frameworks Symfony v4.2
and Angular v7, as web server XAMPP v3.2.2, PostgresSQL v11 and PGAdmin IV as
the Management System of Databases and Application for the administration of
Databases respectively. After the application has been created, it is evaluated through
unit, system and acceptance tests, and several iterations are carried out to mitigate the
non-conformities, obtaining an application suitable for deployment.

Key words: management, information, medicinal plants

IV
Índice

Índice de contenido
Introducción................................................................................................................... 1

Capítulo 1: Fundamentación teórica de la investigación del sistema de gestión de la


información de las plantas medicinales cubanas...........................................................7

1.1 Los sistemas de información para la gestión..........................................................................7


1.1.1 Conceptos asociados al dominio del problema..............................................7
1.1.2 Ventajas y desventajas de la utilización de los sistemas de gestión de la
información........................................................................................................... 10
1.2 Análisis de soluciones existentes similares al problema.....................................................11
1.2.1 Soluciones existentes similares a nivel mundial...........................................11
1.2.2 Soluciones existentes similares a nivel nacional..........................................12
1.2.3 Análisis comparativa entré las diferentes soluciones analizadas.................14
1.3 Metodologías de Desarrollo de Software...............................................................................15
1.3.1 Selección de la metodología a emplear.......................................................16
1.4 Herramientas y tecnologías a utilizar.....................................................................................18
1.4.1 Lenguajes a utilizar......................................................................................18
1.4.2 Herramientas de Ingeniería de Software Asistida por Computadora (CASE)
............................................................................................................................. 20
1.4.3 Servidor Web...............................................................................................20
1.4.4 Sistema Gestor de Bases de Datos (SGBD)................................................21
1.4.5 Aplicación para la administración de Bases de Datos (BD).........................21
1.4.6 Bibliotecas y marcos de trabajo para el desarrollo.......................................22
1.4.7 Entorno de Desarrollo Integrado (IDE).........................................................23
Capítulo 2: Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas.......................................................................................27

2.1 Requisitos de software............................................................................................................ 27


2.1.1 Requisitos de software funcionales (RF)......................................................27
2.1.2 Requisitos de Software no Funcionales (RNF)............................................29
2.2 Descripción del SGI de las plantas medicinales cubanas....................................................30
2.2.1 Descripción de los usuarios que interactúan con el sistema........................30
2.2.2 Descripción de los requisitos funcionales....................................................31
2.3 Arquitectura de software......................................................................................................... 36
2.3.1 Arquitectura de software Modelo Vista Controlador para las vistas del SGI de
las plantas medicinales cubanas..........................................................................37
............................................................................................................................. 37
2.3.2 Arquitectura de software Orientada a Servicios...........................................37
2.4 Diagrama de clase del diseño.................................................................................................38

V
Índice

2.5 Patrones de diseño de software empleados en el desarrollo del SGI.................................39


2.5.1 Patrones para la Asignación de Responsabilidades (GRASP).....................39
2.5.2 Patrones GOF..............................................................................................40
2.6 Modelo físico de la BD.............................................................................................................42
Capítulo 3: Implementación y pruebas del sistema para la gestión de la información de
las plantas medicinales................................................................................................27

3.1 Diagrama de componente.......................................................................................................27


3.2 Diagrama de despliegue..........................................................................................................28
3.3 Pruebas de software................................................................................................................ 29
3.3.1 Estrategia de pruebas..................................................................................29
3.3.2 Nivel de prueba unitaria...............................................................................30
3.3.3 Nivel de prueba de sistema..........................................................................31
3.3.4 Nivel de prueba aceptación..........................................................................29
Conclusiones generales...............................................................................................27

Recomendaciones.......................................................................................................28

Referencias Bibliográficas............................................................................................27

Anexos......................................................................................................................... 27

V
Índice de figuras

Índice de figura

Fig. 1: Prototipo: Añadir planta (Elaboración propia)....................................................34


Fig. 2: Prototipo: Registrar usuario (Elaboración propia)..............................................36
Fig. 3: Arquitectura MVC (Elaboración propia).............................................................37
Fig. 4: Arquitectura SOA (Elaboración propia).............................................................38
Fig. 5: Diagrama de clase del diseño de la HU: Añadir planta.....................................38
Fig. 6: Fragmento de código de la función lista_plantaAction......................................41
Fig. 7: Fragmento de código de la clase PlantaController............................................41
Fig. 8: Diseño de la Base de Datos..............................................................................42
Fig. 9: Diagrama de componente de la HU: Añadir planta...........................................27
Fig. 10: Diagrama de despliegue.................................................................................28
Fig. 11: Código del método Registrar usuario..............................................................31
Fig. 12: Resultado de la prueba unitaria al método Registrar usuario..........................31
Fig. 13: Gráfico de barras de los resultados de las pruebas de sistemas funcionales
(Elaboración propia).....................................................................................................27
Fig. 14: Gráfico de pastel de los resultados de las pruebas al software de usabilidad
(Elaboración propia).....................................................................................................29
Fig. 15: Gráfico de barras de los resultados de las pruebas aceptación (Elaboración
propia).......................................................................................................................... 30
Fig. 16: Código del método Registrar planta y Obtener usuario...................................27
Fig. 17: Resultado de la prueba unitaria a los método Registrar planta y Obtener
usuario......................................................................................................................... 28
Fig. 18: Resultado de la prueba al sistema de carga...................................................28
Fig. 19: Resultado de la prueba al sistema de rendimiento (100 usuarios)..................28
Fig. 20: Resultado de la prueba al sistema de rendimiento (50 usuarios)....................28
Fig. 21: Resultado de la prueba al sistema de rendimiento (1000 usuarios)................28

VI
Índice de tablas

Índice de tablas

Tabla 1: Tabla comparativa de las soluciones analizadas...........................................14


Tabla 2: Descripción de los RF....................................................................................27
Tabla 3: Descripción de los usuarios del SGI de las plantas medicinales cubanas......30
Tabla 4: HU: Adicionar Planta......................................................................................31
Tabla 5: HU: Registrar Usuario....................................................................................35
Tabla 6: Estrategia de pruebas para el SGI de las plantas medicinales.......................29
Tabla 7: Descripción del caso prueba a la HU: Registrar Usuario................................27
Tabla 8: Tabla resumen de los resultados de las pruebas de rendimiento...................28
Anexo 5: Tabla 9: Lista de chequeo para la prueba de usabilidad..............................29

VII
Introducción

Introducción

El mundo se encuentra inmerso en un constante progreso debido al desarrollo de las


Tecnologías de la Información y las Comunicaciones (TIC), incorporándose a la
mayoría de las actividades del ser humano. Aparejada al desarrollo de estas, se
encuentra el crecimiento de la información, la necesidad de almacenarla para
posteriores análisis y compartirla con las instituciones. Internet tiene un impacto social
amplio por lo que ayuda en cuestiones de divulgación de conocimientos.

Debido a la creación y difusión de información al interior y exterior de las


organizaciones, resulta imprescindible que estas gestionen el modo en que generan,
procesan y trasmiten información, convirtiéndose esto en la razón de ser de los
Sistemas de Gestión de la Información (SGI). Estos ofrecen un fácil acceso a
contenido automatizado. Una de sus principales funciones es la capacidad de
almacenar datos y la facilidad de ofrecerlos a los usuarios; además de generar
informes que favorecen al proceso de toma de decisiones.

Un SGI permite la gestión de los recursos de información tanto internos como


externos. Este debe responder a las necesidades de los usuarios. Aprovecha al
máximo sus recursos de información en función de la mejora continua y de la toma de
decisiones organizacional a todos los niveles jerárquicos desde la cúspide estratégica
hasta la base operativa (Avison et al. 2018). Los SGI han evolucionado a la par de las
tecnologías, en la actualidad las aplicaciones web son desarrolladas a partir de la
creación previa de servicios. En esta investigación se trabajará con las tecnologías
necesarias para la creación de una Application Programming Interface (API, por sus
siglas en ingles) que permita la reutilización de los servicios implementados.

Cuba se encuentra inmersa en un proceso de digitalización de la sociedad, por tal


causa ha centrado su atención en la creación de instituciones para lograr tal objetivo.
Al abordan temas de desarrollo software no se debe dejar de mencionar la Universidad
de las Ciencias Informáticas (UCI), porque su principal objetivo es lograr la
informatización social. La universidad ha estado enfrascada con el paso del tiempo a
contribuir con proyectos de empresas e instituciones cubanas y extranjeras, entre los
cuales se encuentra el Ministerio de Salud Pública (MINSAP) que es el organismo
rector del sistema nacional de salud, encargado de dirigir, ejecutar y controlar la
aplicación de la política del estado y del gobierno en cuanto a la salud pública, el
desarrollo de las ciencias médicas y la industria médico-farmacéutica.

1
Introducción

Los estudios realizados para evaluar las plantas medicinal cubanas, se han limitado a
la confección de listas de especies medicinales y su análisis florístico, pero no ofrecen
la información necesaria para que pueda ser de utilidad por todo tipo de usuarios. La
investigación y desarrollo de nuevos fármacos es un proceso largo, difícil y costoso, al
no existir una plataforma donde exponer la información sobre estos nuevos productos
se dilata el tiempo y aumenta el costo de fabricación, fomentando la toxicidad y los
eventos adversos. El conocimiento médico común o las estrategias clínicas efectivas
de medicina verde no pueden ser socializados porque el MINSAP no posee un sistema
para brindar tales datos. Es importante para los investigadores de la medicina natural
contar con información biomédica para la química y la farmacología modernas, por tal
causa se ha convertido en un problema de investigación importante desarrollar una
aplicación de análisis para administrar los datos de la medicina natural, que pueda ser
accedida por diferentes clientes (móviles o web).

Actualmente cuando los especialistas del MINSAP necesitan realizar alguna


investigación deben visitar múltiples fuentes, dentro de las que se encuentran: la
multimedia de artículos científicos sobre las plantas medicinales que ofrece el Centro
de Investigaciones y Desarrollo de Medicamentos (CIDEM); los EXCEL que poseen
los Laboratorios Biológicos Farmacéuticos S.A. (LABIOFAM) de la información de sus
productos y FITOMET que es una Base de Datos (BD) que tiene información de
plantas medicinales cubanas, en el momento de su lanzamiento tuvo un gran impacto,
pero al no tener soporte desde el año 2000, a provocando que los investigadores no
puedan encontrar en ella información actualizada para sus estudios.

Debido a lo anteriormente planteado se especifica como problema de la


investigación ¿Cómo contribuir al proceso de gestión de la información de las plantas
medicinales cubanas para el Ministerio de Salud Pública?

Para dar solución al problema planteado se define como objeto de estudio: Sistema
de Gestión de Información; enmarcado en el campo de acción: Sistema de Gestión
de la Información de plantas medicinales cubanas y como objetivo general:
Desarrollar un Sistema de Gestión de Información de plantas medicinales cubanas
para el Ministerio de Salud Pública.

Teniendo en cuenta los planteamientos anteriores y con el objetivo de ofrecer solución


al objetivo general de la investigación se establecen los siguientes objetivos
específicos:

2
Introducción

1. Obtener los fundamentos teóricos asociados a la gestión de la información relacionada


a las plantas medicinales cubanas.
2. Diseñar una propuesta de solución que responda al problema planteado.
3. Implementar la solución diseñada del SGI de las plantas medicinales cubanas.
4. Verificar el correcto funcionamiento y rendimiento del SGI implementado a través de la
ejecución de las pruebas que avalen la calidad del producto.

Con la finalidad de alcanzar el objetivo de la investigación fue necesario el uso de


métodos científicos. Estos se engloban en dos tipos: los métodos de investigación
teóricos y los empíricos; a continuación, se presentan los que serán empleados.

De los métodos empíricos se emplearán:

Entrevista no estructurada: se le aplica a Juan Abreu Payrol, quien es Doctor en


Ciencias Farmacéuticas con el objetivo de recopilar información utilizando el
intercambio verbal, obteniéndose como resultado conocimiento cualitativo asociados al
dominio del problema; permitiendo la captura de variados requisitos que serán
necesarios para la construcción del SGI (Ver Anexo 1)Anexo 1Anexo 1Anexo 1Anexo
1.

 De los métodos teóricos:

Analítico-Sintético: se utiliza en el estudio de las fuentes bibliográficas que permiten la


elaboración de la fundamentación teórica y en la síntesis de los conceptos asociados
al dominio del problema. Este método se emplea para seleccionar las herramientas y
tecnologías a utilizar en el desarrollo del SGI. Además, ayuda a delimitar las
cualidades y funcionalidades que el sistema debe poseer tras el estudio y análisis de
soluciones existentes relacionadas al dominio del problema.

Análisis documental: se emplea en la consulta de la bibliografía especializada en las


temáticas correspondiente a la investigación, tales como el análisis de los conceptos
relacionados SGI de las plantas medicinales cubanas (concepto de información,
gestión, gestión de la información, sistema de gestión de la información, Interfaz de
Programación de Aplicación (API), Transferencia de Estado de Representación
(RESP), RESTful y API RESTful).

La presente investigación está conformada por Introducción, tres capítulos,


Conclusiones, Referencias bibliográficas y finalmente se presentan los anexos para

3
Introducción

apoyar la comprensión de los resultados. A continuación, se muestra una sinopsis de


cada uno de los tres capítulos.

Capítulo 1: Fundamentación teórica de la investigación del sistema de gestión


de la información de las plantas medicinales cubanas

En este capítulo se presentan los elementos teóricos que sustentan al proceso de


Gestión de la Información (GI) y los objetivos del trabajo; así como un análisis de las
soluciones existentes afines al objeto de estudio. Demostrado la necesidad de
implementar un SGI para las plantas medicinales. Se selecciona la metodología,
herramientas y tecnologías a utilizar en el desarrollo del SGI, justificando su selección.

Capítulo 2: Análisis y diseño del sistema de gestión de la información de las


plantas medicinales cubanas

En este capítulo se efectúa el estudio detallado del problema, se describen los


requisitos (funcionales y no funcionales) ingenieriles. Se definen la arquitectura de
implementación a utilizar para el desarrollo del SGI. Se realizan los diagramas de
clases del diseño con la finalidad de ofrecer de describir gráficamente los datos
asociados con el área de aplicación y se aplican los patrones arquitectónicos y de
diseño con la finalidad de cumplir el objetivo general.

Capítulo 3: Implementación y pruebas al sistema de gestión de la información de


las plantas medicinales cubanas

Se conforma el modelo de implementación del sistema como resultado del análisis y


diseño. Se realizan los casos de prueba para cada uno de los requisitos funcionales.
Se confecciona una estrategia de pruebas que conta de pruebas de unidad, de
sistema y de aceptación; con el objetivo de verificar que el SGI cumple con los
requisitos especificados por el cliente.

4
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

Capítulo 1: Fundamentación teórica de la investigación del sistema de gestión


de la información de las plantas medicinales cubanas

En el presente capítulo se describen los elementos teóricos que sustentan el


tema de investigación. Se realiza un estudio sobre las soluciones similares
existentes a nivel internacional y nacional que guardan relación con el objetivo
general de la investigación. Se describe la metodología seleccionada para guiar
el proceso de desarrollo de la aplicación y las tecnologías elegidas para el
diseño e implementación de la solución.

1.1 Los sistemas de información para la gestión

El desarrollo de las tecnologías ha traído consigo la transformación de la forma


de trabajar y gestionar los recursos informativos en las organizaciones. Los
sistemas de información destinados a la gestión tienen como principal propósito
hacer que la toma de decisiones sea más eficiente. Estos combinan la
información de varias fuentes para crear una BD; basándose en las tecnologías
para recopilar y presentar datos.

1.1.1 Conceptos asociados al dominio del problema

Es importante el estudio del dominio del problema debido a la necesidad de


conocer los conceptos interrelacionados de la investigación, ofreciendo un
mejor entendimiento. Para una mejor comprensión del dominio, se describen a
continuación conceptos afines al objeto de estudio.

Gestión

La gestión hace referencia a la acción y a la consecuencia de administrar o gestionar


algo. Gestionar es llevar a cabo diligencias que hacen posible la realización de una
operación comercial o de un anhelo cualquiera. Es el conjunto de diligencias que se
realizan para desarrollar un proceso o para lograr un producto determinado (Miranda
and Godoy 2015). Por lo tanto, se entiende como gestión a la acción necesaria para
resolver determinado problema.

Información

La información es un elemento esencial en todo sistema de gestión, por lo que


P á g i n a 7 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

se hace importante definirla y caracterizarla, ella puede indicar un proceso o un


producto. Significa en su primera acepción acción y efecto de informar o
informarse, y en la segunda un conjunto de noticias resultantes de esa acción o
efecto (Marco 1998).

La información es un conjunto de datos necesarios para la realización de uno o varios


procesos, que, originados de una determinada manera, nos aportan un conocimiento.
La forma estructural los datos o el orden que establezcamos de los mismos es una
cuestión relevante al disponer o no de información (Hermoso 2004). La información es
un conjunto de datos con un significado, que reduce la incertidumbre o que aumenta el
conocimiento de algo. Es un mensaje con significado en un determinado contexto,
disponible para uso inmediato y que proporciona orientación a las acciones por el
hecho de que reduce el margen de incertidumbre con respecto a las decisiones
(Chiavenato 2009). Las autoras de la presente investigación definen que el concepto
expresado por Chiavenatoes el más aceptable; porque explica de una manera fluida el
significado de información.

Gestión de la Información en las organizaciones

Actualmente la sociedad dispone de información y que debe ser registrada por


sistemas de gestión, el cual se encarga de analizarla, procesarla y utilizarla. La
confiabilidad de estos sistemas debe ser un requisito fundamental. A
continuación, se muestran conceptos estrechamente relacionados con la GI en
las organizaciones.

La GI es el conjunto organizado de personas, procesos y recursos, incluyendo


la información y sus tecnologías asociadas, que interactúan de forma dinámica,
para satisfacer las necesidades informativas que posibilitan alcanzar los
objetivos de una o varias o varias organizaciones (Stair and Reynolds 2000). La
GI, es el proceso mediante el cual se obtienen, despliegan o utilizan recursos
básicos (económicos, físicos, humanos, materiales) para manejar información
dentro y para la sociedad a la que sirve. Tiene como elemento básico, la
gestión del ciclo de vida de este recurso y se desarrolla en cualquier
organización (Castells 2004). La GI no es más que el proceso de organizar,
evaluar, presentar, comparar los datos en un determinado contexto,
controlando su calidad, de manera que esta sea veraz, oportuna, significativa,

P á g i n a 8 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

exacta y útil y que esta información esté disponible en el momento que se le


necesite (Torres Lebrato 2015).
La información constituye un recurso fundamental en el quehacer diario, pues
puede influir en gran medida a la toma de decisiones. El desarrollo alcanzado
por las TIC ha logrado que surjan nuevas soluciones informáticas que permiten
gestionar la información, contribuyendo a una mejor administración
empresarial. Tomando como concepto más completo el concepto propuesto por
Torres Lebrato.

Sistema de Gestión de la Información

Una de las soluciones que han permitido gestionar la información de forma


eficaz y organizada son los SGI. La mayoría de las organizaciones existentes
en el mundo utilizan estas aplicaciones, logrando una mejor organización y
calidad de trabajo. A continuación, se exponen diferentes concepciones de
SGI.

Los SGI proporcionan una infraestructura de computación crítica para soportar


los diversos procesos involucrados en la creación y entrega de productos y
servicios empresariales. Sin embargo, la integración de las capacidades de
inteligencia en los sistemas de información conscientes del proceso es una
evolución no trivial pero necesaria de estos sistemas complejos (Torres Lebrato
2015). De acuerdo con lo expresado por Torres Fernández los SGI y el
conocimiento deben propender a la identificación y puesta en marcha de
innovaciones que optimicen la administración de los recursos de salud, en
especial en un entorno donde las necesidades de la población supera en
muchas ocasiones la capacidad operativa de las instituciones y las
regulaciones legales y éticas son cada vez más fuertes, entre otros imperativos
(Torres Fernández et al. 2017).

Programa de Aplicación de Interfaz (API, por sus siglas en ingles)

Una API es una interfaz simple, flexible y eficiente para consultar e interactuar de
manera programática con la base de datos del proyecto (Ong et al. 2015). Es el
conjunto de subrutinas, funciones y procedimientos (o métodos, en la programación
Orientada a Objetos (OO)) que ofrece cierta biblioteca para ser utilizada por otro
P á g i n a 9 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

software como una capa de abstracción (Rojano Broz 2017). Permiten que las
aplicaciones se conecten entre sí, mejorando la experiencia del cliente y brindando
ganancias de eficiencia, generando nuevas fuentes de servicios para los proveedores
de servicios (Ann and Iqbal 2017). Se toma como definición de API la de Ann y Iqbal
porque expone mediante un lenguaje más fluido sus propiedades.

Tecnología de Transferencia de Estado Representacional (REST, en sus


siglas en ingles)

Describe un estilo arquitectónico de sistemas en red. Uno de los principios REST de


mayor importancia para las aplicaciones web es que la interacción entre el cliente y el
servidor no tiene estado entre solicitudes. Cada solicitud del cliente al servidor debe
contener toda la información necesaria para comprender la solicitud. Otro principio
REST importante es el de sistema por capas, el cual implica que un componente no
puede ver más allá de la capa inmediata con la cual interactúa (Rojano Broz 2017).
REST está definido para ayudar a crear y organizar sistemas distribuidos. La idea
principal detrás de REST es que un sistema distribuido, organizado, mejorará en las
siguientes áreas: rendimiento, escalabilidad, simplicidad de interfaz, movilidad del
componente, portabilidad y confiabilidad (Kaleb et al. 2019). Se decanta por lo
expresado por Rojano, ya que expone las funcionalidades del estilo arquitectónico de
una forma descriptiva, mientras que Kaleb emplea lenguaje técnico.

RESTful

Se basa en la REST, es un estilo arquitectónico y un enfoque de las


comunicaciones que se utilizan a menudo en el desarrollo de servicios web.
Los servicios web RESTful tienen características como: permiten listar, crear,
leer, actualizar y borrar información, además de permitir retornar códigos de
respuesta de lenguaje de marcas de hipertexto (HTML), por ejemplo 200, 201,
404, etc. Los métodos que emplea son: GET para listar y leer, POST para
crear, DELETE para borrar, para actualizar PATCH Y PUT para reemplazar
(Moron-Rodrıguez et al. 2017).

API RESTful

Interfaz de programación de aplicaciones que permite agrupar una serie servicios web
para el intercambio de información mediante el uso del protocolo de Transferencia de
Hipertexto (HTTP) y se basa en la REST (Vivian and Fernando 2018). La API RESTful
P á g i n a 10 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

permite que cualquier dispositivo que puede interpretar HTTP pueda hacer uso de ella
debido a que es independiente del tipo de plataforma o lenguaje con que se trabaje.

1.1.2 Ventajas y desventajas de la utilización de los sistemas de gestión de la


información

Los SGI se han convertido en una herramienta eficaz para las empresas, entre las
ventajas de su empleo se encuentran:

 Control efectivo de las actividades de las organizaciones.

 Integración de nuevas tecnologías y herramientas.

 Disponibilidad de mayor información a los usuarios en tiempo real.

 Contribución a la disminución de errores y ahorro de tiempo y recursos.

El empleo de estos sistemas también puede provocar problemas, dentro de los


que se encuentran:

 La posible resistencia al cambio de los usuarios.

 Problemas técnicos, como fallas de hardware o software.

Estas desventajas pueden convertirse en grandes fallas, llevando al fracaso a


las organizaciones, pero si se toman medidas y se les expone a los usuarios el
impacto del uso de los SGI, se puede convertir el uso de estos sistemas en una
herramienta insustituible dentro de la entidad. Tomando como principal ventaja
el control efectivo de las actividades de las organizaciones.

1.2 Análisis de soluciones existentes similares al problema

Como consecuencia de la evolución en el mundo del software han desatado la


competencia entre sistemas los informáticos. Los SGI existentes poseen
complejidades variadas, lo que ha fomentado la diversidad y la competitividad entre
estos. A continuación, se examinan algunas soluciones relacionas al campo de acción
del problema vigente, tanto en Cuba como en el resto del mundo, tomando como
condiciones de selección que las herramientas muestren la información de las plantas
medicinales y los productos derivados de ellas, además de que sean aplicaciones
web; salvo el análisis de la aplicación llamada Formulario Nacional de Medicamento

P á g i n a 11 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

para el Sistema Operativo (SO) Android que se examina por la vasta información que
muestra sobre las plantas y los productos farmacéuticos derivados de ellas (contiene
104 plantas) exponiendo la información de una manera organizada y agradable a la
vista.

1.2.1 Soluciones existentes similares a nivel mundial

Los SGI han sido de gran ayuda para socializar el conocimiento y ahí radica su
importancia. A continuación, ejemplificaciones a nivel internacional.

 Fitoterapia es una web española avalada por asociaciones médicas. Esta se encarga
de ofrecer publicaciones donde resaltan las propiedades de productos medicinales de
origen vegetal y novedosas noticias sobre el empleo de las plantas con fines
saludables. Además, brinda información sobre actividades desarrolladas o a
desarrollar relacionadas con la fitoterapia (Folcará 2016) . Esta web no satisface las
necesidades del MINSAP porque no permite al usuario interactuar con las propiedades
de las plantas medicinales, y no muestra los productos medicinales derivados de ellas.

 GaiaHerbs es un sitio que se encarga de mostrar información sobre plantas


medicinales, con fines comerciales, debido a que su principal objetivo es popularizar
productos derivados de las plantas, dando la posibilidad de comprarlo en línea.
También ofrece información sobre las principales plantas medicinales, algunas de las
características que se muestran son: partes usables de la planta, precauciones
importantes para su empleo, para que se puede emplear, los beneficios de su uso,
entre otros (Dr. 2018). Esta plataforma no cumple con las necesidades del MINSAP
porque solo posee información de las principales plantas medicinales y algunos
productos farmacéuticos derivados de estas; además no muestra los remedios
naturales que estas pueden ofrecen.

 Existe un portal de información denominado Medicamentos Esenciales y Productos de


Salud que ofrece publicaciones relacionadas a las plantas medicinales que posibilita
verlas en Formato de Documento Portátil (PDF). Brindando al usuario información de
plantas medicinales, dentro de las características que esta muestra se tiene:
definición, sinónimos del nombre, descripción de la planta, usos medicinales, etc.
(Jasarevic 2018).

P á g i n a 12 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

 Amazon es una plataforma que brinda servicios de comercio electrónico, ofreciendo


una variada cantidad de productos como: ropas y equipos electrodomésticos.
Relacionado a las plantas medicinales ofrece la compra de libros afines a las plantas
medicinales, además de productos farmacéuticos derivados de estas. No cumple con
las necesidades del MINSAP debido a que no ofrece información de las plantas
medicinales, ni los productos naturales derivados de estas.

 El Herbolario es una web sobre las plantas medicinales que brinda al usuario una lista
de aproximadamente 150 especies, donde ofrece sus características como las
propiedades y los usos más frecuentes. Además, contiene consejos sobre
suplementos medicinales y videos relacionados a la salud. Otra de las principales
funcionalidades de la plataforma es que permite la comunicación entre los usuarios por
medio de comentarios (Rematos 2017). Este sitio no satisface las necesidades del
MINSAP porque no le brinda al usuario los remedios naturales derivados de las
plantas.

Según lo descrito anteriormente se puede exponer que las páginas mencionadas


anteriormente no cumplen con las necesidades del MINSAP, aunque algunas de estas
brindan información relevante sobre las plantas medicinales, no ofrecen los productos
cubanos, los remedios naturales que pueden derivarse de ellas, las estrategias
clínicas efectivas de medicina verde; además de no permitir la comunicación entre los
usuarios que interactúan con la plataforma.
1.2.2 Soluciones existentes similares a nivel nacional

En Cuba con el paso del tiempo se han ido perfeccionando los métodos de
acceso a la información sobre las plantas medicinales para no quedarse en la
retaguardia científica respecto a estos temas. A continuación, se exponen los
sistemas web relacionadas a las plantas medicinales.

 El MINSAP consta con Fitomed esta es una Base de Datos (BD) que ofrece
una lista finita de 25 plantas medicinales existentes en Cuba que le permite al
usuario consultar su información mediante una interfaz en la web. Se describe
cada planta y se ofrecen características como el nombre común y científico,
propiedades, acción farmacológica, origen, localización, partes útiles y sus
diferentes utilidades en la medicina. Posee Sindicación Realmente Simple
(RSS, en sus siglas en ingles) de artículos y acceso a enlaces. Fitomed;
además refleja las referencias bibliográficas de la información que se expone.

P á g i n a 13 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

En su momento resolvió el problema, pero en estos tiempos no cumple la


función de apoyar las investigaciones de los especialistas debido a que no es
actualizada desde el 2000.

 El CIDEM realizó en el año 2018 una actualización de la multimedia


Plantmedcuba, esta es una BD que tiene como tarea visualizar los artículos
relacionados a cada planta medicinal cubana. Esta es una solución más
completa con respecto a la multimedia que ofrece el Fitomet. Provoca que si un
usuario desea acceder a la información pública sobre cierta planta medicinal no
va a encontrar la información explicita, sino que tendrá que leer los artículos
que abordan temáticas relacionadas a ella hasta encontrar la información
necesitada.

P á g i n a 14 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

 Existe el Formulario Nacional de Medicamento para SO Android como


resultado de Plataforma Habana y el Centro Cubano de Aplicaciones para
Android (Apklis). La aplicación presenta buscadores por orden alfabético,
categoría farmacológica, presentación y riesgos de los diferentes
medicamentos; surge como complemento del trabajo realizado por los
especialistas del Comité Editorial del Formulario Nacional de Medicamentos de
Cuba, como fuente de información de la Biblioteca Virtual en Salud de Cuba,
perteneciente al Centro Nacional de Información de Ciencias Médicas-Infomed.
Esta aplicación no puede ser usada por la mayoría los especialistas debido a
que para su uso se necesita un teléfono de SO Android y no todos cuentan con
este, además de no poseer un espacio para el debate sobre plantas
medicinales cubanas y carece de referencias bibliográficas que validen
veracidad de la información que esta ofrece.

 La página web llamada Plantas medicinales de Cuba muestra las plantas


medicinales con origen o distribución en Cuba. Entre información que ofrece se
encuentra: modo de empleo, nombre común, familia, botánica, propiedades y
los remedios caseros que se usan en Cuba. (Feiertag 2017). Este sistema no
satisface las necesidades del MIMSAP porque no ofrece información de los
productos naturales y farmacéuticos derivados de las plantas, ni permite la
comunicación entre los usuarios.

Se puede concluir que en el país no existe una herramienta lo suficientemente


sólida, fiable y actualizada con respecto a las plantas medicinales y los
productos naturales que de ellas se pueden extraer. Además, ninguna de las
anteriores permite la comunicación entre los usuarios de las aplicaciones.

1.2.3 Análisis comparativa entré las diferentes soluciones analizadas

A continuación, se representa una tabla comparativa entre las soluciones


analizadas anteriormente con el fin de evaluarlas, con respecto a los criterios
de comparación: ofrece remedios naturales de las plantas (RN), brinda la
información de los productos derivados de estas (IP), posee soporte (S), tiene
fines comerciales (FC), permite la comunicación entre los usuarios del sistema
(CUS) y si la aplicación utiliza servicios de una API RESTful (API RESTful). Se
considera que la aplicación consta del criterio de comparación cuando existe
P á g i n a 15 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

una X entre ellos; y NO cuando la casilla se encuentra vacía.

Tabla 1: Tabla comparativa de las soluciones analizadas.

Criterios de comparación

Sistemas RN IP S FC CUS API


RESTf
ul

Fitoterapia X X X

GaiaHerbs X X X

Medicamentos X
Esenciales y
Productos de
Salud

El herbolario X X X

Amazon X X X

BD de FITOMET X

Multimedia del
CIDEM

Formulario X X
Nacional de
Medicamento

Plantas X X
medicinales de
Cuba

Después de analizar la anterior tabla se puede arribar al consenso que es


necesario el desarrollo de un SGI para las plantas medicinales cubanas, ya que
no existe una herramienta lo suficientemente completa que resuelva los

P á g i n a 16 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

problemas existentes en el MINSAP; que permita gestionar la información de


las plantas y los productos derivados de estas, que ofrezca estrategias clínicas
de medicina verde y permita la comunicación entre los usuarios del sistema.
Luego de una investigación a escala internacional para conocer lo que las
restantes naciones han desarrollado respecto a las plantas medicinales y
sintetizando lo que está ocurriendo en Cuba se puede arribar a la conclusión
que hay características de las plantas que no se pueden pasar por alto como el
nombre científico, el nombre común, origen y los productos derivados de estas.
Otro aspecto importante es la conformación de un API RESTful para la
creación de los servicios del SGI, permitiendo que en un futuro estos puedan
ser consumidos por otras plataformas (Aplicaciones de escritorio, para el SO
Android o para IPhone); permitiendo su migración a otros servidores web
además de un mayor rendimiento y escalabilidad en la aplicación. Otro aspecto
importante por el cual se toma esta decisión es que actualmente la creación de
software tiende al desarrollo de servicios para las aplicaciones.

Para lograr la construcción de sistemas informáticos eficientes es necesario el empleo


de metodologías de desarrollo de software, que proponen una guía disciplinada que
cumplir en la creación de la aplicación. El principal objetivo de estas es mejorar la
calidad del software y mitigar los problemas que pueden acontecer en su proceso de
creación.

Una metodología es un conjunto integrado de técnicas y métodos que permiten


abordar de forma homogénea y abierta cada una de las actividades del ciclo de vida
de un proyecto de desarrollo. Es un proceso de software detallado y completo; un
modo sistemático de realizar, gestionar y administrar un proyecto para llevarlo a cabo
con altas posibilidades de éxito (Pantaleo and Rinaudo 2015). El proceso de desarrollo
llevaba asociado un marcado énfasis en el control del proceso mediante una rigurosa
definición de roles, actividades y artefactos, incluyendo. Este esquema tradicional para
abordar el desarrollo de software ha demostrado ser efectivo y necesario en proyectos
(Raya 2014).

Las metodologías de desarrollo de software pueden ser: tradicionales o ágiles. Las


metodologías tradicionales son orientadas por planeación. Inician el desarrollo de un
proyecto con un riguroso proceso de elicitación de requerimientos, previo a etapas de
análisis y diseño. Con esto tratan de asegurar resultados con alta calidad circunscritos

P á g i n a 17 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

a un calendario (Cadavid et al. 2013). Entre las metodologías tradicionales se


encuentra Rational Unified Proccess (RUP) (Akhunzada et al. 2015; Hui et al. 2015).
Las metodologías ágiles son flexibles, pueden ser modificadas para que se ajusten a
la realidad de cada equipo y proyecto (Cadavid, Martínez and Vélez 2013). Entre las
metodologías ágiles se encuentran: Agile Unified Process (AUP) (Jianwei and Xunan
2010), Scrum (Koç and Aydos 2017; Srivastava et al. 2017) y Open Unified Process
(OpenUP) (Borg et al. 2007; Ardi and Shahmehri 2008; Farinango et al. 2015). La
diferencia entre estas radica en que la tradicional está orientada a técnicas, consta de
un proceso rígido, poca comunicación con el cliente y una documentación extensa;
mientras que la ágil es orientada a personas, proceso flexible, comunicación constante
con el cliente y posee poca documentación. Para el desarrollo de la aplicación
informática se utilizará una metodología de desarrollo de software ágil, ya que esta se
ajusta más al tipo de solución que se persigue.

1.3.1 Selección de la metodología a emplear

Luego de investigar sobre las metodologías existentes que pudieran ser empleadas en
la construcción de la solución, se decanta por la selección AUP en su variante UCI,
esta es una adaptación de la metodología AUP propuesta para la actividad productiva
de la UCI. Es seleccionada porque el equipo de desarrollo se encuentra familiarizada
con esta, además de proponer un aumento de la calidad del producto, como resultado
de sus buenas prácticas informáticas.

AUP en su variante UCI es una metodología que encuentra un equilibrio entre las
metodologías ágiles y las tradicionales. Se adapta, en gran medida, tanto al tipo de
proyecto a desarrollar como a las condiciones para la elaboración de este trabajo.
Tiene como ventaja que prioriza la gestión de riesgos lo que permite la detección y
mitigación temprana de los mismos , se adecua rápidamente a los cambios en el
entorno del sistema y proporciona un alto nivel de independencia a la hora de
seleccionar las herramientas para el desarrollo del sistema (Duarte 2016).

Esta metodología posee tres fases: inicio, ejecución y cierre. Consta con siete
disciplinas: modelado de negocio, requisitos, análisis y diseño, implementación,
pruebas internas, pruebas de liberación y pruebas de aceptación. Entre sus roles se
encuentran: arquitecto de información, desarrollador, administrador de la
configuración, cliente/proveedor de requisitos, administrador de calidad, probador,
arquitecto de software y administrador de BD.

P á g i n a 18 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

AUP en su variante UCI propone 4 escenarios para modelar el sistema en los


proyectos, a continuación, se exponen:

 Escenario No. 1: modelar el sistema con Caso de Uso (CUS) cuando el negocio se
modele con Caso de Uso del Negocio (CUN) y Modelo Conceptual (MC).

 Escenario No. 2: modelar el sistema con CUS cuando el negocio se modele con MC.

 Escenario No. 3: modelar el sistema con Descripción de Requisitos por Proceso (DRP)
cuando el negocio se modele con Descripción de Proceso de Negocio (DPN) y con
MC.

 Escenario No. 4: modelar el sistema con Historias de Usuario (HU) cuando no se


realice modelado de negocio.

Se seleccionó el escenario No. 4 para modelar el sistema a desarrollar. Se tuvo en


cuenta para la elección que el cliente siempre se encuentra junto al equipo de trabajo
con la finalidad de conformar los detalles de los requisitos, para posteriormente
implementarlos y probarlos. No se consta del modelado del negocio ya que después
de analizar el negocio a informatizar se obtuvo un negocio bien definido;
demostrándose que el proyecto a desarrollar no tiene alta complejidad, propiciando
que las HU no posean extensa información y sean lo más concisas posibles.

1.4 Herramientas y tecnologías a utilizar

Para el desarrollo de la solución es necesario el empleo de herramientas informáticas


y lenguajes de programación. A continuación, se expondrán las tecnologías y
lenguajes fundamentales que se utilizarán en la implementación del SGI.

1.4.1 Lenguajes a utilizar

Estos definen una secuencia de instrucciones estructuradas para posteriormente ser


procesadas por un ordenador. Existen disimiles lenguajes como es el caso de Python,
Ruby, Java, PHP C++, entre otros muchos. A continuación, se exponen los lenguajes
de programación seleccionados para la implementación de la solución acompañados
de la justificación de la elección de estos.

 Lenguaje de modelado, Lenguaje Unificado de Modelado (UML v2.0, en sus siglas


en ingles)

P á g i n a 19 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

Los lenguajes de modelados surgen debido a la necesidad del ser humano de


representar informático a través del modelado. Su finalidad es la representación
mediante esquemas que puede poseer símbolos de la información. Con la finalidad de
analizar y modelar la solución será empleado el UML, este es un posible clave del
modelo de ingeniería dirigida. (Larman 2003). Mediante UML es posible establecer la
serie de requerimientos y estructuras necesarias para plasmar un sistema de software
previo al proceso intensivo de escribir código. Dentro de las ventajas de la utilización
de UML se tiene que permite visualizar, especificar, construir y documentar el sistema.
Es necesario su empleo de UML v2.0 porque proporciona un lenguaje para expresar
requisitos y pruebas, describe el comportamiento del sistema tal y cómo es percibido
por los usuarios y comprende los componentes y archivos que se utilizan para acoplar
y hacer disponible el sistema físico.

 Lenguaje de Marcado de Hipertexto (HTML v5, en sus siglas en ingles)

HTML es el bloque de construcción más básico de una página web que se usa para
crear y representarla visualmente información. Determina el contenido de la misma,
pero no su funcionalidad básicamente se trata de un conjunto de etiquetas que se
emplean para definir el texto y otros elementos que compondrán una página web,
como imágenes, listas, vídeos (Duarte 2016).

En el desarrollo del sistema de utiliza HTML v5, porque ofrece nuevas funcionalidades
como: la aparición de elementos parecidos en funcionalidad al elemento div, ya que
este era el único capaz de separar las sesiones de las páginas web, con esta versión
puede ser utilizados otros elementos (section, article, aside y nav); con respecto a las
tablas el elemento input ha sido ampliado permitiendo introducir varios datos
(datetime, date, month, week, number, rango, email, url, search y color); además
admite introducir audios y videos. Dentro de los beneficios de su empleo se
encuentran que describe con mayor precisión el contenido de la página y permite a las
aplicaciones almacenar datos localmente en el lado del cliente y operar sin conexión.

 Hojas de estilo en cascada (CSS v3.0, en sus siglas en ingles)

CSS es un mecanismo simple que describe la forma de mostrarse un documento en la


pantalla, o cómo se va a imprimir, o incluso cómo va a ser pronunciada la información
presente en ese documento a través de un dispositivo de lectura. Esta forma de
descripción de estilos ofrece a los desarrolladores el control total sobre estilo y formato
de sus documentos (Duarte 2016).
P á g i n a 20 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

El empleo de este lenguaje está dado por la necesidad de separar el contenido de la


página y la forma de su representación. Se selecciona CSS v3.0 debido a que ofrece
nuevas técnicas de presentación y estructuración como permitir las esquinas
redondeadas, sombras, transparencia de color, texto en varias columnas y admite
crear animaciones sin necesidad de instalar plugins.

 JavaScript (JS)

Actualmente es el principal lenguaje para la programación cliente-servidor en los


navegadores web, es capaz de actuar dentro de documentos HTML y dar carácter
dinámico. Posee soporte a la programación funcional y presenta recursos como cierres
y funciones de alto nivel comúnmente disponibles. (Castillo 2017). Se justifica el
empleo de este lenguaje debido a las características que posee como: la evaluación
en tiempos de ejecución y que está basado en objetos; además de que todos los
navegadores web pueden interpretar su código.

 Pre-procesador de Hipertexto (PHP v7.2.9)

PHP, es un lenguaje de escritura de propósito general y de código abierto que está


especialmente pensado para el desarrollo web y que puede ser embebido en páginas
HTML. Su sintaxis recurre a C, Java y Perl, siendo así sencillo de aprender. El objetivo
principal de este lenguaje es permitir a los desarrolladores web escribir dinámica y
rápidamente páginas web (Cowburn 2018).

Es necesario utilizar PHP v7.2.9, porque permite la conexión a diferentes tipos de


servidores de bases de datos como a PostgresSQL, MySQL y Microsoft SQL Server;
además de estar desplegado en la mayoría de los servidores web y ajustarse a las
necesidades del problema.

1.4.2 Herramientas de Ingeniería de Software Asistida por Computadora (CASE)

Son diversas aplicaciones informáticas o programas informáticos destinados a


aumentar el balance en el desarrollo de software reduciendo el costo de los mismos en
términos de tiempo (Battaglia et al. 2016). Ayudan con todo el ciclo de vida del
desarrollo de software en áreas como: el diseño de proyectos, cálculos de costes,
implementación de parte del código de forma automática, compilación automática y
documentación o detección de errores.

P á g i n a 21 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

Visual paradigm for UML v8.0

Se emplea esta herramienta para visualizar y diseñar elementos de software; utiliza el


UML como lenguaje de modelado y ofrece una gama de facilidades para la
conformación de aplicaciones. Está orientada a la creación de diseños usando el
paradigma de programación OO. Provee soporte para la generación de código, tiene
integración con diversos Entornos Integrados de Desarrollo (IDE’s) como NetBeans
IDE, así como la ventaja de la ingeniería inversa para aplicaciones ya conformadas. Es
disponible para múltiples plataformas (Windows y Linux).

Se selecciona esta herramienta porque ofrece un conjunto de funcionalidades útiles


que permiten llevar a cabo el proceso de desarrollo de software y a su correspondiente
integración con UML. Permite el aumento de la calidad del software, además de la
mejora de la productividad en el desarrollo y mantenimiento del software.

1.4.3 Servidor Web

Son los encargados de procesar las aplicaciones web del lado del servidor y del
respectivo envío de información a través de la red. Se encargan de generar el tráfico
en Internet. Una de sus funcionalidades es realizar conexiones bidireccionales o
unidireccionales generando una respuesta que será mostrada al usuario mediante la
aplicación web.

XAMPP v3.2.2

Esta herramienta hace referencia a un grupo de diferentes programas de código


abierto que típicamente son instalados en conjunto, con el objetivo de habilitar a un
servidor como prestador de los servicios de páginas web dinámicas, así como los de
aplicaciones web. Fue desarrollado para el sistema operativo Linux, con el servidor de
aplicaciones Apache y los lenguajes de script PHP (Parker 2015). Es seleccionado
este servidor en su v3.2.2 porque proporciona todas las funcionalidades necesarias
para la conformación de la solución.

1.4.4 Sistema Gestor de Bases de Datos (SGBD)

Los SGBD permiten definir las BD, además de la elección de las estructuras de datos
que estos sistemas necesitan para el almacenamiento y búsqueda información. Se
han convertido en una herramienta eficiente, que puede apoyar a los especialistas
para lograr una mejor la confidencialidad, seguridad, calidad e integridad de los datos
que estos almacenan.
P á g i n a 22 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

PostgresSQL v11

PostgreSQL es un Sistema de Gestión de Base de Datos Relacional de Objetos.


Utiliza el Lenguaje de Consulta Estructurada (SQL, en sus siglas en ingles) y ofrece
características como: consultas complejas, llaves extranjeras y vistas dinámicas, entre
otras. Puede ser empleado de forma gratuita para cualquier fin, ya sea privado,
comercial o académico (Lockhart 1998).

Se selecciona este SGBD debido a sus múltiples bondades, como: alta concurrencia,
amplia variedad de tipos nativos, posibilita el empleo de claves ajenas, entre otras. Es
elegida la v11 porque permite participación mejorada, rendimiento mejorado y
compilación sobre la marcha.

1.4.5 Aplicación para la administración de Bases de Datos (BD)

Los programas de administración de BD tienen la tarea de organizar, manejar,


modificar o almacenar los datos de manera tal que las tablas están indexadas y se
pueden responder a peticiones. Estas herramientas están disponibles en un número
de configuraciones diferentes y escalables.

PGAdmin IV

PgAdmin IV es una herramienta nativa de código abierto para la gestión y


administración PostgreSQL. Permite monitorizar el estado del servidor y de la BD
mediante su Panel de control (Munawaroh 2005). Posibilita tanto la creación de BD,
como la ejecución de consultas. Es empleada esta versión debido a que al instalar el
PostgresSQL 11, se sitúa el PGAdmin IV como aplicación de administración de BD.

1.4.6 Bibliotecas y marcos de trabajo para el desarrollo

En el desarrollo de software, un marco de trabajo, es una estructura conceptual y


tecnológica de soporte definida, normalmente con artefactos o módulos de software
concretos, en base a la cual otro proyecto de software puede ser organizado y
desarrollado. Típicamente, puede incluir soporte de programas, bibliotecas y un
lenguaje informático interpretado entre otros programas para ayudar a desarrollar y
unir los diferentes componentes de un proyecto (Gutiérrez 2014).

 Marco de trabajo Symfony v4.2

Symfony es un marco de trabajo que simplifica el desarrollo de aplicación dinámicas.


Además, proporciona estructura al código fuente y el uso de buenas prácticas. Facilita
P á g i n a 23 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

la programación, encapsula operaciones complejas en instrucciones sencillas. Está


diseñado para optimizar el desarrollo de softwares. Este separa la lógica de negocio,
la lógica de servidor y la presentación. Proporciona varias herramientas y clases
encaminadas a reducir el tiempo de desarrollo del sistema web. Además, permite al
desarrollador dedicarse por completo a los aspectos específicos de cada aplicación
(Potencier and Zaninotto 2012). Es elegido Symfony v4.2 porque se ajusta a las
necesidades del problema, ofreciendo las bondades anteriormente planteadas.

 Marco de trabajo Angular v7

Angular es un marco de trabajo que permite la creación de aplicaciones web; esta


combina plantillas declarativas e inyecciones de dependencias. Es de código abierto,
su principal finalidad es potenciar la creación de aplicaciones destinadas a la web con
capacidades de Modelo Vista Controlador (MVC). Se opta por Angular porque ofrece
gran velocidad y rendimiento a las aplicaciones web. La v7 es la seleccionada, debido
a sus bondades, algunas son: el mantenimiento del tamaño de la aplicación bajo
control ya que si esta ocupa más de 2MB la línea de comandos notifica y si sobrepasa
los 5MB mostrara un error; la interfaz de línea de comandos muestra avisos y mejor
desplazamiento virtual.

1.4.7 Entorno de Desarrollo Integrado (IDE)

Los IDE son aplicaciones informáticas que ofrecen servicios integrales para facilitarle
al desarrollador o programador la creación de software. Consiste en un editor de
código fuente, herramienta de construcción automática y un depurador; además de
poseer autocompletados. Dentro de estos se encuentran NetBeans IDE, Eclipse y
PhpStorm.

JetBrains PhpStorm v2018.2.3

JetBrains PhpStorm es un IDE multiplataforma para PHP. Proporciona un editor para


PHP, HTML y JavaScript con análisis de código sobre la marcha, prevención de
errores y refactorizaciones automatizadas para código PHP y JavaScript. Incluye un
editor de SQL completo con resultados de consultas editables (Chaudhary and Kumar
2014). Es elegido este IDE porque es uno de los mejores existentes; además que
facilita la construcción de las aplicaciones y permite la incorporación de plugins.

Conclusiones del capítulo

P á g i n a 24 | 85
Capítulo 1: “Fundamentación teórica de la investigación del sistema de gestión de la
información de las plantas medicinales cubanas”

Luego del análisis realizado en el presente capítulo se plantean las siguientes


conclusiones:

1. El estudio de los principales conceptos teóricos relacionados a la investigación,


permitieron una mejor compresión del problema a resolver.
2. A partir del análisis del estado del arte se obtuvo como resultado que las aplicaciones
analizadas no brindan solución al problema a resolver, porque no permiten la
comunicación entre los usuarios del sistema, la gestión de las plantas medicinales y
los productos derivados de estas; además de no brindar estrategias clínicas efectivas
de medicina verde.
3. Se conformó el entorno de trabajo para el desarrollo de la aplicación mediante el
análisis de las diferentes tecnologías y la metodología seleccionada (AUP en su
variante UCI, Escenario No. 4).

P á g i n a 25 | 85
Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

Capítulo 2: Análisis y diseño del sistema para la gestión de la información de


las plantas medicinales cubanas

En el presente capítulo se muestran las principales características de la propuesta de


solución a desarrollar. Como parte de la metodología de desarrollo de software
seleccionada AUP en su variante UCI Escenario No.4 se realiza el levantamiento de
requisitos funcionales y no funcionales; además de describir las HU relacionadas a
estos. Se presenta la arquitectura de la solución y los patrones de diseño como
resultado del análisis y diseño de la aplicación.

2.1 Requisitos de software

Un punto crucial en la gestión de un proyecto de desarrollo informático es la


determinación de los requisitos que debe satisfacer para ser considerado una
aplicación de calidad. En el contexto de los métodos de desarrollo de software, la
ingeniería de requisitos es la piedra angular de todo proceso organizado que tenga por
fin la obtención de sistemas informáticos que den solución verdadera a los problemas
organizacionales. La delimitación de los requisitos debe contribuir a la obtención de
una primera descripción del problema que permita establecer las motivaciones para su
solución mediante sistemas informáticos (Zapata and Arango Isaza 2004).

2.1.1 Requisitos de software funcionales (RF)

Los RF son las declaraciones de las funcionalidades con que la aplicación debe
contar, cómo debe reaccionar a las entradas del usuario, y cómo tiene que
comportarse ante las situaciones en particular. En algunos casos, los RF pueden
declarar explícitamente lo que el sistema no debe hacer y lo que si debe permitir.
Estos son normalmente descritos de una manera abstracta que puede entenderse por
los usuarios (Sommerville 2011). A continuación, se presentan los RF de la
investigación.

Tabla 2: Descripción de los RF.

No. Requisito Funcional Complejidad Prioridad para el


cliente
RF1 Autenticar usuario Media Alta
RF2 Registrar usuario Media Alta
RF3 Añadir usuario Media Alta
RF4 Modificar usuario Media Alta
Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

RF5 Buscar usuario Media Media


RF6 Eliminar usuario Media Media
RF7 Visualizar usuario Media Media
RF8 Asignar rol Media Media
RF9 Añadir planta Alta Alta
RF10 Modificar planta Alta Alta
RF11 Buscar planta Media Alta
RF12 Eliminar planta Media Alta
RF13 Visualizar planta Media Alta
RF14 Añadir artículo científico Media Baja
RF15 Eliminar artículo científico Media Baja
RF16 Modificar información sobre Media Baja
el artículo científico
RF17 Mostrar contenido del Media Baja
artículo científico
RF18 Añadir producto Media Alta
RF19 Modificar producto Media Alta
RF20 Eliminar producto Media Alta
RF21 Visualizar producto Media Alta
RF22 Buscar producto Media Alta
RF23 Añadir comentario Media Baja
RF24 Visualizar comentario Media Baja
RF25 Eliminar comentario Media Baja
RF26 Asociar artículo científico a Media Baja
la planta
RF27 Descargar artículo científico Baja Baja
RF28 Descargar información de la Baja Baja
planta
RF29 Asociar producto a la planta Media Media

2.1.2 Requisitos de Software no Funcionales (RNF)

Describen atributos sólo del sistema o del ambiente del sistema que no están
relacionados directamente con los RF. Los RNF incluyen restricciones cuantitativas,
Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

como el tiempo de respuesta o precisión, lenguajes de programación y/o SO, etcétera


(Sommerville 2011). A continuación, se exponen los RNF del SGI de las plantas
medicinales cubanas.

Usabilidad

RF1: El SGI debe ofrecer una interfaz de usuario intuitiva, que permita la fluidez de la
interacción con sus funcionalidades.

RNF2: Después de brindar 2h de entrenamiento al usuario con la aplicación, este en


un espacio de 1h solo puede cometer dos errores.

Rendimiento

RNF3: El SGI debe responder a las peticiones del usuario en un espacio no superior a
tres segundos.

RNF4: El sistema permite que existan al menos 100 usuarios conectados de forma
simultánea.

Requerimiento de Hardware

RNF5: La PC cliente debe contener las siguientes propiedades como mínimo: 256MB
de RAM o superior, procesador a 2GHz o superior y una tarjeta de red.

RNF6: La PC servidor de la aplicación debe poseer como mínimo 16GB de RAM,


80GB de almacenamiento, un procesador de 2GHz o superior y una tarjeta de red.

RNF7: La PC servidor de la API RESTful debe poseer como mínimo 16GB de RAM,
400GB de almacenamiento, un procesador de 2GHz o superior y una tarjeta de red.

RNF8: La PC servidor de la BD debe poseer como mínimo 16GB de RAM, 400GB de


almacenamiento y un procesador de 2GHz o superior.

Requerimiento de Software

RNF9: La PC Cliente debe tener como Navegador Web alguno de los siguientes:
Chrome v25, Morzilla Firefox v44, Internet Explorer v8, Opera v29.0.17 (o versiones
superiores) u otros que cumpla con los estándares de la Word Wide Web Consortium
(W3C).

RNF10: El Servidor de la BD debe tener PostgresSQL 11.


Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

RNF11: El Servidor de la aplicación web y de la API RESTful debe contar con el


servidor web Apache.

Seguridad

RNF12: Se define el acceso SGI y sus funcionalidades mediante la asignación de


permisos a través de roles de usuarios.

RNF13: Los mensajes de errores deben mostrar la menor cantidad de detalles


posibles, para evitar ofrecer información que comprometa la seguridad e integridad del
sistema.

RNF14: A los usuarios autorizados se les deberá garantizar el acceso a la información


solicitada en todo momento.

Apariencia o Interfaz externa

RNF15: Se garantizará una correcta organización de la información para permitir una


adecuada interpretación.

Confiabilidad

RNF16: La información manejada por el sistema debe estar protegida de acceso no


autorizado.

2.2 Descripción del SGI de las plantas medicinales cubanas

Este epígrafe está destinado a describir la interacción del SGI con los usuarios del
sistema y representar los comportamientos de la aplicación.

2.2.1 Descripción de los usuarios que interactúan con el sistema

Un usuario para la informática es un individuo que interactúa con cualquier sistema,


este puede poseer varios privilegios o permisos dentro de la aplicación. A
continuación, se muestra una tabla descriptora de los usuarios del SGI con sus
respectivos permisos.

Tabla 3: Descripción de los usuarios del SGI de las plantas medicinales cubanas.

Usuario Descripción
Anónimo Usuario que puede llevar a la ejecución actividades como visualizar
información de las plantas medicinales, productos derivados de estas,
artículos científicos y comentarios; le es permitido registrarse en el
sistema; descargar artículo científico y contenido de la planta.
Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

Básico Usuario que consta con las bondades del Anónimo, además de añadir
comentario y cerrar sesión.

Especialista Usuario con permisos para gestionar la información de las plantas


medicinales y los productos derivados de estas, además de la
administrar los artículos científicos relacionados con las plantas. Consta
con las bondades del usuario Básico.
Administrador Usuario que posee todos los permisos mencionados anteriormente
(usuario Anónimo, Básico y Especialista); además de ser el encargado
de gestionar usuarios, asignar roles y eliminar comentarios.

2.2.2 Descripción de los requisitos funcionales

Las historias de usuario son técnicas utilizadas para especificar los requisitos del
software. Se trata de tarjetas en las cuales el cliente describe brevemente las
características que el sistema debe poseer, sean requisitos funcionales o no
funcionales (Letelier 2006).

Como resultado de la utilización del Escenario No.4 de la metodología AUP en su


variante UCI es necesario la representación de las HU; a continuación, se ofrece la
descripción de las HU de prioridad alta “Adicionar planta” y “Registrar usuario”.

Tabla 4: HU: Adicionar Planta.

HU: “Adicionar Planta”


Número: 1 Nombre del Requisito: Adicionar planta.

Programador: Vivianne Díaz Hiedra Iteración asignada: 10

Prioridad: Alta Tiempo estimado: 8 días

Riesgo en desarrollo: Tiempo real: 7 días


 Interrupción del servicio eléctrico.
 Planificación irreal.
 Afectaciones externas al personal de trabajo.

Descripción:
Debe permitir que el usuario adicione una planta medicinal.
Se debe ofrecer un campo de texto por cada dato que posee la planta; con la finalidad de que el
usuario los complete. Se accede a la funcionalidad desde la opción Gestionar planta medicinal y
Añadir planta posteriormente. En la parte inferior derecha debe aparecer un botón Aceptar que
Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

completa la acción de adicionar después de rellanar los datos de la planta. Finaliza la HU.
Las plantas deben poseer los siguientes datos, clasificados por: química, farmacología, uso
tradicional, amenaza, agronomía y taxonomía:
 Nombre científico
 Nombre común
 Nombre del descubridor
 Clasificación por el Jardín Botánico
 Lugar geográfico
 Sistema geográfico
 Imagen
 Química
 Tipo de compuesto
 Propiedades químicas
 Propiedades físico químicas
 Composición química
 Farmacología
 Actividad
 Mecanismo
 Blanco molecular
 Formulación
 Toxicología
 Estudios preclínicos
 Estudios clínicos
 Efectos de drogas
 Uso tradicional
 Forma de uso
 Síntomas
 Preparación
 Dosis
 Administración
 Efectos secundarios
 Interacción
 Amenaza
 Nivel de amenaza
 Tamaño de la población
Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

 Reducción de los últimos 10 años


 Agronomía
 Cultivada
 Silvestre
 Lugar de cultivo
 Como se produce
 Tipo de suelo
 Frecuencia de riego
 Tipo de cultivo
 Taxonomía
 Familia
 Especie
 Subespecie
 Variedad

Validaciones:
1. No deben estar vacíos los campos correspondientes a: Nombre científico, Nombre común,
Clasificación por el Jardín Botánico, Familia, Especie, Lugar geográfico y Sistema
geográfico.
2. El campo correspondiente a Clasificación por el Jardín Botánico, Administración, Efectos
secundarios, Tamaño de la población, Reducción en los últimos 10 años y Tipo de cultivo
deben ser un número entero.
3. El campo correspondiente a Cultivada y Silvestre debe ser booleano.
4. Todos los campos que no se han mencionado anteriormente deben ser rellenados por una
cadena de caracteres.
Observaciones:
 Si el usuario no introduce alguno de los datos referentes a Nombre científico, Nombre
común, Clasificación por el Jardín Botánico, Familia Especie, Lugar geográfico y Sistema
geográfico, el sistema emite un mensaje indicando que los campos obligatorios deben ser
rellenados
 Si el usuario introduce los datos de manera incorrecta, el sistema emite un mensaje de
notificación indicando que los datos son incorrectos.
Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

Prototipo de Interfaz de Usuario:

Fig. 1: Prototipo: Añadir planta (Elaboración propia).


Tabla 5: HU: Registrar Usuario

Número: 2 Nombre del Requisito: Registrar usuario.

Programador: María Mercedes Ramírez Iteración Asignada: 4


Drake

Prioridad: Alta Tiempo estimado: 7 días

Riesgo en desarrollo: Tiempo Real: 5 días


 Planificación irreal.
 Interrupción del servicio eléctrico.
 Afectaciones externas al personal de
trabajo.

Descripción:
Debe permitir que un usuario pueda registrarse en el sistema. Se muestra un campo texto por cada
dato que se necesite del usuario; con la finalidad de que el usuario lo complete. La funcionalidad
Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

es accesible desde la Interfaz Principal de la aplicación, después de seleccionar la opción


Registrarse. En la parte inferior derecha de la interfaz debe aparecer un botón Aceptar para
completar la acción de adicionar, después de que el usuario introduce su información. Finaliza la
HU
Los datos del usuario a insertar son:
 Nombre
 Nombre de Usuario
 Correo
 Contraseña
 Imagen

Validaciones:
1. Ninguno de los campos debe estar vacíos, excepto imagen.
2. El Nombre y el Apellido debe comenzar con letra inicial mayúscula.
3. El Nombre y el Apellido no pueden poseer caracteres extraños, ni numéricos.
4. El correo tiene que poseer el símbolo @.

Observaciones:
 Si el usuario no introduce alguno de los datos obligatorios el sistema emite un mensaje
indicando que los campos deben ser rellenados.
 Si el usuario introduce los datos de manera incorrecta, el sistema emite un mensaje de
notificación indicando que los datos son incorrectos.
Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

Prototipo de Interfaz:

Fig. 2: Prototipo: Registrar usuario (Elaboración propia).

2.3 Arquitectura de software

La arquitectura de software ofrece una vista del sistema que incluye los componentes
principales del mismo, la conducta de estos según se le percibe desde el resto del
sistema y las formas en que los componentes interactúan y se coordinan para alcanzar
el objetivo el sistema. La vista arquitectónica es una vista abstracta que aporta alto
nivel de comprensión (Reynoso 2004).

La arquitectura de software está compuesta por: Filtros, Niveles en sistema jerárquico,


Base de Datos, Clientes y servidores. Existe una amplia gama de patrones
arquitectónicos a emplear en la arquitectura de software, algunos de estos son:
Modelo entre capas, Cliente-Servidor, Interprete y Orientado a servicios.
Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

En el desarrollo de solución serán utilizadas dos arquitecturas: Orientada a Servicios


(SOA, en sus siglas en ingles) y Modelo Vista Controlador (MVC), para la
conformación de la API RESTful y las interfaces del SGI de las plantas medicinales
cubanas correspondientemente. A continuación, se expone el porqué del empleo de
cada una estas.

2.3.1 Arquitectura de software Modelo Vista Controlador para las vistas


del SGI de las plantas medicinales cubanas

La arquitectura MVC separa la presentación e interacción de los datos del sistema. La


aplicación se estructura en tres componentes lógicos que interactúan entre sí. El
componente Modelo maneja los datos del sistema y las operaciones asociadas a esos
datos. El componente Vista define y gestiona cómo se presentan los datos al usuario.
El componente Controlador dirige la interacción del usuario (por ejemplo, teclas
oprimidas, clics del mouse, etcétera) y envía estas interacciones a Vista y Modelo
(Pressman 2010).

Para la lógica de presentación se propone la utilización del marco de trabajo Angular


7, que promueve el uso de patrones, estándares y buenas prácticas en la web. Incluye
la implementación del patrón Modelo-Vista-Controlador (MVC) así como de Inyección
de Dependencias. A continuación, se muestra una representación de la interacción de
las capas en la arquitectura.
Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

Fig. 3: Arquitectura MVC (Elaboración propia).

2.3.2 Arquitectura de software Orientada a Servicios

SOA brinda un enfoque para el diseño y la construcción de aplicaciones, a partir de


componentes independientes que exponen funciones como servicios accesibles por
otros componentes a través de interfaces estándares. Por lo general, estas funciones
son transacciones cortas donde se solicita un servicio, se procesa y luego se devuelve
el resultado. Esta arquitectura es una forma de desarrollar sistemas distribuidos en la
que los componentes son servicios independientes y se ejecutan en computadoras
distribuidas geográficamente. Por consiguiente, los servicios son independientes de la
plataforma y del lenguaje de implementación. Los sistemas de software pueden
construirse al componer servicios locales y servicios externos de diferentes
proveedores, con interacción uniforme entre los servicios del sistema (Pressman
2010).

La arquitectura SOA ofrece flexibilidad a la aplicación, potencializando la reutilización


de código; permitiendo que los servicios puedan ser consumidos por los clientes en
aplicaciones diferentes gracias a su veracidad; optimizando el trabajo con datos y su
coordinación. Dicha arquitectura está centrada en la comunicación y la integración de
los servicios. Es utilizada en el desarrollo de la API RESTful para la construcción del
SGI, debido a las bondades que ofrece, como son: la independencia de las

Fig. 4: Arquitectura SOA (Elaboración propia).


Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

plataformas y lenguajes. A continuación, se expone una figura representativa de la


arquitectura.
2.4 Diagrama de clase del diseño

Fig. 5: Diagrama de clase del diseño de la HU: Añadir planta.

El
diagrama de clases del diseño permite representar gráficamente y de manera
estática la estructura general de un sistema, mostrando cada una de las clases y sus
interacciones, simbolizadas en forma de bloques, los cuales son unidos mediante
Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

líneas y arcos. A continuación, se representa el diagrama de clases del diseño


correspondiente a la HU: Añadir Planta.

A continuación, se describen de las clases del diseño:

El diseño está compuesto por dos paquetes, estos engloban las clases contenidas en
el de la Aplicación web (vista del software) y en Servicios (API RESTful), además de
un subsistema llamado headers; a continuación, se explican sus funcionalidades.

 Paquete Aplicación web: Las clases en este paquete son las encargadas de
representar visualmente la aplicación, recibiendo y enviando las peticiones del cliente;
alguna de sus funciones es añadir o visualizar información (añadir planta en el caso de
la HU en cuestión).

 Paquete Servicios: Es el encargado de responder las peticiones del cliente. Brindando


la información necesaria mediante servicios (POST, GET, DELET y PUT).

 Subsistema headers: Se encarga de permitir la comunicación de los paquetes


Servicios y Aplicación web, su objetivo es interpretar los pedidos de los usuarios y
enviarlos a la clase controladora del paquete de Servicios; y la respuesta de manera
contraria.
2.5 Patrones de diseño de software empleados en el desarrollo del SGI

Los patrones de diseño son una solución de problemas que ocurren en el desarrollo de
software y otros ámbitos referentes al diseño de interacción o interfaces, así como la
base para la búsqueda de soluciones a estos problemas, de tal modo que se pueda
aplicar esta solución un millón de veces, sin repetir lo mismo dos veces (Fresneda
González 2016).

2.5.1 Patrones para la Asignación de Responsabilidades (GRASP)


Los GRASP surgen con el objetivo de asignar responsabilidades dentro del diseño de
las aplicaciones, su empleo arroja una serie de buenas prácticas. A continuación de
exponen los patrones GRASP empleados en el SGI.

 Alta cohesión: Indica la relación que existe entre los elementos de un mismo módulo.
Es la medida de la relación funcional de los elementos de un módulo. El objetivo es
organizar estos elementos de manera que los que tengan una mayor relación a la hora
de realizarse una tarea pertenezcan al mismo módulo, y los elementos no
relacionados, se encuentren en módulos separados (Giraldo et al. 2011). El empleo de
Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

este patrón en la aplicación se refleja en las clases PlantaService, ToastrService,


Planta y Router, ya que estas poseen la estructura necesaria para almacenar la
información de manera coherente y de acuerdo a las responsabilidades que tenga
asignada cada clase; permitiendo no sobrecargar de información otras clases (como
planta.componet).

 Bajo acoplamiento: Impulsa la asignación de responsabilidades de manera que su


localización no incremente el acoplamiento hasta un nivel que lleve a los resultados
negativos que puede producir un acoplamiento alto. Un buen diseño se caracteriza por
un acoplamiento mínimo, es decir, unos módulos independientes los unos de los otros
como sea posible (Giraldo, Acevedo and Moreno 2011). La utilización de este patrón
se puede evidenciar en la relación exclusiva de la clase planta.component con
PlantaService, ToastrService, Planta y Router, ya que estas últimas no se relaciona
entre ellas; brindando que en caso de modificación de alguna estas, se afecte solo la
que se encuentra relacionada a ella (planta.component).

 Controlador: Es conveniente utilizar la misma clase controlador para todos los eventos
del sistema de un caso de uso, de manera que es posible manejar la información
acerca del estado del caso de uso en el controlador (Giraldo, Acevedo and Moreno
2011). Se refleja el empleo de este patrón en la clase PlantaControler, porque esta
controla el flujo de información dentro del paquete Servicios, permitiendo la
comunicación de este con el subsistema headers.

 Experto: Es utilizado en la asignación de responsabilidades; es un principio de guía


básico empleado en el diseño de objetos. Expresa la intuición común de que los
objetos hacen las cosas relacionadas con la información que tienen (Giraldo, Acevedo
and Moreno 2011). En la clase Planta perteneciente al modelo del paquete Servicios
se evidencia el empleo de este patrón, porque contiene las funciones necesarias para
acceder a la información y a los métodos correspondientes de un servicio.
2.5.2 Patrones GOF

Los patrones GOF describen soluciones simples y elegantes a problemas específicos


en el diseño de software orientado a objetos, permiten enfrentarse a la programación
de software propiciando reutilización y extensibilidad de soluciones que han
funcionado en el pasado para garantizar la calidad de los mismo (Parra Valdés 2014).
Estos se clasifican según el propósito para el fueron definidos, a continuación, se
presentas los patrones GOF empleados en la aplicación.
Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

Patrones de comportamiento: Definen la comunicación e iteración entre los objetos


de un sistema. El propósito de este tipo de patrón es reducir el acoplamiento entre los
objetos.

 Singleton: Garantiza la existencia de una única instancia para una clase y la creación
de un mecanismo de acceso global a dicha instancia (Giraldo, Acevedo and Moreno
2011). Se evidencia su empleo en la clase PlantaController, ya que esta permite la
interacción con el subsistema headers, su objetivo es brindar los servicios que sean
requeridos por usuario. A continuación, se muestra un fragmento de código donde se
evidencia el uso del patrón en cuestión.


Fig. 6: Fragmento de código de la función lista_plantaAction.

Patrones creacionales: Tratan con las formas de crear instancias de objetos. El


objetivo de estos patrones es de abstraer el proceso de instanciación y ocultar los
detalles de cómo los objetos son creados o inicializados (Giraldo, Acevedo and
Moreno 2011).

 Decorator: Añade funcionalidad a una clase dinámicamente (Giraldo, Acevedo and


Moreno 2011). Se observa la utilización del patrón en la todas las clases cliente de la
vista, debido a que todas estas heredan del código global HTML de la aplicación,
favoreciendo la reutilización de código, un ejemplo de ello es la clase
PlantaController que hereda de FOSRestController. A continuación, se evidencia el
uso del patrón en cuestión.

Fig. 7: Fragmento de código de la clase PlantaController.


Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

2.6 Modelo físico de la BD

Para la implementación del SGI se empleó el modelo físico de la BD, este consta de
12 entidades: Producto, Sistema, Artículo_PDF, Usuario, Comentario, Planta,
Taxonomía, Agronomía, Amenaza, Química, Uso_Tradicional y Farmacología (las
últimas 6 entidades forman parte de los atributos que poseen las plantas, separándose
de la entidad Planta para disminuir complejidad). A continuación, se representa el
modelo físico de la BD del SGI.

Fig. 8: Diseño de la Base de Datos.

A continuación, se describen cada una de las entidades de la basa de datos:

 Producto: Esta entidad contiene todos los datos referentes a los productos (nombre,
descripción, sistema en el que actúa y una imagen); se relaciona con la entidad Planta
por medio de una relación de mucho a mucho.

 Artículo_PDF: Está compuesto por los datos (Título, Autor y Año de publicación) de los
artículos científicos relacionados con las plantas; se relaciona a Planta y a Usuario
mediante la relación de uno a mucho.
Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

 Usuario: Posee toda la información relacionada al usuario (Rol, Nombre, Nombre de


Usuario, Correo, Contraseña, Imagen del usuario y la Fecha de creación del registro).
Se relaciona a la entidad Artículo_PDF, Planta y Comentario mediante una relación de
uno a mucho.

 Comentario: La entidad engloba los datos referentes al comentario (Cuerpo del


comentario y Fecha de creación). Se relaciona a Usuario y a Planta mediante la
relación de uno a mucho.

 Planta: Posee la información más relevante de la planta (Nombre científico, Nombre


común, Nombre del descubridor, Clasificación por el Jardín Botánica, Lugar
geográfico, Sistema geográfico e Imagen). Se relaciona con 11 entidades; por medio la
relación de uno a uno con Taxonomía, Agronomía, Amenaza, Uso tradicional, Química
y Farmacología; y con Comentario, Usuario y Artículo_PDF de uno a muchos; mientras
que con Producto existe una relación de mucho a mucho.

 Taxonomía: Contiene la información de la planta referente a la taxonomía (Familia,


Especie, Subespecie y Variedad). Se relaciona solamente por medio de uno a uno a la
entidad Planta.

 Agronomía: Posee los datos de la agronomía de la planta (Cultivada, Silvestre, Lugar


de cultivo, Como se produce, Tipo de suelo, Frecuencia de riego, Provincia y Tipo de
cultivo). Se relaciona con Planta mediante la analogía de uno a uno.

 Amenaza: Está compuesta por la información de la amenaza que posee la planta


(Nivel de amenaza, Tamaño de la población y Reducción de los últimos 10 años); se
relaciona mediante uno a uno con la entidad Planta.

 Química: Contiene los datos de la planta referentes a la química (Tipo de Compuesto,


Propiedades químicas, Propiedades físico químicas y Composición química); se
relaciona con la entidad Planta mediante la relación de uno a uno.

 Uso_Tradicional: Está compuesta por las propiedades relacionadas a empleo de las


plantas (Forma de uso, Síntomas, Preparación, Dosis, Administración, Efectos
secundarios e Interacción); se relaciona con Planta mediante la relación de uno a uno.

 Farmacología: Contiene los datos de la farmacología de las plantas (Actividad,


Mecanismo, Blanco molecular, Formulación, Toxicología, Estudios preclínicos,
Estudios clínicos y Efectos de drogas); se relaciona a Planta por mediante la relación
de uno a uno.
Capítulo 2: “Análisis y diseño del sistema para la gestión de la información de las
plantas medicinales cubanas”

Conclusiones del capítulo

A partir del desarrollo del presente capítulo se pudo concluir que:

1. La captura de requisitos y las HU correspondientes, ofreció un mayor entendimiento de


las funcionalidades que se desean desarrollar, su comportamiento ante la interacción
del usuario y la secuencia de actividades que debe realizar el mismo para lograr su
objetivo.

2. El empleo de la arquitectura MVC y Orientada a Servicios, y los patrones GRASP Y


GOF permitieron el diseño de la aplicación, describiendo la estructura de la misma y
ofreciendo la reutilización de código y el empleo de buenas prácticas.

3. Quedó plasmada la propuesta de solución para la problemática de la investigación,


obteniéndose 29 requisitos funcionales y 16 no funcionales, y 29 HU.
Capítulo 3: “Implementación y pruebas del sistema para la gestión de la
información de las plantas medicinales”

Capítulo 3: Implementación y pruebas del sistema para la gestión de la


información de las plantas medicinales.

En el presente capítulo tendrán lugar las especificaciones relacionadas a la


implementación del SGI. Al concluir, le será realizada a la aplicación pruebas de tipo
unitaria, sistema y aceptación con el objetivo de validar el cumplimento de que todos
los requisitos del sistema.

3.1 Diagrama de componente

La finalidad de los diagramas de componentes es mostrar los elementos de diseño de


los sistemas informáticos, describiendo la estructura general de la aplicación y el
comportamiento del servicio que estos componentes proporcionan. Los componentes
del diagrama pueden agruparse en paquetes y permitiéndose entre ellos relaciones
(generalización, asociación, agregación y realización). A continuación, se representa el
diagrama de componentes asociado a la HU: Añadir planta.

Fig. 9: Diagrama de componente de la HU: Añadir planta.

A continuación, se describen los paquetes del diagrama de componente:

 Paquete Aplicación web: contiene las clases encargada de visualizar el contenido de la


aplicación web.

 Paquete Servicio: agrupa las clases destinadas a brindar los servicios a la aplicación
web.

 Interfaz de servicio headers.php: Permite la comunicación entre el paquete Aplicación


web y los Servicios.

4
Capítulo 3: “Implementación y pruebas del sistema para la gestión de la
información de las plantas medicinales”
3.2 Diagrama de despliegue
Este diagrama exhibe las relaciones físicas de los distintos nodos que componen el
sistema y el reparto de los componentes sobre estos. Define la topología del sistema,
describiendo los elementos de software y hardware necesarios para la puesta en
ejecución del sistema informático. Los nodos se conectan por asociaciones de
comunicación como conexiones TCP/IP. A continuación, se expone el diagrama de
despliegue del SGI de las plantas medicinales cubanas.

Fig. 10: Diagrama de despliegue.

Descripción del diagrama de despliegue:

 PC cliente: su función es acceder e interactuar con el SGI según sus necesidades. Al


estar la aplicación desarrollada sobre la web, la máquina cliente necesita de muy
pocas prestaciones; teniendo un navegador web (Chrome v25, Morzilla Firefox v44,
Internet Explorer v8, Opera v29.0.17, o versiones superiores a estas), una RAM
mínima de 253MB y procesador mínimo de 2GHz podrá acceder al sistema y realizar
las operaciones necesarias.

 Servidor de la aplicación web: Es el encargado de la presentación del SGI, debe estar


compuesto de 16GB de RAM, 80GB de almacenamiento, un procesador de 2GHz o
superior, una tarjeta de red, servidor web Apache y como marco de trabajo Angular v7.

4
Capítulo 3: “Implementación y pruebas del sistema para la gestión de la
información de las plantas medicinales”
 Servidor de los Servicios: Es el encargado de satisfacer las peticiones del SGI
mediante servicios, debe estar compuesto de 16GB de RAM, 400GB de
almacenamiento, un procesador de 2GHz o superior, una tarjeta de red, servidor web
Apache y como marco de trabajo Symfony v4.2.

 Servidor de base de datos: es el encargado de almacenar la información generada del


sistema, para el correcto funcionamiento del SGI es necesario que posea PostgreSQL
v11, una RAM mínima de 16GB, un procesador mínimo de 2GHz y un disco duro de
400GB.

3.3 Pruebas de software

Tienen como objetivo proporcionar información sobre la calidad del software (interna y
externa). Las pruebas son un conjunto de actividades dentro del desarrollo de la
aplicación, pudiendo ser implementadas en cualquier momento de dicho proceso del
software (Barhate 2015). En este epígrafe se pretende demostrar que el programa
cumple con todos los requerimientos necesarios (requisitos funcionales y no
funcionales), además de descubrir imperfecciones del mismo para posterior corrección
y despliegue.

3.3.1 Estrategia de pruebas

Las estrategias de pruebas de software proporcionan una guía que describe los pasos
que deben realizarse como parte de las pruebas. Estas deben incorporar la
planificación de la prueba, el diseño de casos de prueba, la ejecución de la prueba y la
recolección y evaluación de los resultados. Debe ser suficientemente flexible para
promover un uso personalizado de la prueba y adecuadamente rígida para alentar la
planificación razonable y el seguimiento de la gestión conforme avanza el proyecto
(Pressman 2010).

Para evaluar la calidad del SGI desarrollado y verificar el cumplimiento de los objetivos
trazados, se aplica un conjunto de pruebas. En la siguiente tabla se muestra la
estrategia de prueba diseñada que será aplicada al sistema.

Tabla 6: Estrategia de pruebas para el SGI de las plantas medicinales.

Nivel de prueba Tipo Método Herramienta


Unidad Funcional Caja blanca Herramienta PHPUnit v7.2.4.
Sistema Funcional Caja negra Caso prueba
Carga Herramienta Apache JMeter v2.10
Seguridad

4
Capítulo 3: “Implementación y pruebas del sistema para la gestión de la
información de las plantas medicinales”
Rendimiento Herramienta Apache JMeter v2.10
Usabilidad Lista de chequeo
Aceptación Beta Caja negra

3.3.2 Nivel de prueba unitaria

Este nivel de prueba está enfoca a los esfuerzos de verificación en la unidad más
pequeña del diseño de software: el componente. Se orientan al procesamiento interno
del software y las estructuras de datos dentro de las fronteras de un componente.
(Pressman 2010). Estas son el proceso de probar componentes del programa, como
métodos o clases de objetos (Sommerville 2011). Entre los beneficios de las pruebas
unitarias se encuentran que disminuye la necesidad de depuración y ayuda a mejorar
el diseño. Su objetivo es aislar cada parte del programa y mostrar que las partes
individuales funcionan correctamente (Arias et al. 2018).

Para la conformación de las pruebas unitarias se emplea el método de Caja blanca, la


cual está dirigida a evaluar las funciones internas del software; basándose en el
examen cercano de los detalles de procedimiento del software. Las rutas lógicas a
través del software y las colaboraciones entre componentes se ponen a prueba al
revisar conjuntos específicos de condiciones y/o bucles (Pressman 2010).

Es utilizada la herramienta PHPUnit v7.2.4. para la ejecución de las pruebas unitarias;


esta es un marco de trabajo de pruebas usado en aplicaciones PHP, con la que se
puede hacer pruebas al código, desde las clases y módulos hasta peticiones HTTP
validando estatus y contenido. Deja de lado el navegador al momento de hacer código,
también apoya a no recargar la página cada vez que hacemos algún cambio (Guillén
2018) .

La aplicación de las pruebas unitarias fue efectuada de forma satisfactoria (Anexo


2Anexo 2). A continuación, se muestra el resultado obtenido tras la aplicación de la
prueba a al método registrar usuario.

4
Capítulo 3: “Implementación y pruebas del sistema para la gestión de la
información de las plantas medicinales”

Fig. 11: Código del método Registrar usuario.

Fig. 12: Resultado de la prueba unitaria al método Registrar usuario.

3.3.3 Nivel de prueba de sistema

Este nivel pretende demostrar que los componentes son compatibles, que interactúan
correctamente y que transfieren los datos correctos en el momento adecuado a través
de sus interfaces. Estas deben enfocarse en poner a prueba las interacciones entre los
componentes y los objetos que constituyen el sistema. También se prueban
componentes o sistemas reutilizables para acreditar que al integrarse nuevos
componentes funcionen como se esperaba (Sommerville 2011).

Existen dos tipos de pruebas en este nivel las funcionales y las no funcionales. Las
funcionales se centran en comprobar que el sistema desarrollado funciona acorde a
las especificaciones funcionales y requisitos de la aplicación. Ayudando a detectar
posibles defectos derivados de errores en la fase de programación. Estas le presentan
atención al comportamiento del sistema y a los datos de entrada y salida del entorno
de pruebas (Escobar-Sánchez and Fuertes-Díaz 2015). Las pruebas no funcionales

4
Capítulo 3: “Implementación y pruebas del sistema para la gestión de la
información de las plantas medicinales”
están orientadas a validad los requerimientos no funcionales del sistema, es decir, la
forma en que funciona el sistema y no por medio de comportamientos específicos. Su
ejecución ofrece los riesgos que el sistema posee, permitiendo comprobar si cumple
con las expectativas del cliente. Entre sus beneficios se encuentran: mejora de la
experiencia del usuario, determinación de cuellos de botella como la configuración de
base de datos y permite conocer el rendimiento real de la aplicación en comparación
con las expectativas esperadas (Morales 2018).

Pruebas funcionales:

Para la ejecución de las pruebas funcionales fue necesario la utilización del método de
Caja negra el cual se concentra en analizar los requisitos funcionales del software,
llevándose a cabo sobre la interfaz de usuario, sin prestar atención al comportamiento
interno y la estructura del programa. Su objetivo es detectar errores de interfaz, de
estructura de datos, de inicialización o terminación. Para hacer dichas pruebas se
confeccionan 11 Casos prueba (si desea analizas dichos Casos de prueba remitirse al
Expediente de proyecto y Casos prueba). A continuación, se representan el Caso
prueba correspondiente a la HU: Registrar usuario.

4
Capítulo 3: “Implementación y pruebas del sistema para la gestión de la información de las plantas medicinales”

Tabla 7: Descripción del caso prueba a la HU: Registrar Usuario.

Escenario Descripción Nombre Nombre de Contraseñ Correo Imagen Respuesta del Flujo central
usuario a sistema
EC 1.1 El usuario V (Noel) V (Nperez9) V V V (vacío) Registrar la 1. Seleccionar la opción
del Registrar.
Registrar introduce (Margarita* (noe@gm información del
un usuario todos los datos 79) ail.com) usuario en el
correctam para sistema
ente. registrarse V (Noel) V (Nperez9) V V V
correctamente. (Margarita* (noe@gm (muec23.jp
79) ail.com) g)
EC 1.2 El usuario I (vacío) V (Nperez9) V V V (vacío) Resalta el (los)
Registra al intenta (Margarita* (noe@gm campo(s) con
usuario registrarse con 79) ail.com) valores inválidos
con datos V (Noel) I (vacío) V V V (vacío) en rojo y muestra
campos obligatorios (Margarita* (noe@gm un mensaje
obligatorio vacíos. 79) ail.com) comunicando: “El
s vacíos. V (Noel) V (Nperez9) I (vacío) V V (vacío) formulario no es
(noe@gm válido”
ail.com)
V (Noel) V (Nperez9) V I V (vacío)
(Margarita* vacía
79)

4
Capítulo 3: “Implementación y pruebas del sistema para la gestión de la información de las plantas medicinales”

EC 1.3 El usuario I (Noel**) V (Nperez9) V V V (vacío) Resalta el (los)


Registra al intenta (Margarita* (noe@gm campo(s) vacíos
usuario registrarse con 79) ail.com) en rojo y muestra
con datos V (Noel) I V V V (vacío) un mensaje
campos incorrectos. (Nperez9@ (Margarita* (noe@gm comunicando: “El
incorrecto ) 79) ail.com) formulario no es
s. válido”
V (Noel) V (Nperez9) V I( V (vacío)
Margarita*7 noe.gmail.
9 com)

4
Capítulo 3: “Implementación y pruebas del sistema para la gestión de la
información de las plantas medicinales”
Las pruebas se realizaron en tres iteraciones. En la primera se detectaron un total de
25 no conformidades, clasificadas como 13 de ortográfica, 5 de funcionalidad, 1 de
interfaz y 6 de validación. Antes de llevar a cabo la segunda iteración se corrigieron las
encontradas en la primera, obteniéndose 3 no conformidades ortográficas y 1 de
interfaz, sumando 4. Tras resolver las imperfecciones anteriormente mencionadas se
lleva a cabo la tercera iteración obteniéndose resultados satisfactorios (cero no
conformidades). A continuación, se muestra los resultados de la aplicación de la
prueba, tenido en cuenta los tipos de NC identificadas (ortográficas, validación,
funcional, interfaz).

Fig. 13: Gráfico de barras de los resultados de las pruebas de sistemas funcionales
(Elaboración propia).

Pruebas no funcionales:

 Pruebas de carga: Estas pruebas son ejecutadas con el objetivo de determinar y


validar la respuesta de la aplicación al estar sometida a una carga de un cierto número
de usuarios o de peticiones (Morales 2018). Para la conformación la prueba se emplea
la herramienta Apache JMeter v2.10, la cual es de código abierto, destinada a realizar
pruebas de carga a los sistemas, simulando las funcionalidades de un navegador.
Se aplica en un ambiente de prueba con las siguientes características:

 Sistema Operativo: Windows 10


 Microprocesador: Intel(R) Core (TM) i3-5020U CPU @ 2.20GHz

4
Capítulo 3: “Implementación y pruebas del sistema para la gestión de la
información de las plantas medicinales”
 Memoria RAM: 8 GB
 Disco Duro: 1000 GB
El resultado de las pruebas de carga se considera satisfactorios, debido a que el
tiempo de respuestas ante la interacción de 100 usuarios concurrentes en el sistema,
fue de 1.9 segundos (Ver Anexo 3), siendo inferior a 3 segundos. Quedando
demostrado que el sistema desarrollado es estable.

 Pruebas de rendimiento: El principal objetivo de ellas es calcular la respuesta de la


aplicación con diferentes medidas de usuario o peticiones (Morales 2018). Para
ejecutarla fue empleado la herramienta Apache JMeter v2.10, con el mismo ambiente
prueba mencionado en la prueba de carga. Arrojando resultados satisfactorios (Ver
Anexo 4). La siguiente tabla muestra los tiempos medios de respuesta arrojados por el
SGI.
Tabla 8: Tabla resumen de los resultados de las pruebas de rendimiento.

Cantidad de usuarios Tiempo de espera


(segundos)
50 1.7
100 1.9
1000 4.5

Demostrando que el sistema para una cantidad de 100 usuarios concurrentes arroja
un tiempo de 4.5 segundos, siendo superior al permisible (3 segundos).

 Pruebas de seguridad: Intentan verificar que los mecanismos de protección que se


construyeron en el sistema lo protejan de cualquier penetración impropia (Pressman
2010). Para llevar a cabo dicha prueba fue necesario identifícalos diferentes tipos de
usuarios que están definidos por el sistema (Anónimo, Básico, Especialista y
Administrador), creándose dichos usuarios en el sistema, para proceder a las pruebas.

Se llevaron a cabo intentos de violación de seguridad al sistema, con la finalidad de


acceder a este mediante credenciales de usuarios no existentes o con contraseñas
erróneas. Estas arrojaron resultados satisfactorios, ya que no fue posible acceder al
sistema con usuarios no registrados previamente en el sistema o con falsas
contraseñas, demostrándose que el sistema posee un mecanismo de autenticación
confiable.

Se accede al sistema con cada uno de los 4 usuarios con que consta; con el objetivo
de acceder a funciones no permitidas para determinados usuarios. Obteniéndose
como resultado que los usuarios registrados en el sistema solamente tienen acceso a

4
Capítulo 3: “Implementación y pruebas del sistema para la gestión de la
información de las plantas medicinales”
las funciones predefinida para cada uno de ellos, eliminado la posibilidad de que
usuarios no autorizados ejecuten funcionalidades no permitidas.

 Pruebas de usabilidad: Están destinadas a evaluar la interacción de la aplicación con


los usuarios, con el objetivo de optimizar la experiencia del usuario al interactuar con
la aplicación, propiciando cambios en el diseño de la web. Para llevar a cabo dicha
prueba se ha establecido una lista de chequeo que consta de un conjunto de
indicadores de usabilidad (específicamente 14), pertenecientes a 6 categorías
(pantalla de bienvenida, minimizar carga de usuario, interfaz visible y práctica, control
y autonomía, consistencia y diseño gráfico y búsqueda) (Ver ). Como resultado de la
primera iteración se obtuvo que la aplicación cumple con el 71% de los indicadores;
para una mayor comprensión a continuación se muestra un gráfico.

Fig. 14: Gráfico de pastel de los resultados de las pruebas al software de usabilidad
(Elaboración propia).

Tras corregir los indicadores con que no cumplía el sistema se procede a realizar la
segunda iteración, obteniéndose resultados satisfactorios, ya que con el 100% de los
indicadores se cumple.

3.3.4 Nivel de prueba aceptación

Están orientadas a determinar si el software cumple con las necesidades y


requerimientos acordados, demostrando que está listo para ser desplegado. Estas
pruebas son llevadas a cabo para establecer el nivel de confianza del sistema, que
está dado por su grado de adherencia a las necesidades, requerimientos y procesos
de negocio solicitados por el usuario (Basit et al. 2018).

Las pruebas de aceptación a efectuar son de tipo beta, esta incluye entregar el
sistema a algunos de los clientes finales en un entorno real, con el objetivo de que, al

4
Capítulo 3: “Implementación y pruebas del sistema para la gestión de la
información de las plantas medicinales”
interactuar con el software, encuentren y reporten problemas o no conformidades
encontradas en el sistema que no fueron anticipadas por los desarrolladores. Después
de esta retroalimentación, el sistema se modifica y libera, ya sea para más pruebas
beta o para su venta general (Sommerville 2011).

Es mostrada la aplicación al Doctor en Ciencias Farmacéuticas Juan Abreu Payrol,


con el objetivo de que sea evaluada; tras dicho análisis se obtuvieron 7 no
conformidades agrupadas en 2 funcionales y 5 de interfaz culminándose así la primera
iteración. Se corrigen los inconvenientes y se procede a la segunda iteración, dando
como resultado 1 no conformidad de interfaz. Después de resolver el inconveniente de
interfaz se llevó a cabo la tercera iteración, demostrando que la herramienta cumple
con todos los requisitos del sistema. Culminadas las pruebas se comprueba que la
aplicación es apta para el despliegue. A continuación, se muestra un gráfico
representativo con los resultados de la prueba de aceptación.

Fig. 15: Gráfico de barras de los resultados de las pruebas aceptación (Elaboración propia).

4
Recomendaciones

Conclusiones generales

La conformación del presente trabajo de diploma permitió dar cumplimiento al objetivo


propuesto de desarrollar un Sistema de Gestión de la Información de las plantas
medicinales cubanas para el Ministerio de Salud Pública (MINSAP). Esto fue posible,
debido a los siguientes planteamientos:

1. El análisis de los referentes teóricos permitió identificar la importancia de


desarrollar un Sistema de Gestión de la Información de las plantas medicinales
cubanas, puesto que ninguno de los softwares analizados satisface las
necesidades del MINSAP.
2. La fundamentación de la metodología, herramientas y tecnologías utilizadas en
el desarrollo de la aplicación, ofreció la identificación del ambiente de desarrollo
en correspondencia a las necesidades del proyecto.
3. El análisis y el diseño de la solución permitió modelar la aplicación deseada,
obteniéndose los artefactos necesarios para guiar el proceso de desarrollo de
la misma.
4. Como resultado de la implementación se obtuvo una aplicación que cumple
con todos los requerimientos deseados, cubriendo las necesidades del cliente.
5. Las pruebas al software permitieron verificar su correcto funcionamiento y los
resultados satisfactorios brindaron validez a la presente investigación.

4
Recomendaciones

Recomendaciones

 Agregar nuevas funcionalidades según las necesidades que vayan surgiendo


en el transcurso del tiempo.
 Se recomienda realizar el manual de usuario para la solución presentada.
 Utilizar los servicios de la API RESTful para crear una nueva aplicación para el
Sistema Operativo Android.
 Construir un Almacén de Datos con la información de las plantas medicinales
cubanas.

4
Referencias Bibliográficas

Referencias Bibliográficas
1. AKHUNZADA, A., A. GANI, S. HUSSAIN, A. A. KHAN, et al. Towards experiencing the
pair programming as a practice of the Rational Unified Process (RUP). In 2015 SAI
Intelligent Systems Conference (IntelliSys). 2015, p. 537-542.
2. ANN, C. W. S. AND N. M. J. B. N. M. Q. B. IQBAL Open Application Programming
Interface (API): A Financial Revolution 2017, 4, 51-57.
3. ARDI, S. AND N. SHAHMEHRI. Integrating a Security Plug-in with the OpenUP/Basic
Development Process. In 2008 Third International Conference on Availability,
Reliability and Security. 2008, p. 284-291.
4. ARIAS, S. V., T. M. SORIA, P. N. MOYA AND P. M. J. C. D. PALMA Control de calidad
del software mediante pruebas automatizadas de integración y pruebas unitarias
2018, 2(3), 101-115.
5. AVISON, D. E., R. M. DAVISON AND J. MALAURENT Information systems action
research: Debunking myths and overcoming barriers. Information & Management,
2018, 55(2), 177-187.
6. BARHATE, S. S. Effective test strategy for testing automotive software. In 2015
International Conference on Industrial Instrumentation and Control (ICIC). 2015, p.
645-649.
7. BASIT, M. A., K. L. BALDWIN, V. KANNAN, E. L. FLAHAVEN, et al. Agile Acceptance
Test–Driven Development of Clinical Decision Support Advisories: Feasibility of Using
Open Source Software 2018, 6(2).
8. BATTAGLIA, N., C. NEIL, M. DE VINCENZI AND R. MARTINEZ. UAICase: integración
de un entorno académico con una herramienta CASE en una plataforma virtual
colaborativa. In XI Congreso de Tecnología en Educación y Educación en Tecnología
(TE&ET 2016). 2016.
9. BORG, A., K. SANDAHL AND M. PATEL. Extending the OpenUP/Basic Requirements
Discipline to Specify Capacity Requirements. In 15th IEEE International Requirements
Engineering Conference (RE 2007). 2007, p. 328-333.
10. CADAVID, A. N., J. D. F. MARTÍNEZ AND J. M. J. P. VÉLEZ Revisión de
metodologías ágiles para el desarrollo de software 2013, 11(2), 30-39.
11. CASTELLS, M. La era de la información: economía, sociedad y cultura. Edtion ed.:
siglo XXI, 2004. ISBN 9682323371.
12. CASTILLO, A. A. Curso de Programación Web: JavaScript, Ajax y jQuery. Edtion ed.:
IT Campus Academy, 2017. ISBN 1542787408.

4
Referencias Bibliográficas

13. CHAUDHARY, M. AND A. KUMAR PhpStorm Cookbook. Edtion ed.: Packt Publishing
Ltd, 2014. ISBN 1782173889.
14. CHIAVENATO, I. Introducción a la Teoría General de la Administración. Edtion ed.,
2009.
15. COWBURN, P. Manual de PHP 2018.
16. DR., B. GaiaHerbs. In., 2018, vol. 2018.
17. DUARTE, R. H. G. Y. O. M. Módulo para la gestión de información del proceso
diagnóstico sociopolítico de la Unión de Jóvenes Comunistas en la UCI. Universidad
de las Ciencias Informáticas, 2016.
18. ESCOBAR-SÁNCHEZ, M. E. AND W. M. J. F. D. I. FUERTES-DÍAZ Modelo formal de
pruebas funcionales de software para alcanzar el Nivel de Madurez Integrado 2 2015,
24(39), 31-42.
19. FARINANGO, C. D., J. S. BENAVIDES AND D. M. LOPEZ OpenUP/MMU-ISO 9241-
210. Process for the Human Centered Development of Software Solutions. IEEE Latin
America Transactions, 2015, 13(11), 3668-3675.
20. FEIERTAG, S. Plantas medicinales de Cuba. In., 2017, vol. 2019.
21. FOLCARÁ, S. C. Fitoterapia.net. In., 2016.
22. FRESNEDA GONZÁLEZ, S. Aplicación de patrones de diseño para la resolución de
problemas de software en el desarrollo de un aplicación móvil iOS. 2016.
23. GIRALDO, G. L., J. F. ACEVEDO AND D. A. MORENO Una ontología para la
representación de conceptos de diseño de software. Revista Avances en Sistemas e
Informática, 2011, 8(3).
24. GUILLÉN, L. Pruebas unitarias en PHP con PHPUnit. In., 2018, vol. 2019.
25. GUTIÉRREZ, J. J. ¿ Qué es un framework web. Available in: http://www. lsi. us. es/~
javierj/investigacion_ficheros/Framework. pdf Accessed May, 2014, 12.
26. HERMOSO, J. L. La gestión del conocimiento en las organizaciones. Edtion ed., 2004.
27. HUI, Y., Y. YAN, W. QUANYU AND C. ZHIWEN. Compare Essential Unified Process
(EssUP) with Rational Unified Process (RUP). In 2015 IEEE 10th Conference on
Industrial Electronics and Applications (ICIEA). 2015, p. 472-476.
28. JASAREVIC, T. Portal de Información - Medicamentos Esenciales y Productos de
Salud. In., 2018, vol. 2019.
29. JIANWEI, L. AND W. XUNAN. Research and practice of agile Unified Process. In 2010
2nd International Conference on Software Technology and Engineering. 2010, vol. 2, p.
V2-340-V342-343.

4
Referencias Bibliográficas

30. KALEB, K., A. W. VESZTROCY, A. ALTENHOFF AND C. J. F. DESSIMOZ Expanding


the Orthologous Matrix (OMA) programmatic interfaces: REST API and the OmaDB
packages for R and Python 2019, 8.
31. KOÇ, G. AND M. AYDOS. Trustworthy scrum: Development of secure software with
scrum. In 2017 International Conference on Computer Science and Engineering
(UBMK). 2017, p. 244-249.
32. LARMAN, C. UML y Patrones. Edtion ed.: Pearson Educación ^ eMadrid Madrid, 2003.
ISBN 1512936502.
33. LETELIER, P. Metodologías ágiles para el desarrollo de software: eXtreme
Programming (XP) 2006.
34. LOCKHART, T. Manual del usuario de PostgreSQL. Australia. Obtenido de
http://palomo. usach. cl/Docs/postgres/Postgres-Tutorial. pdf, 1998.
35. MARCO, F. J. G. El concepto de información: Una aproximación transdisciplinar I:
Hacia una definición objetiva. Revista general de información y documentación, 1998,
8(1), 303.
36. MIRANDA, M. R. AND Y. M. A. GODOY. Sistema de gestión de información para el
departamento de Práctica Profesional del Centro FORTES. Universidad de las
Ciencias Informáticas, 2015.
37. MORALES, V. M. S. Conoce qué son las pruebas no funcionales de software. In.,
2018, vol. 2019.
38. MORON-RODRıGUEZ, L., B. LONGA-CHEVARRIA AND P. SHIGUIHARA-JUAREZ.
Analysis of image transfer mechanisms in a RESTful API client-server architecture and
its application to lane detection. In 2017 IEEE International Conference on Aerospace
and Signals (INCAS). 2017, p. 1-4.
39. MUNAWAROH, S. Mengeksplorasi Database PostgreSQL dengan PgAdmin III.
Dinamik, 2005, 10(2).
40. ONG, S. P., S. CHOLIA, A. JAIN, M. BRAFMAN, et al. The Materials Application
Programming Interface (API): A simple, flexible and efficient API for materials data
based on REpresentational State Transfer (REST) principles 2015, 97, 209-215.
41. PANTALEO, G. AND L. RINAUDO Ingeniería de software. Edtion ed.: Alfaomega
Grupo Editor, 2015. ISBN 9871609787.
42. PARKER, S. How to Build a LAMP Server 2015.
43. PARRA VALDÉS, W. E. Integración de patrones de seguridad y patrones de diseño
J2EE 2014.
44. POTENCIER, F. AND F. ZANINOTTO symfony. Potencier. org [viitattu 05.12. 2015].
Saatavissa: http://fabien. potencier. org/article/65/why-symfony, 2012.

4
Referencias Bibliográficas

45. PRESSMAN, R. S. Ingeniería del software. Un enfoque práctico 2010, 7ma, 767.
46. RAYA, R. ¿ Qué son las metodologías ágiles. Recuperado de: http://blog. leanmonitor.
com/es/que-son-las-metodologias-agiles, 2014.
47. REMATOS, M. P. El Herbolario. In. 2019, 2017, vol. 2019.
48. REYNOSO, C. Introducción a la Arquitectura de Software. Universidad de Buenos
Aires, 2004, 33.
49. ROJANO BROZ, J. Desarrollo de un servicio REST e interfaz gráfica para un sistema
de gestión de contenido dinámico 2017.
50. SOMMERVILLE, I. Software engineering. Edtion ed.: Boston: Pearson, 2011.
51. SRIVASTAVA, A., S. BHARDWAJ AND S. SARASWAT. SCRUM model for agile
methodology. In 2017 International Conference on Computing, Communication and
Automation (ICCCA). 2017, p. 864-869.
52. STAIR, R. M. AND G. W. REYNOLDS Principios de sistemas de información: enfoque
administrativo. Edtion ed.: International Thomson, 2000. ISBN 9687529970.
53. TORRES FERNÁNDEZ, J. P., J. G. GALLO MENDOZA, R. F. HALLO ALVEAR, J. J.
ABCARIUS, et al. Gestión de la información como herramienta para la toma de
decisiones en salud: escenarios más probables. Revista Cubana de Investigaciones
Biomédicas, 2017, 36, 0-0.
54. TORRES LEBRATO, L. La gestión de información y la gestión del conocimiento.
Revista Archivo Médico de Camagüey, 2015, 19, 96-98.
55. VIVIAN, G. AND L. FERNANDO Desarrollo de una aplicación web single page
utilizando api rest para la gestión musical de sysmusic 2018.
56. ZAPATA, C. M. AND J. F. ARANGO ISAZA Alineación entre metas organizacionales y
elicitación de requisitos del software. Dyna, 2004, 71(143).

4
Anexos

Anexos

Anexo 1: Entrevista.

Para realizar la entrevista se eligió al representante del MINSAP al que le fue asignada
la tarea de atender directamente al personal encargado de la creación del SGI. Su
nombre es Juan Abreu Payrol; este es Doctor en Ciencias Farmacéuticas Profesor
Titular en la Escuela Latinoamericana De Medicina.

Objetivo de la entrevista: “Obtención de requisitos para la construcción de la solución”.

Preguntas:

1. ¿Por qué la Base de Datos FITOMET, no resuelve la problemática existente?


2. A su consideración ¿Qué tipo de herramienta informática puede satisfacer la
necesidad existente?
3. ¿Qué funcionalidades y características considera que sean importantes para la
implementación de la solución?

Anexo 2: Imagen de los resultados de las pruebas unitarias.

Fig. 16: Código del método Registrar planta y Obtener usuario.

7
Anexos

Fig. 17: Resultado de la prueba unitaria a los método Registrar planta y Obtener usuario.

Anexo 3: Imagen del resultado de la prueba al sistema de carga (100 usuarios).

Fig. 18: Resultado de la prueba al sistema de carga.

Fig. 19: Resultado de la prueba al sistema de rendimiento (50 usuarios).

Fig. 20: Resultado de la prueba al sistema de rendimiento (100 usuarios).

Anexo 4: Imagen del resultado de la prueba al sistema de rendimiento.

Anexo 5:

7
Anexos

Tabla 9:Lista de chequeo para la prueba de usabilidad.

Pantalla de bienvenida
1 Presenta un identificador Visual del producto como nombre de marca, icono,
nombre de producto, genérico.
Minimizar carga de usuario
2 El sistema evita que los usuarios se registren innecesariamente.
3 Los iconos se corresponderán con las tareas a realizar.
Interfaz visible y práctica
4 La información estará libre de errores gramaticales, ortográficos y tipográficos.
5 La taxonomía de los títulos encima de los controles estará según la estipulada,
primera letra con mayúscula, el resto con minúscula.
6 Los botones de comando serán de tamaño y forma similares.
7 La fecha siempre se utilizará en formato de d/m/ Y (01/10/2008).
Control y autonomía
8 Si una acción tiene consecuencias, el sistema proporciona información y pide
confirmación antes de continuar.
9 El usuario tiene la opción de “Salir” para abandonar el sistema en cualquier
momento.
Consistencia y diseño gráfico
1 Para tareas similares, los diálogos y formularios son similares.
0
1 La relación entre los controles y sus acciones es obvia.
1
1 Las fuentes son legibles.
2
Búsqueda
1 El motor de búsqueda maneja correctamente las búsquedas vacías (el usuario
3 no introduce nada).
1 La interfaz de búsqueda está ubicada en donde los usuarios esperan
4 encontrarla (en la parte superior derecha de la página).

También podría gustarte