SlideShare una empresa de Scribd logo
1 de 8
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
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
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.
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.
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).
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
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
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

Más contenido relacionado

La actualidad más candente

Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional CristobalFicaV
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 CapasFani Calle
 
Ejemplos de proyectos al modelo en cascada
Ejemplos de proyectos  al modelo en cascadaEjemplos de proyectos  al modelo en cascada
Ejemplos de proyectos al modelo en cascadaaics-1986-13-saraguro
 
Requerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareRequerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareKelvin Abdiel Alvarado
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosJuan Carlos Olivares Rojas
 
Planificacion de proyecto de software
Planificacion de proyecto de softwarePlanificacion de proyecto de software
Planificacion de proyecto de softwareGeorgy Jose Sanchez
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrolloitsarellano
 
Ejemplo manual de usuario
Ejemplo manual de usuarioEjemplo manual de usuario
Ejemplo manual de usuariosullinsan
 
Metricas de calidad de software
Metricas de calidad de softwareMetricas de calidad de software
Metricas de calidad de softwareisisparada
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)Yadith Miranda Silva
 

La actualidad más candente (20)

Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Ejemplos de proyectos al modelo en cascada
Ejemplos de proyectos  al modelo en cascadaEjemplos de proyectos  al modelo en cascada
Ejemplos de proyectos al modelo en cascada
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Requerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareRequerimientos en Ingenieria de Software
Requerimientos en Ingenieria de Software
 
5.1 ejemplos uml
5.1 ejemplos uml5.1 ejemplos uml
5.1 ejemplos uml
 
Gestión de la Calidad en Proyectos de Software
Gestión de la Calidad en Proyectos de SoftwareGestión de la Calidad en Proyectos de Software
Gestión de la Calidad en Proyectos de Software
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
 
Caracteristicas rup
Caracteristicas rupCaracteristicas rup
Caracteristicas rup
 
Principios del RUP
Principios del RUPPrincipios del RUP
Principios del RUP
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de Requerimientos
 
Estimación de Proyectos de Software
Estimación de Proyectos de SoftwareEstimación de Proyectos de Software
Estimación de Proyectos de Software
 
Planificacion de proyecto de software
Planificacion de proyecto de softwarePlanificacion de proyecto de software
Planificacion de proyecto de software
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrollo
 
Formato ieee830(srs lleno)
Formato ieee830(srs lleno)Formato ieee830(srs lleno)
Formato ieee830(srs lleno)
 
Ejemplo manual de usuario
Ejemplo manual de usuarioEjemplo manual de usuario
Ejemplo manual de usuario
 
Metricas de calidad de software
Metricas de calidad de softwareMetricas de calidad de software
Metricas de calidad de software
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
 

Similar a Ensayo sobre la calidad de software

Ingenieria de software -analizis literario
Ingenieria de software -analizis literarioIngenieria de software -analizis literario
Ingenieria de software -analizis literariodiegos08
 
Ensayo de Diseño de Software
Ensayo de Diseño de SoftwareEnsayo de Diseño de Software
Ensayo de Diseño de SoftwareMaryam Claro
 
Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobarEdwin Alexander
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del softwareDaniel Merchan
 
Fundamentos del diseño y Garantías de Calidad del Software
Fundamentos del diseño y Garantías de Calidad del SoftwareFundamentos del diseño y Garantías de Calidad del Software
Fundamentos del diseño y Garantías de Calidad del SoftwareRichard J. Nuñez
 
6. is construcción del software
6. is construcción del software6. is construcción del software
6. is construcción del softwareNagut
 
Fundamentos del diseno software
Fundamentos del diseno softwareFundamentos del diseno software
Fundamentos del diseno softwareclaudiocaizales
 
presentacion_edisleynissilva
presentacion_edisleynissilvapresentacion_edisleynissilva
presentacion_edisleynissilvaeddysilva18
 
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1Jose Garcia
 
Sistemas II- Ingeniería del software
Sistemas II- Ingeniería del software Sistemas II- Ingeniería del software
Sistemas II- Ingeniería del software llmdmyn14
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwareJORGE MONGUI
 
Ingenieroa de de Software Conceptos Iniciales
Ingenieroa de de Software Conceptos InicialesIngenieroa de de Software Conceptos Iniciales
Ingenieroa de de Software Conceptos InicialesMaikoUrizar1
 
Ingenieria de Software Introducción a los Conceptos Basicos
Ingenieria de Software Introducción a los Conceptos BasicosIngenieria de Software Introducción a los Conceptos Basicos
Ingenieria de Software Introducción a los Conceptos BasicosMaikoUrizar1
 
Alfredo garcia ing.pdf
Alfredo garcia ing.pdfAlfredo garcia ing.pdf
Alfredo garcia ing.pdfAlfredo Garcia
 

Similar a Ensayo sobre la calidad de software (20)

Ingenieria de software -analizis literario
Ingenieria de software -analizis literarioIngenieria de software -analizis literario
Ingenieria de software -analizis literario
 
Ensayo de Diseño de Software
Ensayo de Diseño de SoftwareEnsayo de Diseño de Software
Ensayo de Diseño de Software
 
Examen omar
Examen omarExamen omar
Examen omar
 
Ensayo de Diseño de Software
Ensayo de Diseño de SoftwareEnsayo de Diseño de Software
Ensayo de Diseño de Software
 
Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobar
 
Ensayo (El Software)
Ensayo (El Software)Ensayo (El Software)
Ensayo (El Software)
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del software
 
Fundamentos del diseño y Garantías de Calidad del Software
Fundamentos del diseño y Garantías de Calidad del SoftwareFundamentos del diseño y Garantías de Calidad del Software
Fundamentos del diseño y Garantías de Calidad del Software
 
6. is construcción del software
6. is construcción del software6. is construcción del software
6. is construcción del software
 
Fundamentos del diseno software
Fundamentos del diseno softwareFundamentos del diseno software
Fundamentos del diseno software
 
presentacion_edisleynissilva
presentacion_edisleynissilvapresentacion_edisleynissilva
presentacion_edisleynissilva
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de software
 
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
 
Sistemas II- Ingeniería del software
Sistemas II- Ingeniería del software Sistemas II- Ingeniería del software
Sistemas II- Ingeniería del software
 
Documento completo
Documento completoDocumento completo
Documento completo
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Ingenieroa de de Software Conceptos Iniciales
Ingenieroa de de Software Conceptos InicialesIngenieroa de de Software Conceptos Iniciales
Ingenieroa de de Software Conceptos Iniciales
 
Ingenieria de Software Introducción a los Conceptos Basicos
Ingenieria de Software Introducción a los Conceptos BasicosIngenieria de Software Introducción a los Conceptos Basicos
Ingenieria de Software Introducción a los Conceptos Basicos
 
Alfredo garcia ing.pdf
Alfredo garcia ing.pdfAlfredo garcia ing.pdf
Alfredo garcia ing.pdf
 
sofware libre
sofware libre sofware libre
sofware libre
 

Ensayo sobre la calidad de software

  • 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