"Sistema Web de Inscripciones y Control de Pagos
"Sistema Web de Inscripciones y Control de Pagos
"Sistema Web de Inscripciones y Control de Pagos
PROYECTO DE GRADO
LICENCIA DE USO
i
A Dios por haberme permitido llegar hasta esta etapa de mi vida.
A mi familia tía Juana y tío Ángel por haberme brindado su apoyo estos últimos años.
A mis grandes compañeros Elmer, Luis Miguel, Froilan, Ever y Sergio por su apoyo
moral para alcanzar mis metas.
Al M. Sc. Aldo Ramiro Valdez Alvarado, por sus recomendaciones y colaboración
para el desarrollo y culminación de este proyecto.
A la Lic. Carmen Rosa Huanca Quisbert por su guía, observaciones, colaboración
y tiempo proporcionado para el desarrollo y conclusión del presente proyecto.
A todos los Docentes de la carrera de Informática por haberme impartido sus
conocimientos.
A Claudia Silveztro Arze Orientadora de la institución Kumon Unidad Semilla,
por su tiempo y colaboración para el desarrollo del proyecto.
ii
RESUMEN
En la actualidad existen instituciones que cada día generan mucha información, en el caso la
institución Kumon Unidad Semilla cada día genera informes sobre pagos de mensualidades
y inscripciones, esta institución es perteneciente a una Franquicia a nivel mundial llamado
Kumon donde se aplica el método Kumon para la enseñanza y apoyo a alumnos para su
desarrollo educativo.
Finalmente se puede concluir que los objetivos planteados fueron alcanzados y que el Sistema
cumple con los requerimientos establecidos por el cliente.
iii
ABSTRACT
Currently there are institutions that generate a lot of information every day, in case the
institution Kumon Seed Unit generates daily reports on monthly payments and registrations,
this institution is owned by a global franchise called Kumon where Kumon method is applied
for education and support to students for educational development.
This project aims to facilitate the process of registration and control of monthly payments by
implementing a Web System, which will allow the automation of these processes.
In the introductory part of the background and activities of the institution shown. The analysis
of problems and objectives are also shown.
For the project development methodology SCRUM agile development relying on the
development methodology for modeling UWE design it was applied.
Finally it can be concluded that the objectives were achieved and that the system meets the
requirements set by the customer.
iv
CONTENIDO
v
2.2. INGENIERÍA DEL SOFTWARE ......................................................................... 14
2.2.1. MODELOS DE PROCESO ........................................................................... 15
2.3. INGENIERÍA WEB (IWeb) .................................................................................. 15
2.3.1. EL PROCESO DE LA IWeb .......................................................................... 16
2.3.2. UN MARCO DE TRABAJO PARA LA IWeb ............................................. 16
2.4. EL PATRÓN DE DISEÑO MODELO-VISTA-CONTROLADOR (MVC) ........ 19
2.5. METODOLOGÍA ÁGIL SCRUM ........................................................................ 22
2.5.1. PRINCIPALES CARACTERÍSTICAS ......................................................... 23
2.5.2. PRINCIPALES ELEMENTOS DE LA METODOLOGÍA ........................... 23
2.6. METODOLOGÍA DE DESARROLLO UWE ...................................................... 29
2.6.1. CARACTERÍSTICAS PRINCIPALES ......................................................... 30
2.6.2. FASES DE DESARROLLO .......................................................................... 30
2.7. CALIDAD DE SOFTWARE................................................................................. 42
2.7.1. METODOLOGÍA DE EVALUACIÓN DE CALIDAD DE SITIOS WEB
(Web-site QEM) ........................................................................................................... 42
2.8. SEGURIDAD DE SOFTWARE ........................................................................... 50
2.9. COSTO BENEFICIO ............................................................................................ 50
CAPÍTULO III MARCO APLICATIVO ....................................................................... 53
3.1. INTRODUCCIÓN ................................................................................................. 53
3.2. PROCESO DE DESARROLLO ............................................................................ 53
3.3. PRE- GAME .......................................................................................................... 55
3.3.1. PLANIFICACIÓN ......................................................................................... 55
3.3.2. ARQUITECTURA DEL SISTEMA .............................................................. 56
3.4. GAME .................................................................................................................... 56
3.4.1. PRIMERA ITERACIÓN (SPRINT 1) ........................................................... 56
3.4.2. SEGUNDA ITERACIÓN (SPRINT 2) .......................................................... 65
3.4.3. TERCERA ITERACIÓN (SPRINT 3) ........................................................... 71
3.4.4. CUARTA ITERACIÓN (SPRINT 4) ............................................................. 75
3.5. POST- GAME........................................................................................................ 88
vi
3.5.1. DISEÑO DE LAS INTERFACES GRAFICAS ............................................. 88
3.5.2. PRUEBAS DE STRESS................................................................................. 93
CAPÍTULO IV CALIDAD Y SEGURIDAD ................................................................... 95
4.1. INTRODUCCIÓN ................................................................................................. 95
4.2. CALIDAD ............................................................................................................. 95
4.2.1. CASO DE ESTUDIO ..................................................................................... 95
4.2.2. ÁRBOL DE CARACTERÍSTICAS Y ATRIBUTOS ................................... 96
4.2.3. EVALUACIÓN ELEMENTAL ..................................................................... 97
4.2.4. EVALUACIÓN GLOBAL ........................................................................... 100
4.2.5. ANÁLISIS DE RESULTADOS ................................................................... 100
4.3. SEGURIDAD ...................................................................................................... 101
4.3.1. BASES DE LA SEGURIDAD INFORMÁTICA ........................................ 101
4.3.2. MECANISMOS BÁSICOS DE SEGURIDAD ........................................... 102
CAPÍTULO V ANÁLISIS COSTO Y BENEFICIO ..................................................... 103
5.1. INTRODUCCIÓN ............................................................................................... 103
5.2. PUNTO FUNCIÓN ............................................................................................. 103
5.3. COCOMO II ........................................................................................................ 106
5.3.1. COSTOS DE LA ELABORACIÓN DEL PROYECTO .............................. 106
5.3.2. COSTOS DEL DESARROLLO DEL SOFTWARE ................................... 107
5.3.3. COSTOS DE LA IMPLEMENTACIÓN DEL SISTEMA .......................... 109
CAPÍTULO VI CONCLUSIONES Y RECOMENDACIONES .................................. 112
6.1. CONCLUSIONES ............................................................................................... 112
6.2. RECOMENDACIONES ...................................................................................... 113
BIBLIOGRAFÍA .............................................................................................................. 114
ANEXOS ........................................................................................................................... 118
ÁRBOL DE PROBLEMAS ........................................................................................... 119
ÁRBOL DE OBJETIVOS .............................................................................................. 120
vii
ÍNDICE DE FIGURAS
viii
Figura 3. 6 Diagrama de navegación Administración de usuarios ....................................... 63
Figura 3. 7 Diagrama de navegación Autenticación............................................................. 63
Figura 3. 8 Modelo de presentación - Administración de usuarios ...................................... 64
Figura 3. 9 Modelo de presentación - Autenticación de usuario .......................................... 64
Figura 3. 10 Diagrama de casos de uso - Inscripciones........................................................ 68
Figura 3. 11 Diagrama de navegación del proceso de inscripción ....................................... 70
Figura 3. 12 Modelo de presentación – Inscripciones .......................................................... 70
Figura 3. 13 Diagrama de casos de uso - Pago de mensualidades........................................ 73
Figura 3. 14 Diagrama de navegación del pago de mensualidades ...................................... 74
Figura 3. 15 Modelo de presentación - Pago de mensualidades ........................................... 75
Figura 3. 16 Diagrama de casos de uso - Configuraciones de usuario ................................. 80
Figura 3. 17 Diagrama de casos de uso - Reportes ............................................................... 81
Figura 3. 18 Diagrama de navegación para la configuración de usuario administrador ...... 84
Figura 3. 19 Modelo de presentación - Configuración de cuenta de usuario ....................... 84
Figura 3. 20 Diagrama de navegación para la generación de reportes ................................. 85
Figura 3. 21 Modelo de presentación - Generación de reportes ........................................... 85
Figura 3. 22 Diseño conceptual ............................................................................................ 86
Figura 3. 23 Modelo físico de la base de datos .................................................................... 87
Figura 3. 24 Interface – Inicio de sesión .............................................................................. 88
Figura 3. 25 Interface - Página de inicio del sistema............................................................ 89
Figura 3. 26 Interface - Administración de usuarios ............................................................ 89
Figura 3. 27 Interface - Administración de materias ............................................................ 90
Figura 3. 28 Interface - Bajas de alumno.............................................................................. 90
Figura 3. 29 Interface – Inscripciones .................................................................................. 91
Figura 3. 30 Interface - Pago de matricula ........................................................................... 92
Figura 3. 31 Interface - Pago de mensualidades ................................................................... 92
Figura 3. 32 Interface - Reporte de alumnos inscritos .......................................................... 93
Figura 3. 33 Memoria del sistema y carga de la CPU .......................................................... 93
Figura 3. 34 Solicitud de apertura y transferencia de datos.................................................. 94
ix
Figura 3. 35 Peticiones del usuario ....................................................................................... 94
Figura 4. 1 Rango de aceptabilidad de preferencia de calidad ............................................. 97
x
ÍNDICE DE TABLAS
xi
Tabla 5. 1 Cálculo de puntos función ................................................................................. 104
Tabla 5. 2 Escala de rangos para hallar el punto función ................................................... 105
Tabla 5. 3 Cuestionario para el ajuste de complejidad ....................................................... 106
Tabla 5. 4 Costos de elaboración del proyecto ................................................................... 106
Tabla 5. 5 Factor LCD/PF de lenguajes de programación ................................................. 107
Tabla 5. 6 Tipos de proyectos de software ......................................................................... 108
Tabla 5. 7 Estimación de mantenimiento ........................................................................... 109
Tabla 5. 8 Análisis costo y beneficio .................................................................................. 110
Tabla 5. 9 Costo total del proyecto ..................................................................................... 111
xii
CAPÍTULO I MARCO INTRODUCTORIO
1.1. INTRODUCCIÓN
El ser humano busca medios para disminuir los inconvenientes de una organización a través
de las tecnologías la cual permite mejorar el estilo de vida y simplificar los procesos.
Estas tecnologías se desarrollaron a través de los sistemas de información, los cuales son una
herramienta fundamental para realizar las tareas cotidianas y objeto de gran consideración en
la toma de decisiones.
Una buena solución para este problema es necesario contar con un sistema de información
web que pueda cumplir con los requerimientos de estas instituciones, existen metodologías
que ayudan a la administración de la información haciendo más fácil el control de la
institución.
En el caso de la institución Kumon Unidad Semilla requiere un Sistema Web de inscripciones
y control de pagos de las mensualidades, el cual pueda ayudar a facilitar la tarea de
inscripción de un alumno, mejorar el control de pagos de mensualidades.
1.2. ANTECEDENTES
La institución KUMON “Unidad Semilla” está establecida desde el año 2000 en la ciudad
de La Paz.
En 1977 fue la Apertura de la primera unidad en América del Sur, en Londrina-Paraná, Brasil.
El “Método Kumon” ayuda a acelerar el aprendizaje desde los 3 años de edad hasta la
preparatoria. Kumon es una metodología que busca incentivar en los niños la autonomía en
los estudios buscando fortalecer el potencial de aprendizaje de cada uno. Por medio de un
proceso de aprendizaje planificado e individualizado, el alumno se vuelve seguro y capaz de
enfrentar por sí mismo el desafío de la conquista del conocimiento.
El método tiene como fin estimular al alumno que le guste aprender y a sentirse seguro
durante su proceso de estudio.
2
Las cuatro características del método Kumon
MISIÓN
3
VISIÓN
Ofrecer, en todos los países y regiones del mundo, la oportunidad de aprendizaje mediante el
método Kumon, deseando que los alumnos estudien por iniciativa propia para alcanzar sus
sueños y metas.
ORGANIGRAMA
FUNCIONES
Kumon Unidad Semilla establecido desde el año 2000 en la ciudad de La Paz teniendo 15
estudiantes que concluyeron toda la metodología Kumon, actualmente cuenta con 50
alumnos de entre 4 y 17 años de edad. Existen 4 orientadores los cuales tienen la labor de
enseñar y guiar a cada alumno. La institución ofrece dos materias de apoyo: Matemáticas y
Lenguaje (lengua materna), dos clases semanales en la Unidad, material didáctico.
4
1.2.2. ANTECEDENTES DE PROYECTOS SIMILARES
“Sistema web para la inscripción y control de estudiantes del centro: C.C.C. SRL”,
Glubert Rolando Sacaca Wisa, 2012, Proyecto de grado, UNIVERSIDAD MAYOR
DE SAN ANDRES-INFORMATICA
El sistema web fue desarrollado para la inscripción de alumnos del Centro de
Capacitación y Consultoría SRL. Se basa en el control de deudas y el pago a los mismos
instructores. Para la implementación de este sistema se utilizó la metodología ágil de
desarrollo Programación Orientada a Aspectos.
5
“Sistema Integrado de Inscripción, seguimiento y generación de reportes para el
área socioeducativa caso: Fundación La Paz”, Miguel Angel Ticona Alcon, 2009,
Proyecto de grado, UNIVERSIDAD MAYOR DE SAN ANDRES-
INFORMATICA
El sistema fue desarrollado para la unidad de protección dependiente de la Fundación
La Paz, dicha unidad está orientada a beneficiar a niños, niñas, adolescentes y jóvenes
trabajadores con el fin de brindar una ayuda social, legal, psicológica y económica para
mejorar su forma de vida. El sistema ayuda con los procesos de manipulación y gestión
de información el cual cuenta con el módulo de inscripción de participantes, módulo de
seguimiento social, módulo de generación de reportes y estadísticas. La metodología
adoptada para el desarrollo del sistema fue el Proceso Unificado de Racional RUP, las
herramientas utilizadas para la implementación son el lenguaje de programación PHP y
gestor de base de datos Postgres.
6
cumplimiento de pagos de mensualidades por parte de los tutores o responsables de cada
estudiante, por lo tanto se puede plantear la siguiente pregunta:
7
Mejorar el proceso de inscripción para una mejor atención al cliente.
Registrar los pagos de mensualidades y matricula de manera oportuna.
Disminuir el tiempo del proceso de pago de mensualidades para una mejor atención
al cliente.
Generar reportes con los requerimientos necesarios del usuario para un mejor control
de la información de pagos de mensualidades e inscripción de alumnos.
1.5. JUSTIFICACIÓN
1.5.1. JUSTIFICACIÓN ECONÓMICA
El sistema Web permitirá que la institución Kumon Unidad Semilla reduzca sus pérdidas
económicas que resultan del incumplimiento de los pagos de mensualidades, teniendo una
mejor información sobre las deudas de los alumnos.
Los usuarios del Sistema Web de la institución Kumon Unidad Semilla podrán ofrecer a los
clientes una mejor atención, el sistema ayudara para que el encargado de inscripciones y
cobros tenga un mejor control de estos procesos.
Hardware
Software
8
Lenguaje de programación PHP
Para el diseño web HTML5, CSS3, JAVASCRIPT
1.6.2. ALCANCES
Para poder cumplir los objetivos planteados se desarrollaran los siguientes módulos:
1.7. APORTES
1.7.1. APORTE TEÓRICO
9
Para el modelado del sistema web se utilizara la Ingeniería Web.
Scrum es una metodología ágil de desarrollo de proyectos que toma su nombre y principios
de los estudios realizados sobre nuevas prácticas de producción por Hirotaka Takeuchi e
IKujijo Nonaka a mediados de los 80. [Palacios, 2014]
Aunque surgió como modelo para el desarrollo de productos tecnológicos, también se emplea
en entornos que trabaja con requisitos inestables y que requiere rapidez y flexibilidad;
situaciones frecuentes en el desarrollo de determinados sistemas de software.
Scrum es una metodología de desarrollo muy simple que requiere 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. [Palacios, 2014]
Scrum es una metodología ágil, y como tal es un modo de desarrollo de carácter adaptable
más que predictivo. Orientado a las personas más que a los procesos, emplea la estructura de
desarrollo ágil: incremental basada en iteraciones y revisiones. [Palacios, 2014]
UWE es una metodología que permite especificar de mejor manera una aplicación Web en
su proceso de creación, mantiene una notación basada en el uso de UML (Unifed Modeling
10
Languaje) para sus modelos y sus métodos, lo que facilita la transición. La metodología
define claramente la construcción de casa uno de los elementos del modelo. [Pérez, 2010]
a) HTML5
b) JAVASCRIPT
Javascript es un lenguaje interpretado usado para múltiples propósitos peros solo considerado
como un complemento hasta ahora. Una de las innovaciones que ayudo a cambiar el modo
que vemos Javascript fue el desarrollo de nuevos motores de interpretación, creados para
acelerar el procesamiento de código. La clave de los motores más exitosos fue transformar
el código Javascript en código máquina para lograr velocidades de ejecución similares a
aquellas encontradas en aplicaciones de escritorio. Esta mejorada capacidad permitió superar
viejas limitaciones de rendimiento y confirmar el lenguaje Javascript como la mejor opción
para la web. [Gauchat, 2012]
c) JQUERY
Para simplificar podríamos decir que JQuery es un framework Javascript, pero muchos se
preguntaran que es un framework. Pues es un producto que sirve como base para la
programación avanzada de aplicaciones, que aporta una serie de funciones o códigos para
realizar tareas habituales. Por decirle de otra manera, framework son unas librerías de código
que contienen procesos o rutinas ya listos para usar. Los programadores utilizan los
frameworks para no tener que desarrollar ellos mismos las tareas más básicas, puesto que en
11
el propio framework ya hay implementaciones que están probadas, funcionan y no se
necesitan volver a programar. [Alvarez, 2015]
d) FRAMEWORK BOOTSTRAP
Es compatible con todos los navegadores habituales, su arquitectura está basada en LESS.Es
de código abierto publicado en 2011 con licencia Apache. Los beneficios que ofrece
bootstrap son:
Responsive web desing: Diseño de páginas web para que el usuario las visualice
perfectamente en un amplio rango de dispositivos (Navegador en el PC, tableta, Smartphone)
e) PHP
PHP es un lenguaje de script del lado del servidor. Otros lenguajes similares son ASP, JSP
o ColdFusion, los scripts PHP están incrustados en los documentos HTML y el servidor los
interpreta y ejecuta antes de servir las páginas al cliente, el cliente no ve el código PHP sino
los resultados que produce.[Gonzales, 2010]
MySQL es un sistema gestor de base de datos (SGBD, DBMS por sus siglas en inglés) muy
conocido y ampliamente usado por su simplicidad y notable rendimiento. Aunque carece de
algunas características avanzadas disponibles en otros SGBD del mercado, es una opción
atractiva tanto para aplicaciones comerciales, como de entretenimiento precisamente por su
facilidad de uso y tiempo reducido de puesta en marcha. Esto y su libre distribución en
12
internet bajo la licencia GLP le otorgan como beneficios adicionales (no menos importantes)
contar con un alto grado de estabilidad y un rápido desarrollo. [Casillas, 2015]
g) FRAMEWORK CODEIGNITER
CodeIgniter fue desarrollado originalmente por Rick Ellis (CEO de EllisLab, Inc). El
framework se escribió para obtener buen rendimiento en el mundo real, donde muchas de las
bibliotecas de clases, helpers, y subsistemas se tomaron prestados del código base de
ExpressionEngine.
13
CAPÍTULO II MARCO TEÓRICO
2.1. INTRODUCCIÓN
En este capítulo se describe los conceptos y teorías que fundamentan la realización del
presente proyecto viendo las funcionalidades y proceso que lleva realizando la institución
Kumon Unidad Semilla, se especifica la descripción de técnicas y metodologías que serán
explicadas de manera breve.
Muchas personas asocian el término de software con los programas de computadoras. Sin
embargo, yo prefiero una definición más amplia donde el software no solo son programas,
sino todos los documentos asociados y la configuración de datos que se necesitan para hacer
que estos programas operen de manera correcta. Por lo general, un sistema de software
consiste en diversos programas independientes, archivos de configuración que se utilizan
para ejecutar estos programas, un sistema de documentación que describe la estructura del
sistema, la documentación para el usuario que explica cómo utilizar el sistema y sitios web
que permitan a los usuarios descargar la información de productos recientes.[Sommerville,
2005]
14
2.2.1. MODELOS DE PROCESO
Para todos nosotros que recordamos un mundo sin Web, el crecimiento caótico de la
tecnología tiene su origen en otra era. Esto nos lleva a formular una pregunta clave: ¿Pueden
15
aplicarse principios, conceptos y métodos de ingeniería en el desarrollo de la Web? Muchos
de ellos se puede aplicar, pero su aplicación quizás requiera un giro diferente. [Pressman,
2000]
A medida que la evolución de las WebApps pasa de utilizar recursos estáticos de información
controlada por el contenido a utilizar entornos de aplicaciones dinámicos controlados por el
usuario, cada vez es más importante la necesidad de aplicar una gestión sólida y unos
principios de ingeniería. Para conseguir esto es necesario desarrollar un marco de trabajo
IWeb que acompañe a un modelo de proceso eficaz, popularizado por las actividades del
marco de trabajo y por las tareas de ingeniería. Ver Figura 2.1 [Pressman, 2000]
16
Figura 2. 1Modelo del proceso IWeb
Fuente [Pressman, 2000]
Los conceptos y principios del análisis de los requisitos del software son también aplicados
en la ingeniería Web. Para crear un modelo de análisis completo para la WebApp, se elabora
el ámbito definido durante la actividad de formulación. Durante la IWeb se realizan cuatro
tipos de análisis. [Pressman, 2000]
Análisis de contenido
Se trata de la identificación del espectro completo de contenido que se va a
proporcionar. En el contenido se incluyen datos de texto gráficos, imágenes, video y
sonido. [Pressman, 2000]
Análisis de interacción
Se trata de la descripción detallada de la interacción del usuario y la WebApp.
[Pressman, 2000]
Análisis funcional
Los escenarios de utilización (casos de uso) creados como parte del análisis de
interacción definen las operaciones que se aplicaran en el contenido de la WebApp e
implicara otras funciones de procesamiento. Aquí se realiza una descripción detallada
de todas las funciones y operaciones. [Pressman, 2000]
17
Análisis de configuración
Se efectúa una descripción detallada del entorno y de la infraestructura en donde
reside la WebApp. La WebApp puede residir en Internet, en una intranet o en una
extranet. Además, se deberá identificar la infraestructura (es decir, la infraestructura
de los componentes y el grado de utilización de la base de datos para generar el
contenido) de la WebApp. [Pressman, 2000]
Aun cuando se recomienda una especificación detallada de los requisitos para la WebApps
grandes y complejas, tales documentos no son usuales ç. Se puede decir que la continua
evolución de los requisitos de la WebApp puede hacer que cualquier documento se quede
obsoleto antes de finalizarse. Aunque se puede decir que esto sucede de verdad, es necesario
definir un modelo de análisis que pueda funcionar como fundamento de la siguiente actividad
de diseño. Como mínimo, la información recogida durante las cuatro tareas de análisis
anteriores deberá ser revisada, modificada a petición, y organizada para formar un documento
que pueda pasarse a los diseñadores de WebApps. [Pressman, 2000]
Diseño arquitectónico
El diseño arquitectónico para los sistemas y aplicaciones basados en Web se centra
en la definición de la estructura global hipermedia para la WebApp, y en la aplicación
de las configuraciones de diseño y plantillas constructivas para popularizar la
estructura (y lograr la reutilización).Una actividad paralela, llamada diseño de
18
contenido, deriva la estructura y el formato detallados del contenido de la información
que se presentara como parte de la WebApp. [Pressman, 2000]
Diseño de navegación
Una vez establecida una arquitectura de WebApp, una vez identificados los
componentes (páginas, guiones, applets y otras funciones de proceso) de la
arquitectura, el diseñador deberá definir las rutas de navegación que permitan al
usuario acceder al contenido y a los servicios de la WebApp. Para que el diseñador
pueda llevarlo a cabo, debe identificar la semántica de la navegación para diferentes
usuarios del sitio; y definir la mecánica (sintaxis) para lograr la navegación.
Generalmente una WebApp grande tendrá una variedad de roles podrían ser el de
visitante, cliente registrado o cliente privilegiado. Cada uno de estos roles se puede
asociar a diferentes niveles de acceso al contenido y de servicios diferentes.
[Pressman, 2000]
Diseño de la interfaz
Las características especiales de los sistemas y aplicaciones Web requieren otras
consideraciones adicionales. La interfaz de usuario de una WebApp es la primera
impresión. Independientemente del valor del contenido, la sofisticación de las
capacidades, los servicios de procesamiento y el beneficio global de la WebApp en
sí, una interfaz con un diseño pobre decepcionara al usuario potencial y podrá de
hecho hacer que el usuario se vaya a cualquier otro sitio. Dado un gran volumen de
WebApps que compiten virtualmente en todas las áreas temáticas, la interfaz debe
arrastrar inmediatamente al usuario potencial. [Pressman, 2000]
Durante toda la década del setenta, SmallTalk y algunos otros lenguajes como Simula I,
fueron construyendo gradualmente el paradigma de programación orientada a objetos y
estableciendo conceptos tales como objetos, clases, encapsulación, herencia y polimorfismo.
Si bien dichos lenguajes no son usados actualmente para implementar aplicaciones
19
comerciales, los conceptos que dejaron en el mundo del desarrollo de software están vigentes
en la actualidad y son la base de lenguajes modernos como C++, Java o C#.[Bascón, 2004]
SmallTalk también fue el primer lenguaje de programación que permitió diseñar interfaces
de usuario con multioples “ventanas” desplegadas en una pantalla, concepto que después fue
aplicado por GEMS, Macintosh, X11, Windows y otras interfaces graficas de usuario
modernas. El concepto central detrás de las librerías de interfaz de usuario provistas por
SmallTalk está basado en el patrón de diseño MVC, creado por el profesor Trygve
Reenskaug. En la Figura 2.2 se muestra la relación entre los módulos del patrón MVC.
[Bascón, 2004]
MVC, son las siglas de modelo-vista-controlador que es uno de los tantos patrones de
arquitectura de software. [Bahit, 2015]
Es necesario aclarar, que no existe una definición única, exacta de “arquitectura de software”
a grandes rasgos se puede decir que la arquitectura de software es la forma en la que se
organizan los componentes de un sistema, interactúan y se relacionan entre sí y con el
20
contexto, aplicando normas y principios de diseño y calidad, que fortalezcan y fomenten la
usabilidad a la vez que deja preparado el sistema, para su propia evolución. [Bahit, 2015]
21
una vez procesados los datos, los “acomodará” en base al diseño y los entregara al
usuario.
Scrum es un proceso ágil para desarrollar software que fue aplicado por primera vez por Ken
Schwaber y Jeff Sutherland, quienes lo documentaron en detalle en el libro Agile Software
Development with Scrum. Esta metodología centra su atención en las actividades de Gerencia
y no especifica prácticas de Ingeniería. Fomenta el surgimiento de equipos autodirigidos
cooperativos y aplica inspecciones frecuentes como mecanismo de control. [Peralta, 2003]
Scrum parte de la base de que los procesos definidos funcionan bien solo si las entradas están
perfectamente definidas y el ruido, ambigüedad o cambio es muy pequeño. Por lo tanto,
resulta ideal para proyectos con requerimientos inestables, ya que fomenta el surgimiento de
los mismos. [Peralta, 2003]
El ciclo de vida definido por Scrum es incremental iterativo y se caracteriza por ser muy
adaptable, ver Figura 2.3
22
2.5.1. PRINCIPALES CARACTERÍSTICAS
Equipos autodirigidos
Utiliza reglas para crear un entorno agile de administración de procesos
No prescribe practicas específicas de ingeniería
Los requerimientos se capturan como ítems de la lista Product Backlog
El producto se construye en una serie de Sprints de un mes de duración
Es una lista priorizada que define el trabajo que se va a realizar en el proyecto. Cuando un
proyecto comienza es muy difícil tener claro todos los requerimientos sobre el producto. Sin
embargo, suelen surgir los más importantes que casi siempre son más que suficientes para un
Sprint.
El Product Backlog List puede crecer y modificarse a medida que se obtiene más
conocimiento acerca del producto y del cliente. Con la restricción de que solo puede
cambiarse entre Sprints. El objetivo es asegurar que el producto definido al terminar la lista
es el más correcto, útil y competitivo posible y para esto la lista debe acompañar los cambios
en el entorno y el producto. [Peralta, 2003]
23
b) SPRINT
Un Sprint es el procedimiento de adaptación de las cambiantes variables del entorno
(requerimientos, tiempo, recursos, conocimiento, tecnología). Son ciclos iterativos en los
cuales se desarrolla o mejora una funcionalidad para producir nuevos incrementos. Durante
un Sprint el producto es diseñado, codificado y probado. Y su arquitectura y diseño
evolucionan durante el desarrollo.
Un Sprint tiene una duración planificada de entre una semana y un mes. No es posible
introducir cambios durante el Sprint, por lo tanto para planificar su duración hay que pensar
en cuanto tiempo puedo comprometerme a mantener los cambios fuera del Sprint.
Dependiendo del tamaño del sistema, la construcción de un reléase puede llevar entre 3 y 8
Sprints. Por otra parte podrían formarse equipos para desarrollar en forma paralela distintos
grupos de funcionalidad.
Las actividades que se desarrollaron durante el Sprint son: Sprint Planning Meeting, Sprint
Backlog, Daily Scrum Meetings y Sprint Review Meeting. En la Figura 2.4 se pueden ver las
prácticas involucradas en un Sprint. [Peralta, 2003]
24
c) SPRINT BACKLOG
Es el punto de entrada de cada Sprint. Es una lista que tiene los ítems de la Product Backlog
List que van a ser implementados en el siguiente Sprint.
Los ítems son seleccionados por el Scrum Team, el Scrum Master y el Product Owner en la
Sprint Planning Meeting a partir de la priorización de los ítems y los objetivos que se
marcaron para ese Sprint. A partir de los objetivos a cumplir durante el Sprint el Scrum Team
determina que tareas debe desempeñar para cumplir el objetivo. El Manager no asigna tareas
a los individuos y tampoco toma decisiones por el equipo. El equipo puede agregar nuevas
tareas o remover tareas innecesarias en cualquier momento si lo considera necesario para
cumplir el objetivo. Pero el Sprint Backlog solo puede ser modificado por el equipo. Las
estimaciones se actualizan cada vez que aparece una nueva información. [Peralta, 2003]
d) STABILIZATION SPRINT
No fueron definidos por Scrum pero han sido recomendados por su utilidad al aplicar esta
metodología. [Peralta, 2003]
Los equipos de Scrum suelen tener entre 5 y 10 personas, sin embargo esta metodología ha
sido aplicada en proyectos que involucran a más de 600 personas. Esto ha sido llevado a cabo
dividiendo a los accionistas en equipos pequeños de hasta 10 personas aproximadamente. Y
definiendo jerárquicamente personas que pertenecen a dos equipos, es decir, además de su
rol específico dentro de un equipo tienen el rol de enlace en un equipo superior. [Peralta,
2003]
25
2.5.2.2. EL PROCESO
Scrum consta de tres fases: Pregame, Development y Postgame que se describen en la Figura
2.5. La fase del Pregame incluye dos subfases: Plannig y Architecture. [Peralta, 2003]
a) PRE-GAME
Es la primera fase del proceso de Scrum donde se realiza el plannig (planeacion), architecture
(arquitectura). [Peralta, 2003]
Planning
Consiste en la definición del sistema que será construido. Para esto se crea la lista Product
Backlog a partir del conocimiento que actualmente se tiene del sistema. En ella se
26
expresan los requerimientos priorizados y a partir de ella se estima el esfuerzo requerido.
Un ejemplo de pila de producto se ilustra en la Figura 2.6. [Peralta, 2003]
El diseño de alto nivel del sistema se planifica a partir de los elementos existentes en la
Product Backlog List. Se sostiene una reunión de revisión de diseño (Design Review
Meeting) para examinar los objetivos de la implementación y tomar decisiones a partir
de la revisión. [Peralta, 2003]
b) GAME
En esta fase se espera que ocurran cosas impredecibles. Para evitar el caos Scrum define
prácticas para observar y controlar las variables técnicas y del entorno, así también como la
metodología de desarrollo que hayan sido identificadas y puedan cambiar. Este control se
realiza durante los Sprints. Dentro de variables de entorno encontrarnos: tiempo, calidad,
requerimientos, recursos, tecnologías y herramientas de implementación. En lugar de tenerlas
en consideración al comienzo del desarrollo, Scrum propone controlarlas constantemente
para poder adaptarse a los cambios en forma flexible. Un ejemplo de una pila de Sprint se
ilustra en la Figura 2.7. [Peralta, 2003]
27
Figura 2. 7 Ejemplo de Pila de Sprint con hoja de cálculo
Fuente [Palacio, 2014]
c) POST-GAME
Contiene el cierre del release. Para ingresar a esta fase se debe llegar a un acuerdo respecto
a las variables del entorno por ejemplo que los requerimientos fueron completados. El
sistema está listo para ser liberado y es en esta etapa en la que se realiza la integración,
pruebas del sistema y documentación. [Peralta, 2003]
Scrum Master
Es un rol de administración que debe asegurar que el proyecto se está llevando a cabo de
acuerdo con las prácticas, valores y reglas de Scrum y que todo funciona según lo planeado.
Su principal trabajo es remover impedimentos y reducir riesgos del producto. Este rol suele
ser desempeñado por un Gerente de Proyecto o Líder de equipo. [Peralta, 2003]
28
Product Owner
Scrum Team
Es el equipo del proyecto que tiene la autoridad para decidir cómo organizarse para cumplir
con los objetivos de un Sprint. Sus tareas son: Effort Estimation (Estimar Esfuerzo), crear el
Sprint Backlog, revisar la Product Backlog List y sugerir obstáculos que deban ser removidos
para cumplir con los ítems que aparecen. [Peralta, 2003]
Customer
El cliente participa en las tareas que involucran la lista Product Backlog List.
Management
UWE (UML Web Engineering, en español Ingeniería Web basada en UML) es una
metodología que permite especificar de mejor manera una aplicación Web, para el proceso
de creación de aplicaciones detallada esta, con una gran cantidad de definiciones, en el
29
proceso de diseño lista que debe utilizarse. Procede de manera iterativa e incremental,
coincidiendo con UML, incluyendo flujos de trabajo y puntos de control.
UWE se especializa en la especificación de aplicaciones que se adaptan y por eso hace énfasis
especial en las características de personalización, y la definición de modelos de usuario o en
un patrón de características de navegación basado en preferencias, tareas o conocimiento.
Otros aspectos de interés de la metodología UWE es la orientación a objetos, usuarios y la
definición de un modelo de referencia que soporte a la metodología y formaliza los modelos
por el grado de restricciones y definiciones que proporciona. [Pérez, 2010]
Para recolectar los requerimientos necesarios de las aplicaciones web, esta metodología
propone una ampliación utilizada en el proceso de creación, la cual se divide en las siguientes
cuatro actividades [Pérez, 2010]:
30
2.6.2.1. ANÁLISIS DE REQUISITOS
El diagrama de casos de uso está conformado por los elementos actor y caso de uso. Los
actores se utilizan para modelar usuarios de la aplicación Web. Los casos de uso se utilizan
para visualizar las diferentes funcionalidades que la aplicación tiene que proporcionar.
[Citali, 2014]
El modelo de Casos de Uso es la técnica más efectiva y a la vez la más simple para modelar
los requisitos del sistema desde la perspectiva del usuario. Los casos de Uso se utilizan para
modelar como un sistema o negocio funciona actualmente, o como los usuarios desean que
funcione. No es realmente una aproximación orientada a objetos; es realmente una forma de
modelar procesos. Es, sin embargo, una manera muy buena de dirigirse hacia el análisis de
sistema orientado a objetos. Los casos de uso son generalmente el punto de partida del
análisis de sistemas orientado a objetos con UML.
El modelo de casos de uso consiste en actores y casos de uso. Los actores representan
usuarios y otros sistemas que interaccionan con el sistema. Se dibujan como “muñecos” de
palo. Actualmente representan el tipo de usuario, no una instancia de usuario. Los casos de
uso representan el comportamiento del sistema, los escenarios que el sistema atraviesa en
respuesta a un estímulo desde un actor. Se dibujan como en la Figura 2.8 [Ferré, 2015]
Un diagrama de Casos de Uso muestra la relación entre los actores y los casos de uso del
sistema. Representa la funcionalidad que ofrece el sistema en lo que refiere a su interacción
externa. [Ferré, 2015]
31
Figura 2. 8 Ejemplo de diagrama de Casos de Uso
Fuente [Ferré, 2015]
Elementos
Los elementos que pueden aparecer en un Diagrama de Casos de Uso son: actores, casos de
uso y relaciones entre casos de uso.
Actores: Un actor es una entidad externa al sistema que realiza algún tipo de
interacción con el mismo. Se representa mediante una figura humana dibujada con
palote. Esta representación sirve tanto para actores que son personas como para otro
tipo de actores (otros sistemas, sensores).
Casos de uso: Un caso de uso es una descripción de la secuencia de interacciones
que producen entre un actor y el sistema cuando el actor usa el sistema para llevar a
cabo una tarea específica. Expresa una unidad coherente de funcionalidad, y se
representa en el Diagrama de Casos de Uso mediante una elipse con el nombre del
caso de uso en su interior. El nombre de caso de uso debe reflejar la tarea específica
que el actor desea llevar a cabo usando el sistema.
Relaciones entre casos de uso: Entre dos casos de uso puede haber las siguientes relaciones
[Ferré, 2015]:
32
Extiende: Cuando un caso de uso especializa a otro extendiendo su
funcionalidad.
Usa: Cuando un caso de uso utiliza a otro.
Se representa como una línea que une a los dos caos de uso relacionados, con una flecha en
forma de triángulo y con una etiqueta extiende o usa según sea el tipo de relación.
Los casos de uso que se consideren los más importantes y que se considere que son los que
más influencian al resto, se describen a un nivel más detallado: en el formato expandido que
incluye otros apartados como en el Figura 2.9. [Ferré, 2015]
33
2.6.2.2. DISEÑO CONCEPTUAL
El objetivo del modelo de contenido es proporcionar una especificación visual de la
información en el dominio relevante para la aplicación Web.
Este es un diagrama UML normal de clases, por ello se debe pensar en las clases que son
necesarias para el caso de estudio. [Citlali, 2014]
DIAGRAMA DE CLASES
Para modelar clases, incluidos sus atributos, operaciones, relaciones y asociaciones con otras
clases, el UML proporciona un diagrama de clase, que aporta una visión estática o de
estructura de un sistema, sin mostrar la naturaleza dinámica de las comunicaciones entre los
objetos de las clases. [Pressman, 2010]
Los elementos principales de un diagrama de clase son cajas, que son los iconos utilizados
para representar clases e interfaces. Cada caja se divide en partes horizontales. La parte
superior contiene el nombre de la clase. La sección media menciona sus atributos. Un atributo
es algo que un objeto de dicha clase conoce o puede proporcionar todo el tiempo. Por lo
general, los atributos se implementan como campos de clase, pero no necesitan serlo. Podrían
ser valores que la clase puede calcular a partir de sus variables o valores instancia y que
puede obtener de otros objetos de los cuales está compuesto. Por ejemplo, un objeto puede
conocer siempre la hora actual y regresaría siempre que se solicite. Por tanto, sería adecuado
mencionar la hora actual como un atributo de dicha clase de objetos. Sin embargo, el objeto
muy probablemente no tendría dicha hora almacenada en una de sus variables instancia,
porque necesitaría actualizar de manera continua ese tiempo. En vez de ello, el objeto
probablemente calcularía la hora actual (por ejemplo, a través de consulta con objetos de
otras clases) en el momento en el que se solicite la hora. La tercera sección del diagrama de
clase contiene las operaciones o comportamientos de la clase. Una operación es lo que puede
hacer los objetos de la clase. Por lo general, se implementa como un método de la clase.
[Pressman, 2010]
34
La Figura 2.10 se presenta un ejemplo simple de una clase Thoroughbred (pura sangre) que
modela caballos de pura sangre. Cada atributo puede tener un nombre, un tipo y un nivel de
visibilidad son opcionales. El tipo sigue al nombre y se separa de él mediante dos puntos. La
visibilidad se indica mediante -, #, ̴, o + precedente, que indica, respectivamente, visibilidad
privada, protegida, paquete o pública. [Pressman, 2010]
Los diagramas de clase también pueden mostrar relaciones entre clases. Una clase que sea
una subclase de otra clase se conecta con ella mediante una flecha con línea sólida y con una
punta triangular hueca. La flecha apunta de la subclase a la superclase. En UML tal relación
se llama generalización. Por ejemplo en la Figura 2.10 las clases Thoroughbred y QuartHorse
(caballo cuarto de milla) se muestran como subclases. Una línea con una flecha punteada
indica implementación de una interfaz. En UML tal relación se llama realización. Por
ejemplo, en la Figura 2.10 la clase Horse implementa o realiza la interfaz OwnedObject.
[Pressman, 2010]
Una asociación entre dos clases significa que existe una relación estructural entre ellas. Las
asociaciones se representan mediante líneas sólidas. [Pressman, 2010]
Una asociación con una flecha en un extremo indica navegabilidad en un sentido. La flecha
significa que, desde una clase es posible acceder con facilidad a la segunda clase asociada
hacia la que apunta la asociación. Una asociación sin flechas por lo general indica asociación
de dos vías que es lo que se pretende en la Figura 2.11. Una relación de dependencia
representa otra conexión entre clases y se indica mediante línea punteada (con flechas
35
opcionales en los extremos y con etiquetas opcionales). Una clase depende de otra si los
cambios en la segunda pueden requerir cambios en la primera. [Pressman, 2010]
36
Figura 2. 13 Ejemplo de las clases de navegación
Fuente [Citlali, 2015]
Los estereotipos y los iconos para el diseño de navegación son definidos en el siguiente
listado [Kroiβ, 2008]:
Node
En abstracto hablado, un nodo puede ser cualquier tipo de nodo en un gráfico de navegación.
Esto significa generalmente que cuando se alcanza el nodo durante la navegación, el usuario
está provisto de alguna información y se ofrece opcionalmente la posibilidad de llevar a cabo
una o más acciones. Un nodo no representa necesariamente una página de la aplicación Web,
aunque puede hacerlo. Lo que se muestra en una página se define en el modelo de
presentación.
37
Link
Un enlace es un borde de la gráfica de navegación y por lo tanto conecta dos nodos. Nota
recordar que así como un nodo no siempre representa una página, un enlace no tiene que
representar una transición de página que se desencadena por una acción del usuario.
NavigationClass
NavigationProperty
NavigationLink
Un enlace de navegación es un enlace que conecta a cualquier tipo de nodos excepto las
clases de procesos. Si cualquiera de origen o de destino de un enlace es una clase de proceso,
entonces se utiliza un enlace de proceso.
Menú
Un menú se utiliza para manejar rutas de navegación alternativos. Tenga en cuenta que un
menú en el modelo de navegación no siempre se representa como un menú en el sentido de
las interfaces de usuario. Esto se debe a dos nodos que están conectados a través de un menú
podrían definirse a ser prestados simultáneamente en el modelo de presentación.
38
Index
Query
Una consulta se utiliza para recuperar el contenido de una fuente de datos. A diferencia de
un índice, una consulta no obtiene su conjunto de instancias de clase de contenido desde un
predecesor de la ruta de navegación , sino más bien de una base de datos o cualquier otro tipo
de fuente de datos que admite consultas . Una consulta puede requerir parámetros de
búsqueda, como por ejemplo, para buscar las películas por título. En este caso, el modelo de
presentación debe contener elementos que proporcionan una interfaz de usuario para el
llenado de los valores para los parámetros.
En la Figura 2.14 se puede ver los estereotipos y sus iconos para el diseño de presentación y
también se muestra un ejemplo de modelado de una página de presentación en la Figura 2.15
39
Figura 2. 14 Estereotipos y sus íconos para el diseño de presentación
Fuente [Pérez, 2010]
Los estereotipos y los iconos para el diseño de presentación son definidos en el siguiente
listado [Kroiβ, 2008]:
PresentationClass
Page
Una página tiene la misma semántica que una clase de presentación, con la excepción de que
puede que no sea incluida dentro de otra clase de presentación. Esto significa que una página
define siempre la raíz de un árbol de inclusión de clases de presentación. A diferencia de una
clase de presentación, una página no tiene por qué estar asociada con un nodo de navegación,
con tal de que incluye al menos una clase de presentación que proporciona la referencia al
modelo de navegación.
PresentationGroup
40
valor por defecto, que se selecciona si ninguno de los nodos de navegación asociados se ha
alcanzado todavía. La inclusión de alternativas funciona igual que la inclusión de elementos
de presentación en las clases normales de presentación, por lo que cada clase de presentación
alternativa se utiliza como el tipo de una propiedad presentación que es propiedad del grupo
de presentación.
Form
A elementos de la interfaz de usuario forman grupos que se utilizan para proporcionar datos
para un proceso.
Anchor
Button
Text
Un elemento de texto se utiliza para pantallas de texto estático. El contenido puede ser
proporcionado por un sistema de navegación.
TextInput
41
Image
42
La estrategia propuesta, denominada Metodología de Evaluación de Calidad de Sitios Web
(o, en inglés, Web-site Quality Evaluation Method, o, metodología Web-site QEM), pretende
realizar un aporte ingenieril a proponer un enfoque sistemático, disciplinado y cuantitativo
que se adecue a la evaluación, comparación y análisis de la calidad de sistemas de
información centrados en la Web (más o menos complejos). [Olsina, 1999]
Si bien la metodología puede ser empleada en cualquier fase del ciclo de vida de los productos
(a saber, la fase de exploración, fase de desarrollo y fase operativa), las etapas en este estudio
se focalizarán primeramente en la fase operativa, esto es, en la evaluación de artefactos Web
ya existentes u operativos. No obstante, es también objetivo de esta investigación, emplear
sistemáticamente a Web-site QEM, en la evaluación de nuevos proyectos de desarrollo.
[Olsina, 1999]
43
Figura 2. 16 Un panorama de los principales módulos en el proceso de evaluación usando
Web-site QEM
Fuente [Olsina, 1999]
44
jerárquicamente específica a tosas las características y atributos cuantificables que modelan
a la calidad según las necesidades del usuario. En la figura 2.17 se muestra un ejemplo.
[Olsina, 1999]
45
Figura 2. 18 Taxonomía de tipos de criterios elementales
Fuente [Olsina, 1999]
46
métrica indirecta). Por ejemplo, se empleó este tipo de criterio para determinar la
preferencia de calidad del atributo Soporte a Lenguaje Extranjero. [Olsina, 1999]
- Criterio Binario. Este criterio es el más simple de los criterios discretos y absolutos.
El criterio para la variable binaria X se mapea en una preferencia elemental cuyas
coordenadas son: de (0 a 1). [Olsina, 1999]
- Criterio de Multi-nivel. Este criterio es una generalización del criterio binario. La
variable discreta puede tomar más de dos valores, cada uno de los cuales se
corresponde a una preferencia de calidad cuyas coordenadas son: (0 a 0), (1 a 60), (2,
100). [Olsina, 1999]
- Criterio de Multi-nivel definido como Subconjunto. Este criterio es uno multi-
nivel definido como un subconjunto de los números naturales (en una escala
estrictamente ordinal). La variable discreta puede tomar más de dos valores, cada uno
de los cuales se corresponde a una preferencia de calidad, la variable discreta X se
mapea en valores de preferencias cuyas coordenadas son: (0 a 0), (1 a 60), (2, 100).
[Olsina, 1999]
- Criterio de Multi-variables discretas. Este criterio permite agrupar varias variables
discretas y modelar el resultado en una única variable X. De este modo se puede
reducir la cantidad de criterios elementales. Sea el conjunto de variables discretas
D1,…, Dn, entonces se puede definir una variable compuesta X, también discreta,
como función de las anteriores. [Olsina, 1999]
47
Otros criterios
Finalmente, otros criterios podrían emplearse para modelar las preferencias de sistemas
competitivos. Los mismos son de utilidad cuando se relacionan variables entre sistemas
competitivos para determinar el indicador de calidad relativo, para cada sistema. No nos
extenderemos en la explicación de estos criterios, debido principalmente a que no fueron
utilizados en los casos de estudio que estamos desarrollando. [Olsina, 1999]
48
seleccionado. Se consideran tipos de funciones de agregación para modelar diferentes
relaciones entre atributos y características, a saber: relaciones de reemplazabilidad,
simultaniedad, neutralidad y diferentes niveles de polarización “y/o” (and/or). Una vez
definidos y consensuados los criterios, se debe llevar a cabo el proceso de cálculo y ranquin.
[Olsina, 1999]
Se podría expresar el indicador o preferencia global (IG) mediante el uso de una sumatoria:
𝑛
Finalmente se obtiene los valores de las preferencias para las características de más alto nivel,
y valores finales. Las filas resaltadas en verde corresponden a los valores máximos. [Olsina,
1999]. Ver Figura 2.20
49
2.8. SEGURIDAD DE SOFTWARE
ISO 17799 es una norma internacional que ofrece recomendaciones para realizar la gestión
de la seguridad de la información dirigidas a los responsables de iniciar, implantar o mantener
la seguridad de una organización.
ISO 17799 define la información como un activo que posee valor para la organización y
requiere por tanto de una protección adecuada para asegurar la continuidad del negocio,
minimizar los daños a la organización y maximizar el retorno de las inversiones y las
oportunidades de negocio. [Villalón, 2004]
El objetivo de la norma es proporcionar una base común para desarrollar normas de seguridad
dentro de las organizaciones y ser una práctica eficaz de la gestión de seguridad. [Villalón,
2004]
50
realidad. El proceso de gestación de un aplicativo de software encierra un conjunto de
actividades, una de las primeras para el usuario es el de resolver un dilema nada sencillo,
como el de determinar si es conveniente entrar en un proyecto de desarrollo de software o
adquirir uno producto terminado. [Pressman, 2010]
El Análisis Coste-Beneficio
La técnica del análisis coste/beneficio tiene como objetivo fundamental proporcionar una
medida de los costes en que se incurre en la realización de un proyecto y comparar dicha
previsión de costes con los beneficios esperados de la realización de dicho proyecto.
En general los costes suelen ser cuantificables y estimables en unidades económicas, no así
los beneficios, los cuales pueden ser tangibles o intangibles. En un análisis coste/beneficio
se debe considerar aquellos aspectos tangibles, es decir, cuantificables en valores como
dinero, tiempo, etc., e intangibles, es decir, no ponderables de una forma objetiva. Aunque
los beneficios intangibles sean difíciles de cuantificar no hay razón para no tenerlos en
cuenta, debiendo involucrar para ello a las diferentes partes implicadas (stakeholders)
(marketing, finanzas, etc.). Como ejemplo (Bendix & Borracci, 2005) al efectuar cálculos
sobre el coste - beneficio en áreas de ingeniería como la gestión de la configuración software
comentan como en algún momento encuentran elementos que son subjetivos de medir, pero
que igualmente los consideran en las estimaciones coste – beneficio. [Pressman, 2010]
COCOMO II
El modelo constructivo de costos más conocido como COCOMO por sus siglas en inglés
Constructive Cost Model es uno de los más difundidos y exitosos en la ingeniería del
software, en general, un modelos algorítmico de costos creado en los años 80 por Barry
Boehm y su equipo luego de un amplio estudio estadístico de diversos proyectos
informáticos.
51
de desarrollo de software. El número de meses-persona es diferente que la duración del
proyecto, este último obtenido de la diferencia entre la fecha de inicio y fin del proyecto; y
también es diferente del número de personas que participan de un proyecto. [Pressman, 2010]
52
CAPÍTULO III MARCO APLICATIVO
3.1. INTRODUCCIÓN
53
Antes de comenzar con la fase del Pre-game se observó los procesos y actividades que
realizan en la Institución Kumon Unidad Semilla el cual se muestra en la Figura 3.2 mediante
un diagrama de casos de uso general del Sistema.
54
Tutor Responsable o tutor de uno o varios
alumnos para la inscripción
Realiza el pago de mensualidad
Tabla 3. 1 Definición de actores
Fuente [Elaboración propia]
3.3. PRE- GAME
3.3.1. PLANIFICACIÓN
55
3.3.2. ARQUITECTURA DEL SISTEMA
Los actores mencionados en la Tabla 3.1, se representan en tres niveles a los cuales ellos
podrían acceder dependiendo del privilegio de acceso que tengan en el sistema.
Se definió la arquitectura del Sistema Web mediante el patrón de diseño Modelo Vista
controlador como se muestra en la Figura 3.3
3.4. GAME
3.4.1. PRIMERA ITERACIÓN (SPRINT 1)
56
1.1 Análisis de requerimientos para la Análisis 1 Terminado
administración de usuarios y
autenticación de usuario
1.2 Diseñar el modelado de administración Diseño 1 Terminado
de usuario y autenticación
1.3 Diseñar la interface para la Diseño 1 Terminado
administración de usuarios
1.4 Diseñar la interface para la autenticación Diseño 3 Terminado
de usuario
1.5 Desarrollar el módulo de administración Desarrollo 4 Terminado
de usuarios
1.6 Desarrollar el módulo de autenticación Desarrollo 5 Terminado
de usuario
1.7 Pruebas del módulo de administración de 1 Terminado
usuarios y módulo de autenticación de
usuarios
Tabla 3. 3 Sprint 1
Fuente [Elaboración propia]
En el Sprint 1 se desarrollaron las siguientes funcionalidades para el Sistema:
En esta etapa se revisó el cumplimiento de las tareas planificadas, como se puede observar
en la Tabla 3.4
Para verificar el producto entregable del Sprint 1, se realizaron las siguientes pruebas de
funcionalidad.
57
- Estar registrado en la base de datos del Sistema web
Datos/Proceso:
- Digitar el nombre de usuario
- Digitar la contraseña
- Presionar el botón ingresar
Resultados esperados:
En caso de iniciar sesión con éxito, dependiendo a la jerarquía de usuario lo llevara a la
página principal del Sistema Web.
En caso del ingreso de datos incorrecto o datos no registrados en la base de datos, el sistema
debe mostrar el mensaje de verificar datos.
Post-condición:
Inicio de sesión con éxito
Resultados obtenidos:
Se obtuvieron los resultados esperados
Tabla 3. 4 Pruebas de funcionalidad - Inicio de sesión
Fuente [Elaboración propia]
Las pruebas de funcionalidad que se hicieron para el registro de usuarios se muestran en la
Tabla 3.5
58
Resultados esperados:
En caso de registro de usuario con éxito se actualiza automáticamente la lista de usuarios.
En caso de que en el proceso de registro de usuario se ingresen datos incorrectos se
mostrara un mensaje de alerta.
Post-condición:
- Registro de usuario con éxito
- Actualización automática de la lista de usuarios
Resultados obtenidos:
Registra usuarios de manera exitosa y muestra la lista de usuarios.
Tabla 3. 5 Pruebas de funcionalidad - Registro de usuarios
Fuente [Elaboración propia]
Las pruebas de funcionalidad para el proceso de administración de usuarios se detallan en la
Tabla 3.6
59
Post-condición:
- Actualización de datos de usuario de forma exitosa
- Dar baja a usuario realizado con éxito
- Lista actualizada de usuarios activos
Resultados obtenidos:
Realiza el proceso de administración de usuarios de manera exitosa.
Tabla 3. 6 Pruebas de funcionalidad - Administración de usuario
Fuente [Elaboración propia]
En el modelo de requerimientos para el Sprint 1 se elabora los casos de uso que describen el
proceso de administración de usuario y la autenticación de usuario. Ver Figura 3.4 y Figura
3.5
60
Figura 3. 5 Diagrama de casos de uso - Autenticación de usuario
Fuente [Elaboración propia]
61
POST- Procesos de administración de usuarios realizado con
CONDICIÓN éxito
PRESUNCIÓN El que realiza la administración de usuarios debe ser el
Administrador del sistema
Tabla 3. 7 Detalle de caso de uso Administración de usuario
Fuente [Elaboración propia]
62
Figura 3. 6 Diagrama de navegación Administración de usuarios
Fuente [Elaboración propia]
63
c) Modelo de presentación para la administración de usuarios
En la Figura 3.8 se puede observar todos los componentes de la interfaz gráfica para el
registro y actualización de los usuarios registrados en el Sistema Web.
En la Figura 3.9 se puede observar todos los componentes de la interfaz gráfica para la
autenticación de usuario registrados en el Sistema Web.
64
3.4.2. SEGUNDA ITERACIÓN (SPRINT 2)
Tabla 3. 9 Sprint 2
Fuente [Elaboración propia]
Las pruebas de funcionalidad del módulo de inscripción caso nuevo alumno se detalla en la
Tabla 3.10
65
PRUEBA 2.1 OPERACIÓN: Inscripción de nuevo
alumno
Precondición:
- Conexión a la área local
- Iniciar sesión
Datos/Proceso:
- Presionar en el menú la opción inscripciones y entrar al submenú nueva inscripción
- Digitar datos del tutor, alumno y seleccionar la materia a inscribir
- Presionar el botón inscribir
Resultados esperados:
En el caso de registro de nueva inscripción se mostrara un mensaje que confirme la correcta
inscripción.
En caso de que en el proceso de nueva inscripción, se ingresen datos incorrectos se
mostrara un mensaje de alerta.
Post-condición:
- Registro de nueva inscripción realizado con éxito.
Resultados obtenidos:
Registra nueva inscripción de alumno de manera exitosa.
Tabla 3. 10 Pruebas de funcionalidad - Inscripción de nuevo alumno
Fuente [Elaboración propia]
Las pruebas de funcionalidad del módulo de inscripción en este caso el tutor desea inscribir
a otro hijo se detalla en la Tabla 3.11
66
- Iniciar sesión
Datos/Proceso:
- Presionar en el menú la opción inscripciones y entrar al submenú adicionar hijo
- Digitar el CI o NIT de tutor para la búsqueda de datos de tutor
- Digitar datos del alumno y seleccionar la materia a inscribir
- Presionar el botón inscribir
Resultados esperados:
En el caso de adicionar un hijo para una nueva inscripción se mostrara un mensaje que
confirme la correcta inscripción.
En caso de que en el proceso de adición de nuevo hijo, se ingresen datos incorrectos se
mostrara un mensaje de alerta.
Post-condición:
- Registro de nueva inscripción realizado con éxito.
Resultados obtenidos:
Registra nueva inscripción de alumno de manera exitosa.
Tabla 3. 11Pruebas de funcionalidad - Adicionar hijo para nueva inscripción
Fuente [Elaboración propia]
67
- Presionar el botón dar alta
Resultados esperados:
En el caso de dar de alta a un alumno antiguo se mostrara un mensaje que confirme la
correcta inscripción.
En caso de que en el proceso no encuentre al alumno antiguo, entonces se deberá realizar
una nueva inscripción
Post-condición:
- Proceso de dar de alta a alumno antiguo realizado con éxito.
Resultados obtenidos:
Alumno dado de alta de manera exitosa
Tabla 3. 12 Pruebas de funcionalidad - Inscripción de alumno antiguo
Fuente [Elaboración propia]
3.4.2.2. MODELADO SPRINT 2
68
La descripción extendida de los casos de unos para proceso de inscripción de alumnos se
detalla en la Tabla 3.13
El diseño navegacional donde se muestran todos los links y nodos para el proceso de
inscripción de un alumno, para este proceso se puede observar que el usuario del Sistema
debe estar autenticado. Ver Figura 3.11
69
Figura 3. 11 Diagrama de navegación del proceso de inscripción
Fuente [Elaboración propia]
c) Modelo de estructura de presentación para el proceso de inscripción
En la Figura 3.12 se puede observar todos los componentes de la interfaz gráfica para la
inscripción de un alumno registrados en el Sistema Web.
70
3.4.3. TERCERA ITERACIÓN (SPRINT 3)
71
PRUEBA 3.1 OPERACIÓN: Pago de mensualidad
Precondición:
- Conexión a la área local
- Iniciar sesión
Datos/Proceso:
- Presionar en el menú la opción de cobros
- Ingresar en el menú de mensualidades
- Seleccionar la materia en el que está inscrito el alumno
- Buscar al estudiante
- Presionar el botón ver deudas
- Registra el pago de la mensualidad
- Presionar el botón de finalizar pago
Resultados esperados:
La búsqueda de alumno inscrito en una materia se realiza de forma precisa.
Con el pago de mensualidades se actualiza las deudas del alumno.
En caso de no registra de manera adecuada el pago de una mensualidad se mostrara un
mensaje de alerta
Post-condición:
Con el pago de mensualidad se actualizara las deudas del alumno.
Resultados obtenidos:
El registro del pago de mensualidad es realizado con éxito.
Tabla 3. 15 Pruebas de funcionalidad- Pago de mensualidades
Fuente [Elaboración propia]
3.4.3.2. MODELADO SPRINT 3
72
Figura 3. 13 Diagrama de casos de uso - Pago de mensualidades
Fuente [Elaboración propia]
La descripción extendida de los casos de unos para proceso de pago de mensualidades se
detalla en las siguientes tablas. Ver Tabla 3.16
73
Solicita guardar el Guarda el pago
pago de mensualidad efectuado en la base
del alumno de datos
PRECONDICIÓN El administrador o responsable debe haber iniciado
sesión e ingresado a la opción de pago de
mensualidades
POST- Pago de mensualidad guardado de forma exitosa
CONDICIÓN
PRESUNCIÓN El que realiza el proceso de pago de mensualidad debe
estar registrado en la base de datos del sistema como
usuario Responsable o Administrador
Tabla 3. 16 Detalle caso de uso Pago de mensualidades
Fuente [Elaboración propia]
El diseño navegacional donde se muestran todos los links y nodos para el proceso de pago
de mensualidades según las especificaciones obtenidas. Ver Figura 3.14
74
c) Modelo de estructura de presentación para el proceso de pago de mensualidades
En la Figura 3.15 se puede observar todos los componentes de la interfaz gráfica para el pago
de mensualidades.
75
4.2 Construir el modelado para el módulo de Diseño 1 Terminado
configuraciones de usuario y módulo de
reportes
4.3 Diseñar la interfaz para el módulo de Diseño 4 Terminado
configuración
4.4 Diseñar la interfaz para el módulo de Diseño 4 Terminado
reportes
4.5 Desarrollo del módulo de Desarrollo 5 Terminado
configuraciones
4.6 Desarrollo del módulo de reportes Desarrollo 5 Terminado
4.7 Pruebas del módulo de configuraciones Prueba 1 Terminado
y reportes
4.8 Diseñar el modelado dela base de datos Diseño 1 Terminado
4.9 Diseñar y construir la base de datos Diseño 1 Terminado
Tabla 3. 17 Sprint 4
Fuente [Elaboración propia]
En el Sprint 4 se desarrollaron las siguientes funcionalidades para el Sistema:
Configuración de cuenta
Administración de materias
Dar de baja a alumno
Generación de reportes
76
- Iniciar sesión
Datos/Proceso:
- Presionar en el menú la opción de configuraciones y luego materias
- Digitar los datos de materia a registrar
- Presionar el botón guardar
- Verificar el registro de la materia en la lista de materias
- Si se desea actualizar los datos de una materia se selecciona la materia y presiona
el botón de modificar y se guarda los cambios realizados
Resultados esperados:
En caso de registro de una nueva materia con éxito se actualiza automáticamente la lista
de materias, mostrando un mensaje de confirmación.
En el caso de que se actualice una materia de forma exitosa se mostrara un mensaje de
confirmación.
En caso de que en el proceso de registro de materia se ingresen datos incorrectos se
mostrara un mensaje de alerta.
Post-condición:
- El registro de una materia es realizado de manera exitosa
- La actualización de datos de una materia es realizado de manera exitosa.
Resultados obtenidos:
Materia registrada de forma exitosa
Actualización de datos de materia guardados de forma exitosa
Tabla 3. 18 Pruebas de funcionalidad – Administración de materias
Fuente [Elaboración propia]
Las pruebas realizadas para el proceso de configuración de cuenta en la Tabla 3.19
77
Datos/Proceso:
- Presionar en el menú la opción de configuraciones y entrar al submenú
configuración de cuenta
- Digitar los datos que se quiere actualizar
- Presionar el botón actualizar
Resultados esperados:
En el caso de actualizar los datos de cuenta de usuario se mostrara un mensaje que confirme
la correcta actualización de datos.
En caso de que en el proceso actualización de datos de usuario, se ingresen datos
incorrectos se mostrara un mensaje de alerta.
Post-condición:
- La actualización de datos de un usuario es realizado de manera exitosa
Resultados obtenidos:
Actualización de datos de cuenta guardado de forma exitosa
Tabla 3. 19 Pruebas de funcionalidad - Administración de materias
Fuente [Elaboración propia]
Las pruebas realizadas para el proceso para dar de baja a un alumno se detallan en la Tabla
3.20
78
Se lista los alumnos inscritos en la materia seleccionada y se observa los botones para dar
de baja al alumno que se selecciona.
Post-condición:
- Lista de todos los alumnos inscritos en la materia seleccionada
- Se cambia el estado del alumno a 0 lo que indica que esta dado de baja
Resultados obtenidos:
La actualización del estado del alumno es guardado de forma exitosa
Tabla 3. 20 Pruebas de funcionalidad - Dar de baja a un alumno
Fuente [Elaboración propia]
Las pruebas realizadas para el proceso de generación de reportes se detallan en la Tabla 3.21
79
3.4.4.2. MODELADO SPRINT 4
En este modelo de requerimientos también se tiene la descripción con casos de uso, para el
proceso de generación de reportes del Sistema como ser reportes de estudiantes inscritos,
reporte de deudas por mes, reporte de cobros realizados dada una fecha. Este modelo de
requerimiento se detalla en la Figura 3.17
80
Figura 3. 17 Diagrama de casos de uso - Reportes
Fuente [Elaboración propia]
81
adicionar, modificar y modificar y guardar
eliminar una materia datos de la cuenta
Si elige la opción de En configuración de
mensualidad entonces materia muestra un
puede modificar el formulario donde se
monto de la puede adicionar,
mensualidad modificar y eliminar
Si elige la opción de materia
matrícula puede En configuración de
modificar el precio de mensualidad muestra
la misma un formulario para
modificar el monto de
la mensualidad
En configuración de
matrícula muestra un
formulario donde se
puede modificar el
precio de la matrícula
Guarda las
configuraciones
realizadas
PRECONDICIÓN El administrador debe haber iniciado sesión e ingresado
a la opción de configuraciones y seleccionado una opción
POST- Configuraciones guardadas de forma exitosa
CONDICIÓN
PRESUNCIÓN El que realiza alguna configuración debe estar registrado
en la base de datos del sistema como usuario
Administrador
Tabla 3. 22 Detalle caso de uso Configuraciones de usuario
Fuente [Elaboración propia]
82
ACTORES Administrador
DESCRIPCIÓN Se describe el proceso de reportes del Sistema
FLUJO EVENTO ACTOR EVENTO SISTEMA
PRINCIPAL Ingresa al menú de Despliega un
reportes submenú de reportes
Selecciona reportes Genera reporte de
de tutores y alumnos alumnos con sus
Selecciona reportes respectivos tutores
de estudiantes Genera reporte de
inscritos estudiantes inscritos
Selecciona reportes Genera reporte de
de deudas por mes deudas por mes
Selecciona reporte de Genera reporte de
cobros realizados en cobros realizados
una fecha dada una fecha
PRECONDICIÓN El administrador debe haber iniciado sesión e
ingresado a la opción de reportes
POST- La generación de reportes es exitoso
CONDICIÓN
PRESUNCIÓN El que realiza inscripción debe estar registrado en la
base de datos del sistema como usuario Responsable o
Administrador
Tabla 3. 23 Detalle caso de uso Reportes
Fuente [Elaboración propia]
El diseño navegacional donde se muestran todos los links y nodos para el proceso de
configuraciones de usuarios donde se realiza registro de usuarios, configuración de cuenta,
administración de materias, modificación de mensualidades. Ver Figura 3.18
83
Figura 3. 18 Diagrama de navegación para la configuración de usuario administrador
Fuente [Elaboración propia]
c) Modelo de estructura de presentación para el proceso configuración de cuenta
En la Figura 3.19 se puede observar todos los componentes de la interfaz gráfica para la
configuración de cuenta de usuario
84
d) Modelo de estructura navegación para la generación de reportes
El diseño navegacional para el módulo de reportes donde se puede observar los links y nodos
para generar reportes que necesita el administrador para la toma de decisiones. Ver Figura
3.20
En la Figura 3.21 se puede observar todos los componentes de la interfaz gráfica para la
generación de reportes del Sistema Web
85
f) Diseño conceptual
El modelado basado en clases representa los objetos que manipulara el sistema donde se
puede observar la relación de la estructura de datos para el registro de la información que
genera la institución Kumon Unidad Semilla representada mediante el diagrama de clases.
Ver Figura 3.22
Una vez obtenidos los requerimientos mediante el modelado de caos de uso y el diagrama de
clases, se puede obtener el modelo físico. Ver Figura 3.23
86
Figura 3. 23 Modelo físico de la base de datos
Fuente [Elaboración propia]
87
3.5. POST- GAME
Durante cada Sprint se hace el cierre y la entrega de los productos. En esta fase se muestran
todos los productos entregables que resulto de cada Sprint.
La Figura 3.24 muestra el panel de inicio de sesión, pueden iniciar sesión todos los usuarios
activos y registrados en la base de datos, deben ingresar el nombre de usuario y su contraseña.
Una vez que el usuario inicie sesión de manera correcta el sistema muestra la pantalla de
inicio de sistema como se muestra en la Figura 3.25
88
Figura 3. 25 Interface - Página de inicio del sistema
Fuente [Elaboración propia]
c) Interface: Administración de usuarios
89
d) Interface: Administración de materias
El usuario Administrador puede realizar la administración de materias a través del panel que
se muestra en la Figura 3.27 el cual realiza los procesos de adición, modificación de una
materia
El usuario administrador puede dar de baja a un alumno cuando este ya no tenga una
asistencia regular a las clases, primero debe seleccionar la materia, luego se listara la lista de
alumnos y luego puede presionar el botón de dar de baja. Este proceso se muestra en la Figura
3.28
90
f) Interface: Inscripciones
La siguiente Figura 3.29 muestra el panel de inscripción de nuevo alumno, donde se registran
datos del tutor, pariente, alumno, las materias a inscribir. Para guardar la inscripción se
presiona el botón inscribir.
En la figura 3.30 muestra el panel de pago de matrículas, donde se muestra la lista de todos
los alumnos que deben matrícula, se ingresa el monto a cancelar y presiona el botón de pagar
para que se actualice el saldo de la matrícula.
91
Figura 3. 30 Interface - Pago de matricula
Fuente [Elaboración propia]
h) Interface: Pago de mensualidades
92
Figura 3. 32 Interface - Reporte de alumnos inscritos
Fuente [Elaboración propia]
a) Transferencia de datos
En la Figura 3.33 se muestra el tiempo de conexión de los usuarios al sistema y se observa
que el uso de memoria puede llegar a 100% de su uso, y después de unos segundos el uso de
la memoria va disminuyendo.
93
La siguiente Figura 3.34 se observa la transferencia de datos y el tiempo de respuesta del
sistema a las peticiones de usuario.
94
CAPÍTULO IV CALIDAD Y SEGURIDAD
4.1. INTRODUCCIÓN
Para valorar la calidad del Sistema Web se proporciona la información adecuada sobre los
datos necesarios referentes a la calidad del producto, permitiendo el cumplimiento de los
objetivos del proyecto. Para poder valorar la calidad del Sistema Web se aplicó la
metodología Web-site QEM la cual sirve para la evaluación de calidad de sitios web cuyo
autor es Luis Antonio Olsina.
La seguridad es uno de los aspectos más importantes, siendo el software desarrollado para la
web y tomando en cuenta que todos los datos almacenados son de vital importancia. Por lo
tanto para este capítulo se utilizó como base el UNE-ISO /IEC 17779.
4.2. CALIDAD
Pressman define a la calidad de software como: Proceso eficaz de software que se aplica de
manera que crea un producto útil que proporciona valor medible a quienes lo producen y a
quienes lo utilizan.
Usamos la metodología Web-site QEM en diferentes fases del proceso de desarrollo. Para el
caso de estudio, en nuestro caso se hace la siguiente hipótesis: “El Sistema Web de
inscripciones y control de pagos tiene calidad en sus artefacto, satisfacen en general los
requerimientos de calidad en consideración de perfil de usuario y al menos el punto crítico
de aceptabilidad del 60 % de la preferencia global, conforme a los requerimientos de calidad
acordados”
95
Usuario Administrador
Usuario Responsable
Por otra parte, el perfil de usuario seleccionado para este estudio fue el de usuario
Administrador
96
2.1.1 Mecanismos de búsqueda en el sitio 4.1.1 Legibilidad clara de texto
2.1.1.1 Búsqueda especificas 4.1.2 Legibilidad global
2.2 Aspectos de navegación y exploración 4.2 Performancia
2.2.1 Navegabilidad local 4.2.1 Páginas rápidas
2.2.2 Orientación
2.2.2.1 Indicador del camino
2.2.2.2 Etiqueta de la posición actual
A partir del árbol de calidad antes esquematizado, y para cada atributo cuantificable Ai se
asocia y determina la variable Xi, que tomara un valor a partir de un proceso de medición.
Además para el rango de valores acordados para la variable Xi, por medio de un criterio
elemental se hace corresponder una preferencia elemental. Ver Figura 4.1
𝑋
𝐶𝑉𝑁 ∶ 𝐼𝐸 = ∗ 100 𝑐𝑜𝑛 𝑋 = ∑ 𝑃𝑢𝑛𝑡𝑎𝑗𝑒𝑠 𝑚𝑎𝑥𝑖𝑚𝑜𝑠 , 𝑌 = ∑ 𝑃𝑢𝑛𝑡𝑎𝑗𝑒𝑠 𝑜𝑏𝑡𝑒𝑛𝑖𝑑𝑜𝑠
𝑌
97
𝑋
𝐶𝑁 ∶ 𝐼𝐸 = ∗ 100 𝑐𝑜𝑛 𝑋 = 𝐶𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑡𝑜𝑡𝑎𝑙 𝑑𝑒 𝑑𝑎𝑡𝑜𝑠 𝑝𝑎𝑟𝑎 𝑙𝑎 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒 𝑦 𝑌
𝑌
= 𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑡𝑜𝑡𝑎𝑙
𝐶𝐵 ∶ 𝐼𝐸 = 0 𝑠𝑖 𝑛𝑜 𝑒𝑥𝑖𝑠𝑡𝑒, 𝐼𝐸 = 1 𝑠𝑖 𝑒𝑥𝑖𝑠𝑡𝑒
𝐶𝑀𝑁 ∶ 𝐼𝐸 = 0 ≈ 0 𝑎𝑢𝑠𝑒𝑛𝑡𝑒
La Tabla 4.2 se muestra algunos de los valores obtenidos para las preferencias de calidad
elemental.
98
1.5 Retroalimentación CVN 90
1.5.1 Formularios de entrada CPN 90
1.5.2 Reportes CPN 90
2. Funcionalidad CVN 90.5
2.1 Aspectos de búsqueda CVN 94
2.1.1 Mecanismos de búsqueda en el sitio CVN 95
2.1.1.1 Búsqueda especificas CVN 96
2.2 Aspectos de navegación y exploración CVN 95
2.2.1 Navegabilidad local CVN 95
2.2.2 Orientación CVN 90
2.2.2.1 Indicador del camino CB 1≈100
2.2.2.2 Etiqueta de la posición actual CB 1≈100
2.3 Navegabilidad global CVN 96
2.3.1 Permanencia y estabilidad en la CVN 95
presentación de controles
2.4 Nivel de desplazamiento CVN 85
2.4 Desplazamiento horizontal CB 1≈100
3. Confiabilidad CVN 90
3.1 No deficiencia CVN 90
3.1.1 Errores de enlace CVN 100
3.1.2 Enlaces rotos CMN 2≈100
3.2 Errores o diferencias varias CMN 2≈100
3.2.1 Número de deficiencias debido a CMN 2≈100
diferentes navegadores
3.2.2 Numero de deficiencias o CMN 1≈60
resultados inesperados
4. Eficiencia CVN 90
99
4.1 Accesibilidad de Información CPD 90
4.1.1 Legibilidad clara de texto CPD 90
4.1.2 Legibilidad global CPD 90
4.2 Performancia CVN 90
4.2.1 Páginas rápidas CVN 90
Tabla 4. 2 Computo de las preferencias parciales
Fuente [Elaboración propia]
4.2.4. EVALUACIÓN GLOBAL
Los resultados de los valores de las preferencias de calidad para las características de más
alto nivel, y valores finales. Ver Tabla 4.3
1. Usabilidad 90.2
2. Funcionabilidad 90.5
3. Confiabilidad 90
4. Eficiencia 90
Calidad global 90.2
Tabla 4. 3 Calidad global
Fuente [Elaboración propia]
Observando la tabla 4.3 podemos decir que el Sistema Web de inscripciones y control de
pagos tiene una preferencia de calidad global satisfactoria del 90.2% en todas sus
características de más alto nivel. Por tanto se puede decir que el Sistema Web cumple con
los requisitos de calidad.
100
4.3. SEGURIDAD
Para la seguridad del sistema se utilizó como base el UNE-ISO /IEC 17779, en cuyos
principales puntos para la seguridad de un Sistema son:
Confidencialidad
Integridad
Disponibilidad
Autenticidad
Auditabilidad
4.3.1.2. INTEGRIDAD
101
Para mantener la integridad del Sistema se han definido perfiles de usuario para el acceso
con roles específicos de acuerdo al nivel del usuario, garantizando así la integridad en los
datos, para que personal no autorizado no tenga acceso a modificar, eliminar datos sin
autorización.
4.3.1.3. DISPONIBILIDAD
Este atributo nos permite asegurar el origen de la información, es decir validar la identidad
del usuario para esto el sistema debe verificar su nombre de usuario y la contraseña, para la
seguridad en la autenticación se inscripto la contraseña, una vez validado el usuario y la
contraseña el sistema permite el acceso a la página principal del Sistema.
4.3.2.2. AUDITABILIDAD
Este atributo nos permite determinar qué acciones se han ejecutado en el Sistema Web, quien
lo ha ejecutado, que fecha se ejecutó, y cuáles son los registros afectados. Para esto se lleva
un registro de todas las acciones ejecutadas.
102
CAPÍTULO V ANÁLISIS COSTO Y BENEFICIO
5.1. INTRODUCCIÓN
Es importante tener la planificación o estimación del costo del proyecto para ello el objetivo
de este capítulo es el de mostrar el análisis del costo y beneficio mediante el método
COCOMO II.
Antes de empezar con la estimación del costo del proyecto se hallara el punto función del
Sistema
103
- Número de peticiones del usuario. Una petición se define como una entrada
interactiva que produce la generación de alguna respuesta del software inmediata en
forma de salida interactiva. Se cuenta cada petición por separado.
- Número de archivos lógicos internos. Se cuenta cada archivo maestro lógico (esto
es, un grupo lógico de datos que puede ser parte de un gran base de datos o un archivo
independiente).
- Numero de archivos de interfaz externos. Se cuentan todas las interfaces legibles
por la máquina, por ejemplo archivos de datos de cinta disco que se utiliza para
transmitir información a otro sistema.
Las organizaciones que utilizan métodos de punto función desarrollan criterios para
determinar si una entrada en particular es simple, media, o compleja. Para calcular el punto
función (PF), se utiliza la relación siguiente.
14
Donde cuenta total, es la suma de todas las entradas de PF obtenidas de la tabla anterior.
Número de peticiones de 14 3 4 6 42
usuario
Número de archivos 27 7 10 15 405
104
Cada pregunta es respondida usando una escala de rangos desde 0 a 5 que tiene como valores
la siguiente Tabla 5.2
0 1 2 3 4 5
Sin Incidental Moderado Medio Significativo Esencial
influencia
Tabla 5. 2 Escala de rangos para hallar el punto función
Fuente [Elaboración propia]
Fi son los factores de ajustes de valores basados en las respuestas a las siguientes preguntas
de la Tabla 5.3
105
Σ(Fi) 57
14
𝑃𝐹 = 738.1
5.3. COCOMO II
Uno de los métodos para realizar estimaciones del costo de proyecto es COCOMO II
(COnstructive COst MOdel) orientado a los puntos función. Para la estimación del costo total
del sistema se tomara en cuenta: costo de elaboración del proyecto, costos de software
desarrollado, costos de la implementación del sistema.
Los costos de elaboración del proyecto son obtenidos del estudio del sistema en la etapa de
análisis, estos costos se detallan en la Tabla 5.4
Otros 550
Total 2850
106
5.3.2. COSTOS DEL DESARROLLO DEL SOFTWARE
KLDC = 8.85
Ahora se aplicara las formulas básicas de esfuerzo, tiempo calendario y personal requerido.
E = ab (KLCD)bb
D = cb(E)db
107
En la tabla 5.6 se muestran los tipos de proyecto de software.
Proyecto de software ab bb cb db
E = ab(KLCD)bb*FAE
Por lo tanto se necesitarían 3 programadores para el desarrollo del proyecto. El costo salario
por programador es de 4150 Bs. Por lo tanto con este dato la estimación del costo del
software se calculará con la siguiente formula:
108
= 3*4150 = 12450 Bs
Por lo tanto el costo total del sistema es de 2850 Bs + 12450 Bs + 300 Bs =15600 Bs
La siguiente tabla 5.7 muestra los años de mantenimiento con respecto al costo de egresos e
ingresos, el costo del año uno correspondiente al costo obtenido con COCOMO II
El valor actual neto (VAN), se calcula por medio de los flujos de inversión, cuyo resultado
refleja si la revisión en el proyecto genera beneficios si el resultado que se obtiene es
favorable, lo anterior se calcula con la siguiente formula [Pressman, 2010]:
𝑛
𝑉𝑡
𝑉𝐴𝑁 = ∑ − 𝐼0
(1 + 𝑘)𝑡
𝑡=1
Donde:
109
I0 : Es el valor del desembolso inicial de la inversión
K : Es el interés
Teniendo en cuenta el valor del interés del 10 % y remplazando los datos tenemos:
𝑉𝐴𝑁 = 880
Como el VAN>0, nos indica que las inversión generará ganancias por encima de rentabilidad
exigida. [Pressman, 2010] La fórmula para el cálculo del TIR es :
𝑛
𝑉𝑡
𝑉𝐴𝑁 = ∑ − 𝐼0 = 0
(1 + 𝑇𝐼𝑅)𝑡
𝑡=1
Y se obtiene el valor TIR = 13 %, con Excel y como es un valor positivo, por lo tanto nos
indica que se acepta el desarrollo del proyecto.
En la Tabla 5.8 se muestra el análisis costo beneficio donde la tasa de descuento se calcula
de la siguiente manera: 1/((1+ tasa de descuento) ^ índice año). En este caso la tasa de
descuento tomada es del 10 %.
110
La relación beneficio/costo es como sigue:
Lo que nos indica que por cada boliviano invertido se tiene un rendimiento de 0.85 Bs.
En la siguiente Tabla 5.9 se muestra el costo total del proyecto donde se puede observar los
valores obtenidos del costo de elaboración del proyecto, costo del software desarrollado y el
costo de la implementación.
Por lo tanto el total del proyecto tomando los puntos considerados es 18450 Bs.
111
CAPÍTULO VI CONCLUSIONES Y
RECOMENDACIONES
6.1. CONCLUSIONES
112
6.2. RECOMENDACIONES
113
BIBLIOGRAFÍA
Asteasuain F., Schimidth L., (2014) Aplicación de la Programación Orientada a Aspectos
como solución a los problemas de la seguridad en el software.
Casillas L., Ginesta M., Mora O. (2015) Base de datos en MySQL. Manual práctico
Ferré X., Sanchez M., (2014).Desarrollo Orientado a objetos con UML. Facultad de
informática - UPM
Gauchat J. (2012) El gran libro de Html5, CSS3 y JavaScript. Primera edición. Edición
MARCOMBO. Barcelona.
Nardi A. (2006) Diseño de Proyectos bajo el enfoque de Marco Lógico 11o Encuentro de las
bibliotecas. México.
114
Olsina L.(1999).Metodología Cuantitativa para la Evaluación y Comparación de la Calidad
de Sitios Web. Tesis doctoral. Facultad de Ciencias Exactas Universidad Nacional de La
Plata. Argentina
Pavón J. (2014) Bootstrap 3.0. Dep. Ingeniería del Software e Inteligencia Artificial.
Facultad de Informática. Universidad Complutense Madrid
Pressman R. (2000) Ingeniería Del Software un enfoque práctico. Quinta edición. Editorial
McGrawHill. México
Pressman R. (2010) Ingeniería Del Software un enfoque práctico. Séptima edición. Editorial
McGrawHill. México
Pérez H. (2010) Propuesta de Análisis y Diseño basada en UML y UWE para la migración
de arquitectura de software centralizada hacia internet. Trabajo de graduación. Universidad
de San Carlos de Guatemala.
Sommerville I. (2005) Ingeniería del Software. Séptima edición. Editorial Pearson S.A.
Madrid
115
Villalón A. (2004). Códigos de buenas prácticas de seguridad UNE-ISO/IEC 1779. Manual.
Valencia
Referencias de internet
Tecnología RSS. Consultado el 23 de Noviembre de 2014. Disponible en
http://www.deskshare.com/lang/sp/resources/articles/rss.aspx
http://planificacionymodelado.wikispaces.com/file/view/An%C3%A1lisis+de+Costo+7sm.
doc
116
Página principal Kumon. Consultado el 29 de septiembre de 2015. Disponible en
http:// http://www.kumonla.com
Kroiβ C., Koch N. (2008). UWE Metamodel and Profile.Use. Guide and Reference.Institute
for Informatics. Ludwing- Maximilians-Universität München. Germany
http://sistemas.unla.edu.ar/sistemas /redista/ReLAIS/relais-v2-n3-137-143.pdf
117
ANEXOS
118
ÁRBOL DE PROBLEMAS
119
ÁRBOL DE OBJETIVOS
120
DOCUMENTACIÓN
121