• No se han encontrado resultados

Analisis y diseno del Sistema para la Gestion de la Calidad en la Facultad 8 : Modulo Revisiones y Auditorias

N/A
N/A
Protected

Academic year: 2023

Share "Analisis y diseno del Sistema para la Gestion de la Calidad en la Facultad 8 : Modulo Revisiones y Auditorias"

Copied!
130
0
0

Texto completo

(1)

Universidad de las Ciencias Informáticas

Facultad 8

Análisis y diseño del Sistema para la Gestión de la Calidad en la Facultad 8: Módulo Revisiones

y Auditorías.

Trabajo de Diploma para optar por el título de Ingeniero en Ciencias Informáticas

Autor: Roberto Rodríguez Ríos

Tutora: Msc. Ing. Haydée Mª Cruz Torres Cotutora: Ing. Lidisvey Herrero Gonzalez

Junio de 2009

(2)

Resumen

En el presente trabajo se documentan el análisis y diseño de uno de los módulos del sistema para la Gestión de la Calidad en la Facultad 8, con el objetivo de propiciar su futura implementación y prueba. El módulo consiste en una aplicación web destinada a automatizar las actividades de control: revisiones y auditorías llevadas a cabo por el grupo de calidad. Para el desarrollo del sistema, se siguieron los pasos que propone el Rational Unified Process (RUP), para los flujos de trabajo: Modelación del Negocio, Requisitos, Análisis y Diseño.

Atendiendo a las indicaciones de la Dirección de Calidad de la UCI sobre la realización de las revisiones y auditorías, a la experiencia de la asesora de Calidad de la Facultad y otros expertos del tema, se identificaron y describieron los procesos fundamentales llevados a cabo durante las actividades de revisiones y auditorías. Se diseñó una aplicación que facilitará el control de la calidad de los proyectos de la facultad 8, a través de la orientación de pasos, artefactos y plantillas que pueden ser utilizados por los revisores y auditores del grupo de control. Además la aplicación brindará informaciones de interés que permitirán observar y medir la calidad de los proyectos de la facultad, así como el control y evaluación del personal que participará en las diferentes actividades de control.

(3)

Índice

INTRODUCCIÓN ... 1 

CAPÍTULO 1. FUNDAMENTACIÓN TEÓRICA ... 4 

1.1  INTRODUCCIÓN ... 4 

1.2  INTRODUCCIÓN A LA CALIDAD DE SOFTWARE ... 4 

1.3  CONTROL DE LA CALIDAD ... 4 

1.3.1  Actividades de Control de Calidad ... 5 

1.3.2  Revisiones ... 5 

1.3.2.1  Tipos de Revisiones ... 6 

1.3.3  Auditorías ... 6 

1.3.3.1  Tipos de Auditorías ... 6 

1.3.3.2  Etapas para la realización de auditorías ... 7 

1.4  SISTEMAS SIMILARES PARA LA GESTIÓN DE LA CALIDAD ... 8 

1.4.1  KMKey Quality(KMKEY 2008) ... 8 

1.4.2  ISOSYSTEM Quality Pack(SOFTEXPERT 2008) ... 9 

1.5  HERRAMIENTAS DE MODELADO DE SISTEMAS ... 9 

1.5.1  Visual Paradigm ... 9 

1.5.2  Rational Rose ... 10 

1.5.3  Selección de la herramienta CASE para el modelado del sistema ... 10 

1.6  METODOLOGÍAS DE DESARROLLO DE SOFTWARE ... 10 

1.6.1  El Proceso Unificado de Desarrollo (RUP) ... 10 

1.6.2  Extreme Programing (XP) ... 11 

1.6.3  Microsoft Solution Framework (MSF) ... 12 

1.6.4  Selección de la Metodología a utilizar ... 13 

1.7  DISEÑO DE APLICACIONES WEB ... 14 

1.7.1  Patrones de diseño y arquitectura ... 15 

1.8  DESARROLLO DE APLICACIONES WEB ... 17 

1.8.1  Lenguajes del lado del  Cliente ... 17 

1.8.1.1  HTML ... 17 

1.8.1.2  Java Script ... 18 

1.8.1.3  Selección del (los) lenguaje (s) a utilizar ... 18 

1.8.2  Lenguajes del lado del servidor ... 19 

1.8.2.1  PHP ... 19 

1.8.2.2  ASP ... 19 

1.8.2.3  Selección del (los) lenguaje (s) a utilizar ... 19 

(4)

1.8.3.2  PostgreSQL ... 20 

1.8.3.3  Selección del Gestor de BD a utilizar ... 20 

1.9  CONCLUSIONES DEL CAPÍTULO ... 21 

CAPÍTULO 2. CARACTERÍSTICAS DEL SISTEMA ... 22 

2.1  INTRODUCCIÓN ... 22 

2.2  OBJETO DE ESTUDIO... 22 

2.2.1  Problema y situación problémica ... 22 

2.2.2  Objeto de automatización ... 23 

2.2.3  Información que se maneja ... 23 

2.2.4  Propuesta de sistema ... 23 

2.3  MODELO DE NEGOCIO ... 23 

2.4  REGLAS DEL NEGOCIO A CONSIDERAR ... 24 

2.5  ACTORES Y TRABAJADORES DEL NEGOCIO ... 24 

2.6  DIAGRAMA DE CASOS DE USO DEL NEGOCIO ... 25 

2.7  DESCRIPCIONES TEXTUALES CUN ... 26 

2.8  DIAGRAMAS DE ACTIVIDADES ... 29 

2.9  DIAGRAMA DE CLASES DEL MODELO DE OBJETOS ... 31 

2.10  ESPECIFICACIÓN DE LOS REQUISITOS DEL SISTEMA ... 32 

2.10.1  Requerimientos funcionales ... 32 

2.10.2  Requerimientos no funcionales ... 35 

2.11  MODELACIÓN DEL SISTEMA ... 37 

2.12  ACTORES DEL SISTEMA ... 37 

2.13  DIAGRAMA DE CASOS DE USO DEL SISTEMA ... 38 

2.13.1  Descripción textual de los casos de uso del sistema ... 38 

2.14  CONCLUSIONES DEL CAPÍTULO ... 58 

CAPÍTULO 3. ANÁLISIS Y DISEÑO DEL MÓDULO ... 60 

2.1  INTRODUCCIÓN ... 60 

2.2  MODELO DE ANÁLISIS... 60 

2.2.1  Diagramas de Clases de Análisis ... 60 

2.3  MODELO DE DISEÑO ... 66 

2.4  DIAGRAMAS DE INTERACCIÓN ... 66 

