Proceso de
desarrollo de software
Un proceso define quien está haciendo que, cuando, y como
alcanzar un determinado objetivo. En la Ingeniería del
Software el objetivo es construir un producto
software o mejorar uno existente. Un proceso efectivo proporciona normas para
el desarrollo eficiente de software de calidad. Captura y presenta las mejores prácticas
que el estado actual de la tecnología permite. En consecuencia, reduce el
riesgo y hace el proyecto más predecible.
Un proceso de desarrollo de software tiene como propósito la producción eficaz y
eficiente de un producto software que reúna los requisitos del cliente.
Hay varios modelos a
seguir para el establecimiento de un proceso para el desarrollo de software,
cada uno de los cuales describe un enfoque diferente para diferentes
actividades que tienen lugar durante el proceso.
Existen diferentes metodologías para llevar a cabo un proceso
de desarrollo de software, las más utilizadas son RUP y ICONIX.
METODOLOGÍA RUP
El Proceso Unificado Racional,
Rational Unified Process en inglés, y sus siglas RUP, es un proceso de
desarrollo de software y junto con el Lenguaje Unificado de Modelado UML,
constituye la metodología estándar más utilizada para el análisis,
implementación y documentación de sistemas orientados a objetos. El RUP no es
un sistema con pasos firmemente establecidos, sino que trata de un conjunto de
metodologías adaptables al contexto y necesidades de cada organización, donde
el software es organizado como una colección de unidades atómicas llamados
objetos, constituidos por datos y funciones, que interactúan entre sí.
RUP es
un proceso para el desarrollo de un proyecto de un software que define
claramente quien, cómo, cuándo y qué debe hacerse en el proyecto. El RUP
es un producto de Rational (IBM). Se caracteriza por ser iterativo e
incremental, estar centrado en la arquitectura y guiado por los casos de uso.
Incluye artefactos (que son los productos tangibles del proceso como por
ejemplo, el modelo de casos de uso, el
código fuente, etc.) y roles (papel que desempeña una persona en un determinado
momento, una persona puede desempeñar distintos roles a lo largo del proceso).
Características:
§
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
§
Control de cambios
§
Modelado visual del software
§
Verificación de la calidad del software
Fases
- Inicio (también
llamado Incepción o Concepción).
- Elaboración.
- Desarrollo (también
llamado Implementación, Construcción).
- Cierre (también
llamado Transición).
Fase de
Inicio: Esta fase tiene como propósito 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: En la fase de elaboración se seleccionan 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: El propósito de esta fase es 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: (debe decir FASE DE TRANSICION) El propósito de esta fase es 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.
METODOLOGÍA ICINIX
El proceso ICONIX es un proceso de
modelado de objetos, basado en casos de uso. Toma ideas de otros modelos como
el Proceso Unificado de Rational (RUP), Programación Extrema (XP),Desarrollo
Ágil de Software, aunque presenta algunas diferencias: es más liviano que el
RUP porque utiliza solo cuatro diagramas del UML y, a diferencia del XP y el
desarrollo ágil, provee de suficiente documentación de requerimientos y de
diseño.
Características:
·
Iterativo
e incremental: Suceden iteraciones
entre el desarrollo de modelo del dominio y la identificación de los casos de
uso. El modelo estático es incrementalmente refinado por los modelos dinámicos.
·
Trazabilidad: Cada paso está referenciado por algún requisito. Se
debe considerar a la trazabilidad como la capacidad de seguir una relación
entre los diferentes artefactos producidos.
·
Dinámica del
UML: Uso dinámico de UML en los diagramas de caso de uso, diagramas de
secuencia y de colaboración.
Faces
·
· Análisis
de requisitos
·
1) Modelo
de dominio
·
2) Prototipación
rápida
·
3) Modelo
de casos de uso
·
· Análisis
y diseño preliminar
·
1) Descripción
de casos de uso
·
2) Diagrama
de robustez
·
· Diseño
·
1) Diagrama
de secuencia
·
2) Completar
el modelo estático
·
· Implementación
·
1) Utilizar
un diagrama de componentes
·
2) Escribir
/ Generar código
·
3) Realización
de pruebas
No hay comentarios:
Publicar un comentario