Está en la página 1de 85

Universidad Autónoma Gabriel René Moreno

“Facultad de Ingeniería en Ciencias de la Computación y


Telecomunicaciones”

GRUPO J – SISTEMA DE GESTIÓN CONTABLE EN LA


NUBE (SaaS)
Docente:
Ing. Garzón Cuellar Angélica
Materia:
SISTEMA DE INFORMACION II -INF412 -SA
Integrantes:
Loma Saldias Alejandro 214044130
Rejas Guerra José Matías 213112523
Maldonado Huailla Alex Sander 214143732
Ballivian Ocampo Jorge 217067001
Blanco Rocabado Felipe 215048512
CONTENIDO
PERFIL ................................................................................................................................ 5
1. ASPECTOS GENERALES ............................................................................................... 5
1.1. INTRODUCCIÓN ...................................................................................................... 5
1.2. ANTECEDENTE......................................................................................................... 7
1.3. DESCRIPCIÓN DEL PROBLEMA ................................................................................ 7
1.4. FORMULACIÓN DEL PROBLEMA ............................................................................. 8
1.5. OBJETIVOS .............................................................................................................. 9
1.5.1. OBJETIVO GENERAL ............................................................................................. 9
1.5.2. OBJETIVO ESPECIFICO.......................................................................................... 9
1.6. ALCANCE ................................................................................................................. 9
1.7. METODOLOGÍA ..................................................................................................... 14
2. ELEMENTOS DEL SISTEMA BASADO EN COMPUTADORAS ....................................... 15
2.1. HARDWARE .......................................................................................................... 15
2.1.1. SERVIDOR .......................................................................................................... 15
2.1.2. CLIENTE ............................................................................................................. 15
2.1.3. MEDIOS DE COMUNICACIÓN ............................................................................ 16
2.1.4. OTROS DISPOSITIVOS ........................................................................................ 16
2.2. SOFTWARE ............................................................................................................ 16
2.2.1. SERVIDOR .......................................................................................................... 16
2.2.2. CLIENTE ............................................................................................................. 16
2.2.3. OTRO SOFTWARE ADICIONAL ........................................................................... 17
2.3. DATOS................................................................................................................... 17
2.4. PROCESOS ............................................................................................................. 17
2.5. GENTE/USUARIO .................................................................................................. 18
2.6. DOCUMENTO ........................................................................................................ 18
3. TECNOLOGÍA PARA EL DESARROLLO DEL SOFTWARE .............................................. 19
3.1. ESTRATEGIA PARA EL DESARROLLO DEL SOFTWARE ............................................ 19
3.2. METODOLOGÍA PARA EL DESARROLLO DEL SOFTWARE ....................................... 20
3.3. HERRAMIENTAS DE DESARROLLO ......................................................................... 22
3.3.1. SOFTWARE ........................................................................................................ 22
3.3.2. HARDWARE ....................................................................................................... 22
4. POSIBLES COSTOS..................................................................................................... 23
5. POSIBLES BENEFICIOS ............................................................................................... 24
5.1. TIEMPO ................................................................................................................. 24
5.2. ESFUERZO ............................................................................................................. 24
5.3. COSTOS ................................................................................................................. 24
6. POSIBLES CLIENTES ................................................................................................... 24
7. MODELO DE DOMINIO ............................................................................................. 25
CAPITULO 1 – MARCO TEORICO ...................................................................................... 26
1) METODOLOGIA ........................................................................................................ 26
2) DESARROLLO DE SOFTWARE .................................................................................... 39
CAPITULO 2 – APLICACIÓN DEL MARCO DE TRABAJO SCRUM ........................................ 41
2.1. MODELOS PARA EL DESARROLLO DE SCRUM ....................................................... 42
2.1.1. SPRINT PLANNING MEETING (REUNIÓN DEL PLANEAMIENTO DEL SPRINT)...... 42
2.1.2. SPRINT PLANNING MEETING (REUNIÓN DEL PLANEAMIENTO DEL SPRINT)...... 44
2.1.3. REUNIÓN DIARIA (DAILY SCRUM) ..................................................................... 45
2.1.4. SPRINT REVIEW ................................................................................................. 46
2.1.5. SPRINT RETROSPECTIVE .................................................................................... 46
2.1.6. PLANIFICACIÓN DEL SCRUM .............................................................................. 47
2.1.7. LISTA DE CASOS DE USO .................................................................................... 49
2.1.8. PAQUETES Y CASOS DE USO .............................................................................. 51
2.1.9. ARTEFACTOS DE SCRUM.................................................................................... 53
2.1.10. BURN DOWN Y BURN UP ............................................................................... 54
2.1.11. BURN UP ........................................................................................................ 55
2.1.12. BURN DOWN ................................................................................................. 55
2.1.13. PROTOTIPOS .................................................................................................. 56
CAPITULO 3 – REQUERIMIENTOS .................................................................................... 57
RESTRICCIONES ............................................................................................................... 60
PLANIFICACIÓN SPRINT (DIAGRAMA DE GANT) .............................................................. 61
CAPITULO 4 MODELO ...................................................................................................... 62
4.1. DISEÑO DEL SOFTWARE UTILIZANDO MODELO C4 COMO LENGUAJE DE
MODELADO ..................................................................................................................... 62
4.1.1. NIVEL 1 CONTEXTO ............................................................................................ 62
4.1.2. NIVEL 2: CONTENEDORES .................................................................................. 63
4.1.3. NIVEL 3: COMPONENTES ................................................................................... 64
4.1.4. NIVEL 4: CLASES ................................................................................................. 65
DISEÑO DE DATOS ........................................................................................................... 66
SCRIPT ............................................................................................................................. 67
4. ANEXOS .................................................................................................................... 75
4.1. PLAN DE CUENTAS ................................................................................................ 75
CASO DE ESTUDIO #1....................................................................................................... 79
CASO DE ESTUDIO #2....................................................................................................... 83
CASO DE ESTUDIO #3....................................................................................................... 85
PERFIL
1. Aspectos Generales
1.1. Introducción

La contabilidad se configura como una disciplina que se encarga de cuantificar, medir y


analizar la realidad económica con el fin de facilitar el control y la dirección presentando la
información previamente registrada de manera sistemática para las partes interesadas. Y
sobre todo poder proporcionar a los empresarios y gerentes información sobre la salud de
la empresa, sobre su desempeño corporativo, útil para prevenir errores o confirmar
estrategias ganadoras.

Por esta razón, es muy importante que la contabilidad se realice de manera correcta, precisa
y veraz, no solo de acuerdo con los principios legislativos de la contabilidad sino, sobre todo,
para obtener la imagen más realista posible.

Las necesidades de competitividad de la empresa y la transformación del mercado global


han cambiado la organización del trabajo y la gestión empresarial, sacando a la luz una
nueva necesidad: poder gestionar casi todas las actividades de la empresa de forma
independiente y en constante movimiento. Para satisfacer estas necesidades, en los últimos
años la gestión de la contabilidad se ha trasladado a la nube, un espacio de almacenamiento
personal en línea y siempre accesible.

Hoy en día, la contabilidad también se traslada a la cloud (nube). Son muchos los casos en
los que las empresas deciden utilizar un software en la nube para la gestión de su negocio.
Los softwares de administración de contabilidad en la nube se basan completamente en
web, no requieren ninguna instalación y están siempre accesibles desde cualquier
dispositivo. También, son fáciles de usar y no requieren conocimientos informáticos
avanzados.

Es así que, con el presente trabajo, se pretende realizar un sistema de información que
permitirá a las empresas gestionar el área contable, en el que la información debe ser
analizada, clasificada, registrada (Libros diarios, mayores, auxiliares) y resumida (estados
financieros). Para que pueda llegar a los usuarios finales que así lo requieran.

Permitiendo así, poder gestionar algunos de los procesos principales como ser; balance de
apertura, balance de comprobación de sumas y saldos, estado de resultados, además de
generar reportes y diversos procesos más, dependiendo de su rubro.

Por lo tanto, El Sistema Contable es quien resume y centraliza todo movimiento relacionado
con las transacciones que se realizan, ya sea por ventas, compras, cuenta corriente,
inventario, cuentas por cobrar, cuentas por pagar.
1.2. Antecedente

Muchas empresas han optado por sistematizar el manejo de información en varias de sus
áreas que son fundamentales para su crecimiento. Sin duda una de esas áreas, es la de
contabilidad. Es fundamental disponer de una buena gestión y organización empresarial,
para mantener un negocio vivo y en constante evolución, además de que el sistema
contable en la nube debe de ajustarse plenamente a las necesidades de la empresa,
considerando, el negocio y estrategia competitiva, que permita estandarizar procesos,
definir estructuras de costos y por ende, presentar una información contable estandarizada
que facilite su interpretación, una eficiente toma de decisiones y que pueda procesarse para
realizar los diferentes análisis del negocio.

Gracias a la contabilidad en la nube simplificas y automatizas los procesos administrativos


cotidianos y puedes dedicar más tiempo a otras actividades.

Existen varios tipos de sistemas o software contables desarrollados en la web, que ofrecen
brindar facilidades en la gestión de las operaciones económicas dentro de la empresa
dependiendo del tipo de negocio.

1.3. Descripción del Problema

La mayoría de las empresas pymes, pequeñas y en menor porcentaje medianas empresas


manejan la su información contable de forma manual, y/o en documentos de Excel, lo que
suele provocar redundancia y pérdida de su información, además del filtrado de información
que puede ser usado posteriormente en perjuicio de las empresas.

Las grandes compañías deben tener mayor eficiencia y agilidad a la hora de tomar una
decisión que afecte a la economía de la empresa, por lo que surge el uso de sistemas de
información que brinden una información oportuna y segura.

Si bien las empresas suelen variar las funciones que les conceden a su departamento contable
tienen procedimientos contables básicos para cualquier tipo empresa como ser: balance de
apertura, libro diario y libro mayor, libro de banco, libro de caja, libro de compras, gestión de
inventarios, elaboración de estados financieros, como ser: balance general, estado de
resultado y balance de comprobación de sumas y saldos.

Tomando en cuenta que no todas las empresas tienen la misma fecha de cierre, por ejemplo,
las empresas comerciales como las de servicios tienen distintas fechas de cierre de gestión,
así también las industriales. El sistema deberá ser capaz de gestionar que tipo de empresa es
la que va hacer uso del sistema y poder gestionar su información considerando las fechas de
cierre normadas por ley.
Los registros en el libro caja, banco contribuyen a la gestión de los estados financieros de las
empresas. Esto también debe realizarse de forma exacta, precisa ya que puede generar
problemas de inconsistencias en los demás procesos contables de la empresa y lo que se
busca en estos procesos también es eso, eliminar los errores de ingresos de datos que son
comúnmente hechos por el personal contable.

Otro de los procesos que deberá gestionar es el plan de cuentas que va de la mano con la
gestión de transacciones diarias de la empresa. El sistema deberá facilitar la gestión eficiente
de este proceso, que viene a ser el corazón de los procesos contables que realizara la empresa
que haga uso del sistema. El manejo manual de este tipo de información es muy tedioso y
trae también una gran cantidad de tiempo desperdiciado en los cálculos para cuadrar las
transacciones siendo que un sistema de gestión de información lo puede realizar en
segundos.

En síntesis, las dificultades a solventar respecto a la elaboración de la contabilidad de una


empresa es gestionar la información contable de una manera segura, correcta, comprensible
eliminar todo lo que tenga que ver con la perdida y redundancia de información, además
también de la pérdida de tiempo de elaboración manual de todos estos procesos y la gestión
exacta de la información para un proceso de toma de decisiones eficiente y eficaz de las
empresas que hagan uso de este sistema.

1.4. Formulación del Problema

El presente manejo de los procesos contables en las empresas es manual, ineficiente e


inseguro, es el mayor problema que se presenta, ya que la documentación puede verse
expuesta a cualquier fraude o manipulación malversa que resulte en contra de la empresa o
personas interesadas. Además, que también existe la posibilidad de pérdida de archivos lo
cual ocasiona otra problemática.
1.5. Objetivos
1.5.1. Objetivo General

Desarrollar un sistema de información para uso empresarial con énfasis en la gestión del
área contable por medio de la nube.

1.5.2. Objetivo Especifico

• Comprender las áreas de funcionamiento contables de las empresas solicitantes para


poder desarrollar correctamente el sistema de contabilidad.