2.5  DIAGRAMAS DE CLASES DEL DISEÑO ... 83 

2.5.1  Descripciones de las clases del diseño ... 94 

2.5.2  Subsistema de acceso a datos ... 114 

2.6  DIAGRAMA DE CLASES PERSISTENTES ... 115 

2.7  MODELO FÍSICO DE DATOS ... 115 

(5)

2.8  DIAGRAMA DE DESPLIEGUE ... 116 

2.9  CONCLUSIONES DEL CAPÍTULO ... 117 

CONCLUSIONES ... 118 

RECOMENDACIONES ... 119 

REFERENCIAS BIBLIOGRÁFICAS ... 120 

GLOSARIO DE TÉRMINOS ... 122 

(6)

Índice de Figuras

FIG.  1  DIAGRAMA DE CASOS DE USO DEL NEGOCIO ... 26 

FIG.  2  DIAGRAMA DE ACTIVIDADES “REALIZAR AUDITORÍA” ... 30 

FIG.  3  DIAGRAMA DE ACTIVIDADES “REALIZAR REVISIÓN” ... 31 

FIG.  4  MODELO DE OBJETOS DEL NEGOCIO ... 32 

FIG.  5  DIAGRAMA DE CASOS DE USO DEL SISTEMA ... 38 

FIG.  6  DIAGRAMA DE CLASES DE ANÁLISIS “GENERAR INFORME DE NCONFORMIDADES” ... 61 

FIG.  7  DIAGRAMA DE CLASES DE ANÁLISIS “GESTIONAR ACCIONES” ... 61 

FIG.  8  DIAGRAMA DE CLASES DE ANÁLISIS “GESTIONAR ACTIVIDAD DE CONTROL” ... 62 

FIG.  9  DIAGRAMA DE CLASES DE ANÁLISIS “GESTIONAR INFORME FINAL” ... 62 

FIG.  10  DIAGRAMA DE CLASES DE ANÁLISIS “GESTIONAR LISTA DE CHEQUEO”... 62 

FIG.  11  DIAGRAMA DE CLASES DE ANÁLISIS “GESTIONAR MINUTA DE REUNIÓN” ... 63 

FIG.  12  DIAGRAMA DE CLASES DE ANÁLISIS “GESTIONAR NCONFORMIDAD” ... 63 

FIG.  13  DIAGRAMA DE CLASES DE ANÁLISIS “GESTIONAR PLANTILLAS DE ACTIVIDAD DE CONTROL” ... 64 

FIG.  14  DIAGRAMA DE CLASES DE ANÁLISIS “GESTIONAR RECOMENDACIÓN” ... 64 

FIG.  15  DIAGRAMA DE CLASES DE ANÁLISIS “GESTIONAR TAREA” ... 65 

FIG.  16  DIAGRAMA DE CLASES DE ANÁLISIS “GESTIONAR PLAN” ... 65 

FIG.  17  DIAGRAMA DE CLASES DE ANÁLISIS “SOLICITAR REPORTES DE ACTIVIDADES DE CONTROL” ... 66 

FIG.  18  DIAGRAMA DE SECUENCIA “GENERAR DOCUMENTO DE NCONFORMIDADES” ... 67 

FIG.  19  DIAGRAMA DE SECUENCIA “GENERAR DOCUMENTO DE NCONFORMIDADES” ... 67 

FIG.  20  DIAGRAMA DE SECUENCIA “GENERAR DOCUMENTO DE NCONFORMIDADES” ... 68 

FIG.  21  DIAGRAMA DE SECUENCIA “GESTIONAR ACCIONES” ... 68 

FIG.  22  DIAGRAMA DE SECUENCIA “GESTIONAR ACCIONES” ... 69 

FIG.  23  DIAGRAMA DE SECUENCIA “GESTIONAR ACCIONES” ... 69 

FIG.  24  DIAGRAMA DE SECUENCIA “GESTIONAR ACTIVIDAD DE CONTROL” ... 70 

FIG.  25  DIAGRAMA DE SECUENCIA “GESTIONAR ACTIVIDAD DE CONTROL” ... 70 

FIG.  26  DIAGRAMA DE SECUENCIA “GESTIONAR ACTIVIDAD DE CONTROL” ... 71 

FIG.  27  DIAGRAMA DE SECUENCIA “GESTIONAR ACTIVIDAD DE CONTROL” ... 71 

FIG.  28  DIAGRAMA DE SECUENCIA “GENERAR INFORME FINAL” ... 72 

FIG.  29  DIAGRAMA DE SECUENCIA “GENERAR INFORME FINAL” ... 72 

FIG.  30  DIAGRAMA DE SECUENCIA “GENERAR INFORME FINAL” ... 73 

FIG.  31  DIAGRAMA DE SECUENCIA “GESTIONAR LISTA DE RECOMENDACIONES” ... 73 

FIG.  32  DIAGRAMA DE SECUENCIA “GESTIONAR LISTA DE RECOMENDACIONES” ... 74 

FIG.  33  DIAGRAMA DE SECUENCIA “GESTIONAR LISTA DE RECOMENDACIONES” ... 74 

FIG.  34  DIAGRAMA DE SECUENCIA “GESTIONAR MINUTA DE REUNIÓN” ... 75 

FIG.  35  DIAGRAMA DE SECUENCIA “GESTIONAR MINUTA DE REUNIÓN” ... 76 

(7)

FIG.  36  DIAGRAMA DE SECUENCIA “GESTIONAR MINUTA DE REUNIÓN” ... 77 

FIG.  37  DIAGRAMA DE SECUENCIA “GESTIONAR NO CONFORMIDAD” ... 77 

FIG.  38  DIAGRAMA DE SECUENCIA “GESTIONAR NO CONFORMIDAD” ... 78 

FIG.  39  DIAGRAMA DE SECUENCIA “GESTIONAR NO CONFORMIDAD” ... 78 

FIG.  40  DIAGRAMA DE SECUENCIA “GESTIONAR NO CONFORMIDAD” ... 79 

FIG.  41  DIAGRAMA DE SECUENCIA “GESTIONAR TAREAS” ... 79 

FIG.  42  DIAGRAMA DE SECUENCIA “GESTIONAR TAREAS” ... 80 

FIG.  43  DIAGRAMA DE SECUENCIA “GESTIONAR TAREAS” ... 80 

FIG.  44  DIAGRAMA DE SECUENCIA “GESTIONAR TAREAS” ... 81 

FIG.  45  DIAGRAMA DE SECUENCIA “GESTIONAR PLAN” ... 81 

FIG.  46  DIAGRAMA DE SECUENCIA “GESTIONAR PLAN” ... 82 

