Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Morales
Análisis y diseño orientado a objetos
La habilidad más importante en el análisis y diseño orientado a objetos es asignar
eficientemente las responsabilidades a los componentes de software.
En segundo lugar aparece la determinación de las clases de objetos.
Para definir las clases de objetos se deben contestar dos preguntas: ¿cómo se conectan
unos objetos a otros? y ¿cuáles son los métodos de cada clase?. Un diagrama de diseño
de clases contesta estas preguntas. El siguiente es un ejemplo del diagrama de diseño de
clases del juego de dados.
• Fase de inicio
• Fase de elaboración
• Fase de construcción
• Fase de transición
Cada fase constituye un eslabón bien definido, un punto en el tiempo en el cual ciertas
decisiones críticas deben tomarse, y por lo tanto afinar metas, las que deben haber sido
alcanzadas.
Fase de inicio
Durante la fase del inicio, se establece el caso de negocio para el sistema y delimita el
alcance del proyecto. Para lograr esto debe identificar todas las entidades externas con
las cuales el sistema interactúe (los actores) y definir la naturaleza de esta interacción a
un nivel alto. Esto implica identificar todos los casos de uso y describir sólo los más
significativos. El caso de negocio incluye criterios de éxito, la evaluación de riesgos, y
la estimación de los recursos necesarios, y un plan de la fase que muestre las fechas
previstas e hitos importantes.
Fase de elaboración
El propósito de la fase de elaboración es analizar el dominio del problema, establecer
una fundación arquitectónica sana, desarrollar el plan del proyecto, y eliminar los
elementos del riesgo más alto del proyecto. Para lograr estos objetivos, usted debe tener
una visión completa del sistema. Las decisiones arquitectónicas tienen que tomarse con
una comprensión cabal del sistema: su alcance, funcionalidad importante y
requerimientos no funcionales tales como requerimientos de performance.
Es fácil argumentar que la fase de elaboración es la más crítica de las cuatro fases. En el
final de esta fase, la “ingeniería dura” se considera completa y el proyecto experimenta
su día más importante: la decisión sobre si o no confiar en las fases de la construcción y
de la transición. Para la mayoría de los proyectos, esto también corresponde a la
transición de una fase de operatoria móvil, ligera y ágil, poco arriesgada, a una de alto-
costo, riesgo elevado con una inercia substancial. Mientras que el proceso siempre debe
acomodarse a los cambios, las actividades de la fase de elaboración aseguran que la
arquitectura, los requerimientos y los planes sean bastante estables, y que los riesgos se
atenúan lo suficiente, así usted puede determinar el costo y fecha de terminación del
desarrollo en forma bastante certera.
Durante fase de elaboración, se construye un prototipo ejecutable de la arquitectura en
unas o más iteraciones, dependiendo del alcance, del tamaño, del riesgo, y de la
novedad del proyecto. Este prototipo debe tratar por lo menos los casos de uso más
críticos identificados en la fase del inicio, que exponen típicamente los mayores riesgos
técnicos del proyecto. Mientras que un prototipo evolutivo de un componente de calidad
es siempre la meta, no excluye el desarrollo de unos o más prototipos exploratorios,
desechables, para atenuar riesgos específicos.
La fase de la construcción
Durante la fase de la construcción, todos los componentes y características restantes se
desarrollan, se integran en el producto, y se prueban a fondo. La fase de la construcción
es, en cierto sentido, un proceso de fabricación donde el énfasis se pone en manejar los
recursos y controlar las operaciones para optimizar costos, tiempos y calidad. Una
arquitectura robusta y un plan comprensible están íntimamente relacionados. Es decir,
una de las cualidades críticas de la arquitectura es su facilidad de la construcción. Ésta
es una razón por la que durante la fase de elaboración se pone el énfasis en el desarrollo
equilibrado de la arquitectura y del plan.
Fase de la transición
El propósito de la fase de la transición es justamente la transición del producto de
software al ambiente de producción. Una vez que el producto se haya entregado al
usuario final, surgen algunos temas que llevan al desarrollo de nuevas versiones, a
corregir errores, o a terminar algunas características que habían sido pospuestas.
Se ingresa a esta fase cuando el producto está lo suficientemente maduro para comenzar
a pasar a producción. Esto requiere que un cierto subconjunto del sistema se encuentre
en un nivel aceptable de la calidad y que la documentación del usuario está disponible
de modo que la transición proporcione resultados positivos para todas las partes. Esto
incluye:
• La “prueba beta” para validar el nuevo sistema contra las expectativas del usuario
• Operación en paralelo con un sistema anterior que el nuevo sistema esté
sustituyendo
• La conversión de las bases de datos operacionales
• Entrenamientos y capacitación de los usuarios y la gente de mantenimiento
• Lanzar el producto a los equipos de marketing, distribución y ventas
La fase de transición se centra en las actividades requeridas para poner el software en
manos de los usuarios. Típicamente, esta fase incluye varias iteraciones, incluyendo
lanzamientos beta, lanzamientos de disponibilidad general, así como la reparación de
errores y el lanzamiento de versiones mejoradas. Un esfuerzo considerable se realiza en
la documentación orientada al usuario final, en entrenar a los mismos, en brindar apoyo
en las primeras etapas del uso, y en reaccionar al feedback que generen los mismos
usuarios. En este punto del ciclo de vida, sin embargo, el feedback del usuario se debe
centrar sobre todo en el ajuste fino del producto, la configuración, instalación, y a las
cuestiones de usabilidad.
Esta fase puede variar -según el proyecto- de ser muy simple a muy compleja. Por
ejemplo una nueva versión de un procesador de texto puede ser muy simple, mientras
que substituir el sistema de control de tráfico aéreo de un país sería muy complejo.
Iteraciones
Cada fase de RUP puede descomponerse en una o más iteraciones. Una iteración es un
ciclo completo de desarrollo que resulta en una versión o release (interno o externo) de
un producto ejecutable, un subconjunto del producto final que se encuentra bajo
desarrollo y que crece incrementalmente en cada iteración hasta llegar al producto final.