Está en la página 1de 110

TSU TECNOLOGÍAS DE LA INFORMACIÓN ÁREA DE DESARROLLO DE

SOFTWARE MULTIPLATAFORMA EN COMPETENCIAS PROFESIONALES

MIGRACIÓN DE UN SISTEMA DE ADMINISTRACIÓN DE NEGOCIOS


DESARROLLADO EN C# Y SQL SERVER A PLATAFORMAS WEB PARA LA
EMPRESA BM SYSTEMS

Para obtener el grado de Técnico Superior Universitario en Tecnologías de la


Información

Nombre del alumno


Jesús Alexis Peinado Cabrera

Matrícula
19210105

Nombre de la empresa
Business Management System

Nombre del asesor académico


Ing. Giovanni Carrillo
Nombre del asesor externo
Lic. Omar Soto Moreno

Tamazula, Durango. A 24 de Agosto de 2021


AGRADECIMIENTOS

Mi profundo agradecimeinto a todas las autoridades y personal que forman parte de BMS, por
confiar en mi, abrirme las puertas y permitirme realizar todo el proceso de aprendizaje y
desarrollo dentro de su cultura.

De igual manera mis agradecimientos a la Universidad Tecnologica de Tamazula, a mis


compañeros de la carrera y a mis profesores, en especial al Ing. Giovanni Carrillo quien con
su conocimento sirvió de guía en todo este proceso.

Finalmente quiero expresar mi mas grande y sincero agradecimiento al Lic. Omar Soto
Moreno jefe del área de desarrollo, quien me brindo su conocimiento para crecer en el mundo
del desarrollo. De igualmanera agradezco a Armando Castro, Mariela Langarica y a Marisela
que con su dirección, conocimiento, enseñanza y colaboración permitieron el desarrollo de
este trabajo.

RESUMEN
En este documento, esta descrito todo el proceso de desarrollo de un sistema de gestión
empresarial llamado BMS. Se trata de una migración a web de un sistema previamente
desarrollado para la plataforma Windows usando Visual Basic.

El propósito de esta migración es poner al alcance de los usuarios el sistema de gestión


empresarial BMS sin importar la plataforma, lo cual aumenta la flexibilidad y portabilidad de
dicho software.

Este proceso de desarrollo fue hecho utilizando una metodología tradicional, lo cual permitio
definir los objetivos y requerimientos de forma rigida antes de comenzar con el desarrollo del
software, esta metodología era ideal para el proyecto, debido a que debíamos hacer
migraciones de funciones ya construidas previamente para la plataforma Windows.

Los resultados obtenidos fueron satisfactorios, el software es completamente funcional,


además de tener un agradable aspecto y bajos tiempos de respuesta.
Contenido
CAPITULO I: GENERALIDADES DE LA EMPRESA 1
1.1 DESCRIPCION GENERAL 1
1.2 ANTECEDENTES 1
1.3 VISIÓN 1
1.4 MISIÓN 1
1.4 DESCRIPCIÓN GENERAL DEL PROCESO 2
1.4.1 IMPLEMENTACIÓN 2
1.4.2 REVISIÓN 2
1.4.3 ANÁLISIS Y DISEÑO 2
1.4.4 DESARROLLO 2
1.4.5 CONTROL DE CALIDAD 2
1.4.6 SOPORTE 2
1.5 DESCRIPCIÓN DEL ÁREA DE TRABAJO 2
CAPITULO II: PLANTEAMIENTO DEL PROBLEMA 3
2.1 DESCRIPCIÓN DEL PROBLEMA 3
2.2 OBJETIVOS DEL PROYECTO 3
2.2.1 OBJETIVO GENERAL 3
2.2.2 OBJETIVOS ESPECÍFICOS 3
2.3 JUSTIFICACIÓN 3
CAPITULO III: MARCO TEÓRICO 4
3.1 VISUAL STUDIO 4
3.2 C# 4
3.3 ASP.NET CORE 5
3.4 BOOSTRAP 4 6
3.5 HTML5 6
3.6 MVC 7
3.7 UML 8
3.7 STAR UML 9
3.8 CSS3 10
3.9 JAVASCRIPT 11
3.10 JSON 12
CAPITULO IV: DESARROLLO DEL PROYECTO 13
4.1 METODOLOGIA UTILIZADA 13
4.1.1 METODOLOGÍA TRADICIONAL 14
4.1.2 CARACTERISTICAS DE LA METODOLOGIA TRADICIONAL 14
4.1.3 VENTAJAS 15
4.1.4 DESVENTAJAS 15
4.1.5 FASES 15
4.2 REQUERIMIENTOS FUNCIONALES 17
4.3 REQUERIMIENTOS NO FUNCIONALES 18
4.4 ESCENARIOS 19
BARRA LATERAL 19
SQL SERVER 19
CATÁLOGO DE EQUIPOS 19
TABLA EQUIPOS 20
EDICIÓN DE REGISTROS DE EQUIPOS 20
NUEVO EQUIPO 21
FILTRO PARA TABLA EQUIPOS 21
CATÁLOGO DE SERVICIOS A EQUIPOS 22
TABLA DE SERVICIO A EQUIPOS 22
TABLA DE SERVICIO A EQUIPOS 23
NUEVO SERVICIO A EQUIPO 24
FILTRO PARA TABLA SERVICIOS A EQUIPOS 24
CATÁLOGO DE ALIMENTACIÓN DE GASTOS Y SERVICIOS A EQUIPOS 25
TABLA DE ALIMENTACIÓN DE GASTOS Y SERVICIOS A EQUIPOS 25
NUEVO GASTO 26
FILTRO PARA TABLA DE ALIMENTACIÓN DE GASTOS Y SERVICIOS A
EQUIPOS 26
4.5 CASOS DE USO 27
RF06 – NUEVO EQUIPO 30
RF10 – EDITAR SERVICIO A EQUIPO 32
RF11 – NUEVO SERVICIO A EQUIPO 33
4.6 DIAGRAMAS DE SECUENCIA 37
4.6.1 RF01 - BARRA LATERAL 37
4.6.2 RF02 - SQL SERVER 37
4.6.3 RF03 - CATALOGO DE EQUIPOS 38
4.6.4 RF04 - TABLA DE EQUIPOS 38
4.6.5 RF05 - EDITAR EQUIPO 39
4.6.6 RF06 - NUEVO EQUIPO 39
4.6.7 RF07 - FILTROS PARA TABLA DE EQUIPO 40
4.6.8 RF08 - CATALOGO DE SERVICIOS A EQUIPOS 40
4.6.9 RF09 - TABLA DE SERVICIOS A EQUIPOS 40
4.6.10 RF10 - EDITAR SERVICIO A EQUIPO 41
4.6.11 RF11 - NUEVO SERVICIO A EQUIPO 41
4.6.12 RF12 - FILTROS PARA LA TABLA DE SERVICIOS A EQUIPOS 42
4.6.13 RF13 - CATALOGO DE ALIMENTACION DE GASTOS Y SERVICIOS
A EQUIPOS 42
4.6.14 RF14 - TABLA DE ALIMENTACION DE GASTOS Y SERVICIOS A
EQUIPOS 42
4.6.15 RF15 - NUEVO GASTO 43
4.6.16 RF16 - FILTROS PARA LA TABLA DE ALIMENTACION DE GASTOS
Y SERVICIOS A EQUIPOS 43
4.7 DICCIONARIO DE DATOS 44
4.8 CODIFICACIÓN PRINCIPAL 70
4.8.1 VISTAS 70
4.8.2 MODELOS 75
4.9 CASOS DE PRUEBA 79
4.9.1 CAJA NEGRA 79
4.9.1.1 RF01 Barra Lateral - Caja Negra 79
4.9.1.2 RF02 SQL Server - Caja Negra 79
4.9.1.3 RF03 Catalogo de equipos - Caja Negra 80
4.9.1.4 RF04 Tabla equipos - Caja Negra 80
4.9.1.5 RF05 Edicion de registros de equipos - Caja Negra 80
4.9.1.6 RF06 Nuevo equipo - Caja Negra 81
4.9.1.7 RF07 Filtros para la tabla equipos - Caja Negra 81
4.9.1.8 RF08 Catalogo de servicios para equipos - Caja Negra 81
4.9.1.9 RF09 Tabla de servicios para equipos - Caja Negra 82
4.9.1.10 RF10 Edicion de registros de servicios a equipos - Caja Negra 82
4.9.1.10 RF11 Nuevo servicio a equipo - Caja Negra 83
4.9.1.12 RF12 Filtros para la tabla servicios a equipos - Caja Negra 83
4.9.1.13 RF13 Catalogo de alimentación de gastos y servicios - Caja Negra 84
4.9.1.14 RF14 Tabla de alimentación de gastos y servicios - Caja Negra 84
4.9.1.15 RF15 Nuevo gasto - Caja Negra 84
4.9.2 CAJA BLANCA 85
CAPITULO V: RESULTADOS 96
5.1 DISEÑO DE INTERFACES DEL SOFTWARE 96
5.2 ENTREGA DEL SOFTWARE 100
5.4 RECOMENDACIONES 101
REFERENCIAS 101

Indice de figuras
Figura 1. Visual Studio 2019 .................................................................................................. 4
Figura 2. C# ............................................................................................................................ 5
Figura 3. ASP.NET Core ........................................................................................................ 6
Figura 4. Boostrar 4 ................................................................................................................ 6
Figura 5. HTML5.................................................................................................................... 7
Figura 6. MVC ........................................................................................................................ 8
Figura 7. UML ........................................................................................................................ 9
Figura 8. Star UML ............................................................................................................... 10
Figura 9. CSS3 ...................................................................................................................... 11
Figura 10. Javascript ............................................................................................................. 12
Figura 11. JSON ................................................................................................................... 13

Indice de tablas
Tabla 1. Requisitos funcionales ............................................................................................ 17
Tabla 2. Requisitos no funcionales ....................................................................................... 18
Tabla 3. Escenario - Barra lateral.......................................................................................... 19
Tabla 4. Escenario - SQL Server........................................................................................... 19
Tabla 5. Escenario - Catalogo de equipos ............................................................................. 19
Tabla 6. Escenario - Tabla de equipos .................................................................................. 20
Tabla 7. Escenario - Edicion de registros de equipos............................................................ 20
Tabla 8. Escenario - Nuevo equipo ....................................................................................... 21
Tabla 9. Escenario - Filtro para tabla equipos ....................................................................... 21
Tabla 10. Catalogo de servicios a equipos ............................................................................ 22
Tabla 11. Tabla de servicio a equipos ................................................................................... 22
Tabla 12. Edicion de registros de servicios a equipos ........................................................... 23
Tabla 13. . Escenario - Nuevo servicio a equipo ................................................................... 24
Tabla 14. FIltro para tabla de servicios a equipos ................................................................. 24
Tabla 15. Cataalogo de alimentacion de gastos y servicios a equipos .................................. 25
Tabla 16. Tabla de alimentacion de gastos y servicios a equipos ......................................... 25
Tabla 17. Nuevo gasto .......................................................................................................... 26
Tabla 18. Filtro para tabla de alimentacion de gastos y servicios a equipos ......................... 26

INTRODUCCION
El mundo del desarrollo web es muy amplio, ya que abarca multiples dispositivos, como
tabletas, celulares, ordenadores, televisores y cualquier otro dispositivo con una conexión a
internet y un navegador. Hoy en dia la web se ha convertido en una herramienta indispensable
en nuestras vidas ya que nos permite hacer multitud de tareas desde un mismo dispositivo,
esto se logra mediante aplicaciones web que suelen ser muy variadas en cuanto a funciones,
aspecto, rendimiento y accesibilidad.

Por esto, en BMS se requeria de un sistema que fuese capaz de ejecutarse en cualquier
dispositivo con una conexión activa a internet, sin importar el tamaño de su pantalla, su marca
o su sistema operativo. Es ahí donde entramos nosotros con una propuesta de una migración
a web de un sistema previamente desarrollado para la plataforma Windows.

Se trata de un sistema de administración empresarial llamado BMS, el cual les permite a las
empresas administrar todas sus áreas, compras, servicios, gastos, equipos y mas de una manera
completamente centralizada, lo que disminiye en gran medida el coste administrativo, pero
esto tiene una gran limitante, la plataforma.

Se nos ha asignado la tarea de migrar el sistema a una versión completamente web y para
lograrlo utilizaremos diversas herramientas y tecnologías las cuales se describen a lo largo y
ancho de este documento. Ademas estará descrito todo el proceso que hemos llevado a cabo
para que esta migración a web fuera posible, asi como toda su documentación como imagenes,
tablas, diagramas y el código principal de las opciones desarrolladas.
CAPITULO I: GENERALIDADES DE LA EMPRESA
1.1 DESCRIPCION GENERAL

BMS es una empresa que se dedica al desarrollo, venta y mantenimiento de un sistema de


planificación de recursos empresariales con sede en Culiacán, Sinaloa, México. Ofrece un
sistema básico que puede ser utilizado por cualquier negocio ya sea pequeño grande o bien
adaptarse o desarrollar desde cero nuevas opciones completamente personalizadas para cada
empresa.
1.2 ANTECEDENTES

Su historia comienza a finales de los años 90, con un joven emprendedor Jesús Zamudio
Beltrán, había diseñado un programa que le ayudaba en las rutas, las entregas de mercancía y
el punto de venta. Conforme paso el tiempo algunos clientes y proveedores se interesaron por
el sistema, le comentaron que un sistema de esa magnitud podría ser un cambio muy
importante en el mercado, así conforme a las opiniones que le daban, se decidió emprender
con el sistema, siendo 2 trabajadores los que empezaron Jesús Zamudio Y Daniel Beltrán
crearon el sistema BMS, cansancio , esfuerzo, perseverancia, y coraje esos son los elementos
que formaron a BMS Y lograron establecer una empresa reconocida en el mercado nacional.

1.3 VISIÓN
Trabajar con la conciencia de mejorar continuamente para alcanzar la máxima calidad posible.

1.4 MISIÓN
Todo el equipo de trabajo se esfuerza por brindar la mejor atención a los clientes, por
interpretar sus necesidades y satisfacerlas con prontitud y eficacia.

1
1.4 DESCRIPCIÓN GENERAL DEL PROCESO

BMS cuenta con todo un proceso para que su sistema funcione correctamente con cada uno
de sus clientes, así como para dar atención inmediata ante posibles problemas con dicho
software.

1.4.1 IMPLEMENTACIÓN

Se implementa el sistema BMS en tiempo y forma con el cliente, adaptándose a los procesos
del cliente y buscando áreas de oportunidad.

1.4.2 REVISIÓN

Los pendientes que caen en la página se revisan y se determina si pasarán al área de soporte o
análisis y diseño.

1.4.3 ANÁLISIS Y DISEÑO

Levantar los requerimientos con el cliente y analizar lo solicitado ya sea cambio o nuevo
proceso.

1.4.4 DESARROLLO

Se realizan las modificaciones en el procedimiento de las opciones, generación de nuevas


opciones, corregir errores.

1.4.5 CONTROL DE CALIDAD

Se realizan las pruebas de las modificaciones de los requerimientos del cliente y errores.

1.4.6 SOPORTE

Revisar requerimientos con los clientes, dudas, revisión de errores.

1.5 DESCRIPCIÓN DEL ÁREA DE TRABAJO

Al terminar la etapa de análisis y diseño se pasan los pendientes al jefe del área de desarrollo
el cual a su vez los asigna a cada desarrollador. Una vez asignado un pendiente, el

2
programador debe de analizar y entender que es lo que se está pidiendo, esto de hace leyendo
la descripción, viendo las capturas de pantalla y/o documentos anexados.

Una vez comprendido el problema se procede a abrir el módulo de la empresa correspondiente


donde se realizará el cambio. Cuando se haya terminado de hacer el cambio, el programador
deberá de asignar el pendiente a su jefe directo para que autorice los cambios y se envíen a
control de calidad.

CAPITULO II: PLANTEAMIENTO DEL PROBLEMA

2.1 DESCRIPCIÓN DEL PROBLEMA


BMS es un sistema que es utilizado mayormente en computadoras de escritorio con el sistema
operativo Windows y en muy pocas veces es utilizada la versión móvil para Android. Esto
tiene una clara limitación, la plataforma. BMS tiene a más de 300 clientes los cuales tienen
necesidades específicas, por lo cual se requiere una mayor flexibilidad en las plataformas para
brindar un mejor servicio para cada una.

2.2 OBJETIVOS DEL PROYECTO


2.2.1 OBJETIVO GENERAL
Con este proyecto se espera romper las barreras de la plataforma migrando el sistema actual
a una versión completamente web, lo que permitirá abarcar una mayor cantidad de mercado
y ofrecer un mejor sistema en general.

2.2.2 OBJETIVOS ESPECÍFICOS


