Introduccion A La Programacion
1.1
LOS CRITERIOS DE CALIDAD DEL SOFTWARE
Desde hace décadas se habla de la “crisis del software”, referencia obligada en prácticamente todos los cursos de Ingeniería de Software y tema de múltiples chascarrillos con cierta dosis de verdad. Un estudio realizado en 2001 señala que sólo el 28% de proyectos de software sonexitosos, contra 23% cancelados y 49% excedidos en tiempo o presupuesto o con características faltantes;1 investigaciones más recientes muestran que la situación no ha cambiado: entre 40% y 50% del software nunca es empleado por el usuario final. En las aulas se gesta parte del problema y en ellas está en gran medida la solución. El estudiante y el docente deben estar concientes que el propósito no eshacer un programa conforme el maestro lo dice para obtener la calificación máxima o al menos para no reprobar; la finalidad principal es aprender a crear un software de calidad, conforme a criterios técnicos
1 Estudio de Johnson et. al. en 2001, citado en Schach, Stephen. Ingeniería de software clásica y orientada a objetos. McGraw Hill, 6a.. ed., México, 2006. pág. 6.
LÓGICA DE PROGRAMACIÓNCON LENGUAJE C – JOSÉ LUIS LÓPEZ G./ANGEL GUTIÉRREZ G.
Alfaomega
52 | Capítulo 1
● Un primer acercamiento al desarrollo de software _______________
específicos. La siguiente lista fue tomada y enriquecida de un libro clásico realizado por Bertrand Meyer.2
• • • •
software: Cualidades que rodean al software coherencia entre el software y los objetivos de la empresa, costo decompra-venta razonable y garantía de soporte y actualización. Corrección: Corrección “es la capacidad de los productos software para realizar con exactitud sus tareas [y sin errores], tal y como se definen en las especificaciones”. Funcionalidad: “es el conjunto de posibilidades que proporciona un sistema”. uso: Facilidad de uso “es la facilidad con la cual personas con diferentes formaciones y aptitudespueden aprender a usar los productos software y aplicarlos a la resolución de problemas. También cubre la facilidad de instalación, de operación y de supervisión”. Atractivo: Atractivo el software, además de ser correcto y fácil de usar, debe ser visualmente atractivo, pues de esta manera contribuirá a que el usuario se sienta motivado a usarlo, independientemente de que lo haga por iniciativapropia o por necesidad laboral. Robustez: “es la capacidad de los sistemas de software de reaccionar apropiadamente ante condiciones excepcionales”. Eficiencia: “es la capacidad de un sistema software para exigir la menor cantidad posible de recursos hardware, tales como tiempo del procesador, espacio ocupado de memoria interna y externa o ancho de banda utilizado en los dispositivos decomunicación”. “es la facilidad de combinar unos elementos de software con Compatibilidad: “ otros”. Portabilidad: Portabilidad “es la facilidad de transferir los productos software a diferentes entornos hardware y software”. Seguridad: es la capacidad de los sistemas software para proteger sus diversos componentes (programas, datos, etc.) contra modificaciones y accesos no autorizados. Oportunidad: Oportunidad“es la capacidad de un sistema de software de ser lanzado cuando los usuarios lo desean, o antes”. Acorde presupuesto: Acorde al presupuesto junto con la oportunidad, es la capacidad que un sistema tiene de completarse con el presupuesto asignado o por debajo del mismo. mantenimiento: Facilidad de mantenimiento que el software realizado pueda adaptarse con relativa facilidad a nuevos requerimientos.•
• •
• • •
• • •
Desde un primer curso se debe avanzar en el logro de esas características, expresando de manera explícita los puntos que faltarían para llegar a la calidad deseada. Los siguientes pueden ser criterios generales de un curso introductorio de programación:
2
Meyer, Bertrand. Construcción de software orientado a objetos. Prentice-Hall, 2a. ed., Madrid,...
Regístrate para leer el documento completo.