Calidad de Sofware

INTRODUCCION En la actualidad, la calidad sigue siendo uno de los problemas que más afecta a la industria del software.

Views 81 Downloads 7 File size 181KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

INTRODUCCION

En la actualidad, la calidad sigue siendo uno de los problemas que más afecta a la industria del software. Desde sus inicios, ha sido la principal preocupación de los comerciantes de softwares que mediante sus ingenieros y/o especialistas han invertido gran cantidad de tiempo y dinero en investigaciones, con dos objetivos fundamentales, como los siguientes ¿Cómo obtener un software con calidad? Y ¿Cómo evaluar (medir) la calidad del software? Si navegamos por internet encontramos que las respuestas a estas interrogantes son muy amplias pero siempre están conectadas al concepto de Calidad del Software, que es el resultado de la primera y la fuente de la segunda.

¿Qué es la Calidad del Software? “La IEEE.Std.610-1990 la define como el grado con el que un sistema, componente o proceso cumple con los requisitos especificados y las necesidades o expectativas del cliente o usuario. “ “ISO/IEC 25010 define la calidad del producto software como el grado en que dicho producto satisface los requisitos de sus usuarios aportando de esta manera un valor.” Es complicado dar una definición sobre la Calidad del Software ya que siempre va depender de la perspectiva y grado de satisfacción del dueño o usuario. En la definición deben estar incluidos, el cumplimiento de los requisitos (necesidades) y el poder de uso (ser útil). Por eso se nos dan las siguientes definiciones: “La calidad del software es el conjunto de cualidades que lo caracterizan, determinan su utilidad y satisfacción al cliente o usuario.” A pesar que este tema es antiguo y podemos entender su definición; aun en el mundo empresarial no está claro ni maduro y nos encontramos reiteradamente con las siguientes interrogantes: “¿Cómo es posible que la empresa x, con CMMI nivel tal, nos entregue este producto tan malo? ¿Acaso no usaban la metodología z?”. Para responder a estas preguntas revisemos un poco el pasado.

Historia En los inicios del desarrollo de software (1950 – 1960), se intentó imitar la perspectiva industrial, el cual se centraba en optimizar, medir y mejorar la calidad del proceso de desarrollo; con el objetivo de generar un mejor producto, como sucede con los productos físicos. Pero la crisis del software (1968 Conferencia OTAN), identifica muchos problemas en los proyectos de desarrollo de software que sobrepasan el presupuesto y tiempo estimado con baja calidad que causaron daños a la propiedad, al prestigio, pérdidas de vida, etc. El costo de poseer un software propio y mantenerlo llego a ser dos veces más caro que el propio desarrollo. Entonces, nos dimos cuenta que un buen proceso influye, pero no asegura la calidad del producto. Actualidad En el análisis de todo proyecto exitoso, las personas siempre han sido uno de los factores clave; por eso, aunque siempre estuvo ahí, sin tener la importancia que se merecía, ahora empezamos a centrarnos también en la calidad de las personas.

Por consiguiente la definición de Calidad del Software ha ido evolucionando, actualmente engloba la calidad del proceso (el conjunto de actividades que utilizamos para desarrollar el software); calidad del producto (calidad del propio software que desarrollamos) y calidad de las personas (motivación del equipo, si es multifuncional, etc.). La calidad del software La obtención de un software con calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y prueba del software que permitan uniformar la filosofía de trabajo, en aras de lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la calidad del software. Los requisitos del software son la base de las medidas de calidad. La falta de concordancia con los requisitos es una falta de calidad. Los estándares o metodologías definen un conjunto de criterios de desarrollo que guían la forma en que se aplica la ingeniería del software. Si no se sigue ninguna metodología siempre habrá falta de calidad. Existen algunos requisitos implícitos o expectativas que a menudo no se mencionan, o se mencionan de forma incompleta (por ejemplo el deseo de un buen mantenimiento) que también pueden implicar una falta de calidad. La política establecida debe estar sustentada sobre tres principios básicos: tecnológico, administrativo y ergonómico. El principio tecnológico define las técnicas a utilizar en el proceso de desarrollo del software. El principio administrativo contempla las funciones de planificación y control del desarrollo del software, así como la organización del ambiente o centro de ingeniería de software. El principio ergonómico define la interfaz entre el usuario y el ambiente automatizado. La adopción de una buena política contribuye en gran medida a lograr la calidad del software, pero no la asegura. Para el aseguramiento de la calidad es necesario su control o evaluación. A partir del siguiente gráfico se observa la interrelación existente entre la Gestión de la Calidad, el Aseguramiento de la Calidad y el Control de la Calidad.