• Que los usuarios de BMS puedan utilizar el software desde cualquier plataforma.
• Que los usuarios de BMS puedan utilizar el software desde cualquier lugar.
• Que los usuarios de BMS tengan un sistema confiable en la nube.
2.3 JUSTIFICACIÓN

BMS necesita una versión web para brindar una mayor flexibilidad de plataforma a sus más
de 300 clientes. Con esto se podrán satisfacer con las necesidades específicas de cada uno de

3
sus casi 300 clientes en la República Mexicana brindándoles la posibilidad de acceder desde
cualquier dispositivo, ya sean un teléfono Android, un IPhone, un Macbook o un laptop.
Esta innovación de BMS ayudara a las empresas a no depender de un lugar fijo para
administrar su empresa, sino que podrán hacerlo desde cualquier lugar del mundo cumpliendo
con toda la calidad y seguridad que ya se ofrecía en las plataformas fijas.

CAPITULO III: MARCO TEÓRICO


3.1 VISUAL STUDIO
El entorno de desarrollo integrado de Visual Studio es una plataforma de lanzamiento creativa
que puede utilizar para editar, depurar y compilar código, y luego publicar una aplicación. Un
entorno de desarrollo integrado (IDE) es un programa rico en funciones que se puede utilizar
para muchos aspectos del desarrollo de software. Además del editor y depurador estándar que
ofrecen la mayoría de los IDE, Visual Studio incluye compiladores, herramientas de
finalización de código, diseñadores gráficos y muchas más funciones para facilitar el proceso
de desarrollo de software. (Microsoft, Microsoft, 2019).

Figura 1. Visual Studio 2019

3.2 C#
C # (pronunciado "Si Sharp") es un lenguaje de programación moderno, orientado a objetos y
con seguridad de tipos. C # permite a los desarrolladores crear muchos tipos de aplicaciones
seguras y sólidas que se ejecutan en el ecosistema .NET. C # tiene sus raíces en la familia de
lenguajes C y será inmediatamente familiar para los programadores de C, C ++, Java y

4
JavaScript. Este recorrido proporciona una descripción general de los componentes
principales del lenguaje en C # 8 y versiones anteriores.

C # es un lenguaje de programación orientado a objetos y a componentes. C # proporciona


construcciones de lenguaje para admitir directamente estos conceptos, lo que convierte a C #
en un lenguaje natural en el que crear y utilizar componentes de software. Desde su origen, C
# ha agregado funciones para admitir nuevas cargas de trabajo y prácticas emergentes de
diseño de software.

Varias características de C # ayudan a crear aplicaciones sólidas y duraderas. La recolección


de basura recupera automáticamente la memoria ocupada por objetos inaccesibles no
utilizados. Los tipos que aceptan valores NULL protegen contra variables que no se refieren
a objetos asignados. El manejo de excepciones proporciona un enfoque estructurado y
extensible para la detección y recuperación de errores. (Microsoft, 2021).

Figura 2. C#

3.3 ASP.NET CORE

ASP.NET Core es un framework web gratis de código


abierto y con un mayor rendimiento que ASP.NET,2
desarrollado por Microsoft y la comunidad. Es un framework modular que se ejecuta
completo tanto en el.NET Framework de Windows como en multiplataforma. .NET Core

5
Figura 3. ASP.NET Core

3.4 BOOSTRAP 4

Bootstrap es una biblioteca multiplataforma o conjunto de herramientas de código abierto para


diseño de sitios y aplicaciones web. Contiene plantillas de diseño con tipografía, formularios,
botones, cuadros, menús de navegación y otros elementos de diseño basado en HTML y CSS,
así como extensiones de JavaScript adicionales. A diferencia de muchos frameworks web,
solo se ocupa del desarrollo front-end. (Escobar, 2019).

Figura 4. Boostrar 4

3.5 HTML5
HTML, siglas en inglés de HyperText Markup Language (‘lenguaje de marcado de
hipertexto’), hace referencia al lenguaje de marcado para la elaboración de páginas web. Es
un estándar que sirve de referencia del software que conecta con la elaboración de páginas
web en sus diferentes versiones, define una estructura básica y un código (denominado código
HTML) para la definición de contenido de una página web, como texto, imágenes, videos,
juegos, entre otros. Es un estándar a cargo del World Wide Web Consortium (W3C) o
Consorcio WWW, organización dedicada a la estandarización de casi todas las tecnologías

6
ligadas a la web, sobre todo en lo referente a su escritura e interpretación. HTML se considera
el lenguaje web más importante siendo su invención crucial en la aparición, desarrollo y
expansión de la World Wide Web (WWW). Es el estándar que se ha impuesto en la
visualización de páginas web y es el que todos los navegadores actuales han adoptado.

El lenguaje HTML basa su filosofía de desarrollo en la diferenciación. Para añadir un


elemento externo a la página (imagen, vídeo, script, entre otros.), este no se incrusta
directamente en el código de la página, sino que se hace una referencia a la ubicación de dicho
elemento mediante texto. De este modo, la página web contiene solamente texto mientras que
recae en el navegador web (interpretador del código) la tarea de unir todos los elementos y
visualizar la página final. Al ser un estándar, HTML busca ser un lenguaje que permita que
cualquier página web escrita en una determinada versión, pueda ser interpretada de la misma
forma (estándar) por cualquier navegador web actualizado. (Wikipedia, Wikipedia, 2021)

Figura 5. HTML5

3.6 MVC
Modelo-vista-controlador (MVC) es un patrón de arquitectura de software, que separa
los datos y principalmente lo que es la lógica de negocio de una aplicación de su
representación y el módulo encargado de gestionar los eventos y las comunicaciones. Para
ello MVC propone la construcción de tres componentes distintos que son el modelo, la vista y
el controlador, es decir, por un lado define componentes para la representación de la
información, y por otro lado para la interacción del usuario.

De manera genérica, los componentes de MVC se podrían definir como sigue:

7
• El Modelo: Es la representación de la información con la cual el sistema opera, por lo
tanto gestiona todos los accesos a dicha información, tanto consultas como
actualizaciones, implementando también los privilegios de acceso que se hayan descrito
en las especificaciones de la aplicación (lógica de negocio). Envía a la 'vista' aquella parte
de la información que en cada momento se le solicita para que sea mostrada (típicamente
a un usuario). Las peticiones de acceso o manipulación de información llegan al 'modelo'
a través del 'controlador'.
• El Controlador: Responde a eventos (usualmente acciones del usuario) e invoca peticiones
al 'modelo' cuando se hace alguna solicitud sobre la información (por ejemplo, editar un
documento o un registro en una base de datos).
• La Vista: Presenta el 'modelo' (información y lógica de negocio) en un formato adecuado
para interactuar (usualmente la interfaz de usuario), por tanto requiere de dicho 'modelo'
la información que debe representar como salida. (Wikipedia, 2021)

Figura 6. MVC

