sistema telemÁtico para la gestiÓn de...

102
1 SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOS DE LA EMPRESA VIRTUAL SMART BUSINESS JUAN SEBASTIAN MACIAS ARIAS JHON ESTEBAN JIMÉNEZ GARCÍA INGENIERIA EN TELEMÁTICA FACULTAD TECNOLÓGICA UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS BOGOTÁ DC 2018

Upload: others

Post on 14-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

1

SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOS DE LA EMPRESA VIRTUAL SMART BUSINESS

JUAN SEBASTIAN MACIAS ARIAS

JHON ESTEBAN JIMÉNEZ GARCÍA

INGENIERIA EN TELEMÁTICA FACULTAD TECNOLÓGICA

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS BOGOTÁ DC

2018

Page 2: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

2

SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOS DE LA EMPRESA VIRTUAL SMART BUSINESS

JUAN SEBASTIAN MACIAS ARIAS

JHON ESTEBAN JIMÉNEZ GARCÍA

Trabajo de grado presentado como requisito para optar al título de

INGENIERO EN TELEMÁTICA

MIGUEL ANGEL LEGUIZAMÓN PÁEZ

Tutor

INGENIERIA EN TELEMÁTICA FACULTAD TECNOLÓGICA

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS BOGOTÁ DC

2018

Page 3: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

3

TABLA DE CONTENIDO

1. ORGANIZACIÓN DEL PROYECTO ............................................................... 10

1.1 TÍTULO .................................................................................................... 10

1.2 TEMA ...................................................................................................... 10

1.3 FORMULACIÓN DEL PROBLEMA .......................................................... 10

1.4 ALCANCES Y LIMITACIONES ................................................................ 10

1.4.1 ALCANCE ......................................................................................... 10

1.4.2 LIMITACIONES ................................................................................. 10

1.5 JUSTIFICACIÓN ...................................................................................... 11

1.6 OBJETIVOS ............................................................................................ 11

1.6.1 OBJETIVO GENERAL ...................................................................... 11

1.6.2 OBJETIVOS ESPECÍFICOS ............................................................. 11

1.7 MARCO REFERENCIAL ......................................................................... 11

1.8 MARCO TEÓRICO .................................................................................. 12

1.8.1 MARCO CONCEPTUAL.................................................................... 16

1.9 FACTIBILIDAD ........................................................................................ 17

1.9.1 FACTIBILIDAD TÉCNICA ................................................................. 17

1.9.2 FACTIBILIDAD ECONÓMICA ........................................................... 18

1.10 METODOLOGÍA ................................................................................... 20

1.11 CRONOGRAMA DE ACTIVIDADES..................................................... 23

2. ANÁLISIS E IDENTIFICACIÓN DE LA INFRAESTRUCTURA ACTUAL DE LA EMPRESA ............................................................................................................ 24

2.1 SISTEMAS DE INFORMACIÓN UTILIZADOS ACTUALMENTE ............. 24

2.2 REDES Y SERVIDORES ......................................................................... 25

3. ANÁLISIS DE SOLUCIÓN IAAS PARA LA EMPRESA .................................. 27

3.1 MARCO TEORICO .................................................................................. 27

3.2 VENTAJAS DE UNA SOLUCIÓN IAAS ................................................... 28

3.3 COMPARACIÓN DE PROVEEDORES DE SERVICIOS CLOUD ............ 28

3.3.1 MICROSOFT AZURE VS. AMAZON WEB SERVICES ..................... 30

3.3.1.1 INGRESOS GENERALES .......................................................... 30

3.3.1.2 SERVICIOS ESENCIALES ......................................................... 30

3.3.1.3 INTEGRACIÓN ........................................................................... 31

Page 4: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

4

3.3.1.4 CENTROS DE DATOS ............................................................... 31

3.3.1.5 COSTOS .................................................................................... 32

3.3.2 TIEMPOS DE RESPUESTA IAAS ..................................................... 33

3.4 VENTAJAS PARA LA GESTIÓN DE PROYECTOS DE VIRTUAL SMART BUSINESS ........................................................................................................ 34

4. DESARROLLO DE UNA APLICACIÓN WEB Y UNA MÓVIL CON UNA ARQUITECTURA ADECUADA ............................................................................. 35

4.1 MODELO DE NEGOCIO ......................................................................... 35

4.1.1 MODELO DE PROCESOS ................................................................ 37

4.2 HISTORIAS DE USUARIO ...................................................................... 39

4.3 LEVANTAMIENTO DE HISTORIAS DE USUARIO .................................. 39

4.4 DEFINICIÓN DE ACTORES DEL SISTEMA ............................................ 45

4.5 LISTA PRELIMINAR DE CASOS DE USO .............................................. 46

4.6 DOCUMENTACIÓN DE CASOS DE USO ............................................... 47

4.7 LISTA INICIAL DE CLASES .................................................................... 59

4.8 RESPONSABILIDAD DE CLASES .......................................................... 61

4.9 DIAGRAMA DE CLASES ......................................................................... 73

4.10 DIAGRAMAS DE SECUENCIA ............................................................ 76

4.11 DIAGRAMA DE ACTIVIDADES ............................................................ 78

4.12 DIAGRAMA ENTIDAD RELACIÓN ....................................................... 78

4.13 DIAGRAMA DE DESPLIEGUE ............................................................. 79

4.14 DIAGRAMA DE COMPONENTES ........................................................ 79

4.15 DIAGRAMA DE PAQUETES ................................................................ 80

4.16 ARQUITECTURA DE LA SOLUCIÓN ................................................... 81

4.17 PRUEBAS DE INTEGRACIÓN ............................................................. 83

5. IMPLEMENTACIÓN DE UN SISTEMA DE SEGURIDAD ADECUADO PARA LA SOLUCIÓN ........................................................................................................... 88

5.1 SEGURIDAD DE LA BASE DE DATOS ................................................... 88

5.2 ACCESO A LAS APLICACIONES ........................................................... 90

6. IMPLEMENTACIÓN DE POLÍTICAS DE SEGURIDAD .................................. 91

6.1 ESTRUCTURA JERÁRQUICA DEL ÁREA DE SEGURIDAD DE LA INFORMACIÓN ................................................................................................. 91

6.2 IDENTIFICACION DE AMENAZAS.......................................................... 94

6.3 POLÍTICA DE SEGURIDAD .................................................................... 94

Page 5: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

5

7. CONCLUSIONES .......................................................................................... 99

8. REFERENCIAS BIBLIOGRÁFICAS ............................................................. 101

Page 6: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

6

LISTA DE TABLAS

Tabla 1 Especificaciones técnicas equipo de desarrollo ...................................................... 17

Tabla 2 Especificaciones técnicas servidor de aplicaciones ................................................ 18

Tabla 3 Especificaciones técnicas dispositivo móvil ........................................................... 18

Tabla 4 Gastos de oficina ..................................................................................................... 19

Tabla 5 Gastos de recurso humano ...................................................................................... 19

Tabla 6 Gastos de Hardware ................................................................................................ 19

Tabla 7 Gastos de Software.................................................................................................. 19

Tabla 8 Gastos totales .......................................................................................................... 20

Tabla 9 Historia de usuario 1 ............................................................................................... 39

Tabla 10 Historia de usuario 2 ............................................................................................. 40

Tabla 11 Historia de usuario 3 ............................................................................................. 40

Tabla 12 Historia de usuario 4 ............................................................................................. 40

Tabla 13 Historia de usuario 5 ............................................................................................. 41

Tabla 14 Historia de usuario 6 ............................................................................................. 41

Tabla 15 Historia de usuario 7 ............................................................................................. 42

Tabla 16 Historia de usuario 8 ............................................................................................. 42

Tabla 17 Historia de usuario 9 ............................................................................................. 43

Tabla 18 Historia de usuario 10 ........................................................................................... 43

Tabla 19 Historia de usuario 10 ........................................................................................... 44

Tabla 20 Historia de usuario 12 ........................................................................................... 44

Tabla 21 Historia de usuario 13 ........................................................................................... 45

Tabla 22 Actores del sistema ............................................................................................... 46

Tabla 23 Caso de uso 1 ........................................................................................................ 48

Tabla 24 Caso de uso 2 ........................................................................................................ 48

Tabla 25 Caso de uso 3 ........................................................................................................ 48

Tabla 26 Caso de uso 4 ........................................................................................................ 49

Tabla 27 Caso de uso 5 ........................................................................................................ 49

Tabla 28 Caso de uso 6 ........................................................................................................ 50

Tabla 29 Caso de uso 7 ........................................................................................................ 50

Tabla 30 Caso de uso 8 ........................................................................................................ 50

Tabla 31 Caso de uso 9 ........................................................................................................ 51

Tabla 32 Caso de uso 10 ...................................................................................................... 51

Tabla 33 Caso de uso 11 ...................................................................................................... 52

Tabla 34 Caso de uso 12 ...................................................................................................... 52

Tabla 35 Caso de uso 13 ...................................................................................................... 53

Tabla 36 Caso de uso 14 ...................................................................................................... 53

Tabla 37 Caso de uso 15 ...................................................................................................... 54

Tabla 38 Caso de uso 16 ...................................................................................................... 54

Tabla 39 Caso de uso 17 ...................................................................................................... 55 Tabla 40 Caso de uso 18 ...................................................................................................... 55

Tabla 41 Caso de uso 19 ...................................................................................................... 56

Page 7: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

7

Tabla 42 Caso de uso 20 ...................................................................................................... 56

Tabla 43 Caso de uso 21 ...................................................................................................... 57

Tabla 44 Caso de uso 22 ...................................................................................................... 57

Tabla 45 Caso de uso 23 ...................................................................................................... 58

Tabla 46 Caso de uso 24 ...................................................................................................... 58

Tabla 47 Responsabilidad clase AppTareaUsuario.............................................................. 61

Tabla 48 Responsabilidad clase Asignacion_tarea .............................................................. 61

Tabla 49 Responsabilidad clase Documento........................................................................ 62

Tabla 50 Responsabilidad clase Estado_Tarea .................................................................... 62

Tabla 51 Responsabilidad clase Grupo ................................................................................ 62

Tabla 52 Responsabilidad clase LogError ........................................................................... 62

Tabla 53 Responsabilidad clase LogTransaccion ................................................................ 62

Tabla 54 Responsabilidad clase Modulo.............................................................................. 63

Tabla 55 Responsabilidad clase Movimiento ...................................................................... 63

Tabla 56 Responsabilidad clase Perfil ................................................................................. 63

Tabla 57 Responsabilidad clase Permiso ............................................................................. 63

Tabla 58 Responsabilidad clase PrioridadTarea .................................................................. 63

Tabla 59 Responsabilidad clase Proyecto ............................................................................ 64

Tabla 60 Responsabilidad clase Requerimiento .................................................................. 64

Tabla 61 Responsabilidad clase Tarea ................................................................................. 64

Tabla 62 Responsabilidad clase Tipo_movimiento ............................................................. 64

Tabla 63 Responsabilidad clase Usuario.............................................................................. 64

Tabla 64 Responsabilidad clase EntityModel ...................................................................... 65

Tabla 65 Responsabilidad clase AppTareaUsuarioBLO...................................................... 65

Tabla 66 Responsabilidad clase DocumentoBLO................................................................ 65

Tabla 67 Responsabilidad clase Estado_tareaBLO.............................................................. 66

Tabla 68 Responsabilidad clase GrupoBLO ........................................................................ 66

Tabla 69 Responsabilidad clase ModuloBLO...................................................................... 66

Tabla 70 Responsabilidad clase PerfilBLO ......................................................................... 66

Tabla 71 Responsabilidad clase PermisoPerfilBLO ............................................................ 67

Tabla 72 Responsabilidad clase PrioridadTareaBLO .......................................................... 67

Tabla 73 Responsabilidad clase ProyectoBLO .................................................................... 67

Tabla 74 Responsabilidad clase RequerimientoBLO .......................................................... 67

Tabla 75 Responsabilidad clase TareaBLO ......................................................................... 68

Tabla 76 Responsabilidad clase TipoTareaBLO.................................................................. 68

Tabla 77 Responsabilidad clase UsuarioBLO...................................................................... 68

Tabla 78 Responsabilidad clase Crud .................................................................................. 68

Tabla 79 Responsabilidad clase ICrudObject ...................................................................... 69

Tabla 80 Responsabilidad clase Asignacion_tareasController ............................................ 69

Tabla 81 Responsabilidad clase DocumentosController...................................................... 69

Tabla 82 Responsabilidad clase HomeController ................................................................ 70

Tabla 83 Responsabilidad clase LoginController ................................................................ 70

Tabla 84 Responsabilidad clase ModulosController............................................................ 70

Tabla 85 Responsabilidad clase PerfilesController.............................................................. 71

Tabla 86 Responsabilidad clase ProyectosController .......................................................... 71

Page 8: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

8

Tabla 87 Responsabilidad clase RequerimientosController ................................................ 71

Tabla 88 Responsabilidad clase TareasController ............................................................... 72

Tabla 89 Responsabilidad clase UsuariosController............................................................ 72

Tabla 90 Prueba 1................................................................................................................. 83

Tabla 91 Prueba 2................................................................................................................. 85

Tabla 92 Identificación de activos ....................................................................................... 93

Tabla 93 Identificación de amenazas ................................................................................... 94

Page 9: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

9

LISTA DE FIGURAS

Ilustración 1 Cronograma de actividades ............................................................................. 23

Ilustración 2 Infraestructura Virtual Smart Business ........................................................... 26

Ilustración 3 Principales razones de las empresas para adoptar servicios Cloud para el año

2017 ...................................................................................................................................... 29

Ilustración 4 Microsoft Azure vs. Amazon Web Services ................................................... 30

Ilustración 5 Data Centers de Amazon Web Services ......................................................... 32

Ilustración 6 Data Centers de Microsoft Azure.................................................................... 32

Ilustración 7 Simulación de carga a Aplicación Web en Azure desde Visual Studio.......... 33

Ilustración 8 Diagrama de procesos Login........................................................................... 37

Ilustración 9 Diagrama de procesos módulos generales ...................................................... 38

Ilustración 10 Diagrama de clases ENTITIES LAYER ....................................................... 73

Ilustración 11 Diagrama de clases DATA ACCESS LAYER ............................................. 73

Ilustración 12 Diagrama de clases BUSINESS LOGIC LAYER ........................................ 74

Ilustración 13 Diagrama de clases WEB API LAYER ........................................................ 74

Ilustración 14 Diagrama de clases WEB API LAYER general ........................................... 75

Ilustración 15 Diagrama de clases WEB USER INTERFACE LAYER ............................. 75

Ilustración 16 Diagrama de secuencia Login ....................................................................... 76

Ilustración 17 Diagrama de secuencia procesos CRUD ...................................................... 77

Ilustración 18 Diagrama de actividades ............................................................................... 78

Ilustración 19 Diagrama Entidad Relación .......................................................................... 78

Ilustración 20 Diagrama de despliegue ................................................................................ 79

Ilustración 21 Diagrama de componentes ............................................................................ 79

Ilustración 22 Diagrama de paquetes ................................................................................... 80

Ilustración 23 Arquitectura de la solución ........................................................................... 82

Ilustración 24 Esquema de seguridad de acceso a las aplicaciones en Azure ...................... 90

Ilustración 24 Estructura jerárquica del área de seguridad .................................................. 91

Page 10: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

10

1. ORGANIZACIÓN DEL PROYECTO

1.1 TÍTULO

SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOS DE LA EMPRESA VIRTUAL SMART BUSINESS

1.2 TEMA

Se propone desarrollar un sistema que facilite la gestión de los proyectos de la empresa Virtual Smart Business.

1.3 FORMULACIÓN DEL PROBLEMA

