Você está na página 1de 11

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA


Escuela Académico Profesional de Ingeniería de Sistemas
Arquitectura de Software

Docente: Cordero Sánchez, Hugo

Alumnos:

1
Contenido
1. Objetivo / propósito de la solución ................................................................................. 3
2. Definiciones de convención. .............................................................................................. 3
3. Antecedentes .................................................................................................................... 3
4. Requerimientos ................................................................................................................. 4
4.1 Requerimientos funcionales....................................................................................... 4
4.2 Requerimientos no funcionales .................................................................................. 5
4.3 Escenario de atributos de calidad principales ............................................................ 5
5. Arquitectura general de la solución ................................................................................... 6
5.1 Arquitectura de la solución ........................................................................................ 6
5.2 Tecnología usada ...................................................................................................... 6
6. Vistas de la solución ......................................................................................................... 6
6.1 Vista modular............................................................................................................. 6
6.2 Vista funcional ........................................................................................................... 7
6.3 Vista de componentes ............................................................................................... 8
6.4 Vista de despliegue ................................................................................................... 9
6.5 Vista de integración ................................................................................................. 10
7. Evaluación de la arquitectura .......................................................................................... 10
7.1 Fortalezas................................................................................................................ 10
7.2 Recomendaciones ................................................................................................... 11

2
DOCUMENTO DE LA ARQUITECTURA

1. Objetivo / propósito de la solución

El objetivo del módulo de facturación es eliminar el sistema actual de vales de


facturas por una factura digital, incrementando la productividad de la persona
encargada de administrar el módulo, haciendo uso de tecnologías de la información,
permitiendo el control de las distintas etapas de la generación de una factura,
además de brindar servicios como el envío de facturas por correo. Permitir la
integración con otros módulos para brindar una solución completa.

2. Definiciones de convención.
● ERP (Sistema de planificación de recursos empresariales): Conjunto de sistema
de información que permite la integración de ciertas operaciones de una
empresa, especialmente las que tienen que ver con la producción, la logística, el
inventario, los envíos y la contabilidad.
● RR.HH. (Recursos Humanos): Conjunto de los empleados de una organización
que tiene por finalidad el proceso de gestión que se ocupa de seleccionar,
contratar, formar, emplear y retener al personal que la organización necesita
para lograr sus objetivos.
● ODOO: Es un sistema de ERP integrado de código abierto actualmente
producido por la empresa belga Odoo S.A. El fabricante declara su producto
como una alternativa de código abierto a SAP ERP y Microsoft Dynamics.
● VM: Máquina virtual
● Psycopg2: es un adaptador de base de datos PostgreSQL para el lenguaje de
programación Python
● JSON-RPC: es un protocolo de llamada a procedimiento remoto (Remote
Procedure Call) codificado en JSON. Es un protocolo muy simple (y muy similar a
XML-RPC) que define solo algunos tipos de datos y comandos. JSON-RPC permite
notificaciones (datos enviados al servidor que no requieren una respuesta) y para
que se envíen múltiples llamadas al servidor, las cuales pueden ser contestadas
fuera de orden.

3. Antecedentes
La empresa cuenta con varias áreas para su funcionamiento, una de ellas es el área
de facturación, en la cual el proceso para generar una factura tiene que pasar por
distintas etapas: creación de borrador de factura, verificación de factura, cobrar
factura. Este proceso lleva un tiempo razonable, sin embargo, se convierte en una
tarea imposible para una sola persona cuando se incrementa el número de facturas
a generar. Para cubrir este problema se aumentaban la cantidad de personas
encargadas de esta tarea, incrementando los gastos por personal. La empresa

3
busca reducir costos e incrementar la productividad en esta área, por esta razón
requiere un sistema que ayude a este propósito.

4. Requerimientos

4.1 Requerimientos funcionales