• Recolectar información sobre el funcionamiento de los sistemas contables para su


implementación en la nube.

• Analizar el funcionamiento de los sistemas contables en la nube.

• Diseñar una Base de Datos SQL para el registro y almacenamiento de los datos.

1.6. Alcance

Las funciones que realizara el sistema de información a desarrollar se especificaran a


continuación:

MÓDULO DE CONTABILIDAD

En este módulo se trabajará sobre todos los movimientos dentro de los procesos contables.

- Gestionar periodos y gestiones contables


Se refiere a asignar la o las gestiones a revisar mediante el sistema contable. Es por eso que
se debe registrar de una gestión y periodo los siguientes datos: Fecha de inicio, Fecha de
finalización y Estado

- Gestionar Sucursales
Se manejará todos los datos referentes a las sucursales que tenga una empresa, de esta
manera se espera llevar la contabilidad de cada sucursal por separado para tener un mayor
control de los movimientos económicos de dicha sucursal. Al finalizar el mes todas las
sucursales deben reunir su información para agregarlas en el balance general de toda la
empresa.
Es necesario guardar entonces los siguientes datos de las sucursales: Id de la sucursal,
Dirección y el Encargado de esa sucursal.

- Gestionar Plan de cuentas


El plan de cuentas es un listado que contiene todas las cuentas que son necesarias para
registrar los hechos contables, es decir, es la ordenación sistemática de la totalidad de las
cuentas que integran el sistema contable. Como todas las empresas no manejan el mismo
plan de cuentas, sino que varía de acuerdo a su rubro, es necesario definir un plan de
cuentas lo más general o estándar posible, que abarque todas las posibles cuentas que
puedan necesitar una empresa.

- Gestionar Traspaso
Son los traspasos que se documentan para que luego sean pasados a
los ajustes por inflación.

- Gestionar comprobantes de ingreso, egresos y ajustes por inflación


Ajustes por inflación.
Son comprobantes de traspaso que se elaboran al final de un periodo para obtener saldos
reales de las cuentas de resultado y de balance.

Comprobantes de ingresos y egresos.


Los comprobantes son utilizados para resumir los hechos económicos respaldados con la
documentación fuente.
Los comprobantes de ingreso son usados para resumir los ingresos recibidos en efectivo o
en cheque, depósitos realizados en la cuenta corriente del Banco por parte de los clientes o
deudores de la empresa adjuntando la documentación fuente (recibo de Caja Ingresos, o el
voucher de una tarjeta de crédito, boleta de depósito o notas de abono).
Los comprobantes de egresos son usados para resumir los egresos de efectivo o en cheque
por depósito en cuenta corriente bancaria, por compra de bienes y servicios o pago de
deudas hacia terceros, adjuntando la documentación fuente (recibo de caja egreso, boletas
de depósito y facturas).
- Gestionar centros de costos

Los Centros de Costos son una forma de clasificación que ayuda en el momento de obtener
estados financieros como sumas y saldos ya que son centro de distribución que administran
sus cuentas de ingresos y egresos de forma separada, lo que no impide obtener estados
financieros de toda la empresa.

La información a guardar será: el nombre, Dirección, Teléfono y el nombre de un encargado

- Gestionar libros de compra y venta


Libros de Compra IVA
Registra de manera cronológica y correlativa de todas las facturas obtenidas por compras
de bienes o servicios en un periodo fiscal, lo que facilita el cálculo del crédito fiscal del
periodo a declararse.
Libro de ventas IVA
Registra de manera cronológica y correlativa de todas las facturas emitidas por ventas de
bienes y/u servicios en un periodo fiscal,lo que facilita el débito fiscal y del impuesto a las
transacciones del periodo a declararse.

- Generar estados financieros como balance general, estado de resultados, libro diario,
libro mayor, balance de comprobación de sumas y saldos, hoja de trabajado de 12
columnas, balance general.

Balance General.
Muestra las cuentas reales, expresando en detalle los valores que poseen como derechos y
aquellas deudas a cargo de la empresa a una determinada fecha.

Estado de resultados
Muestra las cuentas nominales expresando el importe a detalle de las operaciones de venta
o ingresos y los representados por el costo de productos vendidos, los costos de operación
y otros costos extraordinarios.
Libro Diario
Es un registro formal de primera entrada donde se anotan las transacciones mercantiles a
través de los asientos contables. El asiento inicial a ser registrado en este libro corresponde
a los activos y pasivos del balance inicial.
La información que se registra en este libro es:
1. La fecha y número del asiento.
2. Los títulos de las cuentas afectadas.
3. El importe de los débitos y créditos.
4. Una breve explicación de la operación.

Libro Mayor

Este libro registra todos los asientos del libro diario, pero clasificándolas según su similitud,
con el fin de obtener el movimiento de los débitos y créditos. De esta manera, calcular el
saldo de la cuenta.

La información que se registra en este libro es:

1. Fecha de asiento
2. Título de la cuenta
3. Concepto de la operación
4. El importe que se debita o se acredita.

Balance de sumas y saldos


Muestra el balance de los saldos deudores acreedores de las cuentas de una empresa en un
momento determinado.

Balance de las 12 columnas


Se caracteriza porque en este se detallan las cuentas con sus respectivos saldos y luego se
clasifican de acuerdo a su origen.

La hoja de trabajo (de doce columnas) en su diseño incluye catorce columnas, cada una con
finalidad específica.
Balance de Apertura
Es el primer estado financiero que se presenta con datos del inventario inicial entregado
por el propietario para establecer la legitimidad de la empresa. Este balance se lo debe
realizar antes de iniciar todos los registros económicos de la gestión que sigue. Refleja el
estado actual de la empresa de cómo está iniciando.

- Generar reportes del plan de cuentas, centros de costos, listado de proveedores, clientes.
Los reportes a generar mostraran toda la información necesaria de manera ordenada según
lo que el usuario desee ver.

MÓDULO TRIBUTARIO
En este módulo se manejará toda la información de todos los impuestos o normas
tributarias que la empresa de be pagar o cumplir.

- Gestionar impuestos al valor agregado (I.V.A.)


Se registra el porcentaje actual del IVA.
- Gestionar impuestos a las transacciones (I.T.)
Se registra el porcentaje actual del IT.
- Gestionar Impuestos a las utilidades (I.U.)
Se registra el porcentaje actual del IU.
1.7. Metodología

El término Scrum tiene su origen en los años 80, cuando Ikujiro Nonaka e Hirotaka
Takeuchi empezaron a definir cuáles eran las conductas de trabajo en una empresa.

Se define como la gestión de procesos y equipos para abordar proyectos


complejos que requieren entornos dinámicos y cambiantes, por lo que exigen
rapidez de resultados y flexibilidad. Se trata de una metodología de trabajo ágil
que tiene varios objetivos, por ejemplo:

 Acelerar los procesos para satisfacer al cliente

 Actuar con rapidez ante los posibles cambios

 Realizar entregas periódicas del trabajo.

Se utilizará el método ágil SCRUM para la realización del presente proyecto debido a su gran
flexibilidad y al tiempo que se tiene para hacerlo.
2. Elementos del Sistema Basado en Computadoras
2.1. HARDWARE
2.1.1. Servidor

 Windows 7
 Procesador Core i3
 Memoria RAM 2 GB
 Espacio de Disco 500 GB.
 Conexión a internet 1 MB.

2.1.2. Cliente
Por computadora

• Procesadores duales con una velocidad de 2.5


(GHz) recomendado 3 (GHz).
• Memoria RAM 2 GB.
• Disco con partición formateada con 5 GB de
espacio disponible en disco como mínimo.
• Tarjeta de Red con conector RJ45 o tarjeta Wifi.

Por la aplicación móvil

• Poseer un teléfono o Tablet inteligente con acceso a internet.


• Tener un espacio de memoria de mínimo medio GB.
2.1.3. Medios de Comunicación

Materiales para instalar una Red:

• Conectores RJ45: Uno de los conectores principales utilizados con tarjetas


de red Ethernet transmite información a través de cables par trenzado.
• Cable (UTP) Categoría 5: Tipo de cableado más solicitado. Es un estándar
dentro de las comunicaciones de redes LAN.
• Grimpadora: Son una especie de alicates y sirven para fijar los cables.
• Tester de Cable: Sirve para medir magnitudes eléctricas en diferentes
ámbitos.
• Tarjeta de Red: Permite la comunicación entre diferentes aparatos
conectados entre sí.
• Hub o Switch: Llevan a cabo la conectividad de una red local (LAN). La
mayoría soportan cables cruzados.

2.1.4. Otros Dispositivos


• Mouse
• Teclado

2.2. SOFTWARE
2.2.1. Servidor
• MySQL con Servidor Apache
• Lenguaje de programación PHP
• Sistema operativo Windows 10

2.2.2. Cliente
• Sistema Operativo Windows 10
• Navegador (Chrome, Mozilla, Opera, etc.)
• Lenguaje de programación PHP 7.3+
• Play store o Apple store
2.2.3. Otro software adicional
• Sistema Operativo Windows 10
• Navegador (Chrome, Mozilla, Opera, etc.)
• Lenguaje de programación PHP 7.3+
• Play store o Apple store

2.3. DATOS
El objetivo principal de un sistema es el manejo de datos, en este caso los datos a
manejar serán:

- Clientes
- Datos contables de los clientes
- Servicios

2.4. PROCESOS

- Balance de Apertura

- Gestión de transacciones diarias

 Libro diario

 Libro mayor

- Comprobantes de transacciones Comerciales

 Comprobante de ingreso

 Comprobante de gasto

 Comprobante de diario o traspaso

 Comprobante de ajuste

- Libro de caja (Recibos de ingreso caja y Recibos de egresos caja)

- Libro Banco

- Libro de compras-ventas IVA


- Cuadro de actualización y depreciación de bienes de uso

- Planillas de sueldos, planillas de impositiva, cuadro de aportas patronales, formulario


AFP’S y CNS

- Elaboración de los estados financieros

 Balance de comprobación de sumas y saldos

 Estado de resultados (contables y tributarios)

 Balance general

 Estado de evolución del patrimonio neto

 Estado de Origen y aplicación de fondos

2.5. GENTE/USUARIO

- Jefe de contabilidad. - Su dominio será acceso total a todo el sistema, base de datos,
reportes, etc.

- Auxiliar contable. - su domino será acceso a una parte del sistema para registrar y o meter
datos contables del día a día del cliente o empresa.

- Analista de sistemas contables. - su dominio es solucionar o modificar el sistema para el


uso del sistema por parte de la empresa.

2.6. DOCUMENTO

El sistema debe generar documento físico referente:

• Reporte de estados financiero de la empresa.

• Reporte de estados financiero del cliente.

• Reportes de movimientos contables en general.

• También debe generar una bitácora de los usuarios que utilizan el sistema.
3. Tecnología para el desarrollo del software
3.1. Estrategia para el desarrollo del software

La estrategia que se usará para el desarrollo del proyecto será usar el


marco teórico de Scrum potenciado con técnicas del PUDS y usando el
UML para su mejor entendimiento.

Una vez puesto los roles, el Scrum master y el Product Owner se reunirán
para establecer las funciones necesarias para que el sistema sea 100%
funcional a lo que se requiere, posteriormente luego de establecer las
funciones se usaran 3 artefactos:

a) Historias. - mediante pequeñas notas se desmenuzará las


funciones en partes más pequeñas. Se usarán plantillas para su
fácil realización y estarán a la espera de una revisión de prioridad

b) Backlog. - es una gama de tareas que están pendiente de


hacerse en este caso pequeñas historias que fueron prediseñadas
en ayuda del scrum master y el product owner, las cuales serán
analizadas por el dueño del producto el cual asignará prioridades
y las ingresará en la pila de trabajos, dichas historia serán siendo
efectuadas por el equipo de desarrollo en ayuda del scrum
master.

c) Épicas. - con el fin de mejorar la productividad, se acumularán


historias y tareas de similar trasfondo u objetivos similares en
alto nivel, esto para asegurar enviar un producto terminado en
cada Sprint y evitar que se disperse el trabajo.
3.2. Metodología para el desarrollo del software

UML