3.7 UML
El lenguaje unificado de modelado (UML, por sus siglas en inglés, Unified Modeling
Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en
la actualidad; está respaldado por el Object Management Group (OMG).

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

8
expresiones de lenguajes de programación, esquemas de bases de datos y compuestos
reciclados.

Se puede aplicar en el desarrollo de software gran variedad de formas para dar soporte a una
metodología de desarrollo de software (tal como el Proceso Unificado Racional, Rational
Unified Process o RUP), pero no especifica en sí mismo qué metodología o proceso usar.

UML no puede compararse con la programación estructurada, pues UML significa Lenguaje
Unificado de Modelado, no es programación, solo se diagrama la realidad de una utilización
en un requerimiento. Mientras que programación estructurada es una forma de programar
como lo es la orientación a objetos, la programación orientada a objetos viene siendo un
complemento perfecto de UML, pero no por eso se toma UML solo para lenguajes orientados
a objetos. (Wikipedia, Wikipedia, 2021)

Figura 7. UML

3.7 STAR UML

StarUML es una herramienta para el modelamiento de software basado en los estándares UML
(Unified Modeling Language) y MDA (Model Driven Arquitecture), que en un principio era
un producto comercial y que hace cerca de un año pasó de ser un proyecto comercial
(anteriormente llamado plastic) a uno de licencia abierta GNU/GPL.

El software heredó todas las características de la versión comercial y poco a poco ha ido
mejorando sus características, entre las cuales se encuentran:
9
·Soporte completo al diseño UML mediante el uso de:
– Diagrama de casos de uso.
– Diagrama de clase.
– Diagrama de secuencia.
– Diagrama de colaboración.
– Diagrama de estados.
– Diagrama de actividad.
– Diagrama de componentes.
– Diagrama de despliegue.
– Diagrama de composición estructural (UML 2.0)
• Definir elementos propios para los diagramas, que no necesariamente pertenecen al
estándar de UML.
• La capacidad de generar código a partir de los diagramas y viceversa, actualmente
funcionando para los lenguajes c++, c# y java.
• Generar documentación en formatos Word, Excel y PowerPoint sobre los diagramas.

Figura 8. Star UML

3.8 CSS3
El nombre hojas de estilo en cascada viene del inglés Cascading Style Sheets, del que toma
sus siglas. CSS es un lenguaje usado para definir la presentación de un documento
estructurado escrito en HTML o XML (y por extensión en XHTML).

El W3C(World Wide Web Consortium) es el encargado de formular la especificación de las


hojas de estilo que servirán de estándar para los agentes de usuario o navegadores. La idea
que se encuentra detrás del desarrollo de CSS es separar la estructura de un documento de su
presentación. La información de estilo puede ser adjuntada como un documento separado o

10
en el mismo documento HTML. En este último caso podrían definirse estilos generales en la
cabecera del documento o en cada etiqueta particular mediante el atributo "<style>".

El CSS sirve para definir la estética de un sitio web en un documento externo y eso mismo
permite que modificando ese documento (la hoja CSS) podamos cambiar la estética entera de
un sitio web, el mismo sitio web puede variar totalmente de estética cambiando solo la CSS,
sin tocar para nada los documentos HTML o jsp o asp que lo componen.
CSS es un lenguaje utilizado para dar estética a un documento HTML (colores, tamaños de
las fuentes, tamaños de elemento, con css podemos establecer diferentes reglas que indicarán
como debe presentarse un documento. Podemos indicar propiedades como el color, el tamaño
de la letra, el tipo de letra, si es negrita, si es itálica, también se puede dar forma a otras cosas
que no sean letras, como colores de fondo de una página, tamaños de un elemento (por
ejemplo, el alto y el ancho de una tabla.

Las nuevas características de CSS nos permiten añadir efectos de animación a la mayoría de
elementos HTML, sin necesidad de Javascript o Flash. Por el momento, es compatible con los
navegadores Safari, Chrome, Opera y Firefox. (Ecured, 2021)

Figura 9. CSS3

3.9 JAVASCRIPT
JavaScript (JS) es un lenguaje de programación ligero, interpretado, o compilado justo-a-
tiempo (just-in-time) con funciones de primera clase. Si bien es más conocido como un
lenguaje de scripting (secuencias de comandos) para páginas web, y es usado en muchos
entornos fuera del navegador, tal como Node.js, Apache CouchDB y Adobe
Acrobat. JavaScript es un lenguaje de programación basada en prototipos, multiparadigma, de

11
un solo hilo, dinámico, con soporte para programación orientada a objetos, imperativa y
declarativa (por ejemplo programación funcional). Lee más en acerca de JavaScript.

El estándar para JavaScript es ECMAScript. A partir del 2012, todos los navegadores
modernos soportan completamente ECMAScript 5.1. Los navegadores viejos soportan al
menos ECMAScript 3. Desde Junio 17, 2015, ECMA International publico la sexta versión
principal de ECMAScript, que oficialmente se llama ECMAScript 2015, y que inicialmente
se denominó ECMAScript 6 o ES6. Desde entonces, los estándares ECMAScript están en
ciclos de lanzamiento anuales. Esta documentación hace referencia a la última versión
preliminar, que actualmente es ECMAScript 2020. (MDN, 2021)

Algunas de sus características son:

• Lenguaje del lado del cliente.


• Lenguaje orientado a objetos.
• De tipado débil o no tipado.
• De alto nivel.
• Lenguaje interpretado.
• Muy utilizado por desarrolladores

Figura 10. Javascript

3.10 JSON
JSON (acrónimo de JavaScript Object Notation, «notación de objeto de JavaScript») es un
formato de texto sencillo para el intercambio de datos. Se trata de un subconjunto de la notación
literal de objetos de JavaScript, aunque, debido a su amplia adopción como alternativa a XML,
se considera (año 2019) un formato independiente del lenguaje.

12
Una de las supuestas ventajas de JSON sobre XML como formato de intercambio de datos es
que resulta mucho más sencillo escribir un analizador sintáctico (parser) para él. En JavaScript,
un texto JSON se puede analizar fácilmente usando la función eval() , algo que (debido a la

ubicuidad de JavaScript en casi cualquier navegador web) ha sido fundamental para que haya
sido aceptado por parte de la comunidad de desarrolladores AJAX.

En la práctica, los argumentos a favor de la facilidad de desarrollo de analizadores o de sus


rendimientos son poco relevantes, debido a las cuestiones de seguridad que plantea el uso
de eval() y el auge del procesamiento nativo de XML incorporado en los navegadores

modernos. Por esa razón, JSON se emplea habitualmente en entornos donde el tamaño del flujo
de datos entre cliente y servidor es de vital importancia (de aquí su uso
por Yahoo!, Google, Mozilla, etc, que atienden a millones de usuarios) cuando la fuente de datos
es explícitamente de fiar y donde no es importante el hecho de no disponer de
procesamiento XSLT para manipular los datos en el cliente.

Figura 11. JSON

CAPITULO IV: DESARROLLO DEL PROYECTO


4.1 METODOLOGIA UTILIZADA

13
4.1.1 METODOLOGÍA TRADICIONAL
Desarrollar un buen software depende de un gran número de actividades y etapas, donde el
impacto de elegir la metodología para un equipo en un determinado proyecto es trascendental
para el éxito del producto. Las metodologías tradicionales son denominadas, a veces, de forma
despectiva, como metodologías pesadas. Centran su atención en llevar una documentación
exhaustiva de todo el proyecto, la planificación y control del mismo, en especificaciones
precisas de requisitos y modelado y en cumplir con un plan de trabajo, definido todo esto, en
la fase inicial del desarrollo del proyecto. Estas metodologías tradicionales imponen una
disciplina rigurosa de trabajo sobre el proceso de desarrollo del software, con el fin de
conseguir un software más eficiente.

Para ello, se hace énfasis en la planificación total de todo el trabajo a realizar y una vez que
está todo detallado, comienza el ciclo de desarrollo del producto software. Se centran
especialmente en el control del proceso, mediante una rigurosa definición de roles,
actividades, artefactos, herramientas y notaciones para el modelado y documentación
detallada. Además, las metodologías tradicionales no se adaptan adecuadamente a los
cambios, por lo que no son métodos adecuados cuando se trabaja en un entorno, donde los
requisitos no pueden predecirse o bien pueden variar. Otra de las características importantes
dentro de este enfoque, son los altos costes al implementar un cambio y la falta de flexibilidad
en proyectos donde el entorno es volátil. (Gabriel, 2015)

4.1.2 CARACTERISTICAS DE LA METODOLOGIA TRADICIONAL


• Basadas en normas provenientes de estándares seguidos por el entorno de desarrollo.
• Cierta resistencia a los cambios.
• Impuestas externamente.
• Proceso mucho más controlado, con numerosas políticas/normas.
• Existe un contrato prefijado.
• El cliente interactúa con el equipo de desarrollo mediante reuniones.
• Grupos grandes y posiblemente distribuidos.
• Más artefactos
• Más roles.
• La arquitectura del software es esencial y se expresa mediante modelos
• Documentación exhaustiva.
14
• Pocos ciclos de entrega.

(Gabriel, 2015)
4.1.3 VENTAJAS
• Modelo conocido y utilizado con frecuencia.
• Orientado a Resultados.
• Promueve una metodología de trabajo efectiva: Definir antes que diseñar, diseñar
antes que codificar.

(Damorelos, 2019)
4.1.4 DESVENTAJAS
• En el trabajo día a día, es muy difícil seguir una secuencia lineal.
• Requiere mucho tiempo para ver el producto terminado ya que no se puede avanzar
hasta que la etapa previa haya culminado.
• Cualquier error detectado en la etapa de prueba, requiere de un rediseño y nueva
programación, lo cual aumenta los costos y el tiempo del desarrollo.

(Damorelos, 2019)

4.1.5 FASES

4.1.5.1 Inicio
En la fase de inicio, el director de proyectos y quizás otros especialistas revisarán el caso de
negocio asociado con los proyectos requeridos. A partir de ahí, si el proyecto se aprueba, ellos
identificarán quiénes necesitan ser los interesados del proyecto. Asimismo, recopilarán los
requerimientos de mayor nivel, e identificarán riesgos y problemas asociados. Toda esa
información será incluida en el plan del proyecto, el cual necesitará ser aprobado por los
principales interesados antes de continuar con la siguiente fase. El plan de proyecto es el
resultado clave de la fase de inicio.

4.1.5.2 Planificación

En la fase de planificación, el equipo encargado trabajará en el desarrollo de requisitos


detallados sobre el proyecto, y luego los priorizará. Más adelante, estos requisitos se incluirán
en un mapeo de procesos junto con algunos especialistas que trabajarán en el proyecto y los

15
principales interesados. El objetivo es dar a conocer hasta el más mínimo detalle la
funcionalidad asociada a la aplicación. Después de esto, un analista de negocios tomará los
requerimientos y se reunirá con los especialistas para crear una estructura de desglose de
trabajo, que divide los requerimientos en piezas grandes de trabajo. Luego divide esas piezas
en tareas y subtareas que tienen un estimado de duración. El director de proyectos luego
trabajará para conseguir recursos asignados a esas tareas.

Como parte de esta fase, el director de proyecto también creará un plan de comunicación, un
plan de despliegue y un cronograma de proyecto para incluirlos en un plan de proyecto. Este
es el primer resultado de la fase de planificación. El plan de proyecto guiará el resto del
proyecto.

4.1.5.3 Ejecución

Durante la fase ejecución se desarrolla el producto y todo lo que se usará para probar la calidad
del producto final, ya sea que el director de proyecto supervise la construcción de un edificio
o la creación de un software de aplicación. Mientras que los desarrolladores o constructores
trabajan duramente en crear los resultados, el analista de negocio está ocupado creando casos
y planes de prueba para comprobar los requerimientos generados durante la fase de
planificación

Una vez culminado el desarrollo, se comprueba el producto final con los planes de prueba
generados. La aparición de cualquier problema como parte de la prueba debe registrarse y
enviarse a los desarrolladores para que lo solucionen. Luego que el producto final pasa los
planes de pruebas, está listo para que los principales interesados lo revisen. Una vez se dé el
visto bueno, se completa la fase de ejecución.

4.1.5.4 Monitoreo y control

En la fase de monitoreo y control de un proyecto se realiza el seguimiento de los indicadores


de desempeño durante el desarrollo de los productos. De esta manera, el director verifica que
el proyecto vaya por buen camino y avance como está previsto. Además, aquí es donde se
define la forma de monitoreo del presupuesto para que se desarrolle según lo planeado. Todo
lo cuantificable que sea generado debe estar presente en el plan de proyecto.

4.1.5.5 Cierre
16
El componente más importante de la fase de cierre es que los productos finales se entregan a
la entidad solicitante, y que ella acepta recibir esos productos. Luego, el director de proyecto
verifica que los principales interesados aprueben y firmen toda la documentación del proyecto
y esta se almacene adecuadamente. Finalmente, el director del proyecto también debe
asegurarse que todas las facturas pendientes del proyecto estén listas para su pago.

(Dalton, 2021).

4.2 REQUERIMIENTOS FUNCIONALES

Tabla 1. Requisitos funcionales

Número Nombre Descripción

El sistema deberá contar con una barra lateral la cual estará presente
RF01 Barra lateral en cada pantalla, la cual permitirá al usuario moverse entre los distintos
catálogos.
RF02 SQL SERVER El sistema debe de contar con una conexión a SQL Server.
RF03 Catalogo equipos El sistema deberá de contener un catálogo para equipos
El sistema permitirá visualizar una tabla que muestre todos los equipos
RF04 Tabla equipos
que estén vigentes en una primera pantalla.
Edición de registros de
RF05 El sistema deberá permitir editar un registro.
equipos
El sistema tendrá una vista donde el usuario podrá dar de alta un nuevo
RF06 Nuevo equipo
equipo cumpliendo con todos los campos necesarios para el mismo.
Filtros para tabla El sistema tendrá controles para aplicar filtros de búsqueda a la tabla
RF07
equipos que muestra los equipos.
Catalogo servicios a
RF08 El sistema tendrá un catálogo para servicios a equipos.
equipos
Tabla de servicios para El sistema tendrá una tabla donde se listaran todos los servicios hechos
RF09
equipos a los equipos
Edición de registros de
RF10 El sistema deberá permitir editar un registro.
servicios a equipos
El sistema tendrá una vista donde el usuario podrá dar de alta un nuevo
RF11 Nuevo servicio servicio a equipo cumpliendo con todos los campos necesarios para el
mismo.
Filtros para tabla de El sistema tendrá controles para aplicar filtros de búsqueda a la tabla
RF12
servicios a equipos que muestra los servicios a equipos.

17
Catalogo alimentación El sistema contara con un catálogo de alimentación de gastos y
RF13
de gastos y servicios servicios
Tabla de alimentación El sistema tendrá una tabla donde se mostraran todos los servicios
RF14
de gastos y servicios hechos a los equipos junto con sus costos

RF15 Nuevo gasto El sistema permitirá registrar un nuevo gasto.

Filtros para tabla de


El sistema tendrá controles para aplicar filtros de búsqueda a la tabla
RF16 alimentación de gastos
que muestra los servicios y los gastos.
y servicios.

4.3 REQUERIMIENTOS NO FUNCIONALES


Tabla 2. Requisitos no funcionales

Numero Nombre Descripción

1 Diseño atractivo El sistema deberá tener una apariencia sobria y atractiva para el
usuario
2 Tiempo de respuesta
bajo El sistema deberá responder con rapidez a cada acción del usuario.
3 Interactivo El sistema deberá ser fácil de usar.
4 Consistencia El software deberá mantenerse con una apariencia constante con cada
uno de sus catálogos.
5 Control de usuarios Solo el administrador del sistema podrá dar de alta nuevos usuarios
para el software
6 Respaldos de Cada 24 horas el software deberá estar haciendo copia de seguridad
información de sus datos
7 Comunicación Todas las comunicaciones entre el servidor deberán estar encriptadas.
8 Alertas El sistema deberá de mostrar alertas al finalizar una acción o al
provocarse un error.
9 Disponibilidad El sistema deberá estar accesible al menos un 99.99% de las veces
que el usuario intente ingresar.
10 Multiplataforma El sistema deberá ser capaz de adaptarse a la pantalla de cualquier
dispositivo.
11 Manuales de usuario El sistema deberá contar con manuales de usuario y/o tutoriales en
video.
12 Atención al usuario El sistema deberá contar con un módulo de atención en línea

18
4.4 ESCENARIOS

Tabla 3. Escenario - Barra lateral

Nombre: BARRA LATERAL


Actores Usuario
Objetivo Facilitar la navegación dentro de la pagina
Precondiciones Lo único que se debe de hacer es cargar por completo la página.
Postcondiciones La barra lateral aparecerá en cada pantalla.
Escenario básico 1. El usuario ingresa a la página web
2. La página web muestra automáticamente la barra lateral, ya sea de
forma completa (para equipos de escritorio) o en forma de menú
desplegable (para dispositivos móviles)

Tabla 4. Escenario - SQL Server

Nombre: SQL SERVER


Actores Sistema
Objetivo Establecer una conexión con una base de datos en SQL Server
Precondiciones El usuario debe de carga la página por completo
Postcondiciones La conexión se establece de forma automática
Escenario básico 1. El usuario carga la página.
2. La conexión se establece automáticamente

Tabla 5. Escenario - Catalogo de equipos

Nombre: CATÁLOGO DE EQUIPOS


Actores Usuario
Objetivo Que el sistema tenga una opción para manejar los equipos.
Precondiciones El usuario debe de dar clic en el botón de equipos que se encuentra en
la barra lateral.
Postcondiciones El usuario entra a la opción de equipos.
Escenario básico 1. El usuario carga completamente la pagina

19
2. El usuario da clic sobre la opción de equipos en la barra lateral
3. La opción se abre.

Tabla 6. Escenario - Tabla de equipos

Nombre: TABLA EQUIPOS


Actores Usuario

Objetivo Mostrar en una lista todos los equipos que están activos.

Precondiciones El usuario debió de entrar a la opción de equipos

Postcondiciones El usuario puede ver en un tabla todos los equipos que estén vigentes.
Escenario básico El usuario entra a la opción de equipos.
El sistema lista en una tabla todos los equipos que se encuentren
vigentes.

Tabla 7. Escenario - Edicion de registros de equipos

Nombre: EDICIÓN DE REGISTROS DE EQUIPOS


Actores Usuario
Objetivo Poder editar los valores de un registro de la tabla de equipos vigentes.

Precondiciones El usuario debe de entrar a la opción de equipos y esperar a que el


sistema cargue los registros de la tabla.
Postcondiciones El sistema mostrara un botón de editar al lado de cada registro, donde
el usuario podrá dar clic para mostrar una pantalla donde podrá editar
libremente el registro.
Escenario básico El usuario entra a la opción de equipos.
El sistema carga todos los registros de la tabla y muestra el botón
de editar.

20
El usuario da clic en el botón editar de alguno de los registros.
Se despliega una nueva pantalla donde se pueden editar los campos
del registro.
El usuario da clic en el botón Guardar/Cancelar para finalizar con
la edición.

Tabla 8. Escenario - Nuevo equipo

Nombre: NUEVO EQUIPO


Actores Usuario

Objetivo Que el usuario pueda dar de alta un nuevo equipo


Precondiciones El usuario debe entrar a la opción de equipos y dar en el botón nuevo
equipo.
Postcondiciones El usuario entra a una pantalla donde se muestran los campos a llenar
para dar de alta el nuevo equipo.
Escenario básico 1. El usuario entra a la opción de equipos.
2. El usuario da clic sobre el botón de Nuevo Equipo.
3. El usuario entra a la opción de Nuevo Equipo.
4. El usuario llena todos los campos obligatorios.
5. El usuario da clic en el botón Guardar/Cancelar para
finalizar el nuevo registro.

Tabla 9. Escenario - Filtro para tabla equipos

Nombre: FILTRO PARA TABLA EQUIPOS


Actores Usuario
Objetivo Poder filtrar registros de la tabla de equipos. Como filtrar por fechas o
limitar el número de registros que se muestran a la vez.
Precondiciones El usuario debe de entrar a la opción de equipos.

21
Postcondiciones El usuario podrá elegir una fecha inicial y una fecha final en 2
controles. Además si lo desea podrá seleccionar la cantidad máxima de
registros que quiere ver en la tabla a la vez.
Escenario básico 1. El usuario entra a opción de equipos.
2. El usuario selecciona una fecha inicial con el control de fecha
inicial (opcional).
3. El usuario selecciona una fecha final con el control de fecha final
(opcional).
4. El usuario establece cuantos registros quiere que se muestren
(opcional).

Tabla 10. Catalogo de servicios a equipos

Nombre: CATÁLOGO DE SERVICIOS A EQUIPOS


Actores Usuario
Objetivo Que el sistema tenga una opción para manejar los servicios a equipos.
Precondiciones El usuario debe de dar clic en el botón de servicios a equipos que se
encuentra en la barra lateral.
Postcondiciones El usuario entra a la opción de servicios a equipos.
Escenario básico 4. El usuario carga completamente la pagina
5. El usuario da clic sobre la opción de servicios equipos en la barra
lateral
6. La opción se abre.

Tabla 11. Tabla de servicio a equipos

Nombre: TABLA DE SERVICIO A EQUIPOS


Actores Usuario

Objetivo Mostrar en una lista todos los servicios a equipos.

22
Precondiciones El usuario debió de entrar a la opción de servicios a equipos

Postcondiciones El usuario puede ver en un tabla todos los servicios equipos.


Escenario básico El usuario entra a la opción de servicios equipos.

Tabla 12. Edicion de registros de servicios a equipos

Nombre: TABLA DE SERVICIO A EQUIPOS


Actores Usuario

Objetivo Most Poder editar los valores de un registro de la tabla de servicios a


equipos.
Precondiciones El usuario debe de entrar a la opción de servicios a equipos y esperar
a que el sistema cargue los registros de la tabla.
Postcondiciones El sistema mostrara un botón de editar al lado de cada registro, donde
el usuario podrá dar clic para mostrar una pantalla donde podrá editar
libremente el registro.
Escenario básico El usuario entra a la opción servicios a de equipos.
El sistema carga todos los registros de la tabla y muestra el botón
de editar.
El usuario da clic en el botón editar de alguno de los registros.
Se despliega una nueva pantalla donde se pueden editar los
campos del registro.
El usuario da clic en el botón Guardar/Cancelar para finalizar con la
edición.

23
Tabla 13. . Escenario - Nuevo servicio a equipo

Nombre: NUEVO SERVICIO A EQUIPO


Actores Usuario
Objetivo Que el usuario pueda dar de alta un nuevo servicio a equipo
Precondiciones El usuario debe entrar a la opción de servicios a equipos y dar en el
botón nuevo equipo.
Postcondiciones El usuario entra a una pantalla donde se muestran los campos a llenar
para dar de alta el nuevo servicio a equipo.
Escenario básico 1. El usuario entra a la opción de servicios a equipos.
2. El usuario da clic sobre el botón de Nuevo Servicio.
3. El usuario entra a la opción de Nuevo Servicio.
4. El usuario llena todos los campos obligatorios.
5. El usuario da clic en el botón Guardar/Cancelar para
finalizar el nuevo registro.

Tabla 14. FIltro para tabla de servicios a equipos

Nombre: FILTRO PARA TABLA SERVICIOS A EQUIPOS


Actores Usuario
Objetivo Poder filtrar registros de la tabla de equipos. Como filtrar por fechas
o limitar el número de registros que se muestran a la vez.
Precondiciones El usuario debe de entrar a la opción de equipos.
Postcondiciones El usuario podrá elegir una fecha inicial y una fecha final en 2
controles. Además si lo desea podrá seleccionar la cantidad máxima
de registros que quiere ver en la tabla a la vez.
Escenario básico 5. El usuario entra a opción de equipos.
6. El usuario selecciona una fecha inicial con el control de fecha
inicial (opcional).
7. El usuario selecciona una fecha final con el control de fecha final
(opcional).

24
8. El usuario establece cuantos registros quiere que se muestren
(opcional).

Tabla 15. Cataalogo de alimentacion de gastos y servicios a equipos

Nombre: CATÁLOGO DE ALIMENTACIÓN DE GASTOS Y


SERVICIOS A EQUIPOS
Actores Usuario
Objetivo Que el sistema tenga una opción para manejar la alimentación de
gastos y servicios a equipos
Precondiciones El usuario debe de dar clic en el botón de alimentación de gastos y
servicios a equipos que se encuentra en la barra lateral.
Postcondiciones El usuario entra a la opción de alimentación de gastos y servicios a
equipos.
Escenario básico 7. El usuario carga completamente la pagina
8. El usuario da clic sobre la opción de alimentación de gastos y
servicios a equipos en la barra lateral
9. La opción se abre.

Tabla 16. Tabla de alimentacion de gastos y servicios a equipos

Nombre: TABLA DE ALIMENTACIÓN DE GASTOS Y SERVICIOS A


EQUIPOS
Actores Usuario

Objetivo Mostrar en una lista de todos los gastos y servicios a equipos.

Precondiciones El usuario debió de entrar a la opción de gastos y servicios a equipos

Postcondiciones El usuario puede ver en un tabla todos los gastos y servicios a equipos.
Escenario básico El usuario entra a la opción de gastos y servicios a equipos.

25
Tabla 17. Nuevo gasto

Nombre: NUEVO GASTO


Actores Usuario
Objetivo Que el usuario pueda dar de alta un nuevo gasto
Precondiciones El usuario debe entrar a la opción de alimentación de gastos y
servicios a equipos y dar en el botón nuevo gasto.
Postcondiciones El usuario entra a una pantalla donde se muestran los campos a llenar
para dar de alta el nuevo gasto.
Escenario básico 6. El usuario entra a la opción de alimentación de gastos y
servicios a equipos.
7. El usuario da clic sobre el botón de Nuevo Gasto.
8. El usuario entra a la opción de Nuevo Gasto.
9. El usuario llena todos los campos obligatorios.
10. El usuario da clic en el botón Guardar/Cancelar para
finalizar el nuevo registro.

Tabla 18. Filtro para tabla de alimentacion de gastos y servicios a equipos

Nombre: FILTRO PARA TABLA DE ALIMENTACIÓN DE GASTOS Y


SERVICIOS A EQUIPOS
Actores Usuario
Objetivo Poder filtrar registros de la tabla de equipos. Como filtrar por fechas o
limitar el número de registros que se muestran a la vez.
Precondiciones El usuario debe de entrar a la opción de equipos.
Postcondiciones El usuario podrá elegir una fecha inicial y una fecha final en 2
controles. Además si lo desea podrá seleccionar la cantidad máxima de
registros que quiere ver en la tabla a la vez.
Escenario básico 9. El usuario entra a opción de equipos.
10. El usuario selecciona una fecha inicial con el control de fecha
inicial (opcional).
11. El usuario selecciona una fecha final con el control de fecha final
(opcional).

26
12. El usuario establece cuantos registros quiere que se muestren
(opcional).

4.5 CASOS DE USO

RF01 - BARRA LATERAL

RF02 – SQL SERVER

27
RF03 – CATALOGO EQUIPO

RF04 – TABLA DE EQUIPO

28
RF05 - EDITAR EQUIPO

29
RF06 – NUEVO EQUIPO

30
RF07 – FILTROS PARA TABLA DE EQUIPOS

RF08 CATÁLOGO DE SERVICIOS A EQUIPOS

31
RF09 – TABLA DE SERVICIOS A EQUIPOS

RF10 – EDITAR SERVICIO A EQUIPO

32
RF11 – NUEVO SERVICIO A EQUIPO

RF12 – FILTROS PARA TABLA DE SERVICIOS A EQUIPOS

33
RF13 – CATALOGO DE ALIMENTACIÓN DE GASTOS Y SERVICIOS

RF14 - TABLA DE ALIMENTACIÓN DE GASTOS Y SERVICIOS

34
RF15 - NUEVO GASTO

35
RF16 – FILTRO PARA TABLA DE ALIMENTACIÓN DE GASTOS Y SERVICIOS

36
4.6 DIAGRAMAS DE SECUENCIA
4.6.1 RF01 - BARRA LATERAL

4.6.2 RF02 - SQL SERVER

37
4.6.3 RF03 - CATALOGO DE EQUIPOS

4.6.4 RF04 - TABLA DE EQUIPOS

38
4.6.5 RF05 - EDITAR EQUIPO

4.6.6 RF06 - NUEVO EQUIPO

39
4.6.7 RF07 - FILTROS PARA TABLA DE EQUIPO

4.6.8 RF08 - CATALOGO DE SERVICIOS A EQUIPOS

4.6.9 RF09 - TABLA DE SERVICIOS A EQUIPOS

40
4.6.10 RF10 - EDITAR SERVICIO A EQUIPO

4.6.11 RF11 - NUEVO SERVICIO A EQUIPO

41
4.6.12 RF12 - FILTROS PARA LA TABLA DE SERVICIOS A EQUIPOS

4.6.13 RF13 - CATALOGO DE ALIMENTACION DE GASTOS Y SERVICIOS A


EQUIPOS

4.6.14 RF14 - TABLA DE ALIMENTACION DE GASTOS Y SERVICIOS A


EQUIPOS

42
4.6.15 RF15 - NUEVO GASTO

4.6.16 RF16 - FILTROS PARA LA TABLA DE ALIMENTACION DE GASTOS Y


SERVICIOS A EQUIPOS

43
4.7 DICCIONARIO DE DATOS

DICCIONARIO DE DATOS
Tabla: versiones_equipos

Descripcion En esta tabla se enlistan todos las versiones de los servicios


Campo Tipo de dato Tamaño Descripcion
marca_equipos char 5 Marca de los equipos
modelo_equipos char 10 Modelo de los equipos
version_equipos char 10 Version de los equipos
texto varchar 50 Texto de los equipos
trans varchar 50 Transaccion
motor varchar 50 Motor
cilin varchar 50 Cilindrada
combu varchar 50 Combustible
nombre varchar 200 Nombre del equipo
status char 1 Status

DICCIONARIO DE DATOS
Tabla: marcas_equipos
Descripcion En esta tabla se enlistan todos las marcas de los equipos
Campo Tipo de dato Tamaño Descripcion
marca_equipos char 5 Identificador de marca
status char 1 Status
nombre varchar 30 Nombre de la marca

DICCIONARIO DE DATOS
Tabla: modelos_equipo
Descripcion En esta tabla se enlistan todos los modelos de los equipos
Campo Tipo de dato Tamaño Descripcion
marca_equipos char 5 Identificador de la marca
modelo_equipos char 10 Modelo del equipo
status char 1 Status
tipo_equipo char 5 Tipo de equipo
nombre varchar 100 Nombre del modelo

DICCIONARIO DE DATOS
Tabla: años_equipos
Descripcion En esta tabla se enlistan todoslos años de los equipos
Campo Tipo de dato Tamaño Descripcion
año_equipos char 4 Identificador de año

44
DICCIONARIO DE DATOS
Tabla: tipos_equipos
Descripcion En esta tabla se enlistan todos las versiones de los servicios
Campo Tipo de dato Tamaño Descripcion
tipo_equipo char 5 Identificador de tipo de equipo
nombre varchar 100 Nombre del tipo de equipo
abreviatura char 5 Avrebiatura del tipo
porcentaje_depreciacion decimal 9,4 Porcentaje de deprecacion del equipo
status char 1 Status del tipo de equipo

DICCIONARIO DE DATOS
Tabla: usos_equipos
Descripcion En esta tabla se enlistan todos los usos de los equipos
Campo Tipo de dato Tamaño Descripcion
uso_equipos char 5 Identificador del uso
nombre varchar 10 Nombre del uso
recorrido_mes int Recorrido mensual

DICCIONARIO DE DATOS
Tabla: establecimientos
En esta tabla se enlistan todos los
Descripcion establecimientos
Campo Tipo de dato Tamaño Descripcion
Identificador del
cod_estab char 5 establecimiento
Tipo del
tipo_establecimiento char 40 establecimiento
Nombre del
nombre char 40 establecimiento
calle char 100 Calle
num_interior char 20 Numero interior
num_exterior char 20 Número exterior
colonia char 100 Colonia
cod_postal char 5 Código postal
pobmunedo char 40
telefono1 char 25 Teléfono 1
telefono2 char 25 Teléfono 2
rfc char 15 RFC
area_terreno int area del terreno
area_uso int Area en uso
Cajones del
cajones_estacionamiento int estacionamiento
centro_comercial bit Centro comercial
45
aire_acondicionado bit Aire acondicionado
numero_cajas tinyint Numero de cajas
Tipo de
tipo_arrendamiento char 5 arrendamiento
frecuencia_pago char 5 Frecuencia de pago
cantidad_pago smallmoney Cantidad del pago
Fecha del ultimo
fecha_ultimo_pago smalldatetime pago
lista_precios char 10 Lista de precios
tipo_pallet char 5 Tipo de pállet
Tolerancia de la
tolerancia_bascula decimal 5,3 bascula
pais char 5 Pais
estado char 5 Estado
municipio char 5 Municipio
poblacion char 5 Población
region char 5 Región
zona char 10 Zona
sector char 10 Sector
sucursal bit Sucursal
exige_vendedor bit Exige vendedor
maximo_descuento decimal 6,3 Máximo descuento
minimo int Minimo descuento
tipo_minimo char 1 Tipo minimo
dias_para_cargar tinyint Días para cargar
Fecha del ultimo
fecha_ultimo_corte datetime corte
orden_reparto smallint Orden de reparto
ruta_reparto char 5 Rutal del reparto
coordenada_x smallint Coordenada X
coordenada_y smallint Coordenada Y
serie char 4 Serie
posicion_serie char 1 Posición serie
clave_iva char 1 Clave IVA
back_order bit Back order
metodo_pvs char 1 Método PVS
Aplica condiciones
aplica_condiciones_venta char 1 de venta
Aplica condiciones
aplica_condiciones_financieras bit financieras
Aplica grupo de
aplica_grupo_facturacion bit facturación
permite_descvta bit Permite descuento

46
Venta publica al
cliente_venta_publico char 10 cliente
margen_minimo numeric 5,2 Margen mínimo
Exige existencia
exige_existencia_total bit total
Flexibilidad de
flexibilidad_precio_cajas char 1 precio en las cajas
msc_libre bit MSC libre
plazo_expiracion tinyint Plazo de expiración
aplica_cv_felab bit Aplica SV Felab
Autorización del
autorizacion_pedido char 1 pedido
BMS bit BMS
Fecha de inicio de
fecha_inicio_BMS smalldatetime BMS
Proveedor de gastos
proveedor_gastos_embarque char 10 de embarque
costo_financiero decimal 9,4 Costo financiero
Costo mensual por
costo_mensual_almacenaje money amacenaje
Fotografia de los
fotografia_productos_pos bit productos
Incluir negados
incluir_negados_salidas bit salidas
surtido_express bit Surtido express
Posibilidad de modo
modo_online_pos char 1 online
status char 5 Status
Id del ticket de
afectación a
id_afectacion_inventario_tickets int inventarios
Afectación
automatica al
afectacion_automatica_inventario_tickets bit inventario pór tickets
Mostrar credito
mostrar_credito_disponible bit disponible
modo_operacion char 1 Modo de operación
Fecha de envio de la
fecha_envio_informacion smalldatetime información
Fecha de recepción
fecha_recepcion_informacion smalldatetime de la información
notas_tickets bit Notas de los tickets
Pagos a multiples
pagos_multiples_clientes bit clientes
leyenda_ticket varchar 200 Leyenda del ticket

47
Comentario de
comentario_ventas bit ventas
Variacion promedio
variacion_costo_promedio tinyint del costo
razon_social char 150 Razon social
tipo_precio_pos char 1 Tipo de precio
Afecta posición en el
afecta_inventario_pos char 1 inventario
Aplica condiciones
aplica_condiciones_compra char 1 de compra
Verificar el margen
verifica_margen_pos bit de la posición
ticket_ordenado bit Ticket ordenado
salidas_globales bit Salidas globales
mapa char 10 Mapa
minimo_multiplo_pos bit Mínimo multiplo
Lista de precios
lista_precio_publico_sugerido char 5 sugeridos al público
Inventario de precios
inventario_precios_busqueda_pos char 1 para búsqueda
Turnos del
turnos_ventas_mostrador bit mostrador de ventas
Localizaciones de
transacciones de
clasificador de
transaccion_clasificador_producto_localizaciones char 5 producto
Manejo de ubicación
manejo_ubicacion_sugerida char 1 sugerida
Manejo de recibos
manejo_recibo_valores char 1 de valores
orden smallint Orden
volumen decimal 19,4 Volumen
capacidad_pallets int Capacidad de pallets
Comentario de
ventas renglón
comentario_ventas_renglon_aparte bit aparte
Valor de
valor_transferencias char 1 transferencias
Afecta ordenes de
afecta_nd_ordenes_carga bit carga
Anticipo de clientes
anticipo_cliente_solo_apartados bit apartados
Pagare para
pagare_embarques bit embarques
cfd_llave_privada varchar 500 CFD llave privada

48
CFD certificado
cfd_certificado_digital varchar 500 digital
cfd_archivos_xml varchar 500 CDF archivos XML
CFD contraseña
cfd_contraseña_llave_privada varchar 50 llave primaria
codigo_gln varchar 50 Código de galón
ruta_lector_huella varchar 100 Ruta lector de huella
Grupo del
grupo_establecimiento char 3 establecimiento
abreviatura char 10 Abreviatura
regimen_fiscal char 20 Regimen fiscal
Usuario de última
usuario_ultima_modificacion char 5 modificación
ultima_modificacion smalldatetime Ultima modificación
Ruta XML
ruta_xml_proveedores varchar 500 proveedores
curp char 18 CURP
Ruta PDF
ruta_pdf_proveedores varchar 500 proveedores
Horas diferencia
horas_diferencia_servidor smallint servidor
geolocalizacion varchar 50 Geolocalización

DICCIONARIO DE DATOS
Tabla: odometros
Descripcion En esta tabla se enlistan todos los odometros
Campo Tipo de dato Tamaño Descripcion
odometro char 1 Identificador del odometro
nombre varchar 50 Nombre del odometro

DICCIONARIO DE DATOS
Tabla: colores
Descripcion En esta tabla se enlistan todos los colores
Campo Tipo de dato Tamaño Descripcion
color char 5 Identificador del color
nombre varchar 50 Nombre del color
abreviatura char 3 Abreviatura
status char 5 Status
jerarquia char 5 Jerarquía del color
color_codigo varchar 10 Código del color
rowguid uniqueidentifier

49
DICCIONARIO DE DATOS
Tabla: frecuencia_servicio_equipos
Descripcion En esta tabla se enlistan las frecuencias de servicios a equipos
Campo Tipo de dato Tamaño Descripcion
Identificar de la frecuencia de
frecuencia_servicio_equipos char 1 servicio
nombre varchar 50 Nombre de la frecuencia

DICCIONARIO DE DATOS
Tabla: activos_fijos
Descripcion En esta tabla se enlistan todos los activos fijos
Campo Tipo de dato Tamaño Descripcion
activo_fijo char 10 Identificador activo fijo
fecha smalldatetime Fecha
descripcion char 100 Descripcion
marca char 20 Marca
modelo char 20 Modelo
talla char 20 Talla
color char 20 Color
serie char 20 Serie
motor char 20 Motor
tipo_activo_fijo char 5 Tipo activo fijo
transaccion char 5 Transaccion
cod_estab char 5 Identificador cod estab
ubicacion char 50 Ubicacion
fecha_adquisicion smalldatetime Identificador fecha adquisicion
monto_original_inversion money Monto original inversion
usuario char 5 Usuario
usuario_baja char 5 Identificador usuario baja
fecha_baja smalldatetime Identificador fecha baja
fecha_modificacion datetime Identificador fecha modificacion
status char 5 Status
empleado char 10 Empleado
deducible money Deducible
precio_venta money Identificador precio venta
area char 5 Area
departamento char 5 Departamento
inpc_sexto_mes money Inpc sexto mes
folio_referencia char 10 Identificador folio referencia
Identificador transaccion
transaccion_referencia char 5 referencia
CuentaContable varchar 15 Cuenta contable

50
DICCIONARIO DE DATOS
Tabla: tipos_vehiculos
Descripcion En esta tabla se enlistan todos los tipos de vehiculos
Campo Tipo de dato Tamaño Descripcion
tipo_vehiculo char Identificador tipo de vehiculo
nombre varchar Nombre
abreviatura char Abreviatura
capacidad_peso decimal Identificador capacidad de peso
Identificador capacidad de
capacidad_volumen decimal volumen
status char Status

DICCIONARIO DE DATOS
Tabla: choferes_ayudantes
Descripcion En esta tabla se enlistan todos los choferes ayudantes
Campo Tipo de dato Tamaño Descripcion
chofer_ayudante char 10 Identificador de chofer ayudante
nombre char 30 Nombre
chofer bit Chofer
calle char 50 Calle
num_exterior char 10 Num Exterior
num_interior char 10 Num Interior
pobmunedo char 30 Pobmunedo
telefono char 15 Telefono
celular char 15 Celular
telefono_localizador char 15 Telefono Localizador
pin char 10 Pin
e_mail varchar 50 E Mail
empleado char 10 Empleado
status char 5 Status

51
banco char 5 Banco
sucursal char 10 Sucursal
cuenta_bancaria char 20 Cuenta Bancaria
licencia_manejo char 20 Licencia Manejo
vencimiento_licencia_manejo smalldatetime Vencimiento Licencia Manejo
colonia varchar 30 Colonia
cod_estab char 5 Codigo de establecimiento
cod_cte char 10 Codigo de cliente
status_ubicacion char 1 Status Ubicacion
supervisor char 5 Supervisor
tipo_licencia_manejo char 2 Tipo Licencia Manejo
Tipo de licencia de manejo de
tipo_licencia_manejo_empresa char 2 empresa
licencia_manejo_empresa char 10 Licencia Manejo Empresa
Vigencia de la licencia de manejo
vigencia_licencia_manejo_empresa smalldatetime de la empresa
concesionario bit Concesionario
comision bit Comision
clave_secreta varchar 50 Clave Secreta

DICCIONARIO DE DATOS
Tabla: empleados
Descripcion En esta tabla se enlistan todos los empleados
Campo Tipo de dato Tamaño Descripcion
empleado char 10 Identificador del empleado
nombre char 30 Nombre
ap_paterno char 30 Apellido paterno
ap_materno char 30 Apellido materno
calle char 50 Calle
num_exterior char 10 Número exterior
num_interior char 10 Número interior
colonia char 30 Colonia
cod_postal char 6 Código postal
delegacion char 15 Delegación
pobmunedo varchar 50
tel1 char 25 Teléfono 1
tel2 char 25 Teléfono 2
e_mail varchar 100 E-mail

52
rfc char 15 RFC
escolaridad char 5 Escolaridad
profesion char 5 Profesion
cod_estab char 5 Código de establecimiento
puesto char 5 Puesto
area char 5 Área
departamento char 5 Departamento
fecha_ingreso smalldatetime Fecha ingreso
factor_integracion decimal 9,7 Factor integración
tabla_vacaciones char 5 Tabla de vacaciones
tabla_aguinaldo char 5 Tabla de aguinaldo
reg_imss char 12 Registro del IMSS
fecha_baja datetime Fecha de baja
grupo_nomina char 5 Grupo de nómina
curp char 18 CURP
sexo char 1 Sexo
estado_civil char 1 Estado civil
fecha_nacimiento datetime Fecha de nacimiento
curriculum varchar 1000 Curriculum
horario char 5 Horario
forma_pago_empleados char 5 Forma de pago a empleados
multiestab bit Multiestablecimiento
fecha_ultima_checada datetime Ultima fecha checada
gafete char 10 Gafete
tipo_percepcion char 1 Tipo de percepción
forma_calculo_ispt char 1 Forma de cálculo de ISPT
titular char 10 Titular
nombre_completo varchar 100 Nombre completo
tipo_sangre char 10 Tipo de sangre
status_empleado char 5 Status del empleado
lugar_nacimiento varchar 50 Lugar de nacimiento
nombre_padre varchar 50 Nombre del pradre
nombre_madre varchar 50 Nombre de la madre
unidad_medicina_familiar char 10 Unidad de medicina familiar
tipo_empleado char 5 Tipo de empleado
actividad_empleado char 5 Actividad del empleado
linea_produccion char 5 Linea de producción
etapa_linea_produccion char 5 Etapa de la linea de producción
numero_fonacot char 15 Número de FONACOT
sueldo_diario_promedio money Sueldo diario promedio
calcular_subsidio_empleo bit Calcular subsidio de empleo
sueldo_promedio bit Sueldo promedio
puesto2 char 5 Puesto 2

53
puesto3 char 5 Puesto 3
rol_personal char 5 Rol personal
rol_personal2 char 5 Rol personal 2
rol_personal3 char 5 Rol personal 3
fecha_ingreso_real smalldatetime Fecha de ingreso real
vacaciones_extranomina smallint Vacaciones extranomina
porcentaje_ahorro decimal 9,4 Porcentaje de ahorro
resultado_evaluacion char 2 Resultado de la evaluacion
fecha_evaluacion smalldatetime Fecha de evaluación
jefe_inmediato varchar 100 Jefe inmediato
forma_checar char 1 Forma de checar
entre_calles varchar 60 Entre calles
credito_infonavit varchar 20 Crédito INFONAVIT
incentivo money Incentivo
folio_alta_imms varchar 20 Folio de alta al IMSS
tipo_regimen_contratacion char 5 Tipo de regimen de contratación
sindicalizado bit Sindicalizado
INE char 13 INE
obra_proyecto char 10 Obra de proyecto
supervisor char 5 Supervisor
transaccion_obra_proyecto char 5 Transacción de obra o proyecto

DICCIONARIO DE DATOS
Tabla: cargas_estandar
Descripcion En esta tabla se enlistan todas cargas estandar
Campo Tipo de dato Tamaño Descripcion
folio char 5 Identificador de la carga estandar
nombre varchar 50 Nombre
abreviatura char 10 Abreviatura
status char 1 Status

DICCIONARIO DE DATOS
Tabla: accesorios_por_equipo
Descripcion En esta tabla se enlistan todos los accesorios por equipo
Campo Tipo de dato Tamaño Descripcion
equipo char 10 Identificador del equipo
accesorio_equipos char 10 Identificador del accesorio
cantidad decimal 19,4 Cantidad
valor money Valor

54
fecha smalldatetime Fecha
marca char 5 Marca
modelo char 5 Modelo
serie varchar 20 Serie
factura varchar 20 Factura
cod_prv char 10 Código privado
garantia_meses tinyint Garantia meses
fecha_compra smalldatetime Fecha compra

DICCIONARIO DE DATOS
Tabla: accesorios_equipo
Descripcion En esta tabla se enlistan todos los tipos de vehículos
Campo Tipo de dato Tamaño Descripcion
accesorio_equipos char 10 Identificador del accesorio
tipo_equipos char 5 Tipo de equipo
nombre varchar 100 Nombre
status char 1 Status
tipo char 1 Tipo
rango_inicial decimal 19,4 Rango inicial
rango_final decimal 19,4 Rango final

DICCIONARIO DE DATOS
Tabla: productos
Descripcion En esta tabla se enlistan todos los productos
Campo Tipo de dato Tamaño Descripcion
cod_prod char 13 Identificador del producto
descripcion varchar 500 Descripción
marca char 5 Marca
color char 5 Color
modelo char 5 Modelo
talla char 5 Talla
aroma char 5 Aroma
sabor char 5 Sabor
unidad_compra char 5 Unidad de compra
contenido decimal 19,8 Contenido
presentacion char 5 Presentación
contenido_presentacion decimal 19,4 Contenido de presentación
unidad_presentacion char 5 Presentación de unidad
descripcion_completa varchar 500 Descripción completa

55
descripcion_corta varchar 500 Descripción corta
contenido_lineal decimal 19,8 Contenido lineal
unidad_lineal char 5 Unidad lineal
contenido_area decimal 19,8 Contenido area
unidad_area char 5 Unidad area
contenido_peso decimal 19,8 Peso del contenido
contenido_volumen decimal 19,8 Volumen del contenido
unidad_peso char 5 Unidad de peso
unidad_volumen char 5 Unidad de volumen
peso_total decimal 19,4 Peso total
ancho real Ancho
largo real Largo
alto real Alto
volumen real Volumen
ancho_pieza real Ancho de la píeza
largo_pieza real Largo de la pieza
alto_pieza real Alto de la pieza
estiba_maxima smallint Estiba máxima
criterio_precio_venta char 5 Criterio del precio de venta
iva_interior numeric 5,1 IVA interior
iva_fronterizo numeric 5,1 IVA fronterizo
tipo_ieps_compra char 1 Tipo de IEPS de compra
modo_surtido char 1 Modo de surtido
clave_secofi char 5 Clave SECOFI
fragilidad char 5 Fragilidad
importado bit Importado
codigo_analogo char 5 Código analogo
codigo_barras_unidad varchar 30 Código de barras por unidad
codigo_barras_pieza char 20 Código de barras por pieza
garantia_compra tinyint Garantía de compra
garantia_fabricacion tinyint Garantía de fabricación
fecha_alta datetime Fecha de alta
caducidad_recepcion smallint Caducidad de recepción
caducidad_venta smallint Caducidad de venta
caducidad_fabricacion smallint Caducidad de fabricación
prioridad_fabricacion char 5 Prioridad de fabricación
categoria char 5 Categoría
linea_producto char 5 Línea de producto
familia char 5 Familia
tipo_producto char 5 Tipo de producto
clasificacion_productos char 5 Clasificación de productos
grupo_facturacion char 5 Grupo de facturación
clasificacion_carga char 5 Clasificación de carga

56
comprador char 5 Comprador
fracciones_por char 1 Fracciones
decimales tinyint Decimales
fracciones_por_compras char 1 Fracciones de compras
decimales_compras tinyint Decimales de compras
status_producto char 5 Status
ultima_modificacion smalldatetime Ultima modificación
ofertable bit Ofertable
forma_expresar_inventario char 1 Forma de expresar el inventario
minimo_venta decimal 9,4 Minimo de venta
multiplo_venta decimal 9,4 Multiplo de venta
cantidad_precio_promedio decimal 9,4 Precio promedio por cantidad
cuenta_contable char 20 Cuenta contable
contenido_por char 1 Contenido
sistema_equipos char 5 Sistema de equipos
uso_producto char 1 Uso del producto
factor_adicional_volumen_carga decimal 9,4 Factor adicional del volumen
tasa_iva_interior char 2 Tasa IVA interior
tasa_iva_fronterizo char 2 Tasa IVA fronterizo
precio_venta_automatico bit Precio de venta automático
producto_dependiente bit Producto dependiente
minimo_venta_pos decimal 9,4 Minimo venta
multiplo_venta_pos decimal 9,4 Multiplo de venta
forma_resurtido_inventario char 1 Forma de1 surtido de inventario
rango_producto char 5 Rango del producto
tabla_comision char 5 Tabla de camición
cantidad_precio_mayoreo decimal 9,4 Precio de cantidad por mayoreo
clase_producto char 5 Clase de producto
precio_especifico bit Precio específico
bascula bit Bascula
factor_merma decimal(9, 3) 9,3 Factor merma
pedaceria char 1 Pedaceria
cantidad_adicional bit Cantidad adicional
control_etiqueta bit Control de etiqueta
factor_merma_natural decimal(9, 3) 9,3 Factor merma natural
control_caducidad bit Control de caducidad
retornable bit Retornable
notas varchar Notas
area char 5 Area
cruzado bit Cruzado
item varchar 20 Item
tipo_lubricante char 2 Tipo lubricante
viscosidad char 2 Viscosidad

57
norma_oficial_mexicana char 5 Norma oficial mexicana
inventario_identificado bit Inventario identificado
usuario_ultima_modificacion char 5 Usuario ultima modificación
peso_ua decimal 19,4 Peso
grupo_medicamentos char 2 Grupo medicamentos
subgrupo_medicamentos char 2 Subgrupo medicamentos
rango_temperatura char 5 Rango de temperatura
moneda char 5 Moneda
tasa_ieps char 2 Tasa IEPS
ieps money Ieps
ieps_compras money Ieps compras
clave_ssa char 5 Clave SSA
fabricante char 10 Fabricante
pais_origen char 5 Pais de origen
descripcion_adicional varchar 500 Descripcion adicional
ieps_compra decimal 9,4 Ieps de compra
tipo_prenda char 2 Tipo de prenda
estilo char 2 Estilo
tela char 2 Tela
corte char 2 Corte
cuello char 2 Cuello
manga char 2 Manga
estampado char 2 Estampado
accesorio char 2 Accesorio
agrupador varchar 30 Agrupador
patron_talla char 2 Patron talla
clave_fiscal varchar 15 Clave fiscal
control_serie bit Control de serie
ieps_cuota_UC money Ieps cuota UC
rowguid uniqueidentifier Rowguid
fraccion_arancelaria varchar 15 Fraccion arancelaria

DICCIONARIO DE DATOS
Tabla: equipos
Descripcion En esta tabla se enlistan todos los equipos
Campo Tipo de dato Tamaño Descripcion
equipo char 10 Identificador del equipo
nombre varchar 100 Nombre
abreviatura char 6 Abreviatura
tipo_equipo char 5 Tipo de equipo
tipo_vehiculo char 5 Tipo de vehículo
marca char 5 Marca

58
modelo char 100 Modelo
año char 4 Año
serie char 20 Serie
motor char 30 Motor
caracteristicas varchar 500 Características
placas char 10 Placas
ultima_lectura bigint Ultima lectura
seguro money Seguro
tenencia money Tenencia
chofer char 10 Chofer
status char 1 Status
activo_fijo char 10 Activo fijo
fecha_alta smalldatetime Fecha de alta
cod_estab char 5 Código del establecimiento
uso_equipos char 1 Uso de los equipos
codigo_economico char 10 Código económico
empleado char 10 Empleado
fecha_compra smalldatetime Fecha de compra
costo money Costo
valor_comercial money Valor comercial
abono_mensual money Abono mensual
carga_estandar char 5 Carga estándar
equipo_depende char 10 Equipo depende
vida_util int Vida útil
medida_vida_util char 1 Medida de vida útil
garantia int Garantía
medida_garantia char 1 Medida de garantía
lote char 20 Lote
tanque1 int Tanque 1
tanque2 int Tanque 2
tanque3 int Tanque 3
combustible1 char 13 Combustible 1
combustible2 char 13 Combustible 2
combustible3 char 13 Combustible 3
nivel_licencia tinyint Nival de licencia
nivel_licencia_empresa tinyint Nivel de licencia de la empresa
usa_lubricante bit Usa lubricante
vigencia_placas smalldatetime Fecha de la vigencia de las placas
Fecha de la vigencia de
vigencia_circulacion smalldatetime circulación
vida_util2 int Vida útil 2
medida_vida_util2 char 1 Medida vida util 2
garantia2 int Garantía 2

59
medida_garantia2 char 1 Medida garantía 2
area char 5 Área
departamento char 5 Departamento
tarjeta char 10 Tarjeta
ayudante char 5 Ayudante
RENDIMIENTO1 decimal 19,4 Rendimiento 1
RENDIMIENTO2 decimal 19,4 Rendimiento 2
RENDIMIENTO3 decimal 19,4 Rendimiento 3
recorrido_maximo int Recorido máximo
version char 10 Version
odometro char 1 Odómetro
llantas tinyint Llantas
llantas_extras tinyint Llantas extras
llantas_eje1 tinyint Llantas eje 1
llantas_eje2 tinyint Llantas eje 2
llantas_eje3 tinyint Llantas eje 3
llantas_eje4 tinyint Llantas eje 4
llantas_eje5 tinyint Llantas eje 5
llantas_eje6 tinyint Llantas eje 6
color char 5 Color
ayudante2 char 5 Ayudante 2
sirve_odometro bit Sirve odómetro

DICCIONARIO DE DATOS
Tabla: areas
Descripcion En esta tabla se enlistan todas las areas
Campo Tipo de dato Tamaño Descripcion
area char 5 Identificador del area
nombre varchar 50 Nombre del area
abreviatura char 5 Abreviatura del area
status char 5 Status del area
jerarquia char 5 Jerarquia
cuadrilla smallint Cuadrilla
uso char 1 Uso

DICCIONARIO DE DATOS
Tabla: departamentos
Descripcion En esta tabla se enlistan todos los departamentos
Campo Tipo de dato Tamaño Descripcion

60
departamento char 5 Identificador del departamento
nombre varchar 50 Nombre
abreviatura char 5 Abreviatura
status char 5 Status
cuadrilla smallint Cuadrilla

DICCIONARIO DE DATOS
Tabla: servicios
Descripcion En esta tabla se enlistan todos los servicios
Campo Tipo de dato Tamaño Descripcion
Servicio char 10 Identificador del servicio
nombre varchar 100 Nombre del servicio
tipo_servicio char 5 Tipo de sevicio
status char 5 Status del servicio
concepto_gastos char 5 Concepto de gasto
horas_mecanico tinyint Horas de mecanico
minutos_mecanico tinyint Minutos mecanico
orden_mostrar tinyint Mostrar ordenes
concepto_servicio char 5 Concepto del servicio
sistema_equipos char 5 Sistema de los equipos
dias smallint Dias
precio money Precio

DICCIONARIO DE DATOS
Tabla: tipos_servicios
Descripcion En esta tabla se enlistan todos los equipos
Campo Tipo de dato Tamaño Descripcion
Tipo_servicio char 5 Identificador del servicio
Nombre char 30 Nombre
Abreviatura char 3 Abreviatura
Status char 5 Status

DICCIONARIO DE DATOS
Tabla: conceptos_gastos
Descripcion En esta tabla se enlistan todos los conceptos de los gastos
Campo Tipo de dato Tamaño Descripcion
concepto_gastos char Identificador del gasto
nombre char Nombre

61
abreviatura char Abreviatura
iva decimal Iva
status char Status
tipo_concepto_gastos char Tipo de concepto
tasa_iva char Tasa del IVA
tasa_iva_fronterizo char Tasa de IVA fronterizo
exige_cliente bit Exige cliente
uso_embarques bit Uso de embarques
tarifa_distribucion bit Tarifa de distribucion
cod_prv char Codigo privado
cuenta_contable char Cuenta contable
subcuenta_contable char Subcuenta contable
modificable bit Modificable
autorizacion_embarques bit Autorizacion de embarques
no_deducible bit No deducible

DICCIONARIO DE DATOS
Tabla: sistemas_servicios
Descripcion En esta tabla se enlistan todos los conceptos de los gastos
Campo Tipo de dato Tamaño Descripcion
Identificador del sistema de
sistema_equipos char 5 equipos
nombre varchar 50 Nombre
abreviatura char 5 Abreviatura
status char 1 Status

DICCIONARIO DE DATOS
Tabla: conceptos_servicios
Descripcion En esta tabla se enlistan todos los conceptos de los gastos
Campo Tipo de dato Tamaño Descripcion
concepto_servicio char(5) 5 Identificador del concepto
nombre varchar(500) 500 Nombre
abreviatura char(5) 5 Abreviatura
precio_lista money Precio de lista
status char(5) 5 Status
costo money Costo
tasa_iva_interior char(2) 2 Taza de IVA interior
tasa_iva_fronterizo char(2) 2 Taza de IVA fronterizo
area char(5) 5 Area
departamento char(5) 5 Departamento
guias_envio bit Guias de envio
62
clave_fiscal varchar(15) 15 Clave fiscal
clave_fiscal_unidad char(5) 5 Clave fiscal por unidad

DICCIONARIO DE DATOS
Tabla: servicios_dependientes
Descripcion En esta tabla se enlistan todos los conceptos de los gastos
Campo Tipo de dato Tamaño Descripcion
servicio char(10) 10 Identificador del servicio
servicio_dependiente char(10) 10 Servicio dependiente
notas varchar(100) 100 Notas

DICCIONARIO DE DATOS
Tabla: proveedores
Descripcion En esta tabla se enlistan todos los conceptos de los gastos
Campo Tipo de dato Tamaño Descripcion
cod_prv char 10 Identificador del codigo privado
tipo_cuenta_pagar char 5 Tipo de cuenta a pagar
tipo_proveedor char 5 Tipo de proveedor
razon_social char 80 Razon social
clasificacion_fiscal char 5 Clasificacion fiscal
nombre char 30 Nombre
ap_paterno char 30 Apellido paterno
ap_materno char 30 Apellido materno
nom_comercial char 30 Nombre comercial
calle varchar 120 Calle
num_exterior char 10 Numero exterior
num_interior char 10 Numero interior
colonia varchar 60 Colonia
cod_postal char 6 Codigo postal
delegacion char 15 Delegacion
pobmunedo char 50 Pobmunedo
tel1 char 25 Telefono 1
tel2 char 25 Telefono 2
fax char 25 Fax
rfc char 15 RFC
clave_iva char 1 Clave de IVA
flexibilidad_precio char 1 Flexibilidad en el precio
productos_catalogados bit Productos catalogados
pago_flete char 1 Pago de flete
reembolso_flete numeric 5, 1 Reembolso del flete
pedido_minimo decimal 19, 4 Pedido minimo
tipo_minimo char 5 Tipo de minimo

63
codigo_nuestro_proveedor char 10 Codigo nuestro para el proveedor
manejo_devoluciones char 5 Manejo de devoluciones
plazo smallint Plazo
tolerancia_pago tinyint Tolerancia del pago
abono_en_cuenta bit Abono en la cuenta
retencion_pago bit Retencion de pago
back_order bit Back order
Autorizacion de ordenes de
autorizacion_ordenes_compra char 1 compra
pagina_web varchar 100 Pagina web
moneda char 5 Moneda
fecha_alta datetime Fecha de alta
pais char 5 Pais
estado char 5 Estado
municipio char 5 Municipio
poblacion char 5 Poblacion
cod_estab char 5 Codigo del establecimeiento
linea_fletera bit Linea fletera
formato_factura char 20 Formato de la factura
pago_estricto bit Pago estricto
status_proveedor char 5 Status del proveedor
e_mail varchar 100 E-mail
ultima_modificacion smalldatetime Ultima modificacion
proveedor_linea_fletera char 10 Proveedor de la linea fletera
condicion_plazo char 5 Condicion plazo
giro_proveedor char 5 Giro del proveedor
curp char 18 CURP
entre_calles varchar 60 Entre calles
orientacion varchar 10 Orientacion
mapa char 10 Mapa
coordenada_x smallint Coordenada X
coordenada_y smallint Coordenada Y
clave_valor_pagar char 1 Clave del valor a pagar
evaluacion_proveedor tinyint Evaluacion del proveedor
notas varchar 1000 Notas
iva_incluido_precio bit IVA incluido en el precio
nacionalidad char 2 Nacionalidad
comitente bit Comitente
condicion_pago char 1 Condicion de pago
cod_cte char 10 Codigo de cliente
envio_directo_cliente bit Envio directo al cliente
te smallint Te
comprador char 5 Comprador

64
limite_credito money Limite de credito
tolerancia_limite_credito tinyint Tolerancia del limite de credito
paqueteria bit Paqueteria
afianzadora bit Afianzadora
aseguradora bit Aseguradora
tipo_documento_venta char 1 Tipo de documento de venta
usuario_ultima_modificacion char 5 Ultima modificacion del usuario
dias_atencion_oc smallint Dias de atencion
Exige orden de compra de
exige_orden_compra_anticipos bit anticipos

DICCIONARIO DE DATOS
Tabla: mordenes_servicios_equipos
Descripcion En esta tabla se enlistan todos los conceptos de los gastos
Campo Tipo de dato Tamaño Descripción
folio char(10) 10 Folio
transaccion char(5) 5 Transacción
fecha_servicio smalldatetime Fecha del servicio
equipo char(10) 10 Equipo
servicio char(10) 10 Servicio
cod_estab char(5) 5 Código del establecimiento
cod_prv char(10) 10 Código privado
status char(5) 5 Status
mecanico char(5) 5 Mecánico
mano_obra_mecanico money Mano de obra del mecánico
mano_obra_total money Mano de obra total
refacciones money Refacciones
trabajos_otros_talleres money Trabajos en otros talleres
otros_gastos money Otros gastos
lectura int Lectura
cantidad decimal(19, 4) 19, 4 Cantidad
total money Total
operador char(10) 10 Operador
preventivo bit Preventivo
notas varchar(200) 200 Notas
costo money Costo
razon_servicio_equipos char(5) 5 Razon del servicio a equipo
horas_mecanico decimal(9, 3) 9, 3 Horas mecanico
costo_hora_mecanico money Costo de hora mecanico
id int ID

DICCIONARIO DE DATOS

65
Tabla: ordenes_servicios_equipos
Descripcion En esta tabla se enlistan todos los conceptos de los gastos
Campo Tipo de dato Tamaño Descripción
folio char 10 Folio de orden
transaccion char 5 Transacción
fecha_elaboracion datetime Fecha de elaboración
fecha_servicio smalldatetime Fecha del servicio
equipo char 10 Equipo
cod_prv char 10 Código privado
cod_cte char 10 Código de cliente
recepcionista char 5 Recepcionista
fecha_recepcion smalldatetime Fecha de recepción
torreta char 5 Torreta
fecha_entrega smalldatetime Fecha de entrega
fecha_entregado smalldatetime Fecha entregado
usuario char 5 usuario
usuario_cancelacion char 5 Cancelacion de usuario
fecha_cancelacion smalldatetime Fecha de cancelacion
cod_estab char 5 Codigo del establecimiento
notas varchar 500 Notas
status char 5 Status
situacion_orden_servicio char 5 Sutuacion de la orden
factura_proveedor varchar 20 Factura del proveedor
retrabajo bit Retrabajo
garantia bit Garantía
folio_referencia char 10 Folio de referencia
transaccion_referencia char 5 Referencia de la transacción
fecha_terminacion smalldatetime Fecha de terminación
tipo_orden_servicio char 3 Tipo de orden de servicio
tipo_atencion char 1 Tipo de atención
cond_pago char 5 Condición de pago
notas2 varchar 200 Notas
usuario_autorizacion char 5 Autorización de usuario
fecha_autorizacion smalldatetime Fecha de autorización
ultima_modificacion datetime Ultima modificación
usuario_modificacion char 15 Modificación de usuario
contacto varchar 100 Contacto
contacto_telefono varchar 50 Contacto por teléfono
contacto_email varchar 50 Contacto por Email
vendedor char 5 Vendedor
fecha_salida_ing datetime Fecha de salida
fecha_espera_ing datetime Fecha de espera
fecha_duracion_svc datetime Fecha de duración de SVC

66
fecha_regreso_instalacion datetime Fecha de regreso de la instalación
fecha_tiempo_traslado datetime Fecha de tiempo de traslado
fecha_espera_cliente datetime Fecha de espera del cliente
tipo_equipo char 5 Tipo de equipo
estado char 5 Estado
municipio char 5 Municipio
poblacion char 5 Población
clave_iva char 5 Clave del IVA

DICCIONARIO DE DATOS
Tabla: facturas_proveedores
Descripcion En esta tabla se enlistan todos los conceptos de los gastos
Campo Tipo de dato Tamaño Descripcion
folio char 15 Folio de la factura
cod_prv char 10 Codigo privado
Transaccion char 5 Transaccion
Fecha smalldatetime Fecha
importe money Importe
iva money IVA
iva_retenido money IVA retenido
isr_retenido money ISR retenido
neto money Neto
condicion_financiera char 10 Condicion financiera
ieps money IEPS
abonos money Abonos
saldo Saldo
importe_descuento_financiero money Importe por descuento financiero
factura_original bit Factura original
contrarecibo char 10 Contra recibido
importe_programado money Importe programado
moneda char 5 Moneda
tipo_cambio decimal 9,4 Tipo de cambio
folio_referencia char 10 Folio de referencia
transaccion_referencia char 5 Referencia de la transaccion
tiene_recepcion bit Tiene recepcion
usuario char 5 Usuario
usuario_cancelacion char 5 Cancelacion de usuario
fecha_cancelacion smalldatetime Fecha de cancelacion
notas varchar 500 Notas
cod_estab char 5 Codigo de establecimiento
status char 5 Status
plazo smallint Plazo
fecha_arribo smalldatetime Fecha de arribo
67
fecha_embarque smalldatetime Fecha de embarque
fecha_vencimiento smalldatetime Fecha de vencimiento
fecha_captura smalldatetime Fecha de captura
folio_propio char 10 Folio propio
tipo_gasto_proveedor char 5 Tipo de gasto de proveedor
integrado char 10 Integrado
reembolso_aplicado money Reembolso aplicado
creditos_aplicados money Creditos aplicados
area char 5 Area
departamento char 5 Departamento
liberar_pago bit Liberar pago
pedimento char 10 Pedimiento
diot bit DIOT
ietu bit IETU
status_ubicacion char 1 Status de la ubicación
total Total
valor_real money Valor real
nota_credito_pendiente bit Nota de credito pendiente
folio_fiscal varchar 50 Folio fiscal
factura varchar 10 Factura
clave_iva char 1 Clave de IVA
impuestos_locales decimal 19,4 Impuestos locales

DICCIONARIO DE DATOS
Tabla: mfacturas_proveedores
Descripcion En esta tabla se enlistan todos los conceptos de los gastos
Campo Tipo de dato Tamaño Descripcion
id int Identificador de la factura
folio char(15) 15 Folio de la factura
cod_prv char(10) 10 Codigo privado
transaccion char(5) 5 Transaccion
concepto_gastos char(5) 5 Concepto de los gastos
importe money Importe
iva money IVA
total Total

68
cod_estab char(5) 5 Codigo del establecimiento
filtro varchar(500) 500 Filtro
filtro_usuario varchar(500) 500 Filtro de usuario
status char(5) 5 Status
fecha smalldatetime Fecha
iva_retenido money IVA retenido
isr_retenido money ISR retenido
vendedor char(5) 5 Vendedor
ieps money
area char(5) 5 IEPS
departamento char(5) 5 Departamento
notas varchar(300) 300 Notas
activo_fijo char(10) 10 Activo fijo

DICCIONARIO DE DATOS
Tabla: mecanicos
Descripcion En esta tabla se enlistan todos los conceptos de los gastos
Campo Tipo de dato Tamaño Descripción
mecanico char 5 Identificador del mecánico
nombre char 50 Nombre
calle char 30 Calle
num_exterior char 10 Numero exterior
num_interior char 10 Numero interior
colonia char 30 Colonia
cod_postal char 6 Código postal
delegacion char 15 Delegación
pobmunedo char 50 Población, municipio y estado
telefono1 char 15 Teléfono 1
telefono2 char 15 Teléfono 2
fax char 15 Fax
celular char 15 Celular
telefono_localizador char 15 Telefono localizador
pin char 15 PIN
pagina_web varchar 100 Pagina web
e_mail varchar 100 E-mail
status char 1 Status
empleado char 10 Empleado
ayudante bit Ayudante
porc_comision decimal 9, 4 Porcentaje de comision

69
4.8 CODIFICACIÓN PRINCIPAL
4.8.1 VISTAS

@model List<Demo.Models.Equipos>
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
<div class="card-primary">
<div class="card-header">
<h3>Equipos</h3>
</div>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<form class="form-inline my-2 my-lg-0">
<a class="btn btn-outline-primary" href="@Url.Action("NuevoEquipo","Catalogos")" >
<i class="fas fa-file"></i>
Nuevo Equipo
</a>
&nbsp;&nbsp;&nbsp;&nbsp;
@if (TempData["mensajeINF"] != null)
{
<div class="alert alert-info alert-dismissible fade show" role="alert">
@TempData["mensajeINF"]
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
}
@if (TempData["mensajeSAVE"] != null)
{
<div class="alert alert-success alert-dismissible fade show" role="alert">
@TempData["mensajeSAVE"]
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
}
@if (TempData["mensajeEDIT"] != null)
{
<div class="alert alert-warning alert-dismissible fade show" role="alert">
@TempData["mensajeEDIT"]
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
}

</form>

</nav>
<div class="table-responsive">
<table class="table table-hover" id="tabla">
<thead>
<tr>
<th>Equipo</th>
<th>Nombre</th>

70
<th>Abreviatura</th>
<th>Empleado</th>
<th>Status</th>
<th>Serie</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach (var dat in Model)
{
<tr>
<td>@dat.equipo</td>
<td>@dat.nombre</td>
<td>@dat.abreviatura</td>
<td>@dat.nombre_empleado</td>
<td>@dat.status</td>
<td>@dat.serie</td>
<td>
<a class="btn btn-outline-warning" href="@Url.Action("EditarEquipos","Catalogos", new
{id = dat.equipo})">
<i class="fas fa-edit"></i>
Editar
</a>
</td>
</tr>
}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
$(document).ready( function () {
$('#tabla').DataTable();
} );
</script>

@model List<Demo.Models.Servicios>
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
<div class="card-primary">
<div class="card-header">
<h3>Servicios para Equipos </h3>
</div>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<form class="form-inline my-2 my-lg-0">
<a class="btn btn-outline-primary" href="@Url.Action("NuevoServicio","Catalogos")" >
<i class="fas fa-file"></i>
Nuevo Servicio

71
</a>
&nbsp;&nbsp;&nbsp;&nbsp;
<input class="form-control mr-sm-2" id="busqueda" type="search" onkeyup="buscar()"
placeholder="Buscar" aria-label="Search"/>
&nbsp;&nbsp;&nbsp;&nbsp;
@if (TempData["mensajeINF"] != null)
{
<div class="alert alert-info alert-dismissible fade show" role="alert">
@TempData["mensajeINF"]
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
}
@if (TempData["mensajeSAVE"] != null)
{
<div class="alert alert-success alert-dismissible fade show" role="alert">
@TempData["mensajeSAVE"]
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
}
@if (TempData["mensajeEDIT"] != null)
{
<div class="alert alert-warning alert-dismissible fade show" role="alert">
@TempData["mensajeEDIT"]
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
}
</form>

</nav>
<div class="table-responsive">
<table class="table table-bordered" id="tabla">
<thead>
<tr>
<th>Servicio</th>
<th>Nombre</th>
<th>Conc. Servicio</th>
<th>Hrs. Mecánico</th>
<th>Min. Mecánico</th>
<th>Precio</th>
<th>Orden Mostrar</th>
<th>Días</th>
<th>Status</th>
</tr>
</thead>
<tbody>
@foreach (var dat in Model)
{
<tr>
<td>@dat.servicio</td>
<td>@dat.nombre</td>
<td>@dat.cs_nombre</td>
<td>@dat.horas_mecanico</td>

72
<td>@dat.minutos_mecanico</td>
<td align="right">@dat.precio.ToString("#,##0.00")</td>
<td>@dat.orden_mostrar</td>
<td>@dat.dias</td>
<td>@dat.status</td>
<td>
<a class="btn btn-outline-warning" href="@Url.Action("EditarServicio","Catalogos",
new {id = dat.servicio})">
<i class="fas fa-edit"></i>
Editar
</a>
</td>
</tr>
}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
//busca en la tabla
function buscar()
{
const tableReg = document.getElementById('tabla');
const searchText = document.getElementById('busqueda').value.toLowerCase();
let total = 0;
for (let i = 1; i < tableReg.rows.length; i++) {
if (tableReg.rows[i].classList.contains("noSearch")) {
continue;
}
let found = false;
const cellsOfRow = tableReg.rows[i].getElementsByTagName('td');
for (let j = 0; j < cellsOfRow.length && !found; j++) {
const compareWith = cellsOfRow[j].innerHTML.toLowerCase();
if (searchText.length == 0 || compareWith.indexOf(searchText) > -1) {
found = true;
total++;
}
}
if (found) {
tableReg.rows[i].style.display = '';
} else {
tableReg.rows[i].style.display = 'none';
}
}
const lastTR=tableReg.rows[tableReg.rows.length-1];
const td=lastTR.querySelector("td");
lastTR.classList.remove("hide", "red");
if (searchText == "") {
lastTR.classList.add("hide");
}
}
$(document).ready( function () {
$('#tabla').DataTable();
} );

73
</script>

@model List<Demo.Models.AlimentacionGastosServicios>
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
<div class="card-primary">
<div class="card-header">
<h3>Alimentacion de gastos y servicios de equipos</h3>
</div>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<form class="form-inline my-2 my-lg-0">
<a class="btn btn-outline-primary"
href="@Url.Action("NuevoGastoServicios","Catalogos")">
<i class="fas fa-file"></i>
Nuevo gasto
</a>
&nbsp;&nbsp;&nbsp;&nbsp;
@if (TempData["mensajeINF"] != null)
{
<div class="alert alert-info alert-dismissible fade show" role="alert">
@TempData["mensajeINF"]
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
}
@if (TempData["mensajeSAVE"] != null)
{
<div class="alert alert-success alert-dismissible fade show" role="alert">
@TempData["mensajeSAVE"]
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
}
</form>

</nav>
<div class="table-responsive table-bordered">
<table class="table table-hover table-responsive" id="tabla">
<thead>
<tr>
<th>Folio</th>
<th>Codigo del equipo</th>
<th>Equipo</th>
<th>Fecha</th>
<th>Servicios</th>
<th>Establecimiento</th>
<th>Proveedor</th>
<th>Notas</th>
</tr>
</thead>
<tbody>
@foreach (var dat in Model)
{
<tr>

74
<td>@dat.folio</td>
<td>@dat.equipo</td>
<td>@dat.eqNombre</td>
<td>@dat.fecha_servicio</td>
<td>@dat.servicio</td>
<td>@dat.eNombre</td>
<td>@dat.pNombre</td>
<td style="width:12%">@dat.notas</td>
</tr>
}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<script>
$(document).ready( function () {
$('#tabla').DataTable();
} );
</script>

4.8.2 MODELOS

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Numerics;
using System.Threading.Tasks;
namespace Demo.Models
{
public class Equipos
{
public string equipo { get; set; }

75
public string nombre { get; set; }
public string abreviatura { get; set; }
public string tipo_equipo { get; set; }
public string tipo_vehiculo { get; set; }
public string marca{ get; set; }
public string modelo { get; set; }
public string año{ get; set; }
public string serie { get; set; }
public string motor { get; set; }
public string caracteristicas { get; set; }
public string placas { get; set; }
//ultima lectura
public Int64 ultima_lectura { get; set; }
public decimal seguro { get; set; }
public decimal tenencia { get; set; }
public string chofer { get; set; }
public string status { get; set; }
public string activo_fijo { get; set; }
public Boolean es_activo_fijo { get; set; }
//fecha alta
[DataType(DataType.Date)]
public DateTime fecha_alta { get; set; }
public string cod_estab { get; set; }
public string uso_equipos { get; set; }
public string codigo_economico { get; set; }
public string empleado { get; set; }
public string nombre_empleado { get; set; }
//fecha compra
[DataType(DataType.Date)]
public DateTime fecha_compra { get; set; }
public decimal costo { get; set; }
public decimal valor_comercial { get; set; }
public decimal abono_mensual { get; set; }
public string carga_estandar { get; set; }
public string equipo_depende{ get; set; }
public int vida_util { get; set; }
public string medida_vida_util { get; set; }
public int garantia { get; set; }
public string medida_garantia { get; set; }
public string lote { get; set; }
public int tanque1 { get; set; }
public int tanque2 { get; set; }
public int tanque3 { get; set; }
public string combustible1 { get; set; }
public string combustible2 { get; set; }
public string combustible3 { get; set; }
//nivel licencia
public Int32 nivel_licencia { get; set; }
//nivel licencia empresa
public Int32 nivel_licencia_empresa { get; set; }
//usa_lubricante
public Boolean usa_lubricante { get; set; }
//vigencia placas
[DataType(DataType.Date)]
public DateTime vigencia_placas { get; set; }
//vigencia circulacion
[DataType(DataType.Date)]
public DateTime vigencia_circulacion { get; set; }

76
public int vida_util2 { get; set; }
public string medida_vida_util2 { get; set; }
public int garantia2 { get; set; }
public string medida_garantia2 { get; set; }
public string area { get; set; }
public string departamento { get; set; }
public string tarjeta { get; set; }
public string ayudante { get; set; }
public decimal RENDIMIENTO1 { get; set; }
public decimal RENDIMIENTO2 { get; set; }
public decimal RENDIMIENTO3 { get; set; }
public int recorrido_maximo { get; set;}
public string version { get; set; }
public string odometro { get; set; }
//llantas
public Int32 llantas { get; set; }
//llantas extras
public Int32 llantas_extras { get; set; }
//llantas eje1
public Int32 llantas_eje1 { get; set; }
//llantas eje2
public Int32 llantas_eje2 { get; set; }
//llantas eje3
public Int32 llantas_eje3 { get; set; }
//llantas eje4
public Int32 llantas_eje4 { get; set; }
//llantas eje5
public Int32 llantas_eje5 { get; set; }
//llantas eje6
public Int32 llantas_eje6 { get; set; }
public string color { get; set; }
public string ayudante2 { get; set; }
//sirve odometro
public Boolean sirve_odometro { get; set; }
//nombre activo fijo
public string NombreAF { get; set; }
//nombre area
public string NombreAR { get; set; }
//nombre departamento
public string NombreDE { get; set; }
public string NombreDD { get; set; }
public string Nombre_Chofer { get; set; }

}
}
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;

namespace Demo.Models
{
public class Servicios
{
public string servicio { get; set; }
public string nombre { get; set; }
public string tipo_servicio { get; set; }

77
public string status { get; set; }
public string concepto_gastos { get; set; }
public int horas_mecanico { get; set; }
public int minutos_mecanico { get; set; }
public int orden_mostrar { get; set; }
public string concepto_servicio { get; set; }
public string sistema_equipos { get; set; }
public Int16 dias { get; set; }
public decimal precio { get; set; }
public string cs_nombre { get; set; }
}
}

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
using System.ComponentModel;

namespace Demo.Models
{
public class AlimentacionGastosServicios
{
public int id { get; set; }
[Key]
public string folio { get; set; }
public string transaccion { get; set; }
[DataType(DataType.Date)]
public DateTime fecha_servicio { get; set; }
[Required]
public string equipo{ get; set; }
public string usuario { get; set; }
public string usuario_cancelacion { get; set; }
[DataType(DataType.Date)]
public DateTime fecha_cancelacion { get; set; }
public string cod_estab { get; set; }
public string notas { get; set; }
public string notas2 { get; set; }
public string status { get; set; }
public string cod_prv { get; set; }
public DateTime fecha_elaboracion { get; set; }
public string cod_cte { get; set; }
public string recepcionista { get; set; }
[DataType(DataType.Date)]
public DateTime fecha_recepcion { get; set; }
public string torreta { get; set; }
[DataType(DataType.Date)]
public DateTime fecha_entrega { get; set; }
public string factura_proveedor { get; set; }
//[Required]
public string servicio { get; set; }
public string mecanico { get; set; }
public decimal refacciones { get; set; }
public decimal mano_obra_mecanico { get; set; }
public decimal mano_obra_total { get; set; }
public decimal trabajos_otros_talleres { get; set; }

78
public decimal otros_gastos { get; set; }
public int lectura { get; set; }
public decimal cantidad { get; set; }
public decimal total { get; set; }
public string operador { get; set; }
public string tNombre { get; set; }
//public string sNombre { get; set; }
public string eNombre { get; set; }
public string pNombre { get; set; }
public string eqNombre { get; set; }

public virtual List<ServiciosGS> servicioGS { get; set; } = new List<ServiciosGS>();

}
}

4.9 CASOS DE PRUEBA


4.9.1 CAJA NEGRA

4.9.1.1 RF01 Barra Lateral - Caja Negra


Caso Nombre del campo Descripción
Cargo la pagina web TRUE
1
Condiciones de Ejecución: Se mostrara la barra lateral.
Resultados esperados: Se mostro la barra lateral
Caso Nombre del campo Descripción
Cargo la pagina web False
2

Condiciones de Ejecución: Se mostrara la barra lateral


Resultados esperados: No se mostro la barra lateral

4.9.1.2 RF02 SQL Server - Caja Negra


Caso Nombre del campo Descripción
Cargo la pagina TRUE
1
Condiciones de Ejecución: Se establecera la conexión con SQL
Server
Resultados esperados: Se establecio la conexion
Caso Nombre del campo Descripción
Cargo la pagina FALSE
2

Condiciones de Ejecución: Se establecera la conexión a SQL Server


Resultados esperados: Error de conexión con SQL Server

79
4.9.1.3 RF03 Catalogo de equipos - Caja Negra
Caso Nombre del campo Descripción
Dio clic al catalogo de equipos en
1 la barra lateral TRUE

Condiciones de Ejecución: Entrara al catalogo de equipos


Resultados esperados: Entro al catalogo de equipos
Caso Nombre del campo Descripción
Dio clic al catalogo de equipos en
2 la barra lateral FALSE

Condiciones de Ejecución: Entrara al catalogo de equipos


Resultados esperados: No entro al catalogo de equipos

4.9.1.4 RF04 Tabla equipos - Caja Negra


Caso Nombre del campo Descripción
Entro al catalogo de equipos
1 TRUE

Condiciones de Ejecución: La tabla de equipos mostrara los registros


Resultados esperados: Se muestran los registros
Caso Nombre del campo Descripción
Entro al catalogo de equipos
2 FALSE

Condiciones de Ejecución: La tabla de equipos mostrara los registros


Resultados esperados: No se muestran los registros

4.9.1.5 RF05 Edicion de registros de equipos - Caja Negra


Caso Nombre del campo Descripción
La tabla cargo registros y se dio clic
1 en el botón editar.
TRUE

Condiciones de Ejecución: Entras a la pagina de editar registro al dar


clic en editar.
Resultados esperados: Entras a la pantalla de editar
Caso Nombre del campo Descripción
La tabla cargo registros y se dio clic
2 en el botón editar.
FALSE

80
Condiciones de Ejecución: Entras a la pagina de editar registro al dar
clic en editar.
Resultados esperados: No entra a la pantalla editar

4.9.1.6 RF06 Nuevo equipo - Caja Negra


Caso Nombre del campo Descripción
Se dio clic en el botón Nuevo
1 equipo
TRUE

Condiciones de Ejecución: Entrar a la pantalla de nuevo equipo


Resultados esperados: Entra a la pantalla de nuevo equipo
Caso Nombre del campo Descripción
Se dio clic en el botón Nuevo
2 equipo
FALSE

Condiciones de Ejecución: Entrar a la pantalla de nuevo equipo


Resultados esperados: No entra a la pantalla de nuevo equipo

4.9.1.7 RF07 Filtros para la tabla equipos - Caja Negra


Caso Nombre del campo Descripción
Dio clic a la opción de equipos en
1 la barra lateral.
TRUE

Condiciones de Ejecución: Usa los filtros para la tabla de equipos


Resultados esperados: Usa los filtros para la tabla de equipos
Caso Nombre del campo Descripción
Usa los filtros para la tabla de
2 equipos
FALSE

Condiciones de Ejecución: Usa los filtros para la tabla de equipos


Resultados esperados: No usa los filtros para la tabla de equipos

4.9.1.8 RF08 Catalogo de servicios para equipos - Caja Negra


Caso Nombre del campo Descripción
Dio clic al catalogo de servicios a
1 equipos en la barra lateral TRUE

81
Condiciones de Ejecución: Entrara al catalogo de servicios a equipos
Resultados esperados: Entro al catalogo de servicios a equipos
Caso Nombre del campo Descripción
Dio clic al catalogo de servicios a
2 equipos en la barra lateral FALSE

Condiciones de Ejecución: Entrara al catalogo de servicios a equipos


Resultados esperados: No entro al catalogo de servicios a equipos

4.9.1.9 RF09 Tabla de servicios para equipos - Caja Negra


Caso Nombre del campo Descripción
Entro al catalogo de servicios a
1 equipos
TRUE

Condiciones de Ejecución: La tabla de servicios a equipos mostrara


los registros
Resultados esperados: Se muestran los registros
Caso Nombre del campo Descripción
Entro al catalogo de servicios a
2 equipos
FALSE

Condiciones de Ejecución: La tabla de servicios a equipos mostrara


los registros
Resultados esperados: No se muestran los registros

4.9.1.10 RF10 Edicion de registros de servicios a equipos - Caja


Negra
Caso Nombre del campo Descripción
La tabla cargo registros y se dio clic
1 en el botón editar.
TRUE

Condiciones de Ejecución: Entras a la pagina de editar registro al dar


clic en editar.
Resultados esperados: Entras a la pantalla de editar
Caso Nombre del campo Descripción
La tabla cargo registros y se dio clic
2 en el botón editar.
FALSE

82
Condiciones de Ejecución: Entras a la pagina de editar registro al dar
clic en editar.
Resultados esperados: No entra a la pantalla editar

4.9.1.10 RF11 Nuevo servicio a equipo - Caja Negra


Caso Nombre del campo Descripción
Se dio clic en el botón Nuevo
1 servicio a equipo
TRUE

Condiciones de Ejecución: Entrar a la pantalla de nuevo servicios a


equipo
Resultados esperados: Entra a la pantalla de nuevo servicios a equipo
Caso Nombre del campo Descripción
Se dio clic en el botón Nuevo
2 servicio a equipo
FALSE

Condiciones de Ejecución: Entrar a la pantalla de nuevo servicios a


equipo
Resultados esperados: No entra a la pantalla de nuevo servicios a
equipo

4.9.1.12 RF12 Filtros para la tabla servicios a equipos - Caja Negra


Caso Nombre del campo Descripción
Dio clic a la opción de servicios a
1 equipos en la barra lateral.
TRUE

Condiciones de Ejecución: Usa los filtros para la tabla de equipos


Resultados esperados: Usa los filtros para la tabla de equipos
Caso Nombre del campo Descripción
Usa los filtros para la tabla de
2 servicios a equipos
FALSE

Condiciones de Ejecución: Usa los filtros para la tabla de servicios a


equipos
Resultados esperados: No usa los filtros para la tabla de servicios a
equipos

83
4.9.1.13 RF13 Catalogo de alimentación de gastos y servicios - Caja
Negra
Caso Nombre del campo Descripción
Dio clic al catalogo de gastos y
1 servicios en la barra lateral TRUE

Condiciones de Ejecución: Entrara al catalogo de alimentación de


gastos y servicios
Resultados esperados: Entro al catalogo de alimentación de gastos y
servicios
Caso Nombre del campo Descripción
Dio clic al catalogo de alimentación
de gastos y servicio en la barra
2 lateral FALSE

Condiciones de Ejecución: Entrara al catalogo alimentación de de


gastos y servicios
Resultados esperados: No entro al catalogo de alimentación de gastos
y servicios

4.9.1.14 RF14 Tabla de alimentación de gastos y servicios - Caja


Negra
Caso Nombre del campo Descripción
Entro al catalogo de alimentación
1 de gastos y servicios
TRUE

Condiciones de Ejecución: La tabla de alimentación de gastos y


servicios mostrara los registros
Resultados esperados: Se muestran los registros
Caso Nombre del campo Descripción
Entro al catalogo de alimentación
2 de gastos y servicios
FALSE

Condiciones de Ejecución: La tabla de alimentación de gastos y


servicios
Resultados esperados: No se muestran los registros

4.9.1.15 RF15 Nuevo gasto - Caja Negra


Caso Nombre del campo Descripción
1 Se dio clic en el botón Nuevo gasto
TRUE

84
Condiciones de Ejecución: Entrar a la pantalla de nuevo gasto
Resultados esperados: Entra a la pantalla de nuevo gasto
Caso Nombre del campo Descripción
Se dio clic en el botón Nuevo gasto
2 FALSE

Condiciones de Ejecución: Entrar a la pantalla de nuevo servicios a


equipo
Resultados esperados: No entra a la pantalla de nuevo servicios a
equipo

4.9.1.16 RF16 Filtros para la tabla de alimentación de gastos y


servicios - Caja Negra
Caso Nombre del campo Descripción
Dio clic a la opción de
alimentación de gastos y servicios
1 en la barra lateral.
TRUE

Condiciones de Ejecución: Usa los filtros para la tabla de


alimentación de gastos y servicios
Resultados esperados: Usa los filtros para la tabla de alimentación
de gastos y servicios
Caso Nombre del campo Descripción
Dio clic a la opción de
alimentación de gastos y servicios
2 en la barra lateral.
FALSE

Condiciones de Ejecución: Usa los filtros para la tabla de servicios a


equipos
Resultados esperados: No usa los filtros para la tabla de servicios a
equipos

4.9.2 CAJA BLANCA

RF01 Barra lateral - Caja blanca


Datos de entrada: Cargar la pagina
Datos de salida: Se muestra la barra lateral
No. de
Datos de entrada Salida esperada Salida obtenida
caso
1 Se carga la pagina Se muestra la barra lateral Se muestra la barra lateral
2 No se carga la pagina No se muestra la barra lateral No se muestra la barra lateral

85
<p>
Catálogos
<i class="fas fa-angle-left right"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="@Url.Action("Equipos","Catalogos")" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>Equipos</p>
</a>
</li>
<li class="nav-item">
<a href="@Url.Action("Servicios","Catalogos")" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>Taller</p>
</a>
</li>
<li class="nav-item">
<a href="@Url.Action("AlimentacionGastosServicios","Catalogos")" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>Alim. Gastos</p>
</a>
</li> </ul>

RF02 SQL Server - Caja blanca


Datos de entrada: server, database, user, password
Datos de salida: Conexión exitosa
No. de caso Datos de entrada Salida esperada Salida obtenida
server, database, user,
Conexión exitosa Conexión exitosa
1 password
server, null, user,
2 password Error de conexión Error de conexión

86
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"BMS": "Server=192.168.10.101;Database=BMS2015;User Id= sa; Password=C0l0m4;"
}
}

