Unidad II. Metodologías De Desarrollo
Enviado por serant15 • 9 de Mayo de 2013 • 12.003 Palabras (49 Páginas) • 493 Visitas
INSTITUTO TECNOLÓGICO DE ACAPULCO
INGENIERÍA EN SISTEMAS COMPUTACIONALES
INGENIERIA DE SOFTWARE
Unidad II. Metodologías de Desarrollo
PROFESOR: ING. MARIA NANCY GARCIA CASTRO
ALUMNOS:
VÁZQUEZ CARMONA MIGUEL ÁNGEL 10320941
TORRES SALINAS SERGIO ANTONIO 11320160
HORARIO: 13:00 HRS A 14:00 HRS
ACAPULCO, GRO. A 17 DE ABRIL DEL 2013
Metodologías de Desarrollo
Introducción
Una metodología de desarrollo de software se refiere a un framework que es usado para estructurar, planear y controlar el proceso de desarrollo en sistemas de información.
A lo largo del tiempo, una gran cantidad de métodos han sido desarrollados diferenciándose por su fortaleza y debilidad.
El framework para metodología de desarrollo de software consiste en:
• Una filosofía de desarrollo de programas de computación con el enfoque del proceso de desarrollo de software
• Herramientas, modelos y métodos para asistir al proceso de desarrollo de software
Estos frameworks son a menudo vinculados a algún tipo de organización, que además desarrolla, apoya el uso y promueve la metodología. La metodología es a menudo documentada en algún tipo de documentación formal.
El desarrollo de software no es una tarea fácil. Prueba de ello es que existen numerosas propuestas metodológicas que inciden en distintas dimensiones del proceso de desarrollo. Por una parte tenemos aquellas propuestas más tradicionales que se centran especialmente en el control del proceso, estableciendo rigurosamente las actividades involucradas, los artefactos que se deben producir, y las herramientas y notaciones que se usarán. Estas propuestas han demostrado ser efectivas y necesarias en un gran número de proyectos, pero también han presentado problemas en muchos otros. Una posible mejora es incluir en los procesos de desarrollo más actividades, más artefactos y más restricciones, basándose en los puntos débiles detectados. Sin embargo, el resultado final sería un proceso de desarrollo más complejo que puede incluso limitar la propia habilidad del equipo para llevar a cabo el proyecto. Otra aproximación es centrarse en otras dimensiones, como por ejemplo el factor humano o el producto software. Esta es la filosofía de las metodologías ágiles, las cuales dan mayor valor al individuo, a la colaboración con el cliente y al desarrollo incremental del software con iteraciones muy cortas. Este enfoque está mostrando su efectividad en proyectos con requisitos muy cambiantes y cuando se exige reducir drásticamente los tiempos de desarrollo pero manteniendo una alta calidad. Las metodologías ágiles están revolucionando la manera de producir software, y a la vez generando un amplio debate entre sus seguidores y quienes por escepticismo o convencimiento no las ven como alternativa para las metodologías tradicionales.
Un objetivo de décadas ha sido encontrar procesos y metodologías, que sean sistemáticas, predecibles y repetibles, a fin de mejorar la productividad en el desarrollo y la calidad del producto software.
La evolución de la disciplina de ingeniería del software ha traído consigo propuestas diferentes para mejorar los resultados del proceso de construcción. Las metodologías tradicionales haciendo énfasis en la planificación y las metodologías ágiles haciendo énfasis en la adaptabilidad del proceso, delinean las principales propuestas presentes.
Metodologías de Desarrollo
2.1 Metodologías Clásicas………………………………………………….
2.1.1 Cascada………………………………………………………..
2.1.2 Incremental…………………………………………………….
2.1.3 Evolutivo……………………………………………………….
2.1.4 Espiral…………………………………………………………..
2.1.5 Prototipos……………………………………………………….
2.1.6 Desarrollo basado en componentes………………………...
2.2 Otras Metodologías………………………………………………………
2.2.1 Ganar-Ganar……………………………………………………
2.2.2 Proceso Unificado (UP) ……………………………………….
2.2.3 Ingeniera Web…………………………………………………..
2.2.4 Metodologías Agiles……………………………………………
2.2.5 Metodologías Emergentes……………………………………..
2.3 Reingeniería……………………………………………………………….
Conclusion…………………………………………………………………….
2.1 Metodologías Clásicas
La ingeniería del software establece y se vale de una serie de modelos que establecen y muestran las distintas etapas y estados por los que pasa un producto software, desde su concepción inicial, pasando por su desarrollo, puesta en marcha y posterior mantenimiento, hasta la retirada del producto. A estos modelos se les denomina “Modelos de ciclo de vida del software”. El primer modelo concebido fue el de Royce, más comúnmente conocido como Cascada o “Lineal Secuencial”. Este modelo establece que las diversas actividades que se van realizando al desarrollar un producto software, se suceden de forma lineal.
Los modelos de ciclo de vida del software describen las fases del ciclo de software y el orden en que se ejecutan las fases.
Un modelo de ciclo de vida de software es una vista de las actividades que ocurren durante el desarrollo de software, intenta determinar el orden de las etapas involucradas y los criterios de transición asociados entre estas etapas.
Un modelo de ciclo de vida del software:
• Describe las fases principales de desarrollo de software
• Define las fases primarias esperadas de ser ejecutadas durante esas fases
• Ayuda a administrar el progreso del desarrollo
• Provee un espacio de trabajo para la definición de un proceso detallado de desarrollo de software
En cada una de las etapas de un modelo de ciclo de vida, se pueden establecer una serie de objetivos, tareas y actividades que lo caracterizan. Existen distintos modelos de ciclo de vida, y la elección de un modelo para un determinado tipo de proyecto es realmente importante;
...