UML El UML Lenguaje de Unificado (UML - Unified Modeling Language) es un lenguaje gráfico
para visualizar, especificar y documentar cada una de las partes que comprende el desarrollo
de software. UML entrega una forma de modelar cosas conceptuales como lo son procesos
de negocio y funciones de sistema, además de cosas concretas como lo son escribir clases en
un lenguaje determinado, esquemas de base de datos y componentes de software reusables.

Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML


ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos
conceptuales tales como procesos, funciones del sistema, y aspectos concretos como
expresiones de lenguajes de programación, esquemas de bases de datos y compuestos
reciclados.

UML permite describir un sistema en diferentes niveles de abstracción, simplificando la


complejidad sin perder información, para que tanto usuarios, líderes y desarrolladores
puedan comprender claramente las características de la aplicación.

UML es una especificación de notación orientada a objetos. Se basa en las anteriores


especificaciones BOOCH, RUMBAUGH y COAD-YOURDON. Divide cada proyecto en un
número de diagramas que representan las diferentes vistas del proyecto. Estos diagramas
juntos son los que representa la arquitectura del proyecto.

Visión de UML
UML es un lenguaje proporciona un vocabulario y las reglas para combinar palabras de éste
con el objetivo de posibilitar la comunicación. Un lenguaje de modelado es un lenguaje cuyo
vocabulario se centra en la representación conceptual y física de un sistema. Un lenguaje de
modelado estándar como UML es, por tanto, un lenguaje estándar para los planos del
software.

El vocabulario y las reglas de un lenguaje como UML indican cómo crear y leer modelos bien
formados, pero no dicen que modelos se deben crear ni cuando se debería crear.
Diagramas UML

Los diagramas de Clases de UML se pueden usar para modelar la base de pueden usar para
modelar la base de datos relacional en la que un sistema esté basado, sin embargo, los esté
basado, sin embargo, los diagramas tradicionales de modelado capturan más información
capturan más información sobre la base de datos relacional y son más adecuados para
modelarla.

Diagrama de Clases modela la estructura estática de las clases en el sistema. Diagrama de


Componentes modela los componentes que componen una aplicación, sistema o empresa.
Diagrama de Estructura de Composición representa la estructura interna de un clasificador.
Diagrama de Despliegue Físico muestra cómo y dónde se desplegar el sistema.

Diagrama de Objetos modela la estructura estática de los objetos en el sistema.

Diagrama de Actividades modela comportamiento de los casos de uso, objetos operaciones.

Diagrama de Comunicaciones modela interacciones entre objetos

Diagrama de Secuencias representa una interacción, poniendo el foco en la secuencia de los


mensajes que se intercambian.
Diagrama de Máquinas de Estado ilustra como un elemento se puede mover entre estados
que clasifican su comportamiento.

Diagrama de Tiempos mostrar los cambios en el estado o la condición de una línea de vida a
lo largo del tiempo lineal.
Diagrama de Casos de Uso muestra las relaciones entre los actores y el sujeto (sistema) y los
casos de uso.
3.3. HERRAMIENTAS DE DESARROLLO
3.3.1. Software
• Suite de Desarrollo Web: XAMPP es una suite de desarrollo web que
engloba un servidor independiente de plataforma de código libre, permite
instalar de forma sencilla Apache en tu propio ordenador, incluye además
servidores de bases de datos como MySQL y SQLite, PHP, Pearl y además
un cliente del SGBD que es phpmyadmin.

• Servidor Web: Apache es un software de servidor web gratuito de páginas


web HTTP que sirve para colocar varias plataformas como Unix, BSD,
GNU/Linux, Windows, Macintosh entre otros que implementan el
protocolo HTTP.

• Sistema Gestor de base de datos: MySql se ejecuta en prácticamente todas


las plataformas, incluyendo Linux, UNIX y Windows. es un SGBD relacional,
multiusuario y multi hilo.

• Programación web: Que se realizará en PHP (bajo el framework de Laravel


versión 8.0), HTML y CSS, PHP es un lenguaje de código abierto muy
popular especialmente adecuado para el desarrollo web y que puede ser
incrustado en HTML. El cual es un lenguaje de marcado que se utiliza para
el desarrollo de páginas de Internet y CSS (Hojas de Estilo en Cascada) es
un lenguaje que describe la presentación de los documentos estructurados
en hojas de estilo para diferentes métodos de interpretación, es decir,
describe cómo se va a mostrar un documento en pantalla permitir la
separación de los contenidos de los documentos escritos en HTML.

• Sistema operativo WINDOWS 10: última versión desarrollada por


Microsoft como parte de la familia de Windows NT.5

3.3.2. Hardware

● PC de escritorio

 Computador portátil HP PAVILION.


 Computador portátil HP PAVILION
 Computador portátil HP PAVILION.
 Procesador Intel Core i5.
 Procesador Intel Core i5.
 Memoria RAM 16 GB.
 Memoria RAM 16 GB.
 Solid State Drive (SSD) 480 GB.
 Solid State Drive (SSD) 1 TB
 Sistema operativo Windows 10 PRO de 64 bits.
 Sistema operativo Windows 10 PRO de 64 bits.

4. POSIBLES COSTOS

Item Costo en $
HARDWARE
Computadora HP PAVILION 800
Computadora HP PAVILION 800
PC Escritorio 1000
Impresora EPSON 200
multifuncional L220
Lenovo Asus VivoBook 1000
SOTFWARE
Licencia SQLServer- 90
Enterprise
Servicio de Hosting 30
Sistema Operativo W10 90
Jira Kunagi 10
Star UML 60
ScrumDO 10
PERSONAL
Personal 1200
Area de Trabajo 100
TOTAL 36915
5. POSIBLES BENEFICIOS
5.1. TIEMPO

5.2. ESFUERZO

5.3. COSTOS

6. POSIBLES CLIENTES
7. MODELO DE DOMINIO
CAPITULO 1 – MARCO TEORICO

1) METODOLOGIA

1.1.Propósito de Scrum

Gestionar el desarrollo de software y es maximizar el retorno de la inversión para


su empresa (ROI).

1.2. Visión general de Scrum

Un marco de trabajo por el cual las personas pueden acometer problemas complejos
adaptativos, a la vez que entregar productos del máximo valor posible productiva y
creativamente.

Scrum es:
 Ligero
 Fácil de entender
 Extremadamente difícil de llegar a dominar

Scrum es un marco de trabajo de procesos que ha sido usado para gestionar el


desarrollo de productos complejos desde principios de los años 90. Scrum no es un
proceso o una técnica para construir productos; en lugar de eso, es un marco de
trabajo dentro del cual se pueden emplear varias técnicas y procesos. Scrum muestra
la eficacia relativa de las prácticas de gestión de producto y las prácticas de
desarrollo, de modo que podamos mejorar.

El marco de trabajo Scrum consiste en los Equipos Scrum, roles, eventos, artefactos
y reglas asociadas. Cada componente dentro del marco de trabajo sirve a un
propósito específico y es esencial para el éxito de Scrum y para su uso.

Las reglas de Scrum relacionan los eventos, roles y artefactos, gobernando las
relaciones e interacciones entre ellos. Las reglas de Scrum se describen en el
presente documento.

Las estrategias específicas para usar el marco de trabajo Scrum son diversas y
están descritas en otros lugares.

1.3. El Equipo Scrum (Scrum Team)

El Equipo Scrum consiste en un Dueño de Producto (Product Owner), el Equipo de


Desarrollo (Development Team) y un Scrum Master. Los Equipos Scrum son auto
organizados y multifuncionales. Los equipos auto organizados eligen la mejor
forma de llevar a cabo su trabajo y no son dirigidos por personas externas al
equipo. Los equipos multifuncionales tienen todas las competencias necesarias
para llevar a cabo el trabajo sin depender de otras personas que no son parte del
equipo. El modelo de equipo en Scrum está diseñado para optimizar la flexibilidad,
la creatividad y la productividad.
Los Equipos Scrum entregan productos de forma iterativa e incremental,
maximizando las oportunidades de obtener retroalimentación. Las entregas
incrementales de producto “Terminado” aseguran que siempre estará disponible
una versión potencialmente útil y funcional del producto.

1.4. El Dueño de Producto (Product Owner)

El Dueño de Producto es el responsable de maximizar el valor del producto y del


trabajo del Equipo de Desarrollo. El cómo se lleva a cabo esto podría variar
ampliamente entre distintas organizaciones, Equipos Scrum e individuos.

El Dueño de Producto es la única persona responsable de gestionar la Lista del


Producto (ProductBacklog). La gestión de la Lista del Producto incluye:

 Expresar claramente los elementos de la Lista del Producto


 Ordenar los elementos en la Lista del Producto para alcanzar los objetivos
y misiones de la mejor manera posible
 Optimizar el valor del trabajo desempeñado por el Equipo de Desarrollo
 Asegurar que la Lista del Producto es visible, transparente y clara para
todos, y que muestra aquello en lo que el equipo trabajará a continuación
 Asegurar que el Equipo de Desarrollo entiende los elementos de la Lista
del Producto al nivel necesario.

El Dueño de Producto podría hacer el trabajo anterior, o delegarlo en el Equipo de


Desarrollo. Sin embargo, en ambos casos el Dueño de Producto sigue siendo el
responsable de dicho trabajo. El Dueño de Producto es una única persona, no un
comité.
El Dueño de Producto podría representar los deseos de un comité en la Lista del
Producto, pero aquellos que quieran cambiar la prioridad de un elemento de la
Lista deben hacerlo a través del Dueño de Producto. Para que el Dueño de
Producto pueda hacer bien su trabajo, toda la organización debe respetar sus
decisiones. Las decisiones del Dueño de Producto se reflejan en el contenido y en
la priorización de la Lista del Producto.
No está permitido que nadie pida al Equipo de Desarrollo que trabaje con base en
un conjunto diferente de requerimientos, y el Equipo de Desarrollo no debe actuar
con base en lo que diga cualquier otra persona.

1.5. El Equipo de Desarrollo (Development Team)


El Equipo de Desarrollo consiste en los profesionales que desempeñan el trabajo
de entregar un Incremento de producto “Terminado”, que potencialmente se pueda
poner en producción, al final de cada Sprint. Solo los miembros del Equipo de
Desarrollo participan en la creación del Incremento.

Los Equipos de Desarrollo son estructurados y empoderados por la organización


para organizar y gestionar su propio trabajo. La sinergia resultante optimiza la
eficiencia y efectividad del Equipo de Desarrollo. Los Equipos de Desarrollo tienen
las siguientes características:

 Son auto organizados. Nadie (ni siquiera el Scrum Master) indica al Equipo
de Desarrollo cómo convertir elementos de la Lista del Producto en
Incrementos de funcionalidad potencialmente desplegables

 Los Equipos de Desarrollo son multifuncionales, contando como equipo con


todas las habilidades necesarias para crear un Incremento de producto
 Scrum no reconoce títulos para los miembros de un Equipo de Desarrollo,
todos son Desarrolladores, independientemente del trabajo que realice cada
persona; no hay excepciones a esta regla
 Scrum no reconoce sub-equipos en los equipos de desarrollo, no importan
los dominios particulares que requieran ser tenidos en cuenta, como pruebas
o análisis de negocio; no hay excepciones a esta regla; y, Los Miembros
individuales del Equipo de Desarrollo pueden tener habilidades
especializadas y áreas en las que estén más enfocados, pero la
responsabilidad recae en el Equipo de Desarrollo como un todo.

1.6. El Scrum Master

El Scrum Master es el responsable de asegurar que Scrum es entendido y adoptado.


Los Scrum Masters hacen esto asegurándose de que el Equipo Scrum trabaja
ajustándose a la teoría, prácticas y reglas de Scrum.

El Scrum Master es un líder que está al servicio del Equipo Scrum. El Scrum Master
ayuda a las personas externas al Equipo Scrum a entender qué interacciones con el
Equipo Scrum pueden ser de ayuda y cuáles no. El Scrum Master ayuda a todos a
modificar estas interacciones para maximizar el valor creado por el Equipo Scrum.

1.7. Eventos de Scrum

En Scrum existen eventos predefinidos con el fin de crear regularidad y minimizar


