Академический Документы
Профессиональный Документы
Культура Документы
Las estandarizaciones se hicieron como un cierto modo de reglas compatible y de firme base para la realizacin de calidad en productos y trabajos. En el caso del software se ha necesitado una especie de acuerdos y normas para elaborar calidad del sistema o programa que vaya recibir el usuario. La idea principal es alcanzar la satisfaccin del cliente a sus necesidades por lo cual se ha hecho tomar en cuenta las siguientes definiciones del objetivo. Calidad del Software se puede definir como la Concordancia con los requisitos funcionales explcitamente establecidos con los estndares de desarrollo explcitamente documentados y con las caractersticas implcitas que se espera de todo software desarrollado profesionalmente La calidad del software: Es una preocupacin a la que se dedican muchos esfuerzos. Sin embargo, el software casi nunca es perfecto. Todo proyecto tiene como objetivo producir software de la mejor calidad posible, que cumpla, y si puede supere las expectativas de los usuarios. Hoy da existen diversas normas para verificar la calidad del software, as como varias organizaciones que la regulan. A continuacin se presentan las ms importantes:
SPICE
SPICE es un acrnimo ingls de Simulation Program with Integrated Circuits Emphasis (Programa de simulacin con nfasis en circuitos integrados). Fue desarrollado por la Universidad de California, Berkeley en 1975 por Donald Pederson. Es un estndar internacional cuyo objetivo es simular circuitos electrnicos analgicos compuestos por resistencias, condensadores, diodos, transistores, etc.
El Software Process Assessment (SPA) y el proyecto SPICE tienen sus orgenes en el creciente uso y dependencia de la Tecnologa de Informacin que en consecuencia dio el incremento de frustracin e incumplimiento de expectativas por parte de los desarrolladores y los usuarios de software.
Al principio de los 80s, los militares de E.U. y del Reino Unido se propusieron mejorar el mecanismo de seleccin de proveedores de software con el objetivo de detener el creciente costo de software, reducir riesgos en su desarrollo y mejorar la calidad de los productos de software.
Tambin se le conoce como norma ISO/IEC 15504 que es un emergente estndar internacional de evaluacin y determinacin de la capacidad y mejora continua de procesos de ingeniera del software, con la filosofa de desarrollar un conjunto de medidas de capacidad estructuradas para todos los procesos del ciclo de vida y para todos los participantes. Es el resultado de un esfuerzo internacional de trabajo y colaboracin y tiene la innovacin, en comparacin con otros modelos, del proceso paralelo de evaluacin emprica del resultado.
Gestin de calidad-Directrices para la calidad en la gestin en proyectos. Su Objeto es servir de gua en aspectos relativos a elementos, conceptos y prcticas de sistemas de calidad que pueden implementarse en la gestin de proyectos o que puede mejorar la calidad de la gestin de proyectos.
CMM
El CMM (Capability Maturity Model for Software), es decir, Modelo de Madurez de Capacidades. Fue creado por el Software Engineering Institute (SEI) y tiene como Meta el describir los elementos principales para llegar a cabo los procesos de software de una forma efectivos.
El CMM consiste en una serie de procedimientos destinados a evaluar y mejorar los procesos de desarrollo, implementacin y mantenimiento del software. Aunque an est en vas desarrollo, es un estndar que la industria acepta para evaluar y garantizar la calidad y madurez de sus aplicaciones
Beneficios de la implantacin del modelo CMM Mayor efectividad en la deteccin de errores a lo largo del ciclo de vida del desarrollo del software, reduciendo drsticamente el nmero de defectos. Reduccin de las desviaciones en plazo de los proyectos. Mayor tolerancia al cambio e incremento de la capacidad de adopcin y adaptacin de nuevas Tecnologas. Mejora en la rapidez y efectividad de respuesta ante exigencias del negocio. Mejora en la colaboracin y comunicacin. Mitigacin de Riesgo. Reduccin de los costes del proyecto.
CMM define cinco niveles de madurez para una organizacin y proporciona un marco para moverse a partir de un nivel al siguiente. Las guas CMM contienen actividades diseadas para ayudar a una organizacin para mejorar sus procesos con la meta de alcanzar capacidad de repeticin, y control de los mismos. El CMM ha ganado considerable credibilidad en las industrias intensivas en el uso de conocimientos. La implantacin del CMM ha permitido mejoras considerables en la calidad de los productos y bajado perceptiblemente el costo del desarrollo dentro de grandes compaas. Estos cinco niveles de CMM son las siguientes:
INICIAL
Las organizaciones en este nivel no disponen de un ambiente estable para el desarrollo y mantenimiento de software. Aunque se utilicen tcnicas correctas de ingeniera, los esfuerzos se ven minados por falta de planificacin. El xito de los proyectos se basa la mayora de las veces en el esfuerzo personal, aunque a menudo se producen fracasos y casi siempre retrasos y sobre costes. El resultado de los proyectos es impredecible.
REPETIBLE
En este nivel las organizaciones disponen de unas prcticas institucionalizadas de gestin de proyectos, existen unas mtricas bsicas y un razonable seguimiento de la calidad. La relacin con subcontratistas y clientes est gestionada sistemticamente.
Para el Nivel 2 al menos se deber contar con las siguientes reas clave de proceso: Gestin de Requisitos Planificacin del proyecto de software Seguimiento y Supervisin del proyecto Gestin de subcontratos de software Garanta de calidad de software Gestin de la configuracin del software
DEFINIDO
Adems de una buena gestin de proyectos, a este nivel las organizaciones disponen de correctos procedimientos de coordinacin entre grupos, formacin del personal, tcnicas de ingenieras ms detalladas y un nivel ms avanzado de mtricas en los procesos. Se implementan tcnicas de revisin por pares (peer reviews).
ADMINISTRADO
Se caracteriza por que las organizaciones disponen de un conjunto de mtricas significativas de calidad y productividad, que se usan de modo sistemtico para la toma de decisiones y la gestin de riesgos. El software resultante es de alta calidad.
OPTIMIZADO
La organizacin completa est volcada en la mejora continua de los procesos. Se hace uso intensivo de las mtricas y se gestiona el proceso de innovacin.
ISO 9001-3
Desde que la ISO 9001 fue escrita para ser utilizada por toda clase de industrias, es regularmente difcil interpretarla para el desarrollo de software, por lo cual se public la ISO 9000-3 "Gua para la aplicacin de ISO 9001 para el desarrollo, implementacin y mantenimiento de software". El objetivo de la ISO 9001 es construir un sistema de calidad el cual contenga la estructura de la organizacin, responsabilidades, procedimientos, procesos y recursos para implementar una direccin de calidad. Mientras que el de la ISO 9000-3 es proveer las especificaciones de cmo aplicar la ISO 9001 al desarrollo del software, implementacin y mantenimiento. Se incluyen algunos temas que no se encuentran en las normas ISO 9000 genricas, tales como Administracin de la Configuracin o Planeacin de Proyectos. Sera poco probable lograr resultados de calidad en un proyecto de desarrollo software de tamao mediano, sin haber tomado las provisiones necesarias para el control de configuracin. Esto implica que para ciertos productos o servicios, la especificacin de requerimientos contenida en las normas genricas ISO 9000 no es suficiente para asegurar la calidad, y esto justifica la necesidad de otras normas o guas ms especficas. La norma ISO 9000-3 es requerida por todas las compaas desarrolladoras de software: Para poder incursionar en la competencia del mercado europeo. Como un medio para cubrir las expectativas de los clientes. Para obtener beneficios de calidad y ventajas competitivas en el mercado. Como parte de la estrategia del mercado. Estrategia para reducir los costos de produccin.
Dentro de los beneficios que se obtienen de la certificacin ISO 9000-3, se encuentran: Mejor documentacin de los sistemas. Cambio cultural positivo. Incremento en la eficiencia y productividad. Mayor percepcin de calidad. Se ampla la satisfaccin del cliente. Se reducen las auditoras de calidad de los clientes. Agiliza el tiempo de desarrollo de un sistema.
Responsabilidades de la direccin
La direccin de la empresa debe definir y documentar su poltica y sus objetivos con respecto a la calidad: la empresa debe asegurarse que esta poltica es conocida, entendida e implementada en todos los niveles de la organizacin. Las responsabilidades, autoridades y relaciones entre todo personal, cuyo trabajo afecte la calidad del producto, deben ser definidas: particularmente de aqullos quienes necesitan de la libertad organizacional y autoridad.
Sistemas de calidad
La empresa debe establecer y mantener un sistema de calidad documentado (un manual interior como gua de operaciones del sistema de calidad) como medio de asegurar que los productos cumplen con los requerimientos especificados, y debe incluir: La preparacin de procedimientos e instructivos del sistema de calidad de acuerdo con los requerimientos de esta especificacin La aplicacin efectiva de los procedimientos y de las instrucciones documentadas del sistema de calidad.
Inspeccin y pruebas
La empresa debe asegurar que los productos adquiridos no se utilicen o procesen hasta que sean inspeccionados o verificados que cumplen con los requerimientos especficos. Las verificaciones deben estar de acuerdo con el plan de calidad y los procedimientos documentados. Cuando los productos son enviados a produccin por situaciones de urgencia sin ser antes inspeccionados, stos deben identificarse y registrarse para que en caso de no conformidad sean rpidamente reconocidos y reemplazados.
La empresa debe establecer o mantener registros que contengan el criterio de aceptacin del producto.
Capacitacin
La empresa debe establecer y mantener procedimientos para identificar las necesidades de capacitacin y proveer entrenamiento a todo el personal que realice tareas especificas debe ser calificado con base en su educacin, entrenamiento y/o experiencia, Se deben mantener registros apropiados de capacitacin.
Tcnicas estadsticas
Cuando sea apropiado, la empresa debe establecer los procedimientos para identificar tcnicas estadsticas adecuadas, requeridas para verificar la capacidad de proceso y caractersticas del producto.
ISO/IEC 12207
La norma ISO/IEC 12207 (ISO/IEC, 1995) es un marco de referencia estndar que cubre todos los aspectos del proceso del ciclo de vida del software. La norma es aplicable a la adquisicin de sistemas, productos y servicios software. Este estndar internacional supone la existencia de al menos dos partes: el adquiriente (acquirer) y el suministrador (supplier). Aqul es el que tiene la necesidad de algn tipo de pro- ducto o servicio software, y ste es el encargado de proporcionrsela. Sin embargo, habr situaciones en las que ambas partes sean la misma. La norma describe la arquitectura de los procesos del ciclo de vida software, pero no entra en los detalles de cmo implementar o realizar las actividades y tareas incluidas en tales procesos. ISO/IEC 12207 es una norma abierta, adaptable a diferentes modelos del ciclo de vida, y es responsabilidad de las partes su adecuacin al ciclo de vida utilizado.
Procesos principales
Aqu se encuentran los cinco procesos que sirven a las partes principales durante el ciclo de vida software. Una parte es principal cuando comienza o realiza las tareas de desarrollo, operacin o mantenimiento de productos software. Las partes principales son, por tanto, el adquiriente, el desarrollador, el proveedor, el operador y el personal de mantenimiento de software. Los procesos principales son los siguientes: 1) Adquisicin: define las actividades del adquiriente, que es la organizacin que adquiere un producto, servicio o sistema software. 2) Suministro: define las actividades del proveedor, que es la organizacin que proporciona el producto, servicio o sistema software al comprador. 3) Desarrollo: define las actividades del desarrollador, que es la organizacin que define y desarrolla el producto software. 4) Operacin: define las actividades del operador, que es la organizacin que provee el
servicio de operacin o explotacin de un sistema informtico en su entorno de trabajo real. 5) Mantenimiento: define las actividades de la organizacin de mantenimiento, queda el servicio de mantenimiento del producto software; es decir, la gestin de las modificaciones en el producto software para conservarlo actualizado y operativo. Este proceso incluye la migracin y la retirada del producto.
Procesos de soporte
Estos procesos sirven de apoyo al resto y se aplican en cualquier punto del ciclo de vida. Los procesos de soporte son los siguientes: 1) Documentacin: define las actividades necesarias para almacenar la informacin generada durante el ciclo de vida. 2) Gestin de la configuracin: define las actividades de gestin de la configuracin. 3) Aseguramiento de la calidad: define las actividades para garantizar que los productos y procesos software son conformes a los requisitos especificados y a los planes establecidos. 4) Verificacin: define las actividades necesarias para verificar los productos software. Estas actividades pueden ser realizadas por el comprador, el proveedor o una parte independiente. 5) Validacin: define las actividades necesarias para validar los productos software. Estas actividades pueden ser realizadas por el comprador, el proveedor o por una parte independiente. 6) Revisin conjunta: define las actividades para evaluar el estado y los productos de una actividad. Este proceso puede ser utilizado por dos partes cualesquiera: una de ellas es la parte revisora, y se encarga de revisar a la otra, la parte revisada. 7) Auditora: define las actividades que deben llevarse a cabo para determinar el cumplimiento de los requisitos, planes y contratos. Este proceso puede ser utilizado por dos partes cualesquiera: una de las partes (el auditor) audita los productos o actividades de
la otra parte (la auditada). 8) Resolucin de problemas: define el proceso que debe llevarse a cabo para analizar y eliminar los problemas
Procesos organizacionales
Estos procesos los emplea una organizacin para llevar a cabo funciones de gestin, formacin del personal o mejora del proceso. Ayudan a establecer, implementar y mejorar la estructura y los procesos, consiguiendo una organizacin ms eficiente. Se llevan a cabo normalmente a nivel organizacional (corporativo), fuera del mbito de proyectos y contratos especficos. Los procesos organizacionales son los siguientes: 1) Gestin: define las actividades bsicas de gestin, incluyendo la gestin del proyecto, durante el proceso del ciclo de vida. 2) Infraestructura: establece la infraestructura necesaria para cualquier otro proceso. Puede incluir hardware, software, herramientas, tcnicas, normas e instalaciones para desarrollo, operacin o mantenimiento. 3) Mejora: es un proceso para establecer, valorar, medir, controlar y mejorar los procesos del ciclo de vida del software. 4) Formacin: sirve para formar y mantener formado al personal.
ISO/IEC 9126
El estndar ISO 9126, ahora englobado en el proyecto SQuaRE para el desarrollo de la norma ISO 25000, establece un modelo de calidad en el que se recogen las investigaciones de multitud de modelos de calidad propuestos por los investigadores durante los ltimos 30 aos para la caracterizacin de la calidad del producto software. Este estndar propone un modelo de calidad que se divide en tres vistas: interior, exterior y en uso. Estas vistas estn compuestas por caractersticas, que se dividen en subcaractersticas, y que estas a su vez se componen de atributos. Los atributos obtienen sus valores tras realizar mediciones sobre el software. Estas mediciones dan como resultado una serie de mtricas que se pueden clasificar en tres categoras segn sea su naturaleza:
Mtricas bsicas, que se obtienen directamente de analizar el cdigo o la ejecucin del software. Mtricas de agregacin, que consisten en la composicin de una mtrica a partir de un conjunto definido de mtricas bsicas, generalmente mediante una suma ponderada. Mtricas derivadas, que son una funcin matemtica que utiliza como entrada el valor de otras mtricas.
El modelo establece diez caractersticas, seis que son comunes a las vistas interna y externa y cuatro que son propias de la calidad en el uso.
1) Funcionalidad, capacidad del software de proveer los servicios necesarios para cumplir con los requisitos funcionales. En este grupo se conjunta una serie de atributos que permiten calificar si un producto de software maneja en forma adecuada el conjunto de funciones que satisfagan las necesidades para las cuales fue diseado. Para este propsito se establecen los siguientes atributos: a. Adecuacin. Se enfoca a evaluar si el software cuenta con un conjunto de funciones apropiadas para efectuar las tareas que fueron especificadas en su definicin.
b. Exactitud. Este atributo permite evaluar si el software presenta resultados o efectos acordes a las necesidades para las cuales fue creado. c. Interoperabilidad. Permite evaluar la habilidad del software de interactuar con otros sistemas previamente especificados. d. Conformidad. Evala si el software se adhiere a estndares, convenciones o regulaciones en leyes y prescripciones similares. e. Seguridad. Se refiere a la habilidad de prevenir el acceso no autorizado, ya sea accidental o premeditado, a los programas y datos. 2) Fiabilidad, capacidad del software de mantener las prestaciones requeridas del sistema, durante un tiempo establecido y bajo un conjunto de condiciones definidas. Aqu se agrupan un conjunto de atributos que se refieren a la capacidad del software de mantener su nivel de ejecucin bajo condiciones normales en un periodo de tiempo establecido. Las subcaractersticas que el estndar sugiere son: a. Nivel de Madurez. Permite medir la frecuencia de falla por errores en el software. b. Tolerancia a fallas. Se refiere a la habilidad de mantener un nivel especfico de funcionamiento en caso de fallas del software o de cometer infracciones de su interfaz especfica. c. Recuperacin. Se refiere a la capacidad de restablecer el nivel de operacin y recobrar los datos que hayan sido afectados directamente por una falla, as como al tiempo y el esfuerzo necesarios para lograrlo. 3) Usabilidad, esfuerzo requerido por el usuario para utilizar el producto satisfactoriamente. Consiste de un conjunto de atributos que permiten evaluar el esfuerzo necesario que deber invertir el usuario para utilizar el sistema. a. Comprensibilidad. Se refiere al esfuerzo requerido por los usuarios para reconocer la estructura lgica del sistema y los conceptos relativos a la aplicacin del software. b. Facilidad de Aprender. Establece atributos del software relativos al esfuerzo que los usuarios deben hacer para aprender a usar la aplicacin. c. Operabilidad. Agrupa los conceptos que evalan la operacin y el control del sistema. 4) Eficiencia, relacin entre las prestaciones del software y los requisitos necesarios para su utilizacin. Esta caracterstica permite evaluar la relacin entre el nivel de funcionamiento del software y la cantidad de recursos usados. Los aspectos a evaluar son: a. Comportamiento con respecto al Tiempo. Atributos del software relativos a los tiempos de respuesta y de procesamiento de los datos.
b. Comportamiento con respecto a Recursos. Atributos del software relativos a la cantidad de recursos usados y la duracin de su uso en la realizacin de sus funciones. 5) Mantenibilidad, esfuerzo necesario para adaptarse a las nuevas especificaciones y requisitos del software. Se refiere a los atributos que permiten medir el esfuerzo necesario para realizar modificaciones al software, ya sea por la correccin de errores o por el incremento de funcionalidad. En este caso, se tienen los siguientes factores: a. Capacidad de anlisis. Relativo al esfuerzo necesario para diagnosticar las deficiencias o causas de fallas, o para identificar las partes que debern ser modificadas. b. Capacidad de modificacin. Mide el esfuerzo necesario para modificar aspectos del software, remover fallas o adaptar el software para que funcione en un ambiente diferente. c. Estabilidad. Permite evaluar los riesgos de efectos inesperados debidos a las modificaciones realizadas al software. d. Facilidad de Prueba. Se refiere al esfuerzo necesario para validar el software una vez que fue modificado. 6) Portabilidad, capacidad del software ser transferido de un entorno a otro. En este caso, se refiere a la habilidad del software de ser transferido de un ambiente a otro, y considera los siguientes aspectos: a. Adaptabilidad. Evala la oportunidad para adaptar el software a diferentes ambientes sin necesidad de aplicarle modificaciones. b. Facilidad de Instalacin. Es el esfuerzo necesario para instalar el software en un ambiente determinado. c. Conformidad. Permite evaluar si el software se adhiere a estndares o convenciones relativas a portabilidad. d. Capacidad de reemplazo. Se refiere a la oportunidad y el esfuerzo usado en sustituir el software por otro producto con funciones similares. 7) Efectividad, capacidad del software de facilitar al usuario alcanzar objetivos con precisin y completitud. 8) Productividad, capacidad del software de permitir a los usuarios gastar la cantidad apropiada de recursos en relacin a la efectividad obtenida. 9) Seguridad, capacidad del software para cumplir con los niveles de riesgo permitidos tanto para posibles daos fsicos como para posibles riesgos de datos. 10) Satisfaccin, capacidad del software de cumplir con las expectativas de los usuarios en un contexto determinado.