Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
ÍNDICE
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.
● 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.
3. Definiciones y convenciones
5
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE
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.
7
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE
MÓDULOS DESCRIPCIÓN
ACTOR FUNCIONES
9
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE
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
NODO DESCRIPCIÓ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
NODO DESCRIPCIÓN
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.
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
12
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE
● 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.
13
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE
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
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
15
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE
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.
Identificación de Drivers
16
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE
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
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
19
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE
20
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE
- El CRM (Vetyy) se comunica con los demás elementos de la aplicación mediante un API
SDK.
R03 Registrar cada incidencia que el cliente plantee. Cada incidencia Funcional
recogerá datos como producto afectado.
21
Universidad Nacional Mayor de San Marcos
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMATICA
ESCUELA DE INGENIERÍA DE SOFTWARE
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.
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.
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
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
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: