PROFESOR:
MANUEL IGNACIO CABRERA CUELLAR
UNIVERSIDAD INPAHU
INGENIERIA DE SOFTWARE
3.2.2. Modelo en V
El modelo en V es una variacin del modelo en cascada que muestra cmo se relacionan
las actividades de prueba con el anlisis y el diseo, la codificacin forma el vrtice de la
V, con el anlisis y el diseo a la izquierda y las pruebas y el mantenimiento a la derecha.
La unin mediante lneas discontinuas entre las fases de la parte izquierda y las pruebas
de la derecha representa una doble informacin. Por un lado, sirve para indicar en qu
fase de desarrollo se deben definir las pruebas correspondientes. Por otro sirve para
saber a qu fase de desarrollo hay que volver si se encuentran fallos en las pruebas
correspondientes.
Por lo tanto, el modelo en V hace ms explcita parte de las iteraciones y repeticiones de
trabajo que estn ocultas en el modelo en cascada. Mientras el foco del modelo en
cascada se sita en los documentos y productos desarrollados, el modelo en V se centra
en las actividades y la correccin.
Ventajas
La relacin entre las etapas de desarrollo y los distintos tipos de pruebas facilitan la
localizacin de fallos.
Es un modelo sencillo y de fcil aprendizaje.
Hace explcito parte de la iteracin y trabajo que hay que revisar.
Especifica bien los roles de los distintos tipos de pruebas a realizar.
Involucra al usuario en las pruebas.
Inconvenientes
Es difcil que el cliente exponga explcitamente todos los requisitos.
El cliente debe tener paciencia pues obtendr el producto al final del ciclo de vida.
Las pruebas pueden ser caras y, a veces, no lo suficientemente efectivas.
El producto final obtenido puede que no refleje todos los requisitos del usuario.
Ventajas
El anlisis del riesgo se hace de forma explcita y clara. Une los mejores elementos de los
restantes modelos.
Reduce riesgos del proyecto.
Incorpora objetivos de calidad.
Integra el desarrollo con el mantenimiento, etc.
Adems, es posible tener en cuenta mejoras y nuevos requerimientos sin romper con la
metodologa, ya que este ciclo de vida no es rgido ni esttico.
Inconvenientes
Genera mucho tiempo en el desarrollo del sistema.
Modelo costoso.
Requiere experiencia en la identificacin de riesgos.
Ventajas
Este modelo es til cuando el cliente conoce los objetivos generales para el software, pero
no identifica los requisitos detallados de entrada, procesamiento o salida.
Tambin ofrece un mejor enfoque cuando el responsable del desarrollo del software est
inseguro de la eficacia de un algoritmo, de la adaptabilidad de un sistema operativo o de
la forma que debera tomar la interaccin humano-mquina.
Se puede reutilizar el cdigo.
Desventajas
El usuario tiende a crearse unas expectativas cuando ve el prototipo de cara al sistema
final. A causa de la intencin de crear un prototipo de forma rpida, se suelen desatender
aspectos importantes, tales como la calidad y el mantenimiento a largo plazo, lo que
obliga en la mayor parte de los casos a reconstruirlo una vez que el prototipo ha cumplido
su funcin. Es frecuente que el usuario se muestre reacio a ello y pida que sobre ese
prototipo se construya el sistema final, lo que lo convertira en un prototipo evolutivo, pero
partiendo de un estado poco recomendado.
En aras de desarrollar rpidamente el prototipo, el desarrollador suele tomar algunas
decisiones de implementacin poco convenientes (por ejemplo, elegir un lenguaje de
programacin incorrecto porque proporcione un desarrollo ms rpido). Con el paso del
tiempo, el desarrollador puede olvidarse de la razn que le llev a tomar tales decisiones,
con lo que se corre el riesgo de que dichas elecciones pasen a formar parte del sistema
final.
TRADICIONAL AGIL
El cliente delega su responsabilidad Individuos e interacciones
Castigo y penalizacin Colaboracin: Beneficio comn
Competicin: Beneficio individual Trabajo en equipo
Evaluacin individual Flujo de valor continuo
Puntas de trabajo desequilibradas Retencin de talento
Baja motivacin del equipo El cliente se involucra en el proceso
Responsabilidad asignada Comunicacin directa
Especialidad Responsabilidad adquirida por
compromiso
Equipos grandes Multifuncionalidad
Equipos pequeos
GLOSARIO
1. Paradigma:
Un paradigma de programacin es una propuesta tecnolgica adoptada por una
comunidad de programadores y desarrolladores cuyo ncleo central es
incuestionable en cuanto que nicamente trata de resolver uno o varios problemas
claramente delimitados; la resolucin de estos problemas debe suponer
consecuentemente un avance significativo en al menos un parmetro que afecte a
la ingeniera de software.
2. Iteracin:
Iteracin significa el acto de repetir un proceso con la intencin de alcanzar una
meta deseada, objetivo o resultado. Cada repeticin del proceso tambin se le
denomina una "iteracin", y los resultados de una iteracin se utilizan como punto
de partida para la siguiente iteracin.
3. Prototipo:
4. Modularidad:
Es la capacidad que tiene un sistema de ser estudiado, visto o entendido como la
unin de varias partes que interactan entre s y que trabajan solidariamente para
alcanzar un objetivo comn, realizando cada una de ellas una tarea necesaria para
la consecucin de dicho objetivo.
CONCLUSIONES
Ivar Jacobson, Grady Booch y James Rumbaugh, The Unified Software Development
Process (1999)
Mitchel H. Levine, Analyzing the Deliverables Produced in the Software Development Life
Cycle (2000)
Sitios Web
https://es.wikipedia.org/wiki/Metodolog%C3%ADa_de_desarrollo_de_software
https://msdn.microsoft.com/es-es/library/ms131102.aspx