1. Facturación Digital
○ Descripción
El módulo debe generar las facturas digitales.
○ Entrada: tipo de viaje, tipo de pago que se usó en el viaje.
○ Salida: Factura digital con la opción de ser imprimida en pdf
2. Envío de facturas
○ Descripción
El módulo debe enviar las facturas generadas al módulo de
contabilidad.
○ Entrada
○ Salida
3. Gestión de cobros
○ Descripción
El módulo debe hacer el cobro a los conductores de los viajes que
fueron pagados por efectivo.
○ Entrada
○ Salida
4. Gestión de pagos
○ Descripción
El módulo debe realizar el pago por comisión a los conductores y el
pago por sueldo a los empleados de la empresa.
○ Entrada
○ Salida
5. Notificación a RRHH.
○ Descripción
El módulo debe notificar al módulo de Recursos Humanos cuando un
sueldo o comisión se haya realizado.
○ Entrada: Monto, tipo de pago (monto o comisión)
○ Salida: Notificación.
6. Reporte Mensual
○ Descripción:
El módulo debe generar un informe mensual detallando los pagos
realizados a las empresas afiliadas a Taxi Monterrico.
○ Entrada: Mes seleccionado.
○ Salida: Lista de facturas detallando el monto de la factura.

4
4.2 Requerimientos no funcionales

● Performance: El módulo deberá generar las facturas en menos de 3


segundos.
● Disponibilidad: el módulo será accesible el 90% del tiempo en horas de
trabajo.
● Usabilidad: El módulo debe ser intuitivo para el encargado de gestionarlo.
● Modificabilidad: El módulo debe ser de fácil soporte cuando esté
implementado.
● Integración: El módulo debe poder ser desplegado en otros sistemas
operativos, también podrá ser visible desde cualquier tipo de explorador de
internet que hay en el mercado.
● Seguridad: Las contraseñas deben cumplir un nivel de complejidad alto,
además de ser encriptadas por el sistema.

4.3 Escenario de atributos de calidad principales

Escenario de Performance:
● El módulo deberá generar las facturas en menos de 3 segundos.

Fuente Operador de Módulo de Facturación


Estímulo Vieja realizado
Artefacto Módulo de facturación de Odoo
Entorno Sistema finalizado en ejecución
Respuesta Se genera la factura
Medición Segundos.

Escenario de Usabilidad

● El módulo debe ser intuitivo para el encargado de gestionarlo.

Fuente Operador de Módulo de Facturación


Estímulo Desea navegar por la interfaz del módulo Facturación
Artefacto Módulo de facturación de Odoo
Entorno Sistema finalizado en ejecución
Respuesta La interfaz del módulo facturación muestra barra de
herramientas con opciones de forma clara.
Medición Tiempo de navegación por las opciones del módulo,
tiempo de aprendizaje.

5
5. Arquitectura general de la solución

5.1 Arquitectura de la solución

El sistema está alojado en una una máquina virtual de IBM que soporta como
sistema operativo Ubuntu Server 18.04.1 LTS. Dentro de la VM se encuentra
desplegado Odoo, que contiene al Módulo de Facturación. El Módulo de
Facturación está integrado con los módulos de contabilidad, flota, comercial y
monitoreo, siendo este último el único de los mencionados que no se encuentran
dentro de Odoo. Odoo trabaja con la Base de datos PostgreSQL 10.0 que se
conecta a través del driver Psycopg2. El módulo de Facturación recibe un Web
Service proveniente del Módulo de Monitoreo, que está alojado en AmazonEC2.

5.2 Tecnología usada


● ERP: Odoo - versión 12
● S.O.:Ubuntu Server 18.04.1 LTS
● Lenguaje de programación: Python 3.6
● Base de datos: PostgreSQL 10.0
● VM: IBM Virtual Server

6. Vistas de la solución

6.1 Vista modular

El módulo de Facturación consta de 3 submódulos:


● Facturación Digital: dentro de este submódulo se generan las facturas
digitales, teniendo la opción de generar un PDF de la factura. En caso de que
el servicio dado sea para una empresa afiliada a Taxi Monterrico se debe
generar un informe de pago a esta empresa cada mes.
● Pago de Comisión: hace alusión al pago que reciben los conductores. El
módulo de facturación hace el cobro de los viajes pagados con efectivo al
conductor, una vez hecho esto se procede a pagar la comisión

6
correspondiente al conductor, teniendo que notificar al final al Módulo de
RR.HH. que se ha realizado el pago.
● Pago de Sueldo: hace alusión al pago que recibe el personal de Taxi
Monterrico. El módulo de facturación realiza el pago mensual al personal,
teniendo que notificar al final al Módulo de RR.HH. que se ha realizado el
pago.

