Está en la página 1de 24

<UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

(Universidad del Perú, DECANA DE AMÉRICA)

FACULTAD DE INGENIERÍA DE SISTEMAS E


INFORMÁTICA

ARQUITECTURA DE SOFTWARE

Proyecto
Sistema SIFU

Presentado al profesor
Hugo Cordero Sánchez

Por
DÍAZ DIONISIO, ÁLVARO E.
FLORES CAMPOS, KEVIN M.
MASÍAS CARRANZA, NICOLÁS E.
PÉREZ ALARCÓN, RAÚL F.
YATACO IRRAZÁBAL, SAROFF W.

Lima, 01 de febrero del 2021


Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

ÍNDICE

1. Descripción del sistema 4


2. Objetivos del sistema 4
3. Definiciones y convenciones 5
4. Arquitectura general del sistema 5
4.1. Diagrama de contexto 5
4.2. Arquitectura del sistema 6
4.3. Tecnologías usadas 7
5. Vistas del sistema 8
5.1. Vista Modular 8
5.2. Vista Funcional 9
5.3. Vista de componentes 10
5.4 Vista de despliegue 11
6. Evaluación de la arquitectura 12
6.1. Esquema de alta disponibilidad 12
6.2. Atributos de calidad identificados 12
6.3. Tácticas que se implementan 13
6.4. Diseño de la Arquitectura (Método ADD) 13
6.5. Fortalezas 23
6.6. Costos 23
6.7. Conclusiones 24

2
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

SIFU
Documento de Arquitectura del Sistema

3
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

INTRODUCCIÓN
El presente Documento de Arquitectura de Software presenta la arquitectura del
sistema “SIFU” a través de diferentes vistas, cada una de las cuales ilustra un aspecto
en particular del software por desarrollar.

1. Descripción del sistema

El sistema SIFU es una aplicación web orientada en el rubro veterinarias, cuyo


objetivo es dar soluciones a las necesidades digitales de la veterinaria, que se
desarrollará integrando Vetyy (Software que brinda los módulos necesarios para
satisfacer las necesidades del cliente, similar a un CRM Operativo) que nos brinda
diversos servicios como de gestión de usuarios, clientes, citas, etc. Lo cual permitirá
que la veterinaria obtenga un servicio más personalizado con los clientes, además
de obtener una mejor información del inventario y los registros de contabilidad.

2. Objetivos del sistema

● Gestionar la información de los clientes, así como de las mascotas, para que
los empleados realicen una atención personalizada, analizando los datos
recopilados y poder ofrecer el mejor tratamiento a las mascotas.
● Permite realizar seguimientos a los tratamientos que se ha dado a cada
mascota, teniendo una comunicación contínua con los clientes mediante
correos electrónicos y garantizando una atención personalizada.
● Permitir a los clientes realizar reservación de citas que se registraron en el
sistema para un mejor manejo de estas para que el tiempo de atención sea
más placentera para los clientes.
● Permite gestionar los productos que ofrece la veterinaria para saber cuáles
fueron los más requeridos por los clientes, para fidelizar a los clientes y
optimizar las ventas.
● Gestionar los eventos realizados por la veterinaria enviando invitaciones a
los clientes potenciales mediante correos electrónicos, en la misma línea
realiza encuestas que permitirá mejorar la calidad de la veterinaria.

● Permitir obtener informes de los registros de las citas realizadas, ventas e


inventario para realizar mejoras en la veterinaria.
4
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

3. Definiciones y convenciones

● Aplicación: Es un programa informático diseñado como herramienta para


