Beruflich Dokumente
Kultur Dokumente
VisionDevelop a Vision
PlanManage to the Plan
RisksMitigate Risks and Track Related Issues
Business CaseExamine the Business Case
ArchitectureDesign a Component Architecture
PrototypeIncrementally Build and Test the Product
EvaluationRegularly Assess Results
Change RequestsManage and Control Changes
User SupportDeploy a Usable Product
ProcessAdopt a Process that Fits Your Project
RUP y su estructura
El proceso se describe en dos dimensiones o dos ejes: El eje horizontal representa tiempo y muestra el aspecto
dinmico del proceso, expresado en trminos de ciclos, fases, iteraciones, y metas. El eje vertical representa el
aspecto esttico del proceso como est descrito en trminos de actividades, artefactos, trabajadores y flujos de
trabajo.
Iteraciones
Cada fase en RUP puede descomponerse en iteraciones. Una iteracin es un ciclo de desarrollo completo que
produce como resultado una entrega de producto ejecutable.
- Fusion: Esta metodologa proviene de HewlettPackard (D. Coleman, 1994). Se conoce con el
nombre de metodologa de segunda generacin, ya que esta basada en las experiencias de muchas de
las metodologas iniciales. Fusion ha mejorado muchas de las ideas previas e incluye las tcnicas para
la especificacin de operaciones y la interaccin entre objetos. La metodologa tiene un gran nmero
de diagramas de modelos.
- CoadlYourdon: La metodologa Coad/Yourdon, tambin conocida como OOAJOOD, fue uno de los
primeros mtodos utilizados para el diseo y anlisis orientado a objetos. La metodologa era bastante
simple y fcil de aprender y, como tal, funcionaba bien para iniciar a los novatos en las ideas y
terminologas de la tecnologa orientada a objetos. Sin embargo, la flotacin y metodologa no podan
aumentarse a una escala mayor, sino que funcionaban tan slo con sistemas muy limitados. En
consecuencia, esta metodologa es raramente utilizada hoy en da.
Cada una de estas metodologas tenan sus propias notaciones (los smbolos usados para dibujar los
modelos orientado a objetos), procesos (qu actividades realizar en las distintas etapas de desarrollo),
y herramientas (las herramientas CASE que soporten la flotacin y proceso). Esto hace que la eleccin
de una metodologa sea una decisin bastante importante, y frecuentemente lleva a discusiones
acaloradas y debates sobre qu metodologa es la mejor, ms avanzada, y la correcta para
utilizarse en un proyecto especfico. Y, con estetipo de discusiones, raramente haba una buena
respuesta, ya que todas las metodologas tenan sus propias fortalezas y debilidades. Los
desarrolladores con experiencia frecuentemente tomaban una metodologa como base, y luego
ESTANDARIZACIN OMG
Cuando comenz el trabajo con UML, ste pretenda establecerse por s mismo como el estndar de
facto, lo cual significa que a travs del uso prctico por parte de los desarrolladores podra ser
reconocido como el principal lenguaje de modelamiento. Sin embargo, cuando OMG requiri un
lenguaje de modelamiento UML se dieron cuenta de que podan hacer de l un una mayor demanda
de una definicin ms formal y estndar, los desarrolladores de estndar formal. Ello dio lugar a
precisa del UML y mejora de la calidad del lenguaje. Una estandarizacin formal es importante para
muchas de las industrias antes de aventurarse a usar una nueva tecnologa. OMG decidi usar UML
como su estndar y est trabajando en los detalles finales de la especificacin. URL: www.omg.org
REVISIN DE UML
El Lenguaje de Modelamiento Unificado tiene un gran campo de accin. Puede ser usado para el
modelamiento de negocios, modelamiento de software en todas las fases de desarrollo y para todo
tipo de sistemas, y modelamiento general de cualquier tipo de construccin que tenga tanto una
estructura esttica como un comportamiento dinmico. Para poder alcanzar estas capacidades, el
lenguaje se define para que sea lo suficientemente extenso y genrico para permitir el modelamiento
de tanta diversidad de sistemas, evitando la extrema especializacin y complejidad.
La revisin describe las diferentes partes del UML:
VISTAS
Modelar un sistema complejo es una tarea extensa. Un grfico simple no puede capturar toda la
informacin necesaria para definir un sistema. Un sistema se describe con un nmero de aspectos
diferentes: funcional (su estructura esttica e interacciones dinmicas), no funcional (requerimientos
oportunos, confiabilidad, implementacin, etc.), y aspectos organizacionales (organizacin del
trabajo, elaboracin de mdulos de cdigo, etc.).
Por lo tanto, un sistema se describe en una serie de vistas, en las que cada una representa una
proyeccin de la descripcin del sistema completo y muestra un aspecto en particular del sistema.
Cada vista se describe con una serie de diagramas que contienen informacin que enfatizan un
aspecto en particular del sistema. En parte hay cierta concurrencia, de tal forma que un diagrama
puede realmente ser parte de ms de una vista. Observando el sistema desde diferentes vistas, es
posible concentrarse en un aspecto del sistema a la vez. Un diagrama en una vista en particular debera
ser lo suficientemente simple para ser fcilmente comunicado, ms an que sea coherente con los
otros diagramas y vistas, de tal forma que la figura completa del sistema sea descrita por todas las
vistas juntas (a travs de sus respectivos diagramas).
Vista Lgica
La vista lgica describe como la funcionalidad se provee. Es principalmente para diseadores y
desarrolladores. En contraste con la vista de casos de uso, la vista lgica se enfoca en el interior del
sistema. Describe tanto la estructura esttica (clases, objetos, y relaciones) como las colaboraciones
dinmicas que ocurren cuando, entre los objetos, se envan mensajes para proveer una determinada
funcin. Las propiedades tales como persistencia y concurrencias tambin son definidas, as mismo
las interfaces y la estructura interna de clases. La estructura esttica se describe en diagramas de
objetos y clases. El modelamiento dinmico se describe en diagramas de actividades, colaboracin,
secuencia y estado.
Vista de Componentes
La vista de componentes es una descripcin de los mdulos de implementacin y sus dependencias.
Es principalmente para los desarrolladores. Los componentes son diferentes tipos de mdulos de
cdigo fuente, binario o ejecutable. Estos se muestran con sus respectivas estructuras y dependencias.
Informacin adicional acerca de los componentes, tales como asignacin de recursos (responsabilidad
para un componente), u otra informacin administrativa, como un reporte de progreso para el trabajo
de desarrollo, tambin pueden ser incluidos.
Vista de Proceso
La vista de proceso tiene que ver con la divisin del sistema en procesos y procesadores. Este aspecto,
el cual es una propiedad no funcional del sistema, permite un uso de recursos eficiente, la ejecucin
en paralelo y la manipulacin de eventos asncronos desde el entorno. Detrs de la divisin del
sistema, en hilos concurrentes de control ejecutables, la vista debe tambin resolver la comunicacin
y sincronizacin de estos hilos. La vista de proceso es para los desarrolladores e integradores del
sistema y consiste de diagramas dinmicos (estado, secuencia, colaboracin, y diagramas de
actividades).
Vista de Despliegue
Muestra el despliegue fsico del sistema, tales como computadoras y dispositivos (nodos) y como se
conectan entre ellos. La vista de despliegue es para los desarrolladores, integradores, y evaluadores.
Se representa con el diagrama de despliegue. Esta vista tambin incluye una relacin que muestra
cmo los componentes son implementados en la arquitectura fsica; por ejemplo, qu objetos se
ejecutan en sus respectivas computadoras.
DIAGRAMAS
Los diagramas son los grficos que realmente muestran los smbolos del modelo para ilustrar aspectos
o particularidades del sistema. Un modelo de sistema tpicamente tiene varios diagramas de cada tipo.
Un diagrama es parte de una vista especfica; y cuando es dibujado, es usualmente asignado a una
vista. Algunos tipos de diagrama pueden ser parte de varias vistas, dependiendo de los contenidos del
diagrama.
A continuacin, se describirn los conceptos bsicos detrs de cada diagrama. Todos los detalles
referentes a los diagramas, su sintaxis, su significado exacto y cmo interactan se describirn a lo
largo de los captulos del curso.
Diagrama de Clases
Un diagrama de clases muestra la estructura esttica de las clases en el sistema. Las clases representan
las cosas que son manipuladas en el sistema. Las clases pueden estar relacionadas entre ellas en
distintas formas: asociada (conectada entre ellas), dependiente (una clase depende / usa otra clase),
especializada (una clase es una especializacin de otra clase) o empaquetada (agrupada como una
unidad). Todas estas relaciones se muestran en un diagrama de clases junto con la estructura interna
de las clases en trminos de atributos y operaciones. El diagrama es considerado esttico cuando la
estructura descrita es siempre vlida en cualquier punto del ciclo de vida del sistema. Un sistema
tpicamente tiene un determinado nmero de diagramas de clases, no todas las clases se insertan en
un nico diagrama de clases, y una clase puede participar en varios diagramas de clases.
Diagrama de Estados
Un diagrama de estados es tpicamente un complemento de la descripcin de una clase. Muestra
todos los posibles estados que los objetos de una clase pueden tener, y qu eventos provocan el
cambio de estado. Un evento puede ser otro objeto que le enva un mensaje, por ejemplo, que un
determinado tiempo ha transcurrido, o que alguna condicin se ha cumplido. Un cambio de estado se
llama transicin. Una transicin tambin puede tener una accin asociada a ella que especfica qu se
debera hacer con relacin a la transicin de estado. Los diagramas de estado no se hacen para todas
las clases, es slo para aquellas que tengan un nmero de estados bien definidos y en donde el
comportamiento de la clase es afectado y cambiado por los distintos estados. Los diagramas de estado
tambin pueden ser hechos para todo el sistema en su totalidad.
Diagramas de Colaboracin
Un diagrama de colaboracin muestra una colaboracin dinmica, as como lo hace un diagrama de
secuencia. Frecuentemente queda a criterio del usuario mostrar la colaboracin ya sea en un diagrama
de secuencias o como un diagrama de colaboracin. Adems de mostrar el intercambio de mensajes
(interaccin), el diagrama de colaboracin muestra a los objetos y sus relaciones (algunas veces
referidas como el contexto). Ya sea que use un diagrama de secuencias o un diagrama de colaboracin,
frecuentemente, se puede decidir por lo siguiente: Si el aspecto ms importante de enfatizar es el
tiempo o secuencia, escoja el diagrama de secuencias; en cambio, si importa enfatizar el contexto,
escoja el diagrama de colaboracin. La interaccin entre los objetos se muestra en ambos diagramas.
Los diagramas de colaboracin se muestran como diagramas de objetos, donde un nmero
determinado de objetos se muestran junto con sus relaciones (al usar la notacin del diagrama de
clases / objetos). Las flechas que representan mensajes se dibujan entre los objetos para mostrar el
flujo de mensajes entre los objetos. Los mensajes son rotulados, los cuales entre otras cosas, muestran
el orden en el cual los mensajes son enviados. Esto tambin puede mostrar condiciones, iteraciones,
valores de retorno, etc. Una vez que un desarrollador est familiarizado con la sintaxis de rotular
mensajes, puede leer la colaboracin, y seguir el flujo de ejecucin y el intercambio de mensajes. Un
diagrama de colaboracin tambin puede contener objetos activos, aquellos que se ejecutan en forma
concurrente con otros objetos.
Diagrama de Actividades
Un diagrama de actividades muestra un flujo de secuencias de actividades. El diagrama de actividades
es tpicamente utilizado para describir las actividades ejecutadas en una operacin, aunque tambin
puede ser empleado para describir otros flujos de actividades, como un caso de uso o una interaccin.
El diagrama de actividades consiste en estados de acciones, el cual contiene. una especificacin de
una actividad a ser ejecutada (una accin). Un estado de accin dejar el estado cuando la accin ha
sido realizada (un estado en un diagrama de estados necesita de un evento explcito antes de dejar el
estado). Por lo tanto, el control fluye entre los estados de accin, los cuales estn conectados unos
con otros. Las decisiones y condiciones, as como tambin la ejecucin paralela de estados de accin,
tambin pueden ser mostradas en el diagrama. El diagrama tambin puede contener especificaciones
de mensajes que son enviados o recibidos como parte de las acciones realizadas.
Diagrama de Componentes
Un diagrama de componentes muestra la estructura fsica del cdigo en trminos de componentes de
cdigo. Un componente puede ser un componente de cdigo fuente, binario, o ejecutable. Un
componente contiene informacin sobre las clases lgicas o clases que implementa: por lo tanto. crea
una relacin entre la vista lgica y la vista de componentes. La dependencia entre los componentes
se muestra y se hace ms fcil analizar cmo otros componentes se ven afectados por cambios en un
componente. Los componentes tambin se pueden mostrar con cualquiera de las interfaces que
exponen, corno as interfaces OLE/COM; adems, pueden ser agrupadas en paquetes.
Diagrama de Despliegue
El diagrama de despliegue muestra la arquitectura fsica de hardware y software en el sistema. Puede
mostrar las computadoras y dispositivos reales (nodos) junto con las conexiones que presentan entre
ellos; tambin, puede mostrar el tipo de conexiones. Dentro de los nodos, los componentes
ejecutables y objetos son ubicados con el fin de mostrar qu unidades de software se ejecutan en
determinados nodos. Tambin puede mostrar las dependencias entre los componentes. Como hemos
dicho anteriormente, el diagrama de despliegue, mostrado en la vista de despliegue, describe la
arquitectura fsica actual del sistema. Esto es ms que la descripcin funcional en la vista de casos de
usos.