la necesidad de reuniones no definidas en Scrum. Todos los eventos son bloques de
tiempo (time-boxes), de tal modo que todos tienen una duración máxima. Una vez
que comienza un Sprint, su duración es fija y no puede acortarse o alargarse. Los
demás eventos pueden terminar siempre que se alcance el objetivo del evento,
asegurando que se emplee una cantidad apropiada de tiempo sin permitir desperdicio
en el proceso. Además del propio Sprint, que es un contenedor del resto de eventos,
cada uno de los eventos de Scrum constituye una oportunidad formal para la
inspección y adaptación de algún aspecto. Estos eventos están diseñados
específicamente para habilitar las vitales transparencia e inspección. La trabajo
restante. Cuando algún elemento del plan pasa a ser considerado innecesario, es
eliminado. Solo el Equipo de Desarrollo puede cambiar su Lista de Pendientes del
Sprint durante un Sprint. La Lista de Pendientes del Sprint es una imagen visible en
tiempo real del trabajo que el Equipo de Desarrollo planea llevar a cabo durante el
Sprint, y pertenece únicamente al Equipo de Desarrollo.

1.8. El Sprint

En el marco de Scrum, todas las actividades necesarias para la implementación de


entradas desde el Backlog del producto de Scrum se realizan dentro de Sprints
(también llamadas ‘Iterations’). Los sprints son siempre cortos: normalmente de 2 a4
semanas.

Cada Sprint sigue un proceso definido como se muestra a continuación: El proceso


Sprint

Cada Sprint comienza con dos sesiones de planificación para definir el contenido del
Sprint: el WHAT-Meeting y el HOW-Meeting. La combinación de estas dos
reuniones también se define como la Reunión de planificación de Sprint. En la
reunión de QUÉ, el equipo de Scrum se compromete con las historias de usuarios de
la cartera de trabajos de Scrum y utiliza una reunión HOW para dividir las historias
de usuarios comprometidas en tareas más pequeñas y concretas. Entonces la
implementación comienza.

Al final del Sprint, se lleva a cabo una reunión de revisión de Sprint para permitir que
el propietario del producto Scrum verifique si todos los elementos comprometidos
están completos y se implementan correctamente. Además, se lleva a cabo una
reunión retrospectiva de Sprint para verificar y mejorar los procesos de ejecución del
proyecto: qué fue bueno durante el Sprint, qué debería continuar tal como es y qué
debería mejorarse.

1.9. Reunión de Planificación de Sprint (Sprint Planning Meeting)

En Scrum, la reunión de planificación de sprint (sprint planning meeting) cuenta


con la participación del product owner, Scrum Master y todo el equipo de Scrum.
Actores externos pueden asistir por invitación del equipo, pero es extraño que
suceda en la mayoría de las compañías.

Durante esta reunión de planificación, el product owner describe las características


con mayor prioridad al equipo. El equipo realiza las preguntas necesarias para poder
convertir una historia de usuario (user story) de alto nivel del product backlog en
tareas más específicas a considerar en el sprint backlog.

El product owner no tiene que describir todos los items presentes en el product
backlog. Una buena práctica es que el product owner se presente en la sprint
planning meeting preparado para hablar de una cantidad de items del product
backlog correspondiente a 2 sprints. Para hacer un ejemplo bastante simple,
supongamos que un equipo siempre finaliza 5 items del product backlog. Su product
owner debe ingresar a la reunión preparado para hablar de las 10 historias de usuario
más priorizadas.

Hay 2 artefactos definidos que resultan de la sprint planning meeting:

 Un objetivo de sprint
 Un sprint backlog

1.10. Objetivo del Sprint (Sprint Goal)

Un sprint goal (objetivo de sprint) es una descripción corta, de una o dos oraciones,
de lo que el equipo tiene previsto alcanzar durante el sprint.

Se escribe en conjunto por el equipo y el product owner. Los siguientes son ejemplos
de sprint goals de una aplicación eCommerce:

 Implementar la funcionalidad básica del carrito de compras, incluyendo


agregar, quitar y actualizar cantidades.
 Desarrollar el proceso de pago: pagar una orden, programar el envío, ordenar
que se envuelva como regalo, etc.

El sprint goal puede ser usado para informar de forma rápida a quienes están fuera
del sprint. Siempre hay stakeholders que quieren saber en qué está trabajando el
equipo, pero no necesitan conocer con detalle cada item del product backlog.

El éxito del sprint será posteriormente evaluado durante la sprint review meeting
(reunión de revisión) en función al objetivo del sprint, en vez de considerar cada
item específico seleccionado del product backlog.

1.11. Scrum Diario (Daily Scrum)

En Scrum, durante el desarrollo de un sprint, el equipo mantiene una reunión diaria


llamada el "daily scrum”.

Usualmente estas reuniones se realizan en el mismo lugar y a la misma hora, en


cada uno de los días.
Idealmente:

 El daily scrum meeting se realiza en la mañana, a fin de definir el contexto


para el resto del día de trabajo.
 Estas reuniones son estrictamente desarrolladas con un tiempo límite de 15
minutos. Esto hace que la reunión sea breve y se traten puntos importantes.

Esta reunión diaria (daily scrum meeting) no se realiza con el fin de resolver
problemas específicos.

De existir problemas específicos, estos son tratados de forma externa al daily scrum
meeting, con el subgrupo correspondiente, justo después de esta reunión.

Durante el daily scrum, cada miembro del equipo responde las siguientes 3 preguntas:

 ¿Qué hiciste ayer?


 ¿Que harás hoy?
 ¿Hay impedimentos en tu camino?

Al enfocarse en lo que cada miembro del equipo hizo ayer y hará hoy, el equipo
gana una visión general de lo que se ha realizado y aquello que falta por realizar.

El daily scrum meeting no es una reunión para actualizar estados, en donde el jefe
recolecta información acerca de quiénes están atrasados en sus actividades.

Más bien, es una reunión donde cada miembro del equipo se informa y compromete
con el resto.

Si un programador se pone de pie y dice, "Hoy, yo voy a terminar el módulo de data


storage", todos saben que en el meeting de mañana el confirmará si ha terminado o
no con lo esperado.

1.12. Revisión de Sprint (Sprint Review)

El Sprint Review es uno de los cinco eventos de Scrum, y ocurre en el final del
Sprint, para inspeccionar el incremento y adaptar el Product Backlog en caso de que
sea necesario. Es una gran oportunidad para poder recibir feedback sobre el
desarrollo del producto.

Es una reunión informal, y el objetivo principal del Sprint Review es brindar


transparencia tanto al equipo como al cliente.

Tiene una duración de 4 horas para Sprints de 4 semanas. Para Sprints más cortos,
esta reunión tenderá a ser más corta. Este evento es organizado por el Product
Owner, y es necesaria la presencia de todo el equipo de Scrum. El rol del Scrum
Master es asegurar que el evento ocurre y que cumple los tiempos establecidos,
además de asegurar una colaboración de todo el equipo.

1.13. Retrospectiva de Sprint (Sprint Retrospective)

El sprint retrospective meeting (retrospectiva) es el último evento en un Sprint en


Scrum. Es una oportunidad para el equipo de inspeccionarse a sí mismo, y crear un
plan de mejora que se pondrá en marcha inmediatamente, en el siguiente Sprint.

Este evento se realiza después del Sprint Review, tiene un tiempo máximo de
duración de 3 horas para Sprints de 1 mes, por supuesto para Sprints más pequeños
su tiempo de duración será proporcionalmente menor.

Previo a la sesión, cada miembro del equipo debe hablar de los siguientes puntos:

 Qué ha funcionado bien en el último Sprint.


 Cuáles cosas hay que mejorar de cara al siguiente Sprint.
 Problemas que haya tenido para poder progresar correctamente en el último
Sprint.
 Recomendaciones a aplicar en el siguiente Sprint.

1.14. Artefactos de Scrum


1.15. Lista de Producto (Product Backlog)

El product backlog (o pila de producto) es un listado de todas las tareas que se


pretenden hacer durante el desarrollo de un proyecto.

Algunos product backlog pueden asociarse con proyectos de varios años, incluso.

Todas las tareas deben listarse en el product backlog, para que estén visibles ante
todo el equipo y se pueda tener una visión panorámica de todo lo que se espera
realizar.

Este product backlog es casi siempre suficiente para iniciar con el primer sprint. Y
este product backlog tiene permitido crecer y cambiar tanto como sea necesario, en
función a lo que se va aprendiendo sobre el producto y los clientes.

Usualmente este listado comprende diferentes tipos de elementos:

 Features
 Bugs
 Technical work
 Knowledge acquisition
1.16. Lista de Pendientes del Sprint (Sprint Backlog)

El sprint backlog es el otro artefacto resultante de la sprint planning meeting. Un


sprint backlog es una lista de items del product backlog que el equipo se compromete
a entregar, más la lista de tareas necesarias para cumplir con cada uno de estos items.
Usualmente se suele estimar cada tarea del sprint backlog.

Es importante recalcar que es el equipo el que selecciona el trabajo que se va a


realizar en el sprint que está por iniciar. El product owner no determina la cantidad
de trabajo que se va a realizar. Hemos de esperar que el equipo haga tanto como sea
necesario para lograr finalizar con éxito el proyecto (o más), pero es el equipo el que
determina qué tanto es capaz de hacer en el sprint.

1.17. Incremento

El incremento es la parte de producto producida en un sprint, y tiene como


característica el estar completamente terminada y operativa, en condiciones de ser
entregada al cliente.

No se deben considerar como Incremento a prototipos, módulos o sub-módulos, ni


partes pendientes de pruebas o integración.

Idealmente en Scrum:
 Cada elemento de la pila del producto se refiere a funcionalidades
entregables, no a trabajos internos del tipo “diseño de la base de datos”.
 Se produce un “incremento” en cada iteración.

Sin embargo, es una excepción frecuente el primer sprint. En el que objetivos del
tipo “contrastar la plataforma y el diseño” pueden resultar necesarios, e implican
trabajos de diseño o desarrollo de prototipos para contrastar las expectativas de la
plataforma o tecnología que se va a emplear. Teniendo en cuenta esta excepción
habitual:

Incremento es la parte de producto realizada en un sprint potencialmente


entregable: terminada y probada.

Si el proyecto o el sistema requiere documentación, o procesos de validación y


verificación documentados, o con niveles de independencia que implican procesos
con terceros, éstos también tienen que estar realizados para considerar que el
incremento está “hecho”.

1.18. Transparencia de los Artefactos

Scrum se basa en la transparencia. Las decisiones para optimizar el valor y controlar


el riesgo se toman basadas en el estado percibido de los artefactos. En la medida en
que la transparencia sea completa, estas decisiones tienen unas bases sólidas. En la
medida en que los artefactos no son completamente transparentes, estas decisiones
pueden ser erróneas, el valor puede disminuir y el riesgo puede aumentar.

El Scrum Master debe trabajar con el Dueño de Producto, el Equipo de Desarrollo


y otras partes involucradas para entender si los artefactos son completamente
transparentes. Hay prácticas para hacer frente a la falta de transparencia; el Scrum
Master debe ayudar a todos a aplicar las prácticas más apropiadas si no hay una
transparencia completa.

Un Scrum Master puede detectarla falta de transparencia inspeccionando artefactos,


reconociendo patrones, escuchando atentamente lo que se dice y detectando
diferencias entre los resultados esperados y los reales.
La labor del Scrum Master es trabajar con el Equipo Scrum y la organización para
mejorar la transparencia de los artefactos. Este trabajo usualmente incluye
aprendizaje, convicción y cambio.
La transparencia no ocurre de la noche a la mañana, sino que es un camino.

1.19. Definición de “Terminado” (Definition of “Done”)

Cuando un elemento de la Lista de Producto o un Incremento se describe como


“Terminado”, todo el mundo debe entender lo que significa “Terminado”.
Aunque esto varía significativamente para cada Equipo Scrum, los miembros del
Equipo deben tener un entendimiento compartido de lo que significa que el trabajo
esté completado, para asegurar la transparencia. Esta es la definición de
“Terminado” para el Equipo Scrum y se utiliza para evaluar cuándo se ha
completado el trabajo sobre el Incremento de producto.
Esta misma definición guía al Equipo de Desarrollo en saber cuántos elementos de
la Lista de Producto puede seleccionar durante una reunión de Planificación de
Sprint.
El propósito de cada Sprint es entregar Incrementos de funcionalidad que
potencialmente se puedan poner en producción, y que se ajustan a la Definición de
“Terminado” actual del Equipo Scrum.

1.20. Ventajas y Desventajas

Ventajas:

• El Scrum Master tiene el conocimiento necesario para lograr el objetivo


primario y secundario por lo cual puede ir controlando el proyecto y delegando
roles.