RF03 Catalogo equipos- Caja blanca


Datos de entrada: Entro desde la barra lateral
Datos de salida: Se muestra el catalogo de equipos
No. de caso Datos de entrada Salida esperada Salida obtenida

Uso la opcion Equipos Se muestra el catalogo de Se muestra el catalogo de


en la barra lateral equipos equipos
1
No uso la opcion
No se muestra el catalogo No se muestra el catalogo
Equipos en la barra
de equipos de equipos
2 lateral

<li class="nav-item">
<a href="@Url.Action("Equipos","Catalogos")" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>Equipos</p>
</a>
</li>

RF04 Tabla equipos- Caja blanca


Datos de entrada: Entro a el catalogo de equipos
Datos de salida: Carga la tabla de equipos

No. de caso Datos de entrada Salida esperada Salida obtenida


Entro al catalgo de Carga la tabla de equipos Carga la tabla de equipos
1 equipos
No entro al catalogo No carga la tabla de equipos No carga la tabla de
2 de equipos equipos

87
<div class="table-responsive">
<table class="table table-hover" id="tabla">
<thead>
<tr>
<th>Equipo</th>
<th>Nombre</th>
<th>Abreviatura</th>
<th>Empleado</th>
<th>Status</th>
<th>Serie</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach (var dat in Model)
{
<tr>
<td>@dat.equipo</td>
<td>@dat.nombre</td>
<td>@dat.abreviatura</td>
<td>@dat.nombre_empleado</td>
<td>@dat.status</td>
<td>@dat.serie</td>
<td>
<a class="btn btn-outline-warning"
href="@Url.Action("EditarEquipos","Catalogos", new {id = dat.equipo})">
<i class="fas fa-edit"></i>
Editar
</a>
</td>
</tr>
}
</tbody>
</table>
</div>