FIG.  47  DIAGRAMA DE SECUENCIA “GESTIONAR PLAN” ... 82 

FIG.  48  DIAGRAMA DE SECUENCIA “GESTIONAR DATOS DE ACTIVIDADES DE CONTROL” ... 83 

FIG.  49  DIAGRAMA DE CLASES DEL DISEÑO “GESTIONAR ACTIVIDAD DE CONTROL”... 84 

FIG.  50  DIAGRAMA DE CLASES DEL DISEÑO “GESTIONAR ACCIONES” ... 85 

FIG.  51  DIAGRAMA DE CLASES DEL DISEÑO “GENERAR INFORME DE NCONFORMIDADES” ... 86 

FIG.  52  DIAGRAMA DE CLASES DEL DISEÑO “GENERAR INFORME FINAL” ... 87 

FIG.  53  DIAGRAMA DE CLASES DEL DISEÑO “GESTIONAR MINUTA DE REUNIÓN” ... 88 

FIG.  54  DIAGRAMA DE CLASES DEL DISEÑO “GESTIONAR NCONFORMIDAD” ... 89 

FIG.  55  DIAGRAMA DE CLASES DEL DISEÑO “GESTIONAR PLAN” ... 90 

FIG.  56  DIAGRAMA DE CLASES DEL DISEÑO “GESTIONAR PLANTILLAS DE ACTIVIDADES DE CONTROL” ... 91 

FIG.  57  DIAGRAMA DE CLASES DEL DISEÑO “GESTIONAR RECOMENDACIONES” ... 92 

FIG.  58  DIAGRAMA DE CLASES DEL DISEÑO “GESTIONAR TAREAS” ... 93 

FIG.  59  DIAGRAMA DE CLASES DEL DISEÑO “SOLICITAR REPORTES DE ACTIVIDADES DE CONTROL” ... 94 

FIG.  60  DIAGRAMA DE CLASES DEL SUBSISTEMA DE ACCESO A DATOS ... 114 

FIG.  61  DIAGRAMA DE CLASES PERSISTENTES ... 115 

FIG.  62  MODELO FÍSICO DE DATOS ... 116 

FIG.  63  DIAGRAMA DE DESPLIEGUE ... 116 

(8)

Índice de Tablas

TABLA 1  DESCRIPCIÓN DE LOS ACTORES DEL NEGOCIO ... 24 

TABLA 2  DESCRIPCIÓN DE LOS TRABAJADORES DEL NEGOCIO ... 25 

TABLA 3  DESCRIPCIÓN TEXTUAL DEL CASO DE USO “REALIZAR AUDITORÍA” ... 26 

TABLA 4  DESCRIPCIÓN TEXTUAL DEL CASO DE USO “REALIZAR REVISIÓN” ... 28 

TABLA 5  DESCRIPCIÓN DE LOS ACTORES DEL SISTEMA ... 37 

(9)

Introducción

En la actualidad las Tecnologías de la Información y las Comunicaciones (TIC) alcanzan un desarrollo progresivo que ha posibilitado crear aplicaciones informáticas de considerable impacto. El auge de las TIC ha traído nuevos cambios en las concepciones y formas de trabajo de las organizaciones, las cuales se adaptan a las transformaciones con el fin de aprovechar los beneficios que aporta el uso de las tecnologías.

A medida que aumenta la complejidad de los sistemas de software surgen nuevos aspectos del desarrollo de aplicaciones que hasta ese momento no se habían tenido en cuenta, al menos de una forma explícita. De este modo, el proceso de desarrollo se ha ido convirtiendo gradualmente en una labor de ingeniería, en la que nuevas tareas, como la elaboración de especificaciones, el diseño del sistema, la construcción de prototipos, la integración y pruebas, la gestión de la configuración y otras muchas han ido cobrando importancia frente a las labores de programación que eran las que primaban en un inicio. La Ingeniería del Software ha ido respondiendo a esta situación con el desarrollo de nuevos modelos, notaciones, técnicas y métodos.

Los aportes tecnológicos en el campo de la informática hacen que ésta se haya convertido en una herramienta imprescindible en el manejo de la información y los servicios. Por la gran utilidad que tienen, los sistemas de gestión de información son muy utilizados en entornos académicos, corporativos y empresariales, donde se manejan grandes volúmenes de información.

La calidad no es sólo uno de los requisitos esenciales de cualquier producto, no sólo software, sino que en la actualidad es un factor estratégico clave, del que dependen la mayor parte de las organizaciones, no sólo para mantener su posición en el mercado sino incluso para asegurar su supervivencia. El desarrollo de un producto que satisfaga, en la mayor medida posible, los requerimientos del cliente, es la medida de calidad buscada en la producción. Los defectos en los productos o sistemas son el resultado de errores cometidos en etapas tempranas del desarrollo, y sólo en una tercera parte son el resultado de errores cometidos en etapas avanzadas. La idea de prevenir los defectos o detectarlos en etapas tempranas es una alternativa recomendable, si además se tiene en cuenta que medir la calidad después de elaborado el producto puede ser muy costoso en caso de que se detecten problemas derivados de imperfecciones en el diseño. La mejor forma de prevenir o contrarrestar este problema es controlar la calidad durante todas las etapas del ciclo de vida del software.

Las revisiones, al igual que las auditorías y las pruebas, constituyen algunas de las actividades que se pueden establecer para el Control de la Calidad. Su planificación, realización y seguimiento incide directamente en la calidad del producto final.

(10)

de Calidad encargado de asesorar y controlar las actividades de aseguramiento, control y auditoría de la calidad en cada uno de los proyectos que se producen en ella. Los Grupos de Calidad de las facultades responden a una Dirección de Calidad que funciona como rectora de la producción en toda la universidad. El grupo de Calidad de la Facultad 8 desea centralizar la información de cada proyecto a través de una aplicación web compuesta por varios módulos: Capacitación, Planificación, Revisiones y Auditorías, Pruebas, Administración. El presente trabajo se refiere específicamente al desarrollo del módulo Revisiones y Auditorías.

El grupo de control de la Facultad 8 presenta varias dificultades a la hora de realizar las Auditorías y las Revisiones a los proyectos debido a que generalmente el recurso tiempo es bastante escaso y el personal no se encuentra debidamente capacitado para realizar las revisiones de ciertos artefactos. Los resultados de las inspecciones realizadas son difíciles de controlar por no existir un lugar ni una persona encargada de reunir los mismos. Los resultados pueden ser reunidos por varias personas con diversas peculiaridades, no se lograba almacenar estos resultados en un mismo formato de manera tal que permitieran fusionarse y obtener determinadas conclusiones.

