Baez Morales Victor

download Baez Morales Victor

of 126

Transcript of Baez Morales Victor

  • 8/18/2019 Baez Morales Victor

    1/126

     UNIVERSIDAD VERACRUZANA

    Facultad de Contaduría y Administración 

    Enero 2014Xalapa-Enríquez, Veracruz

    “Evaluación de la aplicación web SCAT en laFacultad de Contaduría y Administración” 

    T E S I S

    Para obtener el Título de:

    Licenciado en SistemasComputacionales Administrativos

    P R E S E N T A:

    Víctor Javier Báez Morales

     ASESOR:

    Mte. Mayra Minerva Méndez Anota

  • 8/18/2019 Baez Morales Victor

    2/126

     

  • 8/18/2019 Baez Morales Victor

    3/126

  • 8/18/2019 Baez Morales Victor

    4/126

     

    AGRADECIMIENTOS

    Le agradezco a Dios y a S.J.T. por haberme guiado en el transcurso de

    mi carrera y de tomar las decisiones adecuadas, así como de habermedado unos padres maravillosos.

    Quedo en deuda con mis padres Hipólito Báez, Faustina Morales, mis

    hermanos y a mi familia por todo el apoyo moral y económico para

    terminar mi licenciatura.

    Le agradezco a mis maestros la confianza, apoyo, dedicación y tiempoextra para mi aprendizaje: Maestra Mayra, Maestra Paty. Y a todos los

    que hicieron posible el CDPT.

     Agradezco a mis amigos del alma que siempre estuvieron en las buenas

    y en las malas: Ángel A. Contreras y Gibran Córdoba.

    Gracias a la Maestra Mayra Minerva Méndez Anota por creer en mí y

    haberme brindado la oportunidad de obtener conocimiento laboral que

    es muy importante.

  • 8/18/2019 Baez Morales Victor

    5/126

     

    II

    ÍNDICEPágina

    RESUMEN ......................................................................................................................... 1 

    INTRODUCCIÓN ............................................................................................................... 2 

    CAPÍTULO I: MARCO CONTEXTUAL ............................................................................ 6 

    1.1.  ¿Qué es el Centro de Apoyo a la Titulación (CAT)? ......................................... 7 

    1.2.   Antecedentes de la aplicación web SCAT ........................................................ 8 

    1.2.1.  Propósito de la investigación ................................................................... 10 

    1.2.2.  Justificación ............................................................................................ 10 

    1.2.3.  Objetivos del proyecto ............................................................................. 11 

    1.3.  Introducción a la aplicación web del Centro de Apoyo a la Titulación (SCAT). 11 

    1.3.1.  Formulación del Problema ...................................................................... 12 

    1.3.2.  Interrogantes de Mediciones de la aplicación web SCAT ........................ 13 1.3.3.  Delimitación de la Investigación .............................................................. 14 

    1.3.4.  Normativa de trabajo Recepcional .......................................................... 14 

    CAPÍTULO II: METODOLOGÍA..................................................................................... 17 

    2.1.  Definición de Metodología .............................................................................. 18 

    2.1.1.   Antecedentes de Procesos de Desarrollo ............................................... 18 

    2.2.  Metodología de desarrollo de Sistemas de Información ................................. 22 

    2.2.1.  Metodologías Tradicionales .................................................................... 23 

    2.2.2.  Metodologías Agiles ................................................................................ 24 2.2.3.  Extreme Programming (XP) .................................................................... 27 

    2.2.4.  Proceso continuo en lugar de por lotes. .................................................. 30 

    2.2.5.  ¿Historia de la aplicación web? ............................................................... 33 

    2.2.6.  ¿Qué es una aplicación web? ................................................................. 33 

    2.3.  ¿Qué es la web 2.0? ...................................................................................... 33 

    2.3.1.   Atributos de la Web 2.0 ........................................................................... 34 

    2.3.2.  ¿Para qué sirve la Web 2.0? ................................................................... 34 

    2.4.  ¿Cómo se desarrolló la aplicación web SCAT? .............................................. 35 

    CAPITULO III: CALIDAD PARA LA MEDICIÓN DEL SOFTWARE .............................. 47 

    3.1.  ¿Qué es la calidad? ....................................................................................... 48 

    3.1.1.  Factor de calidad de McCall .................................................................... 48 

    3.2.  ¿Qué es la ISO? ............................................................................................ 49 

    3.3.  Modelos de evaluación y mejora en la calidad del software ........................... 50 

  • 8/18/2019 Baez Morales Victor

    6/126

     

    III

    3.3.1.  El modelo SPICE .................................................................................... 50 

    3.3.2.  Modelo de normas ISO para la calidad del software ............................... 50 

    3.3.3.  ¿Qué es la IEC? ..................................................................................... 51 

    3.3.4.  Norma ISO/IEC 15504 ............................................................................ 52 

    3.3.5.  Norma ISO/IEC 12207 ............................................................................ 54 3.3.6.  Norma ISO/IEC 14598 ............................................................................ 57 

    3.4.  Norma ISO/IEC 9126 ..................................................................................... 58 

    3.5.  Calidad interna y externa ............................................................................... 60 

    3.5.1.  Funcionalidad .......................................................................................... 60 

    3.5.2.  Confiabilidad ........................................................................................... 61 

    3.5.3.  Usabilidad ............................................................................................... 61 

    3.5.4.  Eficiencia ................................................................................................ 62 

    3.5.5.  Mantenibilidad ......................................................................................... 62 3.5.6.  Portabilidad ............................................................................................. 63 

    3.6.  Calidad del uso .............................................................................................. 63 

    3.6.1.  Eficiencia ................................................................................................ 63 

    3.6.2.  Productividad .......................................................................................... 64 

    3.6.3.  Seguridad ............................................................................................... 64 

    3.6.4.  Satisfacción ............................................................................................. 64 

    3.7.  Modelo 2QCV3Q ............................................................................................ 64 

    3.8.  Metodología WebQEM ................................................................................... 65 

    3.9.  WebQual ........................................................................................................ 65 

    3.10.  Modelo SQuaRE ......................................................................................... 65 

    3.11.  Norma ISO/IEC 25000 ............................................................................... 66 

    3.12.  Norma ISO/IEC 29119 ................................................................................ 69 

    3.12.1.  Medición .............................................................................................. 71 

    CAPITULO IV: ANÁLISIS DE RESULTADOS .............................................................. 72 

    4.1.  Métricas internas y externas técnicas ............................................................. 73 

    4.1.1.  Métricas orientadas a la función .............................................................. 73 

    4.1.2.  Métricas del Mantenimiento .................................................................... 77 

    4.1.3.  Densidad de defectos ............................................................................. 78 

    4.1.4.  Medición de la confiabilidad .................................................................... 78 

    4.1.5.  Validadores de la W3C ........................................................................... 79 

    4.1.6.  Validador de HTML ................................................................................. 80 

    4.1.7.  Validador de CSS.................................................................................... 81 

  • 8/18/2019 Baez Morales Victor

    7/126

     

    IV

    4.1.8.  Medición de Eficiencia ............................................................................ 82 

    4.1.9.  Herramientas de medición para evaluar páginas web ............................. 82 

    4.1.10.  Medición de Portabilidad ..................................................................... 87 

    4.1.11.  Usabilidad ............................................................................................ 88 

    4.2.  Resultados de encuesta ................................................................................. 89 CONCLUSIÓN ................................................................................................................. 96 

    FUENTES DE INFORMACIÓN .................................................................................. 100 

    ANEXOS ....................................................................................................................... 106 

    ÍNDICE DE FIGURAS ................................................................................................ 117 

    ÍNDICE DE TABLAS .................................................................................................. 118 

    ÍNDICE DE GRAFICAS .............................................................................................. 118 

  • 8/18/2019 Baez Morales Victor

    8/126

    1

    RESUMEN

    Las aplicaciones web son cada vez más utilizadas y eficientes que funcionan a

    través de internet y se asemejan a una página web, las funciones generales son

    gestionar, compartir información y realizar transacciones, restringiendo accesos a

    personas ajenas a la aplicación, es una gran ventaja tener aplicaciones web en una

    organización, centrando los esfuerzos en las instituciones educativas para generar

    software que puede ser desarrollados por estudiantes con el objetivo principal de

    obtener formación metodológica y de aprendizaje en el área de software, por este

    motivo se creó una aplicación web llamada SCAT en la Facultad de Contaduría y

     Administración para el departamento de apoyo a la titulación, generando beneficios

    como reduciendo la carga administrativa en los procesos del departamento.

    En el proceso de desarrollo de la aplicación web SCAT se realizaron esfuerzos para

    culminar e implementar la aplicación en el departamento, cumpliendo con el objetivo

    inicial, pero surge la inquietud del desempeño de dicha aplicación, por lo tanto en el

    presente trabajo se realiza un análisis y evaluación para determinar la calidad y el

    funcionamiento que está brindando a los usuarios, mediante instrumentos de

    medición basados en los estándares internacionales de calidad, culminando con laconclusión de las pruebas realizadas a la aplicación web SCAT.

  • 8/18/2019 Baez Morales Victor

    9/126

     

    2

    INTRODUCCIÓN

  • 8/18/2019 Baez Morales Victor

    10/126

     

    3

     Actualmente la industria del software ha crecido exponencialmente junto con el

    desarrollo de nuevo software lo cual es una necesidad a nivel mundial, esto va

    enfocando los esfuerzos en producir aplicaciones web rápidamente y gastos

    mínimos y sin dejar a un lado la alta calidad, favoreciendo la competitividad entre

    las grandes industrias, ya que al aumentar el uso de las aplicaciones los usuarios

    exigen mejoras constantes y en ello va implícito la calidad la cual juega un papel

    muy importante al momento de desarrollar las aplicaciones web, creando para el

    usuario un mercado más amplio al momento de elegir aplicaciones que se adapten

    a sus necesidades.

    Las aplicaciones web tienen gran importancia hoy en día, ya que existen muchas

    personas que son usuarios del mismo, estos crean una expectativa de calidad delsoftware cuando evalúan subjetivamente o globalmente el desempeño del software.

    Haciendo una comparativa de lo que el usuario necesita o requiere contra lo que el

    proveedor de software entrega, son conceptos que deben ir de la mano o ser

    igualitarios ya que de eso depende el éxito del software, es decir, si este es aceptado

    o no, promoviendo como responsabilidad de la organización desarrolladora la

    satisfacción de los requisitos del usuario.

    La creación de aplicaciones conlleva a una responsabilidad la cual debe estar sujeta

    a garantizar la calidad del software que se desarrolle, por ese motivo se debe llevar

    a cabo con metodologías o procedimientos estándares en las etapas de diseño,

    programación y pruebas creando una forma de trabajo más fluida, con menos

    errores y creando una filosofía de trabajo, a su vez establece el camino ideal para

    lograr confiabilidad, mantenibilidad haciendo una vía para realizar las pruebas lo

    que permitirá controlar la calidad del software.

    La calidad del software es subjetiva y no se puede medir de forma exacta ya que

    cada persona tiene un concepto diferente de lo que es calidad y depende de las

    necesidades y atributos de cada organización.

  • 8/18/2019 Baez Morales Victor

    11/126

     

    4

    Pero algunos profesionales del ámbito coinciden en ciertos índices los cuales

    pueden determinar bases medibles para la calidad y el control del software creando

    una mayor productividad dependiendo de lo que se quiera medir se eligen los

    índices que podrían ayudar a realizar las pruebas, esto permitirá posteriormente

    establecer procedimientos para llevar a cabo el desarrollo de cada índice. Se puede

    tomar la siguiente lista como algunos aspectos a considerar:

      Definir el software a medir teniendo en cuenta la complejidad del mismo y

    como fue desarrollado

      Realizar una selección de indicadores adecuadas al tipo de software a medir

    y la magnitud de la misma.

      Definir los métodos necesarios para crear los instrumentos como son:encuestas y/o someter al software a condiciones controladas.

      Procesar la información y dar el veredicto del estado del software y que

    acciones se debe realizar para realizar mejoras en el mismo.

    Un aspecto muy importante de la calidad del software es la medición, se puede

    realizar de 2 formas: cuando el software está terminado o cuando se va

    desarrollando el software, pero es una mala práctica dejar al final las mediciones yaque si el software no tiene problemas y todo resulta bien no habrá obstáculos para

    utilizarlo pero de lo contrario resultaría muy costos en proyectos de grandes

    proporciones corregir los errores surgidos durante las pruebas.

    La calidad del software es muy importante para satisfacer las necesidades del

    usuario y la mejora constante, por ese motivo en la presente tesis se aborda este

    tema, aplicando al sistema de apoyo a la titulación (SCAT), dicho trabajo se divide

    en 4 capítulos para llevar a cabo la comprobación de la calidad del software,

    específicamente del departamento de apoyo a la titulación (CAT).

    En el primer capítulo se habla acerca de los sistemas antecesores y que están en

    funcionamiento en la Facultad de Contaduría y Administración así como el

  • 8/18/2019 Baez Morales Victor

    12/126

     

    5

    propósito, justificación y objetivos por la cual fue creada la aplicación, hace un breve

    panorama del funcionamiento y normativas del trabajo recepcional.

    En el segundo capítulo se abordan las diferentes metodologías para el desarrollo

    de proyectos de software principalmente las dos más utilizadas, también se define

    que es una aplicación web y dando a conocer como se desarrolló la aplicación web

    SCAT.

    El capítulo 3 abordar el problema, los estándares, los cuales se enfocan a

    normalizar y establecer condiciones adecuadas para garantizar la calidad del

    software (considerando que existen varios estándares que pueden funcionar para

    la aplican) las condiciones y requerimientos de cada usuario, por lo cual fueronseleccionadas mediciones que se consideran útiles y adaptables en lo posible a

    dicha aplicación para que fuera los más exacta posible.

    En el capítulo 4 se muestra la aplicación de instrumentos de medición del lado del

    usuario aplicando encuestas para recolectar información útil con las cuales

    podamos hacer conclusiones validas, y los demás atributos restantes fueron

    realizados adaptándolos a lo que son las aplicaciones web, estos son:

    funcionalidad, confiabilidad, eficiencia, mantenibilidad, portabilidad entre otras, las

    cuales fueron utilizadas para obtener valoraciones apegadas a los indicadores

    planteados originalmente por cada prueba que se debía realizar al sistema web

    SCAT lo cual permitió reducir tiempo.

  • 8/18/2019 Baez Morales Victor

    13/126

     

    CAPÍTULO I: MARCO CONTEXTUAL1.

  • 8/18/2019 Baez Morales Victor

    14/126

     

    7

    1.1. ¿Qué es el Centro de Apoyo a la Titulación (CAT)?

    El Centro de Apoyo a la Titulación (CAT) es un departamento creado por la Facultad

    de Contaduría y Administración (referenciando el logo del departamento en la figura

    1.1) encargado de planear, organizar, implementar y evaluar todas las actividades

    conducentes para ofrecer a los interesados, servicios académicos y

    extracurriculares que faciliten su titulación a través de una experiencia recepcional.

    El CAT aprovecha el funcionamiento oficial de fideicomisos universitarios, haciendo

    que su operación y sus servicios sean autofinanciables, por lo tanto, independientes

    de la estructura formal de la Universidad.

    Por ello, también sus servicios son extracurriculares permitiendo a estudiantes y

    egresados de la Licenciatura en: Contaduría, Administración, Sistemas

    Computacionales Administrativos y Dirección y Gestión de Negocios, titularse de un

    modo productivo, tanto para sí mismo, como para su Facultad formadora.

    Figura 1.1 Logo del departamento CAT.

    (Departamento CAT, 2013).

  • 8/18/2019 Baez Morales Victor

    15/126

     

    8

    1.2. Antecedentes de la aplicación web SCAT

    Dando referencia al interés por sistematizar y automatizar los procesos al interior de

    la Universidad Veracruzana, específicamente en la Facultad de Contaduría

     Administración, se da pie a la diversificación y desarrollo de los servicios de apoyo

    a los departamentos involucrados, esto además de solo construcción de sistemas

    ayuda a los alumnos de la Facultad a desarrollar aptitudes en cuanto a la fabricación

    de proyectos reales que beneficiaran y se reflejara en la experiencia que más

    adelante desempeñara en el ámbito laboral.

    Dentro de la investigación se tiene que hacer mención a los esfuerzos realizadospor otras personas interesadas en el tema, basándose en el departamento CAT, por

    ello (Muñoz Salas 2008) realizo su tesis titulada “Sistema de Información para la

    Gestión de los Servicios del CAT” proponiendo el funcionamiento de un sistema que

    ayudaría al departamento CAT a realizar sus labores cotidianas dentro del margen

    de la automatización de procesos, dando a conocer la construcción del mismo y los

    beneficios que se podrían obtener cristalizando esa idea, todo surgió por la

    necesidad de manejar la información en tiempo real sobre el registro de instructores,periodos, materiales, registro y actualización relativa a egresados y alumnos

    inmersos en un proceso de titulación pero solo quedo en una propuesta.

    Existe otro sistema que utiliza el departamento de servicio social realizado por

    (Gonzales Raúl, 2012) “Sistema de Información para el departamento del Servicio

    Social (SISSA)”, se encarga de llevar el control de todo lo que compete respecto a

    la realización del servicio social, captura de datos de los alumnos y empresas donde

    el alumno realiza el servicio o donde pudiera realizarlo así como llevar registro del

    proceso que lleva el alumno durante periodo que cursa la experiencia educativa.

    El panorama es alentador ya que también existen otros sistemas dentro de la

    Facultad de Contaduría y Administración que sirvieron como base para los eventos

  • 8/18/2019 Baez Morales Victor

    16/126

     

    9

    subsecuentes como una alusión se menciona al “Sistema Integral de Gestión

     Administrativa” (SIGA) el cual permitió controlar el proceso de inscripción y

    administración relacionada con los alumnos, las materias, los maestros, las

    calificaciones, entre otros.

    Como parte de los sistemas de información utilizados dentro de la Facultad, en

    especial el departamento CAT por varios años registro en hojas de cálculo (Excel)

    los datos de los alumnos, con los cuales daba seguimiento desde la inscripción

    hasta la culminación de su trabajo recepcional, este seguimiento incluía: datos

    generales del alumno, elección de: tema, director y sinodales del trabajo, pagos que

    los alumnos realizan, horario de examen, lugar de examen, formas de titulación

    (monografía, tesis, tesina), numero de asesorados por docente principalmente; elregistro de estos datos no estaban en un solo archivo de Excel, sino en varios, lo

    cual provocaba que la búsqueda de datos, además de incomoda (por tener que abrir

    varios archivos) fuera tardada, y complicaba dar el seguimiento personalizado a los

    candidatos a la titulación, así como llevar el control del número de asesorados que

    tenía un sinodal académico, además al momento de calendarizar los exámenes

    profesionales provocaba en algunas ocasiones cruce de horarios en el aula, es

    decir, dos exámenes en el mismo salón a la misma hora o que los docentes tuvieran

    que estar en dos exámenes profesionales a la misma hora, por otro lado era difícil

    llevar el control del número de estudiantes que están asesorando, y esto provocaba

    que los profesores al tener exceso de asesorados, estos últimos no fueran atendidos

    de manera adecuada, y el CAT al no tener los mencionados datos a tiempo, pues

    debía tomar decisiones improvisadas y a veces erróneas, provocando descontento

    entre los tesistas.

    Retomando la intención de los antecedentes para la creación de un sistema dentro

    del departamento CAT, la Facultad a través del Centro de Desarrollo y Producción

    Tecnológica (CDPT) se dio a la tarea de la realización de la aplicación web “Sistema

    del Centro de Apoyo a la Titulación” (SCAT el logo en la figura 1.2) el cual fue

    realizado en base a las necesidades del departamento.

  • 8/18/2019 Baez Morales Victor

    17/126

     

    10

    Figura 1.2 Logo de SCAT

    (Elaboración Propia)

    1.2.1. Propósito de la investigación

    Cuando se realiza, culmina y está en funcionamiento un sistema de información,

    nace o surge la necesidad de saber si en realidad dicho sistema está cumpliendo

    con las expectativas globales del departamento, esto implica tomar en cuenta varios

    aspectos como pruebas, mediciones, recolección de datos, análisis, procesamiento

    de la información entre otras.

     A continuación se lista los propósitos de la investigación:

      Dar a conocer el nivel de seguridad del sistema.

      Identificar errores de inconsistencia en el código

      Mostrar el nivel de rapidez del sistema

      El nivel de satisfacción del departamento por el sistema  Dar a conocer el nivel de satisfacción con la interfaz del sistema.

    1.2.2. Justificación

    El CAT ha superado las expectativas iniciales y cada día tiene más demanda por

    lo que se hace necesaria la búsqueda de una herramienta tecnológica que pueda

    ayudar a manejar el cumulo actual de información y estar en posibilidad de cruzarlacon el sistema tradicional para evitar sobrecargas de trabajo, mala asignación de

    aulas y de asesores y sinodales, además de conocer quiénes se ha titulado en

    tiempo y forma y los que estén pendientes.

  • 8/18/2019 Baez Morales Victor

    18/126

     

    11

    De acuerdo a lo anterior, se debe medir y saber si realmente las acciones que

    actualmente la aplicación web SCAT realiza, cumplen con las necesidades

    planteadas inicialmente, así mismo ir mejorando la elaboración de sistemas

    teniendo antecedentes con la creación de sistemas de calidad.

    1.2.3. Objetivos del proyecto

    General

    Evaluar el funcionamiento, calidad y desempeño de la aplicación web SCAT a

    través de la aplicación de herramientas de medición para promover un panorama

    de fiabilidad y así tener un índice de calidad del mismo.

    Especifico

      Identificar errores y/o pérdida de información en el sistema.

      Medir la rapidez con la que se procesan los datos (Eficiencia).

      Evaluar la funcionalidad.

      Evaluar la seguridad del sistema (confiabilidad).

      Determinar la portabilidad.

      Evaluar la mantenibilidad.

      Evaluar la interfaz.

      Identificar la satisfacción del usuario con respecto al uso del mismo.

    1.3. Introducción a la aplicación web del Centro de Apoyo a

    la Titulación (SCAT).

    Con la aplicación web SCAT se lleva el control por periodo escolar, sobre los

    estudiantes en proceso de titulación, numero titulados, número de asesorados por

    docente, el número avances entregados, control de pagos realizados, salones y

  • 8/18/2019 Baez Morales Victor

    19/126

  • 8/18/2019 Baez Morales Victor

    20/126

     

    13

    que solicitan información extraída de los datos recolectados a través de cada

    alumno, dicho lo anterior debemos medir la eficiencia con la cual realiza cada

    módulo o acción que desempeña el sistema y saber si en realidad cumple con los

    requerimientos planteados inicialmente y, analizar la posibilidad de añadir nuevos

    módulos si es que fuera necesario.

     Además de realizar las mediciones se debe comprobar con elementos visuales

    como son por ejemplo gráficas para respaldar la información procesada.

    1.3.2. Interrogantes de Mediciones de la aplicación web SCAT

    Tener la incertidumbre de cómo opera y se desempeña el sistema genera preguntas

    obligadas.

    ¿Qué tan funcional y que beneficios aporta la aplicación web SCAT para el

    departamento CAT?

    Cuando se implementa un sistema para automatizar procesos surge de la necesidad

    de resolver un problema, existe una íntima relación entre esfuerzo dentro deldepartamento que se involucra en el proceso e innovación de parte de las personas

    que desarrollan el sistema, esto quiere decir cuando se plantean los objetivos,

    metas de cada módulo, acción que desempeñara, el sistema es modelado a las

    necesidades del departamento, pero esto muchas veces no reúna las expectativas

    finales del cliente como son la funcionalidad y a su vez el beneficio que podría

    aportar el departamento que sería la eficiencia y eficacia de sus procesos, más

    adelante comprobaremos todos las preguntas aquí plantadas.

    ¿En que beneficia la aplicación web SCAT a la Facultad de Contaduría y

     Administración?

  • 8/18/2019 Baez Morales Victor

    21/126

     

    14

    La aplicación web SCAT tiene diferentes funcionalidades, una de las cuales es evitar

    los traslapes de directores y sinodales al asignar un salón en un día en específico a

    una hora acordada, esto ayuda en las funciones de la Facultad para llevar un control

    ordenado de salones asignados y horarios disponibles, lo cual es un beneficio

    significativo ya que se ahorra tiempo en buscar coincidencias por maestro. Estos

    son beneficios comprobables que se pueden medir en un nivel de efectividad.

    Interrogantes ligadas al objetivo de esta investigación.

    ¿Cómo se puede medir los errores de codificación?

    ¿Cómo se puede evaluar la seguridad del sistema?

    ¿Con que herramientas podemos evaluar la seguridad del sistema?¿Cómo evaluar la ergonomía del sistema?

    ¿Cómo medir la rapidez del sistema?

    ¿Cómo medir la fiabilidad del sistema?

    ¿Tiene calidad a nivel interno visualizando el lado técnico?

    ¿Tiene calidad a nivel externo visualizando el lado del usuario?

    1.3.3. Delimitación de la Investigación

    Las pruebas de medición se llevan a cabo en la Facultad de Contaduría y

     Administración por un periodo de 8 meses aproximadamente.

    1.3.4. Normativa de trabajo Recepcional

    La Universidad Veracruzana como institución educativa de nivel superiorcomprometida con la sociedad, egresa profesionistas titulados, para esto establece

    a través de su Ley Orgánica (capitulo 3, art. 94 que “…son graduados los que hayan

    obtenido el título correspondiente”, apoyándose en las atribuciones que competen

    al secretario académico, señalando que debe “Fomentar la titulación de egresados”

  • 8/18/2019 Baez Morales Victor

    22/126

     

    15

    (Ley orgánica. capítulo V, art. 41 fracción XIV); además es importante señalar que

    en el Estatus de los alumnos 2008 se señalan los derechos y obligaciones de los

    estudiantes, y para este artículo es importante hacer mención de los lineamiento

    que debe seguir un estudiante para titularse.

    El Estatutos 2008, señala que para titularse deben acreditar la experiencia

    recepcional, en capítulo I, al art. 80 y 81 indica los requisitos que debe reunir el

    alumno para cursar y acreditar esta experiencia educativa (E.E.), de los artículos

    mencionados previamente se toman los siguientes fragmentos:

     Artículo 80 . Para cursar y acreditar la experiencia recepcional, el alumno debe:

    I. Cumplir como mínimo con el 70% de los créditos del programa educativo. La

    Junta Académica determinará si este porcentaje se incrementa, atendiendo el perfil

    profesional requerido;

    III. Presentar ante el Secretario de la Facultad o titular de la entidad académica la

    solicitud y la documentación con la cual se pretenda acreditar la experiencia

    recepcional

     Artículo 81. Para las opciones de acreditación de la experiencia recepcional por

    trabajo escrito o práctico deberá observarse lo siguiente:

    IV. Es responsabilidad del académico designado programar y dar seguimiento a

    la experiencia recepcional;

    V. Para realizar el trabajo escrito o práctico, el alumno contará con un asesor, queserá nombrado por el Consejo Técnico o por los coordinadores de Academia. El

    asesor podrá ser el mismo académico asignado a la experiencia recepcional;

    VII. La evaluación de la experiencia recepcional la realizará un jurado constituido

    por tres integrantes, nombrados por el Director de la Facultad;

  • 8/18/2019 Baez Morales Victor

    23/126

     

    16

    Para cumplir con este requisito la Facultad de Contaduría y Administración creo el

    departamento de trabajo recepcional, pero con el paso del tiempo se dio cuenta que

    requería crear además otra opción que le permitiera aumentar el número de

    titulados, en razón del gran rezago que había, entonces surge el Centro de Apoyo

    a la titulación (CAT) el cual tiene como objetivos: “Proporcionar una alternativa

    viable y expedita de titulación.

    Proveer una metodología sólida y consistente para la elaboración de trabajos

    recepcionales”, y ofrece los siguientes beneficios: “Asesoría en la selección del tema

    de investigación y elaboración de la agenda de trabajo. Disponer de una guía

    metodológica que permita recopilar, organizar y analizar la información para el

    desarrollo del trabajo recepcional. Asesoría personalizada para la realización delprotocolo de investigación.

    Seguimiento del proceso de elaboración del trabajo recepcional. Realización de

    trámites ante las autoridades correspondientes para el proceso de titulación. Apoyo

    técnico para la presentación del examen profesional.” Este centro ha crecido mucho

    y actualmente muchos estudiantes hacen uso de este servicio, por lo cual ahora es

    nuestro objeto de estudio, debido a que el sistema de información que manejaban

    se volvió inapropiado, y aprovechando la tecnología que existe y el ambiente digital

    que actualmente se vive, la automatización de procesos se utiliza como estrategia

    de mejora para el manejo de información y toma de decisiones.

  • 8/18/2019 Baez Morales Victor

    24/126

     

    CAPÍTULO II: METODOLOGÍA

    2. S

  • 8/18/2019 Baez Morales Victor

    25/126

     

    18

    2.1. Definición de Metodología

     Al ocupar la palabra metodología se debe saber de qué se trata, como dice la (R.A.E,

    2013) es la ciencia del método y conjunto de métodos que se siguen en una

    investigación científica o en una exposición doctrinal.

     Ampliando la definición, tiene como fin crear un conocimiento y medios los cuales

    se han de ejecutar en este caso los métodos. La lógica es parte importante de la

    actividad intelectual y sirve de guía para conocer la realidad.

    2.1.1. Antecedentes de Procesos de Desarrollo

    En los inicios de la industria del software surgieron prototipos que contribuyeron a

    formular el análisis estructurado y se originó el denominado modelo en cascada, dio

    pie a la estandarización interna de la ingeniería del software. Esta idea surgió por

    una mala costumbre utilizada en la década de los sesentas: el modelo codificar y

    probar, a razón de esta problemática se decidió formalizar y crear una disciplina, en

    esa época ya existían modelos iterativos e incrementales pero sin tomarlos en

    cuenta y eran poco utilizado.

    Por esta causa se decidió estructurar definidamente el proceso de desarrollo, el cual

    en funcionamiento parecía conveniente utilizarlo, he hizo al modelo en cascada

    popularizar su manejo. Como menciona (Pressman Roger, 2005) el manejo del

    modelo es basado en procesos en forma de cascada, esto quiere decir que debe

    terminar la etapa anterior para continuar con la siguiente representada en la figura

  • 8/18/2019 Baez Morales Victor

    26/126

     

    19

    2.1. Esto provocaba que los requerimientos se detuvieran y al momento de querer

    realizar cambios causaba mayor trabajo al modificar la petición.

    No es factible las limitantes que se deberían establecer al inicio del proceso es no

    realizar ningún cambio, ocasionaba que el usuario solo podía ver su aplicación hasta

    que estuviera construida completamente podría causar descontento y muy

    probablemente no cubrir las necesidades al momento de interactuar con ella.

    Por las características del modelo poniendo énfasis en las fases de implementación

    exigía desarrollar cada etapa en forma independiente con sus respectivas pruebas,

    siguiendo con el procedimiento en etapa subsecuente se realizaba la unificación de

    los módulos. La forma de desarrollar causaba un perjudicar resultado ya que alrealizar pruebas unitarias los demás módulos no interactuaban entre ellos. Los

    problemas se presentaban cuando se realizaba la unificación de cada pieza

    desarrollada, provocaba demora en la entrega del proyecto y a su vez no resultaba

    con la calidad esperada.

    Figura 2.1 Modelo de Cascada.

    (Bennington, 1956).

  • 8/18/2019 Baez Morales Victor

    27/126

     

    20

    Fueron surgiendo procesos en etapas prematuras en algunos casos como los

    procesos iterativos que solucionaban algunos problemas del modelo en cascada

    como por ejemplo las acciones de cambios inesperados del software, anticipando

    los errores en etapas tempranas. La iteratividad de los procesos donde se derivan

    varias vertientes como el modelo iterativo e incremental, el modelo en espiral, el

    modelo basado en prototipo, el modelo SLCD, el MBASE, el RUP entre otros.

    Otro de los prototipos creados fue el modelo en espiral desarrollado por Barry

    Boehm que posteriormente fuera una idea para crear una metodología para el

    temprano análisis de riesgos representado en la figura 2.2. La característica

    principal del modelo en espiral es su iteratividad en las etapas iniciales, plantea

    realizar iteraciones para resolver la necesidad de prevenir los riesgos críticosdurante el proyecto, esto propiciaba a crear prototipos o simulacros eventuales para

    probar algunas dudas que surjan durante la elaboración. Cuando los prototipos son

    aprobados se vuelve a realizar nuevamente otra iteración para verificar: objetivos,

    la evaluación, el desarrollo y la planeación. Teniendo la aprobación del cliente y el

    diseño detallado se implementa pero con un problema aun presente, el cual es

    utiliza aun el modelo en cascada. El problema persiste en etapas finales del software

    es una falla del modelo en espiral por la razón de no poder realizar cambios cuando

    se haya empezado la construcción, también perjudica en la etapas del modelo en

    espiral.

    Figura 2.2 Modelo de espiral.

    (Barry Boehm, 1986).

  • 8/18/2019 Baez Morales Victor

    28/126

     

    21

    El propio desarrollador del modelo en espiral, Barry Boehm, identifico tres puntos

    críticos dentro de un proyecto en cuestión de planificación y el control progresivo de

    mismo, dando importancia y haciendo énfasis en los stakeholders. Tomando en

    cuenta la relación de las etapas puestas en marcha durante un proyecto y las etapas

    de Ingeniería como las que se ocupan en el modelo de espiral, la tarea de

    producción ocupada en el modelo de cascada. Demostrando tal importancia en el

    ámbito del software que el RUP es uno de los procesos actuales mayores utilizados

    uno de los acontecimientos importantes que los incorpora son:

      Objetivos del Ciclo de Vida

      Arquitectura del Ciclo de Vida

      Capacidad de Operación Inicial

    El principal acontecimiento culmina con determinación de la magnitud del software

    en la construcción, la percepción de los stakeholders, el planteamiento del

    desarrollo del sistema.

    El segundo acontecimiento termina con la edificación del software, determinación

    de los riesgos del proyecto, y alineando los objetivos con el alcance del sistema.

    Culminando con los acontecimientos, considerado la entrega del sistema aplicando

    las iteraciones correspondientes. Es importante considerar contenido como manual

    de usuario y manual de operación.

    Constantemente se ha mencionado la importancia sobre el proceso RUP, el cual en

    la comunidad del software es un hito, es el principal proceso que se comercializa al

    tal grado que se piensa como un producto. Se considera como una de las mejores

    prácticas en la elaboración de software que actualmente es eficaz y una idea

    vigente.

  • 8/18/2019 Baez Morales Victor

    29/126

     

    22

    Tomando en cuenta la utilización del RUP y la aplicación del mismo se puede diferir

    en proyectos de grandes dimensiones o pequeñas puede crear una imperfección

    para describir factores del desarrollo que en los proyectos son muy importantes, las

    personas involucradas en el software.

    Razones por la cual surgen distintos pensamientos y en este caso metodologías

    para el desarrollo del software.

    2.2. Metodología de desarrollo de Sistemas de Información

    La realización de Sistemas de Información no es nada sencillo. Teniendo en cuenta

    la variedad de propuestas que siguen particularmente sus metodologías de

    desarrollo. Existen varias ideas, una de ellas es la metodología tradicional, su

    propósito es centrar la atención en el control del procesos, fijado inflexiblemente las

    actividades involucradas, los mecanismos que se deben hacer, contando

    herramientas y apuntes que se emplearan.

    Esta metodología se ocupa con buenos resultados y actualmente vigente, pero

    existen problemas, no cumple por completo el desarrollar de un proyecto, una

    posible solución sería agregar procesos de desarrollo añadiendo actividades, más

    herramientas, agregando restricciones y/o apoyándose en puntos débiles

    detectados. También la unión de todo lo anterior podría causar problemas al

    desarrollar el sistema de información lo cual se podría volver complejo y complicaría

    el trabajo al equipo.

    Existe otra idea de desarrollo el cual se llama metodologías agiles, estas centran laatención en el factor humano y el software como producto final, valora al individuo

    que desarrolla el sistema, la colaboración con el cliente y la interacción incremental

    del sistema con el cliente mostrando resultados. La metodología ágil aporta mayor

    efectividad a proyectos dinámicos exigiendo la reducción en tiempo de desarrollo

    pero sin perder calidad del mismo.

  • 8/18/2019 Baez Morales Victor

    30/126

     

    23

    Esta metodología es la más adecuada y está creando un auge en el ámbito del

    desarrollo, pero como toda idea tiene sus pros y contras, una de ellas es que no

    acepta como alternativa a la metodología tradicional. Solo es un panorama general

    de los temas que se hablaran a profundidad más adelante.

    2.2.1. Metodologías Tradicionales

    En el proceso de creación de software, en sus inicios eran totalmente rústicos, y

    esto ocasionaba problemas al crear proyectos largos, complejos, entre otros, por

    esta razón se vio en la necesidad de mejorar el desarrollo y lograr los objetivos del

    proyecto, se optó por introducir elementos importantes como metodologías y

    conceptos útiles de otras disciplinas para el desarrollo de software. Al adoptar

    distintos conceptos empezó a evolucionar y aumentar la adaptación al contenido de

    cada proyecto dividiendo en etapas secuenciales.

    Dentro de las metodologías tradicionales surgieron conceptos importantes y

    conocidos como por ejemplo:

      RUP

      MSF  Win-Win Spiral Model

      Iconix

    Entre otros, los cuales el objetivo principal era cumplir con el plan del proyecto

    definido en la concepción de proyecto y documentar exhaustivamente todo el

    proceso. El enfoque tradicional existían varios problemas, uno de ellos se

    ocasionaba cuando se trataba de realizar algún cambio en el proyecto provocabaun alto costo al querer realizar esta acción, al no existir una solución viable esta

    metodología no servía y se empezó a centrar la atención en la documentación,

    planificación y procesos, dentro de las prácticas tradicionales surgió una

    metodología llamada RUP, que se enfocaba en plantillas, técnicas de

    administración, revisiones, entre otros.

  • 8/18/2019 Baez Morales Victor

    31/126

     

    24

    2.2.2. Metodologías Agiles

    La metodología agiles en el desarrollo de software es realmente nuevo y bastante

    revolucionario para su momento ya que estaba en contra de toda ideología de los

    procesos altamente definidos, se iba a lograr obtener software en tiempo costo y

    calidad. Con esto se pretendía ofrecer una alternativa a los procesos de desarrollo

    de software tradicionales caracterizados por ser rígidos y orientados por la

    documentación que genera por cada actividad creada en cada una de las

    actividades desarrolladas. Cuando emerge el término ágil se crea The Agile Alliance

    que ayuda a las organizaciones relacionados con el desarrollo de software para

    que adquieran dichos conceptos.

    El manifiesto ágil valora las interacciones de un equipo de desarrollo sobre el

    proceso y herramientas, para tener éxito con un software se necesita tener un buen

    equipo de personal que trabajen en un buen entorno, esto contribuye a que se

    desarrolle un buen software que funcione adecuadamente, en el manifiesto se

    valora que no se deben de copiar documentos a menos que sea necesario de forma

    inmediata, estos documentos deben ser cortos y centrarse en lo fundamental y

    necesario, el manifiesto ágil indica que el cliente debe involucrarse en el proyectopara que se obtenga el éxito en el proyecto este se debe planificar pero debe ser

    flexible y abierto para posibles cambios.

    (Calderón Amaro 2007) define que la metodología ágil solo se aplica para

    pequeños equipos y para que estos resuelvan problemas concretos, ya que a si se

    dividen el trabajo en módulos y esto disminuye los fallos. Esta metodología se aplica

    generalmente para proyectos cortos pero también funciona para desarrollar

    grandes sistemas, esta metodología destaca en su:

      Capacidad de respuesta a cambios de requisitos a lo largo del desarrollo

      Entrega continua y en plazos breves de software funcional

      Trabajo conjunto entre el cliente y el equipo de desarrollo

  • 8/18/2019 Baez Morales Victor

    32/126

     

    25

      Importancia de la simplicidad, eliminado el trabajo innecesario

      Atención continua a la excelencia técnica y al buen diseño

      Mejora continua de los procesos y el equipo de desarrollo.

    Con esto se busca satisfacer al cliente mediante constantes entregas de software

    valioso.

     Aunque el movimiento ágil está sustentado por valores y principios para el desarrollo

    de productos software, la mayoría de estas metodologías tienen asociadas un

    conjunto de prácticas, en muchos casos comunes, que buscan la agilidad en el

    desarrollo. En esta sección vamos a analizar algunas de las más relevantes:

    planificación, programación en parejas o pair programming, integración continua,refactorización y desarrollo dirigido por pruebas (Test Drive Development).

    En la metodología ágil cuando se generan sistemas de alta complejidad se utilizan

    parejas de programadores que realizan la producción de código y estos utilizan el

    método de pair programming esto ayuda a los programadores mientras uno genera

    código otro revisa posibles errores en el código y esto ayuda a acelerar el proceso

    de desarrollo mejora aspectos en el diseño del software.

    Pair programming, se ha visto como una herramienta de aprendizaje para los

    propios programadores. Haciendo una pequeña comparativa entre las metodologías

    tradicionales y agiles se muestra la tabla 2.1 donde se examinan algunos elementos

    importantes que hay que tomar en cuenta al momento de elegir cual debemos

    ocupar en la tabla 2.2 mencionado por Ticona Cordoni.

  • 8/18/2019 Baez Morales Victor

    33/126

     

    26

    Tabla 2.1 Comparación de metodologías agiles y tradicionales

    (Letelier Patricio y Penadés M. Carmen, 2003)

    Tabla 2.2 Comparación de elementos entre metodologías agiles y tradicionales

    (Letelier Patricio y Penadés M. Carmen, 2003)

    Metodologías Ágiles Metodologías Tradicionales

    Basadas en heurísticas provenientes deprácticas de producción de código.

    Basadas en normas provenientes deestándares seguidos por el entorno dedesarrollo.

    Especialmente preparados para cambios

    durante el proyecto.

    Cierta resistencia a los cambios.

    Impuestas internamente (por el equipo). Impuestas externamente.No existe contrato tradicional o al menos esbastante flexible.

    Proceso mucho más controlado, connumerosas políticas/normas.

    Proceso menos controlado, con pocosPrincipios.

    Existe un contrato prefijado.

    El cliente es parte del equipo deDesarrollo.

    El cliente interactúa con el equipo dedesarrollo mediante reuniones.

    Grupos pequeños (

  • 8/18/2019 Baez Morales Victor

    34/126

     

    27

    Dentro del contexto de las metodologías agiles existen una gama de ellas entre las

    más importantes están:

      Extreme programming (XP).

      Scrum.

      Crystal Clear.

      Dynamic Systems Development Method (DSDM).

      Feature Driven Development (FDD).

      XBreed.

      Extreme Modeling.

    2.2.3. Extreme Programming (XP)

    La metodología Programación extrema nos permite optimizar el tiempo en el

    desarrollo de software el cual forma parte de las metodologías ágiles, esto quiere

    decir que la ingeniería del software tiene varios complementos que ayudan y hacen

    posible los requerimientos del cliente, dicho por (Martínez Lucio, 2013), también

    menciona que la metodología fue formulada por Kent Benck en 1999, esta nos

    permite responder a las necesidades del cliente las cuales constantemente cambian

    los requerimientos de sus sistemas al cual hacen confiable y segura la utilización

    del mismo. El éxito de la programación extrema se fundamenta en la simplicidad, la

    comunicación y el reciclado continuo de código.

    Los objetivos de la metodología son los siguientes:

      Satisfacer al cliente: Trata de que el usuario quede convencido con losrequerimientos que el mismo solicita tomando en cuenta el tiempo y calidad

    del software, tratando que el usuario cuando requiera cambios en la

    estructura puedan ser posibles.

  • 8/18/2019 Baez Morales Victor

    35/126

     

    28

      Maximizar la eficiencia y eficacia del trabajo en equipo: Es muy importante

    tomar en cuenta el involucramiento de los individuos involucrados a

    desarrollar el software.

      Garantizar la Calidad del software que se está desarrollando: Al realizar la

    entrega del producto final se debe dar respaldo al funcionamiento.

    Como ya se mencionó anteriormente, la programación extrema deriva de las

    metodologías ágiles las cuales son basadas en el hecho de aumentar la

    productividad al momento de programar y facilitar el desarrollo.

    En la utilización de la metodología se ha creado una revuelta y existen opiniones

    encontradas los cuales hay comunidades a favor y en contra que son criteriosaceptables del punto de vista de cada proyecto o necesidad del cliente dentro de

    las opiniones negativas argumentan que los programadores se sienten dueños del

    código la cual no es lo que la programación extrema promueve.

    En cambio los que están a favor de esta metodología dicen que es completamente

    funcional para las personas comprometidas profesionalmente y con capacidades

    para crear diseñar y facilitar la fluidez de manera sencilla todo lo antes dicho

    haciendo alusión a (kniberg, 2007).

    Principios Básicos de XP

    La programación Extrema se basa en 12 principios básicos agrupados en 4

    categorías dicho por (Beck y Fowler, 2000).

    Retroalimentación a escala fina.

    1. El principio de pruebas: se tiene que establecer un período de pruebas de

    aceptación del programa (llamado también período de caja negra) donde se

    definirán las entradas al sistema y los resultados esperados de estas

  • 8/18/2019 Baez Morales Victor

    36/126

     

    29

    entradas. Es muy recomendable automatizar estas pruebas para poder hacer

    varias simulaciones del sistema en funcionamiento. Para hacer estas

    simulaciones automatizadas, se pueden utilizar  Ambientes de Prueba (Unit

    testing frameworks).

    2. Proceso de planificación: en esta fase, el usuario tendrá que escribir sus

    necesidades, definiendo las actividades que realizará el sistema. Se creará

    un documento llamado Historias del usuario (User Stories). Entre 20 y 80

    historias (todo dependiendo de la complejidad del problema) se consideran

    suficientes para formar el llamado Plan de Liberación, el cual define de forma

    específica los tiempos de entrega de la aplicación para recibir

    retroalimentación por parte del usuario. Por regla general, cada una de lesHistorias del usuario suelen necesitar de una a tres semanas de desarrollo.

    3. El cliente en el sitio: se le dará poder para determinar los requerimientos,

    definir la funcionalidad, señalar las prioridades y responder las preguntas de

    los programadores. Esta fuerte interacción cara a cara con el programador

    disminuye el tiempo de comunicación y la cantidad de documentación, junto

    con los altos costes de su creación y mantenimiento. Este representante del

    cliente estará con el equipo de trabajo durante toda la realización del

    proyecto.

    4. Programación en parejas: uno de los principios más radicales y en el que

    la mayoría de gerentes de desarrollo pone sus dudas. Requiere que todos

    los programadores XP escriban su código en parejas, compartiendo una sola

    máquina. De acuerdo con los experimentos, este principio puede producir

    aplicaciones más buenas, de manera consistente, a iguales o menores

    costes.

  • 8/18/2019 Baez Morales Victor

    37/126

     

    30

    2.2.4. Proceso continuo en lugar de por lotes.

    1. Integración continua: permite al equipo hacer un rápido progreso

    implementando las nuevas características del software. En lugar de crear  

    builds (o versiones) estables de acuerdo a un cronograma establecido, los

    equipos de programadores XP pueden reunir su código y reconstruir el

    sistema varias veces al día. Esto reduce los problemas de integración

    comunes en proyectos largos y estilo cascada.

    2. Refactorización: permite a los equipos de programadores XP mejorar el

    diseño del sistema a través de todo el proceso de desarrollo. Los

    programadores evalúan continuamente el diseño y recodifican lo

    necesario. La finalidad es mantener un sistema enfocado a proveer el valor

    de negocio mediante la minimización del código duplicado y/o ineficiente.

    3. Entregas pequeñas: colocan un sistema sencillo en producción

    rápidamente que se actualiza de forma rápida y constante permitiendo que

    el verdadero valor de negocio del producto sea evaluado en un ambiente

    real. Estas entregas no pueden pasar las 2 o 3 semanas como máximo.  

    Entendimiento compartido.

    1. Diseño simple: se basa en la filosofía de que el mayor valor de negocio es

    entregado por el programa más sencillo que cumpla los requerimientos.

    Simple Design se enfoca en proporcionar un sistema que cubra las

    necesidades inmediatas del cliente, ni más ni menos. Este proceso permite

    eliminar redundancias y rejuvenecer los diseños obsoletos de forma sencilla.

    2. Metáfora: desarrollada por los programadores al inicio del proyecto, define

    una historia de cómo funciona el sistema completo. XP estimula historias,

    que son breves descripciones de un trabajo de un sistema en lugar de los

  • 8/18/2019 Baez Morales Victor

    38/126

     

    31

    tradicionales diagramas y modelos UML (Unified Modeling Language). La

    metáfora expresa la visión evolutiva del proyecto que define el alcance y

    propósito del sistema.

    3. Propiedad colectiva del código: un código con propiedad compartida.

    Nadie es el propietario de nada, todos son el propietario de todo. Este método

    difiere en mucho a los métodos tradicionales en los que un simple

    programador posee un conjunto de código. Los defensores de XP

    argumentan que mientras haya más gente trabajando en una pieza, menos

    errores aparecerán.

    4. Estándar de codificación: define la propiedad del código compartido asícomo las reglas para escribir y documentar el código y la comunicación entre

    diferentes piezas de código desarrolladas por diferentes equipos. Los

    programadores las han de seguir de tal manera que el código en el sistema

    se vea como si hubiera estado escrito por una sola persona. 

    Bienestar del programador

    1. La semana de 40 horas: la programación extrema sostiene que los

    programadores cansados escriben código de menor cualidad. Minimizar las

    horas extras y mantener los programadores frescos, generará código de

    mayor calidad. Como dice Beck , está bien trabajar tiempos extra cuando es

    necesario, pero no se ha de hacer durante dos semanas seguidas.

    Proceso de desarrollo.

    La programación extrema parte del caso habitual de una compañía que desarrolla

    software, normalmente a medida, en la que hay diferentes roles: un equipo de

    gestión (o diseño), uno de desarrollo y los clientes finales. La relación entre el equipo

    de diseño, los que desarrollan el software y clientes es totalmente diferente al que

  • 8/18/2019 Baez Morales Victor

    39/126

     

    32

    se ha producido en las metodologías tradicionales, que se basaba en una fase de

    captura de los requisitos previa al desarrollo, y de una fase de validación posterior

    al mismo.

    1. Interacción con el cliente: En este tipo de programación el cliente pasa a

    ser parte implicada en el equipo de desarrollo. Su importancia es máxima en

    el momento de tratar con los usuarios y en efectuar las reuniones de

    planificación. Tiene un papel importante de interacción con el equipo de

    programadores, sobre todo después de cada cambio, y de cada posible

    problema localizado, mostrando las prioridades, expresando sus

    sensaciones. En este tipo de programación existirán pruebas de aceptación

    de la programación que ayudarán a que su labor sea lo más provechosaposible.

    2. Planificación del proyecto: En este punto se tendrá que elaborar la

    planificación por etapas, donde se aplicarán diferentes iteraciones. Para

    hacerlo será necesaria la existencia de reglas que se han de seguir por las

    partes implicadas en el proyecto para que todas las partes tengan voz y se

    sientan realmente partícipes de la decisión tomada.

    3. Diseño, desarrollo y pruebas: El desarrollo es la parte más importante en

    el proceso de la programación extrema. Todos los trabajos tienen como

    objetivo que se programen lo más rápidamente posible, sin interrupciones y

    en dirección correcta. También es muy importante el diseño, y se establecen

    los mecanismos, para que éste sea revisado y mejorado de manera

    continuada a lo largo del proyecto, según se van añadiendo funcionalidades

    al mismo. La clave del proceso de desarrollar XP es la comunicación. La

    mayoría de los problemas en los proyectos son por falta de comunicación en

    el equipo.

  • 8/18/2019 Baez Morales Victor

    40/126

     

    33

    2.2.5. ¿Historia de la aplicación web?

    Como menciona (Mateu Carles, 2004), empezó con una simplicidad atendiendo a

    las necesidades de los usuarios teniendo la posibilidad de consultarlas o

    descargarlas agrupadas en colecciones de páginas estáticas y documentos.

    Posteriormente estos pasos fueron aumentando y la mentalidad también haciendo

    métodos de creación de páginas que se generaran a partir de peticiones eventuales

    haciendo así peticiones dinámicas método llamado CGI (common Gateway

    interface), el cual define mecanismos de mediante el cual podíamos pasar

    información entre el servidor HTTP y programas externos. La sencillez y la rapidez

    y diversidad de lenguajes de desarrollo de los CGI dan pauta para que sigan siendo

    utilizados ya que la mayoría de servidores web lo soportan.

    2.2.6. ¿Qué es una aplicación web?

    Los sistemas y aplicaciones web (WebApps) son basados en la web ofrecen un

    complejo arreglo de contenido y funcionalidad a una amplia población de usuarios

    finales.

    2.3. ¿Qué es la web 2.0?

    La Web 2.0 es una actitud que representa la evolución de la forma tradicional de

    desarrollar aplicaciones web, preocupándose principalmente en brindar mejores

    soluciones al usuario final, como publicó (Van Der Christian, 2005) en maestros del

    web, haciendo el enfoque en la transición de las aplicaciones tradicionales como

    son las aplicaciones de escritorio para reemplazarlas y migrarlas hacia el ambiente

    web.

    El objetivo que lleva la Web 2.0 es preocuparse por el usuario final, esto crea una

    etapa importante en la web, la cual se generan nuevos proyectos en internet lo cual

  • 8/18/2019 Baez Morales Victor

    41/126

     

    34

    conduce subjetivamente a reinventar lo que era el internet, creando una evolución

    progresiva del medio, ya que en un principio el entorno web era estático, realizadas

    con HTML rígido que no hacia interacción con el usuario y tenían pocas

    actualizaciones.

    Todo comenzó en una conferencia que realizo Dale Dougherty de O´Reilly Media

    en la cual utilizo el término de Web 2.0, creando una lluvia de ideas junto con Craig

    Cline de MediaLive haciendo énfasis en la evolución de la web.

    2.3.1. Atributos de la Web 2.0

    Existen varias tecnologías las cuales crea una vía para que las aplicaciones web se

    incorporen a la Web 2.0 y buscan seguir evolucionando a la par del ámbito web. Las

    tecnologías y atributos mencionados por (Van Der Christian, 2005) en proyectos 2.0

    son las siguientes:

      Transformar software de escritorio hacia plataformas web

      Respetar los estándares como XHTML

      Separar el contenido del diseño con el uso de hojas de estilo

      Ajax

      Uso de Ruby on Rails para programar páginas dinámicas

      Utilizar redes sociales al manejar usuarios y comunidades

      Dar control total a los usuarios en el manejo de su información

      Proveer Apis o XML para que las aplicaciones puedan ser manipuladas por

    terceros

      Facilitar el posicionamiento con URL sencillos.

    2.3.2. ¿Para qué sirve la Web 2.0?

    La tendencia actual es Web 2.0, este término está de moda ya que en internet se

    crea grandes ideas tecnológicas, y principalmente nos sirve para que los proyectos

  • 8/18/2019 Baez Morales Victor

    42/126

     

    35

    generados con esta metodología se renueven y evolucionen creando una actitud de

    desarrollador y ofrecer al usuario final una experiencia satisfactoria al utilizar la

    aplicación web ideando expectativas con mejora continua, así fueron surgiendo

    nuevos servicios desarrollados con esta metodología como lo son:

      Blogs

      Wikis

      Redes sociales

      Entornos para compartir recursos

    o  Google Drive, Sky Drive, Dropbox

    o  Youtube

    o  Prezi, Slideshare

    o  Plataformas educativas

    Creando una gama extensa de aplicaciones web que son muy populares, teniendo

    bondades como reducir costos de difusión de información entre otras.

    2.4. ¿Cómo se desarrolló la aplicación web SCAT?

     Al crear un proyecto es importante realizar acciones previas como la investigación,

    recopilación de información necesaria de los procesos internos del sistema a

    desarrollar, el funcionamiento del propio departamento y las acciones cotidianas,

    teniendo claro la ejecución de la marcha diaria y fijando objetivos deseados nos

    permitirán tener una amplia perspectiva de lo que se desarrollara y se materializara

    el finalizar el sistema.

    Para el departamento CAT es fundamental el desarrollo del sistema para lograr losobjetivos y mejorar los servicios que ofrece a los alumnos de la Facultad de

    Contaduría y Administración y con ello tener éxito en su labor diaria.

    En el desarrollo del sistema surgieron y se plantearon varias preguntas previas al

    desarrollo, la cuales fueron ¿Cuál es el problema que se debe solucionar?, ¿Cómo

  • 8/18/2019 Baez Morales Victor

    43/126

     

    36

    debemos realizar los procesos actuales del proyecto?, ¿Qué herramientas de

    desarrollo debemos ocupar?, ¿Qué lenguaje de programación será el apropiado

    para desarrollar el sistema?, ¿Qué metodología debemos ocupar?, entre otras. De

    acuerdo a las preguntas planteadas surgieron respuestas que posteriormente se

    solucionaron y otras conforme se avanzaba en el desarrollo del proyecto, y al mismo

    tiempo se obtuvo una visión clara del problema.

    Uno de los pasos primordiales es definir las acciones que realizan por proceso o en

    el departamento, el cual nos da una herramienta muy útil para tener una idea de lo

    que se desarrollara.

    Dentro de lo que es la planificación del sistema se llevó a cabo preguntas yredacción del procedimiento por parte de usuario sin terminologías técnicas como

    ellos comprenden las acciones cotidianas y las necesidades que ellos creen y

    perciben, seguida de la necesidades del departamento proporcionando información

    valiosa y tener una idea para la estimación de tiempo de desarrollo y los posibles

    riesgos futuros, costos de implementación del mismo sistema, entre otros.

    Respecto a los detalles que el usuario proporcione se traza un plan estratégico,

    convocando a las personas involucradas en el proyecto para acordar y realizar

    propuestas para resolver el problema, en la línea de la metodología de

    programación extrema se realiza un plan de iteración creando decisiones técnicas

    posteriormente teniendo el plan estratégico realizar reuniones en conjunto

    convocando a las personas interesadas a los usuarios en este caso a los del

    departamento CAT y a los desarrolladores del sistema.

    Las ideas se ordenaran conforme a urgencia e importancia, de forma que se trazaun plan estratégico en funciones de los parámetros: tiempo de desarrollo ideal y

    grado de importancia de los usuarios se da una demostración centrando la atención

    el proceso de inscripción, le es punto medular del sistema y por lo tanto se realizó

    un boceto para poder entender la relación y la secuencia del procedimiento desde

  • 8/18/2019 Baez Morales Victor

    44/126

     

    37

    que llega el alumno al CAT y solicita la inscripción empezando a registrar sus datos

    generales, datos de curso, datos de proceso de titulación y por ultimo datos de cuota

    modelado en notación business process modeling notation (BPMN) en la figura 2.3.

    Los demás complementos que se agregan al sistema en este caso en forma de

    modulo.

    Figura 2.3 Proceso de inscripción

    (Elaboración Propia)

    El avance del proyecto va en función de la velocidad de desarrollo, personas

    involucradas, de acuerdo de los requerimientos iniciales, cuando se realiza una

    planificación por alcance se divide el número total de semanas entre la velocidad

    de proyecto para determinar cuántas iteraciones estarán disponibles dicho por

    (Escribano Fernando, 2002).

    En la división del proyecto cada iteración corresponde a un periodo de tiempo de

    desarrollo del proyecto de entre una y tres semanas. De esta forma, un proyecto,

    se divide en una docena de iteraciones, más o menos. Al principio de cada iteración

    se debería convocar una reunión para trazar el plan de iteración correspondiente.

    Está prohibido intentar adelantarse e implementar cualquier cosa que no esté

  • 8/18/2019 Baez Morales Victor

    45/126

     

    38

    planeada para la iteración en curso. Habrá suficiente tiempo para añadir la

    funcionalidad extra cuando sea realmente importante según el plan de entregas.

    Se usará la velocidad del proyecto para determinar si una iteración está

    sobrecargada. La suma de los días que costará desarrollar todas las tareas de la

    iteración no debería sobrepasar la velocidad del proyecto de la iteración anterior. Si

    la iteración está sobrecargada, el cliente deberá decidir que historias de usuario

    retrasar a una iteración posterior. Si, por el contrario, la iteración tiene huecos se

    rellenará con otras historias de usuario mencionado por (Escribano Fernando, 2002)

    como se muestra en la Figura 2.4

    En ocasiones la metodología de programación extrema presenta algunas fallas quese presentan en el desarrollo del proyecto, los problemas que presente se deben

    comunicar al equipo todos deben estar enterados de la situación que acontece, pero

    no implica cambiar radicalmente lo antes planeado sino adecuar la solución al

    problema aislando la causa para no afectar al resto del equipo.

    Figura 2.4 Plan de iteración

    (Fernando Escribano, 2002).

  • 8/18/2019 Baez Morales Victor

    46/126

     

    39

    Diseño

    Implica crear una estructura lógica del sistema concentrando y reduciendo la

    dispersión de los elementos que lo componen, rediciendo el trabajo en caso de

    cambios futuros creando un buen diseño.

    Para la realización inicial se utilizaron herramientas para diseñar interfaz, acciones

    necesarias formulas, interacciones con el usuario el cual nos ayudan a realizar la

    unión de todos los elementos de desarrollo y formar un producto final que es el

    sistema SCAT, a continuación se mencionan las herramientas utilizas:

      PHP  JavaScript  JQuery  MySQL  HTML5  CSS3  MPDF  Sublime Text

    ¿Qué es PHP?

    PHP. Tres letras según la (w3school 2013) que juntas constituyen el nombre de uno

    de los lenguajes de programación más populares para el desarrollo de Web, el

    Preprocesador de Hipertexto PHP. Y mientras tal vez sonríes por lo insulso y

    reiterativo del acrónimo, que las estadísticas indican que PHP no debe tomarse a la

    ligera: actualmente este lenguaje se utiliza en más de 20 millones de sitios Web y

    en más de un tercio de los servidores Web en todo el mundo; no es algodespreciable, especialmente cuando se considera que el lenguaje ha sido

    desarrollado por completo por una comunidad de voluntarios repartida en todo el

    mundo y está disponible en Internet ¡sin costo alguno!

  • 8/18/2019 Baez Morales Victor

    47/126

     

    40

    Durante los últimos años, PHP se ha convertido, de facto, en la opción para el

    desarrollo de aplicaciones Web orientadas a bases de datos, sobre todo por su

    escalabilidad, facilidad, uso y el amplio soporte para diferentes bases de datos y

    formatos de éstos. Este primer capítulo te presentará una introducción amigable al

    mundo de PHP con un recorrido relámpago por su historia y sus características, y

    luego te guiará por la escritura y ejecución de tu primer programa PHP.

    Características únicas

    a. Rendimiento Los scripts escritos en PHP se ejecutan más rápido que

    los escritos en otros lenguajes de creación de scripts; numerosos

    estudios comparativos independientes ponen este lenguaje porencima de sus competidores como JSP, ASP.NET y Perl. El motor de

    PHP 5.0 fue completamente rediseñado con un manejo óptimo de

    memoria para mejorar su rendimiento y es claramente más veloz que

    las versiones previas. Además, están disponibles aceleradores de

    terceros que pueden mejorar aún más el rendimiento y el tiempo de

    respuesta. 

    b. Portabilidad PHP está disponible para UNIX, Microsoft Windows,

    Mac OS y OS/2 y los programas escritos en PHP se pueden

    transportar de una plataforma a otra. Como resultado, las aplicaciones

    PHP desarrolladas en Windows, por ejemplo, se ejecutarán en UNIX

    sin grandes contratiempos. Esta capacidad de desarrollar fácilmente

    para múltiples plataformas es muy valiosa, en especial cuando se

    trabaja en un ambiente corporativo de varias plataformas o cuando se

    intenta atacar diversos sectores del mercado.

    c. Fácil de usar  “La sencillez es la mayor sofisticación”, dijo Leonardo

    da Vinci y, de acuerdo con ello, PHP es un lenguaje de programación

    extremadamente sofisticado. Su sintaxis es clara y consistente y viene

  • 8/18/2019 Baez Morales Victor

    48/126

     

    41

    con una documentación exhaustiva para las más de 5 000 funciones

    incluidas en la distribución principal. Esto reduce de manera

    importante la curva de aprendizaje tanto para los desarrolladores

    novatos como para los expertos, y es una de las razones por las que

    PHP es favorecido como una herramienta rápida para la creación de

    prototipos que permitan el desarrollo de aplicaciones basadas en

    Web.

    d. Código libre PHP es un proyecto de código libre; el lenguaje es

    desarrollado por un grupo de programadores voluntarios distribuidos

    por todo el mundo, quienes ponen a disposición gratuita el código

    fuente a través de Internet, y puede ser utilizado sin costo, sin pagospor licencia y sin necesidad de grandes inversiones en equipo de

    cómputo ni programas. Con ello se reduce el costo del desarrollo de

    programas sin afectar la flexibilidad ni la confiabilidad de los productos.

    La naturaleza del código libre implica que cualquier desarrollador,

    dondequiera que se encuentre, puede inspeccionar el árbol de código,

    detectar errores y sugerir posibles correcciones; con esto se produce

    un producto estable y robusto, en que las fallas, una vez descubiertas,

    se corrigen rápidamente, en algunas ocasiones, ¡horas después de

    ser descubiertas!

    e. Soporte comunitario Una de las mejores características de los

    lenguajes a los que da soporte una comunidad, como PHP, es el

    acceso que ofrece a la creatividad e imaginación de cientos de

    desarrolladores ubicados en diferentes partes del mundo. En la

    comunidad PHP, los frutos de esta creatividad pueden ser

    encontrados en PEAR (PHP Extension and Application Repository), el

    repositorio de extensiones y aplicaciones de PHP (http://pear.php.net),

    y en PECL (PHP Extension Community Library), la biblioteca de la

    comunidad de extensiones PHP (http://pecl.php.net), que contienen

  • 8/18/2019 Baez Morales Victor

    49/126

     

    42

    cientos de soluciones y extensiones que los desarrolladores pueden

    ocupar para añadir sin esfuerzo nuevas funcionalidades a sus

    aplicaciones PHP. Utilizar estas soluciones suele ser una mejor opción

    en tiempo y costo, en vez de desarrollar desde cero tu propio código.

    Lo anterior dicho por (Vaswani Vikram, 2009) El lenguaje de programación utilizado

    para crear las formulas, operaciones y transacciones entre la bases de datos e

    interfaz de usuarios la cual es un elemento primordial en la aplicación web SCAT.

    ¿Qué es JavaScript?

    JavaScript es un lenguaje de programación que se utiliza principalmente para crearpáginas web dinámicas. Una página web dinámica es aquella que incorpora efectos

    como texto que aparece y desaparece, animaciones, acciones que se activan al

    pulsar botones y ventanas con mensajes de aviso al usuario. Técnicamente,

    JavaScript es un lenguaje de programación interpretado, por lo que no es necesario

    compilar los programas para ejecutarlos. En otras palabras, los programas escritos

    con JavaScript se pueden probar directamente en cualquier navegador sin

    necesidad de procesos intermedios. A pesar de su nombre, JavaScript no guarda

    ninguna relación directa con el lenguaje de programación Java. Legalmente,

    JavaScript es una marca registrada de la empresa Sun Microsystems, dicho por

    (Pérez Eguíluz, 2008).

    La utilización de este lenguaje de programación ayuda a la interacción entre el

    usuario y php con la ayuda de este script se realizan las acciones del usuario más

    rápido y en una sola vista.

    ¿Qué es JQuery?

    Es una biblioteca de JavaScript de código abierto que facilita la interacción entre un

    Documento HTML, o más precisamente el Document Object Model (también

  • 8/18/2019 Baez Morales Victor

    50/126

     

    43

    conocido como el DOM), y JavaScript. En pocas palabras, y para los hackers de la

    vieja escuela de JavaScript por ahí, jQuery hace HTML dinámico (DHTML).

    Específicamente, jQuery simplifica el documento HTML según (Resig John, 2010). 

    Este script se utilizó para dar efectos, transacciones entre el usuario y el motor que

    es php para hacer más amena la experiencia a usuario.

    ¿Qué es HTML5?

    HTML5 es la actualización de HTML, el lenguaje en el que es creada la web. HTML5

    también es un término de marketing para agrupar las nuevas tecnologías de

    desarrollo de aplicaciones web: HTML5, CSS3 y nuevas capacidades de JavaScript.

    La versión anterior y más usada de HTML, HTML4, carece de características

    necesarias para la creación de aplicaciones modernas basadas en un navegador.

    El uso fuerte de JavaScript ha ayudado a mejorar esto, gracias a frameworks como

     jQuery 1, jQuery UI2, Sproutcore3, entre otros.

    Flash en especial ha sido usado en reemplazo de HTML para desarrollar web apps

    que superaran las habilidades de un navegador: Audio, video, webcams,

    micrófonos, datos binarios, animaciones vectoriales, componentes de interfaz

    complejos, entre muchas otras cosas. Ahora HTML5 es capaz de hacer esto sin

    necesidad de plugins y con una gran compatibilidad entre navegadores.

    Mencionado (Vega Freddy y Henst Van Der, 2011).

    HTML se ocupó para maquetar y dar estructura al sistema formar la cabecera en

    este caso representadas con las etiquetas el menú con lasetiquetas el cuerpo de la página con y la parte

    inferior con así creando un el esqueleto para posteriormente darle

    diseño visual.

  • 8/18/2019 Baez Morales Victor

    51/126

     

    44

    ¿Qué es css3?

    El CSS es un lenguaje de estilos empleado para definir la presentación, el formato

    y la apariencia de un documento de marcaje, sea HTML, XML, o cualquier otro.

    Comúnmente se emplea para dar formato visual a documentos HTML o XHTML que

    funcionan como espacios web. También puede ser empleado en formatos XML, u

    otros tipos de documentos de marcaje para la posterior generación de documentos.

    Las hojas de estilos nacen de la necesidad de diseñar la información de tal manera

    que podemos separar el contenido de la presentación y, así, por una misma fuente

    de información, generalmente definida mediante un lenguaje de marcaje, ofrecer

    diferentes presentaciones en función de dispositivos, servicios, contextos oaplicativos. Por lo que un mismo documento HTML, mediante diferentes hojas de

    estilo, puede ser presentado por pantalla, por impresora, por lectores de voz o por

    tabletas braille. Separamos el contenido de la forma, composición, colores y fuentes.

    Las diferentes revisiones de las hojas de estilo tienen el origen en la primera

    especificación publicada por el W3C en diciembre de 1996 y que pretendía unificar

    la sintaxis y el modo de definir una hoja de estilos por los diferentes lenguajes

    derivados del SGML. Así, las principales características que se pueden definir

    mediante esta primera especificación son:

    1) Propiedades del tipo de letra, así como el estilo de este.

    2) Colores de los textos y de los fondos.

    3) Atributos del texto tales como espacio entre caracteres, palabras y líneas.

    4) Alineación de tablas, bloques de texto, imágenes, párrafos.

    5) Márgenes externos e internos, filetes y posición de la mayoría de los elementos.6) Definición única de elementos mediante ids y agrupamiento de atributos mediante

    clases mencionado por (Puig Collell, 2013).

  • 8/18/2019 Baez Morales Victor

    52/126

     

    45

    El CSS se utilizó para controlar el estilo y el diseño como colores, tamaño, formas

    texturas, degradados entre otras del sistema SCAT.

    ¿Qué es (MPDF)?

    MPDF es una clase PHP que genera archivos PDF desde UTF-8 codificación

    HTML. Se basa en FPDF y HTML2FPDF, con una serie de mejoras. Esta clase es

    utilizada para realizar los reportes en PDF fácilmente para el usuario.

    Otra tarea importante fue la realización del esquema de la base de datos el cual

    consta de llevar a cabo el diseño lógico la cual es el cimiento del sistema SCAT en

    el cual se representa en la figura 2.5 las tablas que se hicieron y ocuparon

    Cargo, Responsabilidad y Colaboración

    Para la realización del sistema SCAT se creó un equipo de desarrollo y asesoría el

    cual contribuyo a la tarea de diseño los cuales fueron:

    Mayra Minerva Méndez Anota (Asesora del proyecto)

    Víctor Javier Báez Morales (Programador Proyecto).

     Ángel Antonio Contreras Moctezuma. (Programador del Proyecto).

    Simplicidad

    La simplicidad es un requisito al momento de realizar el diseño, ya que los

    planteamientos complejos generan un mayor costo tiempo y esfuerzo al desarrollar

    e implementar. El sistema SCAT se basa en un diseño limpio y simple aunque en

    las transacciones resulta algo complejo respecto a programación aplicada.

    Se apega a las normas de la Universidad Veracruzana utilizando logos, colores

    institucionales los cuales son verde y azul en combinación con tonalidades de gris,

    utilizando imágenes para realizar la representación de las secciones u opciones en

    el panel de opciones.

  • 8/18/2019 Baez Morales Victor

    53/126

     

    46

    Utilizando la semántica de HTML5, la estructura del sistema consta de 4 secciones:

    1. Cabecera (header); Consta de los logos oficiales de la Universidad

    Veracruzana y del Departamento CAT

    2. Menú (nav); Consta de una franja azul que contiene las etiquetas inicio,

    alumnos, maestros, contabilidad, parámetros, reportes, usuarios y mi perfil.

    3. Contenido (section); En donde se muestra el contenido del menú

    seleccionado

    4. Pie de página (footer); Contiene los derechos reservados del CAT En la figura

    2.5 se representa la semántica de html5 estándar.

    Figura 2.5 Semántica de HTML5

    (Gauchat, 2012)

  • 8/18/2019 Baez Morales Victor

    54/126

  • 8/18/2019 Baez Morales Victor

    55/126

     

    48

    3.1. ¿Qué es la calidad?

    La calidad del software es el cumplimiento de los requisitos de la funcionalidad y

    desempeño explícitamente establecidos, de los estándares de desarrollo

    explícitamente documentados y las características implícitas que se esperan de

    todo software de desarrollo profesionalmente definido por (Pressman Roger, 2005).

    3.1.1. Factor de calidad de McCall

    Los factores de cálida del software se dividen en dos grandes grupos,

      Mediciones directas (defectos descubiertos durante la prueba).

      Mediciones indirectas (facilidad de uso o de mantenimiento).

    Son factores que independientemente deben presentar mediciones.Tomando en cuenta tres factores importantes a su vez tiene subdivisiones que

    desarrollo McCall representados en la figura 3.1.

      Revisión

    o  Facilidad de mantenimiento

    o  Flexibilidad

    o  Facilidad de prueba

      Transacción

    o  Portabilidad

    o  Facilidad de reutilización

    o  interoperabilidad

      Operación

    o  Facilidad de uso

  • 8/18/2019 Baez Morales Victor

    56/126

     

    49

    o  Corrección

    o  Confiabilidad

    o  Integridad

    o  Eficiencia

    La medición del software directamente suele ser difícil y en algún caso imposible,

    alguno de los aspectos que propone McCall son mediciones subjetivas ya que no

    siempre pueden comprobar o ser aplicadas con resultados satisfactorios.

    Figura 3.1 Factor de Calidad del software de McCall

    (Pressman Roger, 2005)

    3.2. ¿Qué es la ISO?

    ISO (Organización Internacional de Normalización) es una federación mundial de

    organismos nacionales de normalización (organismos miembros de ISO). El trabajo

    de preparación de las normas internacionales normalmente se realiza a través de

    los comités técnicos de ISO. Cada organismo miembro interesado en una materia

    para la cual se haya establecido un comité técnico, tiene el derecho de estar

    representado en dicho comité. Las organizaciones internacionales, públicas y

    privadas, en coordinación con ISO, también participan en el trabajo. ISO colabora

    INTEROPERABILIDAD(¿Podre comunicarlo con otro sistema?)

    PORTABILIDAD(¿Podré utilizarlo en otra máquina?)

    REUSABIINTEROPERABILIDAD(¿Podre comunicarlo con otro sistema?)

    PORTABILIDAD(¿Podré utilizarlo en otra máquina?)

    FACILIDAD DE MANTENIMIENTO(¿Puedo arreglarlo?)

    Facilidad de Prueba(¿Puedo probarlo?)

    Flexibilidad(¿Puedo modificarlo?)

    OPERACIÓN

  • 8/18/2019 Baez Morales Victor

    57/126

  • 8/18/2019 Baez Morales Victor

    58/126

  • 8/18/2019 Baez Morales Victor

    59/126

     

    52

    Tanto en la ISO como en la IEC hay diversos comités técnicos (Technical Comittees)

    en los que intervienen los organismos de cada nación y que participan en el

    desarrollo de estándares en un determinado ámbito. En ocasiones, la ISO y la IEC

    colaboran en los llamados Comités Técnicos Conjuntos (Joint Tech