RF05 Edicion de registros de equipos - Caja blanca

Datos de entrada: Da clic en el boton editar


Datos de salida: Se muestra la pantalla de editar
No. de caso Datos de entrada Salida esperada Salida obtenida
Da clic en el boton Se muestra la pantalla
Se muestra la pantalla editar
1 editar editar

88
No da clic en el No se muestra la pantalla No se muestra la pantalla
2 boton editar editar editar
<td>
<a class="btn btn-outline-warning" href="@Url.Action("EditarEquipos","Catalogos", new {id =
dat.equipo})">
<i class="fas fa-edit"></i>
Editar</a>
</td>

RF06 Nuevo equipo - Caja blanca


Datos de entrada: Presiono el boton nuevo equipo
Datos de salida: Entra a la pantalla de nuevo equipo
No. de caso Datos de entrada Salida esperada Salida obtenida
Presiono el boton de Entro a la pantalla de nuevo Entro a la pantalla de
1 nuevo equipo equipo nuevo equipo
No resiono el boton de No entro a la pantalla de No entro a la pantalla de
2 nuevo equipo nuevo equipo nuevo equipo
<a class="btn btn-outline-primary" href="@Url.Action("NuevoEquipo","Catalogos")" >
<i class="fas fa-file"></i>
Nuevo Equipo
</a>