Teniendo en cuenta lo expresado anteriormente se tiene como problema a resolver que resulta difícil en la facultad mantener actualizada la información de las revisiones y auditorías en cuanto a la detección de errores y posibles soluciones dentro de los procesos de desarrollo en los proyectos de la facultad, así como su seguimiento sistemático.

Para enfocar la investigación se trazó como objetivo realizar el Análisis y Diseño del Módulo Revisiones y Auditorías del Sistema para la Gestión de la Calidad de la facultad 8, de manera que facilite información para la toma de decisiones del Grupo de Calidad sobre los proyectos de la Facultad.

De este objetivo general se derivan los siguientes objetivos específicos:

¾ Facilitar la futura implementación del módulo a través de la documentación clara y precisa de todos los artefactos necesarios.

¾ Lograr que la aplicación modelada soporte los procesos actuales del equipo de control de la calidad de la Facultad para lograr eficiencia y calidad en estos procesos.

¾ Establecer la forma en que los revisores y auditores utilizarán los diferentes métodos, herramientas y manuales orientados por el asesor de calidad de la Facultad.

¾ Modelar una aplicación que permita comparar los proyectos de la facultad a partir de los resultados obtenidos en las diferentes actividades de control aplicadas.

El objeto de estudio consiste en el control de la calidad de software, por lo que el campo de acción se centrará en los procesos de revisiones y auditorías durante el desarrollo de software.

(11)

La investigación se desarrolló a través de las siguientes tareas:

¾ Documentar las herramientas, tendencias y tecnologías actuales relacionadas con el control de la calidad.

¾ Seleccionar la metodología que se utilizará para el desarrollo del sistema.

¾ Realizar un levantamiento de requisitos, para conocer las necesidades del cliente y lograr una familiarización con estos.

¾ Diseñar una aplicación que sirva de soporte a los procesos de revisiones y auditorías como parte del control de la calidad.

¾ Generar la documentación de la información referente al análisis y diseño del sistema.

Como Idea a defender se parte que si se desarrolla el análisis y el diseño del módulo de auditorías y revisiones, entonces se obtendrá un sistema que facilitará el trabajo del grupo de calidad de la facultad 8.

(12)

Capítulo 1. Fundamentación Teórica

1.1 Introducción

Este capítulo está destinado a brindar una panorámica de los temas relacionados con la Calidad de Software y a partir de esto se detallan las actividades de revisiones y auditorías, sus características, procedimientos y clasificaciones, sintetizando el estado del arte de este tipo de actividades de control;

además se mencionan algunas aplicaciones relacionadas con la gestión de la calidad. También se abordarán las diferentes teorías y fundamentos aplicados para el análisis y diseño del sistema, así como la descripción de los principales conceptos asociados al dominio del problema que son necesarios para entender el modelo de negocio y la propuesta de solución. En este capítulo se detallan los procesos elementales de negocio, se realiza un estudio y análisis de las tecnologías apropiadas para el desarrollo de aplicaciones Web, escogiendo la mejor opción para la construcción del sistema propuesto.

1.2 Introducción a la Calidad de Software

El significado de Calidad puede adquirir múltiples interpretaciones, ya que todo dependerá del nivel de satisfacción o conformidad del cliente. Sin embargo, la calidad es el resultado de un esfuerzo arduo, se trabaja de forma eficaz para poder satisfacer las necesidades del consumidor. Dependiendo de la forma en que un producto o servicio sea aceptado o rechazado por los clientes, se podría decir si éste es bueno o malo.(Calidad 2009).

El Control de Calidad dentro del Ciclo de Desarrollo de Software

Definición formal: – Software Quality Assurance (SQA) se define como un plan sistemático de evaluar la calidad y apagamiento a los procesos, políticas y estándares de un producto de software. SQA incluye el proceso de asegurar que los estándares y procedimientos sean establecidos y seguidos durante el ciclo de vida del desarrollo de software. El cumplimiento de los estándares y procedimientos acordados se evalúa mediante un proceso de monitoreo, evaluación del producto y auditorías. (ROCHE)

1.3 Control de la Calidad

Es el proceso de regulación a través del cual se puede medir la calidad real, compararla con las normas o las especificaciones y actuar sobre la diferencia.

Durante la investigación se encontraron diferentes significados de este concepto:

- Una parte del proceso de regulación. Por ejemplo: la inspección del producto.

- Históricamente, el nombre de un Departamento que se dedica a tiempo completo a la Función de la Calidad.

(13)

- Las herramientas, conocimientos prácticos o técnicas por medio de las cuáles se desarrollan algunas o todas las funciones.(JURAN)

La comprobación de la calidad del software debe ser una de las principales metas a trazar durante el desarrollo del mismo, esto implica definir cómo se medirá el grado de calidad que este logre alcanzar.(FERNÁNDEZ CARRASCO 2007)

1.3.1 Actividades de Control de Calidad

Existen varias actividades que pueden ser ejecutadas para llevar a cabo el control de la calidad durante el proceso de desarrollo. Entre ellas se pueden encontrar las siguientes:

¾ Revisiones Técnicas Formales

¾ Inspecciones

¾ Auditorías de la Calidad

¾ Auditorías de la Gestión Documental

¾ Pruebas de Unidad

¾ Pruebas de Integración

¾ Pruebas de Sistema

En este trabajo se profundizará en dos grupos de actividades de control de la calidad, las revisiones y las auditorías. En los epígrafes siguientes se explican estas actividades, así como su clasificación y modo de ejecución.

1.3.2 Revisiones

Actividad emprendida para asegurar la conveniencia, adecuación y eficacia del tema objeto de la revisión, para alcanzar unos objetivos establecidos.(Norma internacional ISO 9000 2000)

La revisión sistemática es un método de investigación desarrollado para obtener, analizar y evaluar toda la investigación relevante para una pregunta de investigación o un área de interés particular.(CORUÑA 2009)

Las revisiones de Software son un “filtro” para el proceso de Ingeniería del Software. Las revisiones se aplican en diferentes momentos del desarrollo y sirven para detectar errores y defectos que puedan ser eliminados. Sirven también para “purificar” las actividades de Ingeniería del Software que suceden como resultado del análisis, el diseño y la codificación.(PRESSMAN 2002)

(14)

1.3.2.1 Tipos de Revisiones

Existen varios tipos de revisiones seguidamente se muestran dos tipos de revisiones, Revisiones formales e informales(CHAVEZ 2005):

Informales

• No hay proceso definido • No existen roles

• Usualmente no planeadas Formales

• Objetivos definidos • Proceso documentado

• Roles definidos y personas entrenados en ellos

