Borrador final

Page 1

ESCUELA MILITAR DE INGENIERÍA MCAL. ANTONIO JOSÉ DE SUCRE “BOLIVIA”

TRABAJO DE GRADO

DESARROLLO DE UN SISTEMA DE INSCRIPCIÓN CON MÓDULO DE FACTURACIÓN MEDIANTE INTERMEDIACIÓN FINANCIERA APLICANDO ENLACE EN LÍNEA. CASO DE ESTUDIO: INSTITUTO ING DATA COMP.

DANNY DANIEL TERCEROS BOZO

COCHABAMBA, 2013


ESCUELA MILITAR DE INGENIERÍA MCAL. ANTONIO JOSÉ DE SUCRE “BOLIVIA”

TRABAJO DE GRADO

DESARROLLO DE UN SISTEMA DE INSCRIPCIÓN CON MÓDULO DE FACTURACIÓN MEDIANTE INTERMEDIACIÓN FINANCIERA APLICANDO ENLACE EN LÍNEA. CASO DE ESTUDIO: INSTITUTO ING DATA COMP.

DANNY DANIEL TERCEROS BOZO

Modalidad: Trabajo de Grado presentado como requisito para optar al título de Licenciatura en Ingeniería de Sistemas.

TUTOR: LIC. LENNY SANABRIA C. P.h.D.

COCHABAMBA, 2013.


RESUMEN EJECUTIVO Título:

Desarrollo de un sistema de inscripción con módulo de facturación

mediante

intermediación

financiera

aplicando enlace en línea. Caso de estudio: Instituto Ing Data Comp Autor:

Danny Daniel Terceros Bozo

Unidad Académica:

Escuela Militar de Ingeniería Cochabamba

Carrera:

Ingeniería en Sistemas.

El presente trabajo ha sido desarrollado para solucionar la perdida de información, tiempo excesivo en el proceso de inscripción y facturación y largas filas de estudiantes que no siempre son atendidos en el instituto Ing Data Comp por lo se ha visto la necesidad de desarrollar un sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea. De esta manera el trabajo de grado se ha desarrollado en cinco capítulos: En el primer capítulo se describen las generalidades del trabajo, el problema identificado a través un análisis a la situación actual del instituto respecto al proceso de inscripción, facturación y la solución a este problema planteado en un objetivo general el cual implica el desarrollo del sistema propuesto. En el segundo capítulo se describe la teoría para fundamentar el desarrollo el trabajo de grado involucrando técnicas de recopilación de información, intermediación financiera, sistemas de facturación, metodologías y herramientas de desarrollo de software. De manera que son base para la construcción del sistema. En el tercer capítulo se ha desarrollado el sistema dividido en un módulo de inscripción y un módulo de facturación a través de la metodología seleccionada y la aplicación de la teoría obtenida. Así mismo se ha demostrado que el sistema desarrollado incrementa puntos de cobro de matrículas y mensualidades, obtiene


información consistente respecto a la verificación de los cobros y disminuye el tiempo en el proceso de inscripción y facturación de manera que soluciona la problemática existente en el instituto. En el cuarto capítulo se demuestra la viabilidad técnica, económica, operativa y social del sistema desarrollado determinado los requerimientos de hardware y software, el costo y disponibilidad de equipos necesarios para el correcto funcionamiento del sistema propuesto y los beneficios que el sistema proporciona al instituto. Por último en el quinto capítulo se muestran los resultados del desarrollo de trabajo expresados en conclusiones específicas. Así mismo se describen recomendaciones que indican las implicaciones de estudio en investigaciones posteriores o con el fin de complementar el trabajo planteado. Palabras claves: Sistemas de facturación, Sistemas de inscripción, Intermediación financiera.


ÍNDICE DE CONTENIDO TÍTULO

Pág.

1

GENERALIDADES .................................................................................... 1

1.1

INTRODUCCIÓN. ...................................................................................... 1

1.2

ANTECEDENTES. ..................................................................................... 5

1.3

PLANTEAMIENTO DEL PROBLEMA. ...................................................... 8

1.3.1.1

Identificación del problema. ........................................................................ 8

1.3.1.2

Identificación de la situación problemática. ................................................ 8

1.3.1.3

Identificación de las causas. ...................................................................... 9

1.3.2

Formulación del problema. ....................................................................... 10

1.3.3

Análisis causa-efecto. .............................................................................. 10

1.4

OBJETIVOS Y ACCIONES. .................................................................... 10

1.4.1

Objetivo general. ...................................................................................... 10

1.4.2

Objetivos específicos y acciones.............................................................. 11

1.5

JUSTIFICACIÓN. ..................................................................................... 13

1.5.1

Justificación Técnica. ............................................................................... 13

1.5.2

Justificación Económica ........................................................................... 14

1.5.3

Justificación Social ................................................................................... 14

1.6

ALCANCE. ............................................................................................... 14

1.6.1

Alcance temático. ..................................................................................... 14

1.6.2

Alcance temporal...................................................................................... 14

1.6.3

Alcance institucional. ................................................................................ 14

1.7

HIPOTESIS. ............................................................................................. 15

1.7.1

Análisis de variables................................................................................. 15

1.7.2

Definición conceptual. .............................................................................. 15

1.7.3

Operativización de variables. ................................................................... 16 ii


1.8

MATRIZ DE CONSISTENCIA. ................................................................. 18

2

MARCO TEORICO .................................................................................. 19

2.1

MÉTODOS Y TECNICAS DE RECOLECCIÓN DE DATOS .................... 19

2.1.1

Observación ............................................................................................. 19

2.1.2

Entrevistas ............................................................................................... 20

2.1.3

Cuestionarios ........................................................................................... 21

2.2

INTERMEDIACIÓN FINANCIERA ........................................................... 22

2.2.1

Generalidades .......................................................................................... 22

2.2.1.1

Servicios de remesa ................................................................................. 23

2.2.2

Entidades de intermediación financiera .................................................... 23

2.2.3

Empresa ................................................................................................... 26

2.2.3.1

Institución educativa ................................................................................. 26

2.2.3.2

Procedimientos de habilitación de estudiantes a carreras y cursos ......... 27

2.2.4

Arquitectura del enlace en línea ............................................................... 28

2.2.4.1

Cliente ...................................................................................................... 30

2.2.4.2

Servidor .................................................................................................... 31

2.2.4.3

Canal de comunicación ............................................................................ 35

2.2.5

Seguridad en la intermediación financiera ............................................... 39

2.2.5.1

Protocolos de seguridad ........................................................................... 39

2.2.5.2

Filtros de red ............................................................................................ 41

2.2.5.3

Normativas de seguridad ......................................................................... 41

2.3

SISTEMAS DE FACTURACIÓN .............................................................. 42

2.3.1

Facturación .............................................................................................. 42

2.3.2

Modalidades de facturación ..................................................................... 44

2.3.2.1

Facturación electrónica ............................................................................ 44

2.3.2.2

Facturación en línea ................................................................................. 45 iii


2.3.2.3

Facturación computarizada ...................................................................... 45

2.3.3

Aspectos técnicos de la factura ................................................................ 46

2.4

INGENIERÍA DE SOFTWARE ................................................................. 48

2.4.1

Modelos de desarrollo de software........................................................... 49

2.4.1.1

Modelo Incremental .................................................................................. 49

2.4.1.2

Modelo espiral .......................................................................................... 51

2.4.1.3

Modelo DRA ............................................................................................. 52

2.4.2

Metodologías de desarrollo de software ................................................... 53

2.4.2.1

Proceso unificado ..................................................................................... 53

2.4.2.2

Programación extrema (XP) ..................................................................... 60

2.4.2.3

Scrum ....................................................................................................... 64

2.4.3

Lenguajes de modelado de software........................................................ 67

2.4.3.1

UML.......................................................................................................... 67

2.4.4

Pruebas de software ................................................................................ 72

2.4.4.1

Pruebas unitarias ..................................................................................... 73

2.4.4.2

Pruebas funcionales ................................................................................. 75

2.4.4.3

Pruebas de carga ..................................................................................... 76

2.5

HERRAMIENTAS DE DESARROLLO DE SOFTWARE ......................... 77

2.5.1

Gestión de la configuración ...................................................................... 77

2.5.2

Arquitecturas de desarrollo de software ................................................... 78

2.5.2.1

Arquitectura cliente/servidor ..................................................................... 78

2.5.2.2

Arquitectura de n-capas ........................................................................... 79

2.5.3

Lenguajes de programación ..................................................................... 84

2.5.3.1

C Sharp .................................................................................................... 84

2.5.3.2

Java.......................................................................................................... 85

2.5.3.3

PHP .......................................................................................................... 86 iv


2.5.4

Sistemas gestores de base de datos ....................................................... 86

2.5.4.1

Sql server ................................................................................................. 87

2.5.4.2

MySql ....................................................................................................... 88

2.5.4.3

PostgreSql ................................................................................................ 88

2.5.4.4

Replicación de base de datos .................................................................. 89

3

MARCO PRÁCTICO ................................................................................ 92

3.1

DETERMINACIÓN DEL PROCESO ACTUAL DE INSCRIPCIÓN Y

FACTURACIÓN ........................................................................................................ 92 3.1.1

Resultado de entrevista respecto al proceso actual de inscripción y

facturación................................................................................................................. 92 3.1.2

Modelo de negocio actual ........................................................................ 93

3.1.2.1

Modelo de negocio en tres niveles ........................................................... 93

3.1.2.2

Modelado de negocio actual .................................................................... 94

3.1.2.3

Deficiencias en el proceso actual de inscripción y facturación ................. 95

3.1.3

Modelo de negocio alternativo ................................................................. 95

3.1.3.1

Modelo de negocio en tres niveles ........................................................... 95

3.1.3.2

Modelado de negocio alternativo.............................................................. 96

3.2

REQUERIMIENTOS EN ENTIDADES FINANCIERAS RESPECTO A LA

INTERMEDIACIÓN

FINANCIERA

Y

REQUERIMIENTOS

EN

ENTIDADES

REGULADORAS RESPECTO A LA FACTURACIÓN MEDIANTE SISTEMAS INFORMÁTICOS ...................................................................................................... 97 3.2.1

Aspectos de técnicos en la intermediación financiera según la circular

SB/466/2004 ............................................................................................................. 97 3.2.2

Aspectos de seguridad en la intermediación financiera según la circular

SB/466/2004 ............................................................................................................. 98 3.2.3

Análisis y selección de entidad financiera ................................................ 99

v


3.2.4

Requerimientos de solicitud de intermediación financiera para cobro de

servicios (Fondo Financiero Privado Fassil) ........................................................... 100 3.2.4.1

Sistema de recepción de pagos ............................................................. 101

3.2.5

Requerimientos para la emisión de factura ............................................ 101

3.2.5.1

Formato de la factura ............................................................................. 101

3.2.5.2

Dosificación ............................................................................................ 103

3.2.5.3

Registro de AutoImpresor ...................................................................... 103

3.2.5.4

Facturación por terceros ........................................................................ 104

3.2.5.5

Prototipo de factura ................................................................................ 104

3.3

DESARROLLO DEL MODULO DE INSCRIPCIÓN ............................... 105

3.3.1

Identificación y selección de metodología de desarrollo ........................ 105

3.3.2

Análisis de selección del modelo de desarrollo ...................................... 107

3.3.3

Análisis de selección del lenguaje de programación .............................. 108

3.3.4

Aplicar las etapas de la metodología elegida al módulo de inscripción .. 110

3.3.4.1

Identificación de fases y flujo de trabajo de UP ...................................... 110

3.3.4.2

Fase de inicio ......................................................................................... 111

3.3.4.3

Fase de elaboración ............................................................................... 116

3.3.4.4

Fase de construcción ............................................................................. 123

3.3.4.5

Fase de transición .................................................................................. 142

3.3.5

Identificación y selección de servidor de aplicaciones y servidor de base

de datos 145 3.3.5.1

Análisis de selección de servidor de aplicaciones .................................. 145

3.3.5.2

Análisis de selección de servidor de base de datos ............................... 146

3.4

DESARROLLO DEL MÓDULO DE FACTURACIÓN CON ENLACE EN

LÍNEA APLICANDO INTERMEDIACIÓN FINANCIERA ........................................ 148 3.4.1

Aplicar las etapas de la metodología elegida al módulo de facturación . 148

vi


3.4.1.1

Fase de inicio ......................................................................................... 148

3.4.1.2

Fase de elaboración ............................................................................... 152

3.4.1.3

Fase de construcción ............................................................................. 161

3.4.1.4

Fase de transición .................................................................................. 186

3.4.2

Diseño del enlace en línea ..................................................................... 189

3.4.2.1

Cliente .................................................................................................... 189

3.4.2.2

Servidor .................................................................................................. 189

3.4.2.3

Canal de comunicación .......................................................................... 189

3.4.2.4

Diseño de arquitectura del enlace en línea ............................................ 190

3.4.2.5

Esquema conexión entre entidad financiera e instituto .......................... 191

3.5

PRUEBAS FINALES DEL SISTEMA DE INSCRIPCIÓN Y EL MÓDULO

DE FACTURACIÓN. ............................................................................................... 193 3.5.1

Pruebas de carga y concurrencia ........................................................... 193

3.5.1.1

Aplicación de pruebas de carga y concurrencia al sistema de inscripción ... ............................................................................................................... 193

3.5.1.2

Aplicación de pruebas de carga y concurrencia al módulo de facturación ... ............................................................................................................... 194

3.6

DEMOSTRACIÓN DE LA HIPOTESIS .................................................. 195

3.6.1

Demostración de la primera variable dependiente: Filas de estudiantes

incrementando puntos de cobro de matrículas y mensualidades............................ 197 3.6.2

Demostración

de

la

segunda

variable

dependiente:

Información

consistente respecto a la verificación del cobro de los mismos .............................. 198 3.6.2.1

Integridad en la base de datos ............................................................... 198

3.6.2.2

Funciones hash ...................................................................................... 200

3.6.2.3

Certificados ............................................................................................ 200

3.6.2.4

Comparación de la integridad de la información .................................... 201

vii


3.6.3

Demostración de la tercera variable dependiente: Tiempo en el proceso

inscripción y facturación en el instituto Ing Data Comp ........................................... 202 3.6.4

Demostración de la variable independiente: El sistema de inscripción con

módulo de facturación mediante intermediación financiera aplicando enlace en línea . ............................................................................................................... 204 3.6.5

Definición de la hipótesis ........................................................................ 206

3.6.6

Cálculo del estadístico T ........................................................................ 207

4

ANÁLISIS DE VIABILIDAD ................................................................... 211

4.1

Viabilidad técnica ................................................................................. 211

4.1.1

Requerimientos del sistema ................................................................... 211

4.1.1.1

Licencias de software ............................................................................. 215

4.1.2

Requerimientos del enlace en línea ....................................................... 215

4.1.3

Requerimientos de personal .................................................................. 216

4.2

Viabilidad económica........................................................................... 217

4.2.1

Costos por componente tecnológico ...................................................... 217

4.2.2

Costos por mano de obra ....................................................................... 220

4.3

Viabilidad operativa ............................................................................. 235

5

CONCLUSIONES Y RECOMENDACIONES ......................................... 238

5.1

Conclusiones ........................................................................................ 238

5.2

Recomendaciones................................................................................ 240

5.2.1

Recomendaciones para el sistema de inscripción:................................. 240

5.2.2

Recomendación para el módulo de facturación ..................................... 241

BIBLIOGRAFÍA ...................................................................................................... 243 ANEXOS ............................................................................................................... 244

viii


ÍNDICE DE TABLAS Tabla Nº 1:

Objetivos específicos y acciones. .................................................... 11

Tabla Nº 2:

Operativización de variables. ........................................................... 16

Tabla Nº 3:

Vistas y diagramas UML .................................................................. 69

Tabla Nº 4:

Selección de entidad financiera ....................................................... 99

Tabla Nº 5:

Selección de metodología de desarrollo ........................................ 106

Tabla Nº 6:

Selección de modelo de desarrollo ................................................ 107

Tabla Nº 7:

Selección de lenguaje de programación ........................................ 108

Tabla Nº 8:

Escenario: Crear cuenta usuario .................................................... 112

Tabla Nº 9:

Escenario: Crear carrera/curso ...................................................... 118

Tabla Nº 10:

Escenario: Realizar inscripción ...................................................... 125

Tabla Nº 11:

Pruebas funcionales: Sistema de inscripción ................................. 142

Tabla Nº 12:

Selección de servidor de aplicaciones ........................................... 145

Tabla Nº 13:

Selección de gestor de base de datos ........................................... 146

Tabla Nº 14:

Escenario: Crear entidad financiera ............................................... 149

Tabla Nº 15:

Escenario: Crear credencial de usuario ......................................... 154

Tabla Nº 16:

Escenario: Registrar datos de dosificación .................................... 155

Tabla Nº 17:

Escenario: Registrar pago.............................................................. 163

Tabla Nº 18:

Pruebas funcionales: Módulo de facturación ................................ 186

Tabla Nº 19:

Resultados de prueba de carga: Sistema de inscripción ............... 193

Tabla Nº 20:

Resultados de prueba de carga: Módulo de facturación ................ 194

Tabla Nº 21:

Operativización de variables de la hipótesis .................................. 196

Tabla Nº 22:

Puntos de cobro de matrículas y mensualidades........................... 197

Tabla Nº 23:

Integridad de la información sin el sistema y con el sistema.......... 201

Tabla Nº 24:

Tiempos invertidos en el proceso de inscripción y facturación ...... 202 ix


Tabla Nº 25:

Beneficios del sistema de propuesto ............................................. 205

Tabla Nº 26:

Requerimientos funcionales: Equipo servidor ................................ 211

Tabla Nº 27:

Requerimientos

inscripción

....................................................................................................... 213

Tabla Nº 28:

Requerimientos

facturación

....................................................................................................... 214

Tabla Nº 29:

Requerimientos no funcionales: Equipo servidor ........................... 215

Tabla Nº 30:

Requerimientos funcionales: Enlace en línea ................................ 216

Tabla Nº 31:

Requerimientos de personal .......................................................... 216

Tabla Nº 32:

Precio de componentes: Equipo servidor ...................................... 217

Tabla Nº 33:

Precio de componentes: Equipo cliente del sistema de inscripción .....

funcionales:

funcionales:

Equipo

Equipo

cliente

cliente

del

del

sistema

módulo

de

de

....................................................................................................... 218 Tabla Nº 34:

Precio de componentes: Equipo cliente del módulo de facturación ..... ....................................................................................................... 219

Tabla Nº 35:

Precio de enlace en línea............................................................... 219

Tabla Nº 36:

Lista de costos por componente tecnológico ................................. 220

Tabla Nº 37:

Módulos del sistema propuesto ..................................................... 222

Tabla Nº 38:

Puntos Función no Ajustados: Módulo de inscripción .................... 223

Tabla Nº 39:

Valores de factores de ajuste - LDC .............................................. 223

Tabla Nº 40:

Factores de costo en COCOMO II: Módulo de inscripción ............ 225

Tabla Nº 41:

Puntos Función no Ajustados: Módulo de facturación ................... 226

Tabla Nº 42:

Valores de factores de ajuste - LDC .............................................. 227

Tabla Nº 43:

Factores de costo en COCOMO II: Módulo de facturación ............ 228

Tabla Nº 44:

Factores de escala ......................................................................... 230

Tabla Nº 45:

Tabla Final de COCOMO II ............................................................ 234 x


Tabla N潞 46:

Tabla final de viabilidad econ贸mica ............................................... 235

xi


ÍNDICE DE FIGURAS Figura Nº 1:

Arquitectura cliente servidor............................................................... 3

Figura Nº 2:

Matriz de consistencia. .................................................................... 18

Figura Nº 3:

Entidades de intermediación financiera ........................................... 25

Figura Nº 4:

Envío de solicitudes del cliente al servidor ...................................... 30

Figura Nº 5:

Componentes de cliente .................................................................. 31

Figura Nº 6:

Componentes del servidor ............................................................... 32

Figura Nº 7:

Cliente/servidor con servidor de base de datos ............................... 33

Figura Nº 8:

Cliente/servidor con servidor de aplicaciones .................................. 33

Figura Nº 9:

Arquitecturas cliente/servidor: comparación entre de dos y tres

capas

......................................................................................................... 34

Figura Nº 10:

Interacción entre los componentes del cliente y servidor de BD ...... 35

Figura Nº 11:

Infraestructura del software cliente/servidor..................................... 36

Figura Nº 12:

Componentes del middleware de base de datos ............................. 37

Figura Nº 13:

Interacción entre los componentes middleware cliente/servidor ...... 38

Figura Nº 14:

S-HTTP sobre SSL .......................................................................... 40

Figura Nº 15:

Firewalls: La patrulla fronteriza de la red. ........................................ 41

Figura Nº 16:

El modelo incremental ..................................................................... 50

Figura Nº 17:

Modelo en espiral típico ................................................................... 51

Figura Nº 18:

Modelo DRA..................................................................................... 53

Figura Nº 19:

Ciclo de vida del proceso unificado. ................................................. 54

Figura Nº 20:

Ciclo con fases e iteraciones del proceso unificado. ........................ 55

Figura Nº 21:

El proceso unificado ......................................................................... 55

Figura Nº 22:

Modelo del proceso unificado. ......................................................... 59

Figura Nº 23:

Los cinco flujos de trabajo................................................................ 60 xii


Figura Nº 24:

El proceso de la programación extrema .......................................... 62

Figura Nº 25:

El proceso de desarrollo de software en Scrum............................... 64

Figura Nº 26:

Fases de pruebas ............................................................................ 72

Figura Nº 27:

Modelo general del proceso de pruebas de software ...................... 73

Figura Nº 28:

Pruebas unitarias ............................................................................. 74

Figura Nº 29:

Pruebas de caja negra. .................................................................... 75

Figura Nº 30:

Arquitectura de un sistema de biblioteca de películas y fotografías . 79

Figura Nº 31:

Diagrama básico de la división según n-capas. ............................... 80

Figura Nº 32:

Diagrama de 2 niveles ..................................................................... 81

Figura Nº 33:

Modelo de 2 niveles, con una capa de dominio de aplicación ......... 82

Figura Nº 34:

Esquema de 3 niveles y n-capas ..................................................... 83

Figura Nº 35:

Replicación de datos ........................................................................ 89

Figura Nº 36:

Modelado de negocio actual en tres niveles .................................... 93

Figura Nº 37:

Modelado de negocio actual ............................................................ 94

Figura Nº 38:

Modelado de negocio alternativo en tres niveles ............................. 95

Figura Nº 39:

Modelado de negocio alternativo ..................................................... 96

Figura Nº 40:

Prototipo de factura instituto Ing Data Comp ................................. 105

Figura Nº 41:

Flujo de trabajo de UP ................................................................... 110

Figura Nº 42:

Diagrama de caso de uso: Crear cuenta usuario ........................... 112

Figura Nº 43:

Diagrama de colaboración: Crear cuenta de usuario ..................... 113

Figura Nº 44:

Diagrama de secuencia: Crear cuenta de usuario ......................... 114

Figura Nº 45:

Diagrama de clases: Cuenta de usuario ........................................ 114

Figura Nº 46:

Diseño de interfaz: Crear cuenta de usuario .................................. 115

Figura Nº 47:

Diseño de interfaz: Gestionar cuenta de usuario ........................... 115

Figura Nº 48:

Diagrama componentes: Cuenta de usuario .................................. 116 xiii


Figura Nº 49:

Diagrama de caso de uso: Crear carrera/curso ............................. 117

Figura Nº 50:

Diagrama de colaboración: Crear carrera/curso ............................ 119

Figura Nº 51:

Diagrama de secuencia: Crear carrera/curso ................................ 120

Figura Nº 52:

Diagrama de clases: carrera/curso ................................................ 121

Figura Nº 53:

Diseño de interfaz: Gestionar carrera/curso................................... 122

Figura Nº 54:

Diagrama componentes: Carrera/curso ......................................... 123

Figura Nº 55:

Diagrama de caso de uso: Realizar inscripción ............................. 125

Figura Nº 56:

Diagrama de caso de uso general: Sistema de inscripción ........... 126

Figura Nº 57:

Diagrama de colaboración: Realizar inscripción ............................ 127

Figura Nº 58:

Diagrama de secuencia: Realizar inscripción ................................ 128

Figura Nº 59:

Diagrama de clases del sistema de inscripción ............................. 129

Figura Nº 60:

Diagrama de base de datos del sistema de inscripción ................. 130

Figura Nº 61:

Diseño de interfaz: Interfaz principal del sistema de inscripción .... 131

Figura Nº 62:

Diseño de interfaz: Iniciar sesión ................................................... 131

Figura Nº 63:

Diseño de interfaz: Efectuar inscripción ......................................... 132

Figura Nº 64:

Diagrama componentes: Sistema de inscripción ........................... 133

Figura Nº 65:

Interfaz principal del sistema.......................................................... 134

Figura Nº 66:

Interfaz de inicio de sesión............................................................. 134

Figura Nº 67:

Interfaz de gestión de cuentas de usuario ..................................... 135

Figura Nº 68:

Interfaz de creación de carrera/curso ............................................ 136

Figura Nº 69:

Interfaz: Registrar plan académico ................................................ 137

Figura Nº 70:

Interfaz: Gestionar carrera/curso ................................................... 137

Figura Nº 71:

Interfaz de registro de datos de estudiante .................................... 139

Figura Nº 72:

Gestionar inscripción ..................................................................... 140

Figura Nº 73:

Pruebas unitarias: Sistema de inscripción ..................................... 141 xiv


Figura Nยบ 74:

Diagrama de caso de uso: Crear entidad financiera ...................... 149

Figura Nยบ 75:

Diagrama de colaboraciรณn: Crear entidad financiera ..................... 150

Figura Nยบ 76:

Diagrama de secuencia: Crear entidad financiera ......................... 150

Figura Nยบ 77:

Diagrama de clases: Entidad financiera ......................................... 151

Figura Nยบ 78:

Diseรฑo de interfaz: Crear entidad financiera y agencia .................. 151

Figura Nยบ 79:

Diagrama componentes: Entidad financiera .................................. 152

Figura Nยบ 80:

Diagrama de caso de uso: Crear credencial de usuario ................ 153

Figura Nยบ 81:

Diagrama de caso de uso: Registrar datos de dosificaciรณn ........... 154

Figura Nยบ 82:

Diagrama de colaboraciรณn: Crear credencial de usuario .............. 155

Figura Nยบ 83:

Diagrama de colaboraciรณn: Registrar datos de dosificaciรณn .......... 156

Figura Nยบ 84:

Diagrama de secuencia: Crear credencial de usuario ................... 156

Figura Nยบ 85:

Diagrama de secuencia: Registrar datos de dosificaciรณn .............. 157

Figura Nยบ 86:

Diagrama de clases: Entidad financiera, credencial de usuario y

datos de dosificaciรณn ................................................................................................ 158 Figura Nยบ 87:

Diseรฑo de interfaz: Crear credencial de usuario ............................ 159

Figura Nยบ 88:

Diseรฑo de interfaz: Registrar datos de dosificaciรณn ....................... 159

Figura Nยบ 89:

Diagrama componentes: Entidad financiera, credencial de usuario y

datos de dosificaciรณn ................................................................................................ 160 Figura Nยบ 90:

Diagrama de caso de uso: Registrar pago ..................................... 163

Figura Nยบ 91:

Diagrama de casos de uso general: Sistema de facturaciรณn ......... 164

Figura Nยบ 92:

Diagrama de colaboraciรณn: Ingresar al sistema ............................. 165

Figura Nยบ 93:

Diagrama de colaboraciรณn: Registrar pago .................................... 165

Figura Nยบ 94:

Diagrama de secuencia: Ingresar al sistema ................................. 166

Figura Nยบ 95:

Diagrama de secuencia: Registrar pago ........................................ 167

Figura Nยบ 96:

Diagrama de clases del sistema de inscripciรณn y facturaciรณn ........ 168 xv


Figura Nº 97:

Diagrama de base de datos: Sistema de inscripción y facturación 169

Figura Nº 98:

Diseño de interfaz: Crear entidad financiera y agencia .................. 170

Figura Nº 99:

Diseño de interfaz: Registrar pago (Paso I) ................................... 170

Figura Nº 100: Diseño de interfaz: Registrar pago (Paso II) .................................. 171 Figura Nº 101: Diseño de interfaz: Reporte de pagos ............................................ 171 Figura Nº 102: Diagrama componentes: Sistema de inscripción y facturación ...... 172 Figura Nº 103: Secuencia de acceso al módulo de facturación ............................. 173 Figura Nº 104: Acceso al sistema de facturación................................................... 173 Figura Nº 105: Consulta de inscripción .................................................................. 174 Figura Nº 106: Registro de pago: Paso I ............................................................... 174 Figura Nº 107: Registro de pago: Paso II .............................................................. 175 Figura Nº 108: Visualización de factura ................................................................. 176 Figura Nº 109: Interfaz de generación de reporte de pagos .................................. 177 Figura Nº 110: Reporte general de pagos: Funcionarios de caja........................... 177 Figura Nº 111: Reporte detalle de pagos: Funcionarios de caja ............................ 178 Figura Nº 112: Reporte mensual de pagos ............................................................ 179 Figura Nº 113: Reporte de deudas de estudiantes ................................................ 180 Figura Nº 114: Habilitación de SSL y Https al sistema de inscripción .................... 181 Figura Nº 115: Interfaz de logs de la base de datos .............................................. 183 Figura Nº 116: Pruebas unitarias: Módulo de facturación ...................................... 185 Figura Nº 117: Diagrama de despliegue: Arquitectura del enlace en línea ............ 191 Figura Nº 118: Esquema de diseño de enlace en línea para la intermediación financiera

....................................................................................................... 192

Figura Nº 119: Integridad en la base de datos ....................................................... 199 Figura Nº 120: Campana de Gauss para la demostración de la Hipótesis ............ 209 xvi


ÍNDICE DE ANEXOS ANEXO A: Circular SB/466/2004: Requisitos mínimos de seguridad informática ANEXO B: Sección 10.9.2 del estándar NB-ISO/IEC 17799: Gestión de seguridad de la información ANEXO C: Carreras y cursos disponibles Ing. Data Comp ANEXO D: Formulario de datos del estudiante ANEXO E: Registro de alumnos inscritos Ing Data Comp ANEXO F: Registro de pagos Ing Data Comp. ANEXO G: Factura de talonario del instituto Ing Data Comp ANEXO H: Tarjeta de pago de mensualidades ANEXO I: Generación del código de control ANEXO J: Cuestionarios de recolección de datos ANEXO K: Pruebas del sistema ANEXO L: Aplicación de medidas de seguridad ANEXO M: Cuestionarios para la demostración de las variables de la hipótesis ANEXO N: Valores críticos de la distribución T-Student ANEXO O: Cuestionarios de viabilidad operativa

xvii


1 GENERALIDADES 1.1 INTRODUCCIÓN. Los sistemas informáticos a lo largo de la última década han facilitado en gran manera la forma de organizar, administrar y distribuir la información en una organización o entidad. Las instituciones financieras son un tipo de organización que requiere de estas tecnologías de información para gestionar sus procesos, transacciones e información interna. Por este motivo estas instituciones hacen uso de sistemas informáticos para ofrecer a sus usuarios acceso a servicios financieros1, los cuales se refieren a ofrecer medios de pago (tarjetas, cheques, transferencias) para garantizar la satisfacción de las partes. Las entidades financieras también actúan como empresas remesadoras2, brindando otro tipo de servicios, como el pago de servicios domiciliaros, educativos y otros, tales como: 

Pago de servicios básicos (Luz, Agua, Telefonía).

Pago de servicios educativos (Mensualidades y matriculas de colegios, institutos, universidades).

Otros servicios de pago (Cable, Cine, Comunicación inalámbrica, etc) (Pita, 2011)

La adquisición de este tipo de servicios da lugar a la intermediación financiera 3; la cual da facultad a las entidades financieras a realizar operaciones económicas a nombre de la institución interesada mediante un contrato expreso. La intermediación financiera junto con el uso de sistemas informáticos facilitan el proceso de algunas funciones determinadas, tales como pago de matrículas, mensualidades, facturación y otros en el caso de una institución del área educativa.

1

Servicios financieros: Son todos aquellos ofrecimientos formales que ofrecen las organizaciones para el manejo del dinero 2 Empresa remesadora: Persona jurídica autorizada a realizar de forma habitual el servicio de remesas, debiendo suscribir contratos para efectuar tal servicio. 3 Intermediación financiera: La Intermediación Financiera es una actividad realizada sólo por una entidad financiera autorizada, consistente en la mediación entre la oferta y demanda de recursos financieros prestables.

1 de 243


El cobro de estos servicios educativos facilita el proceso de inscripción y pago de mensualidades a cualquier estudiante. Cuando se realizan este tipo de pagos en una institución financiera, esta proporciona un “voucher” (recibo o constancia de pago) para respaldar la transacción efectuada. (Ley Nº 1488, 1993) Ante toda actividad económica que se da en las instituciones financieras, existen otro tipo de empresas fiscalizadoras y reguladoras que controlan las tributaciones al estado, es decir los impuestos de comercialización y/o funcionamiento de las entidades lucrativas, para tal efecto es preciso la emisión de una factura; que es un documento autorizado por la Administración Tributaria, cuya emisión acredita la prestación de servicios gravados por el IVA. Este proceso de facturación4, puede ser efectuado mediante un sistema informático o de forma manual (usando talonarios impresos), dando resultado a la emisión de la factura. (Ley Nº 843, 2004) El pago de los servicios educativos también puede ser facturado en los predios de las entidades bancarias cuando existen convenios entre estos y las empresas o instituciones interesadas, este proceso es efectuado mediante la utilización de sistemas de facturación, que permiten la emisión impresa de facturas y facilitan la administración tributaria. El uso de cualquier servicio financiero, reduce el tiempo en el proceso de pago y otorga alta disponibilidad en cuanto a formas de pago de los mismos. Normalmente toda entidad financiera brinda estos servicios, categorizados en modalidades las cuales se describen a continuación: 

Modalidad de débito automático: Consiste en que la entidad efectúa el cobro de una cuenta indicada por el cliente, para pagar uno o varios servicios de manera periódica, su conveniencia reside en pagar a tiempo, sin necesidad de estar atentos a la fecha de pago. (Pita, 2011)

Modalidad de pago en ventanilla: La persona proporciona el apellido y nombre ó el código otorgado por la entidad al funcionario de caja, una vez identificada realiza el pago de servicios de manera presencial en ventanilla, a

4

Facturación: Acto a través el cual el sujeto responsable extiende la factura, nota fiscal o documento equivalente al comprador, cumpliendo con las formalidades establecidas por la administración tributaria.

2 de 243


continuación se emite la factura correspondiente que es entregada al cliente. (Pita, 2011) Toda modalidad requiere los datos de identificación que deben ser otorgados por la institución o la persona interesada para que pueda efectuar el pago de servicios mediante

la

entidad financiera,

de

acuerdo a

las modalidades descritas

anteriormente. Estas modalidades son efectuadas mediante un enlace en línea que permite él envió de información de operaciones económicas entre la entidad que tiene un programa cliente5 y la empresa que tiene un servidor6, mediante un canal de comunicación.7 Este enlace está orientado técnicamente al uso de la arquitectura cliente-servidor; es un modelo de aplicación distribuida8 donde las transacciones se dividen en procesos independientes que cooperan entre sí para intercambiar información entre servidor (proveedor de recursos o servicios) y cliente (demandante que solicita servicios). (Figura Nº 1). Figura Nº 1:

Arquitectura cliente servidor

Fuente: [Cotorruelo, 2004]

5

Cliente: Aplicación informática que solicita un servicio de otro computador, conocido como servidor, normalmente a través de una red de telecomunicaciones. 6 Servidor: Es un equipo informático que provee servicios a otros equipos ó aplicaciones llamadas cliente a través de una red de telecomunicaciones. 7 Canal de comunicación: Medio de transmisión por el que viajan las señales portadoras de la información entre emisor y receptor. Es frecuente referenciarlo también como canal de datos. 8 Aplicación distribuida: Aplicaciones con distintos componentes que se ejecutan en entornos separados y que envían información entre ellos mediante protocolos de comunicación.

3 de 243


Todos los clientes están conectados al servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados, esto significa que todas las gestiones que se realizan se concentran en el servidor. Bajo esta arquitectura se puede estructurar el enlace en línea que permite la intermediación financiera y requiere tres elementos importantes: 

Cliente: Permite al usuario enviar solicitudes o peticiones al servidor mediante una interfaz gráfica de usuario, espera y recibe las respuestas del servidor. Una vez ejecutado el enlace permite al operario enviar solicitudes de búsqueda de datos de la persona al servidor y registrar la transacción comercial, así mismo visualizar el estado de cuentas de la persona, todo mediante la interfaz de usuario. (Orfali, 2002)

Servidor: Provee servicios y solicitudes de procesamiento de los clientes. Proporciona servicios de gestión, administración y protección de la información (datos) a través de conexiones de red, gobernadas por protocolos definidos y a los que acceden los usuarios, de modo concurrente, es decir múltiples conexiones desde un gran número de clientes. Esto permite que el servidor pueda gestionar el envío de registro de las transacciones comerciales por parte del cliente y lo almacene en una Base de datos como también el resto de las solicitudes. (Orfali, 2002)

Canal de comunicaciones: Es el medio por el cuál se conecta el cliente con el servidor para el intercambio de información mutua. Esto es efectuado por servicios de comunicación como: RPC, MOM y ORB, mediante protocolos de red como: TCP/IP, IPX/SPX, DCE y puertos específicos. (Orfali, 2002)

Las instituciones educativas como parte interesada determinan con que modalidad de servicio se puede trabajar, por lo cual las entidades financieras acorde a normativas existentes, brindan información respecto a los requerimientos operativos, técnicos y de seguridad, así como el costo del servicio para que la intermediación financiera se pueda efectuar con la institución interesada, mediante un acuerdo entre ambas partes. Para más información sobre las normativas (Ver Anexo A: Circular SB/466/2004 Requisitos mínimos de seguridad informática) y (Ver Anexo B:

4 de 243


Sección 10.9.2 del estándar NB-ISO/IEC 17799: Gestión de seguridad de la información). El desarrollo del proyecto pretende brindar un medio que permita la inscripción de estudiantes y el pago por este concepto con un módulo facturación mediante intermediación financiera aplicando un enlace en línea, al instituto Ing Data Comp. Solucionando así los problemas que se tienen en el proceso de inscripción y facturación.

1.2 ANTECEDENTES. La intermediación financiera es una actividad muy común en nuestro medio, empresas como Elfec, Comteco, Semapa y varios colegios, permiten que sus clientes puedan pagar el servicio correspondiente en las agencias de las entidades financieras con las cuales tienen un acuerdo. Actualmente se cobran estos servicios mediante el uso de sistemas informáticos, tales como el SFI (Sistema Financiero Integrado) desarrollado por la empresa AXON u otros. De manera que cuando el cliente efectúe el pago correspondiente permitan registrar y enviar esta transacción de la entidad financiera a la empresa respectiva, actualizando inmediatamente el estado de pagos del cliente; es decir que se cancelan las deudas pendientes. Así mismo el funcionario de caja emite una factura respectiva (la cuál es por cuenta de la empresa) que respalda la prestación del servicio y da cumplimiento a las formalidades establecidas por la administración tributaria. El instituto Ing Data Comp es una institución privada que brinda servicios educativos desde hace 18 años. Fue fundado el 19 de junio de 1994 y actualmente cuenta con 376 estudiantes en las diferentes carreras a nivel técnico superior, técnico medio y 142 estudiantes en cursos acelerados. (Ver Anexo C: Carreras y cursos Ing data Comp, Obtenido en entrevista) en la ciudad de Cochabamba. En su infraestructura dispone de 25 aulas, un laboratorio de ensamblaje de computadoras y 5 laboratorios de computación. En el área administrativa el instituto cuenta con una oficina de información, secretaría y una oficina de dirección académica.

5 de 243


Cuando una persona desea cursar alguna carrera o curso en esta institución, debe solicitar la información necesaria de la carrera o curso de su interés, luego llenar un formulario para después cancelar el monto correspondiente por inscripción (matricula y primera mensualidad) en la misma institución. Finalmente se emite una factura como comprobante del pago consumado. Para tener más claro el procedimiento manual que existe para la inscripción y facturación, se describirá en tres partes: proceso de inscripción9, proceso de pago de matrículas y/ó mensualidades y proceso de facturación. a) Proceso de inscripción: De acuerdo al instituto Ing Data Comp es el registro de datos de la persona de forma manual mediante un formulario a una planilla impresa. Este proceso se realiza solo una vez  La persona interesada se aproxima a la oficina de información del instituto, ahí el encargado le proporciona un folleto referente al contenido, costo y fecha de inicio de las carreras y cursos disponibles (Ver Anexo C: Carreras y cursos Ing data Comp, Obtenido en entrevista)  Una vez que la persona decide inscribirse, la secretaria le proporciona un formulario impreso donde el interesado debe llenar sus propios datos manualmente, los cuales son: CI, apellido paterno, materno, nombres, teléfono/celular y carrera/curso (Ver Anexo D: Formulario de datos del estudiante, Obtenido en entrevista).  El estudiante entrega el formulario completado a la secretaria, la cual manuscribe los datos a una planilla denominada: Registro de alumnos inscritos Ing Data Comp. (Ver Anexo E: Registro de alumnos inscritos Ing Data Comp) El motivo por el cuál se usa el formulario de datos es para que la secretaria evite cometer errores de transcripción.  Una vez completada la inscripción la secretaria le entrega una hoja que describe la documentación necesaria para crear el folder personal del estudiante, utilizado para tramitar la titulación del mismo.

9

Inscripción: Registro de una persona para pasar a formar parte de algo.

6 de 243


b) Proceso de pago: Es el pago del estudiante por concepto de inscripción al curso o carrera de su elección ó el pago de mensualidades de estudiantes ya inscritos. Este es un proceso es necesario para realizar la facturación.  El estudiante cancela en efectivo la matrícula y la primera mensualidad de la carrera ó curso elegido en secretaría, en la cuál se guarda el dinero recibido en una gaveta y registra el detalle de la transacción manualmente en un libro denominado: Reporte diario de ingresos.  La secretaria manuscribe los datos del estudiante, en este caso a otra planilla denominada: Registro de pagos Ing Data Comp. (Ver Anexo F: Registro de pagos Ing Data Comp) Ahí el pago es marcado en una casilla disponible para el monto cancelado por el estudiante de acuerdo a la carrera y semestre respectivo.  Para el pago de las siguientes mensualidades, el estudiante se aproxima al escritorio de la secretaria y le dicta sus apellidos y/ó nombres, entonces la secretaria busca al estudiante mediante los datos mencionados en la planilla respectiva de acuerdo a la carrera y semestre correspondiente. Una vez identificado paga la mensualidad en efectivo y la transacción es registrada en el libro: reporte diario de ingresos y también el pago es registrado en la planilla correspondiente. c) Proceso de facturación: De acuerdo al instituto Ing Data Comp es la emisión de factura por concepto de pago de matrículas y mensualidades, la cuál habilita al estudiante pasar clases, esto sucede en dos situaciones:  Al finalizar la inscripción: Una vez que el estudiante realiza el pago por inscripción, la secretaria mediante el formulario de datos que el estudiante entregó, obtiene el CI y los apellidos con los que emite una factura de forma manual (en talonario) (Ver Anexo G: Factura de talonario del instituto Ing Data Comp, Obtenido en entrevista) Es importante mencionar que el único lugar de pago y facturación, es el escritorio de la secretaria. Finalmente la secretaria le entrega una tarjeta que contiene las fechas de pago de las siguientes

mensualidades

(Ver

Anexo

H:

Tarjeta

de

pago

de

mensualidades, Obtenido en entrevista) y archiva la copia de la factura

7 de 243


(que incluyendo a la planilla mencionada. es el único respaldo de pago) en el folder respectivo del estudiante.  Al finalizar el pago de mensualidades: Cuando el estudiante ya está inscrito, solo paga las mensualidades correspondientes, luego que el estudiante es identificado en la planilla de Registro de pagos Ing Data Comp. es emitida la factura (de talonario) de forma manual. Usualmente el proceso de inscripción y facturación demora demasiado tiempo, debido a que la secretaria tiene otras tareas como: Solicitud de permisos para faltas, entrega de documentación, información respecto a las notas de los estudiantes y entrega de copias del Registro de pagos Ing Data Comp para que los docentes puedan verificar que estudiantes pagaron sus mensualidades. Cuando un estudiante es observado como deudor debe salir de clases y aproximarse a consultar el estado de sus pagos en secretaría. El proceso de inscripción, pago y facturación es centralizado en el escritorio de la secretaria donde también cobra las matriculas ó mensualidades de los estudiantes y además realiza otras tareas (mencionadas anteriormente), por lo que existen largas filas de estudiantes que esperan ser atendidos. El instituto Ing Data Comp requiere de una herramienta que permita inscribir alumnos de una manera ágil y cobrar mensualidades y matriculas desde más puntos asegurando que la información (mediante el registro de datos) no se pierda y sea correctamente procesada.

1.3 PLANTEAMIENTO DEL PROBLEMA. A continuación se mencionarán los siguientes puntos para poder determinar el problema de manera clara.

1.3.1.1 Identificación del problema. 1.3.1.2 Identificación de la situación problemática. 

El proceso de inscripción es ineficiente debido a que toma demasiado tiempo que el estudiante llene el formulario de datos manualmente y la secretaria transcriba esos datos en la planilla “Registro de alumnos inscritos Ing Data

8 de 243


Comp” también de forma manual, la cuál es usada para el registro del estudiante. 

El cobro de mensualidades y matriculas es centralizado. Así mismo la facturación manual, lo cual aumenta el tiempo invertido en este proceso, además de ser un trabajo moroso para la secretaria.

La secretaria manuscribe los datos del estudiantes en dos planillas; Registro de alumnos inscritos Ing Data Comp y Registro de pagos Ing Data Comp, esto genera información redundante en el registro de los estudiantes.

Existen largas filas de estudiantes que esperan ser atendidos debido a que la secretaria atiende varias solicitudes como el pago de matrículas y mensualidades, inscripción de estudiantes, solicitud de permisos para faltas, entrega de documentación e información respecto a las notas de los estudiantes.

Como la verificación de pagos es realizada por la secretaria mediante la planilla denominada: Registro de pagos Ing Data Comp por algún motivo (descuido, falta de tiempo por sobredemanda de tareas) olvida marcar la casilla de pago ó marca la casilla equivocada, ocasionando varios problemas como ser que; el estudiante es observado como deudor y debe salir de clases ó el estudiante pueda no pagar alguna mensualidad porque su casilla de pago ya estará marcada.

Durante el proceso de inscripción el formulario de datos de los estudiantes puede ser extraviado ó mezclado entre otros papeles de la secretaria por lo que se busca al estudiante para llenar nuevamente este formulario.

1.3.1.3 Identificación de las causas. Las causas identificadas son: 

Inscripción, facturación y cobro de mensualidades y matriculas es centralizado en un único escritorio de atención por la secretaria.

Proceso manual ineficiente de inscripción el cual requiere el formulario de datos del estudiante que es llenado manualmente.

Proceso manual de emisión de factura (de talonario).

9 de 243


Información redundante en el registro manual de datos de estudiantes en dos planillas.

Múltiples solicitudes en el escritorio atendido por la secretaria.

Registro manuscrito de pagos en planillas.

1.3.2 Formulación del problema. Los ineficientes procedimientos manuales en el registro de estudiantes mediante un formulario, emisión de factura, registro de pagos manuscrito en planillas, y el cobro centralizado de matrículas y mensualidades, provocan perdida de información, tiempo excesivo en el proceso de inscripción y facturación dando lugar a largas filas de estudiantes que no siempre son atendidos.

1.3.3 Análisis causa-efecto. El análisis causa efecto se muestra a continuación: Causa: Los ineficientes procedimientos manuales en el registro de estudiantes mediante un formulario, emisión de factura, registro de pagos manuscrito en planillas, y el cobro centralizado de matrículas y mensualidades. Efecto: Perdida de información, tiempo excesivo en el proceso de inscripción y facturación dando lugar a largas filas de estudiantes que no siempre son atendidos.

1.4 OBJETIVOS Y ACCIONES. Esta sección abarca la descripción de los objetivos y acciones identificadas.

1.4.1 Objetivo general. Desarrollar un sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea, para reducir las filas de estudiantes incrementando puntos de cobro de matrículas y mensualidades, obtener información consistente respecto a la verificación del cobro de los mismos y disminuir el tiempo en el proceso inscripción y facturación en el instituto Ing Data Comp.

10 de 243


1.4.2 Objetivos específicos y acciones. 

Determinar información respecto al proceso actual de inscripción y facturación.

Identificar requerimientos en entidades financieras respecto a la intermediación financiera y requerimientos de entidades reguladoras respecto a la facturación mediante sistemas informáticos.

Desarrollar el módulo de inscripción para el registro de datos del estudiante a la carrera o curso de su interés.

Desarrollar el módulo de facturación con enlace en línea mediante intermediación financiera para el cobro de matrículas y mensualidades una vez que los estudiantes estén inscritos.

Realizar pruebas finales al sistema de inscripción y al módulo de facturación. Tabla Nº 1: Objetivos específicos y acciones. OBJETIVOS ESPECÍFICOS

ACCIONES 

Recopilar

información

mediante

entrevistas a personal indicado para obtener información sobre proceso

Determinar información respecto al proceso

actual

de

inscripción

actual de inscripción y facturación.

y

facturación.

Establecer modelo actual de negocio.

Establecer

modelo

de

negocio

alternativo.  Identificar

requerimientos

en

entidades

entidades financieras respecto a la intermediación

financiera

requerimientos

de

y

entidades

reguladoras respecto a la facturación mediante sistemas informáticos.

Determinar

requerimientos financieras

para

de

las

otorgar

intermediación financiera 

Determinar requerimientos de emisión de

factura

para

el

módulo

de

facturación, de acuerdo a normativas del servicio de impuestos nacionales.

11 de 243


Identificar y seleccionar metodología de desarrollo que se adecue al sistema propuesto.

Aplicar las etapas de la metodología elegida al módulo de inscripción

Realizar el análisis de requerimientos del módulo de inscripción.

Diseñar la interfaz de acceso al módulo de inscripción y de registro de datos del estudiante.

Desarrollar el módulo de inscripción del

Diseñar la base de datos del sistema.

estudiante a la carrera o curso de su

Identificar y seleccionar el servidor de

para

el

registro

de

datos

interés.

aplicaciones y de base de datos adecuado para el sistema. 

Configurar el servidor de aplicaciones y de base de datos elegido.

Implementar la interfaz de acceso al módulo y de registro de datos del estudiante

en

el

servidor

de

aplicaciones. 

Realizar

pruebas

al

módulo

de

inscripción. Desarrollar el módulo de facturación con

enlace

intermediación

en

línea

financiera

elegida al módulo de facturación.

aplicando para

el

cobro de matrículas y mensualidades una vez que los estudiantes estén inscritos.

Aplicar las etapas de la metodología

Realizar el análisis de requerimientos del módulo de facturación.

Diseñar las interfaces de acceso al módulo y emisión de factura según

12 de 243


normativas del SIN. 

Diseñar módulo de conexión (enlace en

línea)

entre

el

módulo

de

facturación (cliente) y el servidor de Base de Datos. 

Implementar las interfaces de acceso al módulo y emisión de factura de acuerdo a la metodología de desarrollo elegida.

Implementar módulo de conexión entre el módulo de facturación (cliente) y el servidor de Base de Datos.

Identificar

y

aplicar

medidas

de

seguridad a los elementos del enlace en línea (cliente, servidor y canal de comunicación). 

Realizar

pruebas

al

módulo

de

facturación. Realizar pruebas finales al sistema de

inscripción

y

al

pruebas

adecuadas

a

realizar.

módulo

facturación.

Identificar

Aplicar pruebas elegidas.

Fuente: [Elaboración propia]

1.5 JUSTIFICACIÓN. Esta sección describe las diferentes justificaciones del tema.

1.5.1 Justificación Técnica. Una vez terminada la propuesta, el beneficio obtenido será contar con un sistema de inscripción de estudiantes a carreras y cursos. Adicionalmente el módulo de facturación mediante la intermediación financiera, permitirá a los estudiantes inscritos

13 de 243


pagar el monto de las matrículas y mensualidades en las distintas sucursales de la entidad financiera y finalmente emitir la factura correspondiente dando lugar a la intermediación financiera, reduciendo el tiempo en ambos procesos y proporcionando información consistente y determinada respecto a la inscripción de alumnos y el estado de pagos de los mismos.

1.5.2 Justificación Económica El beneficio del sistema seria la disminución en el gasto de planillas impresas que son usadas para el registro de estudiantes, registro de pagos y el libro de reporte diario de ingresos. Así mismo los formularios de datos que son llenados manualmente por los estudiantes ya no serán necesarios, por lo que el instituto podrá utilizar ese capital para otros fines.

1.5.3 Justificación Social Los estudiantes del instituto se beneficiaran con la facilidad de inscribirse en un periodo corto de tiempo, además de la flexibilidad de pagar sus matrículas o mensualidades en distintos puntos de cobro autorizados de la entidad financiera con la que se tendrá el convenio.

1.6 ALCANCE. Esta sección describe las diferentes Alcances del tema.

1.6.1 Alcance temático. El área en la que se ubica el presente trabajo es el área de Programación orientada a Web, Ingeniería de Software, UML, Metodologías de diseño,

Intermediación

financiera, Arquitecturas cliente servidor

1.6.2 Alcance temporal. El desarrollo de esta herramienta asumirá una duración de nueve meses en la presente gestión 2013.

1.6.3 Alcance institucional. El sistema será de beneficio para el área de inscripción y facturación en el instituto Ing Data Comp en la ciudad de Cochabamba. 14 de 243


1.7 HIPOTESIS. El sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea, permitirá reducir las filas de estudiantes incrementando puntos de cobro de matrículas y mensualidades, obtener información consistente respecto a la verificación del cobro de los mismos y disminuir el tiempo en el proceso inscripción y facturación en el instituto Ing Data Comp.

1.7.1 Análisis de variables. Variable independiente. El sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea. Variable dependiente. 

Filas de estudiantes incrementando puntos de cobro de matrículas y mensualidades.

Información consistente respecto a la verificación del cobro de los mismos.

Tiempo en el proceso inscripción y facturación en el instituto Ing Data Comp.

1.7.2 Definición conceptual. Variable independiente. El sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea, permitirá registrar alumnos a carreras y cursos de su interés, emitir facturas impresas directamente en la entidad financiera, descentraliza el cobro de mensualidades a varios puntos autorizados, disminuye el tiempo en el proceso de inscripción y facturación. Así mismo proporciona información consistente respecto a la verificación del cobro de mensualidades. Variable dependiente.  Filas de

estudiantes incrementando

puntos de

cobro

de

matrículas

y

mensualidades. Involucra extender la cantidad de puntos de cobro de mensualidades en la entidad financiera.

15 de 243


 Información consistente respecto a la verificación del cobro de los mismos Involucra que la información está completa, es decir que es íntegra, donde los datos se mantengan idénticos durante cualquier operación, como transferencia (envío y recepción), almacenamiento y recuperación.  Tiempo en el proceso inscripción y facturación Involucra el tiempo que se toma registrar los datos del estudiante e inscribirlo en el curso o carrera de su interés y cobrar la mensualidad y/o matricula registrando los datos del cobro para emitir la factura correspondiente.

1.7.3 Operativización de variables. Tabla Nº 2: Operativización de variables. Variable

Dimensión

Indicador

Variable independiente. El sistema de inscripción con módulo de facturación mediante

intermediación

Inscripción vía web y Facturación (en

Sistema implementado.

entidades financieras)

financiera aplicando enlace en línea. Variable dependiente. Filas

de

estudiantes

incrementando cobro

de

puntos

matrículas

de y

Puntos de cobro

Cantidad de puntos de cobro disponibles

mensualidades.

Información

consistente

respecto a la verificación de cobro de los mismos.

Integridad de información

16 de 243

Pruebas de integridad


Tiempo en el proceso de inscripci贸n y facturaci贸n.

Tiempo

Fuente: [Elaboraci贸n propia]

17 de 243

Horas


1.8 MATRIZ DE CONSISTENCIA. Figura Nº 2: PROBLEMA

Matriz de consistencia. OBJETIVOS

HIPÓTESIS

DESARROLLAR UN SISTEMA DE INSCRIPCIÓN CON MÓDULO DE FACTURACIÓN MEDIANTE INTERMEDIACIÓN FINANCIERA APLICANDO ENLACE EN LÍNEA, PARA REDUCIR LAS FILAS DE ESTUDIANTES INCREMENTANDO PUNTOS DE COBRO DE MATRICULAS Y MENSUALIDADES, OBTENER INFORMACIÓN CONSISTENTE RESPECTO A LA VERIFICACIÓN DEL COBRO DE LOS MISMOS Y DISMINUIR EL TIEMPO EN EL PROCESO INSCRIPCIÓN Y FACTURACIÓN EN EL INSTITUTO ING DATA COMP.

Los ineficientes procedimientos manuales en el registro de estudiantes mediante un formulario, emisión de factura, registro de pagos manuscrito en planillas, y el cobro centralizado de matrículas y mensualidades.

PROVOCA Perdida de información, tiempo excesivo en el proceso de inscripción y facturación dando lugar a largas filas de estudiantes que no siempre son atendidos.

Desarrollar un sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea

La aplicación del sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea

PARA

PERMITIRÁ Reducir las filas de estudiantes incrementando puntos de cobro de matrículas y mensualidades, obtener información consistente respecto a la verificación del cobro de los mismos y disminuir el tiempo en el proceso inscripción y facturación

Fuente: [Elaboración propia]

18 de 243

Reducir las filas de estudiantes incrementando puntos de cobro de matrículas y mensualidades, obtener información consistente respecto a la verificación del cobro de los mismos y disminuir el tiempo en el proceso inscripción y facturación


2 MARCO TEORICO 2.1 MÉTODOS Y TECNICAS DE RECOLECCIÓN DE DATOS En este apartado se describen métodos y técnicas que serán utilizados con el fin de recopilar datos sobre la situación existente en el Instituto Ing Data Comp. Los métodos de recolección de datos indican la forma de obtención de los datos, es decir el modo de obtenerlos (escrito, verbal, etc). A su vez existen técnicas que son reglas que mediante el empleo de instrumentos, permiten obtener los datos sobre el objeto de estudio adoptando un método. Las técnicas de recolección de datos que se emplean con más frecuencia son: 

Observación

Entrevistas (Yuni, 2006)

2.1.1 Observación Consiste en observar un fenómeno de interés para obtener y registrar la información deseada. Las formas de observación que generalmente se emplean se fundamentan en sus procedimientos, por este motivo se dividen en: 

Observación simple y observación experimental

Observación discreta y observación abierta

Observación estructurada y observación no estructurada

Observación participante y observación no participante

a) Observación simple: Se realiza en un ambiente natural, anotando los hechos de interés; por ejemplo, observar el comportamiento en un establecimiento comercial, para saber si hay una relación entre el tiempo de su permanencia y la probabilidad de que adquiera cierta cantidad de mercancía. b) Observación experimental: Se realiza en una situación artificial controlada, sobre la cuál se disponen condiciones para descubrir ciertas relaciones; por ejemplo realizar una serie de ensayos en un laboratorio para confirmar una teoría.

19 de 243


c) Observación discreta: Se realiza de modo que los individuos no saben que están siendo observados. Este procedimiento se efectúa por medio de la observación personal o el empleo de aparatos mecánicos tales como la cámara fotográfica y un micrófono escondido. d) Observación abierta: Se realiza de modo que los individuos saben que están siendo investigados. e) Observación estructurada: Se realiza al conocer de antemano los hechos y las características que se van a identificar y registrar; por tanto es una técnica utilizada con frecuencia en estudios sistemáticos. Para este procedimiento la situación y el problema tienen que estar relativamente bien especificados; y como se tiene conocimiento de lo que se desea analizar; se observan los aspectos precisos sobre los objetos de estudio. f) Observación no estructurada: Consiste en anotar las actividades y las características que se estimen más convenientes, en el lugar y tiempo de ocurrencia, sin tener que acudir a técnicas especiales. g) Observación participante: El investigador se mezcla con la situación observada y coopera con las actividades al detectar los aspectos que le interesan. h) Observación no participante: El investigador entra en contacto con el fenómeno, pero observa y toma notas de los aspectos de interés sin mezclarse ni penetrar en el hecho o situación a estudiar. (Landeau, 2007)

2.1.2 Entrevistas Permiten al investigador obtener información más detallada, mediante una serie de preguntas formuladas (en el contexto de la investigación) que se hacen a las personas implicadas con el objeto de estudio con el propósito de obtener datos sobre los elementos a estudiar. En esta técnica, se da una participación de ambas partes. La persona entrevistada se convierte en un sujeto informante sobre las necesidades de información que son indagadas por el investigador mediante la aplicación de la técnica.

20 de 243


La entrevista puede ser aplicada de las siguientes formas: 

De manera personal, donde las preguntas se formulan y se responden directamente, el entrevistador y el entrevistado está presente.

Por teléfono, donde el dialogo se realiza a través del mismo.

La entrevista adopta el empleo de un instrumento denominado cuestionario que permite la obtención de datos y será descrita en el siguiente apartado. (Landeau, 2007)

2.1.3 Cuestionarios Es el método que utiliza un instrumento o formulario impreso, que consta de preguntas escritas destinado a obtener repuestas sobre el problema en estudio sin intervención del investigador. El cuestionario puede aplicarse a grupos o individuos estando presente el investigador o el responsable del recoger la información, o puede enviarse por correo a los destinatarios seleccionados en la muestra de una población dada. Debido a su administración se puede presentar problema relacionados con la cantidad y calidad de datos que pretende obtener para el estudio, es importante que el cuestionario tenga las siguientes cualidades fundamentales: confiabilidad y validez. El diseño de un cuestionario es una labor que se debe realizar al considerar sus objetivos fundamentales que son: 

Motivar al entrevistado.

Obtener respuestas claras acorde con la información deseada.

Las etapas para el desarrollo de un cuestionario son las siguientes: 

Establecer la naturaleza de la información que se requiere.

Precisar las características de la población estudiada.

Determinar cómo se aplicará el cuestionario.

Especificar el tipo de preguntas adecuadas.

Determinar el contenido de las preguntas.

Las preguntas son los elementos básicos de un cuestionario; por lo tanto, para que proporcionen la información deseada es necesario que se formulen de acuerdo a los objetivos para las cuales son apropiadas, según su finalidad y en función del 21 de 243


entrevistado. Básicamente, se recurre a dos tipos de preguntas, las abiertas y las cerradas. 

La pregunta abierta: Contiene una interrogación que el individuo contesta de acuerdo a sus ideas y con sus propias palabras, sin tener que limitarse a respuestas prefijadas. Esta modalidad de pregunta es adecuada cuando el tema es complejo y cuando no se conocen con precisión sus elementos relevantes.

La pregunta cerrada: Contiene una interrogación y un conjunto de alternativas fijas de respuesta, definidas con anticipación por el investigador para que el entrevistado seleccione la que corresponda a su respuesta. Este tipo de preguntas ofrece dos o más opciones, de las cuales, dependiendo de lo que se pretenda abordar, se hace la elección.

Cuando el cuestionario se haya elaborado en su totalidad, es importante hacer una revisión de las preguntas, para comprobar la calidad del instrumento, medir el grado de su comprensión y determinar si es competente y adecuada a las características del estudio que se está realizando. (Landeau, 2007)

2.2 INTERMEDIACIÓN FINANCIERA 2.2.1 Generalidades La Intermediación Financiera es una actividad realizada sólo por una entidad financiera autorizada, consistente en la mediación entre la oferta y demanda de recursos financieros prestables. La Autoridad de Supervisión del Sistema Financiero (ASFI) otorga la autorización a estas entidades para proporcionar servicios financieros. De manera que estas entidades autorizadas son denominadas: Entidades de intermediación financiera. La intermediación financiera es efectuada mediante la adquisición de un servicio financiero con un contrato expreso, el cual define una relación entre la entidad financiera y el solicitante del servicio (institución o empresa).

22 de 243


El tipo de servicio puede ser: 

Servicio de pago: Incluye Administración de instrumentos de pago, procesamiento de órdenes de pago, Cambio de divisas, servicios de remesa, etc (Ley Nº 1488, 1993)

2.2.1.1 Servicios de remesa A su vez una entidad de intermediación financiera puede ser una empresa remesadora, la cual tiene las siguientes funciones: 

Envío y pago de remesas al interior y exterior del país

Envío y pago de giros a nivel nacional

Envío y pago de giros al exterior

Compra y/o venta de moneda extranjera derivada de la prestación del servicio de remesas y/o giros.

Cobro de servicios básicos.

Las instituciones, empresas, etc; pueden solicitar este servicio a una entidad de intermediación financiera mediante un contrato expreso con el objeto de que esta última realice operaciones financieras por cuenta de la institución. (Ley Nº 1488, 1993)

2.2.2 Entidades de intermediación financiera En el sistema financiero10 del país existen dos grandes grupos de intermediarios financieros: las entidades financieras bancarias y las entidades financieras no bancarias. 

Las entidades financieras bancarias: Son entidades autorizadas, de origen nacional o extranjero, dedicada a realizar operaciones de intermediación financiera y, a prestar servicios financieros al público en el marco de la ley, tanto en el territorio nacional como en el exterior del país. A esta categoría pertenecen los Bancos.

10

Sistema financiero: Es el conjunto de Instituciones bancarias, financieras y demás empresas e instituciones de derecho público o privado, debidamente autorizadas por la Autoridad de Supervisión del Sistema Financiero, que operan en la intermediación financiera.

23 de 243


Las entidades financieras no bancarias: Son el resto de entidades que intermedian en el mercado financiero, estas canalizan el ahorro privado hacia diferentes activos financieros creados por ellas mismas, minimizando los riesgos inherentes y retribuyendo mediante intereses a sus partícipes. Esta categoría está constituida por fondos financieros privado, cooperativas de ahorro y crédito ó mutual de ahorro y préstamo.

Las entidades mencionadas actúan como intermediarios financieros desempeñando un papel importante dentro del sistema financiero, pues ponen en conexión a los prestatarios y a los prestamistas, permitiendo adecuar las necesidades entre ambas partes. (Ley Nº 1488, 1993) De acuerdo a la autorización de la ASFI (Figura Nº 3) las entidades de intermediación financiera que pueden ofrecer servicios financieros son:

Banco

Fondo financiero privado

Cooperativa de ahorro y crédito

Mutual de ahorro y préstamo

Banco: Entidad financiera autorizada, de origen nacional o extranjero, dedicada habitualmente a realizar operaciones de intermediación y a prestar servicios financieros al público. Es la entidad más importante dentro del sector financiero con relación a los fondos que moviliza, ya que la captación de pasivo y la inversión crediticia es la principal actividad de los bancos.

Fondo financiero privado: Es una sociedad anónima cuyo objeto principal es la canalización de recursos a pequeños y micro prestatarios cuyas actividades se localizan tanto en áreas urbanas como rurales.

Cooperativa de ahorro y crédito: Asociación autorizada para la captación de recursos del público en forma de depósitos y para otorgar créditos sólo a sus socios. Son entidades de crédito cuyo objetivo social es servir a las necesidades financieras de sus socios y de terceros mediante el ejercicio de las actividades propias de dichas entidades.

24 de 243


Mutual de ahorro y préstamo: Entidad de intermediación financiera no bancaria, constituida como asociación civil, autorizada a realizar operaciones de intermediación financiera y, a prestar servicios financieros al público.

Figura Nº 3:

Entidades de intermediación financiera

Fuente: [Autoridad de Supervisión del Sistema Financiero, 2005]

Las empresas auxiliares de servicios financieros tienen el objetivo de la intermediación de recursos, en favor de entidades de intermediación financiera y de asociaciones o fundaciones de carácter financiero, pero no brindan el mismo tipo de servicios financieros al público. (Ley Nº 1488, 1993) Las entidades financieras son las que proveen el servicio de remesa a instituciones para así efectuar la intermediación financiera.

25 de 243


2.2.3 Empresa Es la institución que solicita el servicio de remesa a la entidad de intermediación financiera. Esta institución puede ser: 

Institución de servicios básicos (Telefonía, Luz, Agua, Gas)

Institución de servicios educativos (nivel primaria, secundaria, superior)

Institución de otro tipo de servicios (Cine, Cosméticos, Cable, Telefonía inalámbrica)

2.2.3.1 Institución educativa Una institución educativa es un centro organizado cuya la finalidad de formar de manera global o más específica, a las personas de distintas edades que acuden a él. De acuerdo a la estructura general del sistema educativo, estas instituciones esta divididas en niveles, los cuales son: 

Educación prescolar: Constituye el primer nivel de educación, el cual es preparatorio para en nivel primario.

Educación primaria: Se orienta al aprendizaje de lectura, escritura, entorno social, razonamiento y el desarrollo del lenguaje.

Educación secundaria: Orientado al logro de habilidades y conocimientos técnicos y aprendizaje científico-humanístico.

Educación superior: Formación técnico profesional, tecnológica, humanísticoartística y la científica, incluyendo la capacitación y la especialización.

El instituto Ing Data Comp (Ingeniería de datos y computación) es una institución privada que brinda servicios educativos a nivel superior desde hace 18 años. Fue fundado el 19 de junio de 1994 y actualmente cuenta con 376 estudiantes en las diferentes carreras a nivel técnico superior, técnico medio y 142 estudiantes en cursos acelerados. (Ver Anexo C: Carreras y cursos Ing data Comp, Obtenido en entrevista) en la ciudad de Cochabamba. En su infraestructura dispone de 25 aulas, un laboratorio de ensamblaje de computadoras y 5 laboratorios de computación.

26 de 243


2.2.3.2 Procedimientos de habilitación de estudiantes a carreras y cursos Cuando una persona desea cursar alguna carrera o curso debe cumplir ciertos requisitos para luego realizar una serie de pasos que le permitan ser habilitado en el instituto como estudiante y pueda pasar clases. Las carreras a nivel técnico medio y superior solo pueden ser cursadas personas que al menos tengan bachillerato en cambio los cursos técnicos no tienen esta restricción. Por este motivo el instituto tiene requisitos que permiten crear el folder de identificación cada estudiante y estos son los siguientes: Requisitos para carreras a nivel técnico medio o superior: Estos son: 

Una fotocopia de carnet de identidad

Una fotocopia de título de bachiller

Cuatro fotografías, tamaño 3x4 fondo rojo (traje oscuro c/corbata)

Un folder amarillo

Un acofaster y/o nepaco

Una fotocopia de certificado de nacimiento

Requisitos para cursos: Estos son: 

Todos los anteriores excepto a fotocopia de título de bachiller

Una vez que se cumplen los requisitos mencionados, se efectúan una serie de pasos, los cuales se refieren a los siguientes procesos: a) Proceso de inscripción b) Proceso de pago c) Proceso de facturación a) Proceso de inscripción: De acuerdo al instituto Ing Data Comp, es el registro de los datos de la persona al curso o carrera de su elección, para que luego pueda proseguir con los siguientes procesos y esté habilitado para pasar clases en el instituto.

27 de 243


b) Proceso de pago: El pago es un modo de extinguir11 las obligaciones existentes, que consiste en el cumplimiento efectivo de la prestación debida (no solo se refiere a la entrega de una cantidad de dinero o de una cosa), también se refiere al cumplimiento del contenido del objeto de una prestación. El estudiante debe cancelar el monto respectivo en dos situaciones: -

Cuando ya está inscrito el estudiante, efectúa el pago de la matrícula y la primera mensualidad.

-

Cuando el estudiante cancela el resto de sus mensualidades.

c) Proceso de facturación: Es la emisión de factura que acredita la prestación de un servicio (pago por inscripción ó pago de mensualidad). Una vez concretado este último proceso el estudiante es habilitado para pasar clases en el curso o carrera en el que se inscribió. (RND Nº 10-0016-07, 2007) Dentro de la intermediación financiera el instituto es el solicitante del servicio de remesa, el cual una vez adquirido mediante un contrato expreso permite que la entidad financiera cobre los servicios educativos a nombre del instituto.

2.2.4 Arquitectura del enlace en línea La intermediación financiera requiere de una estructura que permita el envío de transacciones (operaciones financieras) de la entidad financiera hacia la institución con la que se ha realizado el previo acuerdo, dando resultado a la arquitectura cliente/servidor, la cuál es un tipo de enlace o red que permite relacionar tres partes fundamentales (Un medio de registro de transacciones, un medio de almacenamiento de tales transacciones y un medio de comunicación que relacione las dos partes anteriores). Esta arquitectura es un modelo de aplicación distribuida12 donde las transacciones se dividen en procesos independientes que cooperan entre sí para intercambiar información entre servidor (proveedor de recursos o servicios) y cliente (demandante que solicita servicios). (Blake, 2005)

11

Extinguir: Son los hechos en virtud de los cuales la obligación deja de existir. Aplicación distribuida: Aplicaciones con distintos componentes que se ejecutan en entornos separados y que envían información entre ellos mediante protocolos de comunicación. 12

28 de 243


La arquitectura cliente/servidor tiene ciertas características descritas a continuación: 

Servicio: La arquitectura cliente/servidor es ante todo una relación entre procesos que se ejecutan en máquinas independientes una de la otra. El proceso servidor es un proveedor de servicios; el cliente los consume. En esencia, la tecnología cliente/servidor provee una clara separación de funciones con base en la idea de servicio.

Recursos compartidos: Un servidor puede servir a varios clientes al mismo tiempo y regular su acceso a recursos compartidos.

Protocolos asimétricos: Existe una relación de muchos a uno entre varios clientes y un servidor. Los clientes siempre empiezan el diálogo al solicitar un servidor, los servidores esperan de modo pasivo a que les lleguen solicitudes de los clientes.

Intercambios basados en mensajes: Clientes y servidores son sistemas acoplados sin grandes restricciones que interactúan mediante un mecanismo de intercambio de mensajes, así estos se convierten en el mecanismo de entrega para las solicitudes y respuestas de servicio.

Escalabilidad: Los sistemas cliente/servidor pueden escalarse horizontal o verticalmente. El escalamiento horizontal implica que al agregar o quitar estaciones de trabajo clientes sólo se produce un pequeño efecto en el desempeño. El escalamiento vertical significa migrar a una máquina servidor más grande y rápida o distribuir la carga de procesamiento entre varios servidores. (Ley 1488, 1993)

La arquitectura cliente/servidor posee tres elementos, estos son cliente, servidor y canal

de

comunicación

(descritos

más

adelante).

Estos

elementos

relacionados con las tres partes del enlace en línea, de la siguiente manera: 

Medio de registro de las transacciones >> Cliente

Medio de almacenamiento de transacciones >> Servidor

Medio de comunicación >> Canal de comunicación

29 de 243

están


Así mismo la relación existente entre la arquitectura cliente/servidor y la intermediación financiera es la siguiente: 

Entidad financiera (cliente)

Empresa/institución (servidor)

Enlace en línea (Canal de comunicación entre cliente y servidor) (Orfali, 2002)

2.2.4.1 Cliente Permite al usuario enviar solicitudes o peticiones al servidor mediante una interfaz gráfica de usuario, espera y recibe las respuestas del servidor. La interacción cliente servidor, se puede ver claramente en la (Figura Nº 4) (Rob, 2004) Figura Nº 4:

Envío de solicitudes del cliente al servidor

Fuente: [Ian Sommerville, 2005]

El cliente como solicitante de servicios a un servidor siempre iniciara la conversación con el servidor. El cliente requiere los siguientes componentes para su funcionamiento: 

Hardware: El cliente requiere recursos de hardware, estos deberán estar estacionados en una computadora con suficiente poder de procesamiento. El cliente también requiere de espacio de disco duro y memoria física.

Sistema operativo: El cliente debe tener acceso a un sistema operativo que tenga capacidad multitarea para manejar las solicitudes realizadas. Así mismo debe ser posible que el sistema operativo pueda conectarse y comunicarse con otros sistemas operativos instalados en otras computadoras en un ambiente de red. Por consiguiente, la combinación de hardware y sistema operativo también deben permitir una conectividad adecuada con múltiples sistemas operativos de red (NOS) debido a que los servicios pueden estar localizados en redes diferentes. 30 de 243


๏ ท

Interfaz de usuario grรกfica: El cliente funciona por encima del sistema operativo y se conecta con el middleware de comunicaciones para acceder a los servicios disponibles en la red. Esto es posible por una interfaz de usuario que oculta al usuario la complejidad del componente. La (Figura Nยบ 5), ilustra los componentes bรกsicos del cliente. (Rob, 2004) Figura Nยบ 5:

Componentes de cliente Software

Aplicaciรณn Frontal Interfaz de software de red

Los componentes de la capa de comunicaciรณnes proporcionan acceso a la red y a los servicios

Sistema operativo

Hardware

Memoria (RAM) Disco duro

CPU Tarjeta de red Tarjeta de video

Cable de red

Fuente: [Rob, 2004]

El cliente debe estar situado en la entidad financiera, mediante el cual podrรก enviar las transacciones correspondientes a la instituciรณn que tendrรก un servidor.

2.2.4.2 Servidor El servidor proporciona servicios a procesos cliente. Es reactivo porque siempre espera las solicitudes del cliente. El servidor dispone de componentes de hardware y software los componentes de hardware incluyen una computadora, esta aloja el servidor y deberรก tener una capacidad mรกs alta de procesamiento que la que almacena el cliente, porque el servidor debe ser capaz de manejar solicitudes concurrente de varios clientes. En la (Figura Nยบ 6), se muestran los componentes del servidor.

31 de 243


El servidor no requiere Interfaz de usuario, este interactúa con el sistema operativo de red y constantemente espera las solicitudes del cliente. Una vez que recibe una solicitud el servidor la procesa localmente y luego de que la solicitud es atendida, la respuesta es enviada de regreso al cliente a través del middleware de comunicaciones. Figura Nº 6:

Componentes del servidor

Software

Servidor Frontal Interfaz de software de red

NOS

Sistema operativo

Los componentes de la capa de comunicaciónes proporcionan acceso a la red y las solicitudes y respuestas viajan a través de la red

Hardware

Memoria (RAM) Disco duro

CPU Tarjeta de red Tarjeta de video

Cable de red

Fuente: [Rob, 2004]

Para la implementación del enlace en línea, se requiere de dos servidores; servidor de base de datos que permita almacenar la información de las transacciones comerciales y un servidor de aplicaciones que tenga la lógica de la aplicación que es usada por el cliente. (Rob, 2004) 

Servidores

de

base

de

datos:

Proporciona

servicios

de

gestión,

administración y protección de la información (datos) a través de conexiones de red, gobernadas por unos protocolos definidos y a los que acceden los usuarios, de modo concurrente, a través de aplicaciones clientes (bien sean herramientas del propio sistema como aplicaciones de terceros). (Figura Nº 7) Los servidores de bases de datos son utilizados para manejar grandes y complejos volúmenes de datos, los cuales son compartidos con un conjunto de clientes. 32 de 243


Figura Nº 7:

Cliente/servidor con servidor de base de datos

Fuente: [Orfali, 2002]

En la intermediación financiera el servidor de base de datos es donde se almacena las transacciones correspondientes registradas mediante el cliente. Este servidor debe estar situado en la institución. 

Servidor de aplicaciones: Proporciona servicios de aplicación a las computadoras cliente, gestiona la mayor parte (o la totalidad) de las funciones de lógica de negocio y de acceso a los datos de la aplicación. De esta manera centraliza y disminuye la complejidad en el desarrollo de aplicaciones. Este servidor gestiona los servicios de la aplicación cliente (que está en la entidad financiera) y así mismo la parte funcional de la aplicación en general. La (Figura Nº 8) muestra un ejemplo de servidor de aplicaciones. Figura Nº 8:

Cliente/servidor con servidor de aplicaciones

Fuente: [Orfali, 2002]

33 de 243


La arquitectura cliente/servidor clásica está dividida en 2 capas, pero también existen de más capas que son utilizadas de acuerdo a los requerimientos que se tengan: 

Sistemas cliente/servidor de dos capas: La lógica de la aplicación está en el cliente o dentro de la base de datos en el servidor (o en los dos lugares).

Sistemas cliente/servidor de tres capas: La lógica de la aplicación (o del proceso) reside en la capa intermedia y está separada de la información y de la interfaz de usuario.

En la (Figura Nº 9) se puede diferenciar los sistemas cliente/servidor de dos y tres capas. Figura Nº 9:

Arquitecturas cliente/servidor: comparación entre de dos y tres capas DBMS, administradores de recursos heredados y de otros tipos

GUI y aplicaciones SQL, Archivos de E/S HTTP

Primera capa

Segunda capa

CLIENTE SERVIDOR DE DOS CAPAS DBMS, Administradores de recursos heredados y otros tipos

Servidor de aplicaciones RPC ORB MOM HTTP

Primera capa

Acceso a la información mediante SQL

Segunda capa

Tercera capa

CLIENTE SERVIDOR DE TRES CAPAS

Fuente: [Orfali, 2002]

En teoría los sistemas c/s de tres capas son escalables, robustos y flexibles. Además pueden integrar datos provenientes de varias fuentes; a la vez, es más fácil administrar y distribuir aplicaciones de tres capas en la red; casi todo el código se ejecuta en los servidores. Así mismo, las aplicaciones de tres capas reducen los intercambios de red al crear planos de servicio abstractos. (Orfali, 2002)

34 de 243


2.2.4.3 Canal de comunicación En el contexto de la intermediación financiera es medio de comunicación por donde se envían las transacciones correspondientes mediante el cliente (que está en la entidad financiera) hacia el servidor (que está en la institución). Este envió es efectuado mediante un middleware13 de comunicaciones que proporciona los medios mediante los cuales los clientes y servidores se comunican para realizar funciones específicas. En la (Figura Nº 10), se puede ver un ejemplo de interacción entre los componentes del cliente y servidor Figura Nº 10: Interacción entre los componentes del cliente y servidor de BD Cliente envia solicitud SQL a traves de middleware SQL Cliente

Datos

Middleware envia solicitud SQL a servidor de BD Red de middleware de comunicaciónes

Servidor de BD recibe solicitud la valida y ejecuta. SQL

Servidor de base de datos Datos

Fuente: [Rob, 2004]

El middleware es el sistema nervioso de la infraestructura cliente/servidor. Empieza con el conjunto de API en el lado cliente que se utiliza para llamar a un servicio, y comprende la transmisión de la solicitud por la red y la respuesta que se le da. El middleware no incluye el software que provee el verdadero servicio, pues este reside en el dominio del programa servidor, tampoco incluye una base de datos. En el lado del cliente el middleware no incluye la interfaz de usuario, la cual que pertenece a la esfera de la aplicación cliente. (Rob, 2004) En la (Figura Nº 11) se puede visualizar el middleware en una infraestructura cliente/servidor.

13

Middleware: software de conectividad que ofrece un conjunto de servicios que hacen posible el funcionamiento de aplicaciones distribuidas sobre plataformas heterogéneas.

35 de 243


Figura Nº 11: Infraestructura del software cliente/servidor

Cliente

M ODBC FxRPC Correo

Navegador

GUI/ODU

ORB

Servidor

HTTP

DSM CMIP

SNMP

NOS DSM

e ar w e dl id

Directorio

Seguridad

RPC

Impresion

SO

Tivoe/ORB Achiv os distribuidos Igual a igual

Objetos Web Groupware OLTP DBMS

SO

Pila de transporte NetBios

TCP/IP

IPX/SPX

DSM

SNA

Fuente: [Orfali, 2002]

Los canales de comunicación ofrecen servicios de comunicación entre componentes (o entre aplicaciones). Estos canales dividen al middleware en: 

Canales generales

Canales de servicio específico

Canales generales: Brindan el sustrato para casi todas las interacciones entre cliente y servidor. Incluyen las pilas de comunicación, los directorios distribuidos, los servicios de autenticación, hora de red, llamadas a procedimientos remotos y los servicios de encolado. Esta categoría también comprende las extensiones del NOS, como los archivos distribuidos y los servicios de impresión.

En esta categoría

pertenecen los firewalls, servidores certificados (SSL, DCE, MS-RPC), los canales con nombre (TCP/IP, APPC, IPX/SPX). Canales de servicios específicos: Desempeñan un tipo de servicio cliente/servidor específico entre ellos se cuentan: 

Middleware específico para bases de datos como ODBC, JDBC, SQLJ, OLE DB, etc.

14

Middleware específico para OLTP14 como ATML, RPC, OTS, DTC.

Middleware específico para groupware como MAPI, SMTP, POP3, IMAP.

Middleware específico para objetos como CORBA/IIOP, COM+ y RMI.

OLTP (Online Transaction Procesing): Procesamiento de transacciones en línea.

36 de 243


Middleware específico para internet como HTTP, CCI, XML y SET. (Orfali, 2002)

El tipo de middleware que es requerido en el enlace en línea es principalmente el de base de datos, donde se almacenan las transacciones financieras. Los componentes de este middleware se pueden visualizar en la (Figura Nº 12) y estos son: 

Interface de programación de aplicaciones (API): El cual permite que el cliente sea independiente del servidor de base de datos. Tal independencia significa que el servidor puede ser cambiado sin que se tengan que volver a escribir en su totalidad las aplicaciones cliente.

Traductor de base de datos: Traduce las solicitudes SQL en la sintaxis del servidor de base de datos específica. La capa traductora de la base de datos acepta la solicitud SQL genérica y la proyecta en el protocolo SQL del servidor de base de datos.

 Traductor de red: Maneja los protocolos de comunicación de red entre los protocolos que se utilicen. Figura Nº 12: Componentes del middleware de base de datos

Cliente

API

Traductor de Traductor base de datos de red

Protocolo de red

Middleware de base de datos Fuente: [Rob, 2004]

Cada módulo maneja los detalles de cada protocolo de comunicaciones de red. La capa traductora de la red se encarga de utilizar el protocolo de red correcto para acceder a cada base de datos. Cuando los datos de la consulta son regresados, se presentan en un formato común a la aplicación cliente. La (Figura Nº 13) muestra la interacción entre el cliente y los componentes middleware de la base de datos.

37 de 243


Figura Nº 13: Interacción entre los componentes middleware cliente/servidor Cliente

La aplicación frontal hace interface con la aplicación middleware

Servidor de base de datos

Middleware

El programa hace solicitudes SQL genéricas que son trasladadas al servidor de BD por la capa middleware

Middleware

Protocolo de red

El middleware envía entonces las solicitudes SQL al servidor a traves de la red

Base de datos

Protocolo de red

Fuente: [Rob, 2004]

Los protocolos de red son un conjunto de reglas que determinan cómo se envían, interpretan y procesan los mensajes en las computadoras. Así mismo, permiten que las computadoras interactúen en una red. Respecto a los protocolos que el servidor puede utilizar, se pude mencionar a los siguientes: 

Protocolo de control de transmisión/Protocolo de internet (TCP/IP): Es el protocolo de comunicaciones soportado por la mayoría de los sistemas operativos. TCP/IP provee conectividad de extremo a extremo especificando cómo los datos deberían ser formateados, direccionados, transmitidos, enrutados y recibidos por el destinatario.

Intercambio de paquetes entre redes/Intercambio de paquetes en secuencia (IPX/SPX): Es un protocolo de datagramas rápido orientado a comunicaciones sin conexión que se encarga de transmitir datos a través de la red, incluyendo en cada paquete la dirección de destino.

Cuando se realiza la infraestructura de red, se debe tomar en cuenta que es necesario seleccionar una topología de red y seleccionar un protocolo, este afecta directamente el software que puede utilizarse. La mayoría de los servidores de base de datos utilizan TCP/IP como protocolo de red. (Rob, 2004)

38 de 243


2.2.5 Seguridad en la intermediación financiera Son mecanismos de seguridad que garantizan la protección y el envío seguro de datos desde el cliente hasta el servidor. Esto es efectuado mediante la aplicación de protocolos que aseguran la integridad de datos, la autenticación de identidad de clientes con el servidor y el control de tráfico de red para determinar quién puede acceder o la misma. Estos mecanismos están categorizados en: 

Protocolos de seguridad

Filtros de red (Orfali, 2002)

2.2.5.1 Protocolos de seguridad Aseguran canales seguros de comunicación y autenticación, estos pueden ser: 

SSL: Es una capa de conexiones seguras de sóckets asegurada. Es la norma para la autenticación y encriptación entre navegadores y servidores web. SSL también verifica que el contenido del mensaje no haya sufrido alteraciones. SSL implementa una versión de sóckets con seguridad mejorada que da protección a las transacciones en el nivel de transporte. SSL brinda un enlace seguro de comunicación que comprende las aplicaciones que lo llaman; por ejemplo, la existencia de SSL es transparente para el correo electrónico o HTTP. Los servidores de este último protocolo que implementan SSL deben ejecutarse en el puerto 443 y no en el puerto normal, el 80. El protocolo SSL proporciona: 

Interacciones privadas entre cliente y servidor mediante encriptación.

Autenticación de servidor.

Intercambios confiables entre cliente y servidor a través de revisiones de la integridad de los mensajes que detectan la alteración.

Cuando un cliente y un servidor empiezan a comunicarse, convienen una versión del protocolo SSL, eligen los algoritmos criptográficos, optativamente se autentican el uno al otro y utilizan técnicas de encriptación de llave pública para generar secretos compartidos. Este protocolo permite al cliente y al servidor autenticarse entre sí y negociar el algoritmo de cifrado (encriptación). 39 de 243


En general, el navegador debe asegurarse de que el servidor emplea un certificado válido. Los servidores también pueden ocupar SSL para verificar las credenciales (o certificados) del cliente. SSL usa autenticación de llave pública y tecnología de encriptación RSA, La implementación para la exportación emplea un algoritmo de encriptación de flujo RC4 de llave de 40 bits. (Orfali, 2002) S-HTTP: Es la variante con seguridad mejorada del protocolo de transporte de hipertexto (HTTP) de internet. S-HTTP añade encriptación y seguridad en el nivel de aplicaciones sobre comunicaciones basadas en conexiones comunes. El cliente y el servidor se comunican por una sesión ordinaria de HTTP y luego negocian sus requisitos de seguridad. S-HTTP ofrece las siguientes revisiones de seguridad: 

Autentica a clientes y servidores.

Revisa si no se han revocado los certificados que presenta el servidor.

Soporta encadenamiento y jerarquías de certificados.

Permite que las aplicaciones negocien los grados de seguridad que necesitan.

Proporciona comunicaciones seguras por firewalls empresariales.

SSL y S-HTTP pueden coexistir sin problemas de un modo muy complementario. (Figura Nº 14). En consecuencia, es posible obtener mucha mejor seguridad de la que brindaría cualquier enfoque por sí solo. Figura Nº 14: S-HTTP sobre SSL Navegador

Mensajes de HTTP

Sello de S-HTTP

Web segura Puerto 443

Servidor

Fuente: [Orfali, 2002]

40 de 243


En resumen S-HTTP da muchos servicios de seguridad como encriptación, autenticación, integridad de mensajes y no rechazo. (Orfali, 2002)

2.2.5.2 Filtros de red Firewall: Un firewall es una parte de un sistema de red que cuida las puertas que separan Internet de una red privada. Sirve para proteger la red privada mediante el filtrado del tránsito que va hacia Internet y que proviene de esta de acuerdo con políticas establecidas. Los firewalls se emplean para definir quién pueden entrar en la red y cuándo. Por lo común, proporcionan dos interfaces de red: una que hace la conexión con la red interna protegida y otra que la hace con la red externa sin proteger (Figura Nº 15). Figura Nº 15: Firewalls: La patrulla fronteriza de la red.

Fuente: [Orfali, 2002]

Los firewalls ofrecen un solo punto de entrada en el que es posible imponer controles de acceso, además de monitorear el tránsito de la red. Así mismo controlan las comunicaciones mediante políticas de seguridad, permitiendo o prohibiendo las mismas (Orfali, 2002) Cuando se efectúa la intermediación financiera, la institución educativa conforma parte de una red con la entidad financiera (para el envío de transacciones), por lo que el firewall controla la comunicación entre ambas partes.

2.2.5.3 Normativas de seguridad Actualmente existe el estándar NB-ISO/IEC 17799 de gestión de seguridad de la información, el cual indica todos los aspectos de seguridad que se deben considerar en las instituciones de acuerdo a secciones específicas. La sección que corresponde 41 de 243


a la intermediación financiera es la de transacciones en línea y se puede ver en (Anexo B: Sección 10.9.2 del estándar NB-ISO/IEC 17799: Gestión de seguridad de la información). Así mismo este estándar menciona que las transacciones en línea pueden necesitar cumplir leyes, reglas y regulaciones, por lo que la Autoridad de Supervisión del Sistema Financiero (ASFI) mediante la circular SB/433/2003 indica los requisitos técnicos y de seguridad que la entidad financiera debe cumplir cuando emplea sistemas informáticos en sus instalación y la circular SB/466/2004 la cual indica los requisitos de seguridad informática a proveedores de tecnologías de información (que en este caso corresponde al instituto). La información a detalle se puede ver en (Anexo A: Circular SB/466/2004: Requisitos mínimos de seguridad informática).

2.3 SISTEMAS DE FACTURACIÓN Los sistemas de facturación, conforman parte de los sistemas de información, estos permiten la emisión impresa de facturas y facilitan la administración tributaria. El objetivo de los sistemas de facturación es permitir que las empresas que los utilizan puedan reducir sus costes operativos, por las funcionalidades que los sistemas ofrecen, tal como eliminación de las facturas en papel, automatización de envío de facturas y establecimiento de aplicaciones a las que se puede conectar los proveedores y las empresas asociadas. Los sistemas de facturación permiten la emisión de facturas de manera impresa ó de forma digital, de acuerdo a las normativas dispuestas por la ley, esta facturación es efectuada mediante sistemas informáticos, se explica con más detalle en el siguiente apartado. (Benet, 2003)

2.3.1 Facturación La facturación o emisión de la factura es el acto a través del cual el sujeto pasivo o tercero responsable extiende la factura, nota fiscal o documento equivalente 15 al comprador, cumpliendo con las formalidades establecidas por la Administración Tributaria, al haberse perfeccionado el hecho generador del IVA16 15

Documento equivalente: Documento, que si bien no se constituye en una factura o nota fiscal propiamente dicha, su emisión implica la realización de una operación gravada por el IVA (Ej. Boletos aéreos) 16 IVA: Impuesto al valor agregado

42 de 243


Esta factura, es el documento autorizado por la Administración tributaria, cuya emisión acredita la realización de la venta de bienes, contratos de obras o la prestación de servicios u otras prestaciones gravadas por el IVA. Para que una institución pueda facturar es necesaria la autorización de una entidad reguladora, esta entidad es denominada: Administración Tributaria, que también se le conoce como Servicio de Impuestos Nacionales (SIN). La resolución normativa de directorio Nº 10-0016-07 de 18 de mayo de 2007 de acuerdo al artículo 13 de la ley Nº 843 (Ley de reforma tributaria) faculta a la Administración tributaria normar y reglamentar la forma de emisión de facturas, notas fiscales o documentos equivalentes, además de los registros que deben llevar los sujetos pasivos o terceros responsables del impuesto. De acuerdo a esta normativa, existen dos pasos para que los sujetos pasivos puedan realizar la facturación: 

Dosificación: Es el procedimiento mediante el cual el sujeto pasivo o tercero responsable, solicita al SIN la habilitación de facturas, para su posterior activación y emisión. La dosificación puede ser por tiempo (aplicada a facturación computarizada) o por cantidad (aplicada a facturación manual y máquina registradora).

Activación: Es el procedimiento a través del cual la Administración Tributaria autoriza la emisión de las facturas que fueron previamente dosificadas.

Posteriormente el sujeto pasivo puede realizar la facturación para acreditar la realización de la venta de bienes o la prestación de servicios, a este proceso se denomina Emisión de factura; Es el acto a través del cual es sujeto pasivo o tercero responsable extiende la factura, nota fiscal o documento equivalente al comprador, cumpliendo con las formalidades establecidas por la Administración Tributaria. Una vez emitida la factura el original del documento debe ser entregado al comprador por el sujeto pasivo o tercero responsable. Así mismo el sujeto pasivo en función a la modalidad de facturación que opta, debe realizar las copias respectivas de la factura, esto será descrito en el siguiente apartado,

43 de 243


El término de sujeto pasivo se refiere a estas personas: 

En forma habitual se dediquen a la venta de bienes muebles;

Realicen obras o presten servicios o efectúen prestaciones de cualquier naturaleza

Realicen operaciones de arrendamiento financiero con bienes muebles.

El sujeto pasivo efectúa el proceso de facturación a través de un Autoimpresor; este un medio mediante el cual se emiten las facturas o notas fiscales, previo registro y autorización ante el SIN y comprende a las máquinas registradoras, puntos de venta Da Vinci o Sistemas de facturación computarizados. Es importante mencionar que la factura tiene una fecha límite de emisión, que es el plazo máximo otorgado por el SIN. (RND Nº 10-0016-07, 2007)

2.3.2 Modalidades de facturación De acuerdo a normativas del SIN, existen las siguientes modalidades de facturación:

2.3.2.1 Facturación electrónica En esta modalidad los sistemas informáticos de los sujetos pasivos o terceros responsables, deberán interactuar directamente con los Sistemas informáticos del SIN, a efectos de solicitar la generación de facturas o notas fiscales por las transacciones comerciales que se realicen por medios electrónicos, individualizadas con un código de control generado y asignado por la Administración tributaria. Esta modalidad de facturación está orientada para aquellos sujetos pasivos o terceros responsables que efectúen transacciones comerciales electrónicas. En esta modalidad no es necesaria la impresión de copias físicas (salvo requerimiento del sujeto pasivo), pero si una copia magnética a momento de realizarse la transacción comercial.

44 de 243


2.3.2.2 Facturación en línea Esta modalidad de facturación se realizara a partir del portal tributario del SIN, permitiendo la emisión de facturas en línea (via internet), individualizadas con un código de control generado y asignado por la Administración Tributaria. Esta modalidad está orientada a aquellos sujetos pasivos o terceros responsables de baja cantidad de facturas emitidas. En esta modalidad la facturación no requiere la impresión de copias físicas de respaldo (salvo requerimiento del sujeto pasivo) pero sí copias magnéticas para fines contables internos, a partir del portal tributario de la administración tributaria.

2.3.2.3 Facturación computarizada Esta modalidad de facturación se realizara a partir del sistema informático desarrollado o adquirido por el propio sujeto pasivo o tercero responsable permitiendo la emisión de facturas o notas fiscales individualizadas con un código de control generado a partir de determinados datos de la transacción comercial, datos de la dosificación y la llave (dato alfanumérico) entregada a tiempo de recabar la dosificación correspondiente. Estos sistemas deben adecuarse, agregando un módulo informático denominado Generador de códigos de control, el mismo que será desarrollado por cuenta del propio sujeto pasivo o tercero responsable, en base a las especificaciones técnicas que estarán disponibles en la página Web o en las dependencias operativas del SIN. Una vez adecuado el sistema, se deberá registrarlo como Autoimpresor ante el SIN. Esta modalidad está orientada a todo tipo de actividades sin restricción alguna. Las facturas o notas fiscales de esta modalidad pueden prescindir de las copias físicas de respaldo, en la medida que los sujetos pasivos o terceros responsables generen copias magnéticas, que sean registradas y archivadas en medios electrónicos asegurando el cumplimiento de las siguientes condiciones: permitir la identificación del emisor, garantizar la integridad, completitud y consistencia de la información y datos en ellos contenidos. Caso contrario los sujetos pasivos responsables deberán generar copias físicas. (RND Nº 10-0016-07, 2007)

45 de 243


2.3.3 Aspectos técnicos de la factura La factura debe seguir un formato normado por la administración tributaria, el cuál se menciona a continuación (esta especificación es para la modalidad de facturación computarizada): Formato de la factura 1. Datos básicos del sujeto pasivo (parte superior izquierda): 

Razón social en el caso de personas jurídicas o nombre en el caso de personas naturales.

Domicilio tributario (casa matriz), número(s) telefónico(s) y la alcaldía a la que pertenece.

Número de sucursal, domicilio, número(s) telefónico(s) y la alcaldía a la que pertenece (excepto en espectáculos públicos eventuales); sólo en el caso que la nota fiscal sea emitida en una sucursal.

Tipo de autoimpresor y número del autoimpresor asignado por el SIN, para las facturas o notas fiscales de las modalidades de facturación computarizada.

2. Datos de dosificación (parte superior derecha) 

Número de identificación tributaria (NIT) del sujeto pasivo.

Número de correlativo de factura, nota fiscal o documento equivalente.

Número de autorización

El término “ORIGINAL” O “COPIA”, según corresponda.

3. Título y subtítulos (parte superior central) 

“FACTURA”

ó

“FACTURA

POR

TERCEROS”

o

“FACTURA

CONJUNTA”, según corresponda. 4. Datos de la transacción comercial (parte central) 

Lugar y fecha de emisión, en el siguiente orden: LUGAR, DIA, MES AÑO.

Nombre o razón social del comprador.

Número de identificación tributaria o número de documento de identificación del comprador.

Detalle: cantidad, concepto, precio unitario y total. 46 de 243


Tipo de cambio oficial de venta correspondiente a la fecha de la transacción, cuando la operación sea en moneda extranjera.

Total en general en Bolivianos (numeral y literal)

5. Datos finales (parte inferior) 

Código de control, cuando corresponda (izquierda)

Fecha límite de emisión (a la derecha y en negrillas)

En negrillas y legible la leyenda: “ La reproducción total o parcial y/o el uso no autorizado de esta Nota Fiscal, constituye un delito a ser sancionado conforme a la Ley” (Central)

Tamaño de la factura: Las facturas o notas fiscales del sistema de facturación, tanto originales como copias, deben aplicar los límites mínimos y máximos según la especificación: General: Mínimo (1/4 oficio) y máximo (Oficio) Colores y materiales: Las facturas o notas fiscales deberán contener información personalizada del sujeto pasivo, es decir el Logo (si corresponde, pudiendo mantener sus colores originales) y Nombre o razón social del sujeto pasivo, el cualquier color distinto de negro, el resto de la información puede ser impresa en cualquier color. Como regla general, los materiales y colores utilizados para la elaboración de los originales y copias físicas de las facturas o notas fiscales, deben permitir preimprimir, imprimir o consignar de forma nítida, legible, precisa y permanente, la información establecida al efecto. Código de control: Es un dato alfanumérico que debe ser generado por el sistema de facturación computarizado a tiempo de emitir una nota fiscal. El Código de Control tiene el objetivo de individualizar cada nota fiscal emitida y se construye con los siguientes datos: 

Número de autorización.

Número de factura o nota fiscal.

NIT o número de documento de identificación del comprador.

Fecha de transacción

Monto de la transacción (Monto efectivamente debitado en el IVA menos tasas, otros impuestos y demás conceptos no gravados) En caso que el monto

47 de 243


de la transacción contenga decimales, se deberá realizar el redondeo sin decimales. (RND Nº 10-0016-07, 2007) La generación del código de control es realizado mediante el uso de algoritmos de criptografía, los cuales pueden ser: 

Algoritmo Alleged RC4: Algoritmo de criptografía simétrica, basado en cifrado de flujo (stream cipher). (ver Anexo I: Generación del código de control).

Algoritmo Verhoeff: Algoritmo de dígito verificador que trabaja con cadenas de dígitos decimales de cualquier tamaño. Además de detectar una amplia gama de errores en datos numéricos, este algoritmo también detecta casos de transposición de dígitos adyacentes. Para más detalle (ver Anexo I: Generación del código de control).

Algoritmo de Base 64: Algoritmo que convierte cifras en base 10 a base 64, utilizando divisiones sucesivas además de un diccionario de 64 caracteres. (ver Anexo I: Generación del código de control). (RND Nº 10-0016-07, 2007)

2.4 INGENIERÍA DE SOFTWARE Es una disciplina de la ingeniería que comprende todos los aspectos de la producción de software desde las etapas iniciales de la especificación del sistema, hasta el mantenimiento de éste después de que se utiliza. En esta definición, existen dos frases clave: 1. Disciplina de la ingeniería: Los ingenieros aplican teorías, métodos y herramientas donde sean convenientes, pero las utilizan de forma selectiva y siempre tratando de descubrir las soluciones a los problemas, aún cuando no existan teorías y métodos aplicables para resolverlos. Los ingenieros también saben que deben trabajar con restricciones financieras y organizacionales, por lo que buscan soluciones tomando en cuenta estas restricciones. 2. Todos los aspectos de producción de software: La ingeniería de software comprende los procesos técnicos del desarrollo de software y también con la gestión de proyectos de software y el desarrollo de herramientas, métodos y teorías de apoyo a la producción de software. 48 de 243


La ingeniería de software tiene como objetivo construir una solución de software eficiente que satisfaga las necesidades requeridas por un cliente, mediante la aplicación de: 

Proveer los estándares y los modelos que faciliten la comunicación, tanto para clientes como para especialistas en la elaboración de un proyecto de software.

Proveer los métodos, herramientas y procedimientos para la “construcción” eficiente del software.

Proveer parámetros y criterios de evaluación de la calidad del software.

La ingeniería de software cuenta con modelos de desarrollo de software los cuales muestran una estructura que indica los pasos a seguir dentro de un ciclo de vida. Así mismo existen metodologías de desarrollo de software que definen patrones aplicados a las etapas del ciclo de vida. (Rob, 2004)

2.4.1 Modelos de desarrollo de software Los modelos indican un ciclo de vida que indica los pasos a seguir en la construcción de software. De acuerdo a las características iterativas de estos modelos, se mencionarán los siguientes: 

Modelo incremental

Modelo espiral

Modelo DRA

2.4.1.1 Modelo Incremental El modelo incremental es aplicado en forma iterativa donde en cada iteración tiene una serie de fases secuenciales. Como se muestra en la (Figura Nº 16), Las fases son aplicadas de manera escalonada. Cada secuencia lineal produce “incrementos” del software.

49 de 243


Figura Nº 16: El modelo incremental

Comunicación Planeación

FUNCIONALIDAD

Modelado

n. Incremento

Construcción Despliegue

Configuraciónes 2do. Incremento

Funciones más complejas 1er. Incremento

Funciones básicas, es un producto escencial TIEMPO

Fuente: [Pressman, 2004]

El primer incremento da resultado a un producto esencial. Es decir, se incorporan los requisitos básicos. El producto esencial queda en manos del cliente (o se somete a una evaluación detallada). Como resultado de la evaluación se desarrolla un plan para el incremento siguiente. El plan afronta la modificación del producto esencial con el fin de satisfacer de mejor manera las necesidades del cliente y la entrega de características y funcionalidades adicionales. Este proceso se repite después de la entrega de cada incremento mientras no se haya elaborado el producto completo. El desarrollo incremental es útil sobre todo cuando el personal necesario para una implementación completa no está disponible. Si el producto esencial es bien recibido se agrega (si se requiera) más personal para implementar el incremento siguiente. Además los incrementos se pueden planear para manejar los riesgos técnicos. (Pressman, 2004)

50 de 243


2.4.1.2 Modelo espiral Es un modelo de desarrollo de software evolutivo que conjuga la naturaleza iterativa y la construcción secuencial. Proporciona el material para el desarrollo rápido de versiones incrementales del software. El software se desarrolla en una serie de entregas evolutivas (lo que le diferencia del modelo iterativo). Durante las primeras iteraciones, la entrega puede ser un documento del modelo o un prototipo. Durante las últimas iteraciones se producen versiones cada vez más complejas del sistema desarrollado. Un proceso en espiral se divide en un conjunto de actividades del marco de trabajo que define el equipo de desarrollo. En la (Figura Nº 17) cada una de las actividades del marco de trabajo representa un segmento de la ruta en espiral. Figura Nº 17: Modelo en espiral típico

Fuente: [Pressman, 2004]

El modelo espiral tiene una dirección en el sentido del movimiento de las manecillas del reloj y se inicia desde el centro, para lo cual el equipo de software realiza actividades en un circuito alrededor de la espiral. Los puntos de fijación (combinación de productos de trabajo y condiciones incluidas a lo largo de la ruta de la espiral) se consideran para cada paso evolutivo. 51 de 243


El modelo en espiral puede adaptarse y aplicarse a lo largo de la vida del software, Por lo tanto, el primer circuito alrededor de la espiral podría representar un “proyecto de desarrollo del concepto”, el cual se inicia en el centro de la espiral y continua por múltiples iteraciones hasta que el desarrollo del concepto este completo. El modelo en espiral es un enfoque realista para el desarrollo de software y de sistemas a gran escala. Como el software evoluciona conforme avanza el proceso, el desarrollador y el cliente entienden y reaccionan de mejor manera ante los riesgos en cada etapa evolutiva. (Pressman, 2004)

2.4.1.3 Modelo DRA El modelo rápido de aplicaciones (DRA) es un modelo incremental que resalta el ciclo de desarrollo corto. Es una adaptación de “alta velocidad” del modelo en cascada y está basado en componentes. Usualmente el periodo promedio de desarrollo es corto (60 a 90 días). El modelo DRA cumple las actividades genéricas de un modelo incremental. La comunicación trabaja para entender el problema de negocios y las características de información que se incluye en el software. En la planeación los equipos de software trabajan en paralelo sobre diferentes funciones del sistema. El modelado incluye tres grandes fases: Modelado de negocios, modelado de datos y modelado de proceso. Estos establecen representaciones del diseño utilizados como base para la construcción y el despliegue, el cuál establece una base de iteraciones necesarias para completar el sistema. El modelo DRA se puede visualizar en la (Figura Nº 18). Las restricciones de tiempo impuestas exigen un ámbito de escalas. SI la aplicación se puede modular de forma que cada función pueda completarse en menos de tres meses, ésta es una candidata para DRA. (Pressman, 2004)

52 de 243


Figura Nº 18: Modelo DRA Equipo # n Modelado modelado de negocio modelado de datos modelado del proceso Construcción reutilización de componentes generacion de código automatico pruebas

Equipo # 2 Modelado modelado de negocio modelado de datos modelado del proceso

Comunicación

Planeación

Construcción reutilización de componentes generacion de código automatico pruebas

Equipo # 1 Modelado modelado de negocio modelado de datos modelado del proceso

Despliegue integración entrega retroalimentación

Construcción reutilización de componentes generacion de código automatico pruebas

60 - 90 Días

Fuente: [Pressman, 2004]

2.4.2 Metodologías de desarrollo de software Las metodologías de desarrollo de software definen patrones aplicados a las etapas del modelo de desarrollo de software elegido, las metodologías aplicadas a los modelos descritos anteriormente, pueden ser las siguientes: 

Proceso unificado (UP)

Programación Extrema (XP)

Scrum (Sommerville, 2005)

2.4.2.1 Proceso unificado El PU es un proceso de software que implementa muchos de los mejores principios del desarrollo ágil de software. Así mismo reconoce la importancia de la comunicación con el cliente y los métodos encaminados a describir el punto de vista del cliente con respecto a un sistema (por ejemplo, el caso de uso17).

17

Caso de uso: Contexto narrativo o plantilla que describe una característica o función del sistema desde el punto de vista del usuario. El caso de uso lo escribe el usuario y sirve como base para la creación de un modelo de análisis más completo.

53 de 243


El PU enfatiza el importante papel de la arquitectura de software, el entendimiento, el ajuste a los cambios futuros y la reutilización. Sugiere un flujo de proceso iterativo e incremental y que proporciona el sentido evolutivo esencial en el desarrollo de software moderno. Ciclo de vida del proceso unificado: El ciclo de vida en el PU define las fases en el desarrollo del sistema. Cada ciclo concluye con una versión del producto. Como se muestra en la (Figura Nº 19). Figura Nº 19: Ciclo de vida del proceso unificado.

Fuente: [Jacobson, 2000]

Cada ciclo consta de cuatro fases: inicio, elaboración, construcción y transición (que serán descritas más adelante). Cada fase se subdivide a su vez en iteraciones, la (Figura Nº 20) ilustras de forma más clara las iteraciones de cada fase. Cada ciclo produce una nueva versión del sistema y cada versión, es un producto preparado para su entrega.

54 de 243


Figura Nº 20: Ciclo con fases e iteraciones del proceso unificado.

Fuente: [Jacobson, 2000]

Es probable que mientras se realizan las fases de construcción, transición y producción ya se hayan iniciado los trabajos para el siguiente incremento del software. Esto significa que las cinco fases del PU no suceden en una secuencia, sino en una concurrencia por etapas. Fases del proceso unificado: PU posee cinco actividades genéricas del marco de trabajo y se aplican para describir cualquier modelo de proceso del software. En la (Figura Nº 21) se muestran las fases del proceso unificado. Figura Nº 21: El proceso unificado

Fuente: [Pressman, 2004]

55 de 243


Inicio: Fase inicial que abarca la comunicación con el cliente y las actividades de planeación. Al colaborar con los clientes y usuarios finales se identifican los requisitos de negocios para el software, se propone una arquitectura aproximada para el sistema y se desarrolla un plan para la naturaleza iterativa e incremental del sistema subsiguiente. Los requisitos fundamentales de negocios se describen a través de casos de uso que describen cuáles características y funciones son deseables para cada clase importante de usuarios. La arquitectura es un esquema tentativo de los subsistemas más importantes y de las funciones y características que los forman. Después la arquitectura se refinará y expandirá en un conjunto de modelos que representarán visiones diferentes del sistema.

Elaboración: Esta fase abarca la comunicación con el cliente y las actividades de modelado del modelo genérico del proceso. La elaboración refina y expande los casos de uso preliminares que se desarrollaron como una parte de la fase de inicio; además, expande la representación arquitectónica para incluir cinco visiones diferentes del software: el modelo de casos de uso, el modelo de análisis, el modelo de diseño, el modelo de implementación y el modelo de despliegue. La arquitectura demuestra la viabilidad de la arquitectura, pero no proporciona todas las características y funciones necesarias para utilizar el sistema. Además, el plan se revisa de manera cuidadosa al término de la fase de elaboración para asegurar que el ámbito, los riesgos y los datos entregados aún son razonables.

Construcción: Si se utiliza el modelo arquitectónico como entrada, la fase de construcción desarrolla o adquiere los componentes del software que harán que cada caso de uso sea operativo para los usuarios finales. Lograr esto requiere que los modelos de análisis y diseño iniciados durante la fase de elaboración se complementen para reflejar la versión final del incremento del software.

Transición: Abarca las últimas etapas de la actividad genérica de construcción y la primera parte de la actividad genérica de despliegue. El

56 de 243


software se entrega a los usuarios finales para realizar pruebas beta y la retroalimentación del usuario reporta tanto defectos como cambios necesarios. Además, el equipo de software crea la información de soporte necesaria (manuales de usuario, guías de resolución de problemas, procedimientos de instalación) para el lanzamiento. Al final de la fase de transición, el incremento de software se convierte en un lanzamiento de software utilizable. (Rumbaugh, Jacobson y Booch, 2000). PU posee aspectos que definen el proceso unificado en tres aspectos clave: Dirigido por casos de uso, centrado en la arquitectura e iterativo e incremental. Características del PU: UP tiene las siguientes características: 

El proceso unificado está dirigido por casos de uso: Quiere decir que el proceso de desarrollo sigue un hilo y avanza a través de una serie de flujos de trabajo que parten de los casos de uso. Los casos de uso se especifican, se diseñan y los casos de uso finales son la fuente a partir de la cual los ingenieros de prueba construyen sus casos de prueba. Un caso de uso es un fragmento de funcionalidad del sistema que proporciona al usuario un resultado importante. Los casos de uso representan los requisitos funcionales y guían el diseño, implementación y prueba.

El proceso unificado está centrado en la arquitectura: La arquitectura en un sistema software se describe mediante diferentes vistas del sistema en construcción. El concepto de arquitectura software incluye los aspectos estáticos y dinámicos del sistema, plataforma en la que tiene que funcionar el software, arquitectura hardware, sistema operativo, sistema de gestión de base de datos, protocolos para comunicarse en red, los bloques de construcción

reutilizables

de

que

se

disponen

consideraciones

de

implantación, sistemas heredados y requisitos no funcionales. Debe haber interacción entre los casos de uso y la arquitectura. En realidad, tanto la arquitectura, como los casos de uso deben evolucionar en paralelo. La arquitectura es la que se diseña para permitir que el sistema evolucione, no solo en su desarrollo inicial, sino también a lo largo de las futuras generaciones.

57 de 243


El proceso unificado es iterativo e incremental: El desarrollo de software se divide en partes más pequeñas, cada parte es una iteración que resulta en un incremento. Las iteraciones hacen referencia a pasos en el flujo de trabajo y los incrementos, al crecimiento del producto. En cada iteración los desarrolladores identifican y especifican los casos de uso relevantes, crean un diseño utilizando la arquitectura seleccionada como guía, implementan

el

diseño

mediante

componentes

y

verifican

que

los

componentes satisfaces los casos de uso. La iteración trata un grupo de casos de uso que juntos amplían la utilidad del producto desarrollado hasta ahora y también trata los riesgos más importantes. Las iteraciones sucesivas se construyen sobre los artefactos de desarrollo tal como quedaron a través del trabajo de desarrollo subsiguiente (análisis, diseño, implementación y prueba) que termina convirtiendo en código ejecutable los casos de uso que se desarrollaron en la iteración. 

Proceso integrado: El proceso unificado está basado en componentes. Utiliza el estándar de modelado visual; el Lenguaje Unificado de Modelado (UML), y se sostiene sobre los tres aspectos básicos ya mencionadas.( (Rumbaugh et al., 2000)

Cuando el objetivo está más claro, los requisitos pueden cambiar, los desarrolladores al final afrontan un nuevo ciclo, así que para llevar a cabo el siguiente ciclo de manera eficiente, los desarrolladores necesitan todas las representaciones del producto software, esto se refleja en la (Figura Nº 22)

58 de 243


Figura Nº 22: Modelo del proceso unificado.

Fuente: [Jacobson, 2000]

Un modelo de casos de uso, con todos los casos de uso y su relación con los usuarios.

Un modelo de análisis, con dos propósitos: refinar los casos de uso con más detalles y establecer la asignación inicial de funcionalidad del sistema a un conjunto de objetos que proporcionan el comportamiento.

Un modelo de diseño que define la estructura estática del sistema en la forma de subsistemas, clases e interfaces y los casos de uso reflejados como colaboradores entre los subsistemas, clases e interfaces.

Un modelo de implementación, que incluye componentes, que representan el código

de

fuente

y

la

correspondencia

de

las

clases

con

los

componentes. 

Un modelo de despliegue que define los nodos físico (ordenadores) y la correspondencia de los componentes con esos nodos.

Un modelo de prueba, que describe los casos de prueba que verifican los casos de uso.

Finalmente la representación de la arquitectura. 59 de 243


Todos estos modelos están relacionados, juntos representan al sistema como un todo. Los elementos de un modelo poseen dependencias hacia atrás y hacia delante, mediante enlaces hacia otros modelos. Flujo de trabajo dentro del ciclo de vida: Se mencionó que el ciclo de vida posee cuatro fases. A su vez dentro de cada fase se puede descomponer el trabajo en iteraciones con sus incrementos resultantes, donde cada fase termina con un hito. La (Figura Nº 23) muestra en la columna izquierda los flujos de trabajo, requisitos, análisis, diseño, implementación y prueba, las curvas son una aproximación de hasta donde se

llevan a cabo los flujos de trabajo en cada fase, la fase se divide

normalmente en iteraciones o mini-proyectos. Una iteración típica pasa por los cinco flujos de trabajo, para una iteración de fase de elaboración. (Rumbaugh et al., 2000) Figura Nº 23: Los cinco flujos de trabajo.

Fuente: [Jacobson, 2000]

2.4.2.2 Programación extrema (XP) Extreme programing ó programación extrema, es una metodología ágil de desarrollo de software, utiliza un enfoque orientado a objetos. XP abarca un conjunto de reglas y prácticas que ocurren en el contexto de cuatro actividades en el marco de trabajo, estas son: planeación, diseño, codificación y pruebas.

60 de 243


La programación extrema se basa en valores, principios: 

Valores: -

Comunicación: Para la resolución rápida de problemas y fortalecimiento del equipo a través de la interacción mutua.

-

Simplicidad: Desarrollo debe ser lo más simple debido al factor tiempo.

-

Retroalimentación: Resultado de las pruebas funcionales de las historias de usuario realizadas por el cliente.

-

Audacia: Nivel de confianza que debe existir entre los miembros del equipo de desarrolla para responder a los problemas que surjan de la mejor manera posible y lograr los objetivos.

Principios: -

Proporcionar retroalimentación rápida: Retroalimentación debe darse en un intervalo de tiempo razonablemente corto.

-

Adoptar la sencillez: Se basa en la premisa de que al menos el 90% de los problemas se puedan resolver con absoluta sencillez.

-

Cambiar progresivamente: Se requiere cambios constantes que resulten en una diferencia del esfuerzo de desarrollo.

-

Aceptar el cambio: Se debe mantener abiertas todas las opciones de resolver un obstáculo en el desarrollo.

-

Alentar el trabajo de calidad: Todos los miembros del equipo deben hacer un trabajo eficiente. (Benet, 2003)

XP posee un proceso que se adopta durante el desarrollo de software, este se visualizar en la (Figura Nº 24).

61 de 243


Figura Nº 24: El proceso de la programación extrema

Fuente: [Pressman, 2004]

Fases del proceso de XP: Son cuatro y están descritas a continuación: 

Planeación: Esta actividad comienza creando una serie de historias de usuario, que describen las características y la funcionalidad requeridas para el software que se construirá. El cliente le asigna un valor o prioridad a la historia basándose en valores generales del negocio respecto a la función. Los miembros del equipo XP evalúan cada historia y le asignan un costo (semanas de desarrollo). Los clientes y el equipo trabajan juntos para decidir cómo agrupar las historias hacia el próximo incremento. Conforme avanza el trabajo de desarrollo el cliente puede agregar historias, cambiar el valor de la historia existente, dividir historias o eliminarlas entonces el equipo modifica sus planes de acuerdo a tales historias.

Diseño: El diseño en XP es simple, ofrece una guía de implementación para una historia de usuario. El diseño se considera como un artefacto que puede y debe modificarse de manera continua a medida que prosigue la construcción.

62 de 243


Codificación: Después de realizar las historias y realizar el diseño, el equipo aún no se mueve hacia la codificación, sino se realiza antes pruebas de unidad que ejercitan las historias que se incluirán en el incremento. Una vez realizada la prueba de unidad, se realiza la codificación y esa unidad se prueba inmediatamente para proporcionar una retroalimentación en el desarrollo. Una actividad clave que se adopta es la programación en pareja, donde dos personas trabajan juntas en una estación de trabajo para crear el código de la historia, esta actividad tiene como objetivo el asesoramiento de la calidad y resolución de problemas en tiempo real. Cuando los programadores completan su trabajo el código que desarrollaron se integra con el trabajo de otros

Pruebas: Es un elemento clave en XP, las pruebas de unidad que se crean deben implementarse de manera que se puedan automatizarlas (ejecución fácil y repetida). Cuando las unidades individuales de prueba se organizan en un conjunto, las pruebas de integración y validación pueden realizarse a diario. Existen también pruebas de aceptación o pruebas del cliente, estas son especificadas por el cliente y se enfocan en las características generales y la funcionalidad del sistema, elementos visibles y revisables por el cliente. Están son derivadas de las historias de usuario implementadas. (Benet, 2003)

Características de XP: XP tiene las siguientes características: 

Planificación incremental: Los requerimientos se registran en historias de usuario, que son divididas luego en tareas de desarrollo.

Entregas

pequeñas:

Las

entregas

del

sistema

son

frecuentes

e

incrementalmente añaden funcionalidad a la primera entrega. 

Diseño sencillo: Solo se lleva a cabo el diseño necesario para cumplir los requerimientos actuales.

Desarrollo previamente probado: Se utiliza pruebas de unidad para escribir pruebas para nuevas funcionalidades antes de que éstas se implementen.

Refactorización: Refactorización de código en el proceso de desarrollo.

Programación en parejas: Los desarrolladores trabajan en parejas, verificando uno el trabajo del otro, para realizar un buen trabajo. 63 de 243


Integración continua: Cuando se acaba el trabajo en una tarea, se integra en el sistema entero. Después de la integración, se deben pasar al sistema todas las pruebas de unidad.

Cliente presente: Debe estar disponible al equipo de XP, un representante de los usuarios finales del sistema a tiempo completo. En un proceso de la programación extrema, el cliente es miembro del equipo de desarrollo y responsable de formular al equipo los requerimientos del sistema para su implementación.

2.4.2.3 Scrum Es una metodología ágil de desarrollo, se caracteriza por su simplicidad, requerimiento de trabajo duro, porque no se basa en el seguimiento de un plan, sino en la adaptación continua a las circunstancias de la evolución del proyecto. Scrum se compone de una serie de iteraciones las cuales se denominan Sprint, las cuales tienen por objetivo obtener entregables al finalizar cada iteración. En la (Figura Nº 25) se puede visualizar el proceso Scrum. Figura Nº 25: El proceso de desarrollo de software en Scrum

Fuente: [Chalco, 2013]

64 de 243


Características de Scrum: Scrum posee las siguientes características: 

A los individuos (respeto, responsabilidad, coraje) por encima de los procesos y herramientas.

Al software que funciona, por encima de la documentación exhaustiva.

A la colaboración con el cliente, por encima de la negociación contractual.

A la respuesta al cambio, por encima del seguimiento de un plan.

La transparencia y visibilidad del proyecto

Dentro de cada iteración o Sprint, existen tres elementos importantes (actores, actividades y productos) los cuales son descritos a continuación: 

Actores: Son participantes del Sprint, de los cuales existen los siguientes: -

Product owner (Propietario del producto): Dueño del proyecto, define requerimientos y prioridades.

-

Scrum master: Encargado de realizar el seguimiento del proyecto en base a las actividades que proporciona scrum

-

Team member: Miembro del equipo de desarrollo

-

Stakeholder: Persona que participa en el desarrollo del producto

-

Scrum project manager: Líder de los equipos SCRUM.

Actividades: Durante el desarrollo de un Sprint, se definen una serie de actividades que dan resultado a un entregable, estas actividades son las siguientes: -

Reunión de planificación de Sprint: Es una reunión en la cual se define requerimientos, entregables y sus respectivas priorizaciones.

-

Reunión diaria: Esta tiene por objetivo relacionar y sincronizar los procesos de desarrollo a cada Team Member.

-

Revisión de pares: Actividades que tiene por objetivo hacer una revisión rápida de métricas y estándares.

-

Revisión de Sprint: Presentación de entregables terminados por equipos SCRUM ó el Team member, tiene por objetivo realizar una revisión deacuerdo a la funcionalidad del producto.

Productos: Cada Sprint al concretarse da como resultado un entregable que genera dos documentos: 65 de 243


-

Retrospectiva de sprint: Es el documento que indica el estado del Sprint finalizado; tiene por objetivo verificar que cumple con su función y si se puede mejorar.

-

Sprint burndown: Indicador de avance que permite evaluar los recursos asignados a las etapas determinadas dentro del Sprint

Finalmente se tienen a los componentes de Scrum: 

Pila del producto: Es una relación de requisitos no detallados excesivamente y que tienen prioridad.

Pila de Sprint: Son los requisitos comprometidos por el equipo para concretar el Sprint y son suficientemente detallados para su ejecución.

Incremento: Iteración realizada que es una parte del software en general desarrollada en un Sprint y está en condiciones de ser usada (pruebas, documentación).

Ciclo de trabajo: Scrum a diferencia de otras metodologías posee un ciclo de trabajo que especifica las tareas a realizar para construir el software, para un mejor entendimiento se puede dividir en cuatro partes: 

Obtención de requisitos al cliente: Para cada requisito principal se crea un bloque de trabajo, llamado historia de usuario.

Priorización de historias de usuario: El cliente ordena las historias de trabajo en una pila de producto (producto backlog) según su prioridad de entrega.

Codificación: El equipo de trabajo toma un grupo de historias, con el que trabajan durante una iteración o sprint (entre 15 y 30 días).

Pruebas: Una vez finalizado un sprint entregan al cliente el resultado del trabajo. Se vuelve a la priorización de historias de usuario, hasta terminar la pila de producto.

Finalmente se puede concluir que SCRUM es de carácter adaptable más que predictivo y está orientado a las personas más que a los procesos. (Benet, 2003)

66 de 243


2.4.3 Lenguajes de modelado de software El modelado de software permite entender la complejidad del software de manera visual. Además estos pueden ser utilizados como instrumento para la comunicación con el cliente. Para expresar los modelos existen lenguajes de modelado de software como UML, este será descrito a continuación.

2.4.3.1 UML El Lenguaje Unificado de Modelado (UML) es un lenguaje de modelado visual que se usa para especificar, visualizar, construir y documentar artefactos de un sistema de software. Captura decisiones y conocimiento sobre los sistemas que se deben construir. Se usa para entender, diseñar, hojear, configurar, mantener y controlar la información sobre tales sistemas. Está pensado para usarse con todos los métodos de desarrollo, etapas del ciclo de vida, dominios de aplicación y medios. UML como lenguaje ayuda a interpretar grandes sistemas mediante una representación gráfica, obteniendo modelos explícitos que ayudan a la comunicación durante el desarrollo, los modelos pueden ser interpretados por personas que no participaron en su diseño (e incluso por herramientas) sin ninguna ambigüedad. El lenguaje Unificado de modelado tiene varios propósitos: 

Captar y enumerar exhaustivamente los requisitos y el dominio de conocimiento: Los diversos modelos de un sistema de software pueden capturar requisitos sobre su dominio de aplicación, las formas en que los usuarios lo utilizaran, su división en módulos, los patrones comunes usados en su construcción y otras cosas.

Pensar del diseño de un sistema: Un modelo de un sistema software ayuda a los desarrolladores a explorar varias arquitecturas y soluciones de diseño fácilmente, antes de escribir el código. Un buen lenguaje de modelado permite que el diseñador consiga la arquitectura correcta antes de que comience el diseño detallado.

Captar decisiones del diseño en una forma mutable a partir de los requisitos: Un modelo de un sistema software puede capturar el comportamiento externo de un sistema y la información del dominio del 67 de 243


mundo, real representado por el sistema. Otro modelo muestra las clases y las operaciones internas, que implementan el comportamiento; el modelo final de diseño muestra un acercamiento que el diseñador cree correcto. 

Generar productos aprovechables para el trabajo: Un modelo de un sistema software se puede utilizar para generar las declaraciones de clase, los cuerpos de procedimiento, las interfaces de usuario, las bases de datos, los escenarios de uso validos o los guiones de configuración.

Explorar económicamente múltiples soluciones: Los modelos de un sistema de software grande permiten que se proponga y comparen varios diseños. Modelar permite considerar varios diseños, con un coste pequeño al implementar cualquiera de ellos.

Entender los sistemas complejos: Un modelo de un sistema software grande permite ocuparse de la complejidad que es demasiado difícil de tratar directamente. Un modelo se puede abstraer a un niel que sea comprensible a los seres humanos sin perderse en detalles. (Jacobson, Booch y Rumbaugh, 200)

Vistas y diagramas: UML utiliza vistas que representan un aspecto de un sistema. Una o dos clases de diagramas proporcionan una notación visual para los conceptos de cada vista. Así mismo

posee diagramas que se utilizan para representar

visualmente diferentes perspectivas de un sistema de forma que un diagrama es una proyección del mismo. Estos son utilizados para representar la arquitectura del sistema. Las vistas se pueden dividir en tres áreas: clasificación estructural, comportamiento dinámico y gestión del modelo. 

La clasificación estructural: Describe los elementos del sistema y sus relaciones con otros elementos.

El comportamiento dinámico: Describe el comportamiento de un sistema en el tiempo.

La gestión del modelo: Describe la organización de los propios modelos en unidades jerárquicas.

68 de 243


La Tabla Nº 3 muestra la división de las vistas y los diagramas que pertenecen a cada vista. (Jacobson, 2000) Tabla Nº 3: Vistas y diagramas UML Vista

Área

Diagramas Diagrama de

Vista estática

clases

Conceptos principales Clase, generalización,

dependencia,

realización, interfaz Caso

Estructural

asociación,

de

Vista de casos

Diagrama de

asociación,

de uso

casos de uso

inclusión,

uso,

actor,

extensión, generalización

de

casos de uso Vista de

Diagrama de

Componente,

implementación

componentes

dependencia, realización

Vista

de Diagrama de

despliegue Dinámica

dependencia, localización

Diagrama de

Estado,

estados

acción

Vista de

Diagrama de

Estado, actividad, transición,

actividad

actividades

de terminación, división, unión

Vista

de

máquinas

de

Diagrama

interacción

Diagrama

transición,

activación de Colaboración, interacción, rol

colaboración del Vista de gestión Diagrama del modelo clases

evento,

de Interacción, objeto, mensaje,

de secuencias

Vista

modelo

componente,

despliegue

estado

Gestión

Nodo,

interfaz,

de

de colaboración, mensaje Paquete, subsistema, modelo

Fuente: [Jacobson, 2000]

Clasificación estructural: Dentro de esta categoría describen las siguientes vistas: 

Vista estática: Modela los conceptos del dominio de la aplicación, así como los conceptos internos inventados como parte de la implementación de la

69 de 243


aplicación. Los componentes principales de esta vista son las clases 18 y sus relaciones: asociación, generalización y varias clases de dependencia, tales como realización y uso. Se representa mediante diagramas de clases, muestran un conjunto de clases, interfaces y colaboraciones, así como sus relaciones. 

Vista de los casos de uso: Modela la funcionalidad del sistema según lo perciben los usuarios externos, llamados actores. El propósito de esta es enumerar a los actores y los casos de uso, y demostrar qué actores participan en cada caso de uso. Esta vista se representa mediante diagramas de casos de uso.

Vista de implementación: Modela los componentes de un sistema, así como las dependencias entre los componentes, para poder determinar el impacto de un cambio propuesto. También modela la asignación de clases y de otros elementos del modelo a los componentes. La vista de implementación se representa en diagramas componentes y también muestra los tipos de componentes del sistema; una configuración particular de la aplicación puede tener más de una copia de un componente.

Vista de despliegue: Representa la disposición de las instancias de componentes de ejecución en instancias de nodos. Un nodo es un recurso de ejecución, tal como una computadora, un dispositivo o memoria. Esta vista permite determinar las consecuencias de la distribución y de la asignación de recursos. La vista de despliegue se representa en diagramas de despliegue.

El comportamiento dinámico: Dentro de esta categoría se describen las siguientes vistas: 

Vista de la máquina de estados: Una máquina de estados permite modelar las posibles historias de un objeto de una clase. Contiene los estados conectados por transiciones. Cada estado modela un periodo de tiempo, durante la vida de un objeto, en el que satisface ciertas condiciones. Las maquinas de estado se pueden utilizar para describir interfaces de usuarios, controladores de dispositivo y otros subsistemas reactivos. También pueden

18

Clase: Una clase es la descripción de un concepto del dominio de la aplicación o de la solución de la

aplicación.

70 de 243


usarse para describir los objetos pasivos que pasan por varias fases cualitativas distintas, durante su tiempo de vida, cada una de las cuales tienen su propio comportamiento especial. Las maquinas de estados se muestran como diagramas de estados 

Vista de actividades: Es una variante de una máquina de estados que muestra las actividades de computación implicadas en la ejecución de un cálculo. Un diagrama de actividades es provechoso para entender el comportamiento de alto nivel de la ejecución de un sistema, sin profundizar en los detalles internos de los mensajes, lo que requeriría un diagrama de colaboración.

Vista de interacción: La vista de interacción describe secuencias de intercambios de mensajes entre los roles que implementan el comportamiento de un sistema. Esta división proporciona una vista integral del comportamiento de un sistema. Es decir, muestra el flujo de control a través de muchos objetos. La vista de interacción se expresa en dos diagramas centrados en distintos aspectos: diagramas de secuencia y diagramas de colaboración. 

Diagrama de secuencia: Muestra un conjunto de mensajes, en una secuencia temporal. Cada rol en la secuencia se muestra como una línea de vida, es decir una línea vertical que representa el rol durante cierto plazo de tiempo, con la interacción completa.

Diagrama de colaboración: Muestra los roles en la interacción en una disposición geométrica. La colaboración muestra la interacción entre objetos para encontrar la base de datos de la presentación deseada en el conjunto de todas las representaciones.

Gestión del modelo: Dentro de esta categoría se describen la siguiente vista: 

Vista de gestión del modelo: Modela la organización del modelo en sí mismo. Mediante un conjunto de paquetes. Los paquetes pueden contener otros paquetes; por lo tanto un modelo parte de un paquete raíz, que contiene indirectamente todo el contenido del modelo.

71 de 243


Un modelo se representa como una clase especial de paquete, Un subsistema es orto paquete especial. Representa una porción de un sistema, con una interfaz perfectamente determinada, que puede ser implementado como un componente distinto. Generalmente, la información de gestión del modelo se representa en diagramas de clases. (Jacobson, 2000)

2.4.4 Pruebas de software El objetivo de la etapa de la prueba es descubrir defectos probando componentes de programa individuales. Estos componentes pueden ser funciones, objetos o componentes reutilizables. Durante las pruebas del sistema, estos componentes se integran para formar subsistemas o el sistema completo. La prueba del sistema debería centrarse en establecer que el sistema satisface sus requerimientos funcionales y no funcionales y no se comporta de forma inesperada. El proceso de pruebas como tal tiene dos objetivos: 

Demostrar al desarrollador y al cliente que el software satisface sus requerimientos.

Descubrir defectos en el software en que el comportamiento de éste es incorrecto, no deseable o no cumple su especificación.

El primer objetivo conduce a las pruebas de validación, en las que se espera que el sistema funcione correctamente usando un conjunto determinado de casos de prueba que reflejan el uso esperado de aquel. El segundo objetivo conduce a las pruebas de defectos en los que los casos de prueba se diseñan para exponer los defectos. Un ejemplo básico de las fases de pruebas se muestra en la (Figura Nº 26). (Sommerville, 2005) Figura Nº 26: Fases de pruebas Pruebas del componente

Pruebas del componente

Desarrollador de software

Equipo de pruebas independiente

Fuente: [Ian Sommerville, 2005]

72 de 243


Las pruebas no pueden demostrar que el software está libre de defectos o que se comportará en todo momento como está especificado. Siempre es posible que una prueba que se haya pasado por alto pueda descubrir problemas adicionales con el sistema. Un modelo general del proceso de pruebas se muestra en la (Figura Nº 27). Los casos de prueba son especificaciones de las entradas para la prueba y la salida esperada del sistema más una afirmación de lo que se está probando. Los datos de prueba son las entradas que han sido ideadas para probar el sistema. Figura Nº 27: Modelo general del proceso de pruebas de software

Casos de prueba

Diseñar casos de prueba

Datos de prueba

Preparar datos de prueba

Resultados de la prueba

Ejecutar el programa con los datos de prueba

Informe de la prueba

Comparar resultados con los datos de prueba

Fuente: [Ian Sommerville, 2005]

Las pruebas del sistema implican integrar dos o más componentes que implementan funciones del sistema o características y a continuación se prueba este sistema integrado. En un proceso de desarrollo iterativo, las pruebas del sistema se ocupan de probar un incremento que va a ser entregado al cliente, en un proceso en cascada, las pruebas del sistema se ocupan de probar el sistema completo. Para la mayoría de los sistemas, existen tres fases distintas de pruebas del sistema: 

Pruebas de integración

Pruebas de Funcionales

Pruebas de rendimiento (Sommerville, 2005)

2.4.4.1 Pruebas unitarias Las pruebas unitarias se concentran en la verificación de la unidad más pequeña del diseño del software: El módulo de software. Se prueban importantes caminos de control para descubrir errores dentro de los límites del módulo.

73 de 243


Las pruebas de unidad se concentran en la lógica del procesamiento interno y en las estructuras de datos dentro los límites de un componente. Este tipo de prueba se puede aplicar en paralelo a varios componentes. Mediante la siguiente figura, se puede observar las pruebas que se realizan mediante el uso de un caso de prueba. Figura Nº 28: Pruebas unitarias

Módulo ---------------------------------------------------

Condiciones límite Estructuras de datos locales Manejo de errores Rutas independientes

Casos de prueba

Fuente: [Pressman, 2004]

Se deben diseñar casos de prueba para descubrir errores debidos a cálculos incorrectos, comparaciones erróneas o flujos de control inapropiados. Entre los errores más comunes en los cálculos se pueden encontrar: Aplicación incorrecta de la precedencia aritmética, operaciones de modo mezcladas, falta de precisión, representación simbólica incorrecta ante una expresión, comparación incorrecta de variables, etc. La prueba de unidad suele considerarse adyacente al paso de la codificación. El diseño de las pruebas de unidad puede realizarse antes de que empiece la codificación o después de que se ha generado el código fuente. Una revisión de la información del diseño proporciona una guía para establecer los casos de prueba que probablemente descubrirán errores en cada una de las categorías analizadas. Cada caso de prueba debe relacionarse con un conjunto de resultados esperados. (Pressman, 2004)

74 de 243


2.4.4.2 Pruebas funcionales Consiste en probar el funcionamiento correcto de los diferentes componentes software del sistema o aplicación. Básicamente se comprueba el cumplimiento de las funciones específicas para los cuales han sido creados. A este tipo de pruebas se les denomina también pruebas de comportamiento o pruebas de caja negra, ya que no enfocan su atención a como se generan las respuestas del sistema, sino en el análisis de los datos de entrada y en los de salida, esto generalmente se define en los casos de prueba preparados antes del inicio de las pruebas. Al realizar pruebas funcionales lo que se pretende en ponerse en los pies del usuario, usar el sistema como él lo usaría sin embargo se debe ir más allá que cualquier usuario, generalmente se requiere apoyo de los usuarios finales ya que ellos aportan en el desarrollo de casos de prueba complejos, enfocados básicamente al negocio, proporcionando posibles particularidades que no se hayan contemplado adecuadamente en el diseño funcional. La (Figura Nº 29) muestra ilustra el modela de un sistema que se admite en las pruebas de caja negra. El probador presenta las entradas al componente o al sistema y examina las correspondientes salidas. Figura Nº 29: Pruebas de caja negra.

Entrada de datos de prueba

Ee

Entrada que provocan comportamiento anómalo

Sistema

Resultados de las pruebas

Salidas que revelan la presencia de defectos

Se

Fuente: [Ian Sommerville, 2005]

75 de 243


Si las salidas no son las esperadas (es decir, si las salidas pertenecen al conjunto ), entonces la prueba ha detectado un problema con el software. Cuando realizan las pruebas, debería intentarse “romper” el software eligiendo casos de prueba que pertenecen al conjunto

en la (Figura Nº 35), es decir el objetivo

debería ser seleccionar entradas que tienen una alta probabilidad de generar fallos de ejecución del sistema (salidas del conjunto

). Se utiliza la experiencia previa de

cuáles son las pruebas de defectos que probablemente tendrán éxito y las guías de pruebas ayudarán a elegir la adecuada. La forma de incrementar la probabilidad de que las pruebas de defectos tengan éxito son: 

Elegir entradas que fuerzan a que el sistema genere todos los mensajes de error.

Diseñar entradas que hacen que los búferes de entrada se desborden.

Repetir la misma entrada o series de entrada varias veces.

Forzar a que se generen las salidas inválidas.

Forzar los resultados de los cálculos para que sean demasiado grande o demasiado pequeños.

Para validar que el sistema satisface los requerimientos, la mejor aproximación a utilizar es la prueba basada en escenarios, en la que se idean varios escenarios y se desarrollan casos de prueba a partir de estos escenarios. Si se han utilizado casos de uso para describir los requerimientos del sistema, estos casos de uso y los diagramas de secuencia asociados pueden ser una base para las pruebas

del sistema. Los casos de uso y los diagramas de secuencia pueden

emplearse ambos durante la integración y pruebas de entregas. (Sommerville, 2005)

2.4.4.3 Pruebas de carga Una vez que el sistema se ha integrado completamente, es posible probar las propiedades emergentes del sistema tales como rendimiento y fiabilidad. Las pruebas de rendimiento tienen que diseñarse para asegurar que el sistema pueda procesar su carga esperada. Esto normalmente implica planificar una serie de

76 de 243


pruebas en las que la carga se va incrementando regularmente hasta que el rendimiento del sistema se hace inaceptable. Para probar si los requerimientos de rendimiento son alcanzados, se debe construir un perfil operacional, este es un conjunto de pruebas que reflejan la combinación real de trabajo que debería ser manejada por el sistema. Las pruebas van realizando pruebas acercándose a la máxima carga del diseño del sistema hasta que el sistema falla. Este tipo de pruebas tienen dos funciones: 

Prueba el comportamiento de fallo de ejecución del sistema. Pueden aparecer circunstancias a través de una combinación no esperada de eventos en donde la carga sobre el sistema supere la máxima carga anticipada. En estas circunstancias es importante que un fallo de ejecución del sistema no provoque la corrupción de los datos o perdidos inesperadas de servicios de los usuarios.

Sobrecargan el sistema y pueden provocar que se manifiesten defectos que normalmente no serían descubiertos. Aunque se puede argumentar que estos defectos es improbable que causen fallos de funcionamiento en un uso normal, puede haber combinaciones inusuales de circunstancias normales que las pruebas de estrés pueden reproducir. (Sommerville, 2005)

2.5 HERRAMIENTAS DE DESARROLLO DE SOFTWARE Las herramientas de desarrollo de software, permitirán facilitar y agilizar el proceso de desarrollo, en el aspecto de la organización de cada versión del sistema, la productividad durante la fase de construcción, el diseño, etc. Estos pueden ser lenguajes de programación, bases de datos y arquitecturas de desarrollo de software. (Pressman, 2004)

2.5.1 Gestión de la configuración Uno de los principales problemas en todos los proyectos de desarrollo de software es el “versionaje”.

77 de 243


El versionaje nos permite llevar un control de los cambios en nuestro código, quien y cuando lo hizo, porque lo hizo, que cambio a razón de que. Existe muchas alternativas libres en el mercado que unidos a otros productos permiten tener incluso hasta los historiales, hacer comparaciones, manejar tickets, llevar métricas, etc. Casi todas las opciones cuentan con soporte de GUI para administración y/o soporte Web lo que hace mucho mas cómodo trabajar en equipos de desarrollo distribuidos en varios lugares. Son herramientas son software de apoyo al desarrollo, mantenimiento y documentación informatizados de software. (Sommerville, 2005)

2.5.2 Arquitecturas de desarrollo de software Es la descripción de los subsistemas y componentes de un software y las relaciones entre ellos. La arquitectura de software viene determinada por las diferentes instancias de cada tipo de componentes y conectores que la componen y por una serie de enlaces específicos que definen la unión de todas ellas formando una estructura.

2.5.2.1 Arquitectura cliente/servidor Esta arquitectura es un modelo de sistema en el que dicho sistema se organiza como un conjunto de servicios y servidores asociados, más unos clientes que acceden y usan los servicios. Los principales componentes de este modelo son: 

Un conjunto de servidores que ofrecen servicios a otros subsistemas.

Un conjunto de clientes que llaman a los servicios ofrecidos por los servidores de manera concurrente

Una red que permite a los clientes acceder a estos servicios. Esto no es estrictamente necesario ya que los clientes y los servidores podrían ejecutarse sobre una única máquina. En la práctica, sin embargo, la mayoría de los sistemas cliente-servidor se implementan como sistemas distribuidos.

Los clientes acceden a los servicios proporcionados por un servidor a través de llamadas a procedimientos remotos usando un protocolo de petición-respuesta tal como el protocolo http usado en la WWW. Básicamente, un cliente realiza una petición a un servidor y espera hasta que recibe una respuesta. La (Figura Nº 30), muestra un ejemplo de un sistema basado en el modelo cliente-servidor. Éste es un 78 de 243


sistema multiusuario basado en web para proporcionar una biblioteca de películas y fotografías. (Sommerville, 2005) Figura Nº 30: Arquitectura de un sistema de biblioteca de películas y fotografías Cliente 1

Cliente 2

Cliente 3

Cliente 4

Servidor de imagenes --------------Fotografias digitalizadas

Servidor web --------------información de videos y peliculas

Internet

Servidor de catálogos --------------Catálogo

Servidor de videos --------------Archivos de video

Fuente: [Sommerville, 2005]

En este sistema varios servidores gestionan y visualizan diferentes tipos de dispositivos. Las secuencias de video necesitan ser transmitidas rápidamente y en sincronía, pero con una resolución relativamente baja. La arquitectura cliente-servidor es una arquitectura distribuida. Se puede hacer un uso efectivo de los sistemas de red con muchos procesadores distribuidos. Es fácil añadir un nuevo servidor e integrarlo con el resto del sistema o actualizar los servidores de forma transparente sin afectar al resto del sistema. Sin embargo, puede ser necesario realizar cambios a los clientes y servidores existentes para obtener los mayores beneficios de la integración de un nuevo servidor. Puede no haber un modelo de datos compartidos entre los servidores y los subsistemas pueden organizar sus datos de formas diferentes. (Rob, 2004)

2.5.2.2 Arquitectura de n-capas Es una evolución de la arquitectura cliente servidor básica, la separación por capas permite descomponer la aplicación de manera que cada parte sea gestionada por uno o varios servidores especializados. El cliente hace una solicitud al servidor de la capa inmediata que está preparado para recibir y gestionar solicitudes de clientes. El servidor de esta capa a su vez, actúa como cliente y hace una solicitud a otro servidor, por ejemplo, para conseguir información de una base de datos. Finalmente,

79 de 243


el servidor de la última capa devuelve un resultado que en sentido inverso a las solicitudes cruza y es tratado en cada capa hasta llegar de vuelta al usuario. Para entender la evolución de esta arquitectura respecto a las tradicionales se explicara a más detalle a continuación. Básicamente la arquitectura de n-capas es en realidad un estilo de programación donde el objetivo principal es separar los diferentes aspectos del desarrollo, tales como las cuestiones de presentación, lógica de negocio, mecanismos de almacenamiento, etc. (Tentor, 2008) La necesidad de contar con porciones de la aplicación que se puedan "intercambiar" sin tener que modificar el resto de la aplicación es lo que impulsa el desarrollo en capas (Figura Nº 31) Figura Nº 31: Diagrama básico de la división según n-capas.

Fuente: [Tentor, 2008]

Se tiene primeramente 2 niveles y en el primero existen 2 capas, de esta manera La capa de presentación interactúa con la capa de lógica de negocio; Esto significa que la capa de lógica de negocios presenta una interfaz para brindar servicios a la

80 de 243


capa de presentación, también existe otro nivel donde se encuentra una capa encargada de los datos. Esta se trata de un motor de base de datos que puede o no ejecutarse en el mismo equipo. Esta capa también presenta una "interfaz" para brindar sus servicios a la capa que está por encima. Las capas inferiores brindan servicios a las capas superiores (independientemente del nivel en que se encuentren). Si se agrega nuevo código, se puede intercambiar la capa de presentación sin afectar el resto de la aplicación. El problema se presenta cuando se requiere intercambiar la Capa / Nivel de Datos, esto significa que es necesario utilizar otro motor de base de datos. Lo que inevitablemente incorporará en la Capa de Lógica de Negocios código que no es compatible con otros motores de base de datos. En consecuencia, cambiar la capa de datos significa corregir la capa de lógica de negocios. (Figura Nº 32) Figura Nº 32: Diagrama de 2 niveles

Fuente: [Tentor, 2008]

81 de 243


Se puede ver ahora las 3 capas. La nueva capa, se denomina Capa de Acceso a Datos (Capa de Persistencia) que no es lo mismo que Capa de Datos. La capa de acceso a datos es una porción de código que realiza el acceso a los datos. De esta manera cuando es necesario cambiar el motor de base de datos, solamente se requiere modificar esa capa. Mientras que la capa de datos (en el nivel de datos) es donde están los datos y corresponde directamente con la definición de esquemas, tablas, vistas, procedimientos almacenados y todo lo que se pueda o deba poner en un motor de base de datos. En este modelo los desarrolladores tienen un problema. Resulta que los componentes de la capa de lógica de negocios necesitan referenciar a instancias de las clases del dominio (las que representan las entidades del negocio) y los componentes de la capa de acceso a datos también tienen que referenciarlas con los datos que obtienen de las capas inferiores. La solución que satisface a los arquitectos y a los desarrolladores, es la siguiente (Figura Nº 33) Figura Nº 33: Modelo de 2 niveles, con una capa de dominio de aplicación

Fuente: [Tentor, 2008]

82 de 243


Ahora se añade una nueva capa que corresponde al dominio de la aplicación. En esta capa se encuentra la declaración de las entidades de la aplicación, de manera que se pueden referenciar desde otras capas sin entrar en ciclos recursivos de compilación. La arquitectura de n-capas posee una división de capas y niveles. Las Capas se ocupan de la división lógica de componentes y funcionalidad, y no tienen en cuenta la localización física de componentes en diferentes servidores o en diferentes lugares. Por el contrario, los Niveles se ocupan de la distribución física de componentes y funcionalidad en servidores separados, teniendo en cuenta topología de redes y localizaciones remotas. Tanto las capas como niveles usan conjuntos similares de nombres (presentación, servicios, negocio y datos), En la (Figura Nº 34) se puede visualizar un esquema de 3 niveles y n-capas. (Tentor, 2008) Figura Nº 34: Esquema de 3 niveles y n-capas

Capa de infraestructura Transversal (Seguridad, operaciónes, etc)

Capa de presentación

Capa de negocio

Capa de acceso a datos

Servicios Fuentes externos de datos n-capas (lógico)

3-niveles (físico)

Fuente: [Tentor, 2008]

83 de 243


2.5.3 Lenguajes de programación Los lenguajes de programación serán utilizados para construir parte por parte el sistema que esta propuesto en este trabajo. Estos lenguajes son idiomas artificiales diseñados para expresar procesos que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.

2.5.3.1 C Sharp C# es un lenguaje de programación que se ha diseñado para compilar diversas aplicaciones que se ejecutan en .NET Framework. C# es simple, eficaz, con seguridad de tipos y orientado a objetos. Las numerosas innovaciones de C# permiten desarrollar aplicaciones rápidamente y mantener la expresividad y elegancia de los lenguajes de estilo de C. Este lenguaje puede ser utilizado mediante un framework denominado ASP.NET. Asp.net: Es un framework, para la creación de aplicaciones web, donde se puede programar en cualquiera de los lenguajes de .NET. Apareció en el año 2002 y es la tecnología sucesora de ASP (Active Server Pages). Asp.net se integra totalmente con .NET y sus páginas se pueden programar en cualquiera de los lenguajes de .NET (Visual básic, C Sharp) haciendo uso de la programación orientada a eventos. Las páginas de Asp.net se denominan web formas (formularios web) y son archivos con extensión .aspx. Estos archivos están formados básicamente por marcas XHTML estático y también por marcas ASPX que le dan el comportamiento dinámico. Características de c sharp 

Lenguaje de programación orientado a objetos simple, moderno y de propósito general.

84 de 243


Inclusión de principios de ingeniería de software tales como revisión estricta de los tipos de datos, revisión de límites de vectores, detección de intentos de usar variables no inicializadas, y recolección de basura automática.

Capacidad para desarrollar componentes de software que se puedan usar en ambientes distribuidos.

Portabilidad del código fuente

Fácil migración del programador al nuevo lenguaje, especialmente para programadores familiarizados con C y C++.

Adecuación para escribir aplicaciones de cualquier tamaño: desde las más grandes y sofisticadas como sistemas operativos hasta las más pequeñas funciones.

Aplicaciones económicas en cuanto a memoria y procesado. (Sharp, 2009)

2.5.3.2 Java Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria. Características de Java Es un lenguaje de programación que ofrece la potencia del diseño orientado a objetos con una sintaxis fácilmente accesible y un entorno robusto. Proporciona un conjunto de clases potente y flexible, además es: 

Orientación a Objetos

Riqueza Semántica.

Robusto

Modelo de Objeto Rico

Multiplataforma

Interactivo y orientado a Red (Rodríguez, 2006).

85 de 243


2.5.3.3 PHP Es un lenguaje interpretado del lado del servidor que se caracteriza por su potencia, versatilidad, robustez y modularidad. Los programas escritos en php son embebidos directamente en el código HTML y ejecutados por el servidor web a través de un intérprete antes de transferir al cliente que lo ha solicitado un resultado en forma de código HTML puro. Características de PHP: 

Orientado al desarrollo de aplicaciones web dinámicas con acceso a información almacenada en una base de datos.

Lenguaje fácil de aprender, ya que en su desarrollo se simplificaron distintas especificaciones.

El código fuente escrito en PHP es invisible al navegador web y al cliente, ya que es el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al navegador.

Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.

Capacidad de expandir su potencial utilizando módulos (llamados ext's o extensiones).

Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar, aún haciéndolo, el programador puede aplicar en su trabajo cualquier técnica de programación o de desarrollo que le permita escribir código ordenado, estructurado y manejable. (Tentor, 2008)

2.5.4 Sistemas gestores de base de datos Es un conjunto de información almacenada en memoria auxiliar que permite acceso directo y un conjunto de programas que manipulan esos datos. Base de Datos es un conjunto

exhaustivo

no

redundante

de

datos

estructurados

organizados

independientemente de su utilización y su implementación en máquina accesibles en tiempo real y compatibles con usuarios concurrentes con necesidad de información diferente y no predicable en tiempo. 86 de 243


En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos. (Casillas, 2005).

2.5.4.1 Sql server SQL Server es un sistema para la gestión de bases de datos producido por Microsoft basado en el modelo relacional. Es un elemento fundamental de la Plataforma de Datos de Microsoft, capaz de gestionar cualquier tipo de datos, en cualquier sitio y en cualquier momento. Permite almacenar datos de documentos estructurados, semi estructurados o no estructurados como son las imágenes, música y archivos directamente dentro de la base de datos. SQL Server ayuda a obtener más rendimiento de los datos, poniendo a disposición una amplia gama de servicios integrados como son consultas, búsquedas, sincronizaciones, informes y análisis. Los datos pueden almacenarse y recuperarse desde servidores potentes en un Data Center hasta los desktops y dispositivos móviles, permitiendo tener un mayor control sobre la información sin importar dónde se almacena físicamente. (Rob, 2004) Características de Microsoft SQL Server. 

Soporte de transacciones.

Escalabilidad, estabilidad y seguridad.

Incluye un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente.

Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en el servidor y los terminales o clientes de la red sólo acceden a la información.

Además permite administrar información de otros servidores de datos. (Rob, 2004)

87 de 243


2.5.4.2 MySql Es un sistema de administración relacional de bases de datos. Una base de datos relacional archiva datos en tablas separadas en vez de colocar todos los datos en un gran archivo. Esto permite velocidad y flexibilidad. Las tablas están conectadas por relaciones definidas que hacen posible combinar datos de diferentes tablas sobre pedido. MySQL es software de fuente abierta, es decir que es posible para cualquier persona usarlo y modificarlo. Cualquier persona puede descargar el código fuente de MySQL y usarlo sin pagar. MySQL usa el GPL (GNU General Public License) para definir qué puede hacer y que no puede hacer con el software en diferentes situaciones. Características de MySql Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente. 

Disponibilidad en gran cantidad de plataformas y sistemas.

Diferentes opciones de almacenamiento según si se desea velocidad en las operaciones o el mayor número de operaciones disponibles.

Transacciones y claves foráneas.

Conectividad segura.

Replicación (Casillas, 2005).

2.5.4.3 PostgreSql Es un sistema de gestión de bases de datos objeto-relacional, distribuido bajo licencia BSD y con su código fuente disponible libremente. PostgreSql utiliza un modelo cliente/servidor y usa multiprocesos en vez de multihilos para garantizar la estabilidad del sistema. Un fallo en uno de los procesos no afectará el resto y el sistema continuará funcionando. Características de PostgreSql 

Alta concurrencia

88 de 243


Amplia variedad de tipos nativos: PostgreSql provee nativamente soporte para (Números de precisión arbitraria., Texto de largo ilimitado, Direcciones IP (IPv4 e IPv6), Arrays.)

Claves ajenas: Llaves ajenas o Claves Foráneas (foreign keys).

Permite el uso de disparadores (triggers):

Soporte para transacciones distribuidas

Funciones ejecutadas en bloques de código que se ejecutan en el servidor. (Casillas, 2005).

2.5.4.4 Replicación de base de datos Se refiere al almacenamiento de copias de datos en sitios múltiples servidores por una red de computadoras. Pueden guardarse copias de fragmentos en varios sitios para satisfacer requerimientos de información específicos. Si existe una base de datos A y está dividida en dos fragmentos, A1 y A2. Dentro de una base de datos distribuida replicada, es posible el escenario ilustrado en la (Figura Nº 35), el fragmento A1 se guarda en los sitios S1 y S2, mientras que A2 guarda en los sitios S2 y S3. Figura Nº 35: Replicación de datos Sitio S1

A1

Sitio S2

A1

A2

Sitio S3

A2

Fuente: [Rob, 2004]

Los datos replicados se someten a la regla de consistencia mutua. Esta regla requiere que todas las copias de fragmentos de datos sean idénticas.

89 de 243


La replicación es utilizada para: 

Incrementar la disponibilidad de los datos esto implica que el sistema sigue funcionando aún en el caso de la caída de alguno de los nodos (BD).

Aumentar el paralelismo de los nodos, los cuales pueden realizar consultas en paralelo sobre una misma tabla. Cuando más replicas existan, mayor será la posibilidad de que el dato buscado se encuentre en el nodo desde el que se realiza la consulta, minimizando el tráfico de datos entre nodos.

Existen aspectos que se consideran al realizar una réplica, estos definen procesos que el DBMS debe realizar para utilizar la base de datos: 

Si la base de datos está fragmentada, el SGBD debe decidir qué copia acceder.

Una operación de lectura selecciona la copia más cercana para satisfacer la transacción. Una operación de escritura requiere que todas las copias se seleccionen y actualicen para satisfaces la regla de consistencia mutua.

El procesador de transacciones envía una solicitud de datos a cada procesador de datos para su ejecución

El procesador de datos recibe y ejecuta cada solicitud y envía los datos de vuelta al procesador de transacciones.

El procesador de transacciones arma las respuestas del procesador de datos.

Existen dos escenarios de replicación; una base de datos puede ser totalmente replicada o parcialmente replicada, como se explica a continuación: 

Base de datos totalmente replicada: Guarda varias copias de cada fragmento de la base de datos en varios sitios. En este caso, los fragmentos de la base de datos están replicados. Una base de datos totalmente replicada puede no ser práctica debido a la cantidad de carga impuesta al sistema.

Base de datos parcialmente replicada: Guarda múltiples copias de algunos fragmentos de la base de datos en múltiples sitios. Esto se refiere a replicar fragmentos de la base de datos, estos son claves cuando se requiere acceder a información específica de una base de datos y no su totalidad, esto implica un tráfico de datos más rápido. Existen fragmentos verticales, horizontales y mixtos. 90 de 243


Fases generales para implementar y supervisar la replicación: A pesar de que existen varias formas de implementar y supervisar la replicación, y el proceso de replicación es diferente según el tipo y las opciones elegidas, en general, la replicación se compone de las siguientes fases: 

Configuración de la replicación: Se refiere a la configuración de la base de datos para ser replicada mediante el gestor de base de datos.

Generación y aplicación de la instantánea inicial: Se refiere a la selección de los datos a replicar.

Modificación de los datos replicados: Se refiere a realizar pruebas de modificación a los datos de la replicación

Sincronización y propagación de los datos: Se refiere a comprobar que los la base de datos original este sincronizada con la réplica, es decir que si se realiza algún cambio en la base de datos original (maestra), los datos también se deben modificar en la base de datos replica (esclava).

Cuando la frecuencia de uso de datos remotamente localizados es elevada y la base de datos es grande, la replicación de los datos reduce el costo de las solicitudes de datos. La información sobre la replicación de los datos se guarda en el catálogo de datos distribuidos, cuyo contenido es utilizado por el procesador de transacciones para decidir que copia de un fragmento de bases de datos acceder. La replicación de datos permite recuperar los datos perdidos. (Rob, 2004)

91 de 243


3 MARCO PRÁCTICO 3.1 DETERMINACIÓN DEL PROCESO ACTUAL DE INSCRIPCIÓN Y FACTURACIÓN En esta sección se aplican técnicas de recopilación de datos para obtener, la información necesaria que servirá en la construcción del modelo de negocio actual y de acuerdo este modelo realizar un modelo de negocio alternativo

3.1.1 Resultado de entrevista respecto al proceso actual de inscripción y facturación De acuerdo a una entrevista realizada al personal administrativo del instituto Ing Data Comp mediante cuestionarios, se obtuvo información respecto al proceso actual de inscripción y facturación. (Ver Anexo J: Cuestionarios de recolección de datos). Los resultados de la entrevista se muestran a continuación: 

El proceso de inscripción es manual ya que los datos del estudiante primeramente se manuscriben en un formulario y luego en una planilla de alumnos inscritos.

El pago realizado por concepto de inscripción o pago de mensualidades es registrado en una planilla y en un libro diario de ingresos de forma manual.

La facturación es efectuada de forma manual dentro la institución. La factura original es entregada al estudiante y la copia es archivada en el folder del estudiante.

Como los tres procesos mencionados son manuales ocasionan demora en la habilitación de un estudiante a carreras o cursos.

Existe información redundante en el registro de datos de estudiantes ya que se utilizan dos planillas.

Se han dado situaciones en las que el formulario de datos del estudiante es extraviado por lo que el estudiante debe llenar este formulario nuevamente.

92 de 243


3.1.2 Modelo de negocio actual El modelo de negocio actual permite representar de manera grรกfica la informaciรณn adquirida mediante las tรฉcnicas de recolecciรณn de datos. Esta representaciรณn es dividida en dos partes; Una representaciรณn por niveles que divide al instituto en tres niveles (Objetivos, procesos, sistemas) para facilitar la alineaciรณn de los sistemas a los objetivos y proceso y una representaciรณn de actividades del instituto. Las representaciones se muestran en el siguiente apartado:

3.1.2.1 Modelo de negocio en tres niveles Figura Nยบ 36: Modelado de negocio actual en tres niveles Inscripciรณn de estudiantes a carreras y cursos mediante el uso de planillas

Ing Data Comp Registro de pago de inscripciรณnes y mensualidades en planillas y emisiรณn de factura manual (de talonario) Factura de talonario

NIVEL DE OBJETIVOS

3

2

NIVEL DE PROCESO DE NEGOCIO ACTUAL

Persona se aproxima a secretaria donde se inscribe a la carrera o curso de su interes

1

Persona solicita informaciรณn de carreras o cursos para inscribirse

Su pago es registrado y se emite la factura correspondiente (de talonario)

Persona cancela el monto por inscripciรณn รณ mensualidad (dependiendo el caso)

Si ya estรก inscrita puede solicitar pagar su mensualidad

Inscripciรณn y facturaciรณn en planillas (manual)

NIVEL DE SISTEMA DE INFORMACIร N Planillas archivadas

Planillas

Fuente: [Elaboraciรณn propia]

93 de 243

Estantes de documentos (datos estudiante)


3.1.2.2 Modelado de negocio actual Figura N潞 37: Modelado de negocio actual

Fuente: [Elaboraci贸n propia]

94 de 243


3.1.2.3 Deficiencias en el proceso actual de inscripción y facturación 

Existe tiempo excesivo en el proceso de inscripción y facturación debido a que estos procesos son manuales.

La centralización de pago de mensualidades y de inscripción en secretaría genera largas filas de estudiantes que esperan ser atendidos.

El uso de dos planillas para el registro de inscripción de estudiantes y pagos respectivamente genera redundancia de datos

3.1.3 Modelo de negocio alternativo Este modelo surge como una propuesta que permita solucionar las deficiencias encontradas en el modelado de negocio actual y se muestra a continuación:

3.1.3.1Modelo de negocio en tres niveles Figura Nº 38: Modelado de negocio alternativo en tres niveles

Inscripción de estudiantes a carreras y cursos mediante sistema w eb

Ing Data Comp

Registro de pago de inscripciónes, mensualidades y emisión de factura (impresa) mediante sistema de facturación en entidad financiera

NIVEL DE OBJETIVOS

Factura impresa

3

Funcionario de caja ingresa al Sistema de facturación y consulta cuanto debe pagar la persona

2 Persona se aproxima a la entidad financiera y solicita pagar su inscripción o mensualidad con su CI

NIVEL DE PROCESO DE NEGOCIO ALTERNATIVO 1

Persona cancelal el monto, su pago es registrado y es emitida la factura correspondiente

Persona ingresa a sistema de inscripción donde Si ya está inscrita puede ver su se inscribe con sus datos (ci,nombre,etc) a un estado de pagos para ver los curso o carrera de su interes pagos realizados y pendientes

Sistema de inscripción y facturación

Servidor BD (Sql server)

Servidor aplicaciónes (IIS) Red de entidad financiera

NIVEL DE SISTEMA DE INFORMACIÓN

BD replica Sistema

Fuente: [Elaboración propia]

95 de 243

Base de datos instituto


3.1.3.2 Modelado de negocio alternativo Figura Nยบ 39: Modelado de negocio alternativo

96 de 243


3.2 REQUERIMIENTOS EN ENTIDADES FINANCIERAS RESPECTO A LA INTERMEDIACIÓN FINANCIERA Y REQUERIMIENTOS EN ENTIDADES REGULADORAS RESPECTO A LA FACTURACIÓN MEDIANTE SISTEMAS INFORMÁTICOS Las entidades financieras proporcionan una serie de requerimientos necesarios para poder efectuar la intermediación financiera mediante los servicios que otorgan. Estos requerimientos son normados por un ente regulador denominado Autoridad de Supervisión del Sistema Financiero (ASFI). La intermediación financiera permite que la entidad financiera cobre los servicios educativos (matriculas/mensualidades) a nombre del instituto. Esta actividad implica la realización de operaciones financieras, por lo que existen normativas que establecen aspectos técnicos y de seguridad en estas operaciones. La circular SB/443/2003 indica los requisitos técnicos y de seguridad que la entidad financiera debe cumplir cuando emplea sistemas informáticos en sus instalaciones. Así mismo existe otra circular: SB/466/2004 de REQUISITOS MÍNIMOS DE SEGURIDAD INFORMÁTICA, mediante la cual ASFI regula los mismos aspectos a las instituciones que proveen tecnologías de información. El instituto como proveedor del módulo de facturación a la entidad financiera, debe cumplir estos requisitos y son descritos a continuación.

3.2.1 Aspectos de técnicos en la intermediación financiera según la circular SB/466/2004 Se han considerado los siguientes aspectos: -

Programas Fuente: Al término de finalización del módulo de facturación, la entidad financiera tendrá acceso el acceso oportuno al código fuente, para la verificación del funcionamiento correcto del mismo.

-

Propiedad intelectual: La propiedad intelectual del de desarrollo del módulo de facturación dependerá de lo que se acuerde entre el instituto y la entidad financiera, mediante el contrato expreso.

-

Plataforma de Desarrollo: La plataforma de desarrollo utilizada en el sistema es la siguiente: 97 de 243


-

-

El servidor del instituto Ing Data Comp está en Windows Server 2008.

-

El sistema operativo utilizado es Windows Server 2008

-

El lenguaje utilizado para el desarrollo del sistema es C Sharp

-

El motor de base datos del sistema es SQL Server 2008.

Formalización de Recursos Humanos: El personal autorizado para el uso del módulo debe estar descrito en el contrato entre entidad financiera e instituto. El instituto debe proveer de personal de soporte técnico en caso de haber problemas con el sistema. Así mismo el instituto debe prever la capacitación al personal de la entidad financiera (Administrador y funcionarios de caja) para el uso del módulo de facturación antes de su implantación.

-

Cronograma y plan de trabajo: El plan y cronograma de trabajo está documentado en la primera parte de generalidades de este trabajo.

-

Acceso remoto: El acceso al servidor del instituto por parte de la entidad financiera es remoto, Las normas de seguridad de esta conexión son descritas en el siguiente apartado.

3.2.2 Aspectos de seguridad en la intermediación financiera según la circular SB/466/2004 Los aspectos de seguridad que han sido considerados son los siguientes: 

Las políticas, normas y procedimientos de seguridad informática: Deben ser consideradas por el instituto y entidad financiera

Desarrollo de sistemas de información y programas: Efectuado por personal del instituto siguiendo el cronograma de plan de trabajo establecido.

Mantenimiento de sistemas y programas: Efectuado por personal del instituto cada vez que sea requerido.

Seguridad física sala de servidores: Está a disposición del personal capacitado del instituto.

Respaldos y recuperación de información: Se ha dispuesto de una base de datos replica situada en el servidor del instituto.

98 de 243


Respaldo y recuperación de bases de datos: Se ha dispuesto de una base de datos replica situada en el servidor del instituto.

Administración de licencias de software y programas: El instituto prevé adquirir las licencias de software que será otorgada a la entidad financiera y también del gestor de base de datos utilizado por el sistema.

Administración y control de equipos de seguridad: El acceso al servidor del instituto debe ser por el personal autorizado (Administrador de instituto). Así mismo el acceso al módulo de facturación en la entidad financiera debe ser por el personal autorizado (Administrador de entidad financiera y funcionarios de caja).

Es importante mencionar que es de responsabilidad de la entidad financiera, verificar la seguridad informática del proveedor a través de una metodología que cumpla con este objetivo. Así mismo los puntos que se desean tomar en cuenta y que no están descritos anteriormente, por parte del instituto o la entidad financiera, deben ser acordados mediante el contrato expreso de ambas partes. Para mayor información. (Ver Anexo A: Circular SB/466/2004: Requisitos mínimos de seguridad informática).

3.2.3 Análisis y selección de entidad financiera La aplicación de entrevistas a entidades financieras (Ver Anexo J: Cuestionarios de recolección de datos) dio resultado al siguiente análisis, que servirá en la selección de la entidad financiera la cuál proporcionara el servicio financiero (de intermediación financiera) al instituto Ing Data Comp. Tabla Nº 4: Selección de entidad financiera Criterio de

Banco unión

Fondo Financiero Fassil

Se requiere la creación de al

Se requiere la creación de al

selección

Cuenta bancaria

menos

una

cuenta

instituto en el banco. Requerimientos legales

 Constitución legal.

de la entidad financiera

 Personería jurídica.

99 de 243

del

menos una cuenta del instituto en Fassil.


 Registro de comercio.  Registro de inscripción al padrón de contribuyentes.  Documento de identificación del representante legal del instituto (Fotocopia) La cuenta del instituto debe Requerimientos

poseer un promedio de al

económicos

menos 70 mil dólares mensualmente

Costo por transacción realizada

No hay costo si el monto mínimo en la cuenta se mantiene mensualmente

No hay restricción respecto al monto mínimo en la cuenta del instituto mensualmente

Costo por transacción es de 1 bs

Fuente: [Elaboración propia]

El análisis de la tabla muestra que la opción más adecuada para el instituto tomando como referencia el costo por transacción realizada y los requerimientos económicos es el Fondo Financiero Fassil.

3.2.4 Requerimientos de solicitud de intermediación financiera para cobro de servicios (Fondo Financiero Privado Fassil) De acuerdo al instructivo I007 del Fondo Financiero Privado Fassil se denomina a este tipo de servicio “Sistema de recepción de pagos”. Para la adquisición de este el instituto Ing Data Comp debe entregar la siguiente documentación a Fassil: 

Constitución legal (Documento con las normas del instituto Ing Data Comp).

Personería (Documento que posee el registro y reglamentación de las funciones y actividades del instituto, otorgando el derecho de poder trabajar de manera legal en las actividades inherentes a su campo de acción)

Registro de comercio (Documento que acredita el registro del instituto ante la organización FundeEmpresa)

Certificado de inscripción al padrón nacional de contribuyentes (Documento que acredita el registro del instituto en el Servicio de Impuestos Nacionales, el cuál le otorga un NIT del mismo)

Registro municipal (Documento que otorga la licencia de funcionamiento y certificación de apertura de la actividad económica del instituto) 100 de 243


Fotocopia de carnet de identidad del representante legal del instituto

3.2.4.1 Sistema de recepción de pagos La entidad financiera Fassil, por la prestación de este servicio cobra a la institución el monto de Bs 1.Fassil realizará el cobro de inscripción y de mensualidades por cuenta del instituto Ing Data Comp. La modalidad de pago para los estudiantes del instituto es la de pago en ventanilla debido a la cantidad de puntos de cobros que tiene la entidad financiera. En esta modalidad de pago el estudiante se aproxima al funcionario de caja e indica el CI del mismo de esta manera el funcionario consultará al sistema de facturación para indicar los pagos pendientes del estudiante. Una vez realizado el pago le entregará la factura correspondiente y el estado de pagos será actualizado.

3.2.5 Requerimientos para la emisión de factura La normativa de directorio Nº 10-0016-07 del artículo 13 de Ley Nº 843 (Ley de bancos y entidades financieras) describe los requerimientos para la emisión de factura en sistemas computarizados. La factura que será otorgada por concepto de pago por inscripción o pago de mensualidades, cumpliendo con los requerimientos de la ley se describe a continuación:

3.2.5.1 Formato de la factura 1. Datos básicos (parte superior izquierda): Sujeto pasivo (Instituto) 

Ing Data Comp

Casa Matriz: Av. Heroínas 233 Zona central

Teléfono: 4501210 – 4501217

Alcaldia: Cochabamba – Bolivia

Nº de SFC

Tercero emisor (Instituto) 

Nombre de entidad financiera

101 de 243


2. Datos de dosificación (parte superior derecha) 

NIT: 2795266019

Número de correlativo de factura: Nº XXXXXX

Número de autorización: Nº 3001002259472

ORIGINAL – CLIENTE

3. Título y subtítulos (parte superior central) 

FACTURA

4. Datos de la transacción comercial (parte central) 

Cochabamba, día mes año de emisión de factura

Señores: Nombre de estudiante

NIT de estudiante

Detalle: cantidad, concepto, precio unitario y total. (pago por inscripción o de mensualidades)

Total en general en Bolivianos (numeral y literal)

5. Datos finales (parte inferior) 

Código de control: (Ej: 51-E8-FD-0B)

Fecha límite de emisión

La reproducción total o parcial y/o el uso no autorizado de esta Nota Fiscal, constituye un delito a ser sancionado conforme a la Ley”

Tamaño de la factura: El tamaño de la factura será (1/2 Carta). Colores y materiales: El color de la información de la factura será azul y en hojas de papel bond. Código de control: Este código será implementado en un módulo dentro del sistema de facturación y será construido con los siguientes datos: 

Número de autorización.

Número de factura o nota fiscal.

NIT

Fecha de transacción.

Monto de la transacción o importe

Llave de dosificación (otorgada en cada dosificación por el SIN al instituto)

102 de 243


3.2.5.2 Dosificación El tipo de dosificación para el sistema de facturación es por tiempo. El cuál tiene validez de seis meses. Una vez concluido el plazo no se deben emitir facturas. Se debe solicitar una nueva dosificación dos semanas antes de la fecha de límite de emisión. El SIN denomina al sujeto pasivo (instituto) que adopte el tipo de facturación computarizada, como contribuyente newton, por este motivo el procedimiento de dosificación debe ser realizado a través del portal tributario del SIN. Una vez efectuada la solicitud, el portal indica el tiempo de vigencia de la dosificación y así mismo proporciona una llave que será utilizada para generar el código de control en el sistema de facturación. En cada dosificación el SIN, proporcionará al instituto los siguientes datos, los cuales serán ingresados en el sistema de facturación, para poder emitir facturas: 

Número de autorización

Fecha de vigencia de la dosificación

Llave de dosificación (para la generación del código de control)

Fecha límite de emisión

Además es importante mencionar que como el sistema de facturación es de red, solo es necesario realizar una dosificación para el sistema (cada 6 meses) la misma que será utilizada en las agencias de la entidad financiera, en la que se efectuará la facturación.

3.2.5.3 Registro de AutoImpresor Se identifica la casa matriz o sucursal donde se encuentra instalado el Sistema de Facturación Computarizada (SFC), consignando la siguiente información: 

Tipo: SFC de red, el cuál puede operar con la misma dosificación de la casa matriz (Instituto), correspondiendo certificar y registrar solamente al sistema empleado

Denominación del SFC: SFIngDataComp

103 de 243


3.2.5.4 Facturación por terceros La entidad financiera permite facturar a nombre del instituto en las diferentes agencias en las que cuenta, por este motivo el tipo de emisión efectuada se denomina: facturación por terceros. Es importante mencionar que en este tipo de facturación el sujeto pasivo titular (Instituto) es responsable ante el Fisco por el pago de tributos, dosificación y demás obligaciones tributarias mientras que el tercero emisor (Entidad financiera) es responsable ante el Fisco, por el cumplimiento de las obligaciones formales relativas a la emisión de facturas por terceros, sin perjuicio del cumplimiento de las obligaciones tributarias propias. La entidad financiera debe ser registrada y acreditada por el instituto ante la Administración tributaria para poder emitir este tipo de facturas, tomando en cuenta los siguientes datos: 

Nombre o razón social la entidad financiera

NIT de la entidad financiera

Certificación del SFC

Una vez obtenida la autorización por la Administración Tributaria podrá dar curso a las solicitudes de dosificación.

3.2.5.5 Prototipo de factura Danto cumplimiento a la normativa que indica el formato de la factura acorde a los elementos mencionados anteriormente, el prototipo de factura que será utilizado en el sistema de facturación se muestra a continuación:

104 de 243


Figura Nº 40: Prototipo de factura instituto Ing Data Comp

Fuente: [Elaboración propia]

3.3 DESARROLLO DEL MODULO DE INSCRIPCIÓN 3.3.1 Identificación y selección de metodología de desarrollo A continuación se muestra una tabla con ventajas y desventajas de las tres metodologías de desarrollo elegidas en el marco teórico, con el objetivo de seleccionar la metodología adecuada para el desarrollo de este trabajo.

105 de 243


Tabla Nº 5: Selección de metodología de desarrollo Metod. de

Características

desarrollo

Criterio de valoración

 Implementa las mejores prácticas de la ingeniería de software

 El flujo de trabajo indica de

 Genera software de alta calidad.  Se reducen riesgos y se obtiene UP (Proceso Unificado)

versiones operativas en etapas tempranas.

forma clara los pasos a seguir en el desarrollo del software.  El uso de UML facilita el

 Está dirigido por casos de uso.

entendimiento

 Está centrado en la arquitectura

de

la

arquitectura y el diseño del

 Es iterativo e incremental

sistema a desarrollar.

 Utiliza el lenguaje de modelado unificado  La programación es organizada.  Existe flexibilidad y adaptación a los cambios

 Necesita solo miembros de

 Productividad y calidad. SCRUM

equipo experimentados.

 Recomendable para proyectos de corto plazo.

 Las historias de usuario no describen detalladamente lo

 Los miembros del equipo pueden

que se va a desarrollar

dejar trabajo pendiente debido a la fecha límite de entrega de cada versión.  Adaptable

al

desarrollo

de

proyectos pequeños/grandes. XP (Programación extrema)

 Optimiza el desarrollo mediante la programación en parejas

 Requiere que el cliente sea parte

del

equipo

proporcionar

para

requisitos

y

 Menor taza de errores.

evaluar

 Es recomendable emplearlo solo

operativas lo cual no siempre

en proyectos a corto plazo.  Altas comisiones en caso de fallar. Fuente: [Elaboración propia]

106 de 243

sucede

las

versiones


Proceso de selección: De acuerdo al flujo de trabajo claro en las fases de desarrollo, el uso de un lenguaje de modelamiento que facilita el diseño, la generación de software de alta calidad y el uso de arquitecturas se ha seleccionado como metodología de desarrollo a UP (Proceso unificado)

3.3.2 Análisis de selección del modelo de desarrollo En la siguiente tabla se muestran las ventajas y desventajas de los modelos de desarrollo elegidos en el marco teórico, con el objetivo de seleccionar el modelo adecuado para el desarrollo de este trabajo. Tabla Nº 6: Selección de modelo de desarrollo Modelo de

Características

desarrollo

Criterio de valoración

 Permite entregar de manera rápida la versión operativa del sistema.  Apropiado para proyectos de larga duración. Incremental

 Resulta más sencillo acomodar cambios al acotar el tamaño de los incrementos.  Aplica lineal

del

forma

modelo

escalonada

mientras se desarrolla el software.  No requiere la definición completa de los requisitos para empezar el desarrollo.  El riesgo es menor debido a las Espiral

iteraciones.  Validación sencilla de requisitos a partir de la primera iteración  Genera

reduce

el

tiempo

de

desarrollo inicial, ya que se implementa la funcionalidad parcial.  Proporciona ventajas

del

todas

las

modelo

de

cascada en cada incremento.  Al finalizar cada incremento

secuencias de

 Se

mucho

tiempo

se

obtiene

un

producto

funcional con documentación detallada del mismo.  La evaluación de los riesgos involucrados en el proyecto pueden elevar el costo y puede ser mayor que el costo de

la

construcción

del

sistema.  Está orientado al desarrollo

en

desarrollo del sistema.  El costo es elevado.

107 de 243

el

de grandes sistemas de gran complejidad.


 Permite trabajar a varias personas  Requiere

en el proyecto.  El ciclo de desarrollo es de menos

comunicación

la entre

desarrolladores y el cliente

fases.

DRA

que

 Menor taza de errores.

sea constante para aclarar los

 Requiere de gran cantidad de

requerimientos caso contrario el proyecto puede fallar.

recursos humanos para crear el número correcto de equipos. Fuente: [Elaboración propia]

Proceso de selección: De acuerdo la sencillez de los cambios en cada iteración, la entrega rápida de versiones operativas del sistema y la ventaja de ser apropiado para proyectos de larga duración, se ha seleccionado como adecuado para este trabajo al modelo de desarrollo incremental.

3.3.3 Análisis de selección del lenguaje de programación El lenguaje de programación como herramienta permitirá construir el sistema, por este motivo es importante seleccionar el adecuado. La siguiente tabla describe las ventajas y desventajas de los lenguajes con el objetivo de seleccionar el lenguaje para este trabajo. Tabla Nº 7: Selección de lenguaje de programación Lenguaje de programación

Características  Trabaja sobre la plataforma .NET.

Criterio de valoración  Es de fácil aprendizaje.

 Combina las mejores ideas de  Como es de propósito general es adaptable a las Lenguajes como C, C++ y Java con las mejoras de productividad C sharp

del Framework .Net de Microsoft.  Es sencillo debido a que eliminar complementos innecesarios que otros lenguajes incluyen.

necesidades.  Desarrollo ágil por la facilidad del entorno de desarrollo que posee (Visual studio)  Fácil

instalación

y

 Gestión automática de memoria.

configuración del servidor de

 Es orientado a objetos

aplicaciones (IIS)

108 de 243


 Permite el manejo de excepciones

 Como es orientado a objetos cumple con los principios de encapsulación,

herencia

y

polimorfismo.  Lenguaje es Multiplataforma, así

 El entorno de trabajo posee

mismo trabaja sobre la plataforma

varios

java.

código de forma paralela.  Permite

el

desarrollo

de

configuración y no permite un

 Puede procesar múltiples hilos de Java

problemas

desarrollo ágil  Es necesario para trabajar de

de

web

una manera óptima que se

dinámicas.

encuentre instalado el JDK

 Es de código abierto, interpretado

de Java.

y compilado a la vez.  El código es embebido con HTML lo

cual

da

resultado

a

la

 Cada

invisibilidad de este código en el

desarrollar

navegador. PHP

 Fácil de aprender

de

se cero,

debe su

entorno de trabajo no es de

 Es un lenguaje multiplataforma.  Es de código abierto

aplicación

mucha ayuda.  Los errores son difíciles de encontrar.

 Permite desarrollar de manera estructurada y manejable Fuente: [Elaboración propia]

Proceso de selección: De acuerdo a la facilidad de aprendizaje, adaptabilidad a las múltiples necesidades requeridas en los sistemas a desarrollar, gestión automática de memoria y el desarrollo ágil mediante el entorno de trabajo, se ha seleccionado a C Sharp como lenguaje de programación.

109 de 243


3.3.4 Aplicar las etapas de la metodología elegida al módulo de inscripción 3.3.4.1 Identificación de fases y flujo de trabajo de UP Según la Figura Nº 23 de la sección 2.4.2.1 del marco practico de este trabajo se puede ver que las fases del ciclo de vida de UP son las siguientes: 

Inicio: Requisitos importantes, modelado de primeros casos de uso.

Elaboración: Mayoría de casos de uso, arquitectura del sistema (modelado en su totalidad)

Construcción: Últimos detalles en el modelado, implementación en base a la arquitectura y las pruebas básicas.

Transición: Se obtiene una versión beta del producto a la cual se realiza las pruebas finales.

Cada una de estas fases se descompone en iteraciones, las cuales poseen un flujo de trabajo, el cuál se puede ver en la siguiente figura. Figura Nº 41: Flujo de trabajo de UP

Requisitos

Modelo de casos de uso

Análisis

Modelo de análisis Diseño

Modelo de diseño Implementación

Modelo de implementación Prueba

Modelo de prueba

Fuente: [Elaboración propia]

110 de 243


La cantidad de iteraciones dependen de la complejidad del proyecto.

3.3.4.2 Fase de inicio Primera iteración: Cuentas de usuario e inicio de sesión Análisis de requerimientos 

Requerimientos funcionales -

Creación y gestión de cuentas de usuario.

Requerimientos no funcionales -

Debe estar orientado a la web

-

Utilizar arquitectura cliente servidor de 3 capas para estructurar el incremento.

Modelo de casos de uso Describe la funcionalidad del sistema propuesto mediante actores y casos de uso. 

Identificación de actores: Los actores que participan en este incremento son: -

Administrador de instituto

-

Usuario estudiante

Descripción de actores: Los actores se describen a continuación: 

Administrador de instituto: Generalmente es el director académico del Instituto Ing Data Comp. En este incremento tiene las siguientes funciones en el sistema de inscripción: -

Gestión de cuentas de usuario.

Usuario estudiante: Es la persona que puede acceder al sistema mediante una cuenta de usuario. Así mismo puede gestionar su cuenta de usuario (Editar y cancelar la cuenta)

Diagramas de caso de uso: Los casos de uso muestran las funcionalidades, actividades y tareas que tiene el sistema. En este incremento se ha realizado el diagrama de casos de uso de la gestión de usuario, el cual se muestra a continuación.

111 de 243


Caso de uso: Crear cuenta usuario Figura Nº 42: Diagrama de caso de uso: Crear cuenta usuario

Crear cuenta de usuario Administrador de instituto

<<exclude>>

Gestionar cuenta de usuario

Usuario estudiante

Fuente: [Elaboración propia]

Escenario de caso de uso: A continuación se muestra una especificación del caso de uso crear cuenta usuario de acuerdo a su función y actores. Tabla Nº 8: Escenario: Crear cuenta usuario

Nombre de caso de uso:

Crear cuenta usuario

Actor:

Administrador, Usuario estudiante

Función:

Permitir crear cuentas de usuario para el acceso al sistema de inscripción

Descripción:

Administrador: Permitirá el registro de cuentas de usuario con los privilegios que el decida y la gestión de los mismos (editar, desactivar). Usuario estudiante: Permitirá la creación y gestión de la cuenta de usuario para ingresar al sistema. Fuente: [Elaboración propia]

112 de 243


Modelo de análisis Permite establecer la base para el diseño del sistema y la realización de los casos de uso 

Diagramas de colaboración: Muestran la interacción entre objetos que forman parte de la interacción y los enlaces entre los mismos a través de mensajes con un orden establecido para describir el comportamiento de la estructura estática y dinámica del sistema. 

Caso de uso: Crear cuenta de usuario Figura Nº 43: Diagrama de colaboración: Crear cuenta de usuario

1. Enviar datos nueva cuenta lec Se 5.

4. Enviar msj respuesta

r na c io

I.U. Crear cuenta de usuario

s to da

ón ci op

3 Enviar msj respuesta

Gestor cuenta 8 Enviar msj respuesta de de usuario opción

n c ió op

9. En re v iar sp m ue en st sa a je

Seleccionar opción

Administrador de instituto Usuario estudiante

7. Conectar con BD y enviar datos de opción 2. Conectar con BD y enviar datos

r ia nv E 6.

cuenta de usuario

I.U. Gestionar cuenta de usuario

Fuente: [Elaboración propia]

Modelo de diseño Describe la realización física de los casos de uso y crea una base al modelo de implementación. 

Diagramas de secuencia: Muestran la interacción de mensajes entre objetos en una secuencia temporal. Este diagrama se muestran a continuación:

113 de 243


Caso de uso: Crear cuenta de usuario Figura Nº 44: Diagrama de secuencia: Crear cuenta de usuario :IU Crear cuenta de usuario

:IU Gestionar cuenta de usuario

:Gestor cuenta de usuario

:Cuenta de usuario

Seleccionar opción Enviar datos nueva cuenta

Administrador de instituto Usuario estudiante

Conectar con la BD central y enviar datos Enviar mensaje de respuesta

Enviar mensaje de respuesta

Seleccionar opción Enviar datos opción

Enviar mensaje de respuesta

Enviar datos opción Enviar mensaje de respuesta

Fuente: [Elaboración propia]

Diagrama de clases del sistema: Permite ver las relaciones entre entidades de manera general, considerando la cardinalidad entre las mismas, el diagrama de base de datos se construirá el diagrama en diagrama aplicando reglas de normalización Figura Nº 45:

Diagrama de clases: Cuenta de usuario Cuenta de usuario nombre_usuario Password correo_electronico pregunta_de_seguridad respuesta_de_seguridad Tipo_usuario Estado Registrar_cuenta_usuario Buscar_cuenta_usuario Modificar/Eliminar

Fuente: [Elaboración propia]

114 de 243

base a este


En este único caso, para este incremento no existe relación de esta entidad con otra. 

Diseño de interfaces: La aplicación del modelo de diseño da resultado a las siguientes interfaces: Figura Nº 46: Diseño de interfaz: Crear cuenta de usuario

Fuente: [Elaboración propia]

Figura Nº 47: Diseño de interfaz: Gestionar cuenta de usuario

Fuente: [Elaboración propia]

115 de 243


Modelo de implementación Describe los elementos del modelo de diseño que se implementan en términos de componentes.  Diagrama de componentes: Representa los componentes del sistema, así como las dependencias entre los componentes de manera física. Figura Nº 48: Diagrama componentes: Cuenta de usuario Registro de cuenta de usuario Cuenta de usuario

Gestión de cuenta de usuario

Fuente: [Elaboración propia]

Pruebas Según la metodología UP en esta fase no se efectúan las pruebas.

3.3.4.3 Fase de elaboración Segunda iteración: Carreras y cursos Análisis de requerimientos 

Requerimientos funcionales -

Registro de carreras, cursos del instituto.

-

Asignación de descuentos por pago adelantado de semestre (carrera)

-

Asignación de pago por arrastre de materias (carrera)

Requerimientos no funcionales -

Debe estar orientado a la web

-

Utilizar arquitectura cliente servidor de 3 capas para la estructuración del incremento

116 de 243


Modelo de casos de uso A continuación se la funcionalidad del sistema según los actores y diagramas de caso de uso. 

Identificación de actores: Los actores que participan en este incremento son: -

Administrador de instituto

-

Usuario estudiante

Descripción de actores: Los actores se describen a continuación: 

Administrador de instituto: Tiene las siguientes funciones en este incremento: -

Creación y gestión de carreras o cursos del instituto e información referente a las mismas.

Usuario estudiante: Puede visualizar la información de las diferentes carreas y cursos del instituto para poder inscribirse a alguna de estas.

Diagramas de caso de uso: En este incremento se ha realizado el diagrama de casos de uso de la creación

de carreras y cursos, el cual se muestra a

continuación. 

Caso de uso: Crear carrera/curso Figura Nº 49: Diagrama de caso de uso: Crear carrera/curso

Crear carrera/curso Administrador

<<include>>

Visualizar carrera/curso

<<ex tend> >

<<include>>

Registrar plan académico

Gestionar carrera/curso

Fuente: [Elaboración propia]

117 de 243

Usuario Estudiante


Escenario de caso de uso: A continuación se muestra una especificación del caso de uso crear carrera/curso de acuerdo a su función y actores. Tabla Nº 9: Escenario: Crear carrera/curso

Nombre de caso de uso:

Crear carrera/curso

Actor:

Administrador de instituto, Usuario estudiante

Función:

Administrar carreras y cursos existentes en el instituto

Descripción:

Administrador de instituto: Permitirá añadir carreras, cursos con los semestres o meses respectivamente, las materias que corresponden a los mismos. Así mismo permite la asignación de descuentos y pago por arrastre de materias en las carreras. Finalmente permitirá la gestión de los mismos (Edición, eliminación) Usuario estudiante: Permitirá visualizar la información respecto a las carreras y cursos que cuenta el instituto para su próxima inscripción. Fuente: [Elaboración propia]

Modelo de análisis Dentro de este incremento, incluye los diagramas de colaboración. 

Diagramas de colaboración: Muestran la interacción entre objetos que forman parte de la interacción y los enlaces entre los mismos a través de mensajes con un orden establecido para describir el comportamiento de la estructura estática y dinámica del sistema.

118 de 243


Caso de uso: Crear carrera/curso Figura Nº 50: Diagrama de colaboración: Crear carrera/curso

ion ar op c ió n 5. Se lec c

1. Enviar datos nueva carrera/curso c ele .S 10

4. Enviar msj respuesta

r na c io

I.U. Crear carrera/curso

7,12 Conectar con BD y enviar datos de opción 2. Conectar con BD y enviar datos

Gestor carrera/curso

n c ió op

11 .E nv iar 14 da .E to s nv op re ia c ió sp r m ue en n st sa a je

Seleccionar opción

Administrador de instituto Usuario estudiante

ión pc so ato rd je v ia sa En en 6. r m op v ia eta En u 9. res p

I.U. Registrar plan académ ico

3 Enviar msj respuesta 8,13 Enviar msj respuesta de opción

Carrera/curso

I.U. Gestionar carrera/curso

Fuente: [Elaboración propia]

Modelo de diseño Permite una realización física de los casos de uso en base al modelo de implementación. 

Diagramas de secuencia: Muestran la interacción de mensajes entre objetos en una secuencia temporal. Este diagrama se muestras a continuación:

119 de 243


Caso de uso: Crear carrera/curso Figura Nº 51: Diagrama de secuencia: Crear carrera/curso :IU Crear carrera/curso

:IU Registrar plan académico

:IU Gestionar carrera/curso

:Gestor carrera/curso

:Carrera/curso

Seleccionar opción Enviar datos nueva carrera/curso

Conectar con la BD central y enviar datos

Administrador de instituto Usuario estudiante Enviar mensaje de respuesta

Enviar mensaje de respuesta

Seleccionar opción

Enviar datos opción

Enviar mensaje respuesta de opción

Seleccionar opción

Enviar datos opción

Enviar mensaje de respuesta

Fuente: [Elaboración propia]

120 de 243

Conectar con la BD central y enviar datos de opción Enviar mensaje de respuesta

Conectar con la BD central y enviar datos de opción Enviar mensaje de respuesta


Diagrama de clases del sistema: La relación entre entidades que describe este diagrama considerando la cardinalidad entre las mismas, se muestra a continuación:

Figura Nº 52: Diagrama de clases: carrera/curso 1 Curso

1 *

Cod_curso Nombre Nivel Duración Detalle_duracion Turno Descripción Fecha_inicio Disponible Costo_matricula Costo_mensualidad

*

Registrar_curso Buscar_curso Modificar/Eliminar

Carrera

*

1

Cod_carrera Nombre Nivel Duración Detalle_duracion Turno Descripción Fecha_inicio Disponible Costo_matricula Costo_mensualidad Registrar_carrera Buscar_carrera Modificar/Eliminar

*

Turno

Mes

Codigo_turno tipo_turno estado_turno

Cod_mes Nombre_mes

Registrar_turno Buscar_turno Modificar/Eliminar

Registrar_mes Buscar_mes Modificar/Eliminar

Semestre

1

Cod_semestre año Nombre_semestre Registrar_semestre Buscar_semestre Modificar/Eliminar

*

Materia

Cod_materia Nombre_materia Registrar_materia Buscar_materia Modificar/Eliminar

1

Fuente: [Elaboración propia]

121 de 243

1

*


Diseño de interfaces: La aplicación del modelo de diseño da resultado a las siguientes interfaces Figura Nº 53: Diseño de interfaz: Gestionar carrera/curso

Fuente: [Elaboración propia]

122 de 243


Modelo de implementación Describe los elementos del modelo de diseño que se implementan en términos de componentes.  Diagrama de componentes: Representa los componentes del sistema, así como las dependencias entre los componentes de manera física. Figura Nº 54: Diagrama componentes: Carrera/curso

Carrera/curso

Registro de carrera/curso

Gestión de carrera/curso Registro de plan académico

Fuente: [Elaboración propia]

Pruebas Según la metodología UP en esta fase simplemente se describe las pruebas a utilizar. Estas son unitarias (en la siguiente fase) y funcionales en la fase de transición.

3.3.4.4 Fase de construcción Tercera iteración: Inscripción de estudiantes a carreras y cursos e integración de módulos respectivos Análisis de requerimientos 

Requerimientos funcionales -

Integrar el resto de los módulos realizados al módulo de inscripción

-

Permitir la inscripción de estudiantes a las carreras o cursos.

-

Conocer el estado de pagos de estudiantes inscritos a carreras o cursos

Requerimientos no funcionales -

Debe ser orientado a la web

-

Utilizar arquitectura cliente servidor de 3 capas para estructurar el sistema.

123 de 243


Modelo de casos de uso A continuación se la funcionalidad del sistema según los actores y diagramas de caso de uso. 

Identificación de actores: Los actores que participan en el sistema inscripción de son:

-

Administrador de instituto

-

Usuario estudiante

Descripción de actores: Los actores se describen a continuación: 

Administrador de instituto: Tiene las siguientes funciones en este incremento: -

Gestión de cuentas de usuario.

-

Creación y gestión de carreras y cursos del instituto e información referente a los mismos

-

Visualizar reporte de los alumnos inscritos y su estado de pagos en las diferentes carreras y cursos en el instituto. Así mismo visualizar los estudiantes con deudas pendientes.

Usuario estudiante: Es la persona que puede ver la información respecto a la oferta académica del instituto, e inscribirse, tiene las siguientes funciones: -

Visualizar la información respecto a las carreras y cursos del instituto

-

Crear y gestionar su cuenta de usuario (Editar y cancelar la cuenta)

-

Puede inscribirse a alguna carrera o curso y gestionar su inscripción (Editar datos de inscripción y cancelar la misma)

-

En el caso de tener arrastre puede inscribirse solo a las materias que lo correspondan cursar.

Una vez que la persona se inscribe puede:  

Visualizar el estado de pagos (mensualidades pagadas y pendientes)

Diagramas de caso de uso: En este incremento se ha realizado el diagrama de casos de uso de la inscripción y el diagrama de casos de uso general del sistema; el resto de diagramas se incluye en los anteriores incrementos. Este diagrama se muestra a continuación.

124 de 243


Caso de uso: Realizar inscripción Figura Nº 55: Diagrama de caso de uso: Realizar inscripción Realizar inscripción <<include>> << inc Seleccionar lud e> > carrera/curso

> lude> <<inc

>> nd te ex <<

Reportes de inscripción

<<include>>

Registrar estudiante

Gestionar inscripción

Administrador de instituto

Usuario estudiante

Visualizar estado de pagos

Fuente: [Elaboración propia]

Escenario de caso de uso: A continuación se muestra una especificación del caso de uso realizar inscripción de acuerdo a su función y actores. Realizar inscripción. Tabla Nº 10: Escenario: Realizar inscripción

Nombre de caso de Realizar inscripción uso: Actor:

Administrador, Usuario estudiante

Función:

Inscribir estudiantes a carreras o cursos y obtener información de las inscripciones realizadas

Descripción:

Administrador: Permitirá ver los reportes de alumnos inscritos a las carreras y cursos del instituto con los datos del estudiante y el estado de pagos de los estudiantes. Usuario estudiante: Permitirá inscribirse a alguna carrera o curso o materias separadas (caso de arrastre) del instituto con el registro de datos del estudiante, así mismo editar los detalles de la inscripción y cancelarla. Una vez inscrito podrá ver su estado de pagos. Fuente: [Elaboración propia]

125 de 243


Diagrama de casos de uso general (Sistema de inscripción): Describe las funcionalidades del sistema desde el punto de vista del usuario. En este diagrama se muestra la integración de los anteriores incrementos al módulo de inscripción: Figura Nº 56: Diagrama de caso de uso general: Sistema de inscripción Ingresar al sistema

Crear cuenta de usuario <<extend>>

> i>

> e> lud inc < <

Administrador de instituto

<< inc lud e> >

Crear carrera/curso

<< ex ten d> >

Registrar plan académico

Gestionar carrera/curso

Realizar inscripción > lude> <<inc

ini <<

>>

Usuario estudiante

<<include>> Seleccionar

carrera/curso <<inc lude> > Registrar << ex estudiante te nd >>

> e> lud inc <<

Reportes de inscripción

Visualizar carrera/curso

>>

<< in

in <<

ini <<

i> >

Gestionar cuenta de usuario

Gestionar inscripción

Visualizar estado de pagos

Fuente: [Elaboración propia]

Modelo de análisis En este incremento se establece la base para el diseño mediante los diagramas de colaboración.

126 de 243


Diagramas de colaboración: Muestran la interacción entre objetos que forman parte de la interacción y los enlaces entre los mismos a través de mensajes con un orden establecido. 

Caso de uso: Realizar inscripción Figura Nº 57: Diagrama de colaboración: Realizar inscripción

I.U. Visualizar estado de pagos

3. En v v e iar d rif ic ato ac s d ión e 6. E res nv ia pu r es ta

26. S elec c ionar opc ió 1. Se n lec c io na r

n c ió s op ato ta tos rd es da ia pu nv iar E es . nv rr .E aje 2 v ia 27 ns En me op 7. e iar nv s ta d .E 30 s pue re

15. Enviar mensaje respuesta

ar on ci on ci op

cc ele .S 21

os at rd ia v En

ón ci op

n c ió op ar ion

22 .E nv iar 2 da tos re 0. En 25 op s pu v iar .E c ión es ta ms res nv ia de j pu r m op es en ta s de aje op

ec el .S 16

I.U. Realizar inscripción

. 17

I.U. Gestionar inscripción

Carrera/curso

18, 23, 28. Conectar con la BD y enviar datos opción

13. Conectar con BD y enviar datos

8. Enviar datos nueva inscripción

Seleccionar opción

Administrador de instituto Usuario estudiante

Seleccionar carrera/curso

4. Verificar datos 5. Enviar respuesta Gestor carrera/curso

Gestor 14. Enviar msj respuesta inscripción 19, 24, 29. Enviar msj respuesta de opción Inscripción 9. En v e v ia c o 12. rif r d nf En ic at irm v i ac os ac ar ió n de ió n 10. Verificar datos

11. Enviar confirmación Gestor cuenta Cuenta de de usuario usuario

I.U Reportes de inscripción

Fuente: [Elaboración propia]

Modelo de diseño Permite una realización física de los casos de uso en base al modelo de implementación. 

Diagramas de secuencia: Muestran la interacción de mensajes entre objetos en una secuencia temporal. Este diagrama se muestras a continuación:

127 de 243


Caso de uso: Realizar inscripción Figura Nº 58: Diagrama de secuencia: Realizar inscripción :IU Realizar inscripción

:IU Gestionar inscripción

:IU Reportes de inscripción

:Seleccionar carrera/curso

:IU Ver estado de pagos

:Gestor inscripción

:Gestor carrera/curso

:Carrera/curso

:Gestor cuenta de usuario

:Cuenta de usuario

:Inscripción

Seleccionar opción

Administrador de instituto Usuario estudiante

Enviar datos de selección

Enviar datos de verificación

Enviar datos de selección

Verificar datos Enviar respuesta

Enviar respuesta Enviar respuesta de disponibilidad

Enviar datos nueva inscripción (datos estudiante)

Enviar datos de inscripción

Verificar datos Enviar confirmación Enviar confirmación

Conectar con la BD central y enviar datos Enviar mensaje respuesta

Enviar mensaje respuesta

Seleccionar opción Enviar datos opción Enviar mensaje respuesta de opción

Seleccionar opción

Enviar datos opción Enviar mensaje respuesta de op.

Seleccionar opción

Enviar datos opción

Conectar con la BD central y enviar datos opción

Conectar con la BD central y enviar datos opción

Conectar con la BD central y enviar datos opción

Enviar mensaje respuesta de op.

Fuente: [Elaboración propia]

128 de 243

Enviar msj respuesta de opción

Enviar msj respuesta de opción

Enviar msj respuesta de opción


Diagrama de clases del sistema: Permite ver las relaciones entre entidades de manera general, considerando la cardinalidad entre las mismas, el diagrama de base de datos se construirá en base a este diagrama. Figura Nº 59: Diagrama de clases del sistema de inscripción * *

Estado de pagos pendientes

Codigo_estado_pagos_efectuados monto_pagado detalle_monto año semestre mes

Codigo_estado_pagos_pendientes monto_pendiente detalle_monto año semestre mes

* 1

Cod_curso Nombre Nivel Duración Detalle_duracion Turno Descripción Fecha_inicio Disponible Costo_matricula Costo_mensualidad Registrar_curso Buscar_curso Modificar/Eliminar

1

1 Cuenta de usuario nombre_usuario Password correo_electronico pregunta_de_seguridad respuesta_de_seguridad Tipo_usuario Estado Registrar_cuenta_usuario Buscar_cuenta_usuario Modificar/Eliminar

*

Registrar_estado_pagos Ver_estado_pagos

Registrar_estado_pagos Ver_estado_pagos

Curso

Estado de pagos efectuados

*

1 Inscripción CI Apellido_paterno Apellido_materno Nombres Telefono_celular Dirección Estado

Registrar_inscripción Buscar_inscripción Modificar/Cancelar Visualizar_inscripción

1 1

Carrera Cod_carrera Nombre Nivel Duración Detalle_duracion Turno Descripción Fecha_inicio Disponible Costo_matricula Costo_mensualidad Registrar_carrera Buscar_carrera Modificar/Eliminar

1

1

Semestre

*

Materia

Cod_semestre año Nombre_semestre

Cod_materia Nombre_materia

Registrar_semestre Buscar_semestre Modificar/Eliminar

Registrar_materia Buscar_materia Modificar/Eliminar

*

Mes

Cod_mes Nombre_mes Registrar_mes Buscar_mes Modificar/Eliminar

1 1

Turno Codigo_turno tipo_turno estado_turno Registrar_turno Buscar_turno Modificar/Eliminar

Fuente: [Elaboración propia]

129 de 243

1

*


Diseño de base de datos del sistema de inscripción Figura Nº 60: Diagrama de base de datos del sistema de inscripción

Fuente: [Elaboración propia]

130 de 243


Diseño de interfaces: La aplicación del modelo de diseño da resultado a las siguientes interfaces

Figura Nº 61: Diseño de interfaz: Interfaz principal del sistema de inscripción

Fuente: [Elaboración propia]

Figura Nº 62: Diseño de interfaz: Iniciar sesión

Fuente: [Elaboración propia]

131 de 243


Figura N潞 63: Dise帽o de interfaz: Efectuar inscripci贸n

Fuente: [Elaboraci贸n propia]

132 de 243


Modelo de implementación Describe los elementos del modelo de diseño que se implementan en términos de componentes.  Diagrama de componentes: Representa los componentes del sistema, así como las dependencias entre los componentes de manera física. Figura Nº 64: Diagrama componentes: Sistema de inscripción Registro de cuenta de usuario

Seleccion de usuario

Gestor de inscripción

Realizar inscripción

Reporte de inscripción

Registro de estudiante

Selección de carrera/curso

Carrera/curso

Registro de carrera/curso

Cuenta de usuario

Gestion de cuenta de usuario

Estudiante

Gestion de carrera/curso Registro de plan académico

Fuente: [Elaboración propia]

Implementación del sistema de inscripción: La implementación ha sido efectuado en base a todo el diseño realizado en las anteriores iteraciones. 

Interfaz principal: La siguiente interfaz implementada es la página principal del sistema de inscripción mediante la cuál se puede acceder al mismo.

133 de 243


Figura Nº 65: Interfaz principal del sistema

Fuente: [Elaboración propia]

Acceso al sistema de inscripción: Esta interfaz permite a los usuarios el acceso al sistema para la visualización de opciones de acuerdo a su tipo de usuario y también permite el registro de nuevas cuentas de usuario. La interfaz de acceso se muestra a continuación: Figura Nº 66: Interfaz de inicio de sesión

Fuente: [Elaboración propia]

Gestión de cuentas de usuario: Esta interfaz permite editar y eliminar las cuentas de usuario existentes en el sistema de inscripción, como se puede ver a continuación:

134 de 243


Figura Nº 67: Interfaz de gestión de cuentas de usuario

Fuente: [Elaboración propia]

Creación de carrera/curso: Permite registrar carreras o cursos en el instituto del estudiante mediante un formulario de registro, como se muestra a continuación:

135 de 243


Figura Nº 68: Interfaz de creación de carrera/curso

Fuente: [Elaboración propia]

Creación de plan académico: Permite registrar materias respectivas a cada semestre (en el caso de una carrera) y mes (en el caso de un curso), así mismo permite la generación las fechas de pago de una carrera o curso determinado, también permite la asignación de descuentos por pago de la totalidad de un semestre y montos específicos para los arrastres de materias, como se puede ver en la siguiente figura:

136 de 243


Figura Nº 69: Interfaz: Registrar plan académico

Fuente: [Elaboración propia]

Gestión de carreras o cursos: Permite realizar búsquedas de las carreras o cursos registrados mediante diferentes opciones. Así mismo permite editarlas (mediante una interfaz auxiliar) y eliminarlas. También permite la gestión de las materias de cada carrera o curso (pensum), turnos, descuentos, arrastres y fechas de pago, como se muestra a continuación: Figura Nº 70: Interfaz: Gestionar carrera/curso

137 de 243


Fuente: [Elaboraci贸n propia]

138 de 243


Inscripción de estudiantes: Permite registrar los datos del estudiante cuando se realiza una inscripción a algún curso o carrera mediante un formulario, como se muestra a continuación: Figura Nº 71: Interfaz de registro de datos de estudiante

Fuente: [Elaboración propia]

139 de 243


Gestionar inscripción: Permite visualizar el detalle de la inscripción efectuada, mediante distintos criterios de búsqueda. Así mismo permite cancelar la misma. La implementación se muestra en la siguiente figura. Figura Nº 72: Gestionar inscripción

Fuente: [Elaboración propia]

140 de 243


Pruebas 

Pruebas unitarias: Las pruebas unitarias, implican se pueda comprobar el correcto procesamiento en la lógica de cada módulo que conforma el sistema en general. Estas pruebas se han efectuado mediante de casos de prueba.

Se ha creado casos de prueba utilizando el Framework NUnit (Ver Anexo K: Pruebas del sistema) mediante los cuales se han efectuado las pruebas unitarias a cada componente del sistema de inscripción. Así mismo este NUnit posee una interfaz visual mediante la cuál realizar las pruebas. Los resultados se muestran en la siguiente figura: Figura Nº 73: Pruebas unitarias: Sistema de inscripción

Fuente: [Elaboración propia]

Las pruebas realizadas a cada componente del sistema de inscripción se han efectuado sin errores.

141 de 243


3.3.4.5 Fase de transición Cuarta iteración: Pruebas al sistema de inscripción Análisis de requerimientos En esta fase a no se describen nuevos requerimientos, más al contrario ya deben cumplirse los requerimientos establecidos. Modelo de casos de uso Ya no se realiza ningún caso de uso en esta fase y los actores ya están establecidos en las anteriores fases. Modelo de análisis Según la metodología UP el análisis concluye en la anterior fase del ciclo de vida. Modelo de diseño Según la metodología UP el diseño concluye en la anterior fase del ciclo de vida. Modelo de implementación La implementación ya se ha efectuado en la fase de construcción Pruebas Las pruebas efectuadas al sistema de inscripción son las siguientes: 

Pruebas funcionales: Permiten probar el funcionamiento correcto de los componentes de este incremento mediante la siguiente tabla: Tabla Nº 11: Pruebas funcionales: Sistema de inscripción

Caso de

Datos de Entrada

uso

Resultado

Resultado Esperado

Obtenido

El usuario debe ingresar  El sistema despliega la página de inicial de acuerdo en un formulario de inicio Ingresar al Sistema

de

sesión

sus

datos

al tipo de usuario que ha

(login/password) para ser

iniciado

autenticado

sistema.

presiona

el

botón “Iniciar sesión”.

142 de 243

sesión

en

el

Satisfactorio


 En caso de que el usuario no es autenticado el sistema retorna

un

mensaje

de

Satisfactorio

datos de usuario incorrecto  Crear

cuenta

de

usuario:

El

Administrador de instituto ingresa

los

datos

 La cuenta de usuario es creada

y

se

muestra

Satisfactorio

mensaje de confirmación

mediante el formulario de registro.  Los datos de la cuenta de

Crear cuentas de

 Gestionar

Usuario

usuario:

cuenta

de

usuario son modificados y

El

se

administrador de instituto gestiona

las

muestra

mensaje

de

Satisfactorio

confirmación

cuentas  En caso de deshabilitar la

existentes

(editar,

cuenta,

esta

cambia

su

deshabilitar) ingresando

estado en de la base de

un criterio de búsqueda.

datos y se muestra mensaje

Satisfactorio

de confirmación  Crear carrera/curso: El de

 La carrera/curso es creada

instituto crea la carrera o

y se muestra mensaje de

curso en el formulario de

confirmación.

Administrador

Satisfactorio

registro.  Registrar

plan

Crear

académico:

El

carrera/curso

administrador

de

instituto selecciona una carrera/curso e ingresa las

materias

correspondientes,

 El plan académico de la carrera/curso

es

creado

como también el registro de las fechas de pago. Los descuentos y arrastres son registrados correctamente y se muestra mensaje de

también puede generar

confirmación

las fechas de pagos de

143 de 243

Satisfactorio


la

carrera

o

seleccionado,

curso asignar

descuentos por pago de semestre

y

arrastre

pago

de

de

materias

para las carreras.  La carrera/curso es editada

 Gestionar carrera/curso:

El

administrador

de

instituto

un

ingresa

criterio de búsqueda y luego

gestiona

las

carreras/cursos existentes

correctamente y se muestra

Satisfactorio

mensaje de confirmación

 La

carrera/curso

es

eliminada y se muestra

Satisfactorio

mensaje de confirmación (editar,

eliminar).  Realizar inscripción: El estudiante

 La inscripción es registrada

selecciona una carrera o

y se muestra mensaje de

curso,

materias

confirmación en el que se

separadas (arrastre) a

incluye la fecha límite de

continuación ingresa sus

pago

datos en el formulario de

puntos donde se puede

registro (si se inscribe

realizar los pagos.

usuario

Realizar inscripción

o

y

los

Satisfactorio

diferentes

por primera vez)  Gestionar inscripción: El usuario ingresa su ci, para

su

 La inscripción es editada o

alguna

cancelada y se muestra

visualizar

inscripción

a

carrera o curso y poder

Satisfactorio

mensaje de confirmación.

gestionarla(editar datos y cancelar inscripción)  Reportes inscripción:

 De acuerdo a la selección de El

del reporte específico, se visualizan los reportes.

144 de 243

Satisfactorio


administrador

de

instituto selecciona un reporte.  Visualizar pagos:

estado El

de

usuario

estudiante ingresa su ci, para visualizar el estado de

pagos

en

la

 El estado de pagos es visualizado ingresado

una el

vez

ci

del

Satisfactorio

estudiante.

carrera/curso en la que esté inscrito. Fuente: [Elaboración propia]

3.3.5 Identificación y selección de servidor de aplicaciones y servidor de base de datos 3.3.5.1 Análisis de selección de servidor de aplicaciones La tabla que se muestra a continuación muestra una comparación de características importantes para la selección del servidor de aplicaciones (web) de acuerdo a la compatibilidad con los lenguajes de programación seleccionados en el marco teórico. Tabla Nº 12: Selección de servidor de aplicaciones IIS

Tomcat

Apache

Es open source

Es open source

Posee interfaz de

Posee interfaz de

No posee interfaz de

administración sencilla de

administración sencilla

administración, se debe

utilizar para el usuario

de utilizar

descargar aparte

Es privativo y requiere licencia

Fácil instalación y sin problemas

Instalación puede tener problemas. Requiere el JDK de Java

145 de 243

Instalación puede tener problemas


Soporte a middleware de

Soporte a middleware de

base de datos (ODBC y

base de datos (ODBC)

JDBC)

Requiere instalación por separado de middleware Administración de

Administración de servicios

Administración es más

es sencilla mediante la

compleja y a veces

interfaz de IIS

presenta errores

Soporte de páginas Asp.net

Soporte a páginas JSP

Es compatible con tomcat y

Es compatible con IIS y

Es compatible con IIS y

apache

Apache

Tomcat

servicios es más compleja usualmente existen problemas Soporte de lenguajes perl, python y php

Fuente: [Elaboración propia]

Proceso de selección: De acuerdo a la descripción de características de los servidores de aplicaciones en la anterior tabla, por la facilidad de instalación, presencia de interfaz de usuario y administración sencilla, se ha seleccionado a IIS como servidor de aplicaciones para este trabajo.

3.3.5.2 Análisis de selección de servidor de base de datos El servidor de base de datos permitirá gestionar la información almacenada en la base de datos del instituto, por este motivo es importante la elección del servidor adecuado. La tabla que se muestra continuación describe las ventajas y desventajas así como el criterio personal de selección de los gestores de base de datos elegidos en el marco teórico. Tabla Nº 13: Selección de gestor de base de datos Gestor de base de datos

Características  Escalabilidad,

Sql Server

seguridad.

Criterio de valoración

estabilidad,  Administración motor y la

 Posee entorno gráfico para la administración del motor de BD

146 de 243

mediante que posee.

las

sencilla

del

configuración herramientas


 Permite administrar otras bases  Permite de datos, previa configuración.

BD y gestión de seguridad mediante

Microsoft Windows. conectarse

gestores

de

bases

y

administración de réplicas de

 Requiere de un sistema operativo  Permite

creación

con

otros

de

datos

su

manejador

gráfico

mediante middleware específicos.  Sencillez de uso, es gratuito.  Multiplataforma. Alto rendimiento

 Alto nivel

Soporte a las transacciones

en sistemas UNIX. PostgreSQL

 Permite

la

de seguridad,

es estable, la administración

programación

de

de

funciones.

la

réplica

suele

tener

problemas y es necesario

 Requiere la instalación de un

instalar

middleware para acceder a la BD

parches

para

subsanar este problema.

por lenguajes de programación  Bajo costo en requerimientos de

 El soporte a las transacciones

hardware.

en varias ocasiones falla.

 Multiplataforma MySQL

 Requiere

 La interfaz de administración

middleware

para

el

acceso a la BD por lenguajes de

no es intuitiva  El nivel de seguridad no es

programación  Bajo costos en requerimientos.

medio.

Fuente: [Elaboración propia]

Proceso de selección: De acuerdo a la escalabilidad, estabilidad, alta seguridad, soporte de transacción y replica de base de datos asi como también facilidad de administración mediante el gestor gráfico, es seleccionado SQL server como gestor de base de datos.

147 de 243


3.4 DESARROLLO DEL MÓDULO DE FACTURACIÓN CON ENLACE EN LÍNEA APLICANDO INTERMEDIACIÓN FINANCIERA 3.4.1 Aplicar las etapas de la metodología elegida al módulo de facturación Tomando en cuenta la identificación de fases y flujos de trabajo visto en la sección 3.3.4.1 se ha desarrollado el módulo de facturación cumpliendo la metodología UP.

3.4.1.1 Fase de inicio Primera iteración: Creación de entidades financieras Análisis de requerimientos 

Requerimientos funcionales -

Registro de entidades financieras y sus agencias.

-

La conexión debe ser efectuada hacia la base de datos replica situada en el instituto.

Requerimientos no funcionales -

Utilizar arquitectura cliente servidor de 3 capas para estructurar el sistema.

Modelo de casos de uso 

Identificación de actores: Los actores que participan en el sistema de facturación son: -

Administrador de entidad financiera

Descripción de actores: Los actores se describen a continuación: 

Administrador de instituto: En este incremento tiene las siguientes funciones: -

Creación y gestión de entidades financieras y sus agencias.

Diagramas de casos de uso: Los casos de uso por actor muestran las funcionalidades, actividades y tareas que tiene cada actor en el sistema.

148 de 243


Caso de uso: Crear entidad financiera Figura Nº 74: Diagrama de caso de uso: Crear entidad financiera

Crear entidad financiera Administrador de instituto

<<extend>>

Gestionar entidad financiera

Fuente: [Elaboración propia]

Escenario de caso de uso: Crear entidad financiera Tabla Nº 14: Escenario: Crear entidad financiera

Nombre de caso de uso:

Crear entidad financiera

Actor:

Administrador de instituto

Función:

Permitir crear entidades financieras y sus agencias

Descripción:

Administrador de instituto: Permite el registro de entidades financieras y sus respectivas agencias para su posterior asignación a las credenciales de usuarios que se van a crear. Así mismo permite la gestión de las mismas (editar, eliminar). Fuente: [Elaboración propia]

Modelo de análisis Permite establecer la base para el diseño del sistema y la realización de los casos de uso. 

Diagramas de colaboración: Los diagramas que pertenecen a este modelo se muestran a continuación:

149 de 243


Caso de uso: Crear entidad financiera Figura Nº 75: Diagrama de colaboración: Crear entidad financiera 7. Conectar con BD y enviar datos de opción 2. Conectar con BD y enviar datos

1. Enviar datos nueva entidad financiera

ar on ci

6. En vi ar da to s

4. Enviar msj respuesta

c le Se 5.

I.U. Crear entidad financiera

op ci ón

Seleccionar opción

Gestor entidad e j s a financiera

3 Enviar msj respuesta 8 Enviar msj respuesta de opción

Entidad financiera

ón ci op

en m ta ar ues i v p En es 9. r

I.U. Gestionar entidad financiera

Fuente: [Elaboración propia]

Modelo de diseño Describe la realización física de los casos de uso y crea una base al modelo de implementación. 

Diagramas de secuencia: Muestran la interacción de mensajes entre objetos en una secuencia temporal. Estos diagramas se muestran a continuación:  Caso de uso: Crear entidad financiera Figura Nº 76: Diagrama de secuencia: Crear entidad financiera :IU Crear entidad financiera

:IU Gestionar entidad financiera

:Gestor entidad financiera

:Entidad financiera

Seleccionar opción Enviar datos nueva entidad financiera

Administrador de entidad financiera

Conectar con la BD replica y enviar datos

Enviar mensaje de respuesta

Enviar mensaje de respuesta

Seleccionar opción Enviar datos opción

Enviar mensaje de respuesta

Fuente: [Elaboración propia]

150 de 243

Conectar con la BD replica y enviar datos Enviar mensaje de respuesta


Diagrama de clases del sistema: El diagrama de clases permite ver las relaciones entre entidades de manera general, considerando la cardinalidad entre las mismas. El diagrama de base de datos será construido en base a este diagrama. En este incremento las entidades que corresponden al diagrama se muestran en la siguiente figura: Figura Nº 77: Diagrama de clases: Entidad financiera

Fuente: [Elaboración propia]

Diseño de interfaces: La aplicación del modelo de diseño da resultado a las siguientes interfaces: Figura Nº 78: Diseño de interfaz: Crear entidad financiera y agencia

Fuente: [Elaboración propia]

151 de 243


Modelo de implementación Describe los elementos del modelo de diseño que se implementan en términos de componentes.  Diagrama de componentes: Representa los componentes del sistema, así como las dependencias entre los componentes de manera física. Figura Nº 79: Diagrama componentes: Entidad financiera

Entidad financiera

Selección de entidad financiera y agencia

Fuente: [Elaboración propia]

Pruebas Según la metodología UP en esta fase no se efectúan las pruebas.

3.4.1.2 Fase de elaboración Segunda iteración: Creación de credenciales de usuario y registro de datos de dosificación. Análisis de requerimientos 

Requerimientos funcionales -

Registro de credenciales de usuario que permitan el acceso al módulo de facturación y estén asociados a una agencia de una entidad financiera.

-

Registro de datos de dosificación, para la emisión de las facturas.

-

La conexión debe ser efectuada hacia la base de datos replica situada en el instituto.

Requerimientos no funcionales -

Utilizar arquitectura cliente servidor de 3 capas para estructurar el sistema.

152 de 243


Modelo de casos de uso 

Identificación de actores: Los actores que participan en el sistema de facturación son:

-

Administrador de entidad financiera

-

Administrador de instituto

Descripción de actores: Los actores se describen a continuación: 

Administrador de instituto: En este incremento tiene las siguientes funciones: -

Creación y gestión de credenciales de usuario para el Administrador de la entidad financiera y funcionarios de caja.

-

Registro y gestión de datos de dosificación en el sistema cada vez que se requiera.

Administrador de entidad financiera: Es el jefe de sistemas o equivalente de la entidad financiera, el cual tiene las siguientes funciones dentro del sistema: 

Gestión de credenciales de usuario de los funcionarios de caja (Desactivación y cambio de contraseñas).

Diagramas de casos de uso: Los casos de uso por actor muestran las funcionalidades, actividades y tareas que tiene cada actor en el sistema. 

Caso de uso: Crear cuenta de usuario Figura Nº 80: Diagrama de caso de uso: Crear credencial de usuario

Crear credencial de usuario Administrador de instituto

<<extend>>

Gestionar credencial de usuario

Administrador de entidad financiera Fuente: [Elaboración propia]

153 de 243


Escenario de caso de uso: Crear credencial de usuario Tabla Nº 15: Escenario: Crear credencial de usuario

Nombre de caso de uso:

Crear credencial de usuario

Actor:

Administrador de instituto, Administrador de entidad financiera

Función:

Permitir crear credenciales de usuario para el acceso al sistema de facturación

Descripción:

Administrador de instituto: Permite el registro de cuentas de usuario y la gestión de los mismos (editar, deshabilitar). Administrador de entidad financiera: Permite la gestión de las credenciales de usuario de los funcionarios de caja. Fuente: [Elaboración propia]

Caso de uso: Registrar datos de dosificación.

Figura Nº 81: Diagrama de caso de uso: Registrar datos de dosificación

Registrar datos de dosificación Administrador de instituto

<<extend>>

Gestionar datos de dosificación

Fuente: [Elaboración propia]

154 de 243


Escenario de caso de uso: Registrar datos de dosificación Tabla Nº 16: Escenario: Registrar datos de dosificación

Nombre de caso de uso:

Registrar datos de dosificación

Actor:

Administrador de instituto

Función:

Permitir registrar los datos de dosificación cada vez que se requiera en el sistema.

Descripción:

Administrador de instituto: Permitirá el registro de datos de dosificación (Nro autorización, llave para el código de control, etc) así mismo gestionar estos datos. Fuente: [Elaboración propia]

Modelo de análisis Permite establecer la base para el diseño del sistema y la realización de los casos de uso. Diagramas de colaboración: Los diagramas que pertenecen a este modelo se muestran a continuación: 

Caso de uso: Crear credencial de usuario

Figura Nº 82: Diagrama de colaboración: Crear credencial de usuario

3 Enviar msj respuesta

4. Enviar msj respuesta

r na c io

I.U. Crear credencial de usuario

lec Se 5.

Adm. de instituto y entidad financiera

7. Conectar con BD y enviar datos de opción 2. Conectar con BD y enviar datos

1. Enviar datos nueva credencial

Seleccionar opción

n c ió op

6. En v ia rd 9. at os En v op re iar c ió sp m n ue en st sa a je

8 Enviar msj respuesta de Credencial de Gestor usuario opción credencial de usuario

I.U. Gestionar credencial de usuario

Fuente: [Elaboración propia]

155 de 243


Caso de uso: Registrar datos de dosificación

Figura Nº 83: Diagrama de colaboración: Registrar datos de dosificación

Seleccionar opción

3 Enviar msj respuesta

4. Enviar msj respuesta

ón Gestor datos 8 Enviar msj respuesta de Datos de ci de dosificación op opción dosificación s je to sa da en a ar i v r m st En ia ue 6. nv s p E e 9. r

r na c io

I.U. Registrar datos de dosificación

lec Se 5.

Adm. de instituto y entidad financiera

7. Conectar con BD replica y enviar datos de opción 2. Conectar con BD y enviar datos

1. Enviar datos nuevos datos de dosificación

n c ió op

I.U. Gestionar datos de dosificación

Fuente: [Elaboración propia]

Modelo de diseño Describe la realización física de los casos de uso y crea una base al modelo de implementación. 

Diagramas de secuencia: Muestran la interacción de mensajes entre objetos en una secuencia temporal. Estos diagramas se muestran a continuación:  Caso de uso: Crear credencial de usuario Figura Nº 84: Diagrama de secuencia: Crear credencial de usuario :IU Crear credencial de usuarrio

:IU Gestionar credencial de usuarrio

:Gestor credencial de usuarrio

:Credencial de usuarrio

Seleccionar opción Enviar datos nuevo credencial

Administrador de instituto Administrador de entidad financiera

Conectar con la BD réplica y enviar datos Enviar mensaje de respuesta

Enviar mensaje de respuesta

Seleccionar opción Enviar datos opción

Enviar mensaje de respuesta

Fuente: [Elaboración propia]

156 de 243

Conectar con la BD réplica y enviar datos Enviar mensaje de respuesta


 Caso de uso: Registrar datos de dosificación Figura Nº 85: Diagrama de secuencia: Registrar datos de dosificación :IU Gestionar datos de dosificación

:IU Registrar datos de dosificación

:Gestor datos de dosificación

:Datos de dosificación

Seleccionar opción

Administrador de entidad financiera

Enviar datos nueva dosificación Conectar con la BD replica y enviar datos Enviar mensaje de respuesta

Enviar mensaje de respuesta

Seleccionar opción Enviar datos opción

Enviar mensaje de respuesta

Conectar con la BD replica y enviar datos Enviar mensaje de respuesta

Fuente: [Elaboración propia]

Diagrama de clases del sistema: El diagrama de clases permite ver las relaciones entre entidades de manera general, considerando la cardinalidad entre las mismas. El diagrama de base de datos será construido en base a este diagrama. En este incremento las entidades que corresponden al diagrama se muestran en la siguiente figura:

157 de 243


Figura N潞 86:

Diagrama de clases: Entidad financiera, credencial de usuario y datos de dosificaci贸n

Fuente: [Elaboraci贸n propia]

158 de 243


Diseño de interfaces: La aplicación del modelo de diseño da resultado a las siguientes interfaces: Figura Nº 87: Diseño de interfaz: Crear credencial de usuario

Fuente: [Elaboración propia]

Figura Nº 88: Diseño de interfaz: Registrar datos de dosificación

Fuente: [Elaboración propia]

159 de 243


Modelo de implementación Describe los elementos del modelo de diseño que se implementan en términos de componentes.  Diagrama de componentes: Representa los componentes del sistema, así como las dependencias entre los componentes de manera física. Figura Nº 89:

Diagrama componentes: Entidad financiera, credencial de usuario y datos de dosificación

Entidad financiera

Datos de dosificación Dosificación vigente

Selección de entidad financiera y agencia

Registro de credencial de usuario

Credencial de usuario

Gestión de de credencial de usuario

Fuente: [Elaboración propia]

Pruebas Según la metodología UP en esta fase simplemente se describe las pruebas a utilizar. Estas son unitarias (en la siguiente fase) y funcionales en la fase de transición.

160 de 243


3.4.1.3 Fase de construcción Tercera iteración: Realizar pagos e integración del módulo de facturación Análisis de requerimientos 

Requerimientos funcionales -

Integración de los módulos realizados en el anterior incremento al módulo de facturación

-

Permitir consultar los datos de inscripción de estudiantes en el sistema de inscripción.

-

Cumplir con las normativas de facturación mediante sistemas informáticos.

-

Registro de pagos por inscripción o por mensualidades

-

Registro de pagos por materias separadas (si existe arrastre de materias)

-

Permitir la emisión de facturas impresa por concepto de los pagos mencionados.

-

Visualizar los pagos realizados en la entidad financiera referente a los pagos mencionados mediante reportes

-

El módulo debe estar conectado a una Base de datos replica situada en el instituto.

Requerimientos no funcionales -

Utilizar arquitectura cliente servidor de 3 capas para estructurar el incremento.

Modelo de casos de uso A continuación se la funcionalidad del sistema según los actores y diagramas de caso de uso. 

Identificación de actores: Los actores que participan en el módulo de facturación son: -

Administrador de instituto

-

Administrador de entidad financiera

-

Funcionario de caja

161 de 243


Descripción de actores: Los actores se describen a continuación: 

Administrador de instituto: Es la persona encargada de administrar en su totalidad el módulo de facturación. Es el encargado de sistemas del instituto y tiene las siguientes funciones: -

Creación y gestión de entidades financieras y sus agencias.

-

Creación y gestión de credenciales de usuario para el Administrador de la entidad financiera y funcionarios de caja.

-

Registro y gestión de datos de dosificación en el sistema cada vez que se requiera.

-

Visualizar los pagos efectuados en las agencias de la entidad financiera mediante reportes.

Administrador de entidad financiera: Es el jefe de sistemas o equivalente de la entidad financiera, el cual tiene las siguientes funciones dentro del sistema: 

Gestión de credenciales de usuario de los funcionarios de caja (Desactivación y cambio de contraseñas)

Visualizar los pagos efectuados en las diferentes agencias de la entidad financiera mediante reportes.

Funcionario de caja: Es la persona encargada de recibir dinero del pago de matrículas o mensualidades en un punto de pago. En el sistema de facturación puede: 

Consultar el detalle de inscripciones de estudiantes del instituto.

Registrar el pago de matrículas y mensualidades.

Emitir la factura impresa por concepto de pagos realizados.

Ver el reporte de los pagos registrados por el funcionario de caja en el sistema de facturación.

Diagramas de casos de uso: Los casos de uso por actor muestran las funcionalidades, actividades y tareas que tiene cada actor en el sistema.

162 de 243


Caso de uso: Realizar pago Figura Nº 90: Diagrama de caso de uso: Registrar pago

Registrar pago > lude> <<inc

Consultar inscripción

<< inc lud e> >

<<extend>>

Reporte de Pagos

Administrador de instituto

Funcionario de caja

Emitir factura

Administrador de entidad financiera

Fuente: [Elaboración propia]

Escenario de caso de uso: Registrar pago Tabla Nº 17: Escenario: Registrar pago

Nombre de caso de uso:

Registrar pago

Actor:

Administrador de instituto, Administrador de entidad financiera Funcionario de caja

Función:

Permitir registrar el pago por inscripción o pago de mensualidades y emitir la factura correspondiente

Descripción:

Administrador de instituto y de entidad financiera: Permitirá la visualización los pagos registrados en las agencias de la entidad financiera. Funcionario

de

caja:

Permitirá

consultar

las

inscripciones existentes para registrar el pago por concepto de inscripción o pago de mensualidades (también visualizar pagos realizados) y finalmente permitirá la emisión de factura impresa por el correspondiente pago registrado. Fuente: [Elaboración propia]

163 de 243


Diagrama de casos de uso general (Módulo de facturación): Describe las funcionalidades del sistema desde el punto de vista del usuario. Este diagrama se muestra la integración de los anteriores incrementos al módulo de facturación: Figura Nº 91: Diagrama de casos de uso general: Sistema de facturación Ingresar al sistema

Crear entidad financiera <<extend>>

in <<

i > <in i> <

i>> <<in

>>

Gestionar entidad financiera Crear credencial de usuario <<extend>>

Registrar datos de dosificación <<extend>>

Administrador de entidad financiera

i> >

Gestionar credencial de usuario

<< in

Administrador de instituto

Funcionario de caja

Gestionar datos de dosificación Registrar pago <<include>>

Consultar inscripción

<<include>>

Emitir factura

<<include>>

Reporte de pagos

Fuente: Elaboración propia]

Modelo de análisis En este incremento se establece la base para el diseño mediante los diagramas de colaboración.

164 de 243


Diagramas de colaboración: Muestran la interacción entre objetos que forman parte de la interacción y los enlaces entre los mismos a través de mensajes con un orden establecido. 

Caso de uso: Ingresar al sistema Figura Nº 92: Diagrama de colaboración: Ingresar al sistema 1. Enviar usuario y contraseña

2. Verifficar datos de autenticación

3. Redireccionar a página principal ó recibir mensaje Gestor I.U. Ingresar al

3. Enviar respuesta

Credencial de usuario

credencial de usuario

sistema

Adm. de instituto y entidad financiera Funcionario de caja

Fuente: [Elaboración propia]

Caso de uso: Registrar pago Figura Nº 93: Diagrama de colaboración: Registrar pago 3. Conectar con la BD y enviar datos consulta

4. Enviar respuesta Gestor Inscripción

2. c o Env i ns a ulta r da ins tos c ri de pc ión 5. E n res v ia pu r es ta

9. Se lec c

ion ar op c ió n

n c ió op tos da iar aje nv ns .E me ión 10 c iar nv ta op .E 13 s pue re

I.U. Reporte de pagos

op c ió n

6.Visualizar datos inscripción 8. Enviar mensaje respuesta

7. Enviar msj respuesta Gestor pago

r na c io n c ió op

je sa en n ó m i ar c v i ma En nf ir . o 18 c

15 .E nv iar da to s

c ele .S 14

Adm. de instituto y entidad financiera Funcionario de caja

6 Conectar con BD y enviar datos nuevo pago

1. Enviar datos de consulta inscripción

I.U. Registrar pago

I.U. Em itir factura

Fuente: [Elaboración propia]

165 de 243

16. Imprimir factura

11. Conectar con la BD y enviar datos opción

7.Enviar datos de pago Seleccionar opción

Inscripción

17. Enviar msj confirmación

Pago


Modelo de diseño Permite una realización física de los casos de uso en base al modelo de implementación. 

Diagramas de secuencia: Muestran la interacción de mensajes entre objetos en una secuencia temporal. Este diagrama se muestras a continuación: 

Caso de uso: Ingresar al sistema Figura Nº 94: Diagrama de secuencia: Ingresar al sistema :IU Ingresar al sistema

:Gestor credencial de usuario

:Credencial de usuario

Seleccionar opción Enviar usuario y contraseña

Administrador de instituto Administrador de entidad financiera

Conectar a BD replica y verificar datos de autenticación

Enviar espuesta Redireccionar a pagina principal ó recibir mensaje

Fuente: [Elaboración propia]

166 de 243


 Caso de uso: Registrar pago Figura Nº 95: Diagrama de secuencia: Registrar pago :IU Registrar pago

:IU Reporte de pagos

:IU Emitir Factura

:Gestor pago

:Gestor inscripción

:Inscripción

:Pago

Seleccionar opción Ingresar datos de consulta inscripción

Funcionario de caja Administrador de instituto Administrador de entidad financiera

Enviar datos de consulta inscripción

Visualizar datos inscripción

Seleccionar y enviar datos de pago

Conectar con la BD réplica y enviar datos consulta Enviar respuesta

Enviar respuesta

Conectar con BD réplica y enviar datos nuevo pago

Enviar mensaje respuesta

Enviar mensaje respuesta

Seleccionar opción Enviar datos opción

Conectar con la BD réplica y enviar datos opción

Enviar mensaje confirmación

Enviar mensaje respueta opción

Seleccionar opción Enviar datos opción

Imprimir factura

Enviar mensaje confirmación

Enviar mensaje confirmación

Fuente: [Elaboración propia]

Diagrama de clases del sistema: Permite ver las relaciones entre entidades de manera general, considerando la cardinalidad entre las mismas, el diagrama de base de datos se construirá en base a este diagrama. Se ha integrado el módulo de inscripción y facturación en este diagrama el cuál se muestra a continuación:

167 de 243


Figura Nº 96: Diagrama de clases del sistema de inscripción y facturación *

Codigo_estado_pagos_efectuados monto_pagado detalle_monto año semestre mes

Codigo_estado_pagos_pendientes monto_pendiente detalle_monto año 1 semestre mes

Registrar_estado_pagos Ver_estado_pagos

Registrar_estado_pagos Ver_estado_pagos

1 *

Cuenta de usuario

1 Curso Cod_curso Nombre Nivel Duración Detalle_duracion Turno Descripción Fecha_inicio Disponible Costo_matricula Costo_mensualidad Registrar_curso Buscar_curso Modificar/Eliminar

1

1

1

nombre_usuario Password correo_electronico pregunta_de_seguridad respuesta_de_seguridad Tipo_usuario Entidad_financiera Agencia Registrar_credencial_usuario Buscar_credencial_usuario Modificar/Eliminar

codigo_entidad_financiera nombre_entidad_financiera Telefono Dirección Agencias

Registrar_entidad_financiera Buscar_entidad_financiera Modificar/Eliminar

1 1

1

1

*

Pago

* NroFactura Nro_correlativo_interno NroAutorización NIT Lugar Fecha Nombre Cantidad Concepto Precio_unitario Total Total_general Fecha_limite_emisión Codigo_control Numero_SFC Datos_dosificacion Credencial_Usuario Registrar_pago Buscar_pago Visualizar_pagos

*

*

Registrar_inscripción Buscar_inscripción Modificar/Cancelar Visualizar_inscripción

*

Entidad financiera

1 Inscripción

* CI Apellido_paterno Apellido_materno Nombres Telefono_celular Dirección Estado

1

nombre_usuario Password correo_electronico pregunta_de_seguridad respuesta_de_seguridad Tipo_usuario Estado Registrar_cuenta_usuario Buscar_cuenta_usuario Modificar/Eliminar

Credencial de usuario

Estado de pagos efectuados

*

Estado de pagos pendientes

*

Carrera Cod_carrera Nombre Nivel Duración Detalle_duracion Turno Descripción Fecha_inicio Disponible Costo_matricula Costo_mensualidad Registrar_carrera Buscar_carrera Modificar/Eliminar

1 Datos dosificación codigo_dosificacion numero_autorizacion llave_dosificacion fecha_ingreso fecha_limite_emision NIT_Instituto Estado_dosificación Entidad_financiera Registrar_entidad_financiera Buscar_entidad_financiera Modificar/Eliminar

Fuente: [Elaboración propia]

168 de 243

1

Semestre

*

Materia

Cod_semestre año Nombre_semestre

Cod_materia Nombre_materia

Registrar_semestre Buscar_semestre Modificar/Eliminar

Registrar_materia Buscar_materia Modificar/Eliminar

*

Mes

Cod_mes Nombre_mes Registrar_mes Buscar_mes Modificar/Eliminar

1 1

Turno Codigo_turno mañana tarde noche Registrar_mes Buscar_mes Modificar/Eliminar

1

*


Diseño de la base de datos del sistema (Inscripción y facturación)

Figura Nº 97:

Diagrama de base de datos: Sistema de inscripción y facturación

Fuente: [Elaboración propia]

169 de 243


Diseño de interfaces: La aplicación del modelo de diseño da resultado a las siguientes interfaces: Figura Nº 98: Diseño de interfaz: Crear entidad financiera y agencia

Fuente: [Elaboración propia]

Figura Nº 99: Diseño de interfaz: Registrar pago (Paso I)

Fuente: [Elaboración propia]

170 de 243


Figura Nº 100: Diseño de interfaz: Registrar pago (Paso II)

Fuente: [Elaboración propia]

Figura Nº 101: Diseño de interfaz: Reporte de pagos

Fuente: [Elaboración propia]

171 de 243


Modelo de implementación Describe los elementos del modelo de diseño que se implementan en términos de componentes.  Diagrama de componentes: Representa los componentes del sistema, así como las dependencias entre los componentes de manera física. En el siguiente diagrama se puede ver las relaciones entre componentes del módulo de inscripción y facturación Figura Nº 102: Diagrama componentes: Sistema de inscripción y facturación Datos de dosificación Dosificación vigente

Reporte de pagos

Emisión de factura

Factura

Entidad financiera

Registro de pago Seleccion de entidad financiera y agencia Seleccionar usuario

Credencial de usuario

Registrar pago Estado de pagos

Gestion de de credencial de usuario

Consultar inscripción

Registro de cuenta de usuario

Seleccion de usuario

Gestor de inscripción

Realizar inscripción

Reporte de inscripción

Carrera/curso

Registro de carrera/curso

Cuenta de usuario

Registro de estudiante

Selección de carrera/curso

Registro de credencial de usuario

Estudiante

Gestion de carrera/curso Registro de plan académico

Fuente: [Elaboración propia]

172 de 243

Gestion de cuenta de usuario


Implementación del módulo de facturación: La implementación ha sido efectuado en base a todo el diseño realizado en las anteriores iteraciones. 

Acceso al módulo de facturación: De acuerdo a la arquitectura de 3 capas, el acceso al módulo se realiza de la siguiente manera: Figura Nº 103: Secuencia de acceso al módulo de facturación Presentación: Se ingresan los datos mediante la interfaz de usuario

Lógica de negocio: Se reciben los datos, se validan y se realizan operaciónes auxiliares

Acceso a datos: Se reciben datos validados, se envian/reciben estos datos a la base de datos.

Inicio de sesion Capa de presentación

Capa de lógica logica de negocio

<<Interfaz>> Principal.xaml (Inicio de sesion)

Capa de acceso a datos

<<Clase>> CredencialUsuarioLN

<<Clase>> CredencialUsuarioAD Base de datos

La capa de presentacción accede a la capa de logica de negocio

La capa de logica de negocio accede a la capa de acceso a datos

Fuente: [Elaboración propia]

Inicio de sesión: El acceso al módulo se efectúa mediante una interfaz de inicio de sesión con un nombre de usuario y password. La implementación se muestra en la siguiente figura. Figura Nº 104: Acceso al sistema de facturación

Fuente: [Elaboración propia]

173 de 243


Consultar inscripción: Permite consultar inscripciones de estudiantes, para que luego el funcionario de caja pueda efectuar el pago. Esta interfaz se puede visualizar en la siguiente figura. Figura Nº 105: Consulta de inscripción

Fuente: [Elaboración propia]

Registro de pago (Paso I): Permite obtener el detalle de las inscripciones de estudiantes y seleccionar los pagos a registrar. Figura Nº 106: Registro de pago: Paso I

Fuente: [Elaboración propia]

174 de 243


Registro

de

pago

(Paso

II):

Permite

visualizar

el

detalle

de

mensualidades/matriculas a pagar seleccionadas y permite registrar el pago. Como se puede ver en la siguiente figura: Figura Nº 107: Registro de pago: Paso II

Fuente: [Elaboración propia]

Visualización de factura: Permite obtener una vista previa de la factura antes de registrar el pago y emitir la factura correspondiente. Esta vista se muestra en la siguiente figura.

175 de 243


Figura Nº 108: Visualización de factura

Fuente: [Elaboración propia]

Reportes de pago: Permite visualizar reportes de pagos efectuados de acuerdo a un criterio de búsqueda previo. Este criterio puede ser una vista general de los pagos efectuados en una fecha en específico o en un rango de fechas, según un funcionario de caja, una agencia o un mes determinado. En todos los casos se puede generar un reporte general o un reporte detallado. Este criterio de búsqueda es ingresado mediante la interfaz de reportes que se muestra en la siguiente figura.

176 de 243


Figura Nº 109: Interfaz de generación de reporte de pagos

Fuente: [Elaboración propia]

Una que vez ingresado el criterio de búsqueda se genera el reporte específico para cada consulta como el que se puede visualizar a continuación Figura Nº 110: Reporte general de pagos: Funcionarios de caja

Fuente: [Elaboración propia]

También se puede generar un reporte más específico, como el detalle de un pago en particular. Este reporte se muestra a continuación

177 de 243


Figura N潞 111: Reporte detalle de pagos: Funcionarios de caja

Fuente: [Elaboraci贸n propia]

178 de 243


En la siguiente figura se puede observar otro tipo de reporte, mediante la selecci贸n de mes como un criterio de b煤squeda. Figura N潞 112: Reporte mensual de pagos

Fuente: [Elaboraci贸n propia]

179 de 243


Es posible obtener reportes de las deudas de los estudiantes mediante diferentes criterios de búsqueda generando reportes con el que se puede ver a continuación: Figura Nº 113: Reporte de deudas de estudiantes

Fuente: [Elaboración propia]

Implementación del código de control: En cumplimiento a la normativa indicada por el Servicio de Impuestos Nacionales, se ha implementado el código de control utilizando los siguientes datos de entrada: -

Número de autorización.

-

Número de factura o nota fiscal.

-

NIT

-

Fecha de transacción.

-

Monto de la transacción o importe

-

Llave de dosificación (otorgada en cada dosificación por el SIN al instituto) Los algoritmos utilizados en la implementación del código de control son: Algoritmo Alleged RC4, Verhoeff y de base 64. El detalle de la implementación se puede visualizar en (Anexo I: Generación del código de control). 180 de 243


Implementación de la conexión entre el módulo de facturación y el servidor de base de datos: La conexión ha sido efectuada mediante los siguientes parámetros que dan el acceso a la base de datos al módulo de facturación: -

Data Source = 192.168.56.2 (IP del servidor)

-

Inicial Catalog = BDIngDataComp (Base de datos)

-

User ID = Virtual; Password = virtual (cuenta de acceso a la base de datos)

-

Encrypt = true (encriptación activada  requiere de certificado SSL descrito en el siguiente punto)

Medidas de seguridad al sistema de inscripción Mediante el uso de certificados SSL se habilitado la encriptación SSL y https. El detalle de la implementación se puede visualizar en: (Anexo L: Aplicación de medidas de seguridad) y el resultado se muestra en la siguiente figura: Figura Nº 114: Habilitación de SSL y Https al sistema de inscripción

Fuente: [Elaboración propia]

181 de 243


Medidas de seguridad a los elementos del enlace en línea Se han aplicado las medidas que indica la circular SB/466/2004 (acorde a los detalles que se describen en el punto 3.2.2 de este trabajo) que indica la ASFI y a la sección 10.9.2 del estándar internacional NB-ISO/IEC 1799, referente a transacciones en línea, de manera que permitan efectuar la intermediación financiera. (Ver Anexo J: Sección 10.9.2 del estándar NB-ISO/IEC 17799: Gestión de seguridad de la información). Considerando ambas normativas se ha considerado lo siguiente: 

Las políticas, normas y procedimientos de seguridad informática: Se ha considerado lo siguiente: -

Se han considerado políticas en la creación de cuentas de usuario y contraseñas. El detalle se puede visualizar en (Anexo L: Aplicación de medidas de seguridad)

-

La contraseña está encriptada en la base de datos. El detalle de su implementación se puede ver en (Anexo L: Aplicación de medidas de seguridad)

-

Roles de usuarios existentes que permitan categorizar el acceso al módulo de facturación (La descripción se puede ver en la sección siguiente)

-

Las políticas, normas y procedimientos de seguridad que deben cumplir la entidad financiera están establecidos en la circular SB/443/2003.

-

El Administrador del instituto tiene el acceso a una interfaz en el módulo de facturación mediante la cuál puede realizar consultas hacia los logs de la base de datos (pistas de auditoria). Esta interfaz se puede visualizar en la siguiente figura:

182 de 243


Figura Nº 115: Interfaz de logs de la base de datos

Fuente: [Elaboración propia]

-

El uso del firewall y las reglas que debe considerar tanto la entidad financiera. El firewall que adquiera el instituto puede ser de tipo hardware o software, mediante el cuál pueda configurar reglas de entrada para la recepción de transacciones efectuadas en la entidad financiera. Las reglas de entrada que deben ser configuradas en el firewall del instituto son las siguientes: 

Permitir acceso a las IP entrantes de la entidad financiera hacia el servidor del instituto

Permitir las solicitudes entrantes de la entidad financiera de tipo TCP en los puertos 1433, 1434, 1954 y de tipo UDP en el puerto 1434. Estos puertos permiten el acceso a la base de datos del instituto.

-

En la entidad financiera se deben aplicar reglas de salida tomando en cuenta las mismas reglas mencionadas anteriormente.

Se ha considerado los siguientes aspectos de seguridad según el estándar NB-ISO/IEC 17799: -

Uso de certificados digitales para autenticar la identidad del instituto. (Ver Anexo L: Aplicación de medidas de seguridad)

-

Validez de credenciales de usuario (Habilitadas por el administrador de instituto). (Ver Anexo L: Aplicación de medidas de seguridad) 183 de 243


-

Las transacciones efectuadas son confidenciales (solo realizadas por el personal autorizado: Funcionario de caja) y la privacidad con todas las partes involucradas es conservada.

-

Canal

de

comunicaciones

entre

las

partes

involucradas

(cliente/servidor) es encriptado. (Ver Anexo L: Aplicación de medidas de seguridad) -

Protocolos de comunicación entre las partes involucradas es seguro.

-

Almacenaje de datos localizados fuera de cualquier ambiente público accesible.

Políticas de usuarios Tomando en cuenta la circular SG/466/2004 se ha considerado esta política, donde el acceso al módulo de facturación para el uso de sus diferentes funcionalidades depende del tipo de usuario, el cuál posee privilegios diferentes. Los usuarios existentes son: 

Administrador de Instituto: Encargado de sistemas del instituto. Tiene acceso a las funcionalidades de: -

Creación y gestión de entidades financieras y sus agencias respectivas

-

Creación y gestión de credenciales de usuario.

-

Registro y gestión de datos de dosificación.

-

Reportes de pagos efectuados en entidad financiera especifica

Administrador de Entidad financiera: Encargado de sistemas de la entidad financiera. Tiene acceso a las siguientes funcionalidades: -

Gestión de credenciales de usuario creadas por el administrador de instituto (Desactivación y cambio de contraseñas)

-

Reporte de pagos efectuados la entidad financiera a la que pertenece.

Funcionario de caja: Encargado de registrar los pagos en las agencias de la entidad financiera. Tiene acceso a las siguientes funciones: -

Consultar detalle de inscripciones de estudiantes.

184 de 243


-

Registrar el pago de matrículas y mensualidades

-

Emitir factura impresa por concepto de pagos efectuados

-

Reporte de pagos efectuados del funcionario de caja

Pruebas 

Pruebas unitarias: Las pruebas unitarias, implican se pueda comprobar el correcto procesamiento en la lógica de cada módulo que conforma el sistema en general. Estas pruebas se han efectuado mediante de casos de prueba.

Se ha creado casos de prueba utilizando el Framework NUnit (Ver Anexo K: Pruebas del sistema) mediante los cuales se han efectuado las pruebas unitarias a cada componente del sistema de inscripción. Así mismo este NUnit posee una interfaz visual mediante la cuál realizar las pruebas. Los resultados se muestran en la siguiente figura: Figura Nº 116: Pruebas unitarias: Módulo de facturación

Fuente: [Elaboración propia]

Las pruebas realizadas a cada clase del sistema se han efectuado a cabo de manera satisfactoria, utilizando valores estáticos en cada módulo de manera que se abarquen todas las funcionalidades en el sistema de facturación

185 de 243


3.4.1.4 Fase de transición Cuarta iteración: Pruebas al módulo de facturación Análisis de requerimientos En esta fase a no se describen nuevos requerimientos, más al contrario ya deben cumplirse los requerimientos establecidos. Modelo de casos de uso Ya no se realiza ningún caso de uso en esta fase y los actores ya están establecidos en las anteriores fases. Modelo de análisis Según la metodología UP el análisis concluye en la anterior fase del ciclo de vida. Modelo de diseño Según la metodología UP el diseño concluye en la anterior fase del ciclo de vida. Modelo de implementación La implementación ya se ha efectuado en la fase de construcción Pruebas 

Pruebas funcionales: Permiten probar el funcionamiento correcto de los componentes del sistema, se han realizado las pruebas a los módulos de este incremento mediante la siguiente tabla: Tabla Nº 18: Pruebas funcionales: Módulo de facturación

Caso de

Datos de Entrada

uso

Resultado

Resultado Esperado

Obtenido

 El sistema despliega la

Ingresar al Sistema

El usuario debe ingresar en un

interfaz

principal

de

formulario de inicio de sesión

acuerdo

al

de

sus datos (login/password) para

usuario que ha iniciado Satisfactorio

ser

sesión en el sistema.

autenticado

presiona

botón “Iniciar sesión”.

el

tipo

 En caso de que el usuario

186 de 243

no

es


autenticado el sistema retorna un mensaje de datos

de

usuario

incorrecto  Crear entidad financiera: El Administrador

de

instituto

ingresa los datos de creación de

entidad

agencias mediante

financiera

de el

la

 La entidad financiera o agencias

o

registrados

misma,

formulario

son

muestra

de

y

mensaje

se Satisfactorio de

confirmación

registro.

 Los datos de la entidad financiera o agencias

Crear

son modificados y se Satisfactorio muestra mensaje de

entidad financiera

 Gestionar

entidad

financiera: El administrador

confirmación  En caso de eliminar la

de instituto gestiona las la

entidad financiera, se

entidad financiera o agencias

elimina

de la misma (editar, eliminar) ingresando

un

criterio

esta

y

sus

agencias. Si es solo una

de

agencia no afecta a la Satisfactorio entidad financiera,

búsqueda.

finalmente se muestra mensaje

de

confirmación credencial de  Crear credencial de usuario:  La usuario es creada y se El Administrador de instituto Crear credencial de Usuario

ingresa los datos mediante el

muestra

formulario de registro.

confirmación

 Gestionar

 Los credencial

de

usuario: El administrador de instituto gestiona las cuentas

187 de 243

mensaje

datos

de

de

Satisfactorio

la

credencial de usuario son modificados y se muestra

mensaje

de

Satisfactorio


existentes (editar, deshabilitar) ingresando

un

criterio

confirmación.

de

búsqueda. El administrador de  En caso de deshabilitar entidad financiera también la credencial de usuario, tiene acceso a esta función. ésta ya no tendrá

Satisfactorio

acceso al módulo de facturación  La

dosificación

es

registrada y se muestra mensaje

 Registrar

datos

de

de

confirmación.

dosificación: El Administrador

Además

solo una puede estar

de instituto registra los datos de dosificación mediante el formulario de registro.

vigente

y

si

existen

nuevas

dosificaciones

Satisfactorio

deben estar pendientes

Registrar

hasta

datos de

su

fecha

de

vigencia.

dosificación

 La

dosificación

es

de

editada correctamente y

dosificación: El administrador

se muestra mensaje de

de instituto ingresa un criterio

confirmación.

 Gestionar

datos

dosificación es de búsqueda el cuál le permite  La eliminada y se muestra editar y eliminar datos de mensaje

dosificación.

de

Satisfactorio

Satisfactorio

confirmación.  Registrar

pago:

El

 Se

una inscripción mediante un criterio pago

de

búsqueda.

la

inscripción y sus montos Satisfactorio pendientes (si existen).

funcionario de caja, consulta

Registrar

muestra

 El pago es registrado y

Selecciona la inscripción y los

se muestra mensaje de Satisfactorio confirmación.

pagos a registrar mediante la interfaz de pago.  Emitir factura: El funcionario de

caja

selecciona

 La Factura es emitida

esta

188 de 243

de manera impresa.

Satisfactorio


opción y envía la factura a la cola de impresión  De

acuerdo

selección

a

del

la

reporte

 Reportes de inscripción: El

específico, se visualizan

administrador de instituto o el

los reportes. Además se

administrador

puede

visualizar

pagos

realizados

financiera

de

entidad

selecciona

un

los Satisfactorio en

cada agencia de una

reporte.

entidad

financiera

determinada. Fuente: [Elaboración propia]

3.4.2 Diseño del enlace en línea El diseño de la conexión es basada en la arquitectura cliente/servidor la cual es un tipo de enlace en línea. Esta conexión es descrita a continuación por las partes que la conforman.

3.4.2.1 Cliente Es el módulo de facturación y está situado en las terminales (computadoras) de los funcionarios de caja en las diferentes agencias de la entidad financiera. El módulo se conecta a través de la red de comunicaciones de la entidad financiera hacia la base de datos replica gestionada por el servidor de Base de datos en el instituto.

3.4.2.2 Servidor El servidor que permite la administración de la base de datos principal está situado en el instituto. Este recibe las solicitudes enviadas por el modulo cliente y almacena las transacciones en la base de datos. Como medida de seguridad se cuenta con una base de datos réplica que resguarda los datos de la base de datos principal.

3.4.2.3 Canal de comunicación La conexión entre cliente y servidor es mediante un canal de datos dedicado. Es recomendable que el tipo de canal sea de fibra óptica para garantizar la rapidez de

189 de 243


las transacciones enviadas de la entidad financiera a la institución. El protocolo usado en el canal de datos es TCP/IP.

3.4.2.4 Diseño de arquitectura del enlace en línea Permite conocer la estructura de los elementos del enlace (módulo cliente, servidor y canal de comunicaciones), mediante la cual se va a construir el sistema. La arquitectura del módulo cliente (facturación) ha sido estructurada en tres capas: 

Capa de acceso a datos: Contiene las funciones de conexión hacia la base de datos réplica mediante consultas SQL.

Capa de lógica de negocio: La cual contiene el procesamiento del módulo (llamada a funciones de procesamiento, validaciones, mensajes de retorno) recibe las peticiones del usuario (funcionario de caja/Administradores) y envía las respuestas de estas solicitudes.

Capa de presentación: Esta capa permite utilizar las funciones del módulo por el funcionario de caja y administradores mediante una interfaz gráfica. De acuerdo al tipo de acceso que poseen.

La arquitectura es expresada mediante el diagrama de despliegue y se muestra a continuación:

190 de 243


Figura Nº 117: Diagrama de despliegue: Arquitectura del enlace en línea Cliente (Sistema de facturación)

Capa de presentación <<Interfaz>> Registro y reporte de pagos

<<Interfaz>> Gestor de usuario

Servidor

Gestor de base de datos

Capa de logica de negocio

<<Clase>> Pagos

Protocolo TCP/IP

Solicitud SQL (nivel de base de datos) <<Clase>> CredencialUsuario

Middleware de base de datos (SQL.Data.Client)

Base de datos replica

Capa de acceso a datos <<Clase>> Conexion SQL de CredencialUsuario <<Clase>> Conexion SQL de Pagos

Fuente: [Elaboración propia]

El servidor posee un middleware de base de datos (SQL.Data.Client), el cual permite traducir o comunicar las solicitudes recibidas por el modulo cliente hacia la base de datos replica. El canal de comunicación es de fibra óptica y es la vía mediante la cual las transacciones (solicitudes SQL) se envían del módulo cliente al servidor utilizando el protocolo TCP/IP.

3.4.2.5 Esquema conexión entre entidad financiera e instituto Para tener una idea más clara del enlace en línea que permite la intermediación financiera a un nivel técnico, a continuación se muestra un esquema que describe esta conexión y el envío de las transacciones de la entidad financiera hacia el instituto mediante el módulo de facturación.

191 de 243


Figura Nº 118:

Esquema de diseño de enlace en línea para la intermediación financiera

Fuente: [Elaboración propia]

192 de 243


3.5 PRUEBAS FINALES DEL SISTEMA DE INSCRIPCIÓN Y EL MÓDULO DE FACTURACIÓN. Una vez que se ha implementado el sistema y comprobado el correcto funcionamiento de cada módulo en todos incrementos, se ha verificado el rendimiento y concurrencia del sistema de inscripción y el módulo de facturación.

3.5.1 Pruebas de carga y concurrencia Estas pruebas permiten verificar que el sistema pueda procesar su carga esperada de acuerdo a una cantidad de usuarios que prueban el sistema simultáneamente.

3.5.1.1 Aplicación de pruebas de carga y concurrencia al sistema de inscripción Para efectuar estas pruebas se ha utilizado la herramienta de TestProyect de visual studio. Las pruebas de concurrencia se han realizado simultáneamente con las pruebas de carga (Ver Anexo K: Pruebas del sistema). El resultado de estas pruebas es el siguiente: Tabla Nº 19: Resultados de prueba de carga: Sistema de inscripción Prueba

Parámetros 

Concurrencia de usuarios: 100

Modelación

de

combinación

Resultado

de

prueba: A partir de usuarios virtuales. Carga

(Solicitudes enviadas al sistema) 

Internet Explorer Iteraciones de la prueba: 100

Concurrencia de usuarios: 1000

Modelación

de advertencia sobrepasando uso

recomendado

procesador.

Uso

de

de

este

combinación

Pruebas

efectuadas

sin

de errores.

Se

prueba: A partir de usuarios virtuales. infracciones 

sin

último 32.1 %

Carga

efectuadas

errores. Se obtuvo 1 infracción

el

Explorador: Google Chrome, Firefox,

de

Pruebas

de

obtuvo

4

advertencia

(Solicitudes enviadas al sistema)

sobrepasando

Explorador: Google Chrome, Firefox,

recomendado de procesador.

193 de 243

el

uso


Internet Explorer

Y

Iteraciones de la prueba: 100

procesador 46.1 %

Concurrencia de usuarios: 10000

Pruebas

Modelación

de

combinación

2

críticas.

efectuadas

de errores.

Se

prueba: A partir de usuarios virtuales. infracciones Carga  

Uso

sin

obtuvo

de

de

9

advertencia

(Solicitudes enviadas al sistema)

sobrepasando

Explorador: Google Chrome, Firefox,

recomendado de procesador.

Internet Explorer

Y

Iteraciones de la prueba: 100

procesador 53.4 %

5

el

críticas.

uso

Uso

de

Fuente: [Elaboración propia]

Se puede ver que el sistema tiene un alto soporte a la carga sometida, y una alta concurrencia de usuarios, dando lugar a una cantidad de errores aceptables.

3.5.1.2 Aplicación de pruebas de carga y concurrencia al módulo de facturación Estas pruebas han sido efectuadas mediante la herramienta ANTS Performance Profiler. (Ver Anexo K: Pruebas del sistema). El resultado de estas pruebas es el siguiente: Tabla Nº 20: Resultados de prueba de carga: Módulo de facturación Prueba

Carga

Carga

Parámetros

Resultado

Concurrencia de usuarios: 100

% de uso de procesador

Solicitudes a base de datos (SQL)

Contador de hilos de procesador

Entrada/Salida de operaciones

Entrada/Salida de bytes

Concurrencia de usuarios: 1000

Pruebas

% de uso de procesador

errores.

Solicitudes a base de datos (SQL)

infracciones

194 de 243

Pruebas

efectuadas

sin

errores. Se obtuvo 1 infracción crítica sobrepasando el uso recomendado de procesador (132.12%)

efectuadas Se

sin

obtuvo

3

críticas


Carga

Contador de hilos de procesador

sobrepasando

Entrada/Salida de operaciones

recomendado de procesador

Entrada/Salida de bytes

(132.75%, 117.38%, 111.71%)

Concurrencia de usuarios: 5000

% de uso de procesador

Solicitudes a base de datos (SQL)

Contador de hilos de procesador

Entrada/Salida de operaciones

Entrada/Salida de bytes

Pruebas errores.

el

uso

efectuadas Se

obtuvo

infracciones sobrepasando

sin 4

críticas el

uso

recomendado de procesador (124.85%, 135.7%, 110.69%, 124.47%)

Fuente: [Elaboración propia]

Se puede ver que el módulo de facturación tiene un alto soporte a la carga sometida, y una alta concurrencia de usuarios, dando lugar a una cantidad de errores aceptables.

3.6 DEMOSTRACIÓN DE LA HIPOTESIS La hipótesis planteada es: El sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea, permitirá reducir las filas de estudiantes incrementando puntos de cobro de matrículas y mensualidades, obtener información consistente respecto a la verificación del cobro de los mismos y disminuir el tiempo en el proceso inscripción y facturación en el instituto Ing Data Comp. Las variables que conforman la hipótesis son las siguientes: Variable independiente. 

El sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea. Descripción: El sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea, permitirá registrar alumnos a carreras y cursos de su interés, emitir facturas impresas directamente en la entidad financiera, descentraliza el cobro de mensualidades a varios puntos autorizados, disminuye el tiempo en el proceso de inscripción y facturación. Así 195 de 243


mismo proporciona información consistente respecto a la verificación del cobro de mensualidades. Variable dependiente. 

Filas de estudiantes incrementando puntos de cobro de matrículas y mensualidades. Descripción: Involucra extender la cantidad de puntos de cobro de mensualidades en la entidad financiera.

Información consistente respecto a la verificación del cobro de los mismos. Descripción: Involucra que la información está completa, es decir que es íntegra, donde los datos se mantengan idénticos durante cualquier operación, como transferencia (envío y recepción), almacenamiento y recuperación.

Tiempo en el proceso inscripción y facturación en el instituto Ing Data Comp. Descripción: Involucra el tiempo que se toma registrar los datos del estudiante e inscribirlo en el curso o carrera de su interés y cobrar la mensualidad y/o matricula registrando los datos del cobro para emitir la factura correspondiente.

La medición de las variables se ha efectuado mediante la siguiente tabla: Tabla Nº 21: Operativización de variables de la hipótesis Variable

Dimensión

Indicador

Variable independiente El sistema de inscripción con módulo de facturación mediante

intermediación

financiera aplicando enlace

Inscripción vía web y Facturación (en entidades financieras)

en línea.

196 de 243

Sistema implementado.


Variable dependiente Filas

de

incrementando cobro

de

Comparación

estudiantes puntos

matrículas

de y

Puntos de cobro (Cajeros)

cantidad de puntos de cobro

(cajeros)

del

instituto con cajeros de

mensualidades. Información

de

la entidad financiera consistente

respecto a la verificación de cobro de los mismos. Tiempo en el proceso de inscripción y facturación.

Integridad de

Pruebas de integridad

información

Tiempo

Horas

FUENTE: [Elaboración propia]

A continuación se realizara el análisis de las variables que conforman la hipótesis

3.6.1 Demostración de la primera variable dependiente: Filas de estudiantes incrementando puntos de cobro de matrículas y mensualidades Para la demostración de esta variable se ha considerado la cantidad de puntos existentes para el cobro de matrículas o mensualidades antes y después del uso del sistema mediante la intermediación financiera. Tabla Nº 22: Puntos de cobro de matrículas y mensualidades Actividad

Puntos de cobro de matrículas y mensualidades El cobro de matrículas o mensualidades es centralizado en el escritorio de la secretaria

Sin el sistema

del instituto, por lo que hay filas de estudiantes esperando ser atendidos. 1 punto de cobro

197 de 243


El cobro de matrículas o mensualidades puede ser efectuado en las distintas agencias de la entidad financiera con la que exista la intermediación financiera. En la sección 3.2.3 Con

el

sistema

mediante

intermediación financiera

se seleccionó a Fassil S.A. como entidad financiera con la cual el instituto realizara el acuerdo. 17 puntos de cobro en la ciudad y 9 en provincias cercanas (Fassil)

Fuente: [Elaboración propia]

La cantidad de puntos de cobro disponibles para implantar el sistema se obtuvo mediante una entrevista (Ver Anexo M: Pruebas del sistema). Mediante el análisis efectuado mediante la anterior tabla se concluye que las filas de estudiantes van a reducir debido al incremento de puntos de cobro de matrículas y mensualidades en las distintas agencias de la entidad financiera con la cual el instituto efectué la intermediación financiera.

3.6.2 Demostración de la segunda variable dependiente: Información consistente respecto a la verificación del cobro de los mismos Para la demostración de esta variable se ha considerado la integridad en la base de datos, algoritmos de encriptación asociados con funciones hash, certificados y la comparación de la información consistente de los cobros efectuados sin el sistema y con el sistema.

3.6.2.1 Integridad en la base de datos Para garantizar la integridad de los datos, en el diseño y estructuración de la base de datos se ha considerado las siguientes categorías de integridad: 

Integridad de entidad: Define una fila como entidad única para una tabla determinada, la cual exige el uso de claves principales en las tablas (Primary Key)

Integridad de dominio: Definida por la validez de las entradas para una columna determinada. Exige la restricción de tipos de datos, longitud o 198 de 243


intérvalo de valores, también se hace uso de claves foráneas (Foreign Key), valores por defecto (Default) y definiciones Not null. 

Integridad referencial: Protege las relaciones definidas entre las tablas cuando se crean o eliminan filas. Se hacen uso de las restricciones Foreign Key y esta integridad garantiza que los valores clave sean coherentes en las distintas tablas.

En la siguiente figura, se muestra el diagrama de base de datos del sistema de inscripción y módulo de facturación considerando las categorías de integridad mencionadas: Figura Nº 119: Integridad en la base de datos

Fuente: [Elaboración propia]

199 de 243


3.6.2.2 Funciones hash Son estructuras de datos que se encuentran relacionadas con algoritmos criptográficos y la integridad de datos en general. Estas funciones convierten un mensaje de cualquier tamaño en uno de longitud constante. Lo que resulta de aplicar una función hash a un mensaje (flujo de datos, archivo, solicitud) se llama resumen criptográfico dando resultado a un número constante que se usa para identificar de forma única el flujo de datos. Las funciones hash permiten comprobar la integridad de los datos. Si se calcula el hash de un flujo de datos antes de ser enviado como también después de ser enviado y dan el mismo resultado, se puede considerar que ha mantenido su integridad. Los algoritmos utilizados tanto en el sistema de inscripción como en el módulo de facturación para calcular el hash son los siguientes: 

Algoritmo MD5 en el cifrado de contraseñas e inicio de sesión (Ver Anexo L: Aplicación de medidas de seguridad)

3.6.2.3 Certificados Un certificado consiste en la asociación entre una entidad física y una firma realizada por una entidad confiable, de manera que permita saber que los datos no han cambiado y provienen de una firma concreta, garantizada su identidad por una tercera parte confiable (Autoridad certificadora). La entidad física es el Instituto Ing Data Comp y la firma es efectuada por esta misma institución. Al visualizar los detalles del certificado se indican la validez del certificado y si la ruta de firmas culmina en una entidad de confianza (Instituto Ing Data Comp) entonces se considera que se garantiza la integridad. Los certificados utilizados que se han utilizado son los siguientes: 

Certificado SSL para en la publicación del sistema de inscripción (Ver Anexo L: Aplicación de medidas de seguridad)

Certificado SSL en la conexión en línea entre el módulo de facturación y la base de datos (Ver anexo L: Aplicación de medidas de seguridad)

200 de 243


3.6.2.4 Comparación de la integridad de la información Mediante la siguiente tabla se ha realizado la comparación de la integridad de la información sin el sistema y con el sistema. Tabla Nº 23: Integridad de la información sin el sistema y con el sistema Integridad de Actividad

Integridad de información

información sin el

con el sistema

sistema Proceso de facturación

Secretaria

alguna

vez

olvida marcar la casilla de pago o marca la casilla equivocada.

Existen

casillas para cada pago correspondiente.

Funcionario de caja al registrar el pago mediante el módulo de facturación

automáticamente el detalle de tal transacción (Año, Semestre, Mes) que corresponde a la casilla que antes se utilizaba

El formulario de datos de Cuando Pago de matrícula o mensualidad y registro del pago efectuado

registra

el

estudiante

se

estudiantes (con el cuál se inscribe a alguna carrera o registran

los

datos

del curso mediante el sistema de

estudiante en la planilla: inscripción, registra sus datos Registro

de

pagos

Ing personales; de manera que al

Data Comp) puede ser registrar algún pago mediante extraviado

o

mezclado el módulo de facturación, se

entre otros papeles de la recuperan estos datos y no se secretaria.

pierden.

Para verificar los cobros El módulo de facturación posee realizados

la

secretaria reportes de pagos efectuados

revisa el libro de reporte los cuales se generan mediante diario de ingresos o la criterios de búsqueda y sirven planilla: Registro de pagos para

201 de 243

verificar

los

cobros


Ing Data Comp. Los cuales realizados. se pueden extraviar. Fuente: [Elaboración propia]

3.6.3 Demostración de la tercera variable dependiente: Tiempo en el proceso inscripción y facturación en el instituto Ing Data Comp Para la demostración de esta variable se ha considerado un tiempo determinado, calculado mediante el uso de un cronómetro como instrumento de medición, de manera que permita realizar un análisis del tiempo que implica el proceso de inscripción y facturación. Tabla Nº 24: Tiempos invertidos en el proceso de inscripción y facturación Actividad

Tiempo sin el sistema

Tiempo con el sistema

Proceso de inscripción El encargado explica a la La

persona

ingresa

al

mediante un sistema de inscripción y Solicitud de personas persona la información selecciona la carrera o respecto a la folleto, información sobre las referente al contenido, curso de su elección para carreras y cursos de su costo de las carreras y visualizar la información interés.

cursos de su interés

correspondiente

0.5 horas (30 min) La

persona

0.25 horas (15 min)

manuscribe La persona selecciona la

sus datos personales en carrera o curso e ingresa Llenado de datos de un formulario inscripción mediante un inscripción que formulario.

de sus datos en un formulario

secretaria le proporciona 0.1333 horas (8 min)

202 de 243

la web efectuando así su inscripción 0.0333 horas (2 min)


Secretaria manuscribe los

En la anterior actividad al del datos del formulario a la efectuarse la inscripción, Registro de formulario de planilla: se almacenan esos datos alumnos inscritos Ing Data inscripción hacia una en la base de datos. Comp planilla Paso

de

datos

0.1667 horas (10 min)

0 horas

Proceso de facturación El estudiante cancela la El estudiante cancela en matricula o mensualidad efectivo

la

matricula

o en efectivo en la agencia

a

la de la entidad financiera,

mensualidad Pago de matrícula o mensualidad y registro del pago efectuado.

secretaria, la cual registra donde el funcionario de el detalle de la transacción caja registra la transacción en un libro denominado: mediante el módulo de Reporte diario de ingresos.

facturación en la base de datos del instituto.

0.1667 horas (10 min)

0,0833 horas (5 min) Los datos del estudiante

Secretaria

manuscribe

datos del estudiante a la Registro de datos del estudiante que efectuó el correspondiente.

pago

planilla: Registro de pagos Ing Data Comp y marca la casilla correspondiente al pago efectuado.

ya

están

cuando

se

registrados realiza

la

inscripción y cuando se registra el pago mediante el módulo de facturación se

registra

también

el

detalle de tal transacción (Año, Semestre, Mes)

0.1333 horas (8 min) Emisión de factura

Una

vez

efectuado

0 horas el Una vez que el funcionario

pago, la secretaria emite de

203 de 243

caja

registra

la


de forma manual la factura transacción mediante el correspondiente

y

le módulo

entrega al estudiante

de

facturación

emite la factura de forma impresa

con

los

correspondientes

datos y

le

entrega al estudiante.

Tiempos

total

proceso

Tiempo total (Estimado)

0.0833 horas (5 min)

0.01667 horas (1 min)

Proceso de inscripción:

Proceso de inscripción:

0.8 horas (48 min)

0.2833 horas (17 min)

Proceso de facturación:

Proceso de facturación:

0.3833 horas (23 min)

0.09997 horas (6 min)

1,1833 horas (71 min)

0.38327 horas (23 min

por

Fuente: [Elaboración propia]

Después de haber realizado el análisis del tiempo invertido en el proceso de inscripción y facturación mediante la anterior tabla se puede concluir que el tiempo es menor en ambos procesos con el uso del sistema a comparación de los proceso sin el sistema.

3.6.4 Demostración de la variable independiente: El sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea Para la demostración de esta variable, se realiza el análisis a través de una muestra de todos los beneficios que posee el sistema propuesto en el proceso de inscripción y facturación en relación a la forma actual de efectuar los procesos mencionados, calificando como beneficio con la palabra “Si” y rechazando el beneficio con la palabra “No” en la siguiente tabla:

204 de 243


Tabla Nº 25: Beneficios del sistema de propuesto Nro

Factores tomados en cuenta como

Factor

beneficio

Proceso

Proceso con

manual

el sistema

(Antes)

(Ahora)

No

Si

Si

Si

No

Si

No

Si

No

Si

No

Si

Sistema de inscripción La información respecto a las carreras y 1

cursos del instituto se encuentra siempre disponible.

2

Permite que las personas puedan inscribirse a la carrera o curso de su interés. Permite que los estudiantes inscritos puedan

3

consultar su estado de cuentas (pago de matrículas y mensualidades, efectuados o pendientes).en cualquier momento. Permite el ahorro de tiempo (Antes 48 min – Ahora 17 min, aprox)

y aumenta la

disponibilidad en la inscripción ya que puede 4

realizar

este

proceso

desde

cualquier

computadora que tenga acceso a internet en cualquier momento, mediante el formulario de inscripción que le proporciona el sistema. Módulo de facturación Permite efectuar el pago de matrículas o mensualidades en las distintas agencias de 5

la entidad financiera con la cual el instituto tiene

el

acuerdo

de

la

intermediación

financiera. De esta manera se aumentan los puntos de cobro (Antes 1 – Ahora 17) 6

Permite el ahorro de tiempo en el proceso de

205 de 243


facturación (Antes 23 min – Ahora 6 min, aprox) Permite la emisión de la factura que acredita

7

y respalda el pago efectuado. Permite respecto

8

obtener a

la

información

consistente

verificación

de

pagos

efectuados por los estudiantes, mediante

Si

Si

No

Si

2 (Sí)

8 (Sí)

reportes específicos. TOTAL BENEFICIOS Fuente: [Elaboración propia]

De acuerdo al análisis realizado en la anterior tabla, se concluye que los beneficios sin el sistema son 2 y con el sistema 8. Estos resultados se tomarán en cuenta en el cálculo del estadístico T para verificar la aceptación o rechazo de la hipótesis planteada.

3.6.5 Definición de la hipótesis Para definir la hipótesis se considera el análisis de aceptación y rechazo de la misma, haciendo referencia a un P que representa una probabilidad, en este caso se tiene que: 

P1 = El proceso que sigue actualmente el instituto Ing Data Comp para la inscripción y facturación.

P2 = El sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea.

Donde los factores que influyen en la operativización son: 

Hipótesis nula: Los factores de éxito de ambas muestras son iguales: H0: P1 = P2

Hipótesis alternativa: Los factores de éxito de ambas muestras son distintas: H1: P1 <> P2

206 de 243


Para el cuál se presentan dos casos: 

Los factores de éxito de la muestra anterior es mayor a la posterior: P1 > P2

Los factores de éxito de la muestra anterior es menor a la posterior: P1 < P2

Entonces se tiene que: 

H0: P1 = P2: (El proceso que sigue actualmente el instituto Ing Data Comp para la inscripción y facturación es igual al sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea).

H1: P1 <> P2: (El proceso que sigue actualmente el instituto Ing Data Comp para la inscripción y facturación es diferente al sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea). Esta hipótesis tiene dos implicaciones mutuamente excluyentes: -

P1 > P2: (El proceso que sigue actualmente el instituto Ing Data Comp para la inscripción y facturación tiene mayores beneficios que el sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea).

-

P1 < P2: (El proceso que sigue actualmente el instituto Ing Data Comp para la inscripción y facturación tiene menores beneficios que el sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea).

Dadas ambas hipótesis en la siguiente sección se realiza el cálculo del estadístico T para la demostración de la hipótesis planteada.

3.6.6 Cálculo del estadístico T El estadístico T permite verificar la aceptación o rechazo de la hipótesis, para posteriormente contrastar que el dato calculado se encuentra en un rango de aceptación o rechazo. Las fórmulas utilizadas en la demostración de la hipótesis son las siguientes:   207 de 243


 √

Dónde: 

Pn = Probabilidad de ocurrencia de P1 o P2 (explicado anteriormente)

X = Número de aciertos en la muestra de la probabilidad: Pn (X1=2 y X2=8)

n = Número de muestras ( 8 beneficios analizados en la sección 3.6.4)

t = Valor estadístico para la aceptación o rechazo de la hipótesis.

Qn = Probabilidad de concurrencia (%) de P1 o P2 (explicado anteriormente)

Q/2 = Grado de error del cálculo del estadístico T (25%)

gl = grado de libertad del estadístico T

Realizando los cálculos necesarios para: n = 8   

; Entonces P1 alcanzo un 25% de los beneficios de la muestra. ; Entonces P2 alcanzo un 100% de los beneficios de la muestra. ; Por lo tanto P2 es mejor que P1

Pata el cálculo T-Student se toma en cuenta el valor de

, de acuerdo al número de

muestras que se tiene. En este caso considerando que la muestra es menor a 100, para el cálculo del grado de error el valor es de 0.05.

⁄ Los grados de libertad se calculan a continuación:

Para la obtención de los rangos de rechazo de la hipótesis, se busca en la tabla de T-Student la intersección del valor que corresponda al grado de error (columna) y el valor del grado de libertad (fila) (Ver Anexo N: Valores críticos de la distribución T-Student)

208 de 243


Los rangos obtenidos son: -2.365 y 2.365. Es importante mencionar que cualquier valor dentro de este rango demostrará que la hipótesis es nula (H0) por lo que la hipótesis alternativa (H1) se encuentra fuera de los rangos obtenidos. Por lo tanto Por lo tanto Dónde: = Porcentaje de beneficios no alcanzados con el proceso que sigue actualmente el instituto Ing Data Comp para la inscripción y facturación. = Porcentaje de beneficios no alcanzados con el sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea. Sustituyendo los datos obtenidos: √

A continuación se grafican los resultados de los cálculos realizados: Figura Nº 120: Campana de Gauss para la demostración de la Hipótesis

Fuente: [Elaboración propia]

209 de 243


Una vez realizado el análisis de las muestras, el cálculo de T-Student y la gráfica de la campana de gauss, se demuestra que la hipótesis nula es rechazada y se acepta la alternativa (P1 < P2) concluyendo que “El proceso que sigue actualmente el instituto Ing Data Comp para la inscripción y facturación tiene menores beneficios que el sistema de inscripción con módulo de facturación mediante intermediación financiera aplicando enlace en línea”.

210 de 243


4 ANÁLISIS DE VIABILIDAD 4.1 Viabilidad técnica La viabilidad técnica es un aspecto importante debido a que en este punto se contemplan todos los requerimientos funcionales y no funcionales necesarios para la aplicación correcta del sistema propuesto, por este motivo se ha realizado el estudio acerca de la disponibilidad tecnológica, recursos materiales y requerimientos necesarios tanto para el cliente como el servidor.

4.1.1 Requerimientos del sistema Equipo servidor para el sistema de inscripción y módulo de facturación: Situado en instalaciones del instituto Ing Data Comp. Se han identificado los siguientes requerimientos en base a la consulta previa al sitio de Microsoft: “Requisitos del sistema Windows Server 2008 y SQL Server” Tabla Nº 26: Requerimientos funcionales: Equipo servidor Componente

Características

Disponibilidad

Requerimientos de hardware Mínimo: Procesador de

doble

núcleo de 1.5 Ghz Procesador Recomendado:

Procesador

de

doble núcleo de 3 Ghz o superior Mínimo: 2 GB de RAM Memoria RAM Recomendado: 4 GB o superior Espacio en

Mínimo: 8 GB

disco duro

Recomendado: 40 GB

Pantalla

Monitor con resolución 800x600 o superior

211 de 243

El instituto cuenta con el hardware requerido


Requerimientos de software Sistema operativo

El instituto no cuenta con el

Windows server 2008 o superior

software requerido pero es posible adquirirlo v铆a web en

Gestor de base de datos

las direcci贸nes: Sql server 2008 Standard

-

www.microsoft.com

-

www.amazon.com

El instituto no cuenta con este requerimiento pero se puede

-

Navegador

windows.microsoft.com/es

download-ie -

www.google.com/intl/es419/chrome/

-

www.mozilla.org/esES/firefox/new/

Software adicional

Microsoft Framework 4.5 Fuente: [Elaboraci贸n propia]

212 de 243

las

-es/internet-explorer/

Recomendado:Chrome ver. 29, Firefox ver.23

en

direcciones:

M铆nimo: Internet explorer 8, Chrome ver. 23, Firefox ver.17

adquirir

Disponible en www.microsoft.com


Equipo cliente del sistema de inscripción: Es una computadora que tenga acceso a internet mediante la cuál el estudiante pueda acceder al sistema de inscripción. Se han identificado los siguientes requerimientos: Tabla Nº 27: Requerimientos funcionales: Equipo cliente del sistema de inscripción Componente

Características

Disponibilidad

Requerimientos de hardware Mínimo: Procesador de 500 Mhz Procesador

Recomendado: Procesador de 1 Ghz o superior

Se

Mínimo: 512 MB de RAM Memoria RAM

disponible

en

la mayoría de Recomendado: 1 GB o superior

Tarjeta de red o adaptador de

encuentra

los

café

internet Soporte de 100Mbps o superior

públicos

red inalámbrico. Pantalla

Monitor con resolución 800x600 o superior

Requerimientos de software Sistema operativo

Windows XP SP3 o superior Se Mínimo: Internet explorer 8, Chrome ver.

disponible

23, Firefox ver.17

la mayoría de

Recomendado: Chrome ver. 29, Firefox

los

ver.23

internet

Navegador

Conexión a internet

encuentra

públicos Conectividad superior a 56 Kbps Fuente: [Elaboración propia]

213 de 243

en

café


Equipo cliente del módulo de facturación: Son las computadoras mediante las cuales los funcionarios de caja en las distintas agencias de la entidad financiera, puedan utilizar el módulo de facturación. Se han identificado los siguientes requerimientos: Tabla Nº 28: Requerimientos funcionales: Equipo cliente del módulo de facturación Componente

Características

Disponibilidad

Requerimientos de hardware Mínimo: Procesador de 800 Mhz Procesador

Recomendado: Procesador de 1 Ghz o superior Las computadoras

Mínimo: 512 MB de RAM Memoria RAM

de los funcionarios

Recomendado: 1 GB o superior

de Espacio en

Mínimo: 30 MB

disco duro

Recomendado: 100 MB

entidad cuentan

de

la

financiera con

el

Computadoras

de

funcionarios

de

hardware

Tarjeta de red o adaptador de

caja

requerido

Soporte de 100Mbps o superior

red inalámbrico. Pantalla

Monitor

con

resolución

800x600

o

superior

Requerimientos de software

Sistema operativo

Windows Vista - SP2·o superior

caja cuentan con el software requerido

Software adicional

Microsoft Framework 4.5 Fuente: [Elaboración propia]

214 de 243

Disponible en www.microsoft.com


4.1.1.1 Licencias de software El sistema propuesta ha sido desarrollado mediante un software privativo, por lo que es necesario la adquisición de las respectivas licencias para el uso del sistema. El detalle de las licencias se muestra a continuación. Equipo servidor para el sistema de inscripción y módulo de facturación: Se han identificado los siguientes requerimientos en base a la consulta previa al sitio de Microsoft: “Requisitos del sistema Windows Server 2008 y Sql server 2008” Tabla Nº 29: Requerimientos no funcionales: Equipo servidor Componente

Licencia

de

Windows server 2008

Características

Disponibilidad El

instituto

no

Incluyen derechos ilimitados para la cuenta con las ejecución de entornos virtuales licencias pero es posible adquirirlas vía

Licencia SQL

de Licencia única por cada CPU que server ejecuta el cliente e incluye acceso

2008 Standard

web

en

la

dirección: www.microsoft.com

ilimitado de dispositivos cliente. www.amazon.com Fuente: [Elaboración propia]

4.1.2 Requerimientos del enlace en línea Para conectar el módulo de facturación situado en la entidad financiera con la base de datos del instituto es requerido el enlace en línea. A continuación se muestran los requerimientos de este enlace.

215 de 243


Tabla Nº 30: Requerimientos funcionales: Enlace en línea Componente

Características

Disponibilidad

Enlace que conecte el módulo Se Enlace dedicado

puede

adquirir

un

de facturación de las agencias enlace de transmisión de de la entidad financiera hacia datos a la base de datos del instituto.

proveedores ISP

(Comteco, Entel, Axs) El instituto no cuenta con

Permite

interconectar

el este equipo pero se puede

segmento del instituto hacia la adquirir en el mercado local Switch

entidad financiera para que en

las

tiendas

pueda ser distribuido a sus componentes diferentes agencias

de

electrónicos

de la calle Esteban Arce (Cochabamba).

Fuente: [Elaboración propia]

4.1.3 Requerimientos de personal Para utilizar el sistema de inscripción y el módulo de facturación se requiere de personal específico, el cual se puede ver en la siguiente tabla. Tabla Nº 31: Requerimientos de personal Sistema

Personal requerido

Sistema de

Administrador de sistemas en el instituto

inscripción

Usuario Final (Estudiante o postulante)

Administrador de sistemas en el instituto

Administrador de sistemas en la entidad financiera

Funcionario de caja de entidad financiera

Módulo de facturación

Fuente: [Elaboración propia]

216 de 243


Actualmente el instituto no cuenta con el equipo necesario para cumplir con el requerimiento mínimo para el servidor del sistema de inscripción y el módulo de facturación, pero está dispuesto a adquirir los mismos. La entidad financiera Fassil S.A. con la que el instituto va a realizar el acuerdo de intermediación financiera, está conforme y cumple con los requerimientos del módulo de facturación. Todos componentes mencionados, tanto para hardware como para software son de fácil adquisición y no requieren de gran inversión de tiempo para su capacitación por lo que se considera al trabajo de grado viable técnicamente

4.2 Viabilidad económica Para identificar los costos de los componentes hardware y software se ha tomado en cuenta los costos por componente tecnológico y costos por mano de obra.

4.2.1 Costos por componente tecnológico Se ha consultado a los sitios web oficiales de cada proveedor para identificar los costos de cada uno de los componentes tecnológicos. Los resultados se muestran a continuación. Equipo servidor para el sistema de inscripción y módulo de facturación: Los precios de los componentes son los siguientes: Tabla Nº 32: Precio de componentes: Equipo servidor Componente

Precio (Aprox)

Procesador: 3Ghz Memoria: 4 GB Disco duro 80 GB 7200 rpm Equipo servidor

dedicado

para

el

734$ Case Combo: Monitor resolución 1024x768, teclado, mouse y tarjeta de red. Sistema operativo: 217 de 243

1029$


Windows Server 2008 Standard Navegador: Internet explorer (Incluido con el

0.00$

sistema operativo) Sql server 2008 Standard Microsoft

Framework

(Gratuito:

se

700$

4.5

puede

descargar

en

0.00$

www.microsoft.com) Windows Server 2008 SP1 (incluida con el software) Licencias

0.00$

Sql server 2008 Standard (El

software

incluye

25

licencias de clientes y 1

0.00$

servidor) TOTAL

2463$

FUENTE: [Elaboraciรณn propia]

Equipo cliente del sistema de inscripciรณn: Los precios de los componentes son los siguientes: Tabla Nยบ 33: Precio de componentes: Equipo cliente del sistema de inscripciรณn Componente

Precio (Aprox)

Windows 7 (No se considera el precio Sistema operativo

debido

encuentra computadoras

a

que

en mediante

se las las

cuales los estudiantes acceden al sistema de inscripciรณn)

218 de 243

0.00$


Incluido como componente del

Navegador

sistema operativo TOTAL

0.00$ 0.00$

Fuente: [Elaboración propia]

Equipo cliente del módulo de facturación: Los precios de los componentes son los siguientes: Tabla Nº 34: Precio de componentes: Equipo cliente del módulo de facturación Precio

Componente

(Aprox)

Procesador: 800Mhz Memoria: 1 GB Disco duro 80 GB 7200 rpm Equipo

para

el

módulo

facturación

de

300$

Case Combo: Monitor resolución 1024x768, teclado, mouse y tarjeta de red. Sistema operativo: Windows 7 Home Basic TOTAL

60$ 360$

Fuente: [Elaboración propia]

Enlace en línea: El precio para el enlace de transmisión de datos se muestra a continuación: Tabla Nº 35: Precio de enlace en línea Componente Enlace

en

línea

para

la Instalación (Solo se paga una

transmisión de datos del módulo vez)

219 de 243

Precio (Aprox) 99$


de facturación hacia la base de Velocidad de transferencia: datos del instituto 64kbps (Precio anual) Switch

para

instituto

interconectar

hacia

la

el

entidad

financiera

1128$

Switch hp v1410-24 (24

160$

puertos, con soporte 100Mbps) TOTAL

1387$

Fuente: [Elaboración propia]

Una vez identificados los costos de cada componente correspondiente, se muestra a continuación el costo total de los componentes tecnológicos: Tabla Nº 36: Lista de costos por componente tecnológico Componente Equipo servidor del sistema de inscripción y el módulo de facturación

Monto (Aprox)

2463$

Equipo cliente del sistema de inscripción

0.00$

Equipo cliente del módulo de facturación

360$

Enlace en línea

1387$ TOTAL

4210$

Fuente: [Elaboración propia]

4.2.2 Costos por mano de obra Para la identificación de los costos del desarrollo del sistema de inscripción y el módulo de facturación se procederá a la elaboración del modelo COCOMO II, el cuál toma en cuenta tres modelos denominados: Composición de aplicación, diseño temprano y post-arquitectura. 

Composición de aplicación: Empleado en software construido a partir de componentes pre-empaquetados. En este caso se emplean Puntos Objeto para estimar el tamaño del software acorde al nivel de información de la

220 de 243


planificación y nivel de precisión requerido en la estimación de este tipo de proyectos. 

DiseĂąo preliminar: Usado en las etapas iniciales del proyecto por lo que se usan Puntos FunciĂłn no ajustados para la estimaciĂłn del tamaĂąo del proyecto. Utiliza 7 conductores de coste que afectan al coste del proyecto.



Post-Arquitectura: Aplicado en la etapa de desarrollo una vez definida la arquitectura del sistema y en la etapa del mantenimiento.

El modo post-arquitectura, serå utilizado en el presente proyecto, porque es el modelo de estimación mås detallado y se aplica cuando la arquitectura del proyecto estå completamente definido. Para ese modo post-arquitectónico se utilizaran las siguientes formulas: 

đ??¸đ??´đ??šđ?‘€

0 MultiplicaciĂłn de valores evaluados en los 17 diferentes conductores de coste



[

∑

]

 

∑

    

∑

  :( 

∑



221 de 243

Conductores de costos de desarrollo


  Inicialmente para poder estimar el costo del proyecto de acuerdo al modelo especificado se debe obtener la estimación del tamaño de software utilizando algunas métricas de software. Se hace uso de las siguientes técnicas: 

Puntos objeto19

Puntos Función no ajustados

Líneas de código Fuente20

Para esto a continuación se realizan los cálculos correspondientes dividiendo el sistema general en módulos: Tabla Nº 37: Módulos del sistema propuesto Número de módulo

Nombre del módulo

Abreviatura del módulo

1

Módulo de inscripción

MI

2

Módulo de facturación

MF

Fuente: [Elaboración propia]

Métricas orientadas a la función Módulo 1: Módulo de inscripción Se va a obtener los Puntos Función (FP) de este módulo, para más adelante obtener la cantidad de líneas de código. Primeramente se ha ponderado los Puntos Función no Ajustados mediante la siguiente tabla:

19

Punto objeto: Medida indirecta de software que se calcula teniendo en cuenta la cantidad de interfaces de usuario, informes y componentes necesarios construir para un sistema. 20

Líneas de código fuente: Es cada una de las líneas de un archivo de código fuente de un programa de software.

222 de 243


Tabla Nº 38: Puntos Función no Ajustados: Módulo de inscripción Factor de ponderación Parámetros de medición

Cuenta

Total Simple Medio Complejo

Número

de

entradas

de

usuario Número de salidas de usuario Número

de

peticiones

de

usuario Número de archivos Número

de

interfaces

externas

125

3

4

6

375

45

4

5

7

180

40

3

4

6

120

20

7

10

15

140

15

5

7

10

105

Total cuenta (UFP: Puntos función no ajustados)

920

Fuente: [Elaboración propia]

En la siguiente tabla se ha calculado el valor de ajuste asignando 1 a 5 a cada uno de los factores, dónde: 0 = No presente o no influencia.

1 = Influencia insignificante o incidental

2 = Influencia moderada.

3 = Influencia promedio o medio.

4 = Influencia significante.

5 = Influencia esencial o fuerte.

Tabla Nº 39: Valores de factores de ajuste - LDC Factor de ajuste

Valor

Factor de ajuste

(1-5)

Comunicación de datos

5

Proceso distribuido

0

Objetivos de rendimiento

4

Actualizaciones en línea Liga de proceso interno compleja Reusabilidad de código

223 de 243

Valor (1-5) 4 4 4


Configuración de explotación

4

compartida

Conversión de instalación contemplada

3

Tareas de transacciones

4

Facilidad de operación

4

Entrada de datos en línea

4

Instalaciones múltiples

3

Eficiencia con el usuario final

4

Facilidad de cambios

4 ∑

51

Fuente: [Elaboración propia]

Para calcular los Puntos Función (FP) se requiere el valor del Factor de complejidad técnica (TFC). Este utiliza la tabla de valores de ajuste (Tabla Nº 39). El cálculo de TFC es el siguiente: [

[

]

]

La sumatoria de la tabla Nº 38 muestra los Puntos Función no Ajustados (UFP):

Ahora se obtiene los Puntos Función de este módulo, los cuales equivales a las líneas de código del módulo:

Factores de costo: Se ha obtenido el valor del conductor de costo de desarrollo (EAF) para el módulo mediante la tabla de factores de costo:

224 de 243


Tabla Nº 40: Factores de costo en COCOMO II: Módulo de inscripción FACTORES DE

MUY

COSTO

BAJO

Fiabilidad

requerida

ATRIBUTOS DEL PRODUCTO

del software Tamaño de la base de datos

acorde a las diferentes etapas del ciclo de

Complejidad

del

producto

Restricciones

de

del

tiempo de ejecución COMPUTADOR

ALTO

MUY

EXTRA

ALTO

ALTO

RELY

0.82

0.92

1

1.10

1.26

-

DATA

-

0.90

1

1.14

1.28

-

DOCU

0.81

0.91

1

1.11

1.23

-

CPLX

0.73

0.87

1

1.17

1.34

1.74

RUSE

-

0.95

1

1.07

1.15

1.24

TIME

-

-

1

1.11

1.29

1.63

STOR

-

-

1

1.05

1.17

1.46

PVOL

-

0.87

1

1.15

1.3

-

ACAP

1.42

1.19

1

0.85

0.71

-

AEXP

1.22

1.10

1

0.88

0.81

-

PCAP

1.34

1.15

1

0.88

0.76

-

PEXP

1.19

1.09

1

0.91

0.85

-

vida

reusabilidad

ATRIBUTOS DEL

MEDIO

Documentación

Requerimientos

Restricciones

del

almacenamiento principal Volatilidad

de

la

máquina Virtual ATRIBUTOS DEL PERSONAL

BAJO

Capacidad del analista Experiencia

en

aplicaciones Capacidad

de

los

programadores Experiencia sistema operativo

en

225 de 243


Experiencia

con

lenguaje

el de

LTEX

1.20

1.09

1

0.91

0.84

-

PCON

1.29

1.12

1

0.90

0.81

-

TOOL

1.17

1.09

1

0.90

0.78

-

SCED

1.43

1.14

1

1

1

-

SITE

1.22

1.09

1

0.93

0.86

0.80

programación Continuidad

del

ATRIBUTOS DEL PROYECTO

personal Utilización

de

herramientas

de

software Limitaciones

de

planificación

del

desarrollo del proyecto Desarrollo multisitio

Fuente: [Elaboración propia]

Módulo 2: Módulo de facturación Se va a obtener los Puntos Función (FP) de este módulo, para más adelante obtener la cantidad de líneas de código. Primeramente se ha ponderado los Puntos Función no Ajustados mediante la siguiente tabla: Tabla Nº 41: Puntos Función no Ajustados: Módulo de facturación Factor de ponderación Parámetros de medición

Cuenta

Total Simple Medio Complejo

Número

de

entradas

de

105

3

4

6

420

Número de salidas de usuario

35

4

5

7

140

Número

30

3

4

6

90

usuario

de

peticiones

de

226 de 243


usuario Número de archivos Número

de

interfaces

externas

19

7

10

15

133

25

5

7

10

125

Total cuenta (UFP: Puntos función no ajustados)

908

Fuente: [Elaboración propia]

En la siguiente tabla se ha calculado el valor de ajuste asignando 1 a 5 a cada uno de los factores, dónde: 0 = No presente o no influencia.

1 = Influencia insignificante o incidental

2 = Influencia moderada.

3 = Influencia promedio o medio.

4 = Influencia significante.

5 = Influencia esencial o fuerte.

Tabla Nº 42: Valores de factores de ajuste - LDC Valor

Factor de ajuste

Factor de ajuste

(1-5)

Comunicación de datos

5

Proceso distribuido

4

Objetivos de rendimiento

4

Configuración de explotación compartida

4

Actualizaciones en línea Liga de proceso interno compleja Reusabilidad de código Conversión de instalación contemplada

Valor (1-5) 5 4 4 3

Tareas de transacciones

4

Facilidad de operación

4

Entrada de datos en línea

4

Instalaciones múltiples

3

Eficiencia con el usuario final

4

Facilidad de cambios

4 ∑

Fuente: [Elaboración propia]

227 de 243

56


Para calcular los Puntos Función (FP) se requiere el valor del Factor de complejidad técnica (TFC). Este utiliza la tabla de valores de ajuste (Tabla Nº 42). El cálculo de TFC es el siguiente: [

[

]

]

Así mismo la sumatoria de la tabla Nº 41 muestra los Puntos Función no Ajustados (UFP):

Ahora se obtiene los Puntos Función de este módulo, los cuales equivales a las líneas de código del módulo:

Factores de costo: Se ha obtenido el valor del conductor de costo de desarrollo (EAF) para el módulo mediante la tabla de factores de costo: Tabla Nº 43: Factores de costo en COCOMO II: Módulo de facturación FACTORES DE

MUY

COSTO

BAJO

Fiabilidad

requerida

ATRIBUTOS DEL PRODUCTO

del software Tamaño de la base de datos

BAJO

MEDIO

ALTO

MUY

EXTRA

ALTO

ALTO

RELY

0.82

0.92

1

1.10

1.26

-

DATA

-

0.90

1

1.14

1.28

-

DOCU

0.81

0.91

1

1.11

1.23

-

CPLX

0.73

0.87

1

1.17

1.34

1.74

Documentación acorde a las diferentes etapas del ciclo de vida Complejidad producto

del

228 de 243


Requerimientos

de

reusabilidad del

tiempo de ejecución COMPUTADOR

ATRIBUTOS DEL

Restricciones

Restricciones

-

0.95

1

1.07

1.15

1.24

TIME

-

-

1

1.11

1.29

1.63

STOR

-

-

1

1.05

1.17

1.46

PVOL

-

0.87

1

1.15

1.3

-

ACAP

1.42

1.19

1

0.85

0.71

-

AEXP

1.22

1.10

1

0.88

0.81

-

PCAP

1.34

1.15

1

0.88

0.76

-

PEXP

1.19

1.09

1

0.91

0.85

-

LTEX

1.20

1.09

1

0.91

0.84

-

PCON

1.29

1.12

1

0.90

0.81

-

TOOL

1.17

1.09

1

0.90

0.78

-

SCED

1.43

1.14

1

1

1

-

SITE

1.22

1.09

1

0.93

0.86

0.80

del

almacenamiento principal Volatilidad

de

la

máquina Virtual Capacidad del analista Experiencia ATRIBUTOS DEL PERSONAL

RUSE

en

aplicaciones Capacidad

de

los

programadores Experiencia

en

sistema operativo Experiencia

con

lenguaje

el de

programación Continuidad

del

ATRIBUTOS DEL PROYECTO

personal Utilización

de

herramientas

de

software Limitaciones

de

planificación

del

desarrollo del proyecto Desarrollo multisitio

Fuente: [Elaboración propia]

229 de 243


[

]

Una vez obtenida las líneas de código de ambos módulos y los factores de costo lo siguiente es obtener el valor exponencial de escala “B” con la siguiente tabla: Tabla Nº 44: Factores de escala MUY

FACTORES DE ESCALA WJ

Precedencia

BAJO

BAJO

MEDIO

ALTO

MUY ALTO

EXTRA

PREC

6.20

4.96

3.72

2.48

1.24

0.00

FLEX

5.07

4.05

3.04

2.03

1.01

0.00

RESL

7.07

5.56

4.24

2.83

1.04

0.00

Cohesión de equipo

TEAM

5.48

4.38

3.29

2.19

1.10

0.00

Madurez del proceso

PMAT

7.80

6.24

4.68

3.12

1.56

0.00

Flexibilidad

en

el

desarrollo Arquitectura/Resolución de riesgo

Fuente: [Bohem, 2000]

Con los valores seleccionados y calculados anteriormente se procede a calcular el costo del proyecto, aplicando las formulas enunciadas al principio de esta sección. El primer cálculo es el esfuerzo nominal requerido para desarrollar el sistema y se calcula de la siguiente forma:

Dónde:

230 de 243


Entonces: [

]

El cálculo de la productividad se muestra a continuación:

[

]

Lo siguiente es calcular el esfuerzo nominal por módulos, según la siguiente fórmula:

Módulo 1: Módulo de inscripción [

]

[

]

Módulo 2: Módulo de facturación

Después se ha calculado el esfuerzo estimado por cada módulo, mediante la siguiente fórmula:

Módulo 1: Módulo de inscripción [

]

[

]

Módulo 2: Módulo de facturación

231 de 243


El siguiente cálculo es para hallar el esfuerzo estimado del proyecto: ∑

[

]

Así mismo es necesario calcular el tiempo de desarrollo del proyecto:

[

]

A continuación se va a determinar el costo mes - persona, considerando que el salario mínimo en Bolivia es de 1200 Bs = 173,6616 $us. El cálculo se muestra a continuación:

( Módulo 1: Módulo de inscripción [

]

[

]

Módulo 2: Módulo de facturación

Ahora se obtiene el costo estimado del proyecto, mediante la siguiente formula: ∑ [

]

Lo siguiente es obtener el costo estimado por módulo considerando las líneas de código que se obtuvieron anteriormente:

232 de 243


Módulo 1: Módulo de inscripción [

]

[

]

Módulo 2: Módulo de facturación

Se debe obtener la productividad de cada módulo:

Módulo 1: Módulo de inscripción [

]

[

]

Módulo 1: Módulo de facturación

Así mismo se obtiene la productividad del proyecto:

[

]

Una vez que se ha realizado todos los cálculos de COCOMO II, se obtiene una tabla final donde se muestran los resultados obtenidos para cada módulo como también para el proyecto en su totalidad:

233 de 243


Tabla Nº 45: Tabla Final de COCOMO II Costo

Costo

Produc-

estim.

Instruc.

tividad

[

[

Costo

Nombre

Líneas

del

de

módulo

código

1

2

3

21

22

23

24

25

26

27

1

MI

1067.2

1.387

3.617

5.016

173.662

871.088

0.816

212.758

2

MF

1098.68

1.387

3.723

5.164

173.662

896.783

0.816

212.758

32

1767.871

Nro. de mod.

EAF [

]

[

[

]

[

]

]

]

]

[

]

Costo

28

31

2165.88 [

10.179

]

estim. [

33

212.758

] Product.

29 [

7.341

]

[

]

34

estim.

6.995 [

30 [

295.027

]

Fuente: [Elaboración propia]

Otro cálculo importante es la cantidad de personal promedio para el desarrollo del presente proyecto, el cual se obtiene mediante la siguiente formula:

[

]

Interpretando los valores obtenidos en la tabla se concluye que: 

En el proyecto existen: 2166 líneas de código funcionales.

Existe un esfuerzo estimado de 10 personas por mes

El tiempo de desarrollo del es de 7 meses.

Se requiere de 1 programador para el desarrollo del proyecto.

El costo total del proyecto es: 1768 $us.

234 de 243

]


Finalmente en la siguiente tabla se muestra el costo de los equipos y el enlace en línea necesarios para el funcionamiento del sistema. Así mismo el costo del desarrollo del mismo. Tabla Nº 46: Tabla final de viabilidad económica Componente Equipo servidor del sistema de inscripción y el módulo de facturación

Monto (Aprox)

2463$

Equipo cliente del sistema de inscripción

0.00$

Equipo cliente del módulo de facturación

360$

Enlace en línea

1387$

Costo total del sistema

1768$

TOTAL

5978$

Fuente: [Elaboración propia]

Tomando en cuenta los costos obtenidos de los equipos y en enlace en línea necesarios para el funcionamiento del sistema, como también la disponibilidad de adquisición de los mismos y el costo del desarrollo del sistema, se considera que el trabajo de grado es viable económicamente.

4.3 Viabilidad operativa El análisis de viabilidad operativa permite saber si el sistema propuesto funcionará y será utilizado una vez que se implante de una manera eficiente y accesible, los beneficios que ofrecen el sistema de inscripción y el módulo de facturación y la conformidad del personal administrativo del instituto respecto a la propuesta. La problemática existente en el instituto está el proceso de inscripción (debido a que toma demasiado tiempo que el estudiante llene el formulario de datos manualmente y la secretaria transcriba estos datos en la planilla correspondiente) como también en el proceso de facturación (debido a que el pago de matrículas y mensualidades es manual y centralizado por lo que existen largas fila de estudiantes que desean ser atendidos lo cuál también aumenta el tiempo invertido en este proceso) por este 235 de 243


motivo se ha desarrollado el sistema propuesto el cuál pretende solucionar los problemas en ambos procesos. Mediante una entrevista realizada al director del instituto Ing Data Comp se obtuvo la opinión acerca de los beneficios y la aceptación del sistema propuesto (Ver Anexo O: Cuestionarios para viabilidad operativa). Los resultados se muestran a continuación: 

El director del instituto Ing Data Comp está conforme con la solución que otorga el sistema de inscripción y el módulo de facturación.

Los beneficios que el sistema de inscripción brindan son: Ahorro de tiempo en la inscripción de estudiantes ya que es sencilla y rápida, administración de carreras, cursos, cuentas de usuario y estado de pagos de estudiantes de fácil de manejar.

Los beneficios que el módulo de facturación brindan son: Administración sencilla de entidades financieras, agencias, datos de dosificación y credenciales de usuario. Ahorro de tiempo en el registro de pagos y emisión de factura ya que es sencillo e intuitivo. Así mismo gestor de reportes con diferentes opciones y fácil de usar.

La implantación de la propuesta requiere del siguiente personal: 

Administración de sistemas: Para la entidad financiera un Ingeniero de sistemas, licenciado informático o profesional del área relacionada, con conocimientos de redes, seguridad y capacitación para el uso del módulo de facturación. Para el instituto un Ingeniero de sistemas, licenciado informático o profesional del área relacionada, con conocimientos sobre Sql server, servidores IIS, redes, seguridad y capacitación para el uso del sistema de inscripción y el módulo de facturación.

Usuario final de módulo de facturación: Funcionario seleccionado y capacitado en procesamiento de transacciones mediante sistemas informáticos, sistemas de facturación y perteneciente a la entidad financiera.

Usuario final del sistema de inscripción: Persona que tenga experiencia en el manejo básico de navegación por internet.

236 de 243


Basรกndose en los resultados obtenidos en la entrevista y en la tabla Nยบ 25 de beneficios de la secciรณn 3.6.4, tomando en cuenta el ahorro de tiempo, disponibilidad, aumento de puntos de cobro, etc. Se puede evidenciar que el instituto Ing Data Comp sale beneficiado, por lo que se concluye que el trabajo de grado es viable operativamente.

237 de 243


5 CONCLUSIONES Y RECOMENDACIONES Una vez alcanzados el objetivo general y los objetivos específicos se tienen las siguientes conclusiones y recomendaciones.

5.1 Conclusiones 

La información respecto al proceso actual de inscripción de estudiantes a carreras o cursos y facturación de pagos de matrículas y mensualidades del instituto Ing Data Comp fue obtenida a través de entrevistas efectuadas al personal administrativo del instituto utilizando cuestionarios y aplicando observación estructurada acerca de los procesos mencionados. De esta manera se realizó el modelo de negocio actual según las especificaciones de UML y así mismo se realizó el modelo de negocio alternativo el cual fue modificado en dos ocasiones durante el desarrollo del proyecto.

Mediante la revisión de la circular SB/433/2003 y SB/466/2004 otorgadas por la ASFI (Autoridad de Supervisión del Sistema Financiero) se pudo obtener los requerimientos técnicos y de seguridad respecto a la intermediación financiera. Adicionalmente a los circulares mencionados se pudo obtener otros aspectos de seguridad respecto a transacciones en línea en la sección 10.9.2 del estándar NB-ISO/IEC 17799 considerando que el módulo de facturación será utilizado para el registro de transacciones monetarias. También fue necesario la revisión de la resolución normativa de directorio Nº 100016-07 otorgada por el SIN (Servicio de Impuestos Nacionales) mediante la cual se obtuvo los requerimientos para la emisión de facturas mediante sistemas informáticos la cual fue aplicada en el desarrollo del módulo de facturación.

Mediante un análisis de comparación y valoración se seleccionó a UP (Proceso unificado) como metodología de desarrollo, C# como lenguaje de programación y SQL Server como gestor de base de datos. Así mismo se inició desarrollo del sistema de inscripción mediante el modelo de negocio alternativo realizado, la utilización de UML en el diseño del sistema y la aplicación de la metodología seleccionada considerando sus fases correspondientes.

238 de 243


De la misma manera que en el sistema de inscripción se desarrolló el módulo de facturación en base al modelado de negocio actual y la aplicación de las fases que indica la metodología UP. Adicionalmente se aplicó las consideraciones de técnicas y de seguridad indicadas en los circulares (mencionadas previamente) y la resolución normativa para los sistemas de facturación. Un aspecto importante dentro de las medidas de seguridad fue la creación de una réplica de base de datos que permita tener un respaldo de las transacciones efectuadas (pagos realizados) y aumentar la disponibilidad de acceso a estos datos. La implementación del enlace en línea (que permitirá la intermediación financiera) entre el módulo de facturación y la base de datos del instituto requirió tomar en cuenta configuraciones de red y firewall ya que en primera instancia se tuvieron problemas de conexión impidiendo el correcto funcionamiento. Estas configuraciones se especifican en el manual del sistema. El uso de la arquitectura cliente servidor de 3 capas (Capa de presentación, lógica de negocio y acceso a datos) permitió añadir nuevas funcionalidades de manera ordenada. Así mismo la herramienta Visual Studio 2012 permitió la codificación y realización de pruebas de ambos sistemas de forma estructurada. De esta manera se concluyó el desarrollo ambos sistemas en ocho iteraciones (cuatro para cada sistema respectivamente), dando resultado a un sistema de inscripción que permite el registro de estudiantes a las diferentes carreras y cursos que cuenta el instituto Ing Data Comp y un módulo de facturación que permite registrar el pago de mensualidades y matriculas de estudiantes inscritos en las diferentes agencias de la entidad financiera. Durante el desarrollo de ambos sistemas se pudo observar que UP es muy extensa a comparación de otras metodologías como XP o Scrum debido a que en cada fase del desarrollo (Inicio, Elaboración, Construcción y Transición) se debe efectuar un flujo de trabajo (análisis, diseño, implementación, pruebas) el cual es realizado en una o más iteraciones por este motivo es generada mucha documentación

239 de 243


Para la verificación del correcto funcionamiento del sistema de inscripción y el módulo de facturación se efectuaron las primeras pruebas (unitarias y funcionales) las cuales permitieron saber si lo indicado en el diseño se contrastaba con lo codificado, de esta manera se probaron las funciones principales de cada sistema. El uso de Visual Studio 2012 como herramienta de testeo facilitó de manera ágil y sencilla la realización de las pruebas de ambos sistemas. Con esta misma herramienta se realizaron también las pruebas finales (carga y concurrencia) las cuales probaron que el sistema de inscripción y el módulo de facturación (como prioridad principal) tienen un soporte de concurrencia de 5000 usuarios con solo 4 errores. De esta manera se realizaron las pruebas correspondientes dando resultado a un sistema que cumple estos criterios de calidad.

Finalmente se concluye que se lograron alcanzar los objetivos establecidos con el desarrollo del sistema propuesto, logrando reducir filas de estudiantes incrementando puntos de cobro de matrículas y mensualidades (mediante la aplicación de la intermediación financiera con la implantación del módulo de facturación), obtener información consistente respecto a la verificación del cobro de los mismos y disminuir el tiempo en el proceso de inscripción y facturación, con lo cual se da solución al problema identificado en el instituto Ing Data Comp.

5.2 Recomendaciones 5.2.1 Recomendaciones para el sistema de inscripción: Una vez que el sistema de inscripción sea implantado, se tienen las siguientes recomendaciones de uso: 

Utilizar de preferencia el navegador Google chrome o Firefox.

En la parte del servidor, verificar que ningún programa utilice el puerto 443 el cual es de gran importancia para el correcto funcionamiento del sistema de inscripción.

240 de 243


Las posibles mejoras se describen en las siguientes recomendaciones: 

Agregar un módulo que permita gestionar descuentos para los cursos ya que actualmente solo es posible para las carreras (según información proporcionada por el instituto).

Añadir un módulo que permita a los usuarios estudiantes recuperar sus contraseñas (en caso de que se olviden) mediante el correo electrónico asociado a su cuenta de usuario.

En la creación de cuentas de usuario, añadir la posibilidad de que el estudiante pueda subir su foto al sistema de manera que permita una mejor identificación más del mismo.

Añadir el código necesario para que sistema de inscripción no presente problemas de diseño en las interfaces, en las últimas versiones de los navegadores (Ej. Internet Explorer 10).

Añadir el código necesario en el sistema para que pueda ser utilizado en Smartphones y tablets de manera que los estudiantes puedan inscribirse a las carreras o cursos del instituto Ing Data Comp a través de estos dispositivos.

Añadir el código necesario para que el sistema de inscripción cumpla los principios de usabilidad web, de manera que incremente la facilidad de uso a los usuarios.

5.2.2 Recomendación para el módulo de facturación Una vez que el módulo de facturación sea implantado, se tienen las siguientes recomendaciones de uso: 

Verificar si el Framework .NET 4.5 está instalado en las computadoras de los funcionarios de caja ya que es fundamental para que el módulo de facturación funcione correctamente.

Realizar las configuraciones de red (descritas en el manual de instalación) necesarias para que el módulo pueda enviar las transacciones (pagos realizados) hacia la base de datos del instituto.

Registrar cada 6 meses (según indica el SIN) una nueva dosificación en el módulo para que la facturación pueda efectuarse.

241 de 243


Cambiar

las

Administradores

contraseñas de

de

Entidad

las

credenciales

Financiera

y

Funcionarios

Administrador

de

de

caja,

instituto

periódicamente de manera que incrementen la seguridad de acceso al módulo de facturación. Actualmente las contraseñas no tienen periodo de caducidad. Las posibles mejoras se describen en las siguientes recomendaciones: 

Añadir reportes de según las nuevas necesidades que aparezcan, de manera que permitan obtener la información requerida respecto a los pagos efectuados

Añadir un módulo el cuál permita bloquear los intentos fallidos de acceso al módulo de facturación mejorando la seguridad del mismo. Actualmente el módulo no cuenta con esta restricción.

Añadir criterios de búsquedas de logs más específicos de manera que permita obtener la información requerida según las necesidades existentes.

Aplicar más secciones del estándar NB-ISO/IEC 17799 de modo que permitan incrementar la seguridad en el módulo de facturación.

242 de 243


BIBLIOGRAFÍA 

Benet, C. (2003). Ingeniería de software. Barcelona: UOC.

Blake, R. (2005). Sistemas electrónicos de comunicaciones. España: Paraninfo.

Casillas, L. (2005). Software libre: BASE DE DATOS. México: Software libre.

Circular ASFI 150/2012. (2012). Reglamento para la constitución, adecuación, funcionamiento, disolución y clausura de las empresas remesadoras. Bolivia

Jacobson, I., Booch, G., y Rumbaugh, J. (2000). El lenguaje unificado de modelado. Madrid, Pearson Education.

Landeau, R. (2007). Elaboración de trabajos de investigación. Venezuela: Alfa.

Ley Nº 1488 (1993). Ley de bancos y entidades financieras. Bolivia

Ley Nº 843. (2004). Ley de reforma tributaria. Bolivia

Orfali, R. (2002) Cliente/Servidor y Objetos. Inglaterra: Oxford University Press

Pita, J. (2011). Productos y servicios en Banca. España: Lulu

Pressman, R. (2004). Ingeniería del software. México: McGraw-Hill Science.

Resolución normativa de directorio Nº 10-0016-07. (2007), Nuevo sistema de facturación (NSF-07). Bolivia.

Rob, P. (2004). Sistemas de bases de datos, Diseño implementación y administración. México: Thomson.

Rodríguez, R. (2006). Manual de java. España: Rodríguez.

Rumbaugh, J., Jacobson, I., y Booch, G. (2000). El proceso unificado de desarrollo de software. Madrid: Addison Wesley.

Sharp, J. (2009). Microsoft; Visual C# Paso a paso. España: Anaya Multimedia.

Sommerville, I. (2005). Ingeniería de software. Madrid: Pearson.

Tentor, J. (2008). Software y aplicaciones Web. Argentina: Tentor.

Yuni, J. (2006). Recursos metodológicos para la preparación de proyectos de investigación. Argentina: Brujas 243 de 243


ANEXOS ANEXO A: Circular SB/466/2004: Requisitos mínimos de seguridad informática ANEXO B: Sección 10.9.2 del estándar NB-ISO/IEC 17799: Gestión de seguridad de la información ANEXO C: Carreras y cursos disponibles Ing. Data Comp ANEXO D: Formulario de datos del estudiante ANEXO E: Registro de alumnos inscritos Ing Data Comp ANEXO F: Registro de pagos Ing Data Comp. ANEXO G: Factura de talonario del instituto Ing Data Comp ANEXO H: Tarjeta de pago de mensualidades ANEXO I: Generación del código de control ANEXO J: Cuestionarios de recolección de datos ANEXO K: Pruebas del sistema ANEXO L: Aplicación de medidas de seguridad ANEXO M: Cuestionarios para la demostración de las variables de la hipótesis ANEXO N: Valores críticos de la distribución T-Student ANEXO O: Cuestionarios de viabilidad operativa

244 de 243


ANEXO “A”: Circular SB/466/2004: Requisitos mínimos de seguridad informática








ANEXO “B”: Sección 10.9.2 del estándar NBISO/IEC 17799: Gestión de seguridad de la información


10.9.2 Transacciones en línea Control La Información involucrada en transacciones en línea debe ser protegidos para prevenir la transmisión incompleta, el error de encaminamiento, la alteración de mensajes no autorizada, el descubrimiento no autorizado, la duplicación de mensaje no autorizado o la repetición. Guía de implementación Las consideraciones de seguridad para transacciones en línea deben incluir lo siguiente: a) el empleo de firmas electrónicas por cada una de las partes involucradas en la transacción; b) todos los aspectos de la transacción, p. ej. asegurar que: 1) las credenciales de usuario de todas las partes son válidas y verificadas; 2) la transacción permanece confidencial; y 3) la privacidad asociada con todas las partes involucradas es conservada; c) el camino de comunicaciones entre las partes involucradas es encriptado; d) los protocolos que solían comunicarse entre todas las partes involucradas es seguro; e) asegurando que el almacenaje de los detalles de transacción son localizados fuera de cualquier ambiente público accesible, p.ej. sobre una plataforma de almacenaje que existe en la organización de Intranet, no conservada y expuesta en un medio de almacenaje directamente accesible desde Internet; f) donde la confianza en una autoridad es usada

(p.ej. para los propósitos de

emisión y mantenimiento de firmas digitales y/o certificados digitales) la seguridad es integrada e incluida a lo largo de todo el proceso de gestión de certificados/firmas de principio a fin.


Información adicional La magnitud de los controles adoptados necesitará ser correspondiente con el nivel de riesgo asociado con cada forma de transacción en línea. Las transacciones pueden necesitar cumplir con leyes, reglas y regulaciones en la jurisdicción en la cual la transacción es generada, vía de procesamiento, completada en y/o almacenada. Existen muchos formularios de transacciones que pueden ser realizados en línea p.ej. contractuales, financieras etc.


ANEXO “C” Carreras y cursos disponibles Ing. Data Comp


Carreras a nivel técnico superior: 

Analista de sistemas.

Administración de empresas.

Contador general.

Diseño gráfico.

Electrónica digital y computación.

Construcciones civiles.

Instalaciones eléctricas.

Secretariado ejecutivo.

Telecomunicaciones y redes.

Marketing y publicidad.

Topografía y geodesia.

Carreras a nivel técnico medio: 

Mantenimiento y reparación de computadoras, monitores e impresoras.

Auxiliar contable.

Cursos de capacitación: 

Operador profesional de computadoras.

Operador en diseño de páginas web.

Operador profesional avanzado de computadoras

Operador en arquitectura digital.

Operador en diseño grafico publicitario.



ANEXO “D” Formulario de datos del estudiante



ANEXO “E”: Registro de alumnos inscritos Ing Data Comp



ANEXO “F”: Registro de pagos Ing Data Comp.



ANEXO “G”: Factura de talonario del instituto Ing Data Comp



ANEXO “H”: Tarjeta de pago de mensualidades


.


ANEXO “I”: Generación del código de control


Los algoritmos que se utilizan para la implementación del código de control son los siguientes:

ALGORITMO ALLEGED RC4: Algoritmo de criptografía simétrica, basado en cifrado de flujo (stream cipher), muy utilizado por su rendimiento y simplicidad. Para efectos de la implementación del código de control, la llave se conformará a partir de caracteres del siguiente diccionario:


ALGORITMO VERHOEFF: Algoritmo de digito verificador que trabajo con cadenas de dígitos decimales de cualquier tamaño. Además de detectar una amplia gama de errores de datos numéricos, este algoritmo también detecta casos de transposición de dígitos adyacentes.


ALGORITMO DE BASE 64: El algoritmo de Base 64, se trata sencillamente de pasar un número en base 10 a base 64, manteniendo una relación de equivalencia entre número y carácter por ejemplo A=10, B=11,…./=63 Base 64 equivale a hacer la conversión de números a palabras. Para lograrlo se basa en el método de visiones sucesivas hasta llegar a un cociente 0, los restos en orden inverso, expresados como caracteres, dan la palabra resultante.


Implementación del código de control: La generación del código de control se describe a continuación mediante un ejemplo: 

Se requieren de datos iniciales que se muestran en la siguiente figura.

Se obtienen 2 dígitos Verhoeff mediante concatenación al final de los datos: Número Factura, NIT / CI del Cliente, Fecha de la Transacción y Monto de la Transacción. Luego se halla la sumatoria de los datos obtenidos y sobre este resultado se ha generado consecutivamente 5 dígitos Verhoeff. Los resultados hallados son:

Tomando cada uno de los 5 dígitos Verhoeff obtenidos, se ingresa la llave de dosificación de dosificación (solo 5 cadenas adyacentes), cada una con un largo definido por el dígito Verhoeff correspondiente más 1. A continuación se concatena la primera cadena obtenida al final del dato relacionado al Número de Autorización; la segunda al Número de factura; la tercera al NIT / CI del Cliente; la cuarta a la Fecha de la Transacción y la quinta al Monto de la Transacción. Los resultados hallados son los siguientes:


A continuación se aplica el algoritmo AllegedRC4 a la cadena conformada por la concatenación de todos los datos anteriores, utilizando como llave la concatenación de la Llave de Dosificación y los 5 dígitos Verhoeff generados previamente, los resultados son:

A continuación se obtiene la sumatoria total de los valores ASCII de todos los caracteres de la cadena resultante del paso anterior, además, se calcula 5 sumatorias parciales de los ASCII de ciertos caracteres de la misma cadena, de acuerdo al siguiente criterio: La primera sumatoria parcial toma las posiciones 1, 6, 11, 16, 21, etc.; la segunda 2, 7, 12, 17, 22, etc.; la tercera 3, 8, 13, 18, 23, etc.; la cuarta 4, 9, 14, 19, 24,etc. y la quinta 5, 10, 15, 20, 25, etc. El resultado de la operación es el siguiente:


Se obtienen las multiplicaciones entre la sumatoria total y cada una de las sumatorias parciales. Luego se dividen cada uno de los resultados obtenidos entre el dígito Verhoeff correspondiente más 1, el resultado deberá ser truncado. Finalmente se obtiene la sumatoria de todos los resultados y se aplica el algoritmo Base64, dando resultado a:

Se aplica AllegedRC4 a la anterior expresión obtenida, utilizando como llave la concatenación de la Llave de Dosificación y los 5 dígitos Verhoeff generados anteriormente.

La información resultante del proceso de cifrado, expresada en formato hexadecimal separada en pares por guiones (-), da resultado al código de control, el resultado se muestra a continuación:

La información resultante del proceso de cifrado, expresada en formato hexadecimal separada en pares por guiones (-), dando resultado al código de control: 6A-DC-53-05-14.


ANEXO “J”: Cuestionarios de recolección de datos





ANEXO “K”: Pruebas del sistema


Pruebas unitarias: Sistema de inscripci贸n Casos de prueba: Haciendo el uso del framework NUnit se han creado los casos de prueba en Visual Studio para realizar las pruebas, como se muestra a continuaci贸n. Casos de prueba del sistema de inscripci贸n


La descripción de cada caso de prueba se muestra en la siguiente tabla: Caso de prueba

PruebaUnitariaRegistrar Carrera

PruebaUnitariaRegistrar Curso

PruebaUnitariaRegistrar Usuario

PruebaUnitariaRegistrar Inscripcion

Descripción Permite realizar la prueba unitaria referente a todos los elementos en la creación de carreras y sus relaciones existentes Permite realizar la prueba unitaria referente a todos los elementos en la creación de cursos y sus relaciones existentes Permite realizar la prueba unitaria referente a todos los elementos en la creación de cuentas de usuario y sus relaciones existentes Permite realizar la prueba unitaria referente a todos los elementos en el registro de una inscripción y sus relaciones existentes


Pruebas unitarias: Mรณdulo de facturaciรณn Casos de prueba: Haciendo el uso del framework NUnit se han creado los casos de prueba en Visual Studio para realizar las pruebas, como se muestra a continuaciรณn. Casos de prueba del mรณdulo de facturaciรณn


La descripciรณn de cada caso de prueba se muestra en la siguiente tabla: Caso de prueba

Descripciรณn

PruebaUnitariaRegistrar

Permite realizar la prueba unitaria referente a todos los

EntidadFinanciera

elementos en entidades financieras Permite realizar la prueba unitaria referente a todos los

PruebaUnitariaRegistrar Agencia

elementos en la creaciรณn de agencias de entidades financieras Permite realizar la prueba unitaria referente a todos los

PruebaUnitariaRegistrar CredencialUsuario

elementos en la creaciรณn de credenciales de usuario y sus relaciones existentes

PruebaUnitariaObtener

Permite realizar la prueba unitaria referente a la

PagoPendiente

obtenciรณn de pagos pendientes de estudiantes Permite realizar la prueba unitaria referente a todos los

PruebaUnitariaRegistrar Transaccion

elementos en el registro de un pago y sus relaciones existentes


Pruebas de carga: Sistema de inscripción Se añadió una prueba de rendimiento en el proyecto de prueba de visual studio, mediante el cuál se prueba las funcionalidades del sistema de manera que se cree una secuencia de uso habitual del sistema. Esta secuencia posee parámetros dinámicos (solicitudes realizadas al sistema) mediante los cuales se realiza la prueba. El detalle se muestra a continuación Prueba de rendimiento: Sistema de inscripción

En la anterior figura se puede observar el rendimiento de cada solicitud enviada hacia el sistema, mediante parámetros como el estado, tiempo total de envío de solicitud y bytes enviados. Primera prueba Utilizando la secuencia anterior de solicitudes se ha creado una primera prueba de carga con los siguientes parámetros: 

Cantidad de usuarios: 100

Modelación de combinación de prueba: A partir de usuarios virtuales. (Solicitudes enviadas al sistema a partir de los parámetros dinámicos de la prueba de rendimiento)


Explorador: Google Chrome, Firefox, Internet Explorer

Iteraciones de la prueba: 50

Los resultados de esta prueba se pueden visualizar en la siguiente figura.

Con 100 usuarios, las pruebas se han efectuado sin errores. Se utilizó 32,1 % de uso de procesador y hubo 1 infracción. La cual se puede ver en la siguiente figura:

De 100 usuarios que utilizan el sistema de manera concurrente, se puede ver que se da una advertencia de que 1 excede el uso recomendado de procesador (transacciones muy lentas) Segunda prueba: Se aumentó la cantidad de usuarios que pueda soportar el sistema, como se muestra a continuación: 

Cantidad de usuarios: 1000

Modelación de combinación de prueba: A partir de usuarios virtuales. (Solicitudes enviadas al sistema a partir de los parámetros dinámicos de la prueba de rendimiento)

Explorador: Google Chrome, Firefox, Internet Explorer

Iteraciones de la prueba: 100


Esta prueba ha dado los siguientes resultados:

Las prueban se han ejecutado sin errores. Se utilizĂł un 46.1 % de tiempo de procesador y se obtuvo 6 infracciones, como se puede ver en la siguiente imagen

La prueba dio resultado a 4 infracciones de advertencias y 2 crĂ­ticas. Es decir que de los mil usuarios que usan el sistema de manera simultĂĄnea, 2 se cuelgan o no funcionan de manera correcta y 4 exceden el uso recomendado de procesador, es decir que las transacciones pueden ser muy lentas.


Tercera prueba: Se aumentó la cantidad de usuarios que pueda soportar el sistema, como se muestra a continuación: 

Cantidad de usuarios: 10000

Modelación de combinación de prueba: A partir de usuarios virtuales. (Solicitudes enviadas al sistema a partir de los parámetros dinámicos de la prueba de rendimiento)

Explorador: Google Chrome, Firefox, Internet Explorer

Iteraciones de la prueba: 100

Esta prueba ha dado los siguientes resultados:

Las prueban se han ejecutado sin errores. Se utilizó un 56.4 % de tiempo de procesador y se obtuvo 14 infracciones, como se puede ver en la siguiente imagen


La prueba dio resultado a 9 infracciones de advertencias y 5 crĂ­ticas. Es decir que de los 10 mil usuarios que usan el sistema de manera simultĂĄnea, 5 se cuelgan o no funcionan de manera correcta y 9 exceden el uso recomendado de procesador, es decir que las transacciones pueden ser muy lentas.


Pruebas de carga: Módulo de facturación ANTS Performance profiler, permite configurar parámetros para la ejecución de pruebas de carga.

Como el módulo de facturación es una aplicación cliente de

escritorio, se han enfocado las pruebas a solicitudes sql, ya que carece de solicitudes http (como el sistema de inscripción). Primera prueba Los parámetros tomados en cuenta son los siguientes: 

Cantidad de usuarios: 100

% de uso de procesador

Solicitudes a base de datos (SQL)

Contador de hilos de procesador

Entrada/Salida de operaciones

Entrada/Salida de bytes

Los resultados de la prueba realizada se muestran a continuación:

En esta figura se puede observar las solicitudes SQL realizadas por el módulo de facturación, donde el tiempo más largo es de 24 segundos. En la siguiente figura se puede también observar el uso de procesador.

En la anterior figura se puede observar que solo en una ocasión el porcentaje de uso de procesador excede el límite recomendado (132.12%) lo cual puede dar lugar a


mal funcionamiento o lentitud en el sistema. Estas pruebas han sido efectuadas sin errores. Segunda prueba Los parámetros tomados en cuenta son los siguientes: 

Cantidad de usuarios: 1000

% de uso de procesador

Solicitudes a base de datos (SQL)

Contador de hilos de procesador

Entrada/Salida de operaciones

Entrada/Salida de bytes

Los resultados de la prueba realizada se muestran a continuación:

En esta figura se puede observar las solicitudes SQL realizadas por el módulo de facturación, donde el tiempo más largo es de 92,57 segundos. En la siguiente figura se puede también observar el uso de procesador.

Se puede observar que de 1000 usuarios solo en tres ocasiones el porcentaje de uso de procesador excede el límite recomendado (132.75%, 117.38%, 111.71%) lo cual puede dar lugar a mal funcionamiento o lentitud en el sistema. Estas pruebas han sido efectuadas sin errores.


Tercera prueba Los parámetros tomados en cuenta son los siguientes: 

Cantidad de usuarios: 5000

% de uso de procesador

Solicitudes a base de datos (SQL)

Contador de hilos de procesador

Entrada/Salida de operaciones

Entrada/Salida de bytes

Los resultados de la prueba realizada se muestran a continuación:

En esta figura se puede observar las solicitudes SQL realizadas por el módulo de facturación, donde el tiempo más largo es de 145 segundos. En la siguiente figura se puede también observar el uso de procesador.

Se puede observar que de 5000 usuarios solo en cuatro ocasiones el porcentaje de uso de procesador excede el límite recomendado (124.85%, 135.7%, 110.69%, 124.47%) lo cual puede dar lugar a mal funcionamiento o lentitud en el sistema. Estas pruebas han sido efectuadas sin errores.


ANEXO “L”: Aplicación de medidas de seguridad


Aplicación de medidas de seguridad al sistema de inscripción: El servidor IIS se ha configurado con los siguientes pasos: 

En el panel de control de Windows, se selecciona la opción que muestra la ilustración:

Se tickea la opción de Internet Información Services y click en Aceptar, como se puede ver en la siguiente figura:

El servidor se activa. Para acceder a la interfaz de administración del mismo se presiona el botón Inicio de Windows, en la casilla de búsqueda se ingresa “IIS” y se selecciona: “Administrador de Internet Información Services (IIS)”.

Con esto el servidor de aplicaciones está activado y configurado para la publicación del sistema de inscripción una vez que este implementado.


Configuración de seguridad en el servidor de aplicaciones: Se ha activado la capa de conexiones seguras (SSL) que permite intercambios encriptados entre cliente y servidor mediante un certificado firmado por una entidad certificadora (Ing Data Comp). Para la creación de entidad certificadora y el certificado firmado por la entidad se ha utilizado la herramienta makecert en la consola de Windows (CMD) que viene instalado en el SDK de este sistema operativo. En la siguiente figura se puede observar la creación de ambos certificados.

La especificación de los parámetros usados para la creación de ambos certificados se muestra a continuación: 

-pe: Clave privada de certificado exportable

-sr: Ubicación del almacén de certificados del sujeto (localmachine)

-ss: Nombre del almacén de certificados que almacena el certificado de salida

-n “CN=nombre”: Nombre de certificado

-cy: Especifica el tipo de certificado, donde Authority es para el tipo de entidad emisora de certificados.

-a: Especifica el algoritmo de la firma (md5 o sha1)

-sky: Especifica el tipo de clave, donde Exchange indica que la clave se usa para el cifrado e intercambio de claves.

-b: Especifica el principio del periodo de validez del certificado

-e: Especifica el final del periodo de validez del certificado.

-sv: Especifica el archivo de la clave privada .pvk del sujeto.

-r: Crea el certificado con firma automática

-eku: Inserta en el certificado identificadores de objetos (OID), donde el oid: 1.3.6.1.5.5.7.3.1 permite la autenticación del servidor


-sp: Especifica el proveedor CryptoAPI del sujeto

-sy: Especifica el tipo de proveedor CryptoAPU del sujeto

-ic: Especifica el archivo de certificado del emisor

-iv: Especifica el archivo de clave privada .pvk del emisor

Una vez creados los certificados correspondientes se instaló el certificado Raiz (Ing Data Comp) en la ruta de Entidades de certificación intermedias y se utilizó la herramienta pvk2pfx mediante la consola de Windows para la exportación del certificado creado para el sistema de inscripción, esta exportación se puede ver en la siguiente imagen.

Es importante mencionar que se debe aumentar las siguientes líneas en el archivo host de Windows: 

127.0.0.1

127.0.0.1

www.ingdatacomp.com 443

www.ingdatacomp.com

Estas líneas permiten que se cree un host virtual con la previa configuración del sistema de inscripción en el servidor IIS, también se debe agregar al navegador el certificado raíz creado para que este reconocido como entidad certificadora de confianza. En el administrador de IIS, en la opción de Certificados de servidor se importó el certificado buscando el archivo .pfx creado previamente. Luego se procedió a la publicación del sistema mediante el mismo administrador, añadiendo el certificado importado y activando al mismo tiempo https (http seguro) con el puerto 443. Esta configuración se puede visualizar a continuación:


Si se observa en la anterior figura se puede ver que se activ贸 https (http seguro) al sistema de inscripci贸n mediante un certificado SSL. Los detalles de este certificado se pueden visualizar en la siguiente figura.


De esta manera el sistema de inscripci贸n queda publicado y configurado correctamente.


Creación de cuentas de usuario y contraseñas 

Las políticas, normas y procedimientos de seguridad informática: Se ha considerado lo siguiente: -

Se utilizará la siguiente política en la creación de usuarios y contraseñas para el acceso al módulo de facturación: 

Tamaño mínimo: 8 caracteres

Uso de al menos 1 carácter especial y 1 número en el usuario y contraseña

El nombre de usuario debe empezar con una letra ya sea mayúscula o minúscula.

Uso de al menos una letra en mayúscula.

No debe existir espacios en el nombre de usuario o contraseña

La contraseña no debe ser igual al nombre de usuario y se debe evitar secuencias básicas de teclado (Ej: qwerty, 123, asd, etc)

La contraseña está encriptada en la base de datos. Su implementación se encuentra en el siguiente punto.


Cifrado en creación de contraseñas e inicio de sesión: Se aplicó el algoritmo de encriptación MD5, para el cifrado de la contraseña en la base de datos y para el inicio de sesión al módulo de facturación. A continuación se muestra la implementación del algoritmo.

Cifrado en la conexión en línea entre cliente (módulo de facturación) y servidor (base de datos): Se configuró y activó las conexiones entrantes al servidor mediante un certificado SSL de SQL server mediante la herramienta de Windows makecert de la misma manera en la que se creó el certificado el sistema de inscripción. El detalle del certificado creado para SQL server se muestra en la siguiente figura:


El certificado que se muestra en la anterior figura permite que las conexiones del mรณdulo de facturaciรณn hacia la base de datos del instituto estรฉn cifradas. Se procediรณ la instalaciรณn del certificado (previa exportaciรณn) en el servidor, mediante el asistente de importaciรณn de certificados (en los certificados de confianza) de la consola Raiz de Windows.

Finalmente se exportรณ el certificado instalado en la herramienta de administraciรณn de configuraciรณn de SQL server (Propiedades de protocolos de MSSQLSERVER) se seleccionรณ el certificado y se activรณ la conexiรณn cifrada, como se puede ver en la siguiente imagen.


Con esta configuraci贸n el servidor solo puede recibir conexiones cifradas del m贸dulo de facturaci贸n, permitiendo una conexi贸n segura.


Consideraciones de seguridad según estándar NB-ISO/IEC 17799 de la ASFI 

El detalle de las consideración de seguridad es el siguiente: -

Certificados digitales: Se ha creado una entidad certificadora (Instituto) que firma certificados digitales para autenticar la identidad de la misma. El certificado se puede ver en la encriptación SSL del sistema de inscripción (descrita en el punto 3.3.7.1 del marco práctico) y la conexión del módulo de facturación en el presente anexo.

-

Valide de credenciales de usuario: Las credenciales de usuario son válidas si son habilitadas por el Administrador del instituto.

-

Conexión cifrada y protocolos seguros: La conexión en línea entre el módulo de facturación situado en la entidad financiera y la base de datos situado en el instituto está cifrada. El detalle de su implementación se puede ver en la anterior sección.

-

Sistema solo accesible en ambiente seguro: Como se ha diseñado e implementado el enlace en línea (Ver punto 3.4.3.5 del marco práctico) la conexión entre entidad financiera e instituto es efectuada mediante una línea dedicada, dando lugar a una red privada. Así mismo se ha recomendado el uso de un firewall con las reglas de entrada y salida que limitan el acceso a solo a protocolos y puertos específicos de manera que impiden la exposición a redes externas (acceso por internet). Estas reglas se describirán más adelante.


-

ANEXO “M”: Cuestionarios para la demostración de las variables de la hipótesis




ANEXO “N”: Valores críticos de la distribución T-Student



ANEXO “O”: Cuestionarios de viabilidad operativa




Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.