RF07 Filtro para tabla equipos - Caja blanca


Datos de entrada: numero de registros, texto para busqueda
Datos de salida: Se filtra la tabla
No. de caso Datos de entrada Salida esperada Salida obtenida

Numero de registros, Se filtra la tabla Se filtra la tabla


1 texto para la busqueda
2 Null, null No se filtra la tabla No se filtra la tabla
<input class="form-control mr-sm-2" id="busqueda" type="search" onkeyup="buscar()"

placeholder="Buscar" aria-label="Search"/> <select name="tabla_length" aria-controls="tabla"


class="custom-select custom-select-sm form-control form-control-sm"><option
value="10">10</option><option value="25">25</option><option value="50">50</option><option
value="100">100</option></select>

RF08 Catalogo de servicios a equipos- Caja blanca


Datos de entrada: Entro desde la barra lateral
Datos de salida: Se muestra el catalogo de servicios a equipos

89
No. de caso Datos de entrada Salida esperada Salida obtenida
Uso la opcion
Se muestra el catalogo de Se muestra el catalogo de
servicios a equipos en
servicios a equipos servicios a equipos
1 la barra lateral
No uso la opcion
No se muestra el catalogo No se muestra el catalogo
servicios a equipos en
de equipos de equipos
2 la barra lateral
<li class="nav-item">
<a href="@Url.Action("Servicios","Catalogos")" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>Taller</p>
</a>
</li>