• Cada persona sabe que es lo que tiene que hacer y no es necesario estar
reorganizando una y otra vez los Tracks de cada persona.

• Se involucra desde un principio y se da un rol a todos los stakeholders


(personas que van a participar en el proyecto incluyendo cliente final, QA,
Testers, etc.).

• Reduce la aparición de riesgos: Al ser dividido e entregables, los errores y los


cambios se hacen en diferentes etapas del proyecto.

• El producto se lanza al mercado con mayor rapidez: Quizás no el producto


completo, pero si las características más importantes.

• Máxima productividad: Roles definidos acorta los tiempos al máximo.

Desventajas:

• Algunos miembros de tu equipo pueden saltar pasos importantes en el camino


rápido para llegar al “sprint” final.

• El cliente siempre va a esperar los informes con la fecha exacta, y muchas


veces los va a pedir antes, cuando capaz no pudiste avanzar en nada.
• Demasiadas Reuniones para poco avance, a veces es muy cansador y
estresante reunirse demasiadas veces por el mismo tema, algunos van perdiendo
el interés en el proyecto.

• Si una persona renuncia o hay algún cambio es complicado remplazar ese rol
ya que es la persona que se lleva el conocimiento específico y afecta a todo el
proyecto.

• No es aplicable a grandes escalas o cuando el sector IT es variado.

• Puntualidad: Como en todas las metodologías de proyectos agiles, el ofrecer


puntualidad es un arma de doble filo.

• Limitado por tamaño: Es recomendado aplicarlo solo en equipos pequeños y


medianos y con proyectos de tamaño moderado.

• El equipo puede sufrir estrés pues siempre estará sprintando.

• El equipo puede estar tentando a tomar el camino más corto para sumar los
puntos del sprint.

1.21. Valores del Trabajo

Scrum se construye sobre cinco pilares:

1. FOCO

Los equipos Scrum se enfocan en un conjunto acotado de


características por vez. Estopermite que al final de cada Sprint se
entregue un producto de alta calidad y adicional mente se reduce el
time-to-Marquet.

2. CORAJE

Debido a que los equipos Scrum trabajan como verdaderos equipos


nos apoyamos entrecompañeros para así asumir compromisos
desafiantes.

3. APERTURA

Nos permite una discusión abierta de los problemas que tenemos al


realizar el proyecto, lainformación está disponible para todos.
4. COMPROMISO

Cada integrante del equipo debe tener un compromiso para lograr el éxito
del grupo.

5. RESPETO

Ya que el grupo trabaja en forma conjunta compartiendo éxitos y


fracasos se fomenta elrespeto mutuo.

1.22. Herramientas de Trabajo

JIRA

Esta herramienta se enfoca en ofrecer un stack completo de Product y Project


Management, desde la gestión de Portfolio y Budgeting hasta integración continua,
pasando por un wiki y un sistema de Help Desk. Lo mejor es la integración de la
suite. Lo peor es el esfuerzo de configurarla y adaptarla.

Trello

Es un gestor de proyectos específicamente diseñado para la implementación de las


metodologías Scrum, Kanban y Scrumban. Trabaja sobre la creación de casos de
usuario y la planificación de trayectos lógicos sobre el mapeo de esos casos.
2) DESARROLLO DE SOFTWARE

SAAS (Software as a Service, SaaS)

Un sistema SaaS o Software as a Service, es un modelo de distribución de software en el que


tanto el software como los datos manejados son centralizados y alojados en un único servidor
externo a la empresa. Esto implica que el software utilizado por la empresa no se encuentra en
la misma, sino que un proveedor se ocupa del hosting de dicho software en la nube, así como
del mantenimiento y el soporte.

Ventajas del uso de sistemas SaaS

La implantación de un sistema SaaS para el software empresarial puede ofrecer muchas


ventajas a la organización.

Reducción de tiempos

Una de las grandes diferencias con el modelo tradicional es que en el sistema SaaS el software
ya se encuentra configurado. Esto supone un importante ahorro de tiempo en la fase de
instalación y configuración del software en cada uno de los ordenadores que lo van a utilizar.

Reducción de costes

Esta centralización del software también supone una reducción en los costes de adquisición.
La ubicación compartida de la aplicación reduce los costes de licencia de hardware y software,
ya que el pago de un alquiler por el servicio es suficiente. Esto hace que muchas PYMES
puedan acceder al uso de software especializado que en el modelo de distribución tradicional
no podrían asumir debido a que supone una carga importante en sus costes de estructura.
Pero no sólo se reducen los costes de adquisición, lo mismo sucede con los gastos de
mantenimiento y soporte. La empresa proveedora del servicio SaaS también se ocupará de
estos servicios, de modo que la empresa contratante no necesita un departamento interno
especializado en ello y se puede despreocupar de este punto.

Escalabilidad e integración

Generalmente las soluciones SaaS operan en un contexto Cloud que se puede escalar e
integrar con otras soluciones de Software as a Service. Si lo comparamos con el modelo
tradicional de distribución de software, el usuario ya no necesita comprar otra aplicación o
servidor. Basta con habilitar otro sistema SaaS y encargarle su alojamiento al mismo
proveedor.

Actualizaciones

Los proveedores de sistemas de Software as a Service se encargan de ir actualizando sus


aplicaciones y ofrecérselas a sus clientes. Los gastos y esfuerzos dedicados a la actualización
del software se reducen considerablemente, ya que no es necesario comprar e instalar la
última versión por cada actualización.
Fácil uso y testeo

Las soluciones SaaS son de fácil uso sobre cualquier sistema operativo que utilice la empresa.
Estas aplicaciones suelen incorporar muestras de fácil uso y un servicio de soporte por parte
de la empresa proveedora. Además, los usuarios pueden testear las distintas funcionalidades
del software antes de realizar la compra definitiva.

Herramientas tecnológicas para el desarrollo (WEB, APP .MOVIL, BD, SO y otros)

WEB

• Framework Laravel 8.0

XAMPP

• Servidor en la Nube : Namecheap

APP, MOVIL

• Android Studio

• Flutter

• Editor Visual Studio Code

• Xcode

BD

• SQL Server y MySQL

SO

• S.O. Windows 10 de 64 Bits


CAPITULO 2 – APLICACIÓN DEL MARCO DE TRABAJO SCRUM

2. PERSONAS Y ROLES DEL PROYECTO


PERSONA CONTACTO ROL CARACTERISTICAS
Loma Saldias Scrum Master Verifica todo el
Alejandro trabajo del product
Owner y lo traza en
limpio y comunica al
equipo cómo se
procederá con cada
sprint. Es el principal
encargado del diseño
de la base de datos y
su implementación.
Maldonado Huailla Product Owner Se encarga de
Alex Sander manufacturar el
proyecto y plasmarlo
en un documento
junto con el scrum
master para tener un
concepto amplio y
entendible a la hora
de ser programado.
Rejas Guerra Jose Development Team Se dedica al
Matias desarrollo en
coordinación con los
miembros del equipo.
Ballivian Ocampo Development Team Se dedica al
Jorge desarrollo en
coordinación con los
miembros del equipo.
Blanco Rocabado Development Team Se dedica al
Felipe desarrollo en
coordinación con los
miembros del equipo.
2.1. MODELOS PARA EL DESARROLLO DE SCRUM

2.1.1. Sprint Planning Meeting (Reunión del Planeamiento del


Sprint)

ID Titulo Puntuación Estimación (Hrs) Prioridad Estado


Entrevista con el Product
HU001 4 1hr media Completo
Owner
Crear un perfil que explique
HU002 2 3hr 30min media Completo
la finalidad del proyecto
Explicar al Product Owner el
HU003 funcionamiento de la 2 30min media Completo
metodología ágil
Explicar al equipo la definición
HU004 5 45min media Completo
del problema
HU005 Asignación de roles 1 1hr alta Completo
Capacitación de los miembros
HU006 2 1hr alta Completo
en las herramientas a usar
Preparación del entono de
HU007 4 2hr media Completo
programación
Presentar un prototipo de una
HU008 disponible solución al 6 2hr alta Completo
problema
Diseñar un modelo de base de
HU009 10 10hr alta Completo
Datos
Encontrar casos de usos
HU010 2 2hr alta Completo
funcionales
HU011 Diseñar el login 6 4hr media Completo
Diseñar pantalla de
HU012 4 2hr alta En proceso
recuperación de cuentas.
Vista de cambio
HU013 4 3hr baja En proceso
de contraseña.
Gestionar validación por
En proceso
correo electrónico de
HU014 4 1hr media
recuperación de cuenta y de
verificación de SingUp.
Gestionar permisos (cliente y
HU015 6 2hr alta Completo
empresario).
Gestión de los datos de las
HU016 cuentas que pasen a la base 8 1hr alta Completo
de datos.
HU017 Token de la cuenta. 2 3hr alta Completo
Restricciones de
HU018 5 1hr 30min media Completo
Administradores por Empresa
HU019 Diseñar versión móvil y web. 10 6hr media Completo
HU020 Cerrar sesión. 2 30min alta Completo
HU021 Diseño Login empresa 2 30min alta Completo
Diseño vista controlador
HU022 8 1hr 30min media Completo
empresa
HU023 Gestionar proveedor 5 3hr alta Completo
HU024 Gestionar empresa 6 3hr alta Completo
HU025 Gestionar periodo 7 2hr alta Completo
HU026 Gestionar sucursal 3 45min baja Completo
Gestionar usuario
HU027 4 1hr 30min media Completo
Gestionar cliente
HU028 2 2hr media Completo
Gestionar persona
HU029 4 3hr media Completo
HU030 Diseño login cliente 2 1hr baja En proceso
Barra de navegación de
HU031 2 1hr 30min media En proceso
cliente
HU032 Gestionar vista de menús 8 3hr media En proceso
Elaborar un buscador de
HU033 8 5hr media En proceso
funciones
HU034 Vista de Bienvenida 4 3hr baja En proceso
Búsqueda por categorías
HU035 4 2hr 30 min alta En proceso
Implementar el diseño
HU036 10 6hr alta En proceso
responsivo
Implementar elaboracion de
HU037 6 3hr alta En proceso
libros diarios
Gestionar Impuesto
HU038 4 2hr media En proceso
HU039 Verificacion de impuesto 1 2hr alta En proceso
Gestionar asiento
HU040 2 2hr 30min alta En proceso

HU041 Gestionar factura 6 4hr alta En proceso


Gestionar grafico de datos
HU042 8 5hr alta Faltante
empresariales
HU043 Gestionar modos de 2 2hr alta Faltante
presentación
HU044 Gestionar Traspaso 2 1hr alta Faltante
Obtener bitacora de cambios
HU045 6 2hr media Faltante
por asientos
Verificar introducción de
HU046 6 3hr media Faltante
datos
Elaborar un modelo gráfico
HU047 8 5hr 30 min baja Faltante
final para el front end
HU048 Testear la aplicación 2 1hr media Faltante
HU049 Testear el sistema en la nube 8 10hr media Faltante

2.1.2. Sprint Planning Meeting (Reunión del Planeamiento del Sprint)

22-Junio
23-Junio

24-Junio

25-Junio

26-Junio

27-Junio

28-Junio
SPRINT 1
Pila del Sprint
Codig tarea Prioridad Responsable ESFUERZO
o
Scrum
Entrevista con el
HU00 media master y
product owner
1 product
owner
Crear un perfil que Scrum
HU00 explique la finalidad media master y
2 del proyecto product
owner
Explicar al product
owner el Todo el
HU00 funcionamiento de media
equipo
3 la metodologia agil
Explicar al equipo la Todo el
HU00 media
definicion del equipo
4
problema
HU00 Asignacion de roles alta Todo el
5 equipo
Capacitacion de Todo el
HU00 los miembros en alta equipo
6 las
herramientas a usar
Preparación del Todo el
HU00 media
entono de equipo
7
programación
Presentar un prototipo
Equipo
HU00 de una disponible alta de
8 solución al problema
desarrollo
Diseñar un modelo Equipo
HU00 alta
de base de Datos de
9
desarrollo
Equipo de
Encontrar casos de
HU01 alta desarrollo
usos funcionales
0

2.1.3. Reunión diaria (Daily Scrum)

Desarrollador Pregunta lunes martes miércoles jueves viernes

¿Qué hice ayer Inicie con