• Se utilizan listas de chequeo, reglas y métodos para encontrar defectos • Reporte del resultado

• Recolección de datos para el control del proceso 1.3.3 Auditorías

Proceso sistemático, independiente y documentado para obtener evidencias de la auditoría y evaluarla de manera objetiva con el fin de determinar la extensión en que se cumplen los criterios de auditoría.(Norma internacional ISO 9000 2000)

Una auditoría es una actividad de información, mediante la cual puede verificarse el cumplimiento del Sistema de Calidad establecido y la efectividad de dicho Sistema y, en caso contrario, evaluar la necesidad de una mejora o de una acción correctiva.(J.K 2009)

Tomando en cuenta todas las definiciones citadas anteriormente, se puede llegar a la conclusión que auditoría en la calidad no es más que un examen metódico de una situación relativa a un producto o proceso, en materia de calidad, realizado en cooperación con los interesados para verificar la concordancia de la realidad con lo preestablecido y la adecuación al objetivo buscado.

1.3.3.1 Tipos de Auditorías

Existen varias formas de clasificar las auditorías: del Sistema de Calidad, del Proceso, del Producto; que a su vez pueden ser Internas o Externas y también pueden ser De Adecuación o De Cumplimiento.

(Norma internacional ISO 9000 2000; J.K 2009) Auditorías del Sistema de Calidad

(15)

Son una actividad que se realiza para comprobar, mediante el examen y la evaluación de evidencias objetivas, que el Sistema de Calidad es adecuado y ha sido desarrollado, documentado y efectivamente implantado de acuerdo con los requisitos especificados.

Auditoría de Calidad del proceso

Consiste en el examen sistemático e independiente de los elementos de un proceso para determinar si las actividades y los resultados relativos a la Calidad satisfacen a las disposiciones previamente establecidas y si estas disposiciones se llevan a cabo efectivamente y son aptas para alcanzar los objetivos.

Auditoría de Calidad del Producto

Consiste en la estimación cuantitativa del cumplimiento de las características requeridas en el producto.

Auditorías Internas

Es importante para la empresa comprobar la efectividad de su Sistema de Calidad, siendo la propia empresa quien investiga sus propios sistemas, procedimientos y actividades para cerciorarse que son adecuados y que se cumplen.

Proporcionan información de si sus políticas están siendo cumplidas, de si los sistemas son tan eficientes y efectivos como deberían ser y si se precisa algún cambio. Pueden establecer una línea de comunicación por toda la compañía y convertirla en un gran elemento motivador.

Las Auditorías Internas van a ser las que se tendrán en cuenta en esta investigación pues son las que se desarrollan en la facultad.

1.3.3.2 Etapas para la realización de auditorías

La realización de una auditoría consta de los siguientes pasos:(Norma internacional ISO 9000 2000)

¾ Planificación: Consiste en definir los objetivos de la auditoría y su alcance. En esta etapa se elabora un Plan de Auditoría.

¾ Llevar a cabo la investigación: La auditoría se inicia con una reunión de apertura de la investigación, y se lleva a cabo mediante entrevistas y chequeos en los que se recopilan datos.

¾ Analizar los datos recogidos: El equipo de auditores debe hacer frente a cantidades considerables de datos, de entre los cuales resulta complicado seleccionar los datos relevantes, por lo que en ocasiones se utilizan técnicas de análisis estadístico. Posteriormente se realiza una evaluación en paralelo de los resultados por un grupo de evaluadores, se comparan las conclusiones obtenidas y se estudian las causas de las desviaciones significativas. Sin embargo esto se puede simplificar considerablemente definiendo con antelación los aspectos que se deben auditar. Para ello es

(16)

recomendable el uso de la plantilla definida en esta propuesta, para una mejor organización y manipulación de los datos.

¾ Sugerir soluciones a los problemas encontrados y posibles mejoras: En base al paso anterior los auditores pueden sugerir posibles soluciones a los problemas que se identificaron en la realización de la auditoría. Para esto puede convocarse una reunión, o realizarse de forma independiente.

¾ Elaborar y presentar un informe de resultados: Se deberá escoger un responsable de esta tarea, aunque en ella debe participar todo el equipo de auditores, para garantizar que los datos sean adecuadamente registrados.

1.4 Sistemas similares para la Gestión de la Calidad 1.4.1 KMKey Quality(KMKEY 2008)

KMKey Quality es un software de gestión de calidad ideal para la implantación y mantenimiento de un sistema de gestión de calidad (SGC) de cualquier tipo: ISO 9000 (ISO 9001:2000, ISO 14001, OHSAS 18001, etc.).

Basado en un entorno web que le proporcionará acceso universal desde cualquier ordenador autorizado, KMKey Quality incorpora un Gestor Documental donde almacenar las distintas revisiones de los documentos propios de un sistema de calidad, tales como el Manual de Calidad, la Política y los Objetivos de Calidad, el Organigrama, el Mapa de Procesos, los Procedimientos, los Formatos o las Instrucciones de Trabajo, permitiendo siempre un acceso directo a la revisión vigente.

Además el gestor de expedientes le permitirá la elaboración colaborativa de documentos, gestionando la edición, la revisión y la aprobación de los mismos, integrando además un sistema de notificaciones digitales por e-mail que facilita la comunicación a los diferentes usuarios.

Desde el mismo gestor de expedientes cualquier usuario autorizado puede introducir No Conformidades, así como planificar las correspondientes Acciones Correctivas o Preventivas, repartiendo las tareas a cada uno de los responsables, y controlando plazos y acciones realizadas.

De igual modo se pueden gestionar expedientes específicos para Planes de Formación, Planes de Auditorías o Planes de Mejora Continua, el Seguimiento y Evaluación de Proveedores o la Gestión y Control de Indicadores.

En resumen, KMKey Quality es el software de gestión de calidad (SGC) ideal para la implantación y la gestión de la calidad pero tiene como inconveniente que los servidores donde se guarda la información se encuentran en otro país por lo que no cumple con las políticas de seguridad de la universidad.

(17)

1.4.2 ISOSYSTEM Quality Pack(SOFTEXPERT 2008)

Conjunto de módulos interrelacionados que dan solución integral a las necesidades de administración de la Compañía con los cuales se puede simplificar la implementación de la gestión de los Sistemas de Calidad, Gestión Completa de Proyectos y Herramientas de Análisis y Toma de Decisión en su empresa Módulos que integran este paquete: Indicadores, Procesos, Auditoría, Acciones, BI y Documentos.

