Calidad enfocada al desarrollo de sistemas de informacin Calidad es el conjunto de propiedades y caractersticas de un producto o servicio que le confieren capacidad de satisfacer necesidades, gustos y preferencias, y de cumplir con expectativas en el consumidor. Tales propiedades o caractersticas podran estar referidas a los insumos utilizados, el diseo, la presentacin, la esttica, la conservacin, la durabilidad, el servicio al cliente, el servicio de postventa, etc. Que es un sistema de Informacin Es un conjunto de elementos que interactan entre s con el fin de apoyar las actividades de una empresa o negocio. El equipo computacional: el hardware necesario para que el sistema de informacin pueda operar El recurso humano que interacta con el Sistema de Informacin, el cual est formado por las personas que utilizan el sistema. Un sistema de informacin realiza cuatro actividades bsicas: Entrada, almacenamiento, procesamiento y salida de informacin. Calidad en los Sistema de Informacin? Sistema de Informacin de la Calidad (SIC) Es un mtodo organizado para recolectar, almacenar y reportar la informacin sobre la calidad para ayudar a los tomadores de decisiones en todos los niveles. Qu son los defectos? El termino defecto se refiere a algo que est equivocado en un programa, tal como un error sintctico, una falta tipogrfica, un error de puntuacin, o una sentencia incorrecta del programa. Los defectos pueden estar en los programas, en los diseos o incluso en los requisitos, las especificaciones o en otra documentacin. Los defectos pueden ser sentencias extra o redundantes, sentencias incorrectas o secciones del programa omitidas. Un defecto, es cualquier cosa que reduce la capacidad de los programas para cumplir completa y efectivamente las necesidades de los usuarios. Un defecto es una cosa objetiva. Es algo que puedes identificar, describir y contabilizar. Es importante separar la cuestin de encontrar o identificar los defectos de la determinacin de sus causas. La simple contabilizacin y registro de los defectos en los productos software no es la especificacin de las causas ni la asignacin de culpas. Los defectos cometidos, sin embargo, tienen sus causas. Puedes haber cometido un error al escribir el nombre de un parmetro, omitido un signo de puntuacin o llamado incorrectamente un procedimiento. Todos estos errores causan defectos. Todos los defectos, por consiguiente, provienen de errores humanos y muchos de los que los ingenieros del software cometen, causan defectos en los programas. Qu son los errores? Los errores son cosas incorrectas que cometen las personas y, sin tener en cuenta cundo y quin los comete, los defectos son elementos defectuosos de los programas. As, las personas cometen errores o equivocaciones mientras que los programas tienen defectos. Cuando los ingenieros cometen errores que conducen a defectos, nosotros nos referimos a esto como la introduccin de defectos.
Esto significa que para reducir el nmero de defectos que introduces en tus productos, debes cambiar la forma de hacer las cosas. Para eliminar los defectos en tus productos, sin embargo, sencillamente tienes que encontrarlos. La eliminacin de defectos es, por lo tanto, un proceso ms sencillo que la prevencin de defectos. La prevencin de defectos es un aspecto importante y prioritario que requiere un estudio comprensivo de todo el proceso de desarrollo del software. Los defectos deberan ser importantes para cada ingeniero del software no slo porque afectan a los usuarios, sino tambin porque ms de la mitad del esfuerzo de las organizaciones de software est dedicado a encontrar y corregir los defectos. Puesto que el tiempo de pruebas es difcil de predecir, los defectos son, a menudo, la causa principal de los problemas de costes y programaciones. Tipos de Defectos.
Como comprender los defectos El primer paso para gestionar los defectos es entenderlos. Para hacer eso, debes reunir los datos de defectos. Entonces, podrs entender estos errores y comprender cmo evitarlos. Puedes tambin comprender cmo encontrarlos mejor, corregirlos o prevenir el defecto que todava introduces. Para reunir datos de defectos de tus programas, haz lo siguiente: Registra cada defecto que encuentres en un programa. Registra la informacin suficiente sobre cada defecto para que puedas entenderlo posteriormente. Analiza estos datos para ver qu tipos de defectos causan los mayores problemas. Los defectos que introduces y encuentras en tus propios programas, son solamente parte de la historia. Algn da, necesitars aprender sobre los defectos que otras personas encuentran en tus programas. Puesto que estos defectos se escaparn a todos los esfuerzos de deteccin y prevencin de defectos, sern ms importantes para entender y tratar las debilidades de tus procesos personales. Estos defectos se denominan escapes, porque han escapado a todos tus esfuerzos de eliminacin de defectos. Conforme mejore tu proceso personal, los defectos que se escapan sern la ltima fuente principal de datos para tu mejora personal.
El Cuaderno de Registros de Defectos El cuaderno de registro de defectos est diseado para ayudarte a reunir datos de defectos. El cuaderno se muestra en la siguiente figura:
y sus instrucciones se indican de esta manera
Utiliza este cuaderno para reunir datos de defectos para cada programa que codifiques. Describe cada defecto con bastante detalle para que puedas entenderlo ms adelante. Despus de haber terminado cada programa, analiza los datos para ver dnde has introducido y eliminado los defectos y qu tipos de defectos causan los principales problemas. Antes de utilizar este cuaderno, lee el resto de ese captulo y las instrucciones en la tabla anterior.
Contabilizacin de defectos y errores Aunque la definicin de un defecto puede parecer obvia, no lo es. Durante la compilacin, por ejemplo, cuenta solamente los cambios que haces. Es decir, si el compilador presenta 10 mensajes de error por una omisin del punto y coma, la omisin del punto y coma es un nico defecto. As, anota un defecto en el Cuaderno de Registro de Defectos para cada correccin del programa, sin tener en cuenta la naturaleza de la correccin y el nmero de mensajes de error del compilador. De forma similar, cuando encuentres un defecto de diseo mientras ests codificando, se considerar un defecto de diseo. Mientras diseas, sin embargo, con frecuencia puedes cambiar tu idea de cmo hacer algo. Si ests corrigiendo un error en los requisitos o en las especificaciones, eso sera un defecto de requisitos o de especificacin. Si, por el contrario, has pensado una forma mejor de hacer el diseo, no sera un defecto. A menudo, advertirs y corregirs errores conforme los vas cometiendo. Dichos ajustes son las cosas ms naturales de un pensamiento creativo y no son defectos. La clave est en registrar aquellos defectos que has dejado en el producto cuando hayas acabado el diseo inicial o terminado la codificacin. Por ejemplo, si escribes una lnea de cdigo e inmediatamente ves un error en el nombre del parmetro y lo corriges, este error no es un defecto. Si, por el contrario, acabas de codificar el programa y posteriormente observas el error, entonces s sera un defecto y lo contabilizaras. As, si normalmente compruebas la correccin de cada lnea despus de introducirla, los defectos que encuentres de esta forma no es necesario contabilizarlos. Comienza a contabilizar los defectos cuando termines una fase de un producto o parte del mismo. Despus de la fase de diseo, por ejemplo, contaras todos los defectos de diseo. Supongamos, sin embargo, que ests codificando dos procedimientos de un programa. Despus de codificar el primero, decides codificar el segundo, antes de comenzar la compilacin del primero. A mitad de codificar el segundo procedimiento, te das cuenta de que has dado un nombre equivocado a un parmetro en el primer procedimiento. Esto es un defecto, porque aunque ests en la fase de codificacin, en ese momento habas terminado la codificacin del primer procedimiento. Observa que en este libro no se te exige contabilizar los defectos encontrados durante las fases de diseo y codificacin. Inicialmente, es importante concentrarte sobre aquellos defectos encontrados durante la compilacin y pruebas. Una vez que ests acostumbrado a reunir datos de defectos, sabrs mejor por qu son necesarios dichos datos. Entonces puedes querer aprender ms sobre los errores que cometes y corriges durante las fases de codificacin y diseo. Puesto que probablemente cometers muchos errores mientras diseas y codificas, estas son las fases donde debes tratar de entender las causas de los defectos y ver cmo prevenirlos. Por el momento, sin embargo, comienza con aquellos defectos que encuentres en la compilacin y en las pruebas.
Formas de Encontrar y Corregir Defectos Hay varias formas de encontrar los defectos en un programa. En esencia, todos estos mtodos implican los siguientes pasos: 1. Identificar los sntomas del defecto. 2. Deducir de estos sntomas la localizacin del defecto. 3. Entender lo que es errneo en el programa. 4. Decidir cmo corregir el defecto. 5. Hacer la correccin. 6. Verificar que el arreglo ha resuelto el problema.
Se han inventado varias herramientas para ayudar a los ingenieros en estos pasos La primera herramienta que los ingenieros normalmente utilizan es un compilador. el trabajo del compilador es generar cdigo. As, un compilador explorar todo el cdigo fuente para ver si puede generar cdigo. Si puede, lo har, tanto si el cdigo es correcto como si no. Los compiladores pueden identificar muchos defectos sintcticos, pero no pueden decir lo que uno pretende. Los compiladores, sin embargo, solamente proporcionan sntomas de defectos y debes entender dnde y cul es el problema.
Una segunda forma de encontrar defectos, es por medio de las pruebas. La calidad de las pruebas est gobernada por el grado en que estos escenarios cubren todas las funciones importantes del programa.
Aunque las pruebas pueden utilizarse para comprobar casi cualquier funcin del programa, tienen varias desventajas Primero, como con los compiladores, las pruebas solo suponen el primer paso de correccin de defectos. Otro problema, es que cada prueba verifica solamente un conjunto de condiciones del programa.
La tercera forma de encontrar los defectos, es la ms comn de todas. Consiste en entregar programas defectuosos y esperar que los usuarios identifiquen e informen de los defectos. Esta es la estrategia ms costosa.
Por ltimo, indicar que la forma ms efectiva de encontrar y corregir defectos es revisar personalmente el cdigo fuente del programa. Aunque esto puede parecer una forma difcil de limpiar un programa defectuoso, se trata de la forma ms rpida y eficiente. La causa de que la revisin de cdigo sea tan eficiente, es porque cuando haces revisiones, ves los problemas no los sntomas. Es decir, mientras revisas el cdigo, piensas sobre lo que el programa debe hacer. Las revisiones tambin tienen desventajas. Las dos desventajas principales son que las revisiones de cdigo consumen tiempo y es difcil hacerlas correctamente.
El costo de encontrar y corregir defectos
El coste medio de encontrar y corregir un defecto crece unas 10 veces en cada paso del proceso de desarrollo. Aunque el tiempo de corregir los defectos vara enormemente, estos valores medios muestran, a pesar de todo, los tipos de defectos El tiempo de encontrar los defectos en las pruebas de integracin, de componentes o del sistema, tambin variar con el tamao y la complejidad del sistema.
Una vez que los productos son entregados a los clientes, el coste de encontrar y corregir los defectos puede ser mucho mayor, dependiendo de la clase de productos y de los tipos y nmero de clientes.
Adems del coste, una razn de igual importancia para encontrar los defectos al-principio, es que la compilacin, depuracin y las pruebas tienen una efectividad reducida.
As, si se quiere producir un producto de alta calidad, tendrs que producir un programa sin defectos al principio o esperar dedicarle mucho tiempo en las pruebas.
Listas de comprobacin
Una lista de comprobacin contiene una serie de pasos que t quieres seguir de forma rigurosa. Cuando utilizas una lista de comprobacin desarrollada a partir de tus propios defectos, hars revisiones ms eficientes.
La lista de comprobacin no solamente ayuda a encontrar ms defectos, tambin ayuda a encontrarlos ms rpidamente. Para construir una lista de comprobacin para la revisin de cdigo, adptala al lenguaje que utilices, disala a partir de tus propios defectos y ajstala a tus habilidades y experiencia cambiante.
Algunas orientaciones para utilizar la lista de comprobacin son: haz las revisiones paso a paso, completa cada programa o procedimiento antes de iniciar el siguiente, examina cada apartado de la lista de comprobacin cuando lo completes. Cuando encuentres defectos, anota el nmero encontrado en cada apartado de la lista de comprobacin. Cuando lo hagas, completa las columnas Hasta la Fecha y % Hasta la Fecha. Despus de acabar cada programa, revisa los datos y la lista de comprobacin para ver cmo la puedes mejorar.
Las listas de comprobacin tambin pueden ser una fuente de ideas. Cuando sigues una lista de comprobacin personal, sabes cmo revisar tu cdigo. Si utilizas la lista correctamente, tambin sabes cuantos defectos encuentras en cada paso de dicha lista. Comparar tu lista de comprobacin con las de otros ingenieros, te puede sugerir aproximaciones tiles para la revisin. La lista de comprobacin encapsula la experiencia personal. Utilizndola con regularidad y mejorndola, mejorars en la deteccin de los defectos de tus programas. La lista de comprobacin tambin te ayudar a encontrar estos defectos en menos tiempo.
Gestin del tiempo para el desarrollo de sistemas de informacin
CMO EVALUAR TU DISTRIBUCIN DEL TIEMPO Ahora que puedes saber cmo utilizas tu tiempo, pregntate a ti mismo si ests utilizando el tiempo de la forma que quieres. Decide qu actividades son ms importantes y considera si ests dedicndole el tiempo suficiente. A algunas tareas, le dedicas ms tiempo que a otras que son ms importantes? Ests dejando suficiente tiempo para leer el libro de texto? Haces el trabajo? Y, cules son tus compromisos personales? Comienzas los ejercicios a tiempo para acabarlos, o los terminas en el ltimo momento? Esta es una decisin muy personal que debes equilibrar entre el trabajo acadmico, las tareas, el descanso y la vida social. Algunos de estos componentes son cuestiones personales que implican complejas elecciones, particularmente si tienes un trabajo y responsabilidades familiares.
Como Encontrar Ms Tiempo Despus de haber revisado la estimacin de tiempo, puedes necesitar aumentar la cantidad total de tiempo. Cmo puedes hacer esto? Tienes varias opciones. Primero, si tu agenda no est muy ocupada, sers capaz de encontrar un poco de tiempo extra, pero desdichadamente, pocas personas estn bendecidas con el tiempo libre. Es ms probable que ests super comprometido. En este caso, haz un amplio estudio de todos tus compromisos. Despus revisa el tiempo que utilizas tanto en las clases, como en las principales reas de trabajo, as como en las actividades de ocio. Para gestionar bien tu tiempo analiza tus propios datos histricos de tiempos. Establece una estimacin para utilizar el tiempo y registra tu tiempo real frente al estimado. Para hacer una estimacin de tiempo decide cmo quieres utilizar el tiempo. Haz una programacin que refleje tu eleccin y que muestre los tiempos cada da; puedes necesitar diferentes estimaciones para distintas semanas.
Las reglas bsicas para estimar el tiempo pueden ser tiles: identifica tus compromisos fijos y variables. Divide tu tiempo variable en tareas que son exigidas y aquellas que son discrecionales. Analiza como divides ahora t tiempo en estas categoras. Recuerda que tu tiempo total es fijo: si necesitas ms tiempo para algunas actividades, debes dedicar menos tiempo a otras. Finalmente, revisa el rendimiento frente al tiempo estimado: contina reuniendo datos de tiempos. Revisa el tiempo estimado frente a tu experiencia real. Revisa la estimacin basndote en tus necesidades y experiencias. Haz los cambios de forma gradual. Cuando cambies tu estimacin de tiempo, guarda las versiones anteriores.
Obtener calidad en los sistemas de informacin
Conforme los programas son ms grandes, es ms costoso encontrar y corregir los defectos. El proceso de eliminacin de defectos es tambin me- nos efectivo. La estrategia para producir grandes programas de gran calidad es, en primer lugar, eliminar todos los defectos de los mdulos que forman estos grandes programas. La eliminacin de defectos es un proceso de filtrado: ve cada fase de eliminacin de defectos como un filtro. Cuantos ms defectos se pongan en el filtro ms se encontrarn. Tambin, cuantos ms defectos se pongan en el filtro, ms se pasarn por alto. El rendimiento de muchas fases de prueba es menor del 50%. As, para obtener un producto de alta calidad al final de una prueba, debes poner un producto de alta calidad al comienzo de la prueba.
Un trabajo concienzudo en cada paso de tu proceso ser rentable y ahorrar tiempo. Si haces un programa mal, se encontrarn muchos defectos en la compilacin y en cada subsiguiente fase de pruebas. El rendimiento mide la calidad de la eliminacin de defectos. El rendimiento del proceso se refiere a la tasa de defectos en el producto que son eliminados antes de la primera compilacin. El rendimiento puede medir tambin la tasa de defectos en un producto que son eliminados en la fase de eliminacin de defectos. Tu objetivo sera lograr el 100% de rendimiento del proceso.
Recuerda: no sers capaz de hacer grandes programas de mucha calidad hasta que no puedas hacer de forma constante pequeos programas de gran calidad. Esto supone una dedicacin constante a la calidad, disciplina personal y mucha prctica. Para lograr la mxima calidad en un programa, haz pequeos prototipos para probar cada suposicin antes de incorporarla al producto. Aprende a reconocer la diferencia entre lo que crees que sabes y lo que realmente sabes. Cada vez que hagas una suposicin, es probable que introduzcas un defecto.
El proceso de medida del rendimiento introducido en el Captulo 16, tiene que ver con la tasa de eliminacin de defectos antes de la primera compilacin. La medida del rendimiento, sin embargo, puede ser aplicada a cualquier paso de la eliminacin de defectos. As, el rendimiento de cada fase puede calcularse de la siguiente forma: Rendimiento de la Fase = 100*(nmero defectos eliminados durante la fase)/(nmero de defectos en el producto al inicio de la fase).
Los mtodos que tienen los mayores rendimientos son manuales y no implican ninguna herramienta automatizada. La razn de que sean mejores que otros mtodos es que la mente humana es el instrumento de deteccin de defectos ms poderoso que cualquier herramienta software actual. La conclusin lgica de estos datos es que, para hacer programas de alta calidad, debes tener el menor nmero de defectos posible al comenzar las pruebas. Comenzar las pruebas con el menor nmero de defectos, significa salir de la fase de compilacin con el menor nmero de defectos. Finalmente, para salir de la fase de compilacin con el menor nmero de defectos, debes eliminar los defectos antes de comenzar a compilar. Naturalmente, para hacer productos de mxima calidad, deberas medir, analizar y mejorar cada fase de eliminacin de defectos.
Controlar la calidad de los sistemas de informacin
El logro del control de la calidad es un fin en s mismo. Se espera que se contribuya al perfeccionamiento global de la calidad; el ingeniero que evita los errores de diseo, el obrero de produccin que localiza los defectos, el representante de ventas presenta el producto adecuadamente a los clientes potenciales.
Otro concepto de calidad que est cobrando un amplio uso es seis sigma es una medida especifica de calidad, que representa 3.4 defectos de partes por milln. La mayora de las compaas no puede lograr este nivel de calidad pero utilizan seis sigma como una meta para implementar un conjunto de metodologas y tcnicas para mejorar la calidad y reducir los costos.
Los sistemas de informacin pueden ayudar a las empresas a lograr sus metas de calidad ayudndoles a simplificar productos o procesos, a cumplir estndares de benchmarking (pruebas corporativas), hacer mejoras con base en las demandas del cliente, reducir el tiempo de ciclo y aumentar la calidad y precisin de diseo y produccin. En los sistemas de informacin, el control de calidad hace referencia a los mecanismos y procedimientos introducidos en la rutina del sistema, con el fin de prevenir la aparicin de defectos y errores, as como para garantizar ciertos niveles de calidad en los procesos que han sido establecidos de antemano, de acuerdo con los recursos disponibles.
Costo de calidad en los sistemas de informacin
El Coste de la Calidad (CDC) proporciona una forma de tratar estas cuestiones. El CDC tiene tres elementos principales: costes de los fallos, costes de valoracin y costes de prevencin.
Los costes de los fallos incluyen todos los costes de corregir los defectos del producto. Mientras ests corrigiendo un defecto, ests incurriendo en unos costes de los fallos
Los costes de valoracin incluyen todo el trabajo de valoracin del producto para ver si tiene defectos, excluyendo el tiempo dedicado a la correccin de defectos. Incluye la revisin de cdigo, el tiempo de compilacin y las pruebas para un programa libre de errores.
Los costes de prevencin son los costes incurridos cuando modificas el proceso para evitar introducir defectos. Incluye, por ejemplo, los anlisis hechos para comprender los defectos.
Calculo del Costo de la Calidad
El PSP mide el CDC de una forma muy sencilla. Aunque el tiempo dedicado a la compilacin incluye algn tiempo de compilacin libre de defectos, el PSP (Proceso Software Personal) contabiliza todo el tiempo de compilacin como costes de fallos.
El PSP contabiliza todo el tiempo de pruebas como costes de fallos. Finalmente, todo el tiempo de revisin es contabilizado como coste de valoracin. Este tiempo incluye algn coste de reparacin, pero el PSP contabiliza todo el tiempo de revisin como coste de valoracin.
El coste de la calidad se calcula como un porcentaje del tiempo de desarrollo total.
La valoracin CDC es la suma de todo el tiempo de revisin como un porcentaje del tiempo total de desarrollo. Los fallos CDC es la suma de todo el tiempo de compilacin y pruebas como un porcentaje del tiempo total de desarrollo.