RF09 Tabla de servicios a equipos- Caja blanca


Datos de entrada: Entro a el catalogo servicios a de equipos
Datos de salida: Carga la tabla de servicios a equipos
No. de caso Datos de entrada Salida esperada Salida obtenida
Entro al catalogo de Carga la tabla de servicios Carga la tabla de servicios
1 servicios a equipos a equipos a equipos
No entro al catalogo No carga la tabla de No carga la tabla de
de servicios a servicios a equipos servicios a equipos
2 equipos

90
<div class="table-responsive">
<table class="table table-bordered" id="tabla">
<thead>
<tr>
<th>Servicio</th>
<th>Nombre</th>
<th>Conc. Servicio</th>
<th>Hrs. Mecánico</th>
<th>Min. Mecánico</th>
<th>Precio</th>
<th>Orden Mostrar</th>
<th>Días</th>
<th>Status</th>
</tr>
</thead>
<tbody>
@foreach (var dat in Model)
{
<tr>
<td>@dat.servicio</td>
<td>@dat.nombre</td>
<td>@dat.cs_nombre</td>
<td>@dat.horas_mecanico</td>
<td>@dat.minutos_mecanico</td>
<td align="right">@dat.precio.ToString("#,##0.00")</td>
<td>@dat.orden_mostrar</td>
<td>@dat.dias</td>
<td>@dat.status</td>
<td>
<a class="btn btn-outline-warning"
href="@Url.Action("EditarServicio","Catalogos", new {id = dat.servicio})">
<i class="fas fa-edit"></i>
Editar
</a>
</td>
</tr>
}
</tbody>
</table>
</div>