Acceso al sistema 100% Web. Ambiente multiusuario con derechos de acceso configurables por usuario. Soporte e integración con sistemas de ERP. Soporte a la mayoría de los servidores de red como Windows NT/2000/XP; Netware, Linux, Unix etc. Comunicación directa con servidores de e- mail como Exchange, Lotus Notes con protocolos SMTP y MAPI para transferencia de e-mails.

Compatibilidad con base de datos como: Oracle, MS SQL Server, FireBird/InterBase y DB2.

Interactividad con el servicio de administración de usuarios del directorio activo de Microsoft.

Compatibilidad con Windows 98, 2000, XP o superior en las estaciones de trabajo.

De forma general este sistema no presenta las funcionalidades necesarias para resolver las necesidades propias de la facultad en los procesos de auditorías y revisiones, por lo que queda descartado.

1.5 Herramientas de modelado de sistemas 1.5.1 Visual Paradigm

Visual Paradigm es una herramienta que sirve para el lenguaje de modelado UML y que soporta el ciclo de vida completo de desarrollo de RUP (análisis y diseño orientados a objetos, construcción, pruebas y despliegue). Tiene varias funcionalidades, permite dibujar todos los tipos de diagramas de clases, código inverso, generar código PHP desde diagramas y generar documentación. Actualmente se puede instalar tanto en Linux como en Windows. Esta herramienta tiene disponible diferentes versiones entre ellas una gratuita llamada Visual Paradigm UML Community. Facilita licencias especiales para fines académicos.

Importa al Rational Rose, esta característica lo hace muy útil por la diversidad de proyectos que son modelados en el Rational.( Visual Paradigm for UML 2007)

Entre los lenguajes conocidos por Visual Paradigm para la ingeniería inversa, se encuentran los siguientes:

¾ Java Source.

¾ C++ Source.

¾ PHP 5.0 Source.

(18)

1.5.2 Rational Rose

Rational es actualmente conocida como una familia de software de IBM para el levantamiento de requerimientos, diseño, construcción, pruebas y administración de proyectos en el proceso desarrollo de software y sus productos están centrados en la metodología del Proceso Racional Unificado o RUP (Rational Unified Process). Entre los productos más conocidos existen: Rational Application Developer, Rational Software Architect (Posee la funcionalidad del producto antes conocido como Rational Rose) y Rational Portafolio Manager. Con esta herramienta se pueden utilizar cuatro tipos de modelos para realizar el diseño del sistema, utilizando una vista estática y otra dinámica de dichos modelos, uno lógico y otro físico. Permite crear y refinar, logrando así un modelo completo que representa el dominio del problema y el sistema de software. También es posible descomponer el modelo en unidades controladas e integrarlas con un sistema para realizar el control de proyectos que permite mantener la integridad de dichas unidades. Se puede generar código en distintos lenguajes de programación a partir de un diseño en UML y proporciona mecanismos para realizar la denominada Ingeniería Inversa, es decir, a partir del código de un programa se puede obtener información sobre su diseño. Para la utilización de esta herramienta resulta algo complicado debido a que propone el empleo del proceso de desarrollo unificado, el cual es altamente complejo e incorpora algunas funcionalidades a través de otras aplicaciones pero no las integra.

1.5.3 Selección de la herramienta CASE para el modelado del sistema

Después de analizar las herramientas mencionadas anteriormente se llega a la conclusión que la más adecuada es Visual Paradigm pues esta herramienta es multiplataforma, es decir, que puede ser utilizada en cualquier sistema operativo; mientras que el Rational solo se puede utilizar en Windows.

Además Visual Paradigm puede soportar el ciclo de vida completo de un software, permitiendo construir aplicaciones de calidad a un menor costo y genera informes para la generación de la documentación.

1.6 Metodologías de desarrollo de software

Una metodología de desarrollo establece la necesidad de considerar un diseño previo a la construcción del sistema y ofrece vías para recoger las especificaciones. Constituye un proceso para la producción organizada del software, empleando una serie de pasos, con técnicas y notaciones asociadas a cada uno. El software debe ser desarrollado con una metodología que contemple los aspectos pedagógicos y fundamentalmente hay que evaluarlo en un contexto similar al de uso.(HERNÁNDEZ 2002)

1.6.1 El Proceso Unificado de Desarrollo (RUP)

El Proceso Racional Unificado o RUP (Rational Unified Process), es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado (UML), constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos. RUP

(19)

es en realidad un refinamiento realizado por Rational Software del más genérico Proceso Unificado.

Sus principales características son:

¾ Forma disciplinada de asignar tareas y responsabilidades (quién hace qué, cuándo y cómo).

¾ Pretende implementar las mejores prácticas en Ingeniería de Software.

¾ Desarrollo iterativo.

¾ Administración de requisitos.

¾ Uso de arquitectura basada en componentes.

¾ Control de cambios.

¾ Modelado visual del software.

¾ Verificación de la calidad del software.

El RUP es un producto de Rational (IBM). Se caracteriza por ser iterativo e incremental, estar centrado en la arquitectura y guiado por los casos de uso. Incluye artefactos (que son los productos tangibles del proceso como por ejemplo, el modelo de casos de uso, el código fuente, etc.) y roles (papel que desempeña una persona en un determinado momento, una persona puede desempeñar distintos roles a lo largo del proceso). El RUP divide el proceso de desarrollo en ciclos, teniendo un producto final al final de cada ciclo, cada ciclo se divide en fases que finalizan con un hito donde se debe tomar una decisión importante:

Inicio: se hace un plan de fases, se identifican los principales casos de uso y se identifican los riesgos.

Elaboración: se hace un plan de proyecto, se completan los casos de uso y se eliminan los riesgos.

Construcción: se concentra en la elaboración de un producto totalmente operativo y eficiente y el manual de usuario.

Transición: se implementa el producto en el cliente y se entrena a los usuarios. Como consecuencia de esto suelen surgir nuevos requisitos a ser analizados.(Jacobson 2000)

1.6.2 Extreme Programing (XP)

Es la más destacada de los procesos ágiles de desarrollo de software. Los defensores de XP

(20)

en cualquier punto de la vida del proyecto es una aproximación mejor y más realista que intentar definir todos los requisitos al comienzo del proyecto e invertir esfuerzos después en controlar los cambios en los requisitos. Se puede considerar la programación extrema como la adopción de las mejores metodologías de desarrollo de acuerdo a lo que se pretende llevar a cabo con el proyecto, y aplicarlo de manera dinámica durante el ciclo de vida del software.( Metodologías de desarrollo de software 2008).

Las características fundamentales del método son:

¾ Desarrollo iterativo e incremental, pequeñas mejoras, unas tras otras.

¾ Pruebas unitarias continuas, frecuentemente repetidas y automatizadas, incluyendo pruebas de regresión.

