Fundamentos de la Metodología y Calidad en el Desarrollo de Software
Enviado por Programa Chuletas y clasificado en Diseño e Ingeniería
Escrito el en español con un tamaño de 4,35 KB
Metodología de Desarrollo de Software
El proceso de construcción del software requiere, como cualquier otra ingeniería, identificar y aplicar las tareas sobre el software de forma ordenada y efectiva. Además, aunque no es el objetivo principal de esta asignatura, el desarrollo de software suele ser un esfuerzo coordinado de varias personas. Por ello, sus esfuerzos deben ser dirigidos por una metodología unificada que estructure las diferentes fases del desarrollo.
Una metodología define cómo se divide un proyecto en fases y las tareas a realizar en cada una. Para cada fase, se especifican las entradas que recibe y las salidas que produce. También incluyen alguna forma de gestionar el proyecto.
Teniendo esto en cuenta, establecemos la siguiente definición:
La Metodología es un modo sistemático y organizado de producir software.
Finalidad y Atributos de Calidad del Software
La finalidad de una metodología de desarrollo de software es asegurar la calidad del producto final. A continuación, se detallan los atributos clave de calidad:
- Adecuación
- El sistema satisface las expectativas del usuario.
- Mantenibilidad
- Facilidad para realizar cambios una vez que el sistema está funcionando en la empresa del cliente.
- Usabilidad
- Grado de dificultad en aprender a manejar el sistema por parte de un usuario que no tiene por qué ser programador. Irónicamente, este atributo puede ser inversamente proporcional a la resistencia al cambio.
- Fiabilidad
- Capacidad de un sistema de funcionar correctamente durante un tiempo dado. La diferencia con la corrección radica en que aquí el factor tiempo es crucial; no se refiere al número absoluto de defectos, sino a aquellos que se manifiestan en un intervalo de tiempo determinado. Interesan sobre todo:
- MTBF: Mean Time Between Failures (Tiempo medio entre fallos)
- Disponibilidad: Probabilidad de que el sistema esté funcionando en un instante dado.
- Corrección
- Densidad de defectos mínima.
- Eficiencia
- El sistema es capaz de realizar su tarea con el mínimo consumo de recursos necesario.
Conceptos Fundamentales de Sistemas e Ingeniería de Software
Definición de Sistema
Un sistema puede estar formado por subsistemas de diferentes tipos. La ingeniería de sistemas es el primer paso, proporcionando una visión global del sistema en su conjunto. Posteriormente, cada subsistema se analiza con la rama de ingeniería adecuada.
En el contexto informático, el sistema es un conjunto de elementos que cooperan entre sí para proporcionar una funcionalidad. En el caso de un sistema informático, hay dos tipos de elementos: Hardware y Software.
La Ingeniería del Software
Una de las ramas de la ingeniería aplicada a sistemas es la ingeniería del software.
La Ingeniería del Software trata del establecimiento de los principios y métodos de la ingeniería, orientados a obtener software económico, que sea fiable y funcione de manera eficiente sobre máquinas reales.
La Crisis del Software: Orígenes y Consecuencias
Desde la introducción de computadoras con capacidad para soportar aplicaciones de tamaño considerable (años 60), las técnicas de desarrollo utilizadas para sistemas pequeños dejaron progresivamente de ser válidas.
El enfoque ad-hoc, sin planificación ni gestión formal, podía ser eficaz para proyectos pequeños realizados por una sola persona, permitiendo resultados rápidos. Sin embargo, al aplicarse a sistemas de mayor envergadura, este método se volvió insostenible. Hoy en día, este método sigue siendo muy utilizado, especialmente por estudiantes de informática en prácticas de programación de pequeño tamaño.
Las consecuencias de esta crisis fueron:
- El costo era mucho mayor de lo originalmente previsto.
- El tiempo de desarrollo también excedía lo proyectado.
- La calidad del código producido era imprevisible y en promedio baja.