permitir a un usuario realizar uno o diversos tipos de tareas.
● Cliente – Servidor: Es un patrón de arquitectura donde el cliente realiza
solicitudes y el servidor es quien realiza las respuestas.
● Base de Datos: Conjunto de datos almacenados sistemáticamente.
● Vetyy: Es un software dirigido a la relación con los clientes y que brinda los
módulos necesarios para satisfacer las necesidades del cliente, similar a un CRM
Operativo, permitiendo la gestión y la automatización de las ventas, marketing y
servicio de clientes, capturando los datos para almacenarlos.
● Load Balancer: Permite gestionar el tráfico de solicitudes realizado por los
clientes utilizando algoritmos de optimización, para enrutar dichas solicitudes en
todos los servidores y garantizar que ningún servidor esté sobrecargado.
● Clúster: Son sistemas distribuidos de granjas de computadoras unidos entre sí
normalmente por una red de alta velocidad y que se comportan como si fuesen
un único servidor.
● Back up: Es una copia de los datos originales que se realizan con el fin de disponer
de un medio para recuperarlos en caso de su pérdida.

4. Arquitectura general del sistema

4.1. Diagrama de contexto

5
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

4.2. Arquitectura del sistema

6
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

DECISIÓN DESCRIPCIÓN
Se usará una arquitectura Cliente - Servidor que mantendrá
CLIENTE - SERVIDOR separadas en distintas instancias las capas de la aplicación a
modo de desarrollar el proyecto usando conexiones Api Rest.
Se usará el patrón MVC para las capas de la arquitectura,
MVC logrando que la capa de “vista” desarrollada en Angular pueda
llamar a las Apis Rest del “controlador” conectándose con la
capa “Modelo”, hechos en Spring Boot.
Se usa este software ya que satisface las necesidades de negocio
de gestionar de mejor manera las relaciones con los clientes de
VETYY la Veterinaria y que al abarcar la mayoría de los módulos de la
aplicación el tiempo de adaptación del software Vetyy será
menor al tiempo de desarrollo de dichos módulos.
CLUSTER Sostendrá la aplicación APP1 y APP2 satisfaciendo las
necesidades de alta disponibilidad.
LOAD BALANCING Ayudará a distribuir la carga de solicitudes entre las aplicaciones,
permitiendo la tolerancia a fallas.
APP1 Y APP2 Son dos instancias de la misma aplicación que ayudará a
satisfacer las necesidades de alta disponibilidad.
BD1 Y BD2 Son dos instancias de la misma Base de Datos que ayudará a
satisfacer las necesidades de alta disponibilidad.

4.3. Tecnologías usadas

● Angular (HTML, CSS, TS)


● Springboot (Java framework)
● Oracle database
● Vetyy CRM
● Kubernetes Engine
● Docker

7
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

5. Vistas del sistema

5.1. Vista Modular

MÓDULOS DESCRIPCIÓN

CONTABILIDAD Dentro de este módulo se satisfacen las funciones que le


permitirán al administrador ver los estados de cuenta y al
sistema de registrar las órdenes de pago.
ALARMAS Dentro de este módulo se satisface la función de avisar a los
clientes ante algún evento importante.
CLIENTE Dentro de este módulo se satisface las funciones que permitirá
tener la información de los clientes para generar un mayor
acercamiento entre la empresa y ellos.
GESTIÓN DE VETERINARIA Establece el servicio prioritario, fija el tipo de servicio y
producto.
GESTIÓN DE FACTURA Se encarga de emitir la factura al finalizar el servicio.

GESTIÓN DE MARKETING Se ingresa publicidad para los clientes fidelizados.

GESTIÓN DE CITAS Se encargará de solicitar y registrar las citas de los clientes.


GESTIÓN DE INCIDENCIAS Permite crear, actualizar y borrar registros, además de enrutar
casos e incidentes.
8
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

PORTAL CLIENTE Permite compartir con los clientes el historial de mascotas y


animales.
GESTIÓN DE HORAS Permite determinar el tiempo de atención de cada cliente, así
como el tiempo de laborados por los trabajadores.
GESTIÓN DE REPORTES Se registran los turnos de los clientes que piden citas
presencialmente en el local.

5.2. Vista Funcional

ACTOR FUNCIONES

ADMINISTRADOR Realizará las funciones administrativas, gestionando los