¿Cómo lograr gestionar los proyectos de la empresa Virtual Smart Business midiendo el rendimiento, la efectividad y el cumplimiento de objetivos con el fin de mejorar el rumbo de los proyectos futuros de la compañía?

1.4 ALCANCES Y LIMITACIONES

1.4.1 ALCANCE

El proyecto en su desarrollo tiene como alcance sistematizar el proceso de gestión de proyectos de la empresa Virtual Smart Business, de tal forma que se ajuste a las necesidades de la compañía y cumpla con agilizar y mejorar el proceso de gestión de los proyectos. Puntualmente el proyecto se encargará de desarrollar una solución telemática que permita administrar los proyectos, las tareas, los requerimientos, el personal y los clientes de la compañía, con el fin de realizar toda la gestión del core del negocio, poniendo a disposición de los altos mandos de la empresa un conjunto de informes y estadísticas determinantes en la toma de decisiones, tales como el desempeño general de la empresa o incluso efectividad individual de cada colaborador.

1.4.2 LIMITACIONES

Para la fase de levantamiento de requerimientos es necesaria la presencia de personal de la empresa, ya que de acuerdo a la metodología implementada (Scrum) las historias de usuario son descritas y probadas por el usuario final (empresa) e interpretadas por el equipo de desarrollo, y en ocasiones los colaboradores de la empresa no pueden asistir por sus tareas laborales.

Page 11: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

11

1.5 JUSTIFICACIÓN

Actualmente el grupo de investigación manipula la información de forma manual; digitada por un usuario en cada uno de los puntos, rellenando un mismo campo varias veces para un mismo formulario, lo que hace que le recolección de la información sea un proceso tedioso. Con la implantación del proyecto se pretende reducir el tiempo de recolección de los datos y su futura implementación en procesos de estudio de las mismas obras.

1.6 OBJETIVOS

1.6.1 OBJETIVO GENERAL

Analizar, desarrollar e implementar un sistema telemático en ambiente web y móvil para la gestión de proyectos de la empresa Virtual Smart Business mediante la metodología SCRUM.

1.6.2 OBJETIVOS ESPECÍFICOS

• Analizar e identificar la infraestructura actual de la empresa, con el fin de validar que la solución propuesta no tenga inconvenientes de acceso para los usuarios.

• Validar si una solución en la nube IaaS es necesaria para la cantidad de usuarios finales que se logren identificar.

• Desarrollar una arquitectura adecuada, agrupando apropiadamente actores lógicos, persistentes y de presentación, generando un sistema web y móvil correcto.

• Implementar un sistema de seguridad adecuado para un sistema de gestión de proyectos empresarial.

• Implementar políticas de seguridad que garanticen la confidencialidad e integridad de la información.

1.7 MARCO REFERENCIAL

La importancia de automatizar procesos es parte del proceso de globalización, y lo indica el auge de empresas a nivel mundial que adoptan medidas de análisis y recolección de datos para facilitar el proceso de toma de decisiones en cualquier área de la industria, por lo tanto es de gran importancia que la empresa Virtual Smart

Page 12: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

12

Business tenga una herramienta que logre impulsarlo en el mercado, brindando datos de la eficacia del proceso de gestión de proyectos y ayudando en la creación de estrategias para el crecimiento de la compañía.

1.8 MARCO TEÓRICO

Los sistemas informáticos actuales son cada vez más flexibles y adaptables en dependencia de las necesidades de los clientes, por lo general están compuestos por varios módulos independientes que realizan determinadas funciones y todos ellos unidos por una estructura organizativa llamada módulo de administración que permitirá que el sistema funcione de forma ordenada, segura y consistente. La seguridad de la aplicación es uno de los requerimientos más importantes que deben ser cumplidos. Está basada en las restricciones más comúnmente usadas en cualquier sistema que la implemente, con el uso de los conceptos de autenticación y autorización, basados en requerir una cuenta de usuario válida y activa, además de un conjunto de roles que le permitirán al usuario realizar solo aquellas operaciones que se le han asignado por los administradores del sistema. Todo este chequeo es realizado, al iniciar la aplicación y luego comprueba la autorización a las distintas funcionalidades del sistema. De esta forma el usuario solo podrá hacer lo que se le asigne y permitirá aumentar la fiabilidad del sistema. Al ser la seguridad un requisito muy importante para este, en las primeras fases de análisis y diseño del proyecto se deben definir una serie de restricciones para el acceso a la base de datos y para el registro de las operaciones de los usuarios que interactúan con ella. El usuario solo va a tener los roles que le son asignados y solo va a poder interactuar con los procedimientos almacenados que tengan permiso a ejecutar sus roles, brindado así un nivel muy alto de seguridad y el control de las operaciones a realizar.1 A diferencia de otros sistemas existentes en el mercado, el sistema contará con una aplicación mobile, la cual permitirá, en tiempo real, monitorear la visita realizada por el área de soporte y mantenimiento, registrar el tiempo empleado en cada visita. También podrán reportar cualquier incidente que se presente en dichas visitas, prestando todo el apoyo técnico que requiera, por parte de la central de soporte, para cumplir con la tarea u objetivo al cual fue designado. Patrones de arquitectura: ofrecen soluciones a problemas de arquitectura de software en ingeniería de software. Dan una descripción de los elementos y el tipo de relación que tienen junto con un conjunto de restricciones sobre cómo pueden ser usados. Un patrón arquitectónico expresa un esquema de organización estructural esencial para un sistema de software, que consta de subsistemas, sus

1 Gary McGraw, Software Security: Building Security in (2006)

Page 13: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

13

responsabilidades e interrelaciones. En comparación con los patrones de diseño, los patrones arquitectónicos tienen un nivel de abstracción mayor.2 Aunque un patrón arquitectónico comunica una imagen de un sistema, no es una arquitectura como tal. Un patrón arquitectónico es más un concepto que captura elementos esenciales de una arquitectura de software. Programación por capas: La programación por capas se refiere a un estilo de programación que tiene como objetivo separar la lógica de diseño de la lógica de negocios. Una de las ventajas que se puede destacar sobre este estilo es que el desarrollo del software se puede llevar a cabo en varios tipos de niveles, así, cuando suceda algún cambio solo se trabaja sobre el nivel requerido. La programación por capas es una técnica de la ingeniería del software propia de la programación a objetos, que se divide en 3 capas: la capa de presentación o frontera, la capa de lógica de negocio y por último la capa de datos. Entity Framework: Entity Framework es un conjunto de tecnologías de ADO.NET que permiten el desarrollo de aplicaciones de software orientadas a datos3. Entity Framework permite a los desarrolladores trabajar con datos en forma de objetos y propiedades específicos del dominio, como clientes y direcciones de cliente, sin tener que preocuparse por las tablas y columnas de la base de datos subyacente donde se almacenan estos datos. Con Entity Framework, los desarrolladores pueden trabajar en un nivel mayor de abstracción cuando tratan con datos, y pueden crear y mantener aplicaciones orientadas a datos con menos código que en las aplicaciones tradicionales.4 Microsoft.Net: Es el conjunto de nuevas tecnologías en las que Microsoft ha estado trabajando durante los últimos años con el objetivo de obtener una plataforma sencilla y potente para distribuir el software en forma de servicios que puedan ser suministrados remotamente y que puedan comunicarse y combinarse unos con otros de manera totalmente independiente de la plataforma, lenguaje de programación y modelo de componentes con los que hayan sido desarrollados.5 JavaScript: Es un lenguaje de programación utilizado para crear pequeños programas encargados de realizar acciones dentro del ámbito de una página web. Se trata de un lenguaje de programación del lado del cliente, porque es el navegador el que soporta la carga de procesamiento. Gracias a su compatibilidad con la mayoría de los navegadores modernos.