para lograr el Hablar con el diseños
objetivo del product prototipo de
sprint? owner sobre la base de
el proyecto datos
Alejandro
Loma Hablar con
Saldias ¿Qué hare hoy el equipo
para mejorar el sobre lo
equipo? discutido con
el product
owner
¿Tengo algun
impedimento? No No No No No
2.1.4. Sprint Review

ID Tarea Terminado Incompleto Detalles del problema


Entrevista con el product
SP0-1 Finalizado NO Ninguno
owner
Crear un perfil que exploque la
SP0-2 Finalizado NO Ninguno
finalidad del proyecto
Explicar al product owner el
SP0-3 funcionamiento de la Finalizado NO Ninguno
metodologia agil
Explicar al equipo la definicion
SP0-4 Finalizado NO Ninguno
del problema
SP0-5 Asignacion de roles Finalizado NO Ninguno
Capacitacion de los miembros
SP0-6 Finalizado NO Ninguno
en las herramientas a usar
Preparacion del entono de
SP0-7 Finalizado NO Ninguno
programacion
Presentar un prototipo de una
El prototipo ira
SP0-8 disponible solucion al Finalizado NO
cambiando con el tiempo
problema
Diseñar un modelo de base de
SP0-9 Finalizado NO Ninguno
Datos
Encontrar casos de usos
SP0-10 Finalizado NO Ninguno
funcionales

2.1.5. Sprint Retrospective

Nombre Rol ¿Qué hicimos bien?


Iniciar el trabajo a su debido momento nos dejo
Alejandro Scrum Master mas tranquilidad para hacer un excelente
Loma trabajo
Alex Sander Creo que los roles puestos al equipo fueron los
Product Owner
Maldonado más acertados
Nombre Rol ¿Qué debemos dejar de hacer?
Confiarnos en el tiempo que tenemos y
Alejandro Scrum Master comenzar a trabajar lo más rapido posible para
Loma alcanzar los plazos
Alex Sander
Product Owner Procuparse por temas que no vienen al caso
Maldonado
Nombre Rol ¿Qué podemos mejorar?
El trabajo en equipo aun le falta para
Alejandro Scrum Master
consolidarse aunque va por buen camino
Loma
Alex Sander El proyecto encesita unas pulidas sobre todo en
Product Owner
Maldonado el aspecto visual

2.1.6. Planificación del Scrum

ID Titulo Puntuación Estado


Entrevista con el Product
HU001 4 Completo
Owner
Crear un perfil que explique
HU002 2 Completo
la finalidad del proyecto
Explicar al Product Owner el
HU003 funcionamiento de la 2 Completo
metodología ágil
Explicar al equipo la definición
HU004 5 Completo
del problema
HU005 Asignación de roles 1 Completo
Capacitación de los miembros
HU006 2 Completo
en las herramientas a usar
Preparación del entono de
HU007 4 Completo
programación
Presentar un prototipo de una
HU008 disponible solución al 6 Completo
problema
Diseñar un modelo de base de
HU009 10 Completo
Datos
Encontrar casos de usos
HU010 2 Completo
funcionales
HU011 Diseñar el login 6 Completo
Diseñar pantalla de
HU012 4 En proceso
recuperación de cuentas.
Vista de cambio
HU013 4 En proceso
de contraseña.
Gestionar validación por
En proceso
correo electrónico de
HU014 4
recuperación de cuenta y de
verificación de SingUp.
Gestionar permisos (cliente y
HU015 6 Completo
empresario).
Gestión de los datos de las
HU016 cuentas que pasen a la base 8 Completo
de datos.
HU017 Token de la cuenta. 2 Completo
Restricciones de
HU018 5 Completo
Administradores por Empresa
HU019 Diseñar versión móvil y web. 10 Completo
HU020 Cerrar sesión. 2 Completo
HU021 Diseño Login empresa 2 Completo
Diseño vista controlador
HU022 8 Completo
empresa
HU023 Gestionar proveedor 5 Completo
HU024 Gestionar empresa 6 Completo
HU025 Gestionar periodo 7 Completo
HU026 Gestionar sucursal 3 Completo
Gestionar usuario
HU027 4 Completo
Gestionar cliente
HU028 2 Completo
Gestionar persona
HU029 4 Completo
HU030 Diseño login cliente 2 En proceso
Barra de navegación de
HU031 2 En proceso
cliente
HU032 Gestionar vista de menús 8 En proceso
Elaborar un buscador de
HU033 8 En proceso
funciones
HU034 Vista de Bienvenida 4 En proceso
Búsqueda por categorías
HU035 4 En proceso
Implementar el diseño
HU036 10 En proceso
responsivo
Implementar elaboracion de
HU037 6 En proceso
libros diarios
Gestionar Impuesto
HU038 4 En proceso
HU039 Verificacion de impuesto 1 En proceso
Gestionar asiento
HU040 2 En proceso

HU041 Gestionar factura 6 En proceso


Gestionar grafico de datos
HU042 8 Faltante
empresariales
HU043 Gestionar modos de 2 Faltante
presentación
HU044 Gestionar Traspaso 2 Faltante
Obtener bitacora de cambios
HU045 6 Faltante
por asientos
Verificar introducción de
HU046 6 Faltante
datos
Elaborar un modelo gráfico
HU047 8 Faltante
final para el front end
HU048 Testear la aplicación 2 Faltante
HU049 Testear el sistema en la nube 8 Faltante

2.1.7. Lista de Casos de uso

Listar Casos de Uso (Web)

CU1: Gestionar Periodo

CU2: Gestionar Sucursal

CU3: Gestionar Usuario

CU4: Gestionar Empresa*

CU5: Gestionar Moneda

CU6: Gestionar Persona

CU7: Gestionar Proveedor*

CU8: Gestionar Cliente

CU9: Gestionar Cuenta

CU10: Gestionar Impuesto

CU11: Gestionar Traspaso

CU12: Gestionar Asiento

CU13: Generar Reporte

CU14: Generar Balance de Apertura

CU15: Generar Libro Diario


CU16: Visualizar Comprobante

CU17: Visualizar Libro de Compra

CU18: Visualizar Libro de Venta

CU19: Visualizar Libro Mayor

CU20: Visualizar Estado de Resultados

CU21: Visualizar Balance de 8 Columnas

CU22: Visualizar Balance general

CU23: Obtener bitácora de movimientos

CU24: Generar bitácora

Ambos (Web y Movil)

CU16: Visualizar Comprobante

CU17: Visualizar Libro de Compra

CU18: Visualizar Libro de Venta

CU19: Visualizar Libro Mayor

CU20: Visualizar Estado de Resultados

CU21: Visualizar Balance de 8 Columnas

CU22: Visualizar Balance general


2.1.8. Paquetes y casos de uso

ROLES
Usuario: Son todos aquellos que tienen una cuenta con la cual pueden
acceder a la aplicación web y móvil y realizar diferentes acciones.

PAQUETES
2.1.9. Artefactos de Scrum

Tablero Scrum
Incremento
ID Tarea
SP0-1 Entrevista con el product owner
SP0-2 Crear un perfil que exploque la finalidad del proyecto
Explicar al product owner el funcionamiento de la metodologia
SP0-3
agil
SP0-4 Explicar al equipo la definicion del problema
SP0-5 Asignacion de roles
SP0-6 Capacitacion de los miembros en las herramientas a usar
SP0-7 Preparacion del entono de programacion
SP0-8 Prsentar un prototipo de una disponible solucion al
problema
SP0-9 Diseñar un modelo de base de Datos
SP0-10 Encontrar casos de usos funcionales

2.1.10. Burn Down y Burn Up


Codigo Tarea Puntuacion Estimacion
Entrevista con el product
HU001 4 1hr
owner
Crear un perfil que exploque la
HU002 2 3hr 30min
finalidad del proyecto
Explicar al product owner el
HU003 funcionamiento de la 2 30min
metodologia agil
Explicar al equipo la definicion
HU004 5 45min
del problema
HU005 Asignacion de roles 1 1hr
Capacitacion de los miembros
HU006 2 1hr
en las herramientas a usar
Preparacion del entono de
HU007 4 2hr
programacion
Presentar un prototipo de una
HU008 disponible solucion al 6 2hr
problema
Diseñar un modelo de base de
HU009 10 10hr
Datos
Encontrar casos de usos
HU010 2 2hr
funcionales
36
2.1.11. Burn Up

Avance
Dia Fecha Estimacio real Progrecio
n n
Inicio 36 36
lunes 3-ago 31 4 32
martes 4-ago 26 6 26
miércoles 5-ago 21 3 23
jueves 6-ago 15 8 15
viernes 7-ago 10 2 13
sábado 8-ago 5 6 7
domingo 9-ago 0 7 0

2.1.12. Burn Down

Dia Fecha Acumulad


o
lunes 3-ago 4
martes 4-ago 10
miércoles 5-ago 13
jueves 6-ago 21
viernes 7-ago 23
sábado 8-ago 29
domingo 9-ago 36
2.1.13. Prototipos
CAPITULO 3 – REQUERIMIENTOS

3. Propósito

Podemos estar seguros que el propósito de este software es el de ayudar a que las
tareas en cuanto a contabilidad sean más fáciles de realizar, controlar por medio de
reportes y almacenar de manera flexible además de poderse consultar desde
cualquier lugar.

3.1. Ámbito de sistema

Para determinar el ámbito inicial del proyecto, fue necesario plantear el problema y
determinar el alcance del proyecto, esto fue posible mediante entrevistas realizadas a
los involucrados y observando cómo estos ejecutaban cada proceso.

Con estos datos ya establecidos, se procedió a realizar el diseño de la solución a


construir, definiendo la arquitectura que tomara en consideración todos los
requerimientos trazados. Una vez diseñada la arquitectura nos enfocamos en codificar
durante la fase de implementación

3.2. Equipo SCRUM

PERSONA ROL
Loma Saldias Alejandro Scrum Master

Maldonado Huailla Alex Sander Product Owner

Rejas Guerra Jose Matias Development Team

Ballivian Ocampo Jorge Development Team

Blanco Rocabado Felipe Development Team

El equipo de desarrollo se encargará de crear un incremento


terminado a partir de los elementos del Product Backlog
seleccionados (Sprint Backlog) durante el Sprint Planning.
3.3. Requisitos Específicos
3.3.1. Product Backlog

ID Titulo Puntuación Estado


Entrevista con el Product
SP1-1 4 Completo
Owner
Crear un perfil que explique
SP1-2 2 Completo
la finalidad del proyecto
Explicar al Product Owner el
SP1-3 funcionamiento de la 2 Completo
metodología ágil
Explicar al equipo la definición
SP1-4 5 Completo
del problema
SP1-5 Asignación de roles 1 Completo
Capacitación de los miembros
SP1-6 2 Completo
en las herramientas a usar
Preparación del entono de
SP1-7 4 Completo
programación
Presentar un prototipo de una
SP1-8 disponible solución al 6 Completo
problema
Diseñar un modelo de base de
SP1-9 10 Completo
Datos
Encontrar casos de usos
SP1-10 2 Completo
funcionales
SP1-11 Diseñar el login 6 Completo
Diseñar pantalla de
SP1-12 4 En proceso
recuperación de cuentas.
Vista de cambio
SP1-13 4 En proceso
de contraseña.
Gestionar validación por
En proceso
correo electrónico de
SP2-14 4
recuperación de cuenta y de
verificación de SingUp.
Gestionar permisos (cliente y
SP2-15 6 Completo
empresario).
Gestión de los datos de las
SP2-16 cuentas que pasen a la base 8 Completo
de datos.
SP2-17 Token de la cuenta. 2 Completo
Restricciones de
SP2-18 5 Completo
Administradores por Empresa
SP2-19 Diseñar versión móvil y web. 10 Completo
SP2-20 Cerrar sesión. 2 Completo
SP2-21 Diseño Login empresa 2 Completo
Diseño vista controlador
SP2-22 8 Completo
empresa
SP2-23 Gestionar proveedor 5 Completo
SP2-24 Gestionar empresa 6 Completo
SP2-25 Gestionar periodo 7 Completo
SP2-26 Gestionar sucursal 3 Completo
Gestionar usuario
SP2-27 4 Completo
Gestionar cliente
SP2-28 2 Completo
Gestionar persona
SP2-29 4 Completo
SP2-30 Diseño login cliente 2 En proceso
Barra de navegación de
SP3-31 2 En proceso
cliente
SP3-32 Gestionar vista de menús 8 En proceso
Elaborar un buscador de
SP3-33 8 En proceso
funciones
SP3-34 Vista de Bienvenida 4 En proceso
Búsqueda por categorías
SP3-35 4 En proceso
Implementar el diseño
SP3-36 10 En proceso
responsivo
Implementar elaboracion de
SP4-37 6 En proceso
libros diarios
Gestionar Impuesto
SP4-38 4 En proceso
SP4-39 Verificacion de impuesto 1 En proceso
Gestionar asiento
SP4-40 2 En proceso