productos del almacén, la publicidad, los distintos usuarios y
el estado de cuenta de la Veterinaria.
RECEPCIONISTA Se encarga de emitir las facturas, fidelizar clientes y registrar
turnos y citas.
DR. VETERINARIO Realiza servicios de consulta, operaciones, etc. y puede
programar nuevas citas.
CLIENTE Puede solicitar citas mediante la aplicación.

9
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

5.3. Vista de componentes

COMPONENTE DESCRIPCIÓN

SIFU GUI Este componente representa las vistas de la aplicación con las que
interactúa con el usuario.
CONTROLADOR Representa al controlador que se comunicará con los
componentes de la capa “modelo”.
INVENTARIO Representa al módulo inventario encargado de gestionar los
productos
CONTABILIDAD Representa al módulo contabilidad encargado de los estados de
cuenta.
VETYY Representa al Software que se integra para satisfacer los módulos
dedicados al cliente y la interacción con ellos de manera
personalizada. (Este software emula de cierta manera las
funciones de un CRM aunque no es uno como tal)
BASE DE DATOS Este componente representa la base de datos de la aplicación.

10
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

5.4 Vista de despliegue

NODO DESCRIPCIÓN

ADMINISTRADOR, Representa los ordenadores de los distintos usuarios del


RECEPCIONISTA, DR. sistema.
VETERINARIA, CLIENTE
SERVIDOR El servidor estará desplegado en Kubernetes Engine de Google,
donde las imágenes Docker de la aplicación serán soportadas
por un clúster que ayudará con el diseño de alta disponibilidad.
LOAD BALANCER Apoyará a la tolerancia a falla y distribución de solicitudes entre
APP1 y APP2.
CLUSTER Servidor que sostendrá las dos instancias de la aplicación (APP1
y APP2).
APP1 Y APP2 Dos instancias de la misma aplicación para lograr una alta
disponibilidad.
BD1 Y BD2 Dos instancias de la Base de Datos para lograr una alta
disponibilidad.
CLIENTE Solicitará funciones al servidor de aplicaciones.
SERVIDOR DE Brindará las funciones requeridas por el cliente.
APLICACIONES
SERVIDOR DE BD Tendrá la gestión de la base de datos de la aplicación.

11
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

6. Evaluación de la arquitectura

6.1. Esquema de alta disponibilidad

NODO DESCRIPCIÓN

CLUSTER Sostendrá la aplicación APP1 y APP2 (Dos instancias de una misma


aplicación) para lograr satisfacer las necesidades de alta disponibilidad.
LOAD BALANCER Ayudará a distribuir la carga de solicitudes entre las aplicaciones APP1 y
APP2, y en el caso de que una de estas falle, la táctica de tolerancia a
fallas redirigirá todas las solicitudes hacia la aplicación en buen estado
hasta que la aplicación caída se recupere
LOAD BALANCER Este Load Balancer entrará en función en caso el Load Balancer principal
BACK UP tenga alguna falla y no pueda redirigir las solicitudes de los usuarios hacia
las distintas aplicaciones.
APP1 Y APP2 Son dos instancias de la misma aplicación que ayudara a satisfacer las
necesidades de alta disponibilidad.
BD1 Y BD2 Son dos instancias de la misma Base de Datos que ayudara a satisfacer
las necesidades de alta disponibilidad.

6.2. Atributos de calidad identificados

COD. ATRIBUTOS DE CALIDAD TIPO

AC01 Realizar consultas para la gestión de empleados a cualquier hora. Disponibilidad

AC02 El servidor debe tener el 100% de disponibilidad de 7am a 11pm. Disponibilidad

AC03 Solo una persona tendrá el permiso para administrar el sistema. Seguridad

AC04 Otro tipo de usuario podrá acceder a los datos básicos de los empleados, Seguridad
dependiendo de su jerarquía.

AC06 Almacenamiento de las credenciales encriptadas. Seguridad

