Modelos, métricas Y Gestión Del Proceso De Software
Enviado por Drkun • 29 de Agosto de 2012 • 3.750 Palabras (15 Páginas) • 856 Visitas
Resumen: Este trabajo abarca los modelos de proceso de software o paradigmas de la ingeniería de software, las métricas de proceso de software y por ultimo la gestión y administración de proyectos de software. Cada uno es esencial en el proceso de software, el conocimiento y comprensión de los paradigmas nos permitirá hacer una elección acertada del modelo para la resolución del problema presentado mientras que las métricas proveen una forma de ponderar y cuantificar la calidad y eficiencia del producto final, por ultimo la gestión, si bien no es garantía de éxito, tiene una gran importancia dentro de todo el proceso puesto que el gestor debe asegurarse de que cada parte cumpla con su respectiva tarea.
Palabras Clave: Paradigmas de la ingeniería de software, modelos del proceso de software, métricas del proceso de software, gestión y administración de proyectos de software.
Abstract: This paper covers the software process models or software engineering paradigms, software process metrics and ultimately the management and administration of software projects. Each is essential in the process of software, knowledge and understanding of the paradigms allow us to make an appropriate choice of model for solving the problem presented while metrics provide a way to weigh and measure the quality and efficiency of the final product and finally the management, although not a guarantee of success, has great importance in the process because the manager must ensure that each party meets its respective task.
Keywords: Software engineering paradigms, software process models, software process metrics, management and administration of software projects.
Introducción
Este documento presenta los temas de paradigmas de la ingeniería de software, abarcando las respectivas características, diagramas e inconvenientes de los modelos para su correcta selección, utilización e inclusive, la combinación de paradigmas.
Posteriormente se abordan las métricas del proceso de software que nos proveen parámetros para ubicar y evaluar los proyectos a lo largo de su desarrollo y aplicación.
Por último, se abarca de manera general la introducción al amplio proceso de la gestión/administración de un proceso de software, así como las aptitudes y actividades que debe poseer y realizar el gestor de proyecto.
Modelos de proceso de software
En el libro Ingeniería de Software de Ian Sommerville [1] un proceso de software es un conjunto de actividades que conducen a la creación de un producto software.
Como cualquier proceso intelectual, un proceso de software es complejo y depende de personas encargadas de tomar decisiones y emitir juicios, por esta razón la automatización de estos procesos es limitada.
Incluso con la existencia de herramientas de ingeniería de software asistida por computadora (CASE) no existe el proceso ideal, aunque se pueden generalizar, hasta cierto punto, los siguientes elementos fundamentales:
1. Especificación del software. Debe ser definida la funcionalidad del software y sus restricciones de operación.
2. Diseño e implementación del software. Se debe producir software que cumpla su especificación.
3. Validación del software. Debe validarse el software para asegurarse que hace lo que el cliente desea.
4. Evolución del software. El software debe evolucionar para cubrir las necesidades cambiantes del cliente.
Ahora bien, un modelo de proceso de software es una representación abstracta de un proceso de software y cada modelo representa un punto de vista particular del proceso proporcionando sólo información parcial sobre dicho proceso [1].
En las siguientes secciones se tratan diferentes modelos.
Modelo lineal secuencial
Llamado también “ciclo de vida clásico” o “modelo en cascada” sugiere un enfoque sistemático, secuencial para el desarrollo del software que comienza en un nivel de sistemas y progresa con el análisis, diseño, codificación, pruebas y mantenimiento.
Fig. 1. Modelo secuencial lineal.
Ingeniería y modelado de sistemas/información. Comienza estableciendo requisitos de todos los elementos del sistema y asignando al software algún subgrupo de estos requisitos
Análisis de los requisitos del software. El proceso de reunión de requisitos se intensifica y se centra especialmente en el software.
Diseño. Es un proceso de muchos pasos que se centra en cuatro atributos distintos de programa: estructura de datos, arquitectura de software, representaciones de interfaz y detalle procedimental (algoritmo).
Generación de código. El diseño se debe traducir en una forma legible por la maquina. Si se lleva a cabo el diseño de una forma detallada, la generación de código se realiza mecánicamente.
Pruebas. Se realizan pruebas para la detección de errores y asegurar que la entrada definida produce resultados reales de acuerdo con los resultados requeridos.
Mantenimiento. Se producirán cambios porque se han encontrado errores, porque el software debe adaptarse para acoplarse a los cambios de su entorno externo porque requiere mejoras fundamentales o de rendimiento.
Este modelo es el más antiguo y ampliamente utilizado. Sin embargo, tiene varios inconvenientes como:
• Los proyectos rara vez siguen el modelo secuencial, por lo que los cambios pueden causar confusión.
• Este modelo requiere de la exposición explicita de todos los requisitos por parte del cliente desde el comienzo.
• Una versión de trabajo del programa no estará disponible hasta una fase muy avanzada del proyecto.
Modelo de construcción de prototipos
El paradigma de construcción de prototipos (Fig. 2) comienza con la recolección de requisitos. El desarrollador y el cliente encuentran y definen los objetivos globales para el software, identifican los requisitos conocidos y las áreas del esquema en donde es obligatoria más definición. Entonces aparece un “diseño rápido”. El diseño rápido se centra en una representación de esos aspectos del software que serán visibles para el cliente. El diseño rápido lleva a la construcción de un prototipo. El prototipo lo evalúa el cliente y se utiliza para refinar los requisitos del software a desarrollar. La iteración ocurre cuando el prototipo se pone a punto para satisfacer las necesidades del cliente, permitiendo al mismo tiempo que el desarrollador comprenda lo que necesita hacer.
Fig. 2. Modelo de construcción de prototipos.
A los clientes y desarrolladores les gusta este paradigma puesto que al usuario le gusta el sistema real y
...