SP4-41 Gestionar factura 6 En proceso


Gestionar grafico de datos
SP4-42 8 Faltante
empresariales
SP4-43 Gestionar modos de 2 Faltante
presentación
SP4-44 Gestionar Traspaso 2 Faltante
Obtener bitacora de cambios
SP4-45 6 Faltante
por asientos
Verificar introducción de
SP4-46 6 Faltante
datos
Elaborar un modelo gráfico
SP4-47 8 Faltante
final para el front end
SP4-48 Testear la aplicación 2 Faltante
SP4-49 Testear el sistema en la nube 8 Faltante

Restricciones

Nuestro proyecto no solo debe cumplir el objetivo para el que fue


creado, sino que debe respetar un conjunto de limitaciones llamadas
restricciones, las restricciones indican por ejemplo cual es la duración
esperada del proyecto, cuanto debe costar el proyecto, el nivel de
calidad esperado, etc.
Planificación Sprint (Diagrama de Gant)
CAPITULO 4 MODELO

4.1. Diseño del software utilizando Modelo C4 como lenguaje


de modelado

4.1.1. Nivel 1 Contexto

A este nivel queremos definir de manera clara quienes son los actores que
interactúan con nuestro sistema, qué sistemas tenemos, y una primera
idea de cómo se relacionan entre ellos.

A este nivel podemos tener una conversación con un potencial usuario


del sistema, o con nuestros compañeros de negocio, ya que los casos de
uso generales se definen aquí.

Es también una oportunidad para destacar qué queda fuera del


sistema, y hasta qué punto se pueden modificar esos sistemas.
Podemos utilizar esquemas de colores para destacar qué sistemas
podemos y cuales no podemos modificar.
4.1.2. Nivel 2: Contenedores

En este caso hacemos zoom en cada uno de los sistemas, y lo


separamos en contenedores que tienen una función lógica.

A este nivel podemos tener conversaciones a nivel técnico con


diferentes equipos involucrados en el proyecto, el nivel de
abstracción es menor, y podemos tomar decisiones como
cuantos subsistemas construimos y cómo se reparte el trabajo
de los mismos.
4.1.3. Nivel 3: Componentes

Este nivel es el más profundo, aquí podemos establecer una separación


más clara, en el caso de la UI podemos separar las diferentes páginas que
existirán, y en el caso de la API backend los diferentes componentes que
podemos emplear, en el que cada componente puede ser una librería,
un paquete, un proyecto o una unidad semántica de código.
En este nivel podemos tomar decisiones de arquitectura directamente a
nivel de equipo, entender las diferentes relaciones entre los diferentes
componentes y modularizar más, si fuese necesario.

4.1.4. Nivel 4: Clases

class Class Model

Login

LoginRequest
Session Controller
recibe
+ correo: string
+ Login
+ password: string
+ LogOut: boolean
recibe

use Web Common

LogOut
+ USerID: int
import

import

DataBase

import

Session Service
+ Login(LoginRequest): void

+ LogOut(LogOut): void
Diseño de Datos
Diagrama de clase
Script

database CONTABILIDAD;

use CONTABILIDAD;

create table LibroCompra(

IdLC integer not null primary key,

Fecha date not null,

TipoPago varchar(30) not null,

Monto money not null ,

ConceptoNG varchar(30) ,

ImporteIVA money not null,

CF integer not null

);

create table FacturaC(

IdFacturaC integer not null primary key ,

Nro integer not null,

FechaE date not null,

FechaLE date not null,

Monto money not null,

IdLC integer not null,

foreign key (IdLC) references LibroCompra(IdLC)

);

create table Proveedor(

IdProv integer not null primary key,

NIT Integer,

Descripcion varchar(20) not null,

Direccion varchar(30) not null,

Telefono integer not null


);

create table LibroCompraProveedor(

IdProv integer not null,

IdLC integer not null,

primary key(IdProv,IdLC),

foreign key (IdProv) references Proveedor(IdProv),

foreign key (IdLC) references LibroCompra(IdLC)

);

create table LibroVenta(

IdLV integer not null primary key,

Fecha date not null,

TipoPago varchar(30) not null,

Monto money not null ,

ConceptoNG varchar(30) ,

ImporteIVA money not null,

IT money not null

);

create table FacturaV(

IdFacturaV integer not null primary key ,

FechaE date not null,

Monto money not null,

Cantidad integer not null ,

IdLV integer not null,

foreign key (IdLV) references LibroVenta(IdLV)

);

create table Cliente(

IdCliente integer not null primary key,

CI integer not null,


NIT Integer not null,

Nombre varchar(20) not null,

Direccion varchar(30) not null,

Telefono integer not null

);

create table LibroVentaCliente(

IdCliente integer not null,

IdLV integer not null,

primary key(IdCliente,IdLV),

foreign key (IdCliente) references Cliente(IdCliente),

foreign key (IdLV) references LibroVenta(IdLV)

);

create table TipoCambio(

Id integer not null primary key,

Monto money not null,

Fecha date not null

);

create table Moneda(

Id integer not null primary key,

Descripcion varchar (26) not null,

Abrev varchar(10) not null,

IdTC integer not null,

foreign key (IdTC) references TipoCambio(Id));

create table Asiento(

Nro integer not null primary key,

Fecha date not null,

Debe money not null,

Haber money not null,

Glosa varchar(40) not null


);

create table Banco(

Id integer not null primary key,

Descripcion varchar(100) not null

);

create table Cheque(

Nro integer not null primary key,

Fecha date not null,

MontoNN money not null,

MontoME money not null,

Estado varchar(20) not null,

IdBanco integer not null,

NroAsiento integer not null,

foreign key (IdBanco) references Banco(Id),

foreign key (NroAsiento) references Asiento(Nro)

);

create table Impuesto(

Id integer not null primary key,

Nombre varchar(100) not null,

Abrev varchar(100) not null,

NroAsiento integer not null,

foreign key (NroAsiento) references Asiento(Nro)

);

create table Area(

IdArea integer not null primary key,

Nombre varchar(100) not null,

Encargado varchar(100) not null,

Telefono varchar(10) not null,


NroAsiento integer not null,

foreign key (NroAsiento) references Asiento(Nro)

);

create table Gestion(

Id integer primary key,

Nombre varchar(30) not null,

FechaIni date not null,

FechaFin date not null

);

create table Periodo(

Id integer not null,

Nombre integer not null,

FechaIni date not null,

FechaFin date not null,

Estado varchar(30) not null,

IdGestion integer not null,

primary key(Id,IdGestion),

foreign key (IdGestion) references Gestion(Id)

);

create table Cuenta (

Nro integer primary key,

Nombre text not null,

NroCuenta integer not null,

IdGestion integer not null,

foreign key (IdGestion) references Gestion(Id),

foreign Key (NroCuenta) references Cuenta(Nro)

);

create table AsientoCuenta(

NroAsiento integer not null,


NroCuenta integer not null,

NroFolio integer not null,

primary key(NroAsiento,NroCuenta),

foreign key (NroAsiento) references Asiento(Nro),

foreign key (NroCuenta) references Cuenta(Nro));

create table Comprobante(

IdComprobante integer not null primary key,

Tipo varchar(30) not null,

Fecha date not null,

MontoMN money not null,

MontoME money not null,

FormaPago varchar(40) not null,

Glosa text not null,

IdLC integer not null,

NroA integer not null,

IdM integer not null,

IdLV integer not null,

foreign key(IdLC)references LibroCompra(IdLC),

foreign key(NroA)references Asiento(Nro),

foreign key(IdM)references Moneda(Id),

foreign key(IdLV)references libroVenta(IdLV)

);

create table Empresa(

Id integer not null primary key,

NIT integer not null,

Nombre varchar(30) not null,

Direccion varchar(40) not null,

Telefono varchar(10) not null,

Gerente varchar(50) not null,


TipoRubro varchar(50) not null

);

create table GestionEmpresa(

IdGestion integer not null,

IdEmpresa integer not null,

primary key (IdGestion,IdEmpresa),

foreign key (IdGestion) references Gestion(Id),

foreign key (IdEmpresa) references Empresa(Id)

);

create table Sucursal(

Id integer not null primary key,

Nro integer not null,

Nombre varchar(100) not null,

Direccion varchar(100) not null,

Encargado varchar(50) not null,

IdEmpresa integer not null,

foreign key (IdEmpresa) references Empresa(Id)

);

create table Persona(

Id integer not null primary key,

CI varchar(10) not null,

Nombre varchar(100) not null,

Direccion varchar(150) not null,

Telefono varchar(10)

);

create table GrupoUsuario(

IdGrupoUsuario integer not null primary key,

Descripcion varchar(30)not null

);
create table Usuario(

Login varchar(100) not null,

Password varchar(20)not null,

Correo varchar(50) not null,

IdPersona integer not null primary key ,

IdGrupoUsuario integer not null,

IdEmpresa integer not null,

foreign key (IdPersona) references Persona(Id),

foreign key (IdGrupoUsuario) references GrupoUsuario(IdGrupoUsuario),

foreign key (IdEmpresa) references Empresa(Id)

);

create table Privilegio(

IdPrivilegio integer not null primary key,

Codigo varchar(10) not null,

Descripcion varchar(30)not null

);

create table GrupoPrivilegio(

IdGrupoUsuario integer not null,

IdPrivilegio integer not null,

Estado varchar(30)not null,

primary key(IdGrupoUsuario,IdPrivilegio),

foreign key (IdGrupoUsuario) references GrupoUsuario(IdGrupoUsuario),

foreign key (IdPrivilegio) references Privilegio(IdPrivilegio)

);

create table Bitacora(

IdBitacora integer not null primary key,

Fecha date not null,

HoraIni date not null,

HoraFin date not null,


Descripcion varchar(100) not null);

4. ANEXOS

4.1. PLAN DE CUENTAS

PLAN DE CUENTAS

CODIGO CUENTA
1.0.00.00.0.000 ACTIVO
1.0.00.00.0.000 ACTIVO CORRIENTE
1.0.00.00.0.000 DISPONIBLE
1.1.01.01.0.000 CAJA
1.1.01.01.1.001 CAJA M/N
1.1.01.01.1.002 CAJA CHICA
1.1.01.01.2.001 CAJA M/E
1.1.01.02.0.000 BANCOS
1.1.01.02.1.004 BCO. MERCANTIL M/N
1.1.01.02.2.003 BCO UNION S.A. M/N
1.1.01.02.2.005 BCO. NACIONAL DE BOLIVIA M/N
1.1.01.02.2.006 BCO. GANADERO M/E
1.1.02.00.0.000 EXIGIBLE
1.1.02.01.0.000 DOCUMENTOS POR COBRAR
1.1.02.01.1.001 LETRA DE CAMBIO POR COBRAR
1.1.02.02.0.000 CLIENTES POR COBRAR
1.1.02.02.1.001 CLIENTES POR COBRAR
1.1.02.02.1.002 CTAS POR COBRAR GESTIONES ANTERIORES
1.1.02.02.1.004 PREVISION CTAS INCOBRABLES
1.1.03.00.0.000 REALIZABLE
1.1.04.00.0.000 TRANSITORIO
1.1.04.01.0.000 ANTICIPO AL PERSONAL
1.1.04.02.0.000 PRESTAMO AL PERSONAL
1.1.04.03.0.000 CUENTAS A RENDIR
1.1.04.04.0.000 ANTICIPOS A TERCERO
1.1.05.00.0.000 DIFERIDOS
OTRAS CUENTAS PAGADAS POR
1.1.05.01.0.000 ADELANTADO
1.1.05.01.1.005 ANTICIPOS
1.1.05.02.0.000 ALQUIER PAGADO POR ADELANTADO
1.2.00.00.0.000 ACTIVO NO CORRIENTE
1.2.01.00.0.000 ACTIVO FIJO
1.2.01.01.0.000 TERRENOS
1.2.01.02.0.000 EDIFICIOS
1.2.01.02.1.002 DEPRECIACION ACUMULADA DE EDIFICIOS
1.2.01.03.1.001 VEHICULOS
1.2.01.03.1.002 DEPRE. ACUM. DE VEHICULOS
1.2.01.10.1.001 MUEBLES Y ENSERES
1.2.01.10.1.002 DEPRECIACION ACUM. DE MUE Y ENSE
1.2.01.14.1.001 EQUIPO DE COMPUTACION
1.2.01.14.1.002 DEPREC. ACUM EQUIPO DE COMPUT.