AC07 Cada tipo de usuario deberá acceder al sistema con su login Seguridad

AC08 Simple e intuitivo uso del sistema para que el usuario aprenda a usarlo Usabilidad
en menos de cuatro horas.

AC09 Muestra mensajes de error que informan el estado del sistema. Usabilidad

AC10 Las interfaces gráficas son lo más minimalista posible. Usabilidad

12
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

6.3. Tácticas que se implementan

● Táctica de disponibilidad
✔ Mantener los drivers del sistema actualizados, para disponer de las
consultas en cualquier momento.
✔ Validar la disponibilidad de la conexión.
✔ Manejo de excepciones.
✔ Tolerancia a fallas.
✔ Usando el algoritmo de Balanceo de Carga Round Robin.
✔ Se usará Sistema Clúster – Load Balancing.
● Táctica de seguridad
✔ Verificación de la integridad de los mensajes, comprobando los valores
hash.
✔ Resistir a ataques identificando al usuario del sistema.
✔ Reaccionar a los ataques bloqueando el sistema.
✔ Informe al administrador ante un ataque.
● Táctica de modificabilidad
✔ Reducción del tamaño de los módulos, dividiéndolos.
● Táctica de usabilidad
✔ El software Vetyy que implementamos cuenta con una guía para poder
comprender el sistema de manera didáctica.

6.4. Diseño de la Arquitectura (Método ADD)

CÓDIGO REQUERIMIENTO TIPO

R01 Centralizar la información de la mascota, de los clientes y de Funcional


los potenciales clientes, como: nombres, apellidos, fecha de
nacimiento

R02 Guardar información concreta acerca de los productos de Funcional


mayor preferencia como: nombre y caducidad para fidelizar
al cliente.

R03 Registrar cada incidencia que el cliente plantee. Cada Funcional


incidencia recogerá datos como producto afectado.

13
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

R04 Almacenar propuestas de tratamiento relacionados con el Funcional


tratamiento a los clientes.

R05 Obtener el historial de las comunicaciones externas a Funcional


clientes potenciales y clientes con los correos electrónicos,
ofertas.

R06 Gestionar los documentos y eventos, poder administrar la Funcional


base de datos de todos sus miembros, las publicaciones y
los registros.

R07 Obtener los datos e informes de visitantes actualizados y Funcional


accesibles para los jefes de ventas (online y offline).

R08 Gestionar la facturación (parte de horas). Funcional

R09 Gestionador de horas trabajadas en la tienda. Funcional

R10 Crear tickets de soporte para cada solicitud de llamada Funcional


(centro de llamadas) / correo electrónico desde el sitio +
seguimiento de las solicitudes de información de los
empresarios para las ofertas comerciales y ventas cruzadas.

R11 Se debe realizar mensualmente un balance de los egresos e Funcional


ingresos de la veterinaria.

R12 Se debe contar con notificaciones mediante mensajes de Funcional


texto o correo electrónico, ante alguna eventualidad en el
servicio.

R13 Se debe contar con un módulo para poder programar una Funcional
cita.

R14 El sistema debe contar con un portal web, para que el Funcional
cliente interactúe de manera virtual con la veterinaria
Fauna Urbana.

14
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

R15 Se debe contar con la generación de reportes, informando Funcional


la factura a crear las horas laboradas, el ingreso de
productos a la veterinaria en formato Pdf y Excel.

R16 Se debe establecer una sección para visualizar la lista de Funcional


precios y descuentos en los productos. Así como revisar el
historial clínico.

R17 El sistema deberá contar con diseño responsivo e intuitivo QA: Usabilidad
para que personas de edad avanzada también lo puedan
entender rápidamente.

R18 El tiempo de aprendizaje del sistema por un usuario deberá QA: Usabilidad
ser menor a cuatro horas.

R19 El sistema debe proporcionar mensajes de error que sean QA: Usabilidad
informativos y que oriente al usuario final.