2 Stanley Portny, Project Management for dummies (2001), Wiley 3 Julia Lerman, Programming Entity Framework (2009) 4 Adam Freeman, Pro ASP.NET MVC 5 (Expert's Voice in ASP.Net) (2010) 5 Jon Skeet, C# in Depht (2013)

Page 14: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

14

Android: Android es un sistema operativo inicialmente pensado para teléfonos móviles, al igual que iOS, Symbian y Blackberry OS. Lo que lo hace diferente es que está basado en Linux, un núcleo de sistema operativo libre, gratuito y multiplataforma. Xamarin: Xamarin es una plataforma de desarrollo de aplicaciones móviles para crear aplicaciones nativas de iOS, Android y Windows desde una base de código C # /. NET común, logrando un 75% a casi un 100% de reutilización de código entre plataformas. Las aplicaciones escritas con Xamarin y C # tienen acceso completo a las API de la plataforma subyacente y la capacidad de crear interfaces de usuario nativas y compilar paquetes específicos de la plataforma para que haya poco impacto en el rendimiento del tiempo de ejecución.6 Metodología SCRUM: Scrum es un proceso en el que se aplican de manera regular un conjunto de buenas prácticas para trabajar colaborativamente, en equipo, y obtener el mejor resultado posible de un proyecto. Estas prácticas se apoyan unas a otras y su selección tiene origen en un estudio de la manera de trabajar de equipos altamente productivos.7 En Scrum se realizan entregas parciales y regulares del producto final, priorizadas por el beneficio que aportan al receptor del proyecto. Por ello, Scrum está especialmente indicado para proyectos en entornos complejos, donde se necesita obtener resultados pronto, donde los requisitos son cambiantes o poco definidos, donde la innovación, la competitividad, la flexibilidad y la productividad son fundamentales. Scrum también se utiliza para resolver situaciones en que no se está entregando al cliente lo que necesita, cuando las entregas se alargan demasiado, los costes se disparan o la calidad no es aceptable, cuando se necesita capacidad de reacción ante la competencia, cuando la moral de los equipos es baja y la rotación alta, cuando es necesario identificar y solucionar ineficiencias sistemáticamente o cuando se quiere trabajar utilizando un proceso especializado en el desarrollo de producto. En Scrum un proyecto se ejecuta en bloques temporales cortos y fijos (iteraciones que normalmente son de 2 semanas, aunque en algunos equipos son de 3 y hasta 4 semanas, límite máximo de feedback y reflexión). Cada iteración tiene que proporcionar un resultado completo, un incremento de producto final que sea susceptible de ser entregado con el mínimo esfuerzo al cliente cuando lo solicite. El proceso parte de la lista de objetivos/requisitos priorizada del producto, que actúa como plan del proyecto. En esta lista el cliente prioriza los objetivos balanceando el

6 Dan Hermes, Xamarin Mobile Application Development (2015) 7 Jeff Sutherland, Scrum: The Art of Doing Twice the Work in Half the Time (2014)

Page 15: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

15

valor que le aportan respecto a su coste y quedan repartidos en iteraciones y entregas.8 Las actividades que se llevan a cabo en Scrum son las siguientes:

● Planificación de la iteración

El primer día de la iteración se realiza la reunión de planificación de la iteración. Tiene dos partes: Selección de requisitos (4 horas máximo). El cliente presenta al equipo la lista de requisitos priorizada del producto o proyecto. El equipo pregunta al cliente las dudas que surgen y selecciona los requisitos más prioritarios que se compromete a completar en la iteración, de manera que puedan ser entregados si el cliente lo solicita. Planificación de la iteración (4 horas máximo). El equipo elabora la lista de tareas de la iteración necesarias para desarrollar los requisitos a que se ha comprometido. La estimación de esfuerzo se hace de manera conjunta y los miembros del equipo se autoasignan las tareas.

● Ejecución de la iteración

Cada día el equipo realiza una reunión de sincronización (15 minutos máximo). Cada miembro del equipo inspecciona el trabajo que el resto está realizando (dependencias entre tareas, progreso hacia el objetivo de la iteración, obstáculos que pueden impedir este objetivo) para poder hacer las adaptaciones necesarias que permitan cumplir con el compromiso adquirido. En la reunión cada miembro del equipo responde a tres preguntas:

• ¿Qué he hecho desde la última reunión de sincronización?

• ¿Qué voy a hacer a partir de este momento?

• ¿Qué impedimentos tengo o voy a tener? Durante la iteración el Facilitador (Scrum Master) se encarga de:

• Que el equipo pueda cumplir con su compromiso y de que no se merme su productividad.

• Elimina los obstáculos que el equipo no puede resolver por sí mismo.

• Protege al equipo de interrupciones externas que puedan afectar su compromiso o su productividad.

Durante la iteración, los clientes junto con el equipo refinan la lista de requisitos (para prepararlos para las siguientes iteraciones) y, si es necesario, cambian o replanifican los objetivos del proyecto para maximizar la utilidad de lo que se desarrolla y el retorno de inversión.

8 Ken Schwaber, Agile Project Management with Scrum

Page 16: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

16

● Inspección y adaptación

El último día de la iteración se realiza la reunión de revisión de la iteración. Tiene dos partes: Demostración (4 horas máximo). El equipo presenta al cliente los requisitos completados en la iteración, en forma de incremento de producto preparado para ser entregado con el mínimo esfuerzo. En función de los resultados mostrados y de los cambios que haya habido en el contexto del proyecto, el cliente realiza las adaptaciones necesarias de manera objetiva, ya desde la primera iteración, replanificando el proyecto. Retrospectiva (4 horas máximo). El equipo analiza cómo ha sido su manera de trabajar y cuáles son los problemas que podrían impedirle progresar adecuadamente, mejorando de manera continua su productividad. El Facilitador se encargará de ir eliminando los obstáculos identificados.

1.8.1 MARCO CONCEPTUAL

A continuación, se especificará el marco de conceptos que generan ambigüedad en el enfoque del objetivo a desarrollar respecto a la solución a desarrollar. Gestión: Asumir, monitorear y llevar a cabo todas las tareas que requiera un proceso. Proyecto: Idea por realizar para la cual se establece un modo determinado y un conjunto de medios para realizarla. Monitoreo: Proceso mediante el cual se reúne, observa y estudia una cantidad de información sobre un hecho. Accesibilidad: Hacer posible la interacción del aplicativo y la información en cualquier momento. Componente: Una pieza del proyecto que puede ser modificada o reformada, sin alterar en gran medida el funcionamiento final del proyecto u/o aplicativo. Telemática: Implementación de servicios de envío y recepción de datos en los sistemas informáticos. Historias de usuario: Representación de un requisito escrito en lenguaje común de usuario.

Page 17: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

17

1.9 FACTIBILIDAD

1.9.1 FACTIBILIDAD TÉCNICA

Se hizo una revisión del software y hardware disponible por el grupo de investigación, que determinó los componentes técnicos que se poseen para el desarrollo del proyecto; y se adquirió información de los requerimientos técnicos que no se cumplen para la puesta en marcha del mismo. De acuerdo a las tecnologías necesarias para el desarrollo del presente proyecto, existen requerimientos técnicos de software y hardware que se delimitaran a continuación: Hardware: Respecto al hardware necesario los dispositivos para los que se desarrollará el aplicativo serán:

● 2 equipos para los desarrolladores con las siguientes especificaciones:

Nombre del producto

ASUS N550

Número de producto JHK2250K

Microprocesador Intel Core i7-4700HQ de cuarta generación a 2,40 GHz, hasta 3,40 GHz con tecnología

Turbo Boost

Memoria SDRAM DDR3L de 8 GB (2 DIMM)

Disco duro Unidad de 1 TB (7200 RPM)

Tarjeta de red LAN Gigabit Ethernet 10/100/1000 (conector RJ-45)

Conectividad inalámbrica

WLAN 802.11b/g/n Bluetooth

Tabla 1 Especificaciones técnicas equipo de desarrollo

• Servidor donde se desplegará la aplicación web, la API REST y la Base de datos con las siguientes especificaciones:

Nombre del producto

ASUS RS720

Número de producto RS720-E9-RS12-E

Microprocesador Intel Xeon con plataforma escalable

Memoria 8 GB (Soporte de 24 DIMM)

Disco duro 2 TB HDD

Tarjeta de red Dos puertos de 1Gb Velocidades 10/100/1000 Mb/s

Page 18: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

18

S.O. Windows Server 2012 o Superior

Servidor de aplicaciones

Internet Information Services 8 o Superior

Tabla 2 Especificaciones técnicas servidor de aplicaciones

• Smartphone para la implementación y pruebas de la aplicación móvil con las siguientes especificaciones:

Nombre del producto

SmartPhone

Microprocesador QuadCore 2 GHz

Memoria 2 GB

Disco duro 16 GB

S.O. Android 4 o iOS

Tabla 3 Especificaciones técnicas dispositivo móvil

El smartphone tiene las características necesarias para el desempeño óptimo de la aplicación, adicionalmente los equipos deben contar con un plan de datos para la transferencia de información en cada uno de los puntos de recolección de la misma. Software: En lo referente a software se utilizarán aplicaciones de desarrollo de código abierto; lo cual no frenará el avance del proyecto, minimizando el costo de inversión en adquisición del software. Entre el software libre a utilizar se encuentra:

• Visual Studio Community Edition

• SQL Server Express 2014

Software licenciado:

• Windows 10 Enterprise

• Windows 7 Ultimate Service Pack 1 1.9.2 FACTIBILIDAD ECONÓMICA

El estudio económico realizado al proyecto sobre su costo financiero al momento de su puesta en marcha y los beneficios obtenidos por este arrojó los siguientes datos:

• Análisis de costo-beneficio: Durante esta fase se encontró que gran parte del Hardware y Software requerido ya estaba a disposición de los desarrolladores, gracias a que la empresa Virtual Smart

Page 19: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

19

Business se dedica al desarrollo de soluciones a la medida y a través de su trayectoria ha adquirido Software Licenciado y Hardware de excelentes especificaciones que favorecen la realización del presente proyecto, impulsando su viabilidad con una inversión bastante cómoda para la empresa. Los siguientes son los gastos que requiere el proyecto:

Descripción Costo aproximado

Cantidad Costo total al finalizar el desarrollo

Material de oficina $ 50.000,00 5 $ 250.000,00

Cartuchos o tonner de impresión

$ 126.000,00 1 $ 126.000,00

Total $ 376.000,00

Tabla 4 Gastos de oficina

Recurso Sueldo hora Cantidad de horas

Sueldo total

Estudiante $ 20.000,00 200 $ 4´000.000,00

Tutor Interno $ 30.000,00 40 $ 1’200.000,00

Usuarios finales $ 30.000,00 40 $ 1’200.000,00

Total $ 6’400.000,00

Tabla 5 Gastos de recurso humano

Descripción Valor unitario

Cantidad Valor total

ASUS RS720 $ 2’000.000,00

2 $ 4’000.000,00

SmartPhone $ 400.000,00 1 $ 400.000,00

Accesorios de conexión $ 15.000,00 3 $ 45.000,00

Total $ 4’445.000,00

Tabla 6 Gastos de Hardware

Descripción Valor unitario

Cantidad Valor total

Licencia Windows 10 Enterprise

$ 400.000,00 2 $ 800.000,00

Total $ 800.000,00

Tabla 7 Gastos de Software

Page 20: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

20

Descripción Valor

Material de oficina $ 376.000

Recurso humano $ 6’400.000,00

Hardware $ 4’445.000,00

Software $ 800.000,00

Total $ 12’021.000,00

Tabla 8 Gastos totales

1.10 METODOLOGÍA

SCRUM

Scrum es un marco de trabajo de procesos que ha sido usado para gestionar el desarrollo de productos complejos desde principios de los años 90. Scrum no es un proceso o una técnica para construir productos; en lugar de eso, es un marco de trabajo dentro del cual se pueden emplear varias técnicas y procesos. Scrum muestra la eficacia relativa de las prácticas de gestión de producto y las prácticas de desarrollo. El marco de trabajo Scrum consiste en los Equipos Scrum, roles, eventos, artefactos y reglas asociadas. Cada componente dentro del marco de trabajo sirve a un propósito específico y es esencial para el éxito de Scrum y para su uso.Las reglas de Scrum relacionan los eventos, roles y artefactos, gobernando las relaciones e interacciones entre ellos. Scrum se basa en la teoría de control de procesos empírica o empirismo. El empirismo asegura que el conocimiento procede de la experiencia y de tomar decisiones basándose en lo que se conoce. Scrum emplea un enfoque iterativo e incremental para optimizar la predictibilidad y el control del riesgo. El Equipo Scrum consiste en un Dueño de Producto (Product Owner), el Equipo de Desarrollo (Development Team) y un Scrum Master. Los Equipos Scrum son autoorganizados y multifuncionales. Los equipos autoorganizados eligen la mejor forma de llevar a cabo su trabajo y no son dirigidos por personas externas al equipo. Los equipos multifuncionales tienen todas las competencias necesarias para llevar a cabo el trabajo sin depender de otras personas que no son parte del equipo. El modelo de equipo en Scrum está diseñado para optimizar la flexibilidad, la creatividad y la productividad. Los Equipos Scrum entregan productos de forma iterativa e incremental, maximizando las oportunidades de obtener retroalimentación. Las entregas incrementales de producto “Terminado” aseguran que siempre estará disponible una versión potencialmente útil y funcional del producto.

Page 21: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

21

En Scrum existen eventos predefinidos con el fin de crear regularidad y minimizar la necesidad de reuniones no definidas en Scrum. Todos los eventos son bloques de tiempo (time-boxes), de tal modo que todos tienen una duración máxima. Una vez que comienza un Sprint, su duración es fija y no puede acortarse o alargarse. Los demás eventos pueden terminar siempre que se alcance el objetivo del evento, asegurando que se emplee una cantidad apropiada de tiempo sin permitir desperdicio en el proceso. Además del propio Sprint, que es un contenedor del resto de eventos, cada uno de los eventos de Scrum constituye una oportunidad formal para la inspección y adaptación de algún aspecto. Estos eventos están diseñados específicamente para habilitar las vitales transparencia e inspección. La falta de alguno de estos eventos da como resultado una reducción de la transparencia y constituye una oportunidad perdida para inspeccionar y adaptarse.9 EL SPRINT El corazón de Scrum es el Sprint, es un bloque de tiempo (time-box) de un mes o menos durante el cual se crea un incremento de producto “Terminado”, utilizable y potencialmente desplegable. Es más conveniente si la duración de los Sprints es consistente a lo largo del esfuerzo de desarrollo. Cada nuevo Sprint comienza inmediatamente después de la finalización del Sprint previo. Los Sprints contienen y consisten de la Reunión de Planificación del Sprint (Sprint Planning Meeting), los Scrums Diarios (Daily Scrums), el trabajo de desarrollo, la Revisión del Sprint (Sprint Review), y la Retrospectiva del Sprint (Sprint Retrospective). EL PLANNING El trabajo a realizar durante el Sprint se planifica en la Reunión de Planificación de Sprint. Este plan se crea mediante el trabajo colaborativo del Equipo Scrum completo. La Reunión de Planificación de Sprint tiene un máximo de duración de ocho horas para un Sprint de un mes. Para Sprints más cortos, el evento es usualmente más corto. El Scrum Master se asegura de que el evento se lleve a cabo y que los asistentes entiendan su propósito. El Scrum Master enseña al Equipo Scrum a mantenerse dentro del bloque de tiempo.

9 Christopher A. Sims, The Elements of Scrum (2011)

Page 22: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

22

ARTEFACTOS SCRUM Los artefactos de Scrum representan trabajo o valor en diversas formas que son útiles para proporcionar transparencia y oportunidades para la inspección y adaptación. Los artefactos definidos por Scrum están diseñados específicamente para maximizar la transparencia de la información clave, que es necesaria para asegurar que todos tengan el mismo entendimiento del artefacto.10 PRODUCT BACKLOG La Lista de Producto es una lista ordenada de todo lo que podría ser necesario en el producto, y es la única fuente de requisitos para cualquier cambio a realizarse en el producto. El Dueño de Producto (Product Owner) es el responsable de la Lista de Producto, incluyendo su contenido, disponibilidad y ordenación. Una Lista de Producto nunca está completa. El desarrollo más temprano de la misma solo refleja los requisitos conocidos y mejor entendidos al principio. La Lista de Producto evoluciona a medida de que el producto y el entorno en el que se usará también lo hacen. La Lista de Producto es dinámica; cambia constantemente para identificar lo que el producto necesita para ser adecuado, competitivo y útil. Mientras el producto exista, su Lista de Producto también existe. La Lista de Producto enumera todas las características, funcionalidades, requisitos, mejoras y correcciones que constituyen cambios a ser hechos sobre el producto para entregas futuras. Los elementos de la Lista de Producto tienen como atributos la descripción, la ordenación, la estimación y el valor. SPRINT BACKLOG La Lista de Pendientes del Sprint es el conjunto de elementos de la Lista de Producto seleccionados para el Sprint, más un plan para entregar el Incremento de producto y conseguir el Objetivo del Sprint. La Lista de Pendientes del Sprint es una predicción hecha por el Equipo de Desarrollo acerca de qué funcionalidad formará parte del próximo Incremento y del trabajo necesario para entregar esa funcionalidad en un Incremento “Terminado”. La Lista de Pendientes del Sprint hace visible todo el trabajo que el Equipo de Desarrollo identifica como necesario para alcanzar el Objetivo del Sprint.

10 Mark C Layton, Scrum For Dummies (2015)

Page 23: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

23

1.11 CRONOGRAMA DE ACTIVIDADES

Ilustración 1 Cronograma de actividades

Page 24: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

24

2. ANÁLISIS E IDENTIFICACIÓN DE LA INFRAESTRUCTURA ACTUAL DE LA EMPRESA

La empresa Virtual Smart Business es una compañía que se dedica la creación de soluciones tecnológicas a la medida, como kioscos interactivos, kioscos transaccionales, aplicaciones web a la medida, aplicaciones móviles a la medida, y soporte técnico de software y hardware, posee alrededor de 50 empleados entre vendedores, personal administrativo, desarrolladores, gerentes de proyecto y técnicos de sistemas. La unidad de soporte, es la encargada de realizar visitas en sitio para realizar mantenimiento preventivo y/o correctivo del hardware, de acuerdo a un contrato de soporte ofrecido por la compañía. Durante estas visitas, se maneja un formato en papel para poder identificar la hora de llegada y de salida del empleado que realiza la visita técnica y lograr determinar las horas laborales empleadas, sin embargo, en múltiples ocasiones los empleados no llenan este formato perdiendo la información de la hora de trabajo empleada en el soporte prestado. Otra de las áreas de gran importancia para la compañía es el área de desarrollo, la cual se encarga de analizar, diseñar e implementar todas las soluciones de software que el área comercial venda. Para esta área, el control del tiempo laborado también es manejado mediante el registro de entrada y salida con la tarjeta de proximidad y el cumplimiento de tareas se verifica en una reunión semanal pero no se lleva un registro físico que ayude a medir la productividad de cada desarrollador. Al iniciar cada proyecto se realiza el análisis de los requerimientos y se establecen las tareas que posteriormente son divididas en los desarrolladores que sean necesarios, dependiendo de tiempo disponible de desarrollo, complejidad, etc. Semanalmente se realiza una reunión en la que los desarrolladores indican verbalmente los problemas presentados en el desarrollo de cada tarea asignada, o en caso que no se tengan, realizan la entrega del desarrollo con los ajustes correspondientes. En muchas ocasiones la empresa ha presentado inconvenientes en los que el personal asignado a algún proyecto no fue el suficiente y se generaron demoras y por lo tanto molestias para el cliente final. Si se tuviera un sistema capaz de medir el rendimiento y la efectividad de los empleados de la empresa Virtual Smart Business, se lograría gestionar los proyectos futuros con mayor asertividad disminuyendo el margen de error e imprevistos que se puedan generar en el ciclo de vida de un proyecto.

2.1 SISTEMAS DE INFORMACIÓN UTILIZADOS ACTUALMENTE

SIIGO: El Sistema Integrado de Información Gerencial Operativo es un software genérico administrativo que permite llevar un registro detallado de las operaciones de la empresa y en general de todos los aspectos relacionados con la administración de negocios y actualmente la empresa Virtual Smart Business lo utiliza principalmente para la elaboración de documentos referentes a: Cartera, Cuentas

Page 25: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

25

por Pagar, Inventarios, Costos de Producción, Activos Fijos, Pedidos, Compras, Presupuesto, Contabilidad, Nómina y Ventas, por lo tanto no requiere personal experto para el funcionamiento. Azure Data Storage: Actualmente la empresa Virtual Smart Business posee el servicio IaaS Azure Data Storage de Microsoft utilizado para la administración de copias de seguridad de todos los equipos de la empresa, tarea que realiza el área de soporte técnico de la compañía. La empresa Virtual Smart Business no posee más Software que utilice en sus labores aparte de las herramientas comunes de Microsoft Office.

2.2 REDES Y SERVIDORES

La empresa Virtual Smart Business posee una red LAN Híbrida Tradicional con acceso a internet por red cableada e inalámbrica. Como cortafuegos posee un Firewall Fortinet Fg-60d-bdl Fortigate-60d Hardware Plus, desde el cual se puede restringir o permitir el acceso a los diferentes tipos de páginas web y adicionalmente, sirve como medio de integración con los clientes que requieren de conexión VPN. En cuanto a los servidores que posee la empresa, se encontró que poseen un servicio IaaS de Microsoft Azure para implementar el software a la medida del cliente, y poseen varias instancias que sirven para independizar el funcionamiento de un software a otro. Allí mismo implementan las bases de datos correspondientes para el funcionamiento de los productos que comercializan. La empresa Virtual Smart Business no posee servidores físicos que provean servicios al personal interno de la compañía.

Page 26: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

26

Ilustración 2 Infraestructura Virtual Smart Business

En la empresa Virtual Smart Business laboran 34 personas, y 32 poseen puntos de red para realizar sus tareas diarias, todos tienen acceso a internet, pero algunas páginas web son restringidas por el Firewall configurado por el área de soporte.

Page 27: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

27

3. ANÁLISIS DE SOLUCIÓN IAAS PARA LA EMPRESA

3.1 MARCO TEORICO

El modelo de Infraestructura como Servicio (IaaS) es uno de los tres conceptos fundamentales del cloud computing, junto con el de Plataforma como Servicio (PaaS) y el de Software como Servicio (SaaS). Al igual que todos los servicios cloud, IaaS proporciona acceso a recursos informáticos situados en un entorno virtualizado a través de internet. En el caso de IaaS, los recursos informáticos ofrecidos consisten en hardware virtualizado o infraestructura de procesamiento. La definición de IaaS abarca el espacio en servidores virtuales, conexiones de red, ancho de banda, direcciones IP, balanceadores de carga, corta fuegos y redes On Premise. Físicamente, el conjunto de recursos de hardware disponibles es un gran conjunto de servidores y redes, generalmente distribuidos entre numerosos Data Centers, de cuyo mantenimiento se encarga el proveedor del servicio cloud. El cliente, por su parte, obtiene acceso a los componentes virtualizados para construir con ellos su propia plataforma. El modelo IaaS coincide con las otras dos modalidades de hosting cloud en que puede ser utilizado por los clientes empresariales para crear soluciones informáticas económicas y fáciles de ampliar, en las cuales toda la complejidad y el costo asociados a la administración del hardware se realiza por el proveedor del servicio cloud. Si la escala o el volumen de actividad del negocio del cliente se amplía, o si la empresa tiene previsto crecer, puede recurrir al recurso cloud en el momento y de la manera en que lo necesite, en lugar de tener que adquirir, instalar e integrar hardware por su cuenta. Estos son varios ejemplos de aplicaciones concretas del modelo IaaS para una empresa:

• Infraestructura corporativa: Las redes internas de la empresa, como las clouds privadas y las redes locales virtuales, que utilizan recursos de red y de servidores agrupados, donde la empresa puede almacenar sus datos y ejecutar las aplicaciones que necesite para su funcionamiento diario. Las empresas en crecimiento pueden ampliar su infraestructura a medida que aumente su volumen de actividad, mientras que las clouds privadas permiten proteger el almacenamiento y transferencia de los datos delicados que algunas empresas necesitan manejar.

• Hosting cloud; Alojamiento de aplicaciones Web en servidores virtuales que funcionan sobre recursos comunes en servidores del proveedor del servicio en la nube. Una aplicación web alojada en una plataforma cloud, por ejemplo, puede beneficiarse de la redundancia que aporta la gigantesca escala de la

Page 28: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

28

red de servidores físicos y su escalabilidad en función de la demanda para afrontar cualquier solicitud que las aplicaciones web requieran.

• Virtual Data Centers (VDC); Una red virtualizada de servidores interconectados que puede utilizarse para ofrecer funcionalidades avanzadas alojadas, para implementar la infraestructura informática de la empresa, o para integrar todas esas operaciones dentro de una implementación cloud pública o privada.

3.2 VENTAJAS DE UNA SOLUCIÓN IAAS

• Escalabilidad; los recursos están disponibles de la manera y en el momento en que el cliente los necesita, por lo que desaparecen los tiempos de espera a la hora de ampliar la capacidad, y no se desaprovecha la capacidad que no se esté utilizando.

• El hardware físico sobre el que funciona el servicio IaaS es configurado y mantenido por el proveedor del servicio, lo que evita tener que dedicar tiempo y dinero a realizar esa instalación en el lado del cliente.

• El servicio está accesible a demanda, y el cliente sólo paga por los recursos que realmente utiliza.

• Independencia de la localización: Por lo general, se puede acceder al servicio desde cualquier lugar, siempre y cuando se disponga de una conexión a internet y el protocolo de seguridad que el servicio requiera.

• Los servicios disponibles a través de una infraestructura cloud pública, o en clouds privadas alojadas externamente en las instalaciones del proveedor del servicio cloud, se benefician de la seguridad física de que disfrutan los servidores alojados dentro de un centro de datos.

• Si falla un servidor el servicio global no se verá afectado, gracias a la gran cantidad restante de recursos de hardware y configuraciones redundantes. En muchos servicios, incluso la caída de un centro de datos entero no afecta en absoluto al funcionamiento del servicio IaaS.

3.3 COMPARACIÓN DE PROVEEDORES DE SERVICIOS CLOUD

Cada vez más empresas adoptan nuevas estrategias para la adopción de herramientas de transformación digital como es la computación en la nube, sin

Page 29: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

29

embargo, a la hora de seleccionar dentro de un entorno de nube privada se tienen dos opciones: Microsoft Azure y Amazon Web Services. Hoy día, se tiene la fortuna que existan estos dos grandes proveedores de servicios cloud, puesto que cada uno tiene características atractivas para todo tipo de necesidades del mercado. Inicialmente se debe tener en cuenta la adopción de la nube en entornos corporativos durante el último año:

Ilustración 3 Principales razones de las empresas para adoptar servicios Cloud para el año 2017

En la gráfica anterior se pueden apreciar las principales razones por las que las empresas adoptaron servicios cloud durante el año 2017, en donde la flexibilidad tuvo mayor importancia y los bajos costos operacionales, la escalabilidad y la disposición 24/7 reunieron un conjunto de razones sólidas para que los servicios en la nube tuvieran gran aceptación dentro del mercado internacional. Adicionalmente, la constante transformación digital y la competitividad de las empresas, obliga a que ninguna se quede atrás.

Page 30: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

30

3.3.1 MICROSOFT AZURE VS. AMAZON WEB SERVICES

3.3.1.1 INGRESOS GENERALES

Cuando se observan los ingresos generales de los dos proveedores de la nube, Amazon es un líder de la industria. AWS tiene más de 4 veces los ingresos de Azure y comenzó en el "juego en la nube" unos años antes. Sin embargo, como muestra el siguiente gráfico, Microsoft está cerrando muy rápidamente la brecha con respecto a las cargas de trabajo de las aplicaciones, específicamente en lo que corresponde a IaaS.

Ilustración 4 Microsoft Azure vs. Amazon Web Services

3.3.1.2 SERVICIOS ESENCIALES

Los componentes principales de Microsoft Azure y las ofertas de nube publica de AWS son:

• Autoservicio y aprovisionamiento instantáneo

• Escalado automático

• Seguridad

• Conformidad

• Gestión de identidad

Page 31: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

31

Con un desglose más popular de:

• Procesamiento

• Almacenamiento

• Redes Sin embargo, en cuanto al servicio de IaaS, Microsoft posee un gran terreno del mercado, puesto que brinda la capacidad de diseñar servicios que se benefician de la nube híbrida. El análisis de las distintas características que AWS y Azure tienen y que continúan construyendo, se trata en gran medida de quién responde mejor a las demandas del mercado. Estos proveedores están trabajando incansablemente para cubrir todas las áreas nuevas de las interacciones de la computación en la nube, ya sea a través de la IA o el aprendizaje automático, ambos están tratando activamente de llegar a nuevos mercados. Desde una perspectiva del desarrollo de aplicaciones, tanto Azure como AWS están equipados para atender las demandas de alta presión de los desarrolladores. Por ejemplo, Azure tiene características como Service Fabric & Container Services que son excelentes para crear, implementar y escalar aplicaciones. Esto ha llevado a Microsoft a convertirse en un gran jugador del mercado con respecto a IaaS, además, AWS no tiene tantas opciones en el lado del alojamiento de la aplicación, pero ha logrado gran parte de su liderazgo en el mercado a través de la facilidad de migrar grandes cantidades de datos a la nube para empresas de todos los tamaños.

3.3.1.3 INTEGRACIÓN Como parte de la construcción de un conjunto de herramientas moderno, los desarrolladores buscan una integración perfecta de la solución, eliminando la necesidad de una gran reconfiguración. AWS ha mostrado buena disposición para adoptar los ecosistemas actuales e integrarse con la mayoría de los proveedores, incluso Microsoft. Al hacerlo, han creado un diferenciador beneficioso de la competencia, mientras construyen una red de socios reconocidos.

3.3.1.4 CENTROS DE DATOS La cantidad de centros de datos no incluye factores importantes como calidad y seguridad. Sin embargo, para las empresas que requieren acceso global a los datos, es útil estar más cerca de sus datos, especialmente en regiones sin centros de datos.

Page 32: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

32

Ilustración 5 Data Centers de Amazon Web Services11

Ilustración 6 Data Centers de Microsoft Azure12

3.3.1.5 COSTOS

Estos dos líderes podrían intentar retener el mercado con grandes costos, pero ha sucedido lo contrario. Se han visto obligados a bajar sus precios y seguir utilizando su escala para lograr bajos costos, esto ha sido enormemente beneficioso tanto para los clientes como para la adopción de la computación en la nube.

11 Jake, Marketing. Cloud Comparison Guide (2018) 12 Jake, Marketing. Cloud Comparison Guide (2018)

Page 33: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

33

3.3.2 TIEMPOS DE RESPUESTA IAAS

Para saber el rendimiento de una aplicación se debe medir el tiempo que tarda una respuesta, esto permite tener una media real de como el sitio web funciona. Por lo tanto, se necesita simular cierta carga, varios usuarios, con varios patrones de uso de la aplicación, y no solo hacer una sola petición, sino una navegación completa del usuario comprobando cookies, parámetros de la url, inicios de sesión, ect. Gracias a Visual Studio se puede automatizar este proceso y se logró realizar una prueba de carga a una aplicación sencilla alojada en una instancia Web de Microsoft Azure y después de realizar la configuración correspondiente se hicieron las pruebas que arrojaron los siguientes resultados:

Ilustración 7 Simulación de carga a Aplicación Web en Azure desde Visual Studio

Page 34: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

34

Se puede ver que, de acuerdo a las peticiones realizadas Azure realiza todo el balanceo de cargas gracias a sus prestaciones de alto nivel que el modelo IaaS brinda, en donde el tiempo de respuesta se mantiene estable y los controladores de procesamiento muestran un patrón de alta disponibilidad para una aplicación web alojada en la nube.

3.4 VENTAJAS PARA LA GESTIÓN DE PROYECTOS DE VIRTUAL SMART BUSINESS

Implementar un sistema telemático para la gestión de proyectos de la empresa Virtual Smart Business en una instancia Azure tiene las siguientes ventajas:

• El crecimiento del gestor de proyectos es directamente proporcional al crecimiento de la empresa, lo cual requiere un futuro escalamiento de la herramienta telemática evitando largos tiempos de espera con la realización de la configuración optima de redes y servidores de acuerdo a la demanda que se tenga en un futuro.

• Existen varios tipos de servicios cognitivos de Azure que pueden ser de ayuda para el sistema de gestión de proyectos de la empresa, puesto que, por ejemplo, se pueden implementar en un futuro mejoras con reconocimiento facial o de voz desde la aplicación móvil, de tal forma que se pueda realizar con facilidad un seguimiento personalizado de cumplimiento de objetivos.

• La seguridad suministrada por los servicios de Azure es de gran confiabilidad para la compañía, ya que el conjunto de Data Centers a nivel mundial respalda la disponibilidad de las aplicaciones en cualquier momento. Adicionalmente, la administración de la seguridad de redes y recursos es directamente manejada por Microsoft lo cual impide que, por ejemplo, el sistema de gestión de proyectos sea atacado por DDoS.

Page 35: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

35

4. DESARROLLO DE UNA APLICACIÓN WEB Y UNA MÓVIL CON UNA ARQUITECTURA ADECUADA

4.1 MODELO DE NEGOCIO

Durante el análisis del sistema telemático para la gestión de proyectos de la empresa Virtual Smart Business, se determinaron las siguientes reglas de negocio:

• Existen 3 perfiles dentro del sistema, los cuales serán asignados a cada uno de los usuarios que interactúen con la aplicación:

o Administrador: Tiene acceso y puede manipular toda la información contenida en la aplicación, además de permitir o restringir el acceso a módulos de un perfil determinado.

o Colaborador: Tiene acceso a los módulos que el administrador indique de acuerdo a las labores de cada uno de los empleados de la compañía.

o Invitado: Tiene acceso a informes y estadísticas que el administrador considere.

● Un proyecto puede estar conformado por uno o varios requerimientos.

● Un proyecto debe tener un Project Manager (Empleado de la compañía).

● Un proyecto debe estar asociado a un cliente de la empresa.

● Un requerimiento puede estar asociada a una o varias tareas.

● Una tarea se asocia a un ejecutor (Empleado de la compañía).

● Una tarea puede escalarse a varios ejecutores durante su línea de tiempo.

● Una tarea puede tener documentos adjuntos asociados.

● La finalización de todas las tareas de un proyecto indica la culminación del

mismo.

● Una tarea puede tener varios estados (Asignada, En proceso, Finalizada,

Pausada, Cancelada).

● Cada empleado de la compañía debe tener usuario y contraseña para

ingresar al sistema.

Page 36: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

36

● Cada empleado puede pertenecer a un grupo, con el fin de filtrar información

por un grupo determinado de empleados.

● Cada empleado debe estar asociado a un perfil.

● Cada perfil debe tener unos permisos definidos para cada uno de los

módulos.

● Los permisos son Consulta, Creación, Actualización y Eliminación.

● La aplicación móvil debe mostrar la siguiente información:

o Pantalla inicial, en la cual el usuario debe ingresar sus credenciales,

para poder tener acceso al sistema.

o Una vez el usuario ingresa al sistema, la aplicación listará todas las

tareas asignadas y pendientes del usuario.

o Cada usuario podrá administrar cada una de sus tareas (Registrar

comentarios, transferir tareas, cerrar tareas, adjuntar archivos), de

esta manera se podrá calcular el tiempo invertido en cada asignación.

o Cada asignación de tarea que se le realice a un usuario, será

notificada por la aplicación, también se le enviará un correo electrónico

informándole al usuario.

o La aplicación realizará recordatorios al usuario de las tareas que estén

pendientes y están próximas a cumplirse su tiempo de finalización,

según los tiempos establecidos en los acuerdos de nivel de servicio

(ANS)

o La aplicación cuenta con un módulo de de monitoreo de trayectos, la

cual permitirá dejar un registro de las visitas realizadas por los

colaboradores que brindan soporte en cliente y el recorrido realizado,

capturando las coordenadas en tiempo real del colaborador. Estos

registros se visualizarán en un mapa.

o La aplicación cuenta con un módulo de contactos, donde se despliega

una agenda de todos los colaboradores de la compañía, de esta

manera permite a los colaboradores tener acceso a un contacto

directo con otro colaborador, en caso de requerirlo. Este módulo

Page 37: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

37

permitirá realizar llamadas y enviar correos electrónicos a cualquier

colaborador de la compañía.

4.1.1 MODELO DE PROCESOS

Ilustración 8 Diagrama de procesos Login

Page 38: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

38

Ilustración 9 Diagrama de procesos módulos generales

Page 39: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

39

4.2 HISTORIAS DE USUARIO

Una historia de usuario es una representación de un requisito escrito en una o dos frases utilizando el lenguaje común del usuario.

4.3 LEVANTAMIENTO DE HISTORIAS DE USUARIO

Para el presente proyecto se identificaron los siguientes requerimientos, teniendo en cuenta las especificaciones y necesidades que se identificaron en las fases preliminares.

Nombre de la historia HU1 - Login para acceso a Aplicación Web

Descripción del requerimiento

El acceso a la aplicación debe estar controlado por el uso de login para usuarios registrados, los cuales tienen diferentes tipos de acceso y privilegios frente a las operaciones que se realizan mediante la aplicación.

Como probar ● Ingresar con un usuario registrado en la base de datos y verificar que ingrese al sistema

● Ingresar con un usuario no registrado en la base de datos y verificar el mensaje de error.

Justificación Implementar un sistema de seguridad orientado a la autenticación de usuarios.

Tabla 9 Historia de usuario 1

Nombre de la historia HU2 - Crear usuarios

Descripción del requerimiento

Crear usuarios que tengan el acceso al portal, adicionalmente asociarlos a un perfil previamente creado que tenga la información de los permisos dentro del sistema.

Page 40: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

40

Como probar ● Crear un usuario asignarlo a cada uno de los perfiles creados y verificar los módulos a los cuales tiene acceso.

Justificación Implementar un sistema de seguridad orientado a la autenticación de usuarios.

Tabla 10 Historia de usuario 2

Nombre de la historia HU3 - Editar usuarios

Descripción del requerimiento

Editar usuarios que tengan el acceso al portal, modificando su información personal o asignando un nuevo perfil

Como probar ● Editar un usuario creado en el portal y verificar la modificación.

● Cambiar el perfil de un usuario y verificar los módulos que queda con acceso.

Justificación Tener posibilidad de editar información de contactos.

Tabla 11 Historia de usuario 3

Nombre de la historia HU4 - Eliminar usuario

Descripción del requerimiento

Eliminar usuarios que tengan el acceso al portal, denegando el acceso a la aplicación.

Como probar ● Eliminar usuario y verificar que no pueda acceder a la aplicación.

● Ingresar usuario y contraseña del usuario eliminado y verificar que no permita el acceso.

Justificación Mantener la seguridad en la aplicación cuando se termine el contrato de los empleados

Tabla 12 Historia de usuario 4

Page 41: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

41

Nombre de la historia HU5 - Crear perfiles

Descripción del requerimiento

Crear perfiles que tengan acceso al portal estos deben contar con privilegios especiales de acuerdo al rol

Como probar ● Crear un perfil y verificar los módulos a los cuales tiene acceso

Justificación Implementar un sistema de perfilamiento que permita la seguridad y la buena administración

Tabla 13 Historia de usuario 5

Nombre de la historia HU6 - Editar perfiles

Descripción del requerimiento

Editar los perfiles de usuarios que tengan el acceso al portal de acuerdo a los privilegios

Como probar ● Seleccionar un usuario que se encuentre creado en el portal.

● Cambiar el perfil del usuario seleccionado y verificar los módulos que queda con acceso.

Justificación Tener posibilidad de editar el perfil de un usuario del sistema

Tabla 14 Historia de usuario 6

Page 42: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

42

Nombre de la historia HU7 - Eliminar perfiles

Descripción del requerimiento

Eliminar el perfil de usuarios que tengan el acceso al portal, denegando el acceso a la aplicación, a ciertos privilegios o acciones

Como probar ● Eliminar un perfil y verificar que los usuarios asignados a ese perfil no tengan acceso acceso a los privilegios

Justificación Brindar la posibilidad de modificaciones de perfil sin importar usuarios asignados

Tabla 15 Historia de usuario 7

Nombre de la historia HU8 - Crear módulos

Descripción del requerimiento

Crear módulos que se puedan redireccionar dentro del portal

Como probar ● Crear un módulo y verificar la visualización y el redireccionamiento

Justificación Implementar un sistema dinámico de creación de módulos donde el cliente pueda tener un ambiente personalizado de acuerdo a sus necesidades actuales

Tabla 16 Historia de usuario 8

Page 43: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

43

Nombre de la historia HU9 - Editar módulos

Descripción del requerimiento

Editar los módulos creados permitiendo que estén siempre actualizados de acuerdo a los requerimientos

Como probar ● Seleccionar un módulo que se encuentre creado en el portal.

● Cambiar la información del nombre, descripción o url

● Verificar que la interfaz de usuario aplique los cambios

Justificación Tener posibilidad de editar los módulos creados en el sistema

Tabla 17 Historia de usuario 9

Nombre de la historia HU10 - Eliminar módulos

Descripción del requerimiento

Eliminar los módulos creados en el sistema

Como probar ● Eliminar un módulo y verificar que tanto en la interfaz de usuario como en el admin no se visualice

Justificación Brindar la posibilidad de eliminar módulos para tener una interfaz de usuario organizada y un admin libre de módulos que no se usen

Tabla 18 Historia de usuario 10

Page 44: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

44

Nombre de la historia HU11 - Crear proyectos

Descripción del requerimiento

Crear proyectos para su gestión y control

Como probar ● Crear un proyecto y verificar que se pueda gestionar

Justificación Brindar la correcta creación de proyectos ya que son el objetivo del negocio

Tabla 19 Historia de usuario 10

Nombre de la historia HU12 - Editar proyectos

Descripción del requerimiento

Editar los proyectos creados permitiendo que estén siempre actualizados de acuerdo a los requerimientos o cambios por parte del cliente

Como probar ● Seleccionar un proyecto que se encuentre creado en el portal.

● Cambiar la información del nombre, descripción o url

● Verificar que la interfaz aplique los cambios

Justificación Brindar la posibilidad de editar los proyectos creados en el sistema, para que estos estén siempre actualizados ya sea por requerimientos nuevos o cambios del cliente

Tabla 20 Historia de usuario 12

Page 45: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

45

Nombre de la historia HU13 - Eliminar proyectos

Descripción del requerimiento

Eliminar los proyectos creados en el sistema

Como probar ● Eliminar un proyecto y verificar que no se visualice

Justificación Brindar la posibilidad de eliminar proyectos para tener una interfaz organizada y actualizada

Tabla 21 Historia de usuario 13

4.4 DEFINICIÓN DE ACTORES DEL SISTEMA

ACTORES/USUARIOS DESCRIPCIÓN

Administrador de aplicación ● Tiene acceso a todos los módulos de la aplicación.

● Puede crear, modificar o eliminar usuarios.

● Tiene acceso a todos los reportes que entregue el sistema.

● Tiene todos los permisos en todos los módulos

Director de Proyecto ● Puede crear, editar o eliminar requerimientos

● Puede estar asignado a uno o varios proyectos, de los cuales puede verificar su progreso.

● Tiene permisos de consulta dentro del módulo de tareas, y puede verificar una a una su cumplimiento y los principales eventos en su línea de tiempo.

Coordinador del proyecto ● Tiene todos los permisos en los módulos de requerimientos y tareas.

Page 46: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

46

● Tiene la principal tarea de asignar las tareas a cada uno de los usuarios del sistema.

● Realiza todo el seguimiento de la tarea y facilita el camino para que el usuario asignado no tenga inconvenientes para realizar su tarea asignada.

Usuario colaborador ● Dentro de Virtual Smart Business es el personal técnico, el equipo de desarrollo y el equipo comercial.

● Posee tareas asignadas por el coordinador de proyectos.

● Establece el avance o cumplimiento de una tarea.

Consultor / Interventoria ● Posee permisos de consulta de acuerdo a la configuración que el administrador establezca.

Tabla 22 Actores del sistema

4.5 LISTA PRELIMINAR DE CASOS DE USO

● Iniciar Sesión

● Cerrar Sesión

● Actualizar Información Personal

● Cambio Contraseña

● Crear usuarios

● Modificar usuarios

● Eliminar usuarios

● Consultar usuarios

● Crear perfil

● Modificar perfil

● Eliminar perfil

Page 47: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

47

● Crear permisos de perfil

● Crear proyecto

● Modificar proyecto

● Eliminar proyecto

● Crear requerimiento

● Modificar requerimiento

● Eliminar requerimiento

● Crear tarea de requerimiento

● Modificar tarea

● Eliminar tarea

● Asignar tarea

● Adjuntar documento a tarea

● Reasignar tarea

● Crear grupo de usuarios

● Generar reportes

● Visualizar estadísticas

● Realizar seguimiento de ubicación

● Reportar avance de tarea

4.6 DOCUMENTACIÓN DE CASOS DE USO

Caso de uso CU1 - Iniciar sesión

Propósito Identificar el usuario que está accediendo al sistema

Descripción Realizar la validación indicada cuando un usuario ingrese con sus credenciales al sistema.

Page 48: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

48

Tipo Esencial

Tabla 23 Caso de uso 1

Caso de uso CU2 - Cerrar sesión

Propósito Cerrar la sesión de un usuario cuando termine la interacción con el sistema

Descripción Finalizar todos los procesos que el usuario tenga en una sesión para evitar que personas ajenas a la empresa manipulen información esencial.

Tipo Esencial

Tabla 24 Caso de uso 2

Caso de uso CU3 - Actualizar información personal

Propósito Actualizar los datos del usuario para mantener sincronizado la aplicación.

Descripción Disponer un módulo para la actualización de datos del usuario de tal forma que pueda modificar cualquier dato de su información personal

Tipo Implementación concreta

Tabla 25 Caso de uso 3

Page 49: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

49

Caso de uso CU4 - Crear usuarios

Propósito Abastecer la base de datos del sistema para el correcto funcionamiento de la solución

Descripción Disponer un formulario de creación de usuarios, realizando las validaciones correspondientes para finalmente almacenar la información en la base de datos.

Tipo Esencial

Tabla 26 Caso de uso 4

Caso de uso CU5 - Editar usuarios

Propósito Abastecer la base de datos del sistema para el correcto funcionamiento de la solución

Descripción Disponer un formulario de modificación de usuarios, realizando las validaciones correspondientes para finalmente almacenar la información en la base de datos.

Tipo Esencial

Tabla 27 Caso de uso 5

Caso de uso CU6 - Eliminar usuarios

Propósito Mantener la integridad del sistema, eliminando usuarios que dejan de trabajar para la empresa.

Page 50: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

50

Descripción Cambiar el estado de un usuario de Activo a Eliminado para restringir el acceso de personal no autorizado a la aplicación.

Tipo Esencial

Tabla 28 Caso de uso 6

Caso de uso CU7 - Crear perfiles

Propósito Abastecer la base de datos del sistema para el correcto funcionamiento de la solución

Descripción Disponer un formulario de creación de perfiles, realizando las validaciones correspondientes para finalmente almacenar la información en la base de datos.

Tipo Esencial

Tabla 29 Caso de uso 7

Caso de uso CU8 - Editar perfiles

Propósito Abastecer la base de datos del sistema para el correcto funcionamiento de la solución

Descripción Disponer un formulario de modificación de perfiles, realizando las validaciones correspondientes para finalmente almacenar la información en la base de datos.

Tipo Esencial

Tabla 30 Caso de uso 8

Page 51: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

51

Caso de uso CU9 - Eliminar perfiles

Propósito Mantener la integridad del sistema, eliminando perfiles que no son relevantes para la compañía.

Descripción Cambiar el estado de un perfil de Activo a Eliminado para evitar redundancia de perfilamiento.

Tipo Esencial

Tabla 31 Caso de uso 9

Caso de uso CU10 - Crear módulos

Propósito Abastecer la base de datos del sistema para el correcto funcionamiento de la solución

Descripción Disponer un formulario de creación de módulos, realizando las validaciones correspondientes para finalmente almacenar la información en la base de datos.

Tipo Esencial

Tabla 32 Caso de uso 10

Page 52: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

52

Caso de uso CU11 - Editar módulos

Propósito Abastecer la base de datos del sistema para el correcto funcionamiento de la solución

Descripción Disponer un formulario de modificación de módulos, realizando las validaciones correspondientes para finalmente almacenar la información en la base de datos.

Tipo Esencial

Tabla 33 Caso de uso 11

Caso de uso CU12 - Eliminar módulos

Propósito Mantener la integridad del sistema, eliminando módulos que dejan de ser relevantes para la empresa.

Descripción Cambiar el estado de un módulo de Activo a Eliminado para evitar la redundancia de funcionalidades.

Tipo Esencial

Tabla 34 Caso de uso 12

Page 53: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

53

Caso de uso CU13 - Crear proyectos

Propósito Abastecer la base de datos del sistema para el correcto funcionamiento de la solución

Descripción Disponer un formulario de creación de proyectos, realizando las validaciones correspondientes para finalmente almacenar la información en la base de datos.

Tipo Esencial

Tabla 35 Caso de uso 13

Caso de uso CU14 - Editar proyectos

Propósito Abastecer la base de datos del sistema para el correcto funcionamiento de la solución

Descripción Disponer un formulario de modificación de proyectos, realizando las validaciones correspondientes para finalmente almacenar la información en la base de datos.

Tipo Esencial

Tabla 36 Caso de uso 14

Page 54: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

54

Caso de uso CU15 - Eliminar proyectos

Propósito Mantener la integridad del sistema, eliminando los proyectos que dejan de tener relevancia para la empresa.

Descripción Cambiar el estado de un proyecto de Activo a Eliminado para evitar inconsistencias con otros proyectos similares.

Tipo Esencial

Tabla 37 Caso de uso 15

Caso de uso CU16 - Crear requerimientos

Propósito Abastecer la base de datos del sistema para el correcto funcionamiento de la solución

Descripción Disponer un formulario de creación de requerimientos, realizando las validaciones correspondientes para finalmente almacenar la información en la base de datos.

Tipo Esencial

Tabla 38 Caso de uso 16

Page 55: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

55

Caso de uso CU17 - Editar requerimientos

Propósito Abastecer la base de datos del sistema para el correcto funcionamiento de la solución

Descripción Disponer un formulario de modificación de requerimientos, realizando las validaciones correspondientes para finalmente almacenar la información en la base de datos.

Tipo Esencial

Tabla 39 Caso de uso 17

Caso de uso CU18 - Eliminar requerimientos

Propósito Mantener la integridad del sistema, eliminando requerimientos que no son relevantes para la empresa.

Descripción Cambiar el estado de un requerimiento de Activo a Eliminado para evitar inconsistencias con requerimientos similares.

Tipo Esencial

Tabla 40 Caso de uso 18

Page 56: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

56

Caso de uso CU19 - Crear tareas

Propósito Abastecer la base de datos del sistema para el correcto funcionamiento de la solución

Descripción Disponer un formulario de creación de tareas, realizando las validaciones correspondientes para finalmente almacenar la información en la base de datos.

Tipo Esencial

Tabla 41 Caso de uso 19

Caso de uso CU20 - Editar tareas

Propósito Abastecer la base de datos del sistema para el correcto funcionamiento de la solución

Descripción Disponer un formulario de modificación de tareas, realizando las validaciones correspondientes para finalmente almacenar la información en la base de datos.

Tipo Esencial

Tabla 42 Caso de uso 20

Page 57: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

57

Caso de uso CU21 - Eliminar tareas

Propósito Mantener la integridad del sistema, eliminando tareas que no son relevantes para la empresa.

Descripción Cambiar el estado de una tarea de Activa a Eliminada para evitar inconsistencias con tareas similares

Tipo Esencial

Tabla 43 Caso de uso 21

Caso de uso CU22 - Asignar tarea

Propósito Asignar una tarea a un usuario para que sea realizada o escalada en caso que no corresponda a las labores de la persona asignada

Descripción Disponer un módulo de asignamiento de tareas para que los coordinadores de proyectos puedan asignar tareas a usuarios que de acuerdo a sus labores puedan realizar la tarea asignada.

Tipo Esencial

Tabla 44 Caso de uso 22

Page 58: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

58

Caso de uso CU23 - Generar reportes

Propósito Brindar una serie de indicadores para ayudar con la toma de decisiones de la compañía.

Descripción Disponer un informes y reportes con información fundamental para la compañía como:

- Progreso de proyectos actuales - Reporte de proyectos finalizados - Rendimiento por empleado - Rendimiento por Project Manager - Rendimiento por Coordinador de proyectos - Análisis de tareas similares

Tipo Esencial

Tabla 45 Caso de uso 23

Caso de uso CU25 - Realizar seguimiento de ubicación

Propósito Verificar el cumplimiento de tareas por fuera de la compañía.

Descripción Monitorear mediante aplicación web el cumplimiento de tareas que se realicen por fuera de la compañía, de tal forma que se pueda generar un reporte por tiempo invertido de acuerdo a la ubicación capturada.

Tipo Esencial

Tabla 46 Caso de uso 24

Page 59: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

59

4.7 LISTA INICIAL DE CLASES

ENTITIES LAYER:

• AppTareaUsuario.cs

• Asignacion_tarea.cs

• Documento.cs

• Estado_Tarea.cs

• Grupo.cs

• LogError.cs

• LogTransaccion.cs

• Modulo.cs

• Movimiento.cs

• Perfil.cs

• Permiso.cs

• PermisoPerfil.cs

• PrioridadTarea.cs

• Proyecto.cs

• Requerimiento.cs

• Tarea.cs

• TareaUsuario.cs

• Tipo_movimiento.cs

• Tipo_tarea.cs

• Usuario.cs

DATA ACCESS LAYER:

• EntityModel.cs

• GetAsignacion_Tarea_Result.cs

• GetDocumento_Result.cs

• GetEstadoTareas_Result.cs

• GetModulos_Result.cs

• GetObjUsuario_Result.cs

• GetPermisosPerfil_Result.cs

• GetProyectos_Result.cs

• GetRequerimientos_Result.cs

• GetTareaPorUsuario_Result.cs

• GetTareas_Result.cs

• GetTareasXUsuario_Result.cs

• GetTipoTareas_Result.cs

• GetUsuario_Result.cs

• GetUsuarioCombo_Result.cs

• ViewGrupos.cs

• ViewModulos.cs

Page 60: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

60

• ViewPerfiles.cs

• ViewTareaXUsuario.cs

• ViewUsuarios.cs BUSINESS LOGIC LAYER:

• AppTareaUsuarioBLO.cs

• Asignacion_tareaBLO.cs

• DocumentoBLO.cs

• Estado_tareaBLO.cs

• GrupoBLO.cs

• ModuloBLO.cs

• PerfilBLO.cs

• PermisoPerfilBLO.cs

• PrioridadTareaBLO.cs

• ProyectoBLO.cs

• RequerimientoBLO.cs

• TareaBLO.cs

• TareaUsuarioBLO.cs

• TipoTareaBLO.cs

• UsuarioBLO.cs

• Crud.cs

• ICrudObject.cs WEB USER INTERFACE LAYER:

• Asignacion_tareasController.cs

• DocumentosController.cs

• HomeController.cs

• LoginController.cs

• ModulosController.cs

• PerfilesController.cs

• ProyectosController.cs

• RequerimientosController.cs

• TareasController.cs

• UsuariosController.cs WEB API LAYER:

• AsignacionTareaController.cs

• DocumentoController.cs

• EstadoTareaController.cs

• HomeController.cs

• ModuloController.cs

• PerfilController.cs

Page 61: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

61

• PrioridadTareaController.cs

• ProyectoController.cs

• RequerimientoController.cs

• TareaController.cs

• TipoTareaController.cs

• UsuarioController.cs

• ValuesController.cs MOBILE USER INTERFACE LAYER:

• ContactosModel.cs

• DetalleContactoModel.cs

• DetalleTareaModel.cs

• DocumentoModel.cs

• MainViewModel.cs

• MapaModel.cs

• MenuModel.cs

• MisTareasModel.cs

• RegistrarComentarioModel.cs

• TransferirTareaModel.cs

4.8 RESPONSABILIDAD DE CLASES

ENTITIES LAYER

Nombre Clase: AppTareaUsuario.cs

Responsabilidad Colaborador

● Contiene las propiedades de las

tareas de los Usuarios.

● Tarea.cs

● Usuario.cs

Tabla 47 Responsabilidad clase AppTareaUsuario

Nombre Clase:Asignacion_tarea.cs

Responsabilidad Colaborador

● Contiene las propiedades de las

asignaciones de tareas.

● Tarea.cs

Tabla 48 Responsabilidad clase Asignacion_tarea

Page 62: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

62

Nombre Clase: Documento.cs

Responsabilidad Colaborador

● Contiene las propiedades de los

documentos que se van a

adjuntar.

Tabla 49 Responsabilidad clase Documento

Nombre Clase: Estado_Tarea.cs

Responsabilidad Colaborador

● Contiene las propiedades de los

estados de las tareas

Tabla 50 Responsabilidad clase Estado_Tarea

Nombre Clase: Grupo.cs

Responsabilidad Colaborador

● Contiene las propiedades de los

grupos

Tabla 51 Responsabilidad clase Grupo

Nombre Clase: LogError.cs

Responsabilidad Colaborador

● Contiene las propiedades de los

Log de errores

Tabla 52 Responsabilidad clase LogError

Nombre Clase: LogTransaccion.cs

Responsabilidad Colaborador

● Contiene las propiedades de los

Log de transacciones

Tabla 53 Responsabilidad clase LogTransaccion

Page 63: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

63

Nombre Clase: Modulo.cs

Responsabilidad Colaborador

● Contiene las propiedades de los

módulos de la aplicación

Tabla 54 Responsabilidad clase Modulo

Nombre Clase: Movimiento.cs

Responsabilidad Colaborador

● Contiene las propiedades de los

movimientos de la aplicación

Tabla 55 Responsabilidad clase Movimiento

Nombre Clase: Perfil.cs

Responsabilidad Colaborador

● Contiene las propiedades de los

perfiles de la aplicación

Tabla 56 Responsabilidad clase Perfil

Nombre Clase: Permiso.cs

Responsabilidad Colaborador

● Contiene las propiedades de los

permisos de los perfiles dentro

de los módulos

● Perfil.cs

● Modulo.cs

Tabla 57 Responsabilidad clase Permiso

Nombre Clase: PrioridadTarea.cs

Responsabilidad Colaborador

● Contiene las propiedades de las

prioridades de las tareas

● Tarea.cs

Tabla 58 Responsabilidad clase PrioridadTarea

Page 64: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

64

Nombre Clase: Proyecto.cs

Responsabilidad Colaborador

● Contiene las propiedades de los

proyectos

Tabla 59 Responsabilidad clase Proyecto

Nombre Clase: Requerimiento.cs

Responsabilidad Colaborador

● Contiene las propiedades de los

requerimientos

Tabla 60 Responsabilidad clase Requerimiento

Nombre Clase: Tarea.cs

Responsabilidad Colaborador

● Contiene las propiedades de las

tareas

Tabla 61 Responsabilidad clase Tarea

Nombre Clase: Tipo_movimiento.cs

Responsabilidad Colaborador

● Contiene las propiedades de los

tipos de movimientos

Tabla 62 Responsabilidad clase Tipo_movimiento

Nombre Clase: Usuario.cs

Responsabilidad Colaborador

● Contiene las propiedades de los

usuarios

● Perfil.cs

● Grupo.cs

Tabla 63 Responsabilidad clase Usuario

Page 65: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

65

DATA ACCESS LAYER

Nombre Clase: EntityModel.cs

Responsabilidad Colaborador

● Contiene la lógica de

transaccionabilidad general con

la base de datos.

● Clase creada por Entity

Framework

● EntityFramework.dll

Tabla 64 Responsabilidad clase EntityModel

Las demás clases de la capa de acceso a datos son el mapeo de objetos que el framework realiza, como son clases creadas automáticamente no se agregan al presente documento. BUSINESS LOGIC LAYER

Nombre Clase: AppTareaUsuarioBLO.cs

Responsabilidad Colaborador

● Contiene los métodos de

inserción, modificación,

eliminación y consulta de las

tareas de un usuario

● DAL.GetAsignacion_Tarea_Re

sult.cs

● Entities.Asignacion_tareas.cs

Tabla 65 Responsabilidad clase AppTareaUsuarioBLO

Nombre Clase: DocumentoBLO.cs

Responsabilidad Colaborador

● Contiene los métodos de

inserción, modificación,

eliminación y consulta de los

documentos de una tarea

● DAL.GetDocumento_Result.cs

● Entities.Documento.cs

Tabla 66 Responsabilidad clase DocumentoBLO

Page 66: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

66

Nombre Clase: Estado_tareaBLO.cs

Responsabilidad Colaborador

● Contiene los métodos de

inserción, modificación,

eliminación y consulta de los

estados de una tarea

● DAL.GetEstadoTareas_Result.

cs

● Entities.Estado_Tarea.cs

Tabla 67 Responsabilidad clase Estado_tareaBLO

Nombre Clase: GrupoBLO.cs

Responsabilidad Colaborador

● Contiene los métodos de

inserción, modificación,

eliminación y consulta de los

grupos

● DAL.Grupo.cs

● Entities.Grupo.cs

Tabla 68 Responsabilidad clase GrupoBLO

Nombre Clase: ModuloBLO.cs

Responsabilidad Colaborador

● Contiene los métodos de

inserción, modificación,

eliminación y consulta de los

módulos del sistema

● DAL.GetModulos_Result.cs

● Entities.Modulo.cs

Tabla 69 Responsabilidad clase ModuloBLO

Nombre Clase: PerfilBLO.cs

Responsabilidad Colaborador

● Contiene los métodos de

inserción, modificación,

eliminación y consulta de los

perfiles

● DAL.ViewPerfiles.cs

● Entities.Perfil.cs

Tabla 70 Responsabilidad clase PerfilBLO

Page 67: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

67

Nombre Clase: PermisoPerfilBLO.cs

Responsabilidad Colaborador

● Contiene los métodos de

inserción, modificación,

eliminación y consulta de los

permisos del perfil

● DAL.ViewPerfiles.cs

● Entities.Permisos_Perfil.cs

Tabla 71 Responsabilidad clase PermisoPerfilBLO

Nombre Clase: PrioridadTareaBLO.cs

Responsabilidad Colaborador

● Contiene los métodos de

inserción, modificación,

eliminación y consulta de las

propiedades de una tarea

● DAL.ViewTarea.cs

● Entities.Prioridad_tarea.cs

Tabla 72 Responsabilidad clase PrioridadTareaBLO

Nombre Clase: ProyectoBLO.cs

Responsabilidad Colaborador

● Contiene los métodos de

inserción, modificación,

eliminación y consulta de los

proyectos

● DAL.GetProyectos_Result.cs

● Entities.Proyecto.cs

Tabla 73 Responsabilidad clase ProyectoBLO

Nombre Clase: RequerimientoBLO.cs

Responsabilidad Colaborador

● Contiene los métodos de

inserción, modificación,

eliminación y consulta de los

requerimientos de los proyectos

● DAL.GetRequerimientos_Resul

t.cs

● Entities.Requerimiento.cs

● Entities.Proyecto.cs

Tabla 74 Responsabilidad clase RequerimientoBLO

Page 68: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

68

Nombre Clase: TareaBLO.cs

Responsabilidad Colaborador

● Contiene los métodos de

inserción, modificación,

eliminación y consulta de las

tareas de un requerimiento

● DAL.GetTareas_Result.cs

● Entities.Tarea.cs

● Entities.Requerimiento.cs

Tabla 75 Responsabilidad clase TareaBLO

Nombre Clase: TipoTareaBLO.cs

Responsabilidad Colaborador

● Contiene los métodos de

inserción, modificación,

eliminación y consulta de los

tipos de tareas

● DAL.GetTipoTareas_Result.cs

● Entities.TipoTarea.cs

Tabla 76 Responsabilidad clase TipoTareaBLO

Nombre Clase: UsuarioBLO.cs

Responsabilidad Colaborador

● Contiene los métodos de

inserción, modificación,

eliminación y consulta de los

Usuarios del sistema

● DAL.ViewUsuarios.cs

● Entities.Usuario.cs

Tabla 77 Responsabilidad clase UsuarioBLO

Nombre Clase: Crud.cs

Responsabilidad Colaborador

● Es la clase para implementar la

inyección de dependencias.

● ICrudObject.cs

Tabla 78 Responsabilidad clase Crud

Page 69: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

69

Nombre Clase: ICrudObject.cs

Responsabilidad Colaborador

● Interfaz que contiene la

estructura de métodos que

debe tener una clase

perteneciente a la capa de

lógica de negocio

Tabla 79 Responsabilidad clase ICrudObject

WEB API LAYER

Nombre Clase:Asignacion_tareasController.cs

Responsabilidad Colaborador

● Controlador de la vista para

asignación de tareas.

● Contiene los métodos

necesarios para la interacción

con la capa de lógica de

negocio

● BLL.Crud.cs

● BLL.Asignacion_tareasBLO.cs

● Entities.Asignacion_tarea.cs

Tabla 80 Responsabilidad clase Asignacion_tareasController

Nombre Clase: DocumentosController.cs

Responsabilidad Colaborador

● Controlador de la vista para los

documentos.

● Contiene los métodos

necesarios para la interacción

con la capa de lógica de

negocio

● BLL.Crud.cs

● BLL.DocumentoBLO.cs

● Entities.Documento.cs

Tabla 81 Responsabilidad clase DocumentosController

Page 70: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

70

Nombre Clase:HomeController.cs

Responsabilidad Colaborador

● Controlador de la vista principal ● BLL.UsuarioBLO.cs

● Entities.Usuario.cs

● Entities.Perfil.cs

Tabla 82 Responsabilidad clase HomeController

Nombre Clase: LoginController.cs

Responsabilidad Colaborador

● Controlador de la vista de

logueo.

● Autentica el usuario que esta

ingresando

● De acuerdo al perfil ingresado

se crea el menú

correspondiente.

● BLL.Crud.cs

● BLL.UsuarioBLO.cs

● Entities.Usuario.cs

● Entities.Perfil.cs

Tabla 83 Responsabilidad clase LoginController

Nombre Clase: ModulosController.cs

Responsabilidad Colaborador

● Controlador de la vista para los

módulos de la aplicación

● Contiene los métodos

necesarios para la interacción

con la capa de lógica de

negocio

● BLL.Crud.cs

● BLL.ModulosBLO.cs

● Entities.Modulos.cs

Tabla 84 Responsabilidad clase ModulosController

Page 71: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

71

Nombre Clase: PerfilesController.cs

Responsabilidad Colaborador

● Controlador de la vista para los

perfiles de la aplicación.

● Contiene los métodos

necesarios para la interacción

con la capa de lógica de

negocio

● BLL.Crud.cs

● BLL.PerfiBLO.cs

● Entities.Perfil.cs

Tabla 85 Responsabilidad clase PerfilesController

Nombre Clase:ProyectosController.cs

Responsabilidad Colaborador

● Controlador de la vista para los

proyectos de la aplicación.

● Contiene los métodos

necesarios para la interacción

con la capa de lógica de

negocio

● BLL.Crud.cs

● BLL.ProyectoBLO.cs

● Entities.Proyecto.cs

Tabla 86 Responsabilidad clase ProyectosController

Nombre Clase:RequerimientosController.cs

Responsabilidad Colaborador

● Controlador de la vista para los

Requerimientos de un proyecto

determinado.

● Contiene los métodos

necesarios para la interacción

con la capa de lógica de

negocio

● BLL.Crud.cs

● BLL.RequerimientoBLO.cs

● Entities.Requerimiento.cs

● Entities.Proyecto.cs

Tabla 87 Responsabilidad clase RequerimientosController

Page 72: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

72

Nombre Clase:TareasController.cs

Responsabilidad Colaborador

● Controlador de la vista para las

tareas de un requerimiento

seleccionado

● Contiene los métodos

necesarios para la interacción

con la capa de lógica de

negocio

● BLL.Crud.cs

● BLL.TareaBLO.cs

● Entities.Tarea.cs

● Entities.Requerimiento.cs

Tabla 88 Responsabilidad clase TareasController

Nombre Clase:UsuariosController.cs

Responsabilidad Colaborador

● Controlador de la vista para las

tareas de un requerimiento

seleccionado

● Contiene los métodos

necesarios para la interacción

con la capa de lógica de

negocio

● BLL.Crud.cs

● BLL.TareaBLO.cs

● Entities.Tarea.cs

● Entities.Requerimiento.cs

Tabla 89 Responsabilidad clase UsuariosController

WEB USER INTERFACE LAYER Las clases de esta capa consumen la API anteriormente mencionada para realizar las transacciones de cada una de las siguientes vistas:

• Asignación de tareas

• Documentos

• Home

• Login

• Módulos

• Perfiles

• Proyectos

• Requerimientos

Page 73: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

73

• Tareas

• Usuarios

4.9 DIAGRAMA DE CLASES

ENTITIES LAYER

Ilustración 10 Diagrama de clases ENTITIES LAYER

DATA ACCESS LAYER

Ilustración 11 Diagrama de clases DATA ACCESS LAYER

Page 74: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

74

BUSINESS LOGIC LAYER

Ilustración 12 Diagrama de clases BUSINESS LOGIC LAYER

WEB API LAYER

Ilustración 13 Diagrama de clases WEB API LAYER

Page 75: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

75

Ilustración 14 Diagrama de clases WEB API LAYER general

WEB USER INTERFACE LAYER

Ilustración 15 Diagrama de clases WEB USER INTERFACE LAYER

Page 76: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

76

4.10 DIAGRAMAS DE SECUENCIA

Ilustración 16 Diagrama de secuencia Login

Page 77: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

77

Ilustración 17 Diagrama de secuencia procesos CRUD

Page 78: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

78

4.11 DIAGRAMA DE ACTIVIDADES

Ilustración 18 Diagrama de actividades

4.12 DIAGRAMA ENTIDAD RELACIÓN

Ilustración 19 Diagrama Entidad Relación

Asignacion_tareas (dbo)

id_asignacion

id_usuario

id_tarea

Documento (dbo)

id_documento

nombre_documento

descripcion_documento

id_asignacion

url_documento

fecha_Adjunto

Estado_Tarea (dbo)

id_EstadoTarea

nombre_Estado

Grupo (dbo)

id_grupo

nombre_grupo

LogError (dbo)

idLog

Modulo

Tipo

Fecha

Error

idUsuario

LogTransacciones (dbo)

idLog

Modulo

Tipo

Fecha

Descripcion

idUsuario

NuevaData

ANteriorData

Modulo (dbo)

id_modulo

nombre_modulo

url_modulo

id_modulo_padre

estado

Movimiento (dbo)

id_movimiento

id_asignacion

id_tipo_movimiento

fecha_movimiento

descripcion_movimiento

Perfil (dbo)

id_perfil

nombre_perfil

estado

Permiso (dbo)

id_perfil

id_modulo

id_tipo_permiso

valor_permiso

Proyecto (dbo)

id_proyecto

nombre_proyecto

descripcion_proyecto

estado

id_usuario_crea

Requerimiento (dbo)

id_requerimiento

nombre_requerimiento

descripcion_requerimiento

id_proyecto

Tarea (dbo)

id_tarea

nombre_tarea

descripcion_tarea

id_tarea_padre

id_requerimiento

id_TipoTarea

codigo_tarea

id_EstadoTarea

fecha_Creacion_tarea

fecha_Cierre_tarea

hora_Ejecucion_Tarea

prioridad_tarea

idUsuarioCreacion

Tipo_movimiento (dbo)

id_tipo_movimiento

nombre_tipo_movimiento

Tipo_permiso (dbo)

id_tipo_permiso

nombre_tipo_permiso

Tipo_Tarea (dbo)

id_TipoTarea

nombre_TipoTarea

Indicador_TipoTarea

descripcion_TipoTarea

Usuario (dbo)

id_usuario

identificacion_usuario

contrasena_usuario

nombre_usuario

apellido_usuario

cargo

fecha_nacimiento

fecha_creacion

id_usuario_creacion

id_perfil

id_grupo

estado

Correo

Page 79: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

79

4.13 DIAGRAMA DE DESPLIEGUE

Ilustración 20 Diagrama de despliegue

4.14 DIAGRAMA DE COMPONENTES

Ilustración 21 Diagrama de componentes

Page 80: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

80

4.15 DIAGRAMA DE PAQUETES

Ilustración 22 Diagrama de paquetes

Page 81: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

81

4.16 ARQUITECTURA DE LA SOLUCIÓN

Se utilizó un servidor Azure previamente adquirido por la empresa Virtual Smart Business para realizar la implementación de la solución, y gracias a su modelo IaaS de Cloud Computing se logra un ambiente adecuado para implementar servicios de integración como es el Web API Rest (consumido por la Web APP y por la Mobile APP), y brinda a la empresa la posibilidad de integrarse con otro tipo de aplicaciones sin necesidad de alteraciones en el Core del sistema de gestión de proyectos.

La base de datos también fue creada en una instancia de SQL dentro de los servicios de Azure, lo que beneficia a la compañía en el sentido de tener el control independiente de los costos de almacenamiento y adicionalmente la posibilidad de configurar la redundancia de la base de datos de acuerdo a la necesidad que se tenga en determinado momento.

Adicionalmente, gracias al servicio de Infrastructure as a Service de Azure se tienen las siguientes ventajas:

• Asegurar una excelente disponibilidad (99,95%) de la solución por su flexibilidad, brindando la posibilidad de distribuir los recursos de acuerdo a la concurrencia de las aplicaciones.

• Tiene una excelente relación costo-beneficio ya que Microsoft cobra de acuerdo al uso de las instancias de Cloud Computing.

• La seguridad ofrecida por la instancia de IaaS es de alto nivel, ya que, dependiendo de la necesidad de Virtual Smart Business se puede configurar todo tipo de Firewalls, Redes privadas, Accesos encriptados y Almacenamiento protegido.

Page 82: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

82

Ilustración 23 Arquitectura de la solución

Page 83: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

83

4.17 PRUEBAS DE INTEGRACIÓN

Tabla 90 Prueba 1

Prueba Módulo Gestión Usuarios – Prueba integración (13 de Junio de 2018)

Realizada

por:

Martha Sandoval Estado

Hora Inicio: 10:20 am Proceso OK

Hora Fin: 10:40 am Terminada SI

Concepto Revisar el funcionamiento de las operaciones relacionados con el

Módulo de Gestión de Usuarios

ACCIÓN ELEMENTO

A PRUEBA

Resultado esperado Tipo de

Usuario

Estado

Ingreso al

Sistema

Formulario

“Inicio

Sesión”

El usuario ingresa número de

identificación y contraseña

registrados en la base de

datos, si es correcto la

aplicación permitirá el

acceso.

Todos OK

Consulta de

Usuarios

Formulario

“Usuarios” e

“Información

Usuario”

Visualizar listado de usuarios

registrados en la base de

datos, junto con su

información personal: Id,

Nombre y Apellidos,

Teléfono, Email, Tipo de

Usuario y No. Contrato. No

permite eliminar usuarios o

modificar su información

personal.

Administra

dor

OK

Page 84: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

84

Consulta de

Usuarios por

Id

Formulario

“Usuarios” e

“Información

Usuario”

Visualizar listado de usuarios

registrados en la base de

datos filtrados por el número

de identificación, junto con

su información personal: Id,

Nombre y Apellidos,

Teléfono, Email, Tipo de

Usuario y No. Contrato. No

permite eliminar usuarios o

modificar su información

personal.

Administra

dor

OK

Editar Perfil Formulario

“Editar Perfil”

Visualizar la información

personal del usuario en

sesión y permitir modificar la

información correspondiente

a email y teléfono.

Todos OK

Cambio

Contraseña

Formulario

“Cambio

Contraseña”

Permitir al usuario en sesión

cambiar su contraseña de

acceso luego de validar la

contraseña actual

Todos OK

Errores 1. Al visualizar la información de un usuario en el campo de de identificación

no se visualiza la información correspondiente.

2. Al consultar usuarios por Id, seleccionar un usuario para ver su

información y solicitar “Regresar“, el campo de texto para realizar el filtro

por número de identificación y la lista de usuarios dejan la información

pegada.

Correcciones 1. Se modificó la consulta a la base de datos para que se visualizara la

información de los usuarios completa.

2. Se implementó función para limpiar el campo de texto de número de

identificación y actualizar la lista de usuarios, al momento de seleccionar

Page 85: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

85

un usuario para ver su información personal completa.

Tabla 91 Prueba 2

Prueba Módulo Gestión de Proyectos – Prueba integración (14 de Junio de

2013)

Realizada

por:

Martha Sandoval Estado

Hora Inicio: 8:00 am Proceso OK

Hora Fin: 8:20 am Terminada SI

Concepto Revisar el funcionamiento de las operaciones relacionados con el

Módulo de Gestión de Proyectos

ACCION ELEMENTO

A PRUEBA

Resultado esperado Perfil Esta

do

Consulta

de

Proyectos

Formulario

“Proyectos”

e

“Información

Proyecto”

Visualizar listado de proyectos

registrados en la base de datos,

junto con la información básica del

mismo: Nombre del proyecto, Fecha

de Inicio (aaaa-mm-dd), descripción

del proyecto.

Adminis

trador

OK

Consulta

de

Proyectos

por

Nombre

Formulario

“Proyectos”

e

“Información

Proyecto”

Visualizar listado de proyectos

registrados en la base de datos

filtrados nombre del proyecto, junto

con la información básica del

mismo:Nombre del proyecto, Fecha

de Inicio (aaaa-mm-dd), descripción

del proyecto.

Adminis

trador

OK

Page 86: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

86

Consulta

de

requerimie

ntos

Formulario

“Requerimie

ntos”

Visualizar un listado con todos los

requerimientos del sistema donde se

visualizará la información básica del

mismo: Nombre del requerimiento,

descripción del requerimiento, fecha

de creación del requerimiento,

Nombre del proyecto.

Adminis

trador

OK

Consulta

de tareas

Formulario

“Tareas”

Desde el módulo de requerimientos

consultar las tareas asociadas con

los campos de: Nombre de tarea,

Descripción de la tarea, Prioridad de

la tarea, Estado de la tarea, Usuario

asignado, Fecha de asignación,

Fecha de finalización.

Adminis

trador

OK

Asignar

tareas

Formulario

“Asignar

tareas”

Desde el módulo de asignación de

tareas, se visualizan los

requerimientos activos del proyecto

en curso y las tareas pendientes por

asignar se asocian a usuarios

técnicos.

Coordin

ador de

proyect

os

OK

Completar

tarea

Formulario

“Tareas”

En el módulo de tareas se visualizan

las tareas asignadas y se selecciona

la tarea a la que se desea cambiar el

estado “En curso” a “Finalizada”

Usuario

técnico

OK

Errores 1. Al momento de visualizar los requerimientos se encontraban cruzados dos

campos.

2. Cuando se seleccionaba un requerimiento no consultaba las tareas

asociadas.

3. Al asignar una tarea no se mostraba en el “Dashboard” del usuario.

Page 87: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

87

Correccion

es

1. Se corrige la visualización de los requerimientos.

2. Se verifica el Store Procedure de la consulta de tareas según requerimiento

y se encuentra una inconsistencia en la data.

Page 88: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

88

5. IMPLEMENTACIÓN DE UN SISTEMA DE SEGURIDAD ADECUADO PARA LA SOLUCIÓN

La seguridad es un tema fundamental dentro de cualquier tipo de solución tecnológica, puesto que actualmente la información es el activo más preciado de cualquier compañía, lo cual genera que los sistemas estén en un constante ataque de innumerables tipos de amenazas. Los incidentes que causan más daño son por Ransomware, el cual secuestra la información a cambio de una recompensa. Este tipo de ataques siempre llega a través de usuarios finales, es decir por medio de dispositivos personales y al momento que los usuarios se conectan a las nubes públicas. Enlaces falsos, redirecciones y trojanos son otros tipos de software malicioso que pueden llegar a la información más importante de la empresa. Gracias a Microsoft Azure se puede minimizar la vulnerabilidad de una empresa, ya que su paquete de servicios IaaS contiene las siguientes prestaciones de seguridad:

• Detección de intrusiones

• Prevención frente a ataques por denegación de servicio distribuido (DDoS).

• Pruebas de penetración

• Análisis de comportamiento

• Detección de anomalías

• Cifrado de datos en transito Adicionalmente Microsoft cuenta con el servicio de Azure Backup and Recovery Service que está diseñado para respaldar y recuperar los datos almacenados en los servidores, y además realiza:

• Respaldo automático.

• Escalabilidad sin límite.

• Diferentes tipos de almacenamiento.

• Transferencia ilimitada.

• Encriptación de datos.

• Aplicación de respaldos consistentes.

• Retención a largo plazo.

5.1 SEGURIDAD DE LA BASE DE DATOS

La seguridad es un aspecto importante a la hora de administrar bases de datos, y Azure SQL Database admite la seguridad de conexión con las reglas de firewall y el cifrado de conexión.

Page 89: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

89

Es compatible con la autenticación mediante nombre de usuario y contraseña y con la autenticación mediante Directorio Activo, adicionalmente la autorización usa el control de acceso basado en roles. Por otro lado, Azure SQL Database realiza el cifrado y descifrado de la base de datos en tiempo real, copias de seguridad asociadas y archivos de registro de transacciones en reposo sin necesidad de efectuar cambios en la aplicación. Microsoft proporciona otros métodos para cifrar los datos de la empresa:

• El Cifrado de nivel de celda está disponible para cifrar columnas concretas, o incluso celdas de datos, con distintas claves de cifrado.

• Posee propiedades de configuración si se necesita un módulo de seguridad de hardware o de administración central de la jerarquía de claves de cifrado.

• Asimismo, hace que el cifrado resulte transparente para las aplicaciones. Con esta propiedad permite cifrar información confidencial dentro de las aplicaciones sin tener que revelar las claves de cifrado.

Azure protege la información en todos los estados:

• Para los datos en movimiento mediante la Seguridad de la capa de transporte (TLS).

• Para los datos en reposo mediante el Cifrado de datos transparente.

• Para los datos en uso mediante Always Encrypted. Gracias a esta infraestructura se evita el problema habitual de todas las aplicaciones cliente/servidor de la necesidad de privacidad cuando los datos se desplazan a través de redes públicas y privadas. Si los datos que se transfieren a través de una red no están cifrados y existe la posibilidad de que usuarios no autorizados se hagan con ellos y los roben.

Page 90: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

90

5.2 ACCESO A LAS APLICACIONES

Azure SQL Server utiliza enmascaramiento de datos dinámicos lo cual ayuda a impedir el acceso no autorizado a datos confidenciales permitiendo escoger la cantidad de los datos confidenciales que se revelarán con un impacto mínimo en el nivel de aplicación. Es una característica de seguridad basada en directivas que oculta los datos confidenciales en el conjunto de resultados de una consulta sobre los campos designados de la base de datos, aunque que los datos de la base de datos no cambian.

Ilustración 24 Esquema de seguridad de acceso a las aplicaciones en Azure13

13 Jake, Marketing. Cloud Comparison Guide (2018)

Page 91: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

91

6. IMPLEMENTACIÓN DE POLÍTICAS DE SEGURIDAD

Este capítulo tiene como propósito detallar la propuesta de una estructura jerárquica encargada del área de seguridad de la información, la identificación de activos y amenazas con su correspondiente valoración. La computación en la nube o información de DataCloud es un término general para denominar cualquier cosa que tenga que ver con la provisión de servicios de hospedaje a través de Internet. Estos servicios se dividen en tres grandes categorías: Infraestructura como servicio (IaaS), plataforma como servicio (PaaS) y software como servicio (SaaS). Al igual que muchas tecnologías genera riesgos identificables que pueden afectar el correcto funcionamiento de una organización. Además, este servicio de PaaS en Cloud es una de las diversas tecnologías las cuales generan riesgos identificables que pueden afectar el correcto funcionamiento y disponibilidad dentro de la organización Para el uso adecuado del sistema telemático de gestión de proyectos de la empresa Virtual Smart Business, se deben implementar políticas de seguridad, minimizando riesgos e identificando las amenazas que ayuden a conservar la integridad de la información obtenida mediante las aplicaciones Web y Móvil.

6.1 ESTRUCTURA JERÁRQUICA DEL ÁREA DE SEGURIDAD DE LA INFORMACIÓN

A continuación, se presenta el organigrama que describe la estructura jerárquica de la empresa Virtual Smart Business seguido de las definiciones de cada Rol de la empresa.

Ilustración 25 Estructura jerárquica del área de seguridad

Page 92: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

92

IDENTIFICACIÓN DE ROLES Y ÁREAS

• Director de Seguridad: Es el responsable de mantener el área de seguridad informática, debe estar al tanto de todos los temas de seguridad que se traten en la oficina.

o Área de Seguridad: Grupo de trabajo de la compañía que se encarga de la gestión de la seguridad de la empresa.

o Infraestructura de Seguridad: Segmento de la empresa que se

encarga de la estructura de seguridad de la organización por medio de la asignación de permisos y la definición de políticas de seguridad de la información.

▪ Administración Usuarios: Se dedica a la modificación de

usuarios, passwords dentro de los sistemas operativos y aplicaciones de la empresa.

▪ Estándares, Políticas y Procedimientos: Se encarga de la

definición y verificación de cumplimiento de los estándares de seguridad de la empresa.

o Evaluación de Aplicaciones: Área encargada de realizar los test de

seguridad de la empresa.

▪ Ethical Hacking (Identificación de vulnerabilidades): Se encarga de realizar la identificación de vulnerabilidades a por medio de herramientas de hacking, teniendo en cuenta que no se deben afectar las redes Reales.

▪ Vulnerability Scanning (Identificación de vulnerabilidades): Se

encarga de realizar el análisis automático de vulnerabilidades a nivel de código, se apoyan en herramientas como Veracode, Fortify, entre otros.

▪ Administración de Incidentes (Eliminación de vulnerabilidades):

Se encarga de la resolución de incidentes de seguridad provenientes del Ethical Hacking o el escaneo de código en el que se realiza una modificación de código o una mejor configuración del ambiente.

Page 93: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

93

IDENTIFICACIÓN DE ACTIVOS

En el siguiente cuadro se lista los activos actuales encontrados para el análisis de

seguridad de información de la empresa Virtual Smart Business.

Activo Tipo Descripción

Software de

monitoreo y acceso

remoto

Aplicaciones Software de monitoreo y acceso remoto en

los equipos corporativos de los

administradores.

PaaS Servicio de

TI

Recursos informáticos del entorno

virtualizado

Copia de respaldo Información Backup de la información proveniente de

servidores

Información de

producción

Información información proveniente del área de

producción

Protocolo NTP Servicio de

TI

Protocolo de Fecha de Red de los

servidores

Lista de chequeo Información listas de chequeo de las configuraciones

de seguridad de cada sistema

Equipos Hardware Equipos de los usuarios que acceden al

PaaS

Tabla 92 Identificación de activos

Page 94: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

94

6.2 IDENTIFICACION DE AMENAZAS

De acuerdo al análisis realizado sobre la organización se pueden reconocer las siguientes amenazas:

Amenaza Tipo de Amenaza Consecuencia

A1 Software Acceso no autorizado a los equipos de la

organización posibilitando la pérdida de

información confidencial.

A2 Humano Mayores tiempos de respuesta frente a la

materialización de incidentes de seguridad.

A3 Humano Pérdida de información sensible y/o

confidencial de la organización.

A4 Humano Información bajo control de personal no

autorizado

A5 Red Registro de tiempos desfasados

A6 Hardware Dispositivos vulnerables ante cualquier

ataque informático generando pérdida de

confidencialidad, integridad y/o

disponibilidad de la información

A7 Software Pueden afectar el funcionamiento adecuado

de los sistemas y con ellos incurrir en

pérdidas económicas.

Tabla 93 Identificación de amenazas

6.3 POLÍTICA DE SEGURIDAD

El objetivo de esta política es asegurar que la provisión del servicio cloud está en concordancia con el negocio, requerimientos de seguridad, leyes relevantes y regulaciones.

Page 95: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

95

DOCUMENTO DE POLÍTICAS DE SEGURIDAD CLOUD COMPUTING Cada documento de política de seguridad de computación en nube de la entidad debe ser aprobado por la alta dirección y publicado y comunicado a todos los empleados y partes externas relevantes como parte de la política de seguridad de la información de la organización o como una política independiente. La política debe establecer las metas y objetivos que rigen el servicio de cloud computing. LIDERAZGO DEL PROGRAMA DE SEGURIDAD La dirección superior responsable de la política de seguridad de la computación en nube debe identificarse por nombre, título, teléfono comercial, dirección comercial y fecha de designación. Los cambios a la alta dirección deben ser documentados dentro de los treinta (30) días calendario de la fecha efectiva del cambio REVISIÓN DE LA POLÍTICA DE SEGURIDAD La política de seguridad debe ser revisada a intervalos planificados o si ocurren cambios significativos para asegurar su idoneidad, adecuación y efectividad continuas. Por ejemplo: Cambios arquitectónicos, cambios de modelos de servicio, actualizaciones de servicios. VIRTUALIZACIÓN En la computación en nube, la mayoría de los controles de separación lógica no son físicos (es decir, servidores separados). En su lugar, la separación se aplica a través de sistemas lógicos y controles de aplicaciones diseñados para ayudar a asegurar la segmentación e integridad de datos en toda la plataforma. Un mecanismo común para proporcionar esta separación de datos y servicios es "virtualización". PAUTAS GENERALES DE LA INFORMACIÓN Las intenciones del área de seguridad informática al publicar las políticas que se describen en este documento no son imponer restricciones que sean contrarias a la cultura establecida de la disponibilidad, la confianza y la integridad de la empresa. Virtual Smart Business se compromete a proteger a los empleados, a los socios y a la compañía de acciones ilegales o dañinas por individuos, ya sea con conocimiento o no. Los sistemas propiedad de la empresa Virtual Smart Business relacionados con Internet / Intranet / Extranet, se encuentran incluidos, pero no limitados a equipos informáticos, software, sistemas operativos, medios de almacenamiento, cuentas de red que proporcionan correo electrónico, navegación WWW y FTP. Estos sistemas deben ser utilizados con fines comerciales para servir a los intereses de la empresa y de los clientes en el curso de operaciones normales.

Page 96: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

96

La seguridad efectiva es un esfuerzo de equipo que implica la participación y el apoyo de todos los empleados y afiliados de la empresa que tratan con sistemas de información y/o información. Es responsabilidad de cada usuario del sistema conocer estas pautas, y conducir sus actividades en consecuencia. Esta política se aplica al uso de información, dispositivos electrónicos y de computación y recursos de red para realizar negocios de la empresa o interactuar con redes y sistemas empresariales internos, ya sean propiedad o arrendados por la empresa Virtual Smart Business, el empleado o un tercero. Todos los empleados, contratistas, consultores, trabajadores temporales y otros empleados y sus subsidiarias son responsables de ejercer un buen juicio sobre el uso apropiado de información, dispositivos electrónicos y recursos de red de acuerdo con las políticas y estándares de la empresa, las leyes y regulaciones locales. De forma general se establece lo siguiente:

• La información de propiedad registrada en dispositivos electrónicos e

informáticos sea propiedad o arrendada por la empresa, el empleado o un

tercero, sigue siendo propiedad exclusiva de Virtual Smart Business. Debe

asegurarse, a través de medios legales o técnicos, que la información

sensible esté protegida de acuerdo con la Norma de Protección de Datos.

• El empleado/ Cliente / socio tiene la responsabilidad de reportar de inmediato

el robo, pérdida o divulgación no autorizada de información de propiedad de

la Compañía.

• El empleado/ Cliente / socio puede acceder, usar o compartir información de

propiedad de la Compañía sólo en la medida en que esté autorizado y sea

necesario para cumplir con las tareas asignadas.

• Los empleados son responsables de ejercer un buen juicio sobre la

razonabilidad del uso personal. Los departamentos individuales son

responsables de la creación de directrices sobre el uso personal de los

sistemas de Internet / Intranet / Extranet.

• En ausencia de tales políticas, los empleados deben guiarse por las políticas

departamentales sobre el uso personal, y si hay alguna incertidumbre, los

empleados deben consultar a su supervisor o gerente.

• Para fines de seguridad y mantenimiento de la red, las personas autorizadas

dentro de la empresa pueden supervisar el equipo, los sistemas y el tráfico

de la red en cualquier momento, de acuerdo con la política de auditoría del

área de aseguramiento de redes.

• Virtual Smart Business se reserva el derecho de auditar las redes y sistemas

periódicamente para asegurar el cumplimiento de esta política.

• Las contraseñas a nivel del sistema y del usuario deben cumplir con la

Política de contraseñas. Está prohibido el acceso a otra persona, ya sea

deliberadamente o por falta de seguridad en su acceso.

• Todos los dispositivos de computación deben estar protegidos con un

protector de pantalla protegido por contraseña con la función de activación

Page 97: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

97

automática establecida en 10 minutos o menos. Debe bloquear la pantalla o

cerrar la sesión cuando el dispositivo esté desatendido.

• Los envíos de empleados de una dirección de correo electrónico de la

empresa a los grupos de noticias deben contener un descargo de

responsabilidad que indique que las opiniones expresadas son estrictamente

propias y no necesariamente las de la empresa, a menos que se publiquen

en el curso de los deberes comerciales.

• Los empleados deben tener extrema precaución al abrir los archivos adjuntos

de correo electrónico recibidos de remitentes desconocidos, que pueden

contener malware.

Las siguientes actividades están, en general, prohibidas. Los empleados pueden estar exentos de estas restricciones durante el curso de sus responsabilidades laborales legítimas (por ejemplo, el personal de administración de sistemas puede tener la necesidad de deshabilitar el acceso a la red de un host si ese anfitrión está interrumpiendo los servicios de producción). Bajo ninguna circunstancia un empleado está autorizado a participar en actividades que sean ilegales bajo las leyes locales, estatales, federales o internacionales mientras se utilizan recursos de la empresa Virtual Smart Business. Las listas que figuran a continuación no son en modo alguno exhaustivas, sino que tratan de proporcionar un marco para las actividades que entran en la categoría de uso inaceptable. Las siguientes actividades están estrictamente prohibidas, sin excepciones:

1. Violaciones a los derechos de cualquier persona o compañía protegidos por

derechos de autor, secretos comerciales, patentes u otros derechos de

propiedad intelectual, o leyes o reglamentos similares, incluyendo, pero no

limitado a, la instalación o distribución de productos piratas u otros productos

de software que No están debidamente licenciadas para su uso por la

empresa.

2. Está prohibido acceder a datos, a un servidor o a una cuenta para cualquier

fin que no sea la realización de negocios de empresa, incluso si tiene acceso

autorizado.

3. La exportación de software, información técnica, software o tecnología de

cifrado, en violación de las leyes internacionales o regionales de control de

exportaciones, es ilegal. La gerencia apropiada debe ser consultada antes

de la exportación de cualquier material que está en cuestión.

4. Introducción de programas maliciosos en la red o el servidor (por ejemplo,

virus, gusanos, caballos de Troya, bombas de correo electrónico, etc.).

5. Revelar su contraseña de cuenta a otros o permitir el uso de su cuenta por

otros. Esto incluye la familia y otros miembros del hogar cuando el trabajo se

hace en casa.

Page 98: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

98

6. Hacer declaraciones sobre la garantía, expresa o implícita, a menos que sea

una parte de las tareas normales del trabajo.

7. Proporcionar información sobre listas de empleados de la compañía a partes

fuera de la empresa.

El equipo del área de seguridad de la información verificará el cumplimiento de esta política a través de diversos métodos, incluidos, entre otros, informes de herramientas empresariales, auditorías internas y externas y comentarios al propietario de la política. Cualquier excepción a la política debe ser aprobada por el equipo seguridad de la información de antemano.

Page 99: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

99

7. CONCLUSIONES

• Existen muchos lenguajes de desarrollo, con los que se pueden realizar aplicaciones móviles, donde cada lenguaje tiene características diferentes que los destacan. Xamarin, cuenta con una gran ventaja el momento de trabajar aplicaciones móviles multiplataforma, ya que es posible desarrollar en las tres principales plataformas del mercado (iOS, Windows Phone y Android), empleando el mismo lenguaje de programación C#, compartiendo hasta un 90% del código. Esto, implica un ahorro considerable en tiempo y recursos.

• Xamarin proporciona una interfaz de usuario nativa, proporcionando acceso a todo el hardware del móvil. Con Xamarin se desarrollan aplicaciones 100% nativas, tal y como si se hubieran codificado en Objetive-C, Swift o Java. En definitiva, Xamarin asegura una muy buena experiencia de usuario, vital en cualquier app.

• Implementar patrones de diseño en una arquitectura hace que la aplicación no sea fuertemente acoplada, lo cual ayuda a la creación de diferentes módulos, sin realizar grandes esfuerzos al momento de realizar el desarrollo.

• Resulta muy flexible el poder exponer los recursos del sistema con un API REST, de manera de brindar datos a distintas aplicaciones, formateados en distintas maneras. REST ayuda a cumplir con los requerimientos de integración que son críticos para construir sistemas en donde los datos tienen que poder combinarse fácilmente y extenderse. Desde este punto de vista, los servicios REST se convierten en algo mucho más grande.

• El alto grado de flexibilidad, el costo de operación dinámico y el pago por volumen de uso son los principales puntos positivos de la utilización de un servicio en la nube IaaS.

• Las vulnerabilidades en Cloud se presentan tanto en los proveedores como en los usuarios. A nivel de proveedores es común encontrar complicaciones por el hardware, software, arquitectura de red, políticas de servicio y de seguridad, mientras que, por parte de los usuarios existe una confianza excesiva en el proveedor y omiten su responsabilidad frente a los riesgos inherentes de su operación.

• La seguridad en cloud debe ser compartida por el proveedor del servicio y el cliente o suscriptor.

• Los actos humanos afectan la seguridad del sistema, siendo vulnerable, debido a accesos no autorizados a información sensible en algunos entornos,

Page 100: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

100

a las brechas de seguridad y la desactualización de la infraestructura como servicio, ocasionando el riesgo de sufrir ataques y/o pérdida de información, de manera que los recursos no se encuentren disponibles en el momento que el cliente los necesite.

Page 101: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

101

8. REFERENCIAS BIBLIOGRÁFICAS

MCGRAW, Gary. Software Security: Building Security in. Addison-Wesley Software Security Series. 2006. 408p. ISBN-10: 0321356705 PORTNY, Stanley. Project Management for dummies. Wiley Brand. 2001. 426p. LERMAN, Julia. Programming Entity Framework. O'Reilly 2009. 335p. ISBN-10: 0596807260 FREEMAN, Adam. Pro ASP.NET MVC 5 (Expert's Voice in ASP.Net). Apress. 2010. 460p. ISBN-10: 148423149X SKEET, Jon. C# in Depht. Manning Publications Company. 2018. 400p. ISBN-10: 161729134X HERMES, Dan. Xamarin Mobile Application Development. Apress. 2015. 390p. ISBN-10: 1484202155 SUTHERLAND, Jeff. Scrum: The Art of Doing Twice the Work in Half the Time. Crown Business New York. 2014. 250p. SIMS, Christopher A. The Elements of Scrum. Dymaxicon. 2011. 182p. SAVILL, JOHN. Mastering Microsoft Azure Infrastructure Services. 2015. 384p. ISBN: 978-1-119-00327-4 FREATO, ROBERTO. Microsoft Azure Security. 2015. 148p. SHINDER, TOM. Microsoft Azure Security Infrastructure. 2016. 226p. ISBN-10: 150930357X Microsoft, Nube segura y bien administrada, [Disponible en Internet]: <URL: https://azure.microsoft.com/es-es/services/virtual-machines/secure-well-managed-iaas/> Proyectos Agiles.org, ¿Qué es Scrum? [Internet]:<URL:https://proyectosagiles.org/que-es-scrum/> Xamarin, Developer Guide, [Internet]: <URL:https://developer.xamarin.com/getting-started/> Microsoft, Información general sobre ASP.Net MVC, [Disponible en Internet]: <URL:https://msdn.microsoft.com/es-es/library/dd381412(v=vs.108).aspx>

Page 102: SISTEMA TELEMÁTICO PARA LA GESTIÓN DE PROYECTOSrepository.udistrital.edu.co/bitstream/11349/14204... · El proyecto en su desarrollo tiene como alcance sistematizar el proceso de

102

Management Plaza, Los 11 pasos para implementar la metodología Scrum, [Disponible en Internet]: <URL:http://managementplaza.es/blog/los-11-pasos-para-implementar-metodologia-scrum/> Microsoft, Principios Xamarin.Forms, [Disponible en Internet]: <URL:https://docs.microsoft.com/es-es/xamarin/xamarin-forms/app-fundamentals/> El baúl del programador, Buenas practicas para el diseño de un API Restful, [Disponible en Internet]: <URL:https://elbauldelprogramador.com/buenas-practicas-para-el-diseno-de-una-api-restful-pragmatica/> Microsoft, Azure frente a AWS. [Disponible en internet]: <URL: https://azure.microsoft.com/es-es/overview/azure-vs-aws/> OnLine Tech, AWS vs Azure: Key differences. [Disponible en internet]: <URL: http://www.onlinetech.com/resources/references/aws-vs-azure-key-differences>