Ensayo sobre la calidad de software

9,362 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,362
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
250
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Ensayo sobre la calidad de software

  1. 1. Segunda unidad MATERIA FUNDAMENTOS DE SISTEMAS DE INFORMACIÓN TRABAJO: ENSAYO DE CALIDAD DE SOFTWARE INTEGRANTES SOLEDAD BOLAÑOS SEVERIANO ANA LAURA BRAVO VAZQUEZ AZELINA CARLOS ISIDRO LUCRECIA CASTILLO LORENZO JACQUELINE SANCHEZ MENDEZ MIRNA LUCRECIA TORRES GARCIAS CATEDRÁTICO LIC.MARIA DE LOS ANGELES MARTINEZ MORALESTUXTEPEC, OAX, 18DE SEPTIEMBRE DEL 2012
  2. 2. EnsayoResumenSe describe la incursión de la informática dentro de las empresas, de un modogeneralista los diferentes caminos para obtener la calidad de software, por eso eneste ensayo se describe los diferentes ciclos de vida de un desarrollo desoftware. El desarrollo de software basado en componentes se ha convertidoactualmente en uno de los mecanismos más efectivos para la construcción degrandes sistemas y aplicaciones de software. Una vez que la mayor parte de losaspectos funcionales de esta disciplina comienzan a estar bien definidos, laatención de la comunidad científica comienza a centrarse en los aspectos extrafuncionales y de calidad, como un paso hacia una verdadera ingeniería.Palabras clavesIngeniería en informática, software, ciclo de vida, calidad de software,metodología, características y mitos de software.IntroducciónEl término de Ingeniería de Software fue introducido a finales de los 60 a raíz dela crisis del software. Esta crisis fue el resultado de la introducción de la tercerageneración del hardware. Por otra parte se exige que el software sea eficaz ybarato tanto en el desarrollo como en la compra. También se requiere una serie decaracterísticas como fiabilidad, facilidad de mantenimiento y de uso, eficiencia, etc.Por ese motivo presentamos el siguiente ensayo que será reflejado esascaracterísticas de la calidad de software proporcionando elementos que permitantomar decisiones en relación a las inversiones de aseguramiento de calidad y lamejora de procesos.Desarrollo2.1 Definición de ingeniería de software.¿Qué es software?• Según la definición del IEEE, citada por [Lewis 1994] "software es la suma totalde los programas de computadora, procedimientos, reglas, la documentación
  3. 3. asociada y los datos que pertenecen a un sistema de cómputo". Según el mismoautor, "un producto de software es un producto diseñado para un usuario".El término Ingeniería del Software fue acuñado en 1969 en el transcurso de uncurso de verano de la OTAN en Garmisch.La Ingeniería del Software es una disciplina de la ingeniería cuya meta es eldesarrollo costeable de sistemas de software.¿QUÉ ES LA INGENIERIA DEL SOFTWARE?• Ingeniería de software es la disciplina o área de la informática que ofrecemétodos y técnicas para desarrollar y mantener software de calidad. Es unconjunto de elementos u objetos que conforman una configuraciónIncluye:• Programas• Documentos• DatosEsta son algunas de la metodología de software que se nuestra a continuación. 1. Requerimientos. Identificar las necesidades del usuario y documentarlastérminos de los servicios que debe ofrecer el software.2. Análisis y diseño. Desarrollar un modelo técnico conceptual de la solución quepermita cumplir todos los requerimientos especificados y sirva como base para laconstrucción del software.3. Codificación. Implementar el modelo conceptual en un lenguaje o herramientade programación, es decir, generar el código fuente, además de realizar laspruebas unitarias a cada componente de software y la integración de estos.4. Pruebas de sistema. Verificar que el software cumpla con los requerimientosespecificados y no presente fallasCostos de la calidad en el desarrollo de softwareDe acuerdo con diversos autores [2], [8], [9], [11], [13], a continuación sepresentan los diversos tipos de costos asociados con la calidad de software:a) Costos para asegurar la calidad o costos de conformidadCostos de PrevenciónCosto de todos aquellos esfuerzos para asegurar la calidad del software y prevenirdefectos en todas las fases del desarrollo de software. Por ejemplo:aseguramiento de la calidad (planeación de la calidad, mejora de procesos,definición de procesos, políticas y estándares, obtención, análisis y uso de datossobre la calidad, análisis de causas raíces), requerimientos (especificaciones yprototipos), administración del proyecto (planeación, capacitación, recopilación demétricas), librería de reusó (capacitación y herramientas), administración de laconfiguración (capacitación y herramientas), consultoría.Costos de evaluaciónCosto del esfuerzo para descubrir la condición de la calidad del software(evaluaciones planeadas). Esto comprende por ejemplo: evaluación de proyectos(Revisión de especificaciones de requerimientos, diseño y componentes,verificaciones y validaciones en general, inspecciones, pruebas unitarias, deintegración y de sistema), auditorías de calidad del producto, evaluacionesexternas, pruebas de productos adquiridos.
  4. 4. 2.2. Características y mitos del software• El software se desarrolla, no se fabrica.• El software no se estropea. ¡Pero se deteriora!• Aunque la industria tiende a ensamblar componentes, la mayoría del software seconstruye a medida. Los problemas asociados con el desarrollo del software sehan caracterizado como una crisis.Algunos “problema” que indican que el software se encuentra en un periodo decrisis son:• Baja calidad del software.• Tiempo y presupuesto excedido.• Confiabilidad cuestionable.• Altos requerimientos de personal para desarrollo y mantenimiento.En la actualidad, la mayoría de los profesionales reconocidos en la ingeniería delsoftware identifican los mitos en su real dimensión: actitudes equivocadas que hancausado problemas serios a los administradores y al personal técnico por igual.Sin embargo, las antiguas actitudes y viejos hábitos son difíciles de modificar, porlo que aún subsisten creencias falsas sobre el software.  Mitos de los administradoresMito 1. Ya se tiene un libro lleno de estándares y procedimientos para laconstrucción de software. ¿Esto proporcionará a mi gente todo el conocimientonecesario?Mito 2. Si se está atrasado en el itinerario es posible contratar más programadorespara así terminar a tiempo.Mito 3. Si decido subcontratar el proyecto de software a un tercero, puedorelajarme y dejar que esa compañía lo construya.  Mitos de los ClientesMito 1. Un enunciado general de los objetivos es suficiente para comenzar aescribir programas; los detalles se pueden afinar después.Mito 2. Los requerimientos del proyecto cambian de manera continua, pero elcambio puede ajustarse con facilidad porque el software es flexible.  Mitos de los DesarrolladoresMito 1. Una vez que el programa ha sido escrito y puesto a funcionar, el trabajoestá terminado.Mito 2. Mientras el programa no se esté ejecutando, no existe forma de evaluar sucalidad.Mito 3. El único producto del trabajo que puede entregarse para tener un proyectoexitoso es el programa en funcionamiento.
  5. 5. Mito 4. El Ing. de Sw obligará a emprender la creación de una documentaciónvoluminosa e innecesaria y de manera invariable tornará más lento el proceso.2.3. Capas de la ingeniería de software Independientemente de la complejidad del sistema y de su área de aplicación laIngeniería del Software se puede considerar una tecnología multicapa.Es una necesidad inminente de la industria del software y de los usuarios que elsoftware desarrollado cumpla con todas las dimensiones de la calidad. La calidadno es casual, sino resultado de las actividades y decisiones que se realizan paraasegurarla. Las organizaciones deben invertir en actividades que permitanasegurar la calidad, el beneficio de hacerlo es significativamente mayor que nohacerlo.Los métodos de la Ingeniería del Software indican “como” construir técnicamenteel software. Los métodos abarcan una gran gama de tareas que incluyen análisisde requisitos, diseño, construcción de programas, pruebas y mantenimiento.Las herramientas de la Ingeniería de Software proporcionan un enfoqueautomático o semi-automático para el proceso y para los métodos. Cuando seintegran herramientas para que la información creada por una herramienta lapueda utilizar otra, se establece un sistema de soporte para el desarrollo delsoftware llamado Ingeniería del Software Asistida por Computadora (CASE).
  6. 6. 2.4Definición de software de calidad CALIDAD DE SOFTWARE: El objetivo general de la ingeniería de software es laproducción de software de calidad. La calidad del software puede ser consideradadesde dos perspectivas diferentes; la óptica del desarrollador y la del cliente ousuario final. Los factores que afectan al desarrollador se denominan Internos ylos del cliente ExternosLa calidad del software es un concepto complejo que no es directamentecomparable con la calidad de la manufactura de productos. Según la norma ISO9000 la calidad es el “grado en el que un conjunto de características inherentescumple con los requisitos”. La calidad de software está directamente relacionadacon su proceso de desarrollo. Se considera que un proceso bien conocido yampliamente utilizado, sustentado en medición y predicción de eventos, permitecontrolar en buena medida la producción de software y en consecuencia, producirsoftware de calidad.En la calidad de un producto de software, así como las métricas asociadas en lasdiferentes etapas del ciclo de vida del software, se suelen distinguir tres aspectosdiferentes:  Calidad interna: Medible a partir de las características intrínsecas, como el código fuente.  Calidad externa: Medible en el comportamiento del producto, como en una prueba.  Calidad en uso: Medible durante la utilización efectiva por parte del usuario en un contexto determinado.2.5. Factores de calidad y productividad FACTORES DE CALIDAD DE SOFTWARE CORRECCIÓN Es la capacidad delos productos software para realizar con exactitud las tareas expresadas en suespecificación. Uno de los problemas de la corrección es que se presupone laconfianza en los distintos componentes involucrados en la producción del sistema;compilador, bibliotecas, módulos, Sistema operativo, etc. FACTORES DE CALIDAD DE SOFTWARE ROBUSTEZ Es la capacidad de losproductos software de reaccionar apropiadamente ante condicionesexcepcionales. La robustez viene a ser el complemento de la corrección. Enimplementación se cuenta con el mecanismo de excepciones el cual garantiza elcorrecto flujo de ejecución del código. (Programación por contrato)FACTORES DE CALIDAD DE SOFTWARE EFICIENCIA Es la capacidad delsoftware para hacer buen uso de los recursos que manipula. Una práctica muycomún en los desarrolladores es la optimización excesiva, lo importante esmantener un balance adecuado entre eficiencia y corrección
  7. 7. FACTORES DE CALIDAD DE SOFTWARE PORTABILIDAD Es la facilidad conque un sistema software puede ser migrado entre diferentes plataformas hardwareo software. La portabilidad es un factor que tomó gran importancia en la década delos 90 debido a la gran proliferación de los sistemas basados en Internet y suvasta heterogeneidad.FACTORES DE CALIDAD DE SOFTWARE INTEGRIDAD Es la característica deun sistema de ser capaz de proteger sus diferentes componentes contra losprocesos o elementos que no tengan derecho de acceso a los mismos. Laintegridad es un factor muy importante en sistemas contables, administrativos ygerenciales ya que de ellos depende el capital de la empresa. FACTORES DE CALIDAD DE SOFTWARE FACILIDAD DE USO Es la facilidadcon la que un usuario puede interactuar con un sistema software. La facilidad deuso es un factor determinante en términos de mercadeo y venta, ya que es elprincipal elemento que afecta al usuario final. La facilidad de uso incluyeprestancia en instalación, operación y supervisión. FACTORES DE CALIDAD DE SOFTWARE VERIFICABILIDAD Es la facilidad deverificación de corrección de un software. Que tan sencillo es la realización depruebas que garanticen la funcionalidad del sistema. La prueba exhaustiva de unsoftware es un concepto imposible de ejecutar debido al carácter infinito de flujosde ejecución del sistema. Sin embargo la Ing. de software plantea estrategiasgenerales para garantizar un alto grado de corrección. FACTORES DE CALIDAD DE SOFTWARE COMPATIBILIDAD Es la facilidadcombinar diferentes elementos software con el fin de ejecutar una labor enconjunto. La mayoría de los sistemas son abiertos (interactúan con otrossistemas), y el dinamismo inherente a la realidad hace muy probable que lossistemas software tengan que intercambiar información entre si. Esto hace que lacompatibilidad sea un factor muy serio al momento de modelar el sistema.FACTORES DE CALIDAD DE SOFTWARE CASO AMR Empresa Matriz deAmerican Airlines, implementa un sistema global de reservas, hoteles alquiler deautomóviles, etc... Inversión de 125’000.000 us $ 4 años 200 programadores47.000 páginas de especificación desarrollo distribuido IMOSIBLE DE INTEGRAR,PROYECTO FALLIDO, PERDIDAS POR 165’000.000 us $ FACTORES DE CALIDAD DE SOFTWARE EXTENSIBILIDAD * Es la facilidad deadaptar los productos software a los cambios de su especificación. “E n el principioc reo Dios los cielos y la tierra. Y la tierra estaba desordenada y vacía” Gn: 1:2 Lasegunda ley de la termodinámica nos muestra como la naturaleza tiene una
  8. 8. tendencia natural al desorden (entropía) El dinamismo es un factor inherente aluniverso FACTORES DE CALIDAD DE SOFTWARE REUTILIZACIÓN: Es la capacidad delos productos software para funcionar como bloques básicos de la construcción dediferentes aplicaciones El objetivo general de la reutilización es adaptar la industriadel software al modelo de otras industria s (como la electrónica ) , donde laproducción se basa en un conjunto de elementos discretos preexistentes con unafunción genérica (circuitos integrados, resistencias, transformadores), que seensamblan para dar origen a un nuevo producto. La reutilización es uno de losaspectos más importantes de la producción de softwareConclusiónEs una necesidad de a ver elaborado este ensayo basado en la ingeniería delsoftware y de los usuarios que el software, desarrollado cumpla con todas lasdimensiones de la calidad. La calidad no es casual, sino resultado de lasactividades y decisiones que se realizan para asegurarla. Las organizacionesdeben invertir en actividades que permitan asegurar la calidad, el beneficio dehacerlo es significativamente mayor que no hacerlo por eso en este sencilloensayo nos dimos cuentas la importa de la calidad de software y cuáles son losfactores que interviene en él, con las características con la que cuenta etc.Fuentes de consultas:http://www.paginaspersonales.unam.mx/files/69/Publica_20110622215614.pdfhttp://www.lcc.uma.es/~av/Publicaciones/02/CalidadDSBC.pdfhttp://www.csi-csif.es/andalucia/modules/mod_ense/revista/pdf/Carlos_Caballero.pdfhttp://www.uv.mx/gestion/proyectos/documents/KARLAALEJANDRAJIMENEZMARTINEZ.pdf

×