1.2.01.20.1.001 MAQUINARIA
1.2.01.20.1.002 DEPRE. ACUM. DE MAQUINARIA
1.2.01.22.1.001 EQUIPO
1.2.01.22.1.002 DEPRE. ACUM. DE EQUIPO
1.2.01.25.1.001 HERRAMIENTA
1.2.01.25.1.002 DEPRE. ACUM. DE HERRAMIENTA
2.0.00.00.0.000 PASIVO Y PATRIMONIO
2.0.00.00.0.000 PASIVO
2.1.01.00.0.000 PASIVO CORRIENTE
2.1.01.01.0.000 DOCUMENTOS POR PAGAR
2.1.01.05.0.000 ANTICIPOS A CLIENTES
2.1.01.05.1.004 PAGOS ANTICIPADOS M/N
2.1.01.05.2.004 PAGOS ANTICIPADOS M/E
2.1.01.06.0.000 IMPUESTOS POR PAGAR
2.1.01.06.1.001 I.T. POR PAGAR
2.1.01.06.1.002 I.V.A. POR PAGAR
2.1.01.07.1.003 AFP FUTURO POR PAGAR
2.1.01.07.1.001 CAJA NAL. DE SALUD X PAGAR
2.1.01.08.0.000 SUELDOS POR PAGAR
2.1.01.10.1.001 ALQUILERES POR PAGAR
2.1.01.11.0.000 CUENTAS POR PAGAR
2.1.01.11.1.002 RETENCION IT POR PAGAR
2.1.02.00.0.000 PASIVO NO CORRIENTE
2.1.02.01.0.000 PROVISION PARA SERVICIOS BASICO
2.1.02.02.0.000 PROVISION P/AGUINALDO NAVIDEÑO
2.1.02.03.0.000 PREVISION PARA BENEFICIOS SOCIALES
2.1.02.04.0.000 PRESTAMOS BANCARIO POR PAGAR
3.0.00.00.0.000 PATRIMONIO
3.1.00.00.0.000 PATRIMONIO
3.1.01.01.1.001 CAPITAL SOCIAL
3.1.01.02.1.003 RESERVA LEGAL
3.1.01.03.1.001 AJUSTE GLOBAL DEL PATRIMONIO
3.1.01.02.1.002 RESULTADOS ACUMULADOS
3.1.01.02.1.001 RESULTADO DE LA GESTION
4.0.00.00.0.000 INGRESOS
4.1.00.00.0.000 INGRESOS OPERATIVOS
4.1.01.00.0.000 INGRESOS POR SERVICIOS
4.1.01.01.0.000 INGRESOS POR SERVICIOS
4.1.01.01.1.001 COMISIONES
4.2.00.00.0.000 INGRESOS NO OPERATIVOS
4.2.01.00.0.000 INGRESOS FINANCIEROS
4.2.01.01.0.000 INGRESOS BANCARIOS
4.2.01.01.1.001 INTERESES GANADOS
4.2.01.02.0.000 INGRESOS PARTICULARES
4.2.01.02.1.001 INGRESOS EXTRAORDINARIO
4.2.02.00.0.000 OTROS INGRESOS
4.2.02.01.0.000 INGRESOS VARIOS

5.0.00.00.0.000 EGRESOS
5.1.00.00.0.000 GASTO OPERATIVOS
5.1.01.00.0.000 GASTO ADMINISTRATIVOS
5.1.01.01.0.000 GASTOS DEL PORSONAL
5.1.01.01.1.001 SUELDOS Y SALARIOS
5.1.01.01.1.002 INDEMNIZACIONES
5.1.01.01.1.003 AGUINALDOS
5.1.01.01.1.004 VACACIONES
5.1.01.01.1.006 DESAHUCIO
5.1.01.02.0.000 SERVICIOS BASICOS
5.1.01.03.1.003 MATERIAL DE ESCRITORIO
5.1.01.03.1.004 MATERIAL DE LIMPIEZA
5.1.01.03.1.005 FERRETERIA Y OTROS
5.1.01.03.1.011 ALQUILER DE OFICINA
5.1.01.03.1.024 GASTOS VARIOS
5.1.01.05.0.000 MANTENIMIENTO Y REPARACION
5.1.01.05.1.002 MANTENIMIENTO DE MUEBLES Y ENSERES
5.1.01.05.1.005 MANTENIMIENTO EQUIPO DE OFICINA
5.1.01.05.1.004 MANTENIMIENTO DE COMPUTACION
5.1.02.00.0.000 COSTO DE SERVICIOS
5.1.02.01.1.001 PUBLICIDAD Y AVISO
5.1.02.02.1.001 SERVICIOS DE INTERNET
5.1.02.02.1.003 PASAJES Y VIATICOS
5.1.03.00.0.000 GASTOS FINANCIEROS
5.1.03.01.0.000 INTERES PAGADOS
5.1.03.01.1.001 INTERESES BANCARIOS
5.1.03.02.1.004 GASTOS BANCARIOS

a) Antecedentes

Algunos de estos sistemas de información contables utilizados como


caso de estudios se describen a continuación:
Caso de Estudio #1

Gespymes

Características de la Aplicación

 ERP

Gespymes es ideal como sistema de


planificación de todos los recursos
empresariales existentes. ERP quiere
decir exactamente eso.

 CRM

Estas siglas quieren decir en


inglés `Customer Relationship
Management´ y Gespymes permite gestionar esas relaciones con el cliente en todo
lo referido a facturación, aspectos contables y otras aplicaciones. Pero no solamente
con el cliente, sino toda la parcela comercial, también con distribuidores o
proveedores.

Así pues, si lo que necesitas es un sistema de gestión contable online que te ayude
a administrar tu empresa y que sea robusto, completo, fiable y fácil de usar en
GESPYMES llevamos casi diez años proporcionando este tipo de servicio y
diseñando programas personalizados que se adapten a las necesidades y
peculiaridades de todos nuestros clientes. Más ahorro de tiempo y más ahorro de
recursos.

Gespymes nos permite acceder a los siguientes procesos:

 Clientes y Proveedores

Es fundamental disponer de un acceso rápido y ágil a la información de nuestros


clientes y proveedores. Con respecto a los clientes, con Gespymes podremos saber
cuál fue la última vez que les llamamos y/o visitamos, conocer el historial de sus
facturas, comprobar lo que nos deben, ver los presupuestos que les hemos hecho,
etc.

 Listados de Facturas / Certificaciones por cliente.


 Listados de Compras y Gastos por proveedor.
 Facturas rectificadas.
 Compras y Gastos Rectificativos.
 Presupuestos del cliente.
 Pedidos a proveedores.
 Histórico de eventos (visitas y/o llamadas) con el cliente y el proveedor.
 Personas de contacto del cliente y del proveedor.
 Facturación detallada del cliente y del proveedor por meses, trimestres y
años.
 Listados de Facturas / Certificaciones pendientes de cobro o pago.

 Programa de Facturación

 Gestión de Clientes

 Gestión de Proveedores

 Administración (Facturas, Presupuestos, Pedidos, Albaranes de compra y


venta)

 Gestión de Stocks, almacén, inventario

 Albaranes de compra y venta


 Previsión de Pagos y Cobros

 Software de Contabilidad

La Contabilidad es, junto con la Facturación, un de las partes más delicadas de


un software contable debido a la tipología y a la cantidad de información que debe
manejar. En consecuencia, para dar a nuestros clientes una herramienta potente,
capaz y que ayude a ahorrar tiempo y esfuerzos, hemos desarrollado Gespymes
un software de contabilidad online que enlaza ambas secciones: contabilidad y
facturación.

 Generación Automática de Asientos Contables

 Generación de Amortizaciones directamente desde la Compra

 Listados de Diario y Mayor

 Generación de Balances y Cuentas de Resultados

 Conciliación Bancaria

 Posibilidad de Gestionar diferentes Proyectos Contables

 Cierre de Trimestres y Anual automático

 Generación Automática del Asiento de Amortizaciones

 Generación Automática del Asiento de Regularización de Gastos e


Ingresos

 Generación Automática del Asiento de Cierre Anual

 Generación Automática del Asiento de Apertura Anual

 Stock y Almacén

La forma de trabajar que permite nuestro software es muy dinámica. Así, al dar de
alta el Pedido a un Proveedor tendremos automáticamente todo ese material en un
listado de Material Pendiente de Recibir. Además, con un solo clic generaremos el
Albarán de Compra, pasando todo ese material a nuestro STOCK de forma
totalmente instantánea.

Por supuesto, en todo momento tendremos un control absoluto del día en que llega
el material, el histórico de las compras, los precios de las mismas, los diferentes
Proveedores, etc.

 Familias de productos.

 Listado de productos.

 Material pendiente de recibir.

 Stock.
 Regularización de stocks.

 Histórico de compras a proveedores.

 Escandallos.

 Gestión de Empleados

Disponer de una base de datos de empleados de la organización es muy importante;


hay veces que necesitamos conocer la dirección, el número de teléfono o incluso la
cuenta bancaria de un empleado. No obstante, desde Gespymes vamos un poco
más allá: así, para cada trabajador vamos a poder conocer todo su histórico en
cuanto a salarios (ordinario, extraordinario, o nocturno), cuáles y cuándo han sido
las subidas de sueldo, sus dietas y transportes, sus anticipos, sus bajas por
incapacidad laboral, el histórico de la Seguridad Social de la empresa y del
trabajador, el nº de horas en partes de trabajo por meses, etc.

 Listado de Empleados (Activos / Antiguos).

 Histórico de Salarios del Empleado.

 Control de Dietas.

 Control del Descuento Laboral.

 Control de Anticipos.

 Nº Horas Partes de Trabajo.

 Control de Accesos Restringidos a la Aplicación por parte del Trabajador.

 Histórico de la Seguridad Social de la Empresa y el Trabajador.


Caso de Estudio #2

Gemgloo tiene la particularidad de que se adapta a cualquier tipo de empresa, te


explico: nosotros tenemos dos modalidades de contratación y cada una tiene sus
planes y características:

1. Modalidad de suscripción: Esta modalidad es para pequeñas


empresas y autónomos que por medio a un acceso al software desde la
misma web www.gemgloo.com el cliente podrá acceder con su usuario en
cualquier momento y cualquier lugar. Esta modalidad tiene diferentes
planes: Está el plan Gratis, Plan Básico, Plan Plus y el Plan Pro. Cada uno
con diferentes características y el cliente puede elegir el que mejor se
adapte a su negocio.
2. Modalidad de Licencia: Esta modalidad es para medianas empresas que
prefieren comprar el software y realizar un pago único para el uso
exclusivo en su empresa, la cual puede adaptar a medida que crece, y
solo debe pagar anualmente por el alojamiento del hosting y si necesita alguna
mejora o requerimiento. Está modalidad tiene dos planes que son Estándar y
Premium

Características:
La principal característica que nos identifica a parte de las múltiples ventajas
del software, es que nos identificamos con el usuario, analizamos su necesidad y en
base a eso suplimos lo que busca. No es un sistema contable enlatado, en el caso de
la contratación de licencia el software tiene una estructura en específica, pero
podemos realizar las adecuaciones necesarias para adecuarlo al cliente en particular.
Caso de Estudio #3
Sistema de Información Contable SIC – JAC

El Software contable SIC-JAC es un sistema de gestión de información


administrativa y contable diseñado para responder a sus necesidades en cuanto al
manejo de la información contable, sistematiza, mecaniza y simplifica al máximo el
trabajo diario, con la inserción de información correcta el software registra y procesa
esta información. Su diseño amplio y su flexibilidad le permiten aplicar al proceso
contable a diferentes tipos de empresas en cuanto a inicio y cierre de periodos:

 Comercial (Enero a Diciembre)


 Industrial (Abril a Marzo)
 Agropecuaria (Julio a Junio)
 y Minera (Octubre a Septiembre)

También podría gustarte