R20 El sistema debe poseer interfaces gráficas bien formadas y QA: Usabilidad
simples.

R21 Solo habrá un administrador del sistema que tendrá acceso QA: Seguridad
y control de todo el sistema.

R22 Los permisos de acceso al sistema podrán ser cambiados QA: Seguridad
solamente por el administrador.

R23 El segundo tipo de usuario solo podrá tener acceso a datos QA: Seguridad
básicos de los empleados y dependiendo de su jerarquía.

R24 Cada usuario deberá acceder vía login con su propio código QA: Seguridad
de usuario y contraseña la cual deberá ser autogenerada
para su posterior modificación.

R25 Las credenciales deberán ser almacenadas con encriptación. QA: Seguridad

R26 El sistema contará con un clúster que sostendrá la QA: Disponibilidad


aplicación, en caso de que esta sufra de algún
inconveniente.

15
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

R27 Dispondrá de un Load Balancing, para ayudar a distribuir la QA: Disponibilidad


carga de solicitudes de aplicaciones y la tolerancia a fallas.

R28 El sistema debe realizar consultas de datos desde las 7am QA: Disponibilidad
hasta las 10pm sin interrupciones, para la gestión de los
empleados.

R29 Con el apoyo de una CRM, se implementarán los módulos QA: Integración
software necesarios que impulsarán al negocio.

R30 El sistema solo será desarrollado para un ambiente web con No funcional
php como lenguaje de programación, que estará conectada
a una base de datos Oracle para el manejo de la
información.

R31 El sistema funcionará en red local. No funcional

Identificación de Drivers

CÓD. DRIVER NRO. REQ TIPO

D01 Guardar información referente a R01,R02,R03,R04 Funcional


cada negocio.

D02 Obtener datos e historiales de los R05,R07 Funcional


clientes.

D03 Gestión de horas trabajadas en la R09 Funcional


tienda.

16
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

D04 Gestión de información de R06 Funcional


documentos, eventos y registros.

D05 Gestión tickets de R10 Funcional


soporte/seguimiento de solicitudes

D06 Módulo programación de citas R13 Funcional

D07 Notificaciones por correo R12 Funcional


electrónico.

D08 Balance de egresos e ingresos R11 Funcional

D09 Portal web como medio de R14, Funcional


interacción

D10 Generación de reportes, facturas, R15,R08 Funcional


horas e ingreso de productos

D11 Diseño intuitivo y fácil aprendizaje R17,R18,R20 QA: Usabilidad

D12 Sección para visualizar lista de R16 Funcional


precios y descuentos

D13 Notificaciones de error e R19 QA: Usabilidad


informativos

17
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

D14 Gestión y control del sistema por R21, RR22 QA: Seguridad
parte de un solo administrador

D15 Privilegios de segundo tipo de R23 QA: Seguridad


usuario: Solo acceso a datos de
empleados

D16 Acceso vía Login R24 QA: Seguridad

D17 Credenciales almacenadas por R25 QA: Seguridad


encriptación

D19 Load Balancing para distribución de R27 QA:


carga y tolerancia a fallas Disponibilidad

D20 Funcionamiento de 7am a 10 pm R28,R26 QA:


sin interrupciones Disponibilidad

D21 Con apoyo de un CRM implementar R29 QA: Integración


los módulos de software necesarios

D22 El sistema será desarrollado con R30 No funcional


Spring Boot en el Backend y una BD
Oracle

18
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

Aplicación de ADD

● Paso 1: Confirmar que se tiene información suficiente de los drivers arquitectónicos.


Se listaron los drivers arquitectónicos con base en los requerimientos.

● Paso 2: Elegir un elemento del sistema a descomponer.


Los servicios del sistema SIFU.

● Paso 3: Identificar los drivers arquitectónicos asociados al elemento.

CÓD. DRIVER NRO. REQ TIPO

D01 Guardar información referente a R01,R02,R03,R04 Funcional


