Você está na página 1de 4

MATERIA: INGENIERÍA DE SOFTWARE I

TEMA: Los procesos de desarrollo de software

DESARROLLO EN ESPIRAL
Características
- Es un modelo de ciclo de vida del software definido por primera vez por Barry Boehm en 1988.
- Se utiliza generalmente en la Ingeniería de software.
- Espiral significa un bucle, en la que cada bucle o iteración representa un conjunto de
actividades.
- Las actividades no están fijadas a priori, sino que las siguientes se eligen en función del análisis
de riesgo, comenzando por el bucle interior.
- Es el enfoque más realista para el desarrollo de software y de sistemas a gran escala.
- Utiliza un enfoque evolutivo para la ingeniería de software, permitiendo al desarrollador y al
cliente entender y reaccionar a los riesgos en cada nivel evolutivo.
- Utiliza la creación de prototipos como un mecanismo de reducción de riesgo, pero, lo que es
más importante permite a quien lo desarrolla aplicar el enfoque de creación de prototipos en
cualquier etapa de la evolución de prototipos.
Fases identificadas
- Determinar objetivos: Planificar por una sola vez, definir los productos a obtener, fijar las
restricciones, identificar riesgos.
- Análisis de riesgo: de alternativas, resolución de riesgos
- Desarrollar, verificar y validar: según las respuestas del análisis.
- Planificar: revisando todo lo que fue desarrollado, realizar una evaluación y planificar la
siguiente actividad.
Ventajas
- El análisis del riesgo se hace de forma explícita 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.
- Además es posible tener en cuenta mejoras y nuevos requerimientos sin romper con la
metodología, ya que este ciclo de vida no es rígido ni estático.
Desventajas
- Genera mucho tiempo en el desarrollo del sistema
- Modelo costoso
- Requiere experiencia en la identificación de riesgos

DESARROLLO EN CASCADA
Características
- Ordena rigurosamente las etapas del ciclo de vida del software, de tal forma que el inicio de
cada etapa debe esperar a la finalización de la inmediatamente anterior.
- En el desarrollo en cascada utiliza las fases de: análisis de requisitos, diseño del Sistema,
diseño del Programa, codificación, pruebas, implantación, mantenimiento.
- Al detectar un error en cada fase o etapa conduce necesariamente al rediseño y nueva
programación del código afectado.
Fases identificadas
- Análisis de requisitos: se analizan las necesidades de los usuarios finales para determinar los
objetivos a cubrir.
- Diseño del Sistema: Se organiza el sistema en elementos o módulos, lo cual permite el
desarrollo en equipo. Se debe realizar el diseño arquitectónico y detallado.
- Diseño del Programa: donde se desarrolla los algoritmos necesarios para cubrir las
necesidades de los usuarios.
- Codificación: Implementación del código fuentes, donde se realiza el prototipo del sistema,
pruebas y ensayos.
- Pruebas: una vez que los elementos ya estén programados, se ensamblan para componer el
sistema y se comprueba que funcione correctamente y que cumpla con los requisitos, antes de
ser entregado al usuario final.
- Implantación: en donde el usuario final ejecuta el sistema, esto debe estar previamente
realizado exhaustivas pruebas para comprobar que el sistema no falle
- Mantenimiento: se estima que corresponde a un 75% de los recursos, es el mantenimiento del
Software ya que al utilizarlo como usuario final puede ser que no cumpla con todas nuestras
expectativas.
Ventajas
- Se tiene todo bien organizado y no se mezclan las fases.
- Es perfecto para proyectos que son rígidos.
- Ideal para proyectos donde se especifiquen muy bien los requerimientos.
- Ideal para proyectos en que se conozca muy bien la herramienta a utilizar.
- Sumamente sencillo ya que sigue los pasos intuitivos necesarios a la hora de desarrollar el
Software.
Desventajas
- Difícilmente un cliente va a establecer al principio todos los requerimientos necesarios, por lo
que provoca un gran atraso trabajando en este modelo, ya que este es muy restrictivo y no
permite movilizarse entre fases.
- Los resultados y/o mejoras no son visibles, el producto se ve recién cuando este esté
finalizado.
- En la vida real, un proyecto rara vez sigue una secuencia lineal, esto crea una mala
implementación del modelo, lo cual hace que lo lleve al fracaso.
- El proceso de creación del software tarda mucho tiempo ya que debe pasar por el proceso de
prueba y hasta que el software no esté completo no se opera.
- Cualquier error de diseño detectado en la etapa de prueba conduce necesariamente al
rediseño y nueva programación del código afectado
- Aumenta los costos del desarrollo.

PROCESO UNIFICADO DE RATIONAL RUP


