Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Trabajo Final
Práctica Profesionalizante
Bisiach Lucio
2020
Bisiach Lucio - 3° Año 2020
Práctica Profesionalizante
Resumen
Por ello aunar todas estas necesidades dentro de una misma plataforma, cobra cada vez
más sentido. Entonces, este proyecto puede aportar y mucho a la gestión de una Pequeña y
Mediana Empresa.
El presente proyecto viene a cubrir esta necesidad que se ha observado. Integrar dentro de
una misma plataforma la facturación, ventas y compras, con un control de los servicios
realizados, documentación, tareas y vencimientos de la empresa.
Se decidió utilizar la plataforma Odoo ya que es un ERP escalable y tiene su desarrollo que
permite la conexión con AFIP.
Por último, van a encontrar un manual de uso para mejorar su comprensión y usabilidad.
Glosario
● Linux: es una familia de sistemas operativos de código abierto tipo Unix basados en
el núcleo de Linux.
● SSH: es el nombre de un protocolo y del programa que lo implementa cuya principal
función es el acceso remoto a un servidor por medio de un canal seguro en el que
toda la información está cifrada.
● API: es un código que indica a las aplicaciones cómo pueden mantener una
comunicación entre sí.
Contenido
1. Introducción………………………………………………………………………………... 4
a. Descripción del Cliente………………………………………………………….. 5
b. Surgimiento del problema…………………………………………………......... 6
c. Solución planteada………………………………………………...…………….. 6
d. Fases de realización…………………………………………………………….. 7
e. Tiempos estimados.……………………….…………………………………..… 8
f. Resultados deseados.………….……………………………………………..… 8
2. Análisis………………………………………………………………………....……….… 9
a. Propósito.………………...…………………………………………………….… 9
b. Alcance del Software.…...……...……………………………………………..… 9
c. Funcionalidades del producto....………………………..…………………....... 10
d. Clases y características de usuarios software.…………………….……….. 10
e. Entorno operativo..…...……...………………………………………………….. 10
f. Requerimientos funcionales...………………………………………………….. 11
g. Requerimientos no funcionales.……………………………………………….. 15
h. Diagramas de Caso de uso……………………………………………………..18
● Diagrama de caso de uso de Servicio………………………………....18
○ REF 01 - Crear Servicio………………………………………...19
○ REF 02 - Editar Servicio………………………………………..21
○ REF 03 - Eliminar Servicio….….….….….….….….….….…....22
○ REF 04 - Imprimir reporte del Servicio….….….….….….…….24
○ REF 05 - Ingresar venta del Servicio….….….….….….….…..25
○ REF 06 - Ingresar compra del Servicio….….….….….….…...26
○ REF 07 - Cambiar Estado del servicio….….….….….….…....27
○ REF 08 - Enviar correo confirmando el servicio….….….…....28
○ REF 09 - Calcular kilómetros recorridos del Servicio….…….29
● Diagrama de caso de uso de Empleados….….….….….….….….….30
○ REF 10 - Crear Empleado….….….….….….….….….….…....31
○ REF 11 - EditarEmpleado….….….….….….….….….….….…32
○ REF 12 - Eliminar Empleado….….….….….….….….….….…34
○ REF 13 - Ingresar documento del empleado….….….….…....35
○ REF 14 - Visualizar servicio del Empleado….….….….….…..36
○ REF 15 - Generar reporte de servicios del Empleado.….…...37
○ REF 16 - Crear registro de vencimiento del Empleado….…..38
○ REF 17 - Editar registro de vencimiento del Empleado….…..39
○ REF 18 - Eliminar registro de vencimiento del Empleado…...41
○ REF 19 - Enviar notificación de vencimiento del Empleado…42
● Diagrama de caso de uso de Vehículos….….….….….….….….….…43
○ REF 20 - Crear Vehiculo….….….….….….….….….….….…..44
○ REF 21 - Editar Vehiculo….….….….….….….….….….….….45
○ REF 21 - Eliminar Vehiculo….….….….….….….….….….…..47
○ REF 23 - Ingresar documento del vehículo….….….….…..…48
○ REF 24 - Visualizar servicio del Vehículo….….….….….…...49
1. Introducción
1.a. Descripción del Cliente
La empresa fue fundada en el año 1998 por Daniel Loyola. En sus orígenes la
actividad principal del transporte giraba en torno a la distribución de productos con el uso de
brazos hidráulicos montados sobre el camión, siendo pioneros en Rosario y sus alrededores
en aquellos tiempos. El servicio con hidrogrúa hizo que la empresa se destaque frente a la
competencia ya que se reducían los tiempos operativos y los costos en los repartos.
Basado en la filosofía de optimizar recursos y reducir costos, la empresa fue creciendo
incorporando más unidades con brazos hidráulicos con el fin de satisfacer la demanda
generada.
Con el objetivo puesto en expandir nuestros servicios y alcanzar nuevos mercados, en 2012
se incorporan los primeros semirremolques a la flota, en 2014 se abre una sucursal en la
ciudad de Campana, Buenos Aires y en 2017 se adquieren las primeras Bateas para el
transporte de mercadería a granel.
En la actualidad se concentran los esfuerzos en seguir desarrollando la logística y el
servicio de transporte, buscando siempre acompañar a nuestros clientes en el crecimiento.
Clientes:
● 1 batea.
Actualmente no solo trabaja con su propia flota sino que subcontrata camiones o
hidrogrúas, tercerizando algunos servicios.
1.b. Surgimiento del problema
Ejemplo de planilla de cálculo de vencimientos
Recordemos que las hojas de cálculo llegan un punto en el cual si las cargamos de datos,
se vuelven lentas, y además vincularlas todas es un lío.
Sumado a esto, utilizaba un programa para facturar llamado Xubio. Que genera un vínculo
con AFIP y te permite emitir Facturas, Notas de Crédito/Débito. Pero que tenía un problema,
no podía generar libros de IVA Compra, ya que el sistema solo le permitía la carga de 20
facturas mensuales.
A fin del 2017, Lucas me toma como empleado para hacer trabajos administrativos. Con el
correr del tiempo me comentó de este problema que desarrollamos anteriormente y me
propuso crear un sistema de gestión que controlara todos estos inconvenientes que se
presentaban.
¿Que tiene de bueno esta plataforma? Qué es Open Source. Con esto queremos decir que
podemos hacer un aplicativo dentro de ella, y vincularlo con los ya existentes. O bien
modificar el existente y programarlo a medida de cada necesidad.
Entonces empezamos a ver de qué se trataba, si nos servía o no, cómo podríamos
implementarlo. Un día, en una PC con Ubuntu instalamos Odoo y lo empezamos a usar con
las herramientas que ya vienen por default, también se le instaló la Localización Argentina
para poder facturar. Lo unico que haciamos con el programa era cargar los viajes en el
módulo de Tareas y facturarlos.
1.d. Fases de realización.
En este apartado vamos a dar una visión general de los procesos que vamos a realizar a lo
largo del proyecto, que corresponden a la mayoría de un desarrollo de software.
● Análisis: se definirán los requisitos con el objetivo de dilucidar precisamente que es
lo que vamos a desarrollar.
● Desarrollo: se irá desarrollando las acciones básicas dándole una forma y una
funcionabilidad simple. Una vez finalizada se le enseñara el prototipo al cliente.
Si está en su aprobación se continuará con el desarrollo.
1.e. Tiempos estimados
31/01/2021 Capacitación
1.f. Resultados deseados
Lo que queremos lograr con este proyecto es solucionar el problema en particular de este
cliente y que para fin de este año o principios del 2020 ya esté utilizando este módulo.
Pero a la vez tener un módulo desarrollado y que se pueda aplicar en otras empresas de
transporte o en otras empresas que brinden servicios, ya que es open source y puede
modificarse.
2. Análisis
En este capítulo presentaremos las fases de análisis, que forma la parte inicial de todo
proyecto de software, definiendo los requerimientos que el cliente pretende.
Como definición primordial vamos a definir qué son los requisitos. Estos nos especifican el
comportamiento que se espera de cualquier proyecto de software, donde en una reunión
con el cliente, él nos determina cuales son sus necesidades y junto con nuestro
conocimiento lo guiaremos a lograr una buena definición de requerimientos.
2.a. Propósito
En esta sección vamos a definir el nombre del software a desarrollar. Lo vamos a llamar
“Transport Management”, en español “Gestión de Transporte”.
Este documento no cubre la total descripción del software Odoo que es donde va a ser
integrado el módulo de Transport Management, pero si describe por completo los
componentes del módulo nombrado. Incluyendo todas sus funciones y características.
2.b. Alcance del Software
Antes de comenzar con la fase de diseño y desarrollo del proyecto se debe definir el
alcance del software. Además hay que dejar bien en claro que es lo que se pretende lograr,
hasta donde se está dispuesto a llegar, también definir las prioridades con respecto a los
objetivos perseguidos, distinguiendo los indispensables de los que pueden considerarse no
indispensables.
Exclusiones:
● Implementación de GPS.
● La emisión de notificaciones push.
2.c. Funcionalidades del producto
Los procesos o funciones principales que conforman el sistema a desarrollar son los
siguientes:
2.d. Clases y características de usuarios software
● Usuario Gerente: en este caso este tipo de usuario va a ser uno solo (el dueño de
la empresa), será el encargado de gestionar toda la información del sistema, ver el
consumo de combustible, y los registros de los empleados.
2.e. Entorno operativo
A nivel software:
● Sistema operativo basado en GNU/Linux y de las siguientes versiones, Ubuntu
19.01/20.04, Linux Mint 18.04/19.04, Debían 9/10. Se instala en este sistema
operativo debido a que permite instalar dependencias para hacer la conexión con
AFIP.
● Cualquier navegador en su última versión va a ser compatible con este sistema. Si
dejamos los navegadores desactualizados vamos a tener problemas con la
experiencia de usuario.
A nivel hardware:
● Si el servidor es físico va a requerir:
● Mínimo:
○ 2 GB RAM
○ SSD 120
○ Procesador de 4 núcleos, 1,8 Ghz
● Recomendado:
○ 4 GB RAM
○ SSD 240
○ Procesador de 4 núcleos, 2 Ghz
● Recomendado:
○ 1 GB RAM
○ SSD 25
○ 1 Núcleo
Cabe aclarar que los requisitos son mínimos debido a que solo 2 usuarios van a hacer uso
del sistema, a lo sumo 3.
2.f. Requerimientos funcionales
ID Descripción Prioridad
Gestión de Servicios
REQ1.3 El sistema indicará con un botón a qué estado pasar del servicio Alta
(Borrador - Confirmado - Finalizado - Cancelado)
REQ1.8 El sistema permitirá vincular las ventas y las compras (en el caso Alta
que exista) de dicho servicio.
REQ1.12 El campo de que indica el inicio y el fin del trabajo debe ser del Media
tipo Datetime
ID Descripción Prioridad
Gestión de Empleados
REQ2.3 El sistema permitirá visualizar los servicios realizados por cada Alta
empleado.
REQ2.7 El sistema permitirá ingresar una cantidad de días para el aviso Alta
del vencimiento.
ID Descripción Prioridad
Gestión de Vehículos
registrados.
REQ3.3 El sistema permitirá visualizar los servicios realizados por cada Media
vehículo
REQ3.7 El sistema permitirá ingresar una cantidad de días para el aviso Alta
del vencimiento.
ID Descripción Prioridad
Gestión de Combustible.
ID Descripción Prioridad
Gestión de Vencimientos.
REQ4.4 El sistema permitirá ingresar una cantidad de días para el aviso Alta
del vencimiento.
REQ4.6 Los vencimientos van a tener los estados de, vencido, por Alta
vencer, actualizado, sin vencimiento.
2.g. Requerimientos no funcionales
ID Descripción Prioridad
RNF1. Seguridad.
Seguridad
ID Descripción Prioridad
RNF2. Usabilidad.
Usabilidad
RNF2.3 El tiempo de aprendizaje del sistema por un usuario deberá ser Alta
menor a horas.
ID Descripción Prioridad
RNF3. Eficiencia.
Eficiencia
RNF3.1 El sistema debe ser capaz de operar adecuadamente con hasta Alta
ID Descripción Prioridad
RNF4. Producto.
Producto
RNF4.1 El sistema será desarrollado para ser utilizado en una plataforma Alta
web (Chrome, Firefox, Edge).
ID Descripción Prioridad
Otros Requerimientos
RNF4.2 El sistema deberá estar alojado en algún servidor web tipo SSH. Alta
2.h. Diagramas de Casos de uso
●
Descripción de caso de uso de “Crear Servicio”
-
Se deben ingresar datos concretos del servicio.
- Empleado
- Vehículo
- Destino
Paso Acción
Excepciones
2.a Al ingresar el día y la hora del servicio, el sistema
no permitirá ingresar letras.
Lista de tecnología
Frecuencia
Temas Abiertos Introducir viajes por lotes, en caso de que tenga viajes con
datos similares. Por ejemplo, si se que va a haber dos
semanas que la empresa tiene que hacer viajes todos los
días con el mismo origen, mismo destino, misma tarifa,
mismo cliente. Debería existir o se debería desarrollar una
forma de introducir múltiples registros.
-
Se deben ingresar datos concretos del servicio.
- Empleado
- Vehículo
- Destino
Paso Acción
Excepciones
4.a Al ingresar el día y la hora del servicio, el sistema
no permitirá ingresar letras.
Lista de tecnología
Frecuencia
Temas Abiertos
●
Descripción de caso de uso de “Eliminar Servicio”
8 El usuario seleccionará:
Paso Acción
Excepciones
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
1.a Si el campo booleano de “Servicio Tercerizado”
esta desmarcado el sistema no mostrará la opción
de compras dentro del servicio.
Lista de tecnología
Frecuencia
Temas Abiertos
●
Descripción de caso de uso de “Cambiar Estado del servicio”
Paso Acción
Excepciones
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
3.a Si el empleado no tiene dirección de correo
electrónico, el sistema mostrará una notificación
que informa que el empleado no tiene dirección
de correo asignada.
Lista de tecnología
Frecuencia
Normal
Paso Acción
Excepciones
3.a Si el “Odómetro inicial” es mayor al “Odómetro
Final”, el sistema deberá mostrar una notificación
de que no puede calcularse la distancia.
Lista de tecnología
Frecuencia
Temas Abiertos
●
Diagrama de caso de uso de Empleados
●
Descripción de caso de uso de “Crear Empleado”
- Banco
- Diario/Cuenta
Paso Acción
Excepciones
2.a Al ingresar la fecha de nacimiento, el sistema no
permitirá ingresar letras.
Lista de tecnología
Frecuencia
Temas Abiertos
- Banco
- Diario/Cuenta
Paso Acción
Excepciones
4.a Al ingresar la fecha de nacimiento, el sistema no
permitirá ingresar letras.
Lista de tecnología
Frecuencia
Temas Abiertos
●
Descripción de caso de uso de “Eliminar Empleado”
8 El usuario seleccionará:
Paso Acción
Excepciones
Lista de tecnología
Frecuencia
Temas Abiertos
●
Descripción de caso de uso de “Ingresar documento del empleado”
Paso Acción
Excepciones
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
3.a Si el empleado no tiene servicios el sistema
mostrara un cartel que permitirá añadir un nuevo
servicio.
Lista de tecnología
Frecuencia
Temas Abiertos
●
Descripción de caso de uso de “Generar reporte de servicios del Empleado”
Paso Acción
Excepciones
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
6.a En caso de eliminar por error un registro, el
sistema mostrará en la sección superior izquierda
un botón de “Deshacer” que revertirá los cambios.
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
8.a En el caso de que el empleado no tenga un correo
electrónico ingresado el sistema deberá advertirlo
mediante una notificación.
Lista de tecnología
Frecuencia Diariamente
Temas Abiertos
- Marca
Paso Acción
Excepciones
2.a Al ingresar el año del modelo del vehiculo, el
sistema no permitirá ingresar letras.
Lista de tecnología
Frecuencia
Temas Abiertos
- Marca
Paso Acción
Excepciones
4.a Al ingresar la fecha del modelo del vehículo, el
sistema no permitirá ingresar letras.
Lista de tecnología
Frecuencia
Temas Abiertos
8 El usuario seleccionará:
Paso Acción
Excepciones
Lista de tecnología
Frecuencia
Temas Abiertos
●
Descripción de caso de uso de “Ingresar documento del vehículo”
Paso Acción
Excepciones
Lista de tecnología
Frecuencia
Temas Abiertos
●
Descripción de caso de uso de “Visualizar servicio del Vehículo”
Paso Acción
Excepciones
3.a Si el vehículo no tiene servicios el sistema
mostrara un cartel que permitirá añadir un nuevo
servicio.
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
6.a En caso de eliminar por error un registro, el
sistema mostrará en la sección superior izquierda
un botón de “Deshacer” que revertirá los cambios.
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
8.a En el caso de que el vehículo no tenga un correo
electrónico ingresado el sistema deberá advertirlo
mediante una notificación.
Lista de tecnología
Frecuencia Diariamente
Temas Abiertos
Paso Acción
Excepciones
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
6.a En caso de eliminar por error un registro, el
sistema mostrará en la sección superior izquierda
un botón de “Deshacer” que revertirá los cambios.
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
8.a En el caso de que el vehículo no tenga un correo
electrónico ingresado el sistema deberá advertirlo
mediante una notificación.
Lista de tecnología
Frecuencia Diariamente
Temas Abiertos
Paso Acción
Excepciones
2.a Al ingresar el odómetro del vehículo, el sistema no
permitirá ingresar letras.
Lista de tecnología
Frecuencia
Temas Abiertos
8 El usuario seleccionará:
Paso Acción
Excepciones
Lista de tecnología
Frecuencia
Temas Abiertos
Paso Acción
Excepciones
4.a Al ingresar la fecha del modelo del vehículo, el
sistema no permitirá ingresar letras.
Lista de tecnología
Frecuencia
Temas Abiertos