La gestión de la calidad Gestión de la calidad: "Aspectos de la función de gestión que determinan y aplican la política de la calidad, los objetivos y las responsabilidades y que lo realiza con medios tales como la planificación de la calidad, el control de la calidad, la garantía de calidad y la mejora de la calidad". Dentro de la gestión de la calidad se observa: Gestión de la calidad de software (ISO 9000): Conjunto de actividades de la función general de la dirección que determina la calidad, los objetivos y las responsabilidades y se implanta por medios tales como la planificación de la calidad, el control de la calidad, el aseguramiento (garantía) de la calidad y la mejora de la calidad, en el marco del sistema de calidad Política de calidad (ISO 9000): Directrices y objetivos generales de una organización, relativos a la calidad, tal como se expresan formalmente por la alta dirección. La gestión de la calidad se aplica normalmente a nivel de empresa. También puede haber una gestión de calidad dentro de la gestión de cada proyecto.

El aseguramiento de la calidad 



 

Ante todo se debe conocer: Aseguramiento de la calidad: "Conjunto de acciones planificadas y sistemáticas necesarias para proporcionar la confianza adecuada de que un producto o servicio satisfará los requerimientos dados sobre calidad". Aseguramiento de la calidad de software: Conjunto de actividades planificadas y sistemáticas necesarias para aportar la confianza en que el producto (software) satisfará los requisitos dados de calidad. El aseguramiento de calidad del software se diseña para cada aplicación antes de comenzar a desarrollarla. Hay quienes prefieren decir garantía de calidad en vez de aseguramiento. La garantía, puede confundir con garantía de productos, mientras que el aseguramiento pretende dar confianza en que el producto tiene calidad. El aseguramiento de calidad del software está presente en: Métodos y herramientas de análisis, diseño, programación y prueba. Inspecciones técnicas formales en todos los pasos del proceso de desarrollo del software.



Estrategias de prueba multiescala.



Control de la documentación del software y de los cambios realizados.



Procedimientos para ajustarse a los estándares (y dejar claro cuando se está fuera de ellos).



Mecanismos de medida (métricas).



Registro de auditorias y realización de informes.

   

Las actividades para el aseguramiento de calidad del software se detallan en: Métricas de software para el control del proyecto. Verificación y validación del software a lo largo del ciclo de vida (Incluye las pruebas y los procesos de revisión e inspección). La gestión de la configuración del software. Algunos métodos del aseguramiento: Revisiones técnicas y de gestión (su objetivo es la evaluación).



Inspección (su objetivo es la verificación). ¿Estamos construyendo el producto correcto?



Pruebas (su objetivo es la validación). ¿Estamos construyendo el producto correctamente?



Auditorias (su objetivo es la confirmación del cumplimiento).

El control de la calidad 

Control de calidad: "Conjunto de técnicas y actividades de carácter operativo, utilizadas para verificar los requerimientos relativos a la calidad del producto o servicio".



Control de la calidad del software: Técnicas y actividades de carácter operativo, utilizadas para verificar los requisitos relativos a la calidad, centrados en mantener bajo control el proceso de desarrollo y eliminar las causas de los defectos en las diferentes fases del ciclo de vida.



El control de la calidad del software está centrado en dos objetivos fundamentales: Mantener bajo control un proceso.



Eliminar las causas de los defectos en las diferentes fases del ciclo de vida. En general, se puede decir que el control de la calidad del software son las actividades para evaluar la calidad de los productos desarrollados. Las estrategias de trabajo se representan como sigue:

