Desarrollo de Software Basado en Procesos
Desarrollo de Software Basado en Procesos
tcnicas, herramientas y un soporte documental que ayuda a los desarrolladores a realizar un nuevo software. Puede seguir uno o varios modelos de ciclo de vida, es decir, el ciclo de vida indica qu es lo que hay que obtener a lo largo del desarrollo del proyecto pero no cmo hacerlo. La metodologa indica cmo hay que obtener los distintos productos parciales y finales.
Modelo en Cascada
Este modelo utiliza tramos como puntos de transicin y de carga. Al usar el modelo de cascada, se necesitara completar un conjunto de tareas en forma de fase para despus continuar con la fase prxima.
Modelo en Espiral
Este modelo se basa en la necesidad continua de refinar los requerimientos para un determinado proyecto. El modelo espiral es eficaz cuando se utiliza para el rpido desarrollo de proyectos muy pequeos.
ingls Rational Unified Process, divide en 4 fases el desarrollo del software. Cada Fase tiene definido un conjunto de objetivos y un punto de control especifico:
Definir el alcance del proyecto. Entender que se va a construir. Construir una versin ejecutable de la arquitectura de la aplicacin. Entender cmo se va a construir. Completar el esqueleto de la Aplicacin con la funcionalidad. Construir una versin Beta. Hacer disponible la aplicacin para los usuarios finales. Construir la versin Final.
2. Elaboracin
3. Construccin
4. Transicin
Bases de la Metodologa XP
Pruebas Unitarias: se basa en las pruebas realizadas a
los principales procesos, de tal manera que adelantndonos en algo hacia el futuro, podamos hacer pruebas de las fallas que pudieran ocurrir. Refabricacin: se basa en la reutilizacin de cdigo, para lo cual se crean patrones o modelos estndares, siendo ms flexible al cambio. Programacin en pares: una particularidad de esta metodologa es que propone la programacin en pares.
retroalimentacin continua. El manejo del cambio se convierte en parte sustantiva del proceso. El costo del cambio no depende de la fase o etapa. No introduce funcionalidades antes que sean necesarias. El cliente o el usuario se convierten en miembro del equipo.
comunicacin, desarrolladores.
entre
los
usuarios
los
del sistema.
La retroalimentacin, concreta y frecuente del equipo
iteraciones cortas que entregan funcionalidad tangible. En el caso del FDD las iteraciones duran dos semanas. Procesos de la metodologa FDD.
Desarrollar un Modelo Global. Construir una Lista de los Rasgos. Planear por Rasgo. Disear por Rasgo. Construir por Rasgo.
Caractersticas de MSF.
Adaptable: es parecido a un comps, usado en cualquier
parte como un mapa, del cual su uso es limitado a un especfico lugar. 4 personas, as como tambin, proyectos que requieren 50 personas a ms.
cualquier cliente.
Faces de MSF
Fase 1: Visin. En esta fase el equipo y el cliente definen
los requerimientos del negocio y los objetivos generales del proyecto. Fase 2: Planeacin. Durante la fase de planeacin el equipo crea un borrador del plan maestro del proyecto, adems de un cronograma del proyecto y de la especificacin funcional del proyecto. Fase 3: Desarrollo. Esta fase involucra una serie de releases internos del producto, desarrollados por partes para medir su progreso y para asegurarse que todos sus mdulos o partes estn sincronizados y pueden integrarse.
producto. El proceso de prueba hace nfasis en el uso y el funcionamiento del producto en las condiciones del ambiente real.
la tecnologa y los componentes utilizados por la solucin, estabiliza la implantacin, apoya el funcionamiento y la transicin del proyecto, y obtiene la aprobacin final del cliente.
Modelo Incremental
Provee una estrategia para controlar la complejidad y
los riesgos, desarrollando una parte del producto software reservando el resto de aspectos para el futuro.
Los principios bsicos son:
las fases de la cascada modelo de desarrollo se han completado para una pequea parte de los sistemas, antes de proceder a la prxima incremental.
Se definen los requisitos antes de proceder con la evolutivo,
y el diseo de la arquitectura y colectiva bsicas se definen utilizando el enfoque de cascada, seguida por iterativo de prototipos, que culmina en la instalacin del prototipo final.
con rapidez, principalmente mediante el uso de iteracin por prototipos (en cualquier etapa de desarrollo). Hace especial hincapi en el cumplimiento de la necesidad comercial, mientras que la ingeniera tecnolgica o la excelencia es de menor importancia. Control de proyecto implica el desarrollo de prioridades y la definicin de los plazos de entrega. Si el proyecto empieza a aplazarse, se hace hincapi en la reduccin de requisitos para el ajuste, no en el aumento de la fecha lmite. La participacin activa de los usuarios es imprescindible. Produce la documentacin necesaria para facilitar el futuro desarrollo y mantenimiento.
Sus fases son conocidas por los desarrolladores. Los usuarios lo pueden comprender fcilmente
Alto riesgo en sistemas nuevos debido a problemas en las especificaciones y en el diseo.
Desventajas:
Conjuga la naturaleza iterativa de los prototipos con los aspectos controlados y sistemticos del modelo clsico Proporciona el potencial para el desarrollo rpido de versiones incrementales Puede adaptarse y aplicarse a lo largo de la vida del software Es un enfoque realista del desarrollo del software Permite aplicar el enfoque de construccin de prototipos en cualquier momento para reducir riesgos Reduce los riesgos antes de que se conviertan en problemticos Controla muy bien los riesgos y mientras ms iteraciones se realicen, menos riesgos habr Monitoriza y controla los riesgos continuamente
Desventajas: Puede resultar difcil convencer a algunos clientes de que el enfoque evolutivo es controlable Solo resulta aplicable para proyectos de gran tamao Supone una carga de trabajo adicional, no presente en otros ciclos de vida Requiere una considerable habilidad para la evaluacin y resolucin del riesgo, y se basa en esta habilidad para el xito Si un riesgo importante no es descubierto y gestionado, indudablemente surgirn problemas Es bastante complicado de realizar y su complejidad puede incrementarse hasta hacerlo impracticable El modelo no se ha utilizado tanto como otros, por lo que tendrn que pasar aos antes de que determine con certeza la eficacia de este modelo
Modelo en V 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 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
Desventajas:
La ventaja principal ventaja es que al ser un modelo desarrollado por Microsoft se puede tener mayor soporte y mantenimiento, adems la mayora de los usuarios finales estn ms acostumbrados con este producto. Adems sirve para grandes y pequeos proyectos. La principal desventaja es que se torna un trabajo bastante largo, ya que para cada fase se debe documentar profundamente todo lo que se haga, pero no deja de ser un modelo que tiene buenos resultados.
Desventajas:
Permite entregar al cliente un producto ms rpido en comparacin del modelo de cascada. Con un paradigma incremental se reduce el tiempo de desarrollo inicial, ya que se implementa la funcionalidad parcial Tambin provee un impacto ventajoso frente al cliente, que es la entrega temprana de partes operativas del Software Resulta ms sencillo acomodar cambios al acotar el tamao de los incrementos.
Desventajas: El modelo Incremental no es recomendable para casos de sistemas de tiempo real, de alto nivel de seguridad, de procesamiento distribuido, y/o de alto ndice de riesgos. Requiere de mucha planeacin, tanto administrativa como tcnica. Requiere de metas claras para conocer el estado del proyecto.