6.2 Vista funcional

El operador del módulo de factura puede realizar las siguientes funciones:


● Realizar pago a conductores: el módulo de facturación permite realizar el pago al
conductor, luego, notifica a RR.HH.
● Realizar cobro a conductores: el módulo de facturación permite realizar el cobro
al conductor, luego, notifica a RRHH.

7
● Realizar pago a personal: el módulo de facturación permite realizar el pago a los
empleados de la empresa después de notificar a RRHH.
● Generar Factura digital: el módulo genera la factura a partir de los campos
ingresados.
● Generar PDF: el módulo de facturación permite generar un PDF a partir de las
facturas creadas.
● Generar informe de pagos: el módulo de facturación puede generar un informe
de pagos a partir de las facturas generadas anteriormente.

6.3 Vista de componentes

El componente Generador de factura se encarga de crear e inicializar la factura


con los datos de la empresa y otros atributos que generalmente no varían. El
componente Convertidor a PDF se encarga de crear un archivo PDF a partir
de los datos enviados desde el componente manejador de factura. El
componente Generar informe de pago a empresas afiliadas se encarga de
tomar las facturas generadas correspondientes a la empresa a la cual se le
quiere enviar el informe, a través del manejador de factura, que brinda la
funcionalidad de obtener facturas de una determinada empresa. El
componente Pago a conductor es el encargado de realizar las operaciones
de pago, como registrar la fecha, el monto a pagar, el nombre del conductor,
la forma de pago, etc. El componente Cobro a conductor es el encargado de
realizar las operaciones de cobro, como el monto, la fecha, los datos del
conductor, etc. El componente Conductor manager, es el encargado de
gestionar el pago y el cobro a los conductores, llamando a manejador de
factura para realizar una factura de cada uno de los procesos de pago y
cobro, una vez terminados los procesos se notifica al módulo de recursos
humanos. El componente Pago a empleados se encarga de las operaciones
de pago como el monto a pagar, los datos del empleado, las observaciones,
etc, una vez terminado el proceso se notifica al módulo de recursos
humanos a través del componente Notificar a RRHH. El componente

8
Notificar a RRHH es el encargado de comunicarse con el módulo de RRHH
para enviar las notificaciones generadas por los componentes Pago a
empleados y Conductor manager.

6.4 Vista de despliegue

El cliente, mediante su computadora personal, se conecta al servidor web (oddo


cliente web) mediante HTTPS, el cual está desplegado en una máquina virtual
IBM VM - Ubuntu Server 18.04.1 LTS. El oddo cliente web comunica con el
servidor de aplicaciones(CherryPi) mediante XML-RPC, en el cual se despliega
el módulo de facturación, y finalmente el servidor de base de datos
(PostgreSQL 10.0) se comunica con el servidor de aplicaciones mediante el
driver Psycopg2.

9
6.5 Vista de integración

Esta vista de integración representa las relaciones externas con el módulo de


facturación el cual se comunica con el módulo de contabilidad, comercial, flota (los
cuales pertenecen al Odoo) y también establece una conexión con el módulo de
monitoreo mediante una web service.

7. Evaluación de la arquitectura

7.1 Fortalezas
● El módulo de facturación del ERP Odoo permitirá reemplazar los vales por
facturas digitales.
● La información es almacenada en una base de datos, lo que hace que
perdure mucho más en el tiempo y esté mejor protegida.
● El sistema está altamente disponible, prioritariamente en la mañana y tarde;
los picos de concurrencia.
● El subsistema tiene una alta usabilidad, sus interfaces gráficas son muy
manejables y entendibles para el usuario final.
● El sistema usa tecnologías reconocidas y confiables, que pueden prestar
soporte en caso de algún problema.
● El sistema tiende a ser escalable, ya que puede agregarse nuevas
funcionales cuando la empresa crezca y requiere de nuevos recursos y
necesidades.

10
7.2 Recomendaciones
● Se recomienda usar el sistema en una computadora, ya que el sistema no
está optimizado para móviles.
● Se recomienda usar un navegador cuya versión sea contemporánea, ya que
el sistema no está optimizado para Internet Explorer y versiones antiguas de
otros navegadores.

11

Você também pode gostar