El documento trata sobre la ingeniería del software. Explica que la ingeniería del software surgió en los años 1960 para facilitar la creación y comprensión del software a través de herramientas y procesos. Desde entonces, se ha convertido en una disciplina legítima con logros significativos, aunque aún queda trabajo por hacer. También define los diferentes tipos de software y costos asociados con la calidad del software.
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
Calidad Software
1. Ensayo
El Software
La búsqueda de técnicas que mejorasen la calidad y permitiesen reducir los costos de las
soluciones basadas en computadoras ha sido uno de los objetivos más perseguidos desde los inicios de la
informática. A mediados de los 60, la creación de un producto software se convertía en una tarea
angustiosa, se hizo por tanto necesario introducir una serie de herramientas y procedimientos que
facilitaran por un lado, la labor de creación de nuevo software y por otro, la comprensión y el manejo
del mismo. Estos fueron los inicios de la Ingeniería del Software. Con el paso del tiempo, la evolución de
estos métodos nos han llevado a reconocer la Ingeniería del Software como una verdadera disciplina,
derivada de una investigación seria y de un estudio minucioso.
La Ingeniería del Software va a introducirse en la cuarta década de su existencia y sufre de los
muchos puntos fuertes y débiles. La Ingeniería del Software se va aproximando a su edad media con
muchos logros a sus espaldas, pero con un trabajo significativo todavía por hacer. Hoy en día, está
reconocida como una disciplina legítima, digna de tener una investigación seria, un estudio concienzudo
y un grande y tumultuoso debate. En la industria el Ingeniero del software ha sustituido al programador
como titulo de trabajo preferente. Los modelos de procesos de software, métodos de ingeniería de
software y herramientas se han adoptado con éxito en el amplio espectro de las aplicaciones industriales.
Los gestores y usuarios reconocen la necesidad de un enfoque más disciplinado del software.
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 económico 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,
entre otros. 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.
Según la definición de software, 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". 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.
Es decir, el software es la parte intangible, son reglas, programas, datos, documentación y
ordenes que permitan la ejecución de múltiples tareas en un PC. En cuanto a los tipos de software
2. podemos mencionar los de programación, los de sistema, los de aplicación y el software libre. En relación
a los tipos software se tiene el de programación, que se podría catalogar como herramientas que un
programador utiliza para poder desarrollar programas informáticos, posee distintos lenguajes de
programación como son compiladores, programas de diseño asistido por computador, paquetes
integrados, editores de texto, enlazadores, depuradores, intérpretes, entre otros; el software de sistema
es aquel que accede a los usuarios interactuar con el sistema operativo así como también controlarlo,
este sistema está compuesto por una serie de programas que tienen como objetivo administrar los
recursos del hardware y, al mismo tiempo, le otorgan al usuario una interfaz, como ejemplo de este tipo
de software se menciona a Windows, Linux y Mac OS X, entre otros. Además de los sistemas operativos,
dentro del software de sistema se ubican las herramientas de diagnóstico, los servidores, la sutilidades,
los controladores de dispositivos y las herramientas de corrección y optimización, otros. El software de
Aplicación es todo aquel programa que permite al usuario realizar una o varias tareas específicas, dentro
de este tipo de software se encuentran aquellos programas que los individuos usan de manera cotidiana
como: procesadores de texto, hojas de cálculo, editores, telecomunicaciones, software de cálculo
numérico y simbólico, video juegos, entre otros y el software libre es la denominación del software que
respeta la libertad de todos los usuarios que adquirieron el producto y, por tanto, una vez obtenido el
mismo puede ser usado, copiado, estudiado, modificado, y redistribuido libremente de varias formas.
Algunas de la metodología de software, se muestran 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.
Se presentan los diversos tipos de costos asociados con la calidad de software, ya sean estos:
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
3. 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.
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.
A pesar de que tal vez surjan problemas, la construcción de prototipos puede ser un paradigma
efectivo para la ingeniería del software. La clave es definir las reglas del juego desde el principio; es
decir, el cliente y el desarrollador se deben poner de acuerdo en que: El prototipo se construya y sirva
como un mecanismo para la definición de requisitos; el prototipo se descarte, al menos en parte; que
después se desarrolle el software real con un enfoque hacia la calidad.
Algunas características del software son: Se desarrolla, no se fabrica; No se estropea. ¡Pero se
deteriora!; aunque la industria tiende a ensamblar componentes, la mayoría del software se construye a
medida.
Para finalizar, cabe recalcar que el software es imprescindible para cualquier sistema informático,
puesto que sin él, este no funcionaría. Es el software quien da las órdenes, quien indica que debe hacer
cada máquina con sus elementos, cuando y como. Un ordenador sin software sería simplemente un
conjunto de chips, cables, periféricos e interruptores totalmente inerte y sin función alguna. Es el
software quien ordena todo ese material, lo reconoce, le asigna una función según sus características, y
permite que funcione todo en su conjunto. En grandes programas, como por ejemplo los sistemas
operativos, existen equipos de cientos y miles de personas que trabajan en ellos durante largos periodos
de tiempo, sobre todo debido a su complejidad. Y de hecho empresas como Apple, Microsoft, Google,
son básicamente empresas dedicadas al software y su desarrollo, lo cual nos permite hacernos una
pequeña idea del valor del software.
Contra esta corriente de grandes empresas que obtienen beneficio económico del software, hay
una corriente mundial que aboga por el software libre o gratuito. La importancia del software radica
también en que permite una comunicación entre el usuario y la máquina, e incluso una interacción entre
ambos. También facilita las tareas a los usuarios. Gracias al software podemos ejecutar tareas que hace
décadas hubiesen llevado años de trabajo, y ello ha supuesto sin lugar a dudas una revolución mundial
en la sociedad moderna. Está tan presente en la vida cotidiana, que muchas veces pasa desapercibido
4. que no sólo se tienen programas y aplicaciones en los ordenadores, sino que la mayor parte de los
electrodomésticos, vehículos y controles llevan su propio software incorporado.
Uno de los beneficios importantes que trae el Software Libre es haber aparecido como una opción
diferente en el mercado, que enriquece el nivel competitivo permitiendo desarrollar nuevas
características de Software, crear comunidad y aportar otras especificaciones, nuevos estándares, y
promover la creatividad al software como tal. Es una alternativa posible para el cliente y el usuario final.
El otro beneficio tiene que ver con el hecho de la aparición del Software Libre como una opción
académica, que hoy por hoy, ya tiene aplicabilidad al mundo empresarial y de los negocios. Existen
muchas aplicaciones empresariales reales que se benefician de esta tecnología, cuyo beneficio se traduce
en un mejor costo total de propiedad (TCO) de las soluciones. El Software Libre es desarrollado por miles
de personas geográficamente dispersas, con costumbres, ideologías y pensamientos diferentes.