Calidad Del Software

6
PROFR: M. en TIC NÉSTOR APOLO LÓPEZ GONZÁLEZ TECNOLÓGICO DE ESTUDIOS SUPERIORES DE COACALCO VISIÓN INNOVADORA DE LA CALIDAD DEL PRODUCTO DE SOFTWARE Presenta NOYA FRAGOSO JESUS AGUSTIN 3822

Transcript of Calidad Del Software

  • PROFR: M. en TIC NSTOR APOLO LPEZ GONZLEZ

    TECNOLGICO DE ESTUDIOS SUPERIORES DE COACALCO

    VISIN INNOVADORA

    DE LA CALIDAD DEL

    PRODUCTO DE

    SOFTWARE

    GESTIN DE PROYECTOS DE SOFTWARE

    INGENIERA EN SISTEMAS COMPUTACIONALES

    Presenta

    NOYA FRAGOSO JESUS AGUSTIN

    3822

  • VISIN DE INNOVACIN DE LA CALIDAD DEL

    SOFTWARE

    INTRODUCCIN

    El desarrollo de software, es un proceso en el cual se ha visto y se sigue viendo

    como algo muy complejo, por la falta de calidad que llegamos a desarrollar en dicho

    software. Como siempre, un ingeniero de software siempre se preocupa por la calidad del

    cdigo, sin antes ver que la calidad del software abarca mucho ms, como lo que es la

    fiabilidad, mantenimiento, portabilidad, eficiencia. Esto quiere decir, que la calidad

    software, infiere mucho en la infraestructura tecnolgica, arquitectura, libreras a terceros,

    as como tambin la seguridad, los procesos de construccin y la documentacin. Para dar

    solucin a esto, consideraremos que los elementos antes mencionados, se definirn de

    acuerdo a un conjunto de actividades a realizar, un conjunto de herramientas de soporte, y

    resultados a obtener.

    Para muchos, la complejidad del software, es considerado como lo ms importante,

    ya que en las grandes organizaciones, llega exigirse a nivel tcnico, que realice actividades

    mucho ms importantes, y esto conlleva a la evolucin de las grandes tecnologas de la

    informacin. Pero antes de enfocarnos a que el sistema sea complejo, debemos tambin ver

    la criticidad del software, por los errores o problemas que conllevan dentro de la

    organizaciones, es por eso que el software a llegado a ser el centro ms importante dentro

    de ellas. Es por ello que se requiere un control absoluto de los procesos implicados y de los

    niveles, ya que cualquier interaccin con el sistema podra deshabilitarlo.

    PUNTOS DE FALLO

    Entre los elementos de informacin se consideran puntos de fallo potenciales a estos

    elementos principales.

    Balanceador de carga de las peticiones entre los servidores

    Servidores web de la capa frontal

    Servidores de autenticacin y validacin.

    Servidores de aplicaciones de la capa de negocio

  • Servidores de base de datos

    Entornos de red y comunicaciones

    Servidores de backup y recuperacin

    Cualquier otro sistema de informacin externo con el que exista una

    dependencia

    Los servidores web, que son una parte fundamental en el acceso a los recursos del

    sistema, llega tener varios errores o fallos. Esto se llega a suceder por la prdida de

    rendimientos, es decir, los recursos o servicios que llega a ofrecer, tienen errores o inclusos

    llegan a ser denegados; esto se debe en ocasiones por el consumo excesivo de memoria,

    servidores de aplicacin o sistemas externos no disponibles, sistemas de ficheros estticos o

    que alcanzan un lmite de tamao, o incluso en ocasiones cuando el usuario llega a realizar

    muchas peticiones al sistema y se produce un eco, es decir, el usuario llega a presionar

    muchas el botn que no realiza la funcin o servicio que l desea.

    Otro gran problema son los servidores de aplicaciones son el ncleo de ejecucin

    fundamental de nuestros sistemas de informacin por lo que cualquier problema que surja

    afectar de manera significativa a todos los componentes de nuestro sistema. Al igual que

    con el resto de componentes el sntoma principal es la prdida de rendimiento, y viene

    ocasionado por: problemas de memoria de las aplicaciones y liberacin de recursos, mala

    gestin de los drivers de acceso a base de datos, de la sesin de usuario y del pool de

    conexiones, acceso a disco elevado, tratamiento errneo de cadenas de caracteres,

    transacciones largas e innecesarias.

    Sin dejar de mencionar, Las bases de datos son otro elemento fundamental en

    nuestro sistema de informacin, y tambin suelen experimentar la mayor parte de nuestros

    problemas. Algunas de las posibles causas de problemas son: consultas pesadas,

    interbloqueos, descontrol en el nmero de sesiones abiertas, acceso a disco, falta de ndices,

    elevado nmero de cursores abiertos.

    De nuevo el sntoma experimentado en el sistema es la prdida de rendimiento, y de

    nuevo la solucin que se suele tomar es la ampliacin de recursos hardware. En su lugar, la

  • experiencia nos dice que en la mayora de veces basta con optimizar los desarrollos y

    mantener al da el software de base de datos.

    En base a todo lo mencionado, damos a entender que para poder detectar un

    problema en los sistemas de informacin, es bastante difcil. Para el, el ISO 9126, propone

    ciertas propiedades de la calidad del software, que se tienen que analizar y monitorizar para

    la deteccin de estos errores y sea mucho ms fcil poder prevenirlos o resolverlos.

    Figura 1. Propiedades de la calidad del software (ISO 9126)

    Con esto, definimos calidad del software, como un conjunto de propiedades

    inherentes del software, en el cual se juzga su valor y se compara con otros tipos de

    software para analizar y compara su funcionalidad, ya que como ya se mencion, no solo

    nos importa la funcionalidad del software, sino tambin los elementos importantes ya

    mencionados como son: eficiencia, mantenimiento, disponibilidad, portabilidad, etc. Asi

    como lo establece el ISO 9126 (Estndar internacional para la evaluacin de la calidad del

    software).

    Para ellos nos basamos en un modelo de calidad, para poder mantener un anlisis y

    control de los elementos mencionados. Se revisa desde el cdigo fuente hasta la

    documentacin.

  • Figura 2. Visin conceptual de la calidad del software

    Cdigo fuente. Revisiones de convenciones de cdigo, de pruebas unitarias y

    cobertura, trazas, control de versiones, complejidad, etc.

    Libreras. Revisiones de licencias y versiones de libreras utilizadas, dependencias y

    solapamientos, uso de estndares, etc.

    Arquitectura. Revisiones del modelo de arquitectura, consistencia, escalabilidad,

    mantenibilidad y rendimiento, etc.

    Infraestructura. Revisin de cachs y dependencias, revisiones de configuracin en

    los servidores de aplicaciones y servidores web, parametrizacin, ficheros de trazas,

    etc.

    Base de datos. Uso de estndares, revisin de ndices, particionamiento, histricos,

    procesos en segundo plano, controles de versiones del modelo, etc.

    Seguridad. Seguridad en los puestos, seguridad en las integraciones y

    comunicaciones, planes de contingencia y continuidad, etc.

    Construccin. Revisin de los modelos de construccin de los desarrollos

    (integraciones, migraciones, etc.), automatizacin de reglas, empaquetado y

    ejecucin, etc.

    Documentacin. Creacin de sitios web para los desarrollos, automatizacin y

    revisin de la documentacin, etc.

  • CONCLUSIONES

    Como se vio en esta investigacin, la calidad del software, es un proceso que se

    lleva monitoreando en todo el ciclo de vida del software, se debe tener seguridad,

    fiabilidad, funcionalidad, eficiencia, etc. Que son elementos ya mencionados para poder

    llevar un excelente calidad del software.

    La calidad del software no siempre ser el cdigo fuente. Como ya vimos, la calidad

    abarca desde las arquitecturas, infraestructuras, bases de datos, servicios de integracin y

    libreras a terceros. No solo se tiene que garantizar una excelente calidad, sino que en base

    a lo mencionado, se debe tener confianza de que todos lo requisitos de la calidad del

    software se estn cumpliendo.