Concepto de ética informática La ética es la ciencia del comportamiento moral del ser humano en la sociedad, en otras palabras, es la ciencia que basada en una forma específica de conducta humana, permite calificar los actos humanos como buenos o malos La tecnología informática plantea nuevas situaciones y nuevos problemas y gran parte de estas, son de una naturaleza ética; obviamente existen intentos de resolver estos problemas aplicando reglas y soluciones éticas de carácter general. La existencia de la ética informática tiene por inicio el hecho de que las computadoras suponen problemas éticos particulares y por tanto distintos a otras tecnologías. En las actividades profesionales relacionadas con las tecnologías informáticas se quiere pasar de la simple aplicación de criterios éticos generales a la elaboración de una ética propia de la profesión. Los códigos éticos de asociaciones profesionales y de empresas de informática van en esa dirección.

Objetivos La ética informática tiene varios objetivos: Descubrir dilemas éticos claves Determinar en qué medida son transformados o creados por la tecnología informática. Analizar y proponer principios de actuación para establecer qué hacer en las nuevas actividades que son consecuencia de la informática en las que no se perciben con claridad ciertas líneas de actuación.

Utilizar la teoría ética para aclarar los dilemas éticos y encontrar errores en su razonamiento ético. Proponer formas para entender adecuadamente los dilemas éticos que origina la informática y además establecer una guía cuando no existe reglamento para dar uso a Internet. Toda actividad del hombre debe ser regida por un código de ética y la informática no es la excepción Contenidos de la Ética Informática La ética informática es una disciplina algo nueva, por lo que aún no hay contenidos profundos referentes a esta área. Aun así se pueden recopilar los temas y problemas que con frecuencia son tratados en la ética informática. Ética profesional general Existen algunos problemas que han sido creados por las nuevas tecnologías: aumento de vigilancia en las oficinas automatizadas por medio del control del correo electrónico dentro de la empresa o de la información sobre el uso de los equipos computacionales que hace cada empleado, etc. Por último, hay también problemas de ética que hacen referencia a prácticas comerciales incluyendo contratos, acuerdos y conflictos de interés.

Como instrumento de actos dañinos Uno de los temas con los que más se relaciona a las tecnologías informáticas con la Ética, es la idea de que las tecnologías informáticas pueden ser usadas como medio para causar daño a terceras personas. Los que proveen servicios informáticos y los que utilizan computadoras, datos y programas han de ser los responsables de la integridad y conveniencia de los resultados de sus acciones, así como del mal uso que hagan con la información. En el fondo se trata no solo de luchar contra acciones que sean dañinas sino de fomentar una responsabilidad en las aplicaciones informáticas que pueden tener consecuencias negativas o que incluso pueden ser desconocidas.

Contrato informático Un contrato informático es un concepto ambiguo que puede abarcar distintos tipos de contratos: En sentido amplio u objetivo, abarca todos aquellos convenios cuyo objeto sea un bien o servicio informático, independientemente de la vía por la que se celebren. El objeto del contrato, por tanto, sería la prestación de un servicio informático. En sentido restringido o formal, son aquellos contratos cuyo perfeccionamiento se da por vía informática, indiferentemente de cual sea su objeto. A estos últimos se les conoce también, propiamente, como contratos electrónicos. Desde la primera óptica, los contratos informáticos pueden referirse tanto a bienes (hardware o software) como a servicios informáticos (tales como mantenimiento preventivo, correctivo o evolutivo; desarrollo y hospedaje de sitios web, prestación de servicios de certificación digital, etc.). Pueden ser objeto de contratación electrónica cualesquiera cosas, actos o negocios jurídicos que sean lícitos y siempre que para su contratación no se requiera de alguna forma específica que sea incompatible con los medios electrónicos (por ejemplo, presencia de un fedatario público). La principal cuestión que se plantea es en cuanto a la prueba del contrato, tanto en cuanto a la intervención de las partes como en cuanto a la prestación de su consentimiento. La forma, hoy por hoy, de acreditar estos extremos para un particular o incluso un profesional pasa por la firma electrónica, si bien es paradójico que la prueba de esta firma deba llevarse a cabo mediante un soporte de papel puesto que la inadaptación de los juzgados a las nuevas tecnologías hace necesario que para demostrar un consentimiento en un contrato se haga preciso demostrar ante un juez la autenticidad de la firma, a cuyo fin solo cabe documentar suficientemente esta autenticidad.