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
MORALES
TUXTEPEC, OAX, 18DE SEPTIEMBRE DEL 2012
2. Ensayo
Resumen
Se describe la incursión de la informática dentro de las empresas, de un modo
generalista los diferentes caminos para obtener la calidad de software, por eso en
este ensayo se describe los diferentes ciclos de vida de un desarrollo de
software. El desarrollo de software basado en componentes se ha convertido
actualmente en uno de los mecanismos más efectivos para la construcción de
grandes sistemas y aplicaciones de software. Una vez que la mayor parte de los
aspectos funcionales de esta disciplina comienzan a estar bien definidos, la
atención de la comunidad científica comienza a centrarse en los aspectos extra
funcionales y de calidad, como un paso hacia una verdadera ingeniería.
Palabras claves
Ingeniería en informática, software, ciclo de vida, calidad de software,
metodología, características y mitos de software.
Introducción
El término de Ingeniería de Software fue introducido a finales de los 60 a raíz de
la crisis del software. Esta crisis fue el resultado de la introducción de la tercera
generación del hardware. Por otra parte se exige que el software sea eficaz y
barato tanto en el desarrollo como en la compra. También se requiere una serie de
características como fiabilidad, facilidad de mantenimiento y de uso, eficiencia, etc.
Por ese motivo presentamos el siguiente ensayo que será reflejado esas
características de la calidad de software proporcionando elementos que permitan
tomar decisiones en relación a las inversiones de aseguramiento de calidad y la
mejora de procesos.
Desarrollo
2.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 total
de los programas de computadora, procedimientos, reglas, la documentación
3. asociada y los datos que pertenecen a un sistema de cómputo". Según el mismo
autor, "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 un
curso de verano de la OTAN en Garmisch.
La Ingeniería del Software es una disciplina de la ingeniería cuya meta es el
desarrollo 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 ofrece
métodos y técnicas para desarrollar y mantener software de calidad. Es un
conjunto de elementos u objetos que conforman una configuración
Incluye:
• Programas
• Documentos
• Datos
Esta son algunas de la metodología de software que se nuestra a continuación
. 1. Requerimientos. Identificar las necesidades del usuario y documentarlas
té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 que
permita cumplir todos los requerimientos especificados y sirva como base para la
construcción del software.
3. Codificación. Implementar el modelo conceptual en un lenguaje o herramienta
de programación, es decir, generar el código fuente, además de realizar las
pruebas unitarias a cada componente de software y la integración de estos.
4. Pruebas de sistema. Verificar que el software cumpla con los requerimientos
especificados y no presente fallas
Costos de la calidad en el desarrollo de software
De acuerdo con diversos autores [2], [8], [9], [11], [13], a continuación se
presentan los diversos tipos de costos asociados con la calidad de software:
a) Costos para asegurar la calidad o costos de conformidad
Costos de Prevención
Costo de todos aquellos esfuerzos para asegurar la calidad del software y prevenir
defectos 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 datos
sobre la calidad, análisis de causas raíces), requerimientos (especificaciones y
prototipos), administración del proyecto (planeación, capacitación, recopilación de
métricas), librería de reusó (capacitación y herramientas), administración de la
configuración (capacitación y herramientas), consultoría.
Costos de evaluación
Costo 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, de
integración y de sistema), auditorías de calidad del producto, evaluaciones
externas, pruebas de productos adquiridos.
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 se
construye a medida. Los problemas asociados con el desarrollo del software se
han caracterizado como una crisis.
Algunos “problema” que indican que el software se encuentra en un periodo de
crisis 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 del
software identifican los mitos en su real dimensión: actitudes equivocadas que han
causado 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, por
lo que aún subsisten creencias falsas sobre el software.
Mitos de los administradores
Mito 1. Ya se tiene un libro lleno de estándares y procedimientos para la
construcción de software. ¿Esto proporcionará a mi gente todo el conocimiento
necesario?
Mito 2. Si se está atrasado en el itinerario es posible contratar más programadores
para así terminar a tiempo.
Mito 3. Si decido subcontratar el proyecto de software a un tercero, puedo
relajarme y dejar que esa compañía lo construya.
Mitos de los Clientes
Mito 1. Un enunciado general de los objetivos es suficiente para comenzar a
escribir programas; los detalles se pueden afinar después.
Mito 2. Los requerimientos del proyecto cambian de manera continua, pero el
cambio puede ajustarse con facilidad porque el software es flexible.
Mitos de los Desarrolladores
Mito 1. Una vez que el programa ha sido escrito y puesto a funcionar, el trabajo
está terminado.
Mito 2. Mientras el programa no se esté ejecutando, no existe forma de evaluar su
calidad.
Mito 3. El único producto del trabajo que puede entregarse para tener un proyecto
exitoso es el programa en funcionamiento.
5. Mito 4. El Ing. de Sw obligará a emprender la creación de una documentación
voluminosa 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 la
Ingeniería del Software se puede considerar una tecnología multicapa.
Es una necesidad inminente de la industria del software y de los usuarios que el
software desarrollado cumpla con todas las dimensiones de la calidad. La calidad
no es casual, sino resultado de las actividades y decisiones que se realizan para
asegurarla. Las organizaciones deben invertir en actividades que permitan
asegurar la calidad, el beneficio de hacerlo es significativamente mayor que no
hacerlo.
Los métodos de la Ingeniería del Software indican “como” construir técnicamente
el software. Los métodos abarcan una gran gama de tareas que incluyen análisis
de requisitos, diseño, construcción de programas, pruebas y mantenimiento.
Las herramientas de la Ingeniería de Software proporcionan un enfoque
automático o semi-automático para el proceso y para los métodos. Cuando se
integran herramientas para que la información creada por una herramienta la
pueda utilizar otra, se establece un sistema de soporte para el desarrollo del
software llamado Ingeniería del Software Asistida por Computadora (CASE).
6. 2.4Definición de software de calidad
CALIDAD DE SOFTWARE: El objetivo general de la ingeniería de software es la
producción de software de calidad. La calidad del software puede ser considerada
desde dos perspectivas diferentes; la óptica del desarrollador y la del cliente o
usuario final. Los factores que afectan al desarrollador se denominan Internos y
los del cliente Externos
La calidad del software es un concepto complejo que no es directamente
comparable con la calidad de la manufactura de productos. Según la norma ISO
9000 la calidad es el “grado en el que un conjunto de características inherentes
cumple con los requisitos”. La calidad de software está directamente relacionada
con su proceso de desarrollo. Se considera que un proceso bien conocido y
ampliamente utilizado, sustentado en medición y predicción de eventos, permite
controlar en buena medida la producción de software y en consecuencia, producir
software de calidad.
En la calidad de un producto de software, así como las métricas asociadas en las
diferentes etapas del ciclo de vida del software, se suelen distinguir tres aspectos
diferentes:
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 de
los productos software para realizar con exactitud las tareas expresadas en su
especificación. Uno de los problemas de la corrección es que se presupone la
confianza 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 los
productos software de reaccionar apropiadamente ante condiciones
excepcionales. La robustez viene a ser el complemento de la corrección. En
implementación se cuenta con el mecanismo de excepciones el cual garantiza el
correcto flujo de ejecución del código. (Programación por contrato)
FACTORES DE CALIDAD DE SOFTWARE EFICIENCIA Es la capacidad del
software para hacer buen uso de los recursos que manipula. Una práctica muy
común en los desarrolladores es la optimización excesiva, lo importante es
mantener un balance adecuado entre eficiencia y corrección
7. FACTORES DE CALIDAD DE SOFTWARE PORTABILIDAD Es la facilidad con
que un sistema software puede ser migrado entre diferentes plataformas hardware
o software. La portabilidad es un factor que tomó gran importancia en la década de
los 90 debido a la gran proliferación de los sistemas basados en Internet y su
vasta heterogeneidad.
FACTORES DE CALIDAD DE SOFTWARE INTEGRIDAD Es la característica de
un sistema de ser capaz de proteger sus diferentes componentes contra los
procesos o elementos que no tengan derecho de acceso a los mismos. La
integridad es un factor muy importante en sistemas contables, administrativos y
gerenciales ya que de ellos depende el capital de la empresa.
FACTORES DE CALIDAD DE SOFTWARE FACILIDAD DE USO Es la facilidad
con la que un usuario puede interactuar con un sistema software. La facilidad de
uso es un factor determinante en términos de mercadeo y venta, ya que es el
principal elemento que afecta al usuario final. La facilidad de uso incluye
prestancia en instalación, operación y supervisión.
FACTORES DE CALIDAD DE SOFTWARE VERIFICABILIDAD Es la facilidad de
verificación de corrección de un software. Que tan sencillo es la realización de
pruebas que garanticen la funcionalidad del sistema. La prueba exhaustiva de un
software es un concepto imposible de ejecutar debido al carácter infinito de flujos
de ejecución del sistema. Sin embargo la Ing. de software plantea estrategias
generales para garantizar un alto grado de corrección.
FACTORES DE CALIDAD DE SOFTWARE COMPATIBILIDAD Es la facilidad
combinar diferentes elementos software con el fin de ejecutar una labor en
conjunto. La mayoría de los sistemas son abiertos (interactúan con otros
sistemas), y el dinamismo inherente a la realidad hace muy probable que los
sistemas software tengan que intercambiar información entre si. Esto hace que la
compatibilidad sea un factor muy serio al momento de modelar el sistema.
FACTORES DE CALIDAD DE SOFTWARE CASO AMR Empresa Matriz de
American Airlines, implementa un sistema global de reservas, hoteles alquiler de
automóviles, etc... Inversión de 125’000.000 us $ 4 años 200 programadores
47.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 de
adaptar los productos software a los cambios de su especificación. “E n el principio
c reo Dios los cielos y la tierra. Y la tierra estaba desordenada y vacía” Gn: 1:2 La
segunda ley de la termodinámica nos muestra como la naturaleza tiene una
8. tendencia natural al desorden (entropía) El dinamismo es un factor inherente al
universo
FACTORES DE CALIDAD DE SOFTWARE REUTILIZACIÓN: Es la capacidad de
los productos software para funcionar como bloques básicos de la construcción de
diferentes aplicaciones El objetivo general de la reutilización es adaptar la industria
del software al modelo de otras industria s (como la electrónica ) , donde la
producción se basa en un conjunto de elementos discretos preexistentes con una
función genérica (circuitos integrados, resistencias, transformadores), que se
ensamblan para dar origen a un nuevo producto. La reutilización es uno de los
aspectos más importantes de la producción de software
Conclusión
Es una necesidad de a ver elaborado este ensayo basado en la ingeniería del
software y de los usuarios que el software, desarrollado cumpla con todas las
dimensiones de la calidad. La calidad no es casual, sino resultado de las
actividades y decisiones que se realizan para asegurarla. Las organizaciones
deben invertir en actividades que permitan asegurar la calidad, el beneficio de
hacerlo es significativamente mayor que no hacerlo por eso en este sencillo
ensayo nos dimos cuentas la importa de la calidad de software y cuáles son los
factores 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.pdf
http://www.lcc.uma.es/~av/Publicaciones/02/CalidadDSBC.pdf
http://www.csi-csif.es/andalucia/modules/mod_ense/revista/pdf/Carlos_Caballero.pdf
http://www.uv.mx/gestion/proyectos/documents/KARLAALEJANDRAJIMENEZMARTINEZ.pdf