cada negocio.

D02 Obtener datos e historiales de los R05,R07 Funcional


clientes.

D03 Gestión de horas trabajadas en la R09 Funcional


tienda.

D04 Gestión de información de R06 Funcional


documentos, eventos y registros.

D05 Gestión tickets de R10 Funcional


soporte/seguimiento de solicitudes

D06 Módulo programación de citas R13 Funcional

19
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

D07 Notificaciones por correo R12 Funcional


electrónico.

D08 Balance de egresos e ingresos R11 Funcional

D09 Portal web como medio de R14 Funcional


interacción

D10 Generación de reportes, facturas, R15,R08 Funcional


horas e ingreso de productos

D12 Sección para visualizar lista de R16 Funcional


precios y descuentos

D21 Con apoyo de un CRM implementar R29 QA: Integración


los módulos de software necesarios

● Paso 4: Elegir un concepto de diseño que satisfaga los drivers.


Patrón Modelo Vista Controlador (MVC)

● Paso 5: Instanciar los elementos y asignar responsabilidades de acuerdo al concepto de


diseño seleccionado.

Configuración de los Se debe tener un catálogo del tipo


Modelo servicios disponibles. de servicios con los que se dispone.

Configuración de roles y Se debe tener un catálogo con los


usuarios. tipos de roles y usuarios.

Mostrar la vista de acuerdo a De acuerdo a las configuraciones


Vista
la configuración web o de la aplicación.

20
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

Gestionar el CRM Vetyy. Configuración del CRM de acuerdo a


los requisitos .

Configuración del Módulo de Se debe configurar las alertas de


alertas acuerdo a las preferencias del
cliente.

Controlador Configuración del Módulo de Se debe configurar el balance


Contabilidad mensual de acuerdo a las normas
contables del país donde es usada la
aplicación.

Configuración Módulo de Se debe configurar las horas


horas reportadas en la prestación de
servicios.

● Paso 6: Definir interfaces para los elementos instanciados.

- Los módulos de contabilidad, alertas y horas se comunican mediante interfaces


implementadas por el equipo de desarrollo.

- El CRM (Vetyy) se comunica con los demás elementos de la aplicación mediante un API
SDK.

● Paso 7: Verificar y refinar requerimientos y transformarlos en restricciones de los


elementos instanciados.
R01 Centralizar la información de la mascota, de los clientes y de los Funcional
potenciales clientes, como: nombres, apellidos, fecha de
nacimiento

R02 Guardar información concreta acerca de los productos de mayor Funcional


preferencia como: nombre y caducidad para fidelizar al cliente.

R03 Registrar cada incidencia que el cliente plantee. Cada incidencia Funcional
recogerá datos como producto afectado.

R04 Almacenar propuestas de tratamiento relacionados con el Funcional


tratamiento a los clientes.

21
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

R05 Obtener el historial de las comunicaciones externas a clientes Funcional


potenciales y clientes con los correos electrónicos, ofertas.

R06 Gestionar los documentos y eventos, poder administrar la base de Funcional


datos de todos sus miembros, las publicaciones y los registros.

R07 Obtener los datos e informes de visitantes actualizados y accesibles Funcional


para los jefes de ventas (online y offline).

R08 Gestionar la facturación (parte de horas). Funcional

R09 Gestionador de horas trabajadas en la tienda. Funcional

R10 Crear tickets de soporte para cada solicitud de llamada (centro de Funcional
llamadas) / correo electrónico desde el sitio + seguimiento de las
solicitudes de información de los empresarios para las ofertas
comerciales y ventas cruzadas.

R11 Se debe realizar mensualmente un balance de los egresos e Funcional


ingresos de la veterinaria.

R12 Se debe contar con notificaciones mediante mensajes de texto o Funcional


correo electrónico, ante alguna eventualidad en el servicio.

R13 Se debe contar con un módulo para poder programar una cita. Funcional