¾ Programación en parejas, las tareas de desarrollo se lleven a cabo por dos personas en un mismo puesto. Se supone que calidad del código escrito de esta manera es mayor (el código es revisado y discutido mientras se escribe) esto es más importante que la posible pérdida de productividad inmediata.

¾ Frecuente interacción del equipo de programación con el cliente o usuario, un representante del cliente trabaja junto al equipo de desarrollo.

¾ Corrección de todos los errores antes de añadir nueva funcionalidad. Obliga a realizar entregas frecuentes.

1.6.3 Microsoft Solution Framework (MSF)

Esta es una metodología flexible e interrelacionada con una serie de conceptos, modelos y prácticas de uso, que controlan la planificación, el desarrollo y la gestión de proyectos tecnológicos. MSF se centra en los modelos de proceso y de equipo dejando en un segundo plano las elecciones tecnológicas.(Mendoza 2004).

MSF tiene las siguientes características:

¾ Adaptable: es parecido a un compás, usado en cualquier parte como un mapa, del cual su uso es limitado a un lugar específico.

¾ Escalable: puede organizar equipos tan pequeños entre 3 o 4 personas, así como también, proyectos que requieren 50 personas o más.

(21)

¾ Flexible: es utilizada en el ambiente de desarrollo de cualquier cliente.

¾ Tecnología Agnóstica: porque puede ser usada para desarrollar soluciones basadas sobre cualquier tecnología.

MSF se compone de varios modelos encargados de planificar las diferentes partes implicadas en el desarrollo de un proyecto: Modelo de Arquitectura del Proyecto, Modelo de Equipo, Modelo de Proceso, Modelo de Gestión del Riesgo, Modelo de Diseño de Proceso y finalmente el modelo de Aplicación.

¾ Modelo de Arquitectura del Proyecto: Diseñado para acortar la planificación del ciclo de vida. Este modelo define las pautas para construir proyectos empresariales a través del lanzamiento de versiones.

¾ Modelo de Equipo: Este modelo ha sido diseñado para mejorar el rendimiento del equipo de desarrollo. Proporciona una estructura flexible para organizar los equipos de un proyecto. Puede ser escalado dependiendo del tamaño del proyecto y del equipo de personas disponibles.

¾ Modelo de Proceso: Diseñado para mejorar el control del proyecto, minimizando el riesgo, y aumentar la calidad acortando el tiempo de entrega. Proporciona una estructura de pautas a seguir en el ciclo de vida del proyecto, describiendo las fases, las actividades, la liberación de versiones y explicando su relación con el Modelo de equipo.

¾ Modelo de Gestión del Riesgo: Diseñado para ayudar al equipo a identificar las prioridades, tomar las decisiones estratégicas correctas y controlar las emergencias que puedan surgir. Este modelo proporciona un entorno estructurado para la toma de decisiones y acciones valorando los riesgos que puedan provocar.

¾ Modelo de Diseño del Proceso: Diseñado para distinguir entre los objetivos empresariales y las necesidades del usuario. Proporciona un modelo centrado en el usuario para obtener un diseño eficiente y flexible a través de un enfoque iterativo. Las fases de diseño conceptual, lógico y físico proveen tres perspectivas diferentes para los tres tipos de roles: los usuarios, el equipo y los desarrolladores.

¾ Modelo de Aplicación: Diseñado para mejorar el desarrollo, el mantenimiento y el soporte, proporciona un modelo de tres niveles para diseñar y desarrollar aplicaciones software. Los servicios utilizados en este modelo son escalables, y pueden ser usados en un solo ordenador o incluso en varios servidores.

1.6.4 Selección de la Metodología a utilizar

Luego del estudio realizado anteriormente, donde se pudieron analizar varias metodologías y comparar sus diferentes características y particularidades de empleo en varias situaciones, se determinó cuáles no

(22)

producir el software a corto plazo sin importar la documentación, está más orientada a las personas que a las herramientas y plantea que el usuario debe ser un integrante más del equipo de desarrollo.

Mientras MSF, además de proponer la realización de gran cantidad de documentación no aplicable para la solución de este problema, se centra en el modelo de equipo, dejando en un segundo plano las elecciones tecnológicas.

Se seleccionó la metodología RUP como la más adecuada, ya que permite un desarrollo centrado en una arquitectura sólida. Es adaptable para proyectos a largo plazo y establece la generación de gran cantidad de artefactos los cuales serán de gran utilidad para la futura implementación del módulo.

1.7 Diseño de Aplicaciones Web

Una aplicación web constituye un sistema web en el cual la acción del usuario afecta el negocio. Su arquitectura general es la de un sistema cliente/servidor donde tanto el cliente; que suelen ser estaciones de trabajo que solicitan varios servicios al servidor web y el protocolo de trasferencia de hipertexto (HTTP) mediante el cual se comunican son estándares y no son creados por el desarrollador.

Comúnmente está estructurada como una aplicación en tres capas: el navegador Web es la primera capa, un motor usando alguna tecnología Web dinámica (en este caso PHP) es la capa de en medio, y una base de datos como última capa. El navegador Web envía peticiones a la capa media, que la entrega valiéndose de consultas y actualizaciones a la base de datos generando una interfaz de usuario.

¿Por qué desarrollar una aplicación Web?

Las aplicaciones web permiten una transmisión inmediata de contenido e información que va a permitir el desarrollo de los procesos del negocio de una mejor manera.

Entre sus ventajas se pueden mencionar las siguientes:

¾ Las aplicaciones web tienen la ventaja principal sobre las aplicaciones de escritorio de ser independientes de la plataforma o sistema operativo, ya que sólo utilizan el navegador de internet como medio de entrada y visualización de la información.

Distribución:

¾ No se instala nada en el equipo de cada usuario, solo en el servidor, lo que permite una distribución rápida a toda la red y de forma simultánea. Cualquier actualización en el servidor es visible de inmediato en todos los equipos conectados a la red y con acceso a la aplicación.

¾ No se necesita reiniciar el servidor después de realizar una actualización en la mayor parte de los casos.

Movilidad:

(23)

¾ Se puede acceder desde cualquier parte del mundo de la forma que en una Web convencional, siempre que se disponga de conexión a internet y se tengan los permisos de acceso adecuados.

¾ Posibilidad de hacer páginas específicas para dispositivos móviles dentro de la misma Web.

¾ En cuanto a su Escalabilidad, las aplicaciones Web utilizan una arquitectura de tres capas compuesta por la capa cliente, donde está únicamente el browser, la capa del Servidor Web donde está la aplicación y la capa de datos donde se encuentra la Base de Datos.