91
RF10 Edicion de registros de servicios a equipos - Caja blanca
Datos de entrada: Da clic en el boton editar
Datos de salida: Se muestra la pantalla de editar
No. de caso Datos de entrada Salida esperada Salida obtenida
Da clic en el boton Se muestra la pantalla
Se muestra la pantalla editar
1 editar editar
No da clic en el No se muestra la pantalla No se muestra la pantalla
2 boton editar editar editar
<td>
<a class="btn btn-outline-warning" href="@Url.Action("EditarServicio","Catalogos", new {id =
dat.servicio})">
<i class="fas fa-edit"></i>
Editar
</a>
</td>

RF11 Nuevo servicio - Caja blanca


Datos de entrada: Presiono el boton nuevo equipo
Datos de salida: Entra a la pantalla de nuevo servicio
No. de caso Datos de entrada Salida esperada Salida obtenida
Presiono el boton de Entro a la pantalla de nuevo Entro a la pantalla de
1 nuevo servicio servicio nuevo servicio
No presiono el boton No entro a la pantalla de No entro a la pantalla de
2 de nuevo servicio nuevo servicio nuevo servicio
<a class="btn btn-outline-primary" href="@Url.Action("NuevoServicio","Catalogos")" >
<i class="fas fa-file"></i>
Nuevo Servicio
</a>
<i class="fas fa-file"></i>
Nuevo Equipo
</a>

92
RF12 Filtro para tabla de servicios a equipos - Caja blanca
Datos de entrada: numero de registros, texto para busqueda
Datos de salida: Se filtra la tabla
No. de caso Datos de entrada Salida esperada Salida obtenida

Numero de registros, Se filtra la tabla Se filtra la tabla


1 texto para la busqueda
2 Null, null No se filtra la tabla No se filtra la tabla
<input class="form-control mr-sm-2" id="busqueda" type="search" onkeyup="buscar()"

placeholder="Buscar" aria-label="Search"/> <select name="tabla_length" aria-controls="tabla"


class="custom-select custom-select-sm form-control form-control-sm"><option
value="10">10</option><option value="25">25</option><option value="50">50</option><option
value="100">100</option></select>

RF13 Catalogo de alimentacion de gastos y servicios- Caja blanca


Datos de entrada: Entro desde la barra lateral
Datos de salida: Se muestra el catalogo de alimentacion de gastos y servicios
No. de caso Datos de entrada Salida esperada Salida obtenida
Uso la opcion
Se muestra el catalogo de Se muestra el catalogo de
alimentacion de gastos
alimentacion de gastos y alimentacion de gastos y
y servicios en la barra
servicios servicios
1 lateral
No uso la opcion
No se muestra el catalogo No se muestra el catalogo
alimentacion de gastos
de alimentacion de gastos y de alimentacion de gastos
y servicios en la barra
servicios y servicios
2 lateral
<li class="nav-item">
<a href="@Url.Action("AlimentacionGastosServicios","Catalogos")" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>Alim. Gastos</p>
</a>
</li>
<a href="@Url.Action("Equipos","Catalogos")" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>Equipos</p>
</a>
</li>

93
RF14 Tabla de alimentacion de gastos y servicios - Caja blanca
Datos de entrada: Entro a el catalogo de alimentacion de gastos y servicios
Datos de salida: Carga la tabla de alimentacion de gastos y servicios
No. de caso Datos de entrada Salida esperada Salida obtenida
1 Entro al catalogo de Carga la tabla de Carga la tabla de
alimentacion de alimentacion de gastos y alimentacion de gastos y
gastos y servicios servicios servicios
2 No entro al catalogo No carga la tabla de No carga la tabla de
de alimentacion de alimentacion de gastos y alimentacion de gastos y
gastos y servicios servicios servicios
<div class="table-responsive table-bordered">
<table class="table table-hover table-responsive" id="tabla">
<thead>
<tr>
<th>Folio</th>
<th>Codigo del equipo</th>
<th>Equipo</th>
<th>Fecha</th>
<th>Servicios</th>
<th>Establecimiento</th>
<th>Proveedor</th>
<th>Notas</th>
</tr>
</thead>
<tbody>
@foreach (var dat in Model)
{
<tr>
<td>@dat.folio</td>
<td>@dat.equipo</td>
<td>@dat.eqNombre</td>
<td>@dat.fecha_servicio</td>
<td>@dat.servicio</td>
<td>@dat.eNombre</td>
<td>@dat.pNombre</td>
<td style="width:12%">@dat.notas</td>
</tr>
}
</tbody>
</table>
</div>

94
RF15 Nuevo gasto - Caja blanca
Datos de entrada: Presiono el boton nuevo gasto
Datos de salida: Entra a la pantalla de nuevo equipo
No. de caso Datos de entrada Salida esperada Salida obtenida
1 Presiono el boton de Entro a la pantalla de nuevo Entro a la pantalla de
nuevo gasto gasto nuevo gasto
2 No resiono el boton No entro a la pantalla de No entro a la pantalla de
de nuevo gasto nuevo gasto nuevo gasto
<a class="btn btn-outline-primary" href="@Url.Action("NuevoGastoServicios","Catalogos")">
<i class="fas fa-file"></i>
Nuevo gasto
</a>

RF16 Filtro para tabla de alimentacion de gastos y servicios - Caja blanca


Datos de entrada: numero de registros, texto para busqueda
Datos de salida: Se filtra la tabla
No. de caso Datos de entrada Salida esperada Salida obtenida
1 Numero de registros, Se filtra la tabla Se filtra la tabla
texto para la busqueda

2 Null, null No se filtra la tabla No se filtra la tabla


<input class="form-control mr-sm-2" id="busqueda" type="search" onkeyup="buscar()"

placeholder="Buscar" aria-label="Search"/> <select name="tabla_length" aria-controls="tabla"


class="custom-select custom-select-sm form-control form-control-sm"><option
value="10">10</option><option value="25">25</option><option value="50">50</option><option
value="100">100</option></select>

95
CAPITULO V: RESULTADOS

5.1 DISEÑO DE INTERFACES DEL SOFTWARE

En esta imagen se puede apreciar el diseño de la barra lateral que estará presente en cada
pantalla. Contiene los accesos para cada catalogo.

En esta imagen podemos apreciar el diseño de la pantalla principal del catalogo de equipos.
En ella se muestra el botón de nuevo equipo, la tabla de equipos, los botones de editar, y los
filtros de búsqueda y numero de registros.

96
En esta imagen se muestra la pagina de Nuevo Equipo, la cual aparecera tras dar clic en el
boton de Nuevo Equipo en la pantalla principal de Equipos. En ella se muestra el formulario
con los campos a llenar para generar un nuevo registro.

En esta imagen se muestra la pantalla de Editar Equipo, que aparecerá tras dar clic en el
botón editar de alguno de los registros de la tabla de equipos.

97
En esta imagen se puede apreciar la pantalla principal del catalogo de servicios a equipos, en
la cual se muestra el boton de nuevo servicio, los filtros de busqueda y numero de registros,
asi como la tabla de servicios a equipo y sus botones de editar.

La imagen muestra la pantalla de Editar Servicio, la cual se mostrará tras dar clic en el botón
editar en alguno de los registros de la tabla de servicios a equipos.

98
En esta imagen se puede apreciar la pantalla de Nuevo Servicio que aparecera despues de dar
clic en el boton de Nuevo servicio que se encuetra en la pantalla principal del catalogo de
servicios a equipos. En esta imagen aparecen todos los campos a llenar, asi como un boton de
guardar.

En esta imagen se puede apreciar la pantalla principal del catalogo de de alimentación de


gastos y servicios para equipos. En ella aparece el botón de nuevo gasto, los filtros de
búsqueda y numero de registros, asi como la tabla de gastos y servicios.

99
En esta imagen se aprecia la pantalla de Nuevo Gasto y servicio a equipo, la cual aparecerá
tras dar clic en el botón de nuevo gasto en la pantalla principal del catalogo. En esta se miestran
todos los campos a llenar para generar un nuevo registro, además aparecen los botones de
limpiar todo y guardar.

5.2 ENTREGA DEL SOFTWARE

Se hace entrega del codigo fuente del proyecto utilizado un repositorio de GitHub que se
encuentra en la nube. Desde este repositorio BMS tendrá acceso completo al proyecto.

5.3 CONCLUSIONES
He concluido que realizar la migración tendrá un gran impacto en BMS como empresa, puesto
que ahora su software entara disponible en la web, y cualquiera podrá utilizarlo si tiene una
suscripción activa, y además no solo podrá hacerlo desde cualquier dispositivo, sino desde
cualquier parte.

En lo personal, este proyecto fue una gran enseñanza, ya que me permitio aprender diversas
tecnologías y herramientas, además me dio la oportunidad de relacionarme con nuevas
personas y convivir con ellas en un ambiente laboral saludable.

100
5.4 RECOMENDACIONES

REFERENCIAS
Dalton, M. (30 de 06 de 2021). Gerens. Obtenido de https://gerens.pe/blog/ciclo-gestion-de-
proyectos/
Damorelos. (20 de Febrero de 2019). Scio. Obtenido de
https://www.scio.com.mx/blog/metodologia-tradicional-o-agil-software/
Ecured. (8 de Junio de 2021). Obtenido de
https://www.ecured.cu/CSS3#:~:text=9%20Referencia-
,Introducción%20a%20CSS3,y%20por%20extensión%20en%20XHTML).
Escobar, A. (17 de Agosto de 2019). Wikipedia. Obtenido de
https://es.wikipedia.org/wiki/Bootstrap_(framework)
Gabriel, E. (2015). METODOLOGIAS DE. Buenos aires.
MDN. (7 de Junio de 2021). Obtenido de
https://developer.mozilla.org/es/docs/Web/JavaScript
Microsoft. (03 de Septiembre de 2019). Microsoft. Obtenido de
https://docs.microsoft.com/en-us/visualstudio/get-started/visual-studio-ide?view=vs-
2019
Microsoft. (28 de Enero de 2021). Microsoft. Obtenido de https://docs.microsoft.com/en-
us/dotnet/csharp/tour-of-csharp/
Wagner, B. (01 de Enero de 2021). Microsoft. Obtenido de https://docs.microsoft.com/en-
us/dotnet/csharp/tour-of-csharp/
Wikipedia. (17 de Mayo de 2021). Obtenido de https://es.wikipedia.org/wiki/Modelo–vista–
controlador
Wikipedia. (24 de Mayo de 2021). Wikipedia. Obtenido de
https://es.wikipedia.org/wiki/HTML
Wikipedia. (22 de Abril de 2021). Wikipedia. Obtenido de
https://es.wikipedia.org/wiki/Lenguaje_unificado_de_modelado

101

También podría gustarte