Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Centrado en la Arquitectura
La arquitectura de un sistema software se describe mediante diferentes vistas del sistema
en construccin, incluye los aspectos estticos y dinmicos ms significativos del sistema.
Dejando los detalles de lado.
Arquitectura: Conjunto de decisiones significativas acerca de la organizacin de un
sistema sw, la seleccin de los elementos estructurales a partir de los cuales se compone
el sistema, las interfaces entre ellos, su comportamiento, sus colaboraciones, y su
composicin, el arquitecto:
Crea un esquema en borrador comenzando por la plataforma, a continuacin, trabaja con
un conjunto de casos de uso claves. Cada caso de uso es especificado en detalle y
realizado en trminos de subsistemas, clases, y componentes. A medida que se descubre
ms de la arquitectura los casos de uso se especifican y maduran.
Este proceso contina hasta que se considere que la arquitectura es estable.
Iterativo e Incremental
Es dividir el esfuerzo de desarrollo de un proyecto de software en partes ms pequeas o
mini proyectos.
Cada mini proyecto es una iteracin que resulta en un incremento.
Las iteraciones hacen referencia a pasos en el flujo de trabajo.
Los incrementos a crecimientos en el producto.
Las iteraciones deben estar controladas.
Este control se basa en dos cosas: el conjunto de casos de uso que amplan la
funcionalidad, y en los riesgos importantes que deben mitigarse.
En cada iteracin se identifican y especifican los casos de uso relevantes, crean un
diseo utilizando la arquitectura seleccionada como gua, para implementar dichos casos
de uso. Si la iteracin cumple sus objetivos, se contina con la prxima. Sino deben
revisarse las decisiones previas y probar un nuevo enfoque.
Disciplinas
Cada disciplina es un conjunto de actividades relacionadas (flujos de trabajo) vinculadas a
un rea especfica dentro del proyecto total. Las ms importantes son: Requerimientos,
Anlisis, Diseo, Codificacin, y Prueba.
Cada disciplina est asociada con un conjunto de modelos que se desarrollan. Estos
modelos estn compuestos por artefactos. Los artefactos ms importantes son los
modelos que cada disciplina realiza: modelo de casos de uso, modelo de diseo, modelo
de implementacin, y modelo de prueba.
El Proceso Unificado consiste en una serie de disciplinas o flujos de trabajo.
Disciplina
Requisitos
Anlisis
Diseo
Implementacin
Prueba
Hitos
Cada fase finaliza con un hito. Cada hito se determina por la disponibilidad de un conjunto
de artefactos, es decir un conjunto de modelos o documentos que han sido desarrollados
hasta alcanzar un estado predefinido.
Los hitos tienen muchos objetivos. El ms crtico es que los directores deben tomar
ciertas decisiones antes de que el trabajo contine con la siguiente fase, permiten
controlar la direccin y progreso del trabajo.
Al final se obtiene un conjunto de datos a partir del seguimiento del tiempo y esfuerzo
consumidos en cada fase. Estos datos son tiles para las estimaciones en futuros
proyectos.
Fase de Inicio
Durante la fase de inicio se desarrolla una descripcin del producto final, y se presenta el
anlisis del negocio. Se responde las siguientes preguntas:
Cules son las principales funciones del sistema para los usuarios mas importantes?
Cmo podra ser la mejor arquitectura del sistema?
Cul es el plan del proyecto y cuanto costar desarrollar el producto?
Fase de Elaboracin
Se especifican en detalle la mayora de los casos de uso del producto y se disea la
arquitectura.
En esta fase las iteraciones Establecen una firme comprensin del problema a solucionar,
la fundacin arquitectural para el software, un plan detallado para las siguientes
iteraciones y elimina los mayores riesgos.
El resultado de esta fase es la lnea base de la arquitectura.
Esta fase se construye por los siguientes artefactos:
- El cuerpo bsico del sw en la forma de un prototipo arquitectural.
- Casos de prueba
- La mayora de los casos de uso (80%) que describen la funcionalidad del sistema.
- Un plan detallado para las siguientes iteraciones.
La fase de elaboracin finaliza con el hito de la Arquitectura del Ciclo de Vida.
Este hito se alcanza cuando el equipo de desarrollo y los stakeholders llegan a un
acuerdo sobre:
- Los casos de uso que describen la funcionalidad del sistema.
- La lnea base de la arquitectura
- Los mayores riesgos han sido mitigados
- El plan del proyecto
Fase de Construccin
Durante la fase de construccin se crea el producto. La lnea base de la arquitectura crece
hasta convertirse en el sistema completo.
Al final de esta fase, el producto contiene todos los casos de uso implementados, sin
embargo puede que no este libre de defectos.
Los artefactos producidos durante esta fase son:
- El sistema software
- Los casos de prueba
- Los manuales de usuario
La fase de construccin finaliza con el hito de Capacidad Operativa Inicial.
Este hito se alcanza cuando el equipo de desarrollo y los stakeholders llegan a un
acuerdo sobre:
- El producto es estable para ser usado
- El producto provee alguna funcionalidad de valor
- Todas las partes estn listas para comenzar la transicin
Fase de Transicin
Esta fase cubre el perodo durante el cual el producto se convierte en la versin beta.
Las iteraciones en esta fase continan agregando caractersticas al sw. Sin embargo las
caractersticas se agregan a un sistema que el usuario se encuentra utilizando
activamente.
Los artefactos construidos en esta fase son los mismos que en la fase de construccin. El
equipo se encuentra ocupado fundamentalmente en corregir y extender la funcionalidad
del sistema desarrollado en la fase anterior.
La fase de transicin finaliza con el hito de Lanzamiento del Producto. Este hito se
alcanza cuando el equipo de desarrollo y los stakeholders llegan a un acuerdo sobre:
- Se han alcanzado los objetivos fijados en la fase de Inicio.
- El usuario est satisfecho.
Para cada caso de uso debe especificarse sus caminos o secuencias de acciones
posibles. Los casos de uso se utilizan como contenedores para los requisitos no
funcionales.
Creacin del modelo de anlisis a partir de los casos de uso. El modelo del anlisis
es opcional. Se describen conjunto de Clases del Anlisis que se utilizan para realizar
una descripcin abstracta de la realizacin de los casos de uso del modelo de casos de
uso. El modelo de anlisis crece incrementalmente a medida que se analizan ms y ms
casos de uso. En cada iteracin Construimos el sistema como una estructura de
clasificadores (clases del anlisis) y relaciones entre ellas. Tambin describimos las
realizaciones de los casos de uso. Durante el Anlisis se utilizan diagramas de
colaboracin para describir la realizacin de un caso de uso. Cada clase debe cumplir sus
roles de colaboracin: las responsabilidades de una clase es la recopilacin de los roles
que cumple las realizaciones de casos de uso. Juntndolas y eliminando repeticiones
entre los roles, obtenemos una especificacin de responsabilidades y atributos de la
clase.
Creacin del modelo de diseo a partir del modelo de anlisis. Se crea tomando el
modelo de anlisis como entrada principal se lo adapta a un entorno de implementacin
particular. Esta adaptacin incluye considerar adecuaciones a un framework de
construccin de GUI particular, uso de un ORB, frameworks, sistemas heredados, etc. El
modelo de diseo similar al modelo de anlisis ya que incluye clasificadores, relaciones, y
realizaciones de casos de uso, y existe una relacin de traza entre los artefactos del
diseo y los del anlisis, pero mientras estos ltimos son conceptuales, los del diseo
deben adecuarse al entorno de implementacin especfico.
La mayora de las clases de diseo normalmente tienen una sola traza a una clase de
anlisis. Debemos identificar la interaccin detallada entre los objetos de diseo que tiene
lugar en la realizacin del caso de uso en el modelo del diseo. En el diseo utilizaremos
diagramas de secuencia para representar esta interaccin.
Agrupacin de clases en subsistemas Las clases se agrupan en subsistemas.
Subsistema es un agrupamiento til de clases o de subsistemas. Los subsistemas de bajo
nivel se denominan subsistemas de servicio, constituyen una unidad manejable de
funcionalidad opcional. Los subsistemas pueden disearse en forma descendente o
ascendente. Ascendente se realiza a partir de la agrupacin de clases ya identificadas. Se
proponen subsistemas que empaquetan clases en unidades claramente definidas.
Descendente, implica la definicin previa por parte del arquitecto de los subsistemas de
ms alto nivel y las interfaces entre ellos, antes de que se hayan identificado las clases.
La ventaja de colocar todas las clases de interfaz en un subsistema permite reemplazar el
subsistema completo para adecuarlo a otra interfaz sin mayores cambios en el resto del
sistema. Los subsistemas implementan interfaces se representa por un crculo vinculado
con una lnea de trazo continuo a la clase dentro del subsistema que proporciona la
interfaz. Una lnea de trazo discontinuo de una clase a una interfaz representa que la
clase usa la interfaz.
Creacin del modelo de implementacin a partir del modelo de diseo formado por
componentes, que incluyen todos los ejecutables (Ej. ActiveX, JavaBeans, .exe),
componentes de fichero (cdigo fuente, shell scripts, etc.), componentes de tabla
(elementos de base de datos), etc. Un componente es una parte fsica y reemplazable del
sistema que cumple y proporciona la realizacin de un conjunto de interfaces.
Prueba de casos de uso verificamos que el sistema implementa correctamente su
especificacin. El modelo de prueba est compuesto por: casos de prueba y
procedimientos de prueba. Caso de prueba conjunto de entradas de prueba, condiciones
de ejecucin, y resultados esperados, desarrollados para un objetivo concreto, tal como
probar un camino concreto a travs de un caso de uso, o verificar que se cumple un
requisito especfico. Procedimiento de prueba especificacin de cmo llevar a cabo la