Características
- Es la metodología estándar más utilizada para el análisis, implementación y documentación de
sistemas orientados a objetos.
- Es un conjunto de metodologías adaptables al contexto y necesidades de cada organización.
- Forma disciplinada de asignar tareas y responsabilidades (quién hace qué, cuándo y cómo)
- Pretende implementar las mejores prácticas en Ingeniería de Software
- Desarrollo iterativo
- Administración de requisitos
- Uso de arquitectura basada en componentes
- Control de cambios
- Modelado visual del software
- Verificación de la calidad del software
Fases identificadas
- El RUP comprende dos aspectos principales: 1. Proceso: Las etapas de esta sección son:
Modelado de negocio, Requisitos, Análisis y Diseño, Implementación, Pruebas, Despliegue; y 2.
Soporte: Gestión del cambio y configuraciones, Gestión del proyecto y Entorno.
- Fase de Inicio: se tiene que definir y acordar el alcance del proyecto con los patrocinadores,
identificar los riesgos asociados al proyecto, proponer una visión muy general de la
arquitectura de software y producir el plan de las fases y el de iteraciones posteriores.
- Fase de elaboración: Seleccionar los casos de uso que permiten definir la arquitectura base del
sistema y se desarrollaran en esta fase, se realiza la especificación de los casos de uso
seleccionados y el primer análisis del dominio del problema, se diseña la solución preliminar.
- Fase de Desarrollo: Completar la funcionalidad del sistema, para ello se deben clarificar los
requisitos pendientes, administrar los cambios de acuerdo a las evaluaciones realizados por
los usuarios y se realizan las mejoras para el proyecto.
- Fase de Cierre: Asegurar que el software esté disponible para los usuarios finales, ajustar los
errores y defectos encontrados en las pruebas de aceptación, capacitar a los usuarios y
proveer el soporte técnico necesario. Se debe verificar que el producto cumpla con las
especificaciones entregadas por las personas involucradas en el proyecto.
- En cada una de sus fases realiza una serie de artefactos: Inicio (Documento Visión,
Especificación de Requisitos); Elaboración: (Diagramas de caso de uso); Construcción:
(Documento Arquitectura que trabaja con las siguientes vistas: Vista Lógica, Diagrama de
clases, Modelo E-R, Vista de Implementación, Diagrama de Secuencia, Diagrama de estados,
Diagrama de Colaboración, Vista Conceptual, Modelo de dominio, Vista física, Mapa de
comportamiento a nivel de hardware)
VENTAJAS
- El proceso se adapta a las necesidades del cliente.
- Permite la entrega de los proyectos en etapas iteradas a fin de valorar el producto.
- El desarrollo de software no lo hace una única persona sino múltiples equipos lo cual se
necesita una comunicación fluida para coordinar requisitos, desarrollo, evaluaciones, planes,
resultados, etc.
- Control de calidad en cada proceso producido.
DESVENTAJAS
- Se debe equilibrar prioridades a fin de que satisfaga las necesidades y evitar desacuerdos que
surtan en el futuro.
- Dominio del uso de conceptos reutilizables, lenguajes 4GL, marcos de referencia, lenguaje
UML.
MICROSOFT SOLUTIONS FRAMEWORK MSF
Características
- Conjunto de principios, modelos, disciplinas, conceptos y directrices para la entrega de
tecnología de la información de las soluciones de Microsoft.
- MSF no solo se limita al desarrollo de aplicaciones, también es aplicable a otros proyectos
como, la creación de redes o proyectos de implementación de infraestructura.
- MSF no obliga al desarrollador a utilizar una determinada metodología.
- Se basa en ocho principios fundamentales, que forman la columna vertebral de los otros
modelos y disciplinas de MSF:
1. Fomentar la comunicación abierta
2. Trabajar para lograr una visión compartida
3. Empoderar a los miembros del equipo
4. Establecer la rendición de cuentas clara y la responsabilidad compartida
5. Centrarse en ofrecer valor empresarial
6. Manténgase ágil, esperar un cambio
7. Invertir en la calidad
8. Aprender de todas las experiencias
Fases identificadas
- Visión y Alcances: requisito principal para el éxito del proyecto, el equipo debe tener una
visión clara de lo que desea obtener (objetivos y metas)
- Planificación: El equipo prepara las especificaciones funcionales, realiza el proceso de diseño
de la solución, y prepara los planes de trabajo, estimaciones de costos y cronogramas de los
diferentes entregables del proyecto.
- Desarrollo: el equipo realizará la mayor parte de la construcción de los componentes (tanto
documentación como código), sin embargo, se puede realizar algún trabajo de desarrollo
durante la etapa de estabilización en respuesta a los resultados de las pruebas. La
infraestructura también es desarrollada durante esta fase.
- Estabilización: se conducen pruebas sobre la solución, las pruebas de esta etapa enfatizan el
uso y operación bajo condiciones realistas. El equipo se enfoca en priorizar y resolver errores y
preparar la solución para el lanzamiento
- Implantación: Durante esta fase el equipo implanta la tecnología base y los componentes
relacionados, estabiliza la instalación, traspasa el proyecto al personal soporte y operaciones,
y obtiene la aprobación final del cliente.
Ventajas
- Apropiado para entornos volátiles.
- Estar preparados para el cambio, significa reducir su coste.
- Planificación más transparente para nuestros clientes, conocen las fechas de entrega de
funcionalidades. Vital para su negocio.
- Permitirá definir en cada iteración cuales son los objetivos de la siguiente fase.
- Permite tener realimentación de los usuarios muy útil.
- La presión esta a lo largo de todo el proyecto y no en una entrega final.
Desventajas
- Delimitar el alcance del proyecto con nuestro cliente.
- Para mitigar esta desventaja se plantea definir un alcance a alto nivel basado en la
experiencia.

Você também pode gostar