1.7.1 Patrones de diseño y arquitectura

Los patrones de diseño han adquirido gran popularidad entre investigadores y diseñadores de software orientado a objeto debido a que son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y aplicables a distintos problemas típicos de diseño que pueden encontrarse en diferentes contextos.

Un patrón de diseño es una solución a un problema de diseño no trivial que es efectiva (ya se resolvió el problema satisfactoriamente en ocasiones anteriores) y reusable (se puede aplicar a diferentes problemas de diseño en distintas circunstancias).

Los patrones son soluciones de sentido común que deberían formar parte del conocimiento de un diseñador experto. Además facilitan la comunicación entre diseñadores, pues establecen un marco de referencia.

Por otro lado, los patrones de diseño, facilitan el aprendizaje al programador inexperto, pudiendo establecer parejas problema-solución. Además, los patrones de diseño, también ayudarán a especificar las interfaces, identificando los elementos claves en las interfaces y las relaciones existentes entre distintas interfaces.

Patrones de diseño de software (GRASP):

Los patrones de asignación de responsabilidades GRASP (General Responsibility Assignment Software Patterns), describen los principios fundamentales de la asignación de responsabilidades a objetos.

Constituyen el fundamento de cómo se va a diseñar el sistema finalmente. Es importante que el diseñador de software domine y aplique estos conocimientos durante la realización de un diagrama de interacción.

Patrón Experto: ¿Cómo asignar responsabilidades de la forma más eficiente?

Asignar una responsabilidad al experto en la información, la clase que cuenta con la información necesaria para cumplir la responsabilidad. Se conserva el encapsulamiento, ya que los objetos se valen de su propia información para hacer lo que se les pide. Esto provee un bajo nivel de acoplamiento.

(24)

Las responsabilidades de crear una instancia de la clase A se le dará a aquella clase B, en los siguientes casos:

¾ B agrega los objetos de A

¾ B contiene los objetos de A

¾ B registra las instancias de los objetos de A.

¾ B tiene los datos de inicialización que serán enviados a A cuando este objeto sea creado.

El patrón Creador guía la asignación de responsabilidades relacionadas con la creación de objetos, tarea muy frecuente en los sistemas orientados a objetos. El propósito fundamental de este patrón es encontrar un creador que se debe conectar con el objeto producido en cualquier evento.

Patrón Controlador: ¿Quién debería encargarse de atender un evento del sistema?

El controlador es un intermediario entre la interfaz de usuario y el núcleo de las clases donde reside la lógica de la aplicación. El controlador no realiza mucho trabajo por sí mismo; más bien coordina la actividad de otros objetos. Asignar la responsabilidad del manejo de mensajes de los eventos del sistema a una clase que represente alguna de las siguientes opciones:

¾ El sistema global.

¾ La empresa u organización global.

¾ Algo activo en el mundo real que pueda participar en la tarea.

¾ Un manejador artificial de todos los eventos del sistema de un caso de uso (controlador de casos de uso)

Patrón Bajo Acoplamiento: ¿Cómo dar soporte a una mínima dependencia y a un aumento de la reutilización?

Una clase con bajo acoplamiento no depende de “muchas otras” clases. Las clases con alto acoplamiento recurren a muchas clases y no es conveniente. Son más difíciles de mantener, entender y reutilizar.

Patrón Alta Cohesión: Es la meta principal que ha de buscarse en todo momento. Es un patrón evaluativo que el desarrollador aplica al valorar sus decisiones de diseño.

Una clase con mucha cohesión es útil porque es bastante fácil darle mantenimiento, entenderla y reutilizarla. Su alto grado de funcionalidad, combinada con una reducida cantidad de operaciones, también simplifica el mantenimiento y los mejoramientos. La ventaja que significa una gran funcionalidad también soporta un aumento de la capacidad de reutilización.(CRAIG LARMAN 1999)

Patrón de arquitectura

(25)

Modelo-Vista-Controlador (MVC)

El Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos: el Modelo, las Vistas y los Controladores.

El MVC en una aplicación web, se representa a través de la Vista que constituyen las páginas HTML y el código que provee de datos dinámicos a la página, que permite mostrarle la información al usuario.

El Controlador que gestiona todos los eventos de entrada del usuario y es el intermediario entre el Modelo y la Vista. El Modelo contiene toda la información persistente y reglas de negocio.

El uso de este patrón es favorable; establece una separación entre los componentes de un programa permitiendo implementarlos por separado. Posibilita que si uno de los componentes tiene un mal funcionamiento puede reemplazarse sin que se vean afectados los demás. Permite que no haya ninguna dependencia directa entre la Vista y el Modelo; esto beneficia que haya un mayor soporte a los cambios en las interfaces; que tienden a cambiar con más frecuencia que la lógica del negocio. Se puede adicionar nuevas vistas sin afectar el Modelo, es decir, múltiples páginas en la aplicación web pueden emplear los mismos elementos del Modelo.( Trygve Reenskaug 1979)

1.8 Desarrollo de Aplicaciones Web

En los siguientes epígrafes se abordan los diferentes lenguajes y herramientas que pueden ser utilizadas para el desarrollo de aplicaciones web. Además se realiza la selección del lenguaje o herramienta a utilizar para el desarrollo del módulo documentado en el presente trabajo. Se agrupan por los lenguajes del lado del cliente, lenguajes del lado del servidor y gestores de base de datos.

1.8.1 Lenguajes del lado del Cliente

Ejemplo de ellos son el Java Script y el Visual Basic Script. Estos lenguajes son dinámicos ya que el código se ejecuta en el navegador antes de ser enviado al servidor, su uso sin embargo se restringe principalmente a la validación de datos.

1.8.1.1 HTML

HTML, es un lenguaje de programación muy sencillo que se utiliza para crear los textos y las páginas web. Si se hace la traducción de su nombre del inglés al castellano, sería “Lenguaje de Marca de Hipertextos”, ya que es justamente un lenguaje que se basa en las marcas para crear los hipertextos Esta definición se debe a que está compuesto por etiquetas que definen la estructura y el formato del documento que verá el usuario a través de la web. Esas etiquetas son leídas por el navegador o

Referencias

Documento similar

The notified body that issued the AIMDD or MDD certificate may confirm in writing (after having reviewed manufacturer’s description of the (proposed) change) that the

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

Sanz (Universidad Carlos III-IUNE): "El papel de las fuentes de datos en los ranking nacionales de universidades".. Reuniones científicas 75 Los días 12 y 13 de noviembre

(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

De hecho, este sometimiento periódico al voto, esta decisión periódica de los electores sobre la gestión ha sido uno de los componentes teóricos más interesantes de la