R14 El sistema debe contar con un portal web, para que el cliente Funcional
interactúe de manera virtual con la veterinaria Fauna Urbana.

R15 Se debe contar con la generación de reportes, informando la Funcional


factura a crear las horas laboradas, el ingreso de productos a la
veterinaria en formato Pdf y Excel.

R16 Se debe establecer una sección para visualizar la lista de precios y Funcional
descuentos en los productos. Así como revisar el historial clínico.

R29 Con el apoyo de una CRM, se implementarán los módulos software QA:
necesarios que impulsarán al negocio. Integración

22
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

6.5. Fortalezas

● Uso intuitivo de la plataforma además de contar con una guía del sistema.
● Hecho a medida del cliente, de acuerdo a sus necesidades.
● Bajo costo de desarrollo del sistema gracias al software Vetyy que se
contrata para satisfacer ciertas necesidades de negocio.
● Adaptación y configuración rápida del sistema.
● El sistema es altamente disponible ya que cuenta con un clúster que
balancea las cargas.
● La información del sistema y datos de los clientes, estará segura en la nube.
● El sistema tiene que ser escalable, ya que se puede expandir los recursos
de hardware.
6.6. Costos

▪ El software Vetyy, tiene un costo mensual de 15 dólares.


▪ Kubernetes Engine, tiene un costo mensual de 0.1 dólar por uso de un
clúster por hora, lo que sería 50 dólares por el uso de un clúster al mes.
Precios en euros:

Otros CRM o
software
veterinarios
Migración de datos No se sabe No se sabe 1750 o más 1900 o más
Coaching de gestión No se sabe No se sabe 750 o más 380 o más
Precio por paquete
básico por mes 525 o más 299 o más 229 o más 239 o más
Precio licencia de
Usuario extra por 150 o más 149 o más 229 o más 56
mes

Software Costo mensual Costo en soles

Servicios de Vetyy 239 euros 1044.58

Un clúster de Kubernetes 100 dólares 363.67

Total por mes 65 dólares 1408.25

23
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE

6.7. Conclusiones

Solución:

Se concluye que el desarrollo de la aplicación para la Veterinaria Fauna


Urbana satisface todas las necesidades de negocio y al mismo tiempo
la introduce al mundo competitivo de los sistemas corporativos que la
diferenciarán de las demás veterinarias, por contar con un software
que prioriza la relación con sus clientes.
La aplicación le ayuda a crear lazos estrechos con los clientes a un bajo
costo, ya que el software adaptado provee un plan especial para
PYMES como lo es la Veterinaria Fauna Urbana, de tal manera que,
mediante la aplicación, podrá explotar al máximo el uso de las
funciones que ésta provee.
Tecnología:
Se concluye que el uso de Software como servicio, en este caso como
lo es Vetyy, optimiza en gran medida el desarrollo de la aplicación, ya
que el tiempo y los recursos usados para la investigación y adaptación
serían mucho menores, comparado al tiempo que tomaría en
desarrollar los módulos desde cero.
Así mismo el uso de Cluster y Load Balancer desplegados dentro de
Kubernetes Engine proveerán de una alta disponibilidad lo cual lograr
que la aplicación esté funcionando el mayor tiempo posible
asegurándose de estrechar esa relación de fidelización entre los
clientes y la veterinaria en todo momento.
Proyecto:
El desarrollo del proyecto ayudó a descubrir otras maneras de crear
software, incluyendo aplicaciones, adaptándolas a las necesidades del
cliente, evitando el costo o tiempo excesivo del desarrollo desde cero.

También aprendimos a dar una mayor importancia a los atributos de


calidad y a las decisiones de diseño que se tomarán en la arquitectura
para satisfacer cada una de ellas.
Equipo:
A nivel de equipo, el desarrollo de la aplicación ayudó a tener
una nueva visión de cómo hacer software e incrementó el
interés por nuevas metodologías y técnicas de desarrollo.
24

También podría gustarte