PROCESO UNIFICADO DE DESARROLLO DE
SOFTWARE
Taller: Taller de Modelamiento de Software
1
Definición.
Es una metodología de desarrollo de
software que está basado en componentes e interfaces bien definidas y junto con el Lenguaje Unificado de
Modelado (UML), contribuye la metodología estándar más utilizada para el análisis,
implementación y documentación de sistemas orientados a objetos.
Es un proceso que puede especializarse
para una gran variedad de sistemas de software, en diferentes áreas de aplicación,
diferentes equipos de organización, diferentes niveles de amplitud y diferentes
tamaños de proyecto.
1
Un poco de historia
Los
orígenes de RUP se
remontan al modelo espiral original de Barry Boehm. Ken Hartman, uno de los
contribuidores claves de RUP colaboró con Boehm en la investigación. En 1995 Rational Software
compró una compañía sueca llamada Objectory AB, fundada por Ivar Jacobson,
famoso por haber incorporado los casos de uso a los métodos de desarrollo
orientados a objetos.
El
Rational Unified Process fue el resultado de una convergencia de Rational
Approach y Objectory (el proceso de la empresa Objectory AB). El primer
resultado de esta fusión fue el Rational Objectory Process, la primera versión
de RUP, fue puesta en el mercado en 1998, siendo el arquitecto en jefe Philippe Kruchten.
2
Principales Elementos
Como
RUP es un proceso, en su modelación define como sus principales elementos:
·
Trabajadores (“quién”): Define el comportamiento y
responsabilidades (rol) de un individuo, grupo de individuos, sistema
automatizado o máquina, que trabajan en conjunto como un equipo. Ellos realizan
las actividades y son propietarios de elementos.
·
Actividades (“cómo”): Es una tarea que tiene un
propósito claro, es realizada por un trabajador y manipula elementos.
·
Artefactos (“qué”): Productos tangibles del proyecto que son
producidos, modificados y usados por las actividades. Pueden ser modelos,
elementos dentro del modelo, código fuente y ejecutables.
·
Flujo de actividades (“cuándo”): Secuencia de actividades realizadas por
trabajadores y que produce un resultado de valor observable.
3
Características Principales de RUP
Ø
Unifica
los mejores elementos de metodologías anteriores.
Ø
Preparado
para desarrollar grandes y complejos proyectos.
Ø
Orientado
a Objetos.
Ø
Utiliza
el UML como lenguaje de representación visual.
4
Principales ventajas
Ø
Coste
del riesgo a un solo incremento.
Ø
Reduce
el riesgo de no sacar el producto en el calendario previsto.
Ø
Acelera
el ritmo de desarrollo.
Ø
Se
adapta mejor a las necesidades del cliente.
5
Ciclo de vida de RUP
El
ciclo de vida de RUP se caracteriza por:
v Dirigido
por casos de uso: Los
casos de uso reflejan lo que los usuarios futuros necesitan y desean, lo cual
se capta cuando se modela el negocio y se representa a través de los
requerimientos. A partir de aquí los casos de uso guían el proceso de
desarrollo ya que los modelos que se obtienen, como resultado de los diferentes
flujos de trabajo, representan la realización de los casos de uso (cómo se
llevan a cabo).
v Centrado
en la arquitectura: La
arquitectura muestra la visión común del sistema completo en la que el equipo
de proyecto y los usuarios deben estar de acuerdo, por lo que describe los
elementos del modelo que son más importantes para su construcción, los
cimientos del sistema que son necesarios como base para comprenderlo,
desarrollarlo y producirlo económicamente. RUP se desarrolla mediante
iteraciones, comenzando por los CU relevantes desde el punto de vista de la
arquitectura. El modelo de arquitectura se representa a través de vistas en las
que se incluyen los diagramas de UML.
v Iterativo
e Incremental: Una
iteración involucra actividades de todos los flujos de trabajo, aunque
desarrolla fundamentalmente algunos más que otros.
Por
ejemplo, una iteración de elaboración centra su atención en el análisis y
diseño, aunque refina los requerimientos y obtiene un producto con un
determinado nivel, pero que irá creciendo incrementalmente en cada iteración.
Es práctico dividir el trabajo en partes más pequeñas o mini proyectos. Cada mini proyecto es una iteración que resulta en un incremento. Las iteraciones hacen referencia a pasos en los flujos de trabajo, y los incrementos, al crecimiento del producto. Cada iteración se realiza de forma planificada es por eso que se dice que son mini proyectos.
Es práctico dividir el trabajo en partes más pequeñas o mini proyectos. Cada mini proyecto es una iteración que resulta en un incremento. Las iteraciones hacen referencia a pasos en los flujos de trabajo, y los incrementos, al crecimiento del producto. Cada iteración se realiza de forma planificada es por eso que se dice que son mini proyectos.
1
Flujo de Trabajo de RUP
En
RUP se han agrupado las actividades en grupos lógicos definiéndose 9 flujos de
trabajo principales, los 6 primeros son conocidos como flujos de ingeniería y
los tres últimos como flujos de apoyo.
ü
Modelo del
Negocio: Describe los procesos de negocio, identificando
quiénes participan y las actividades que requieren automatización.
ü
Requerimiento: Define qué es lo que el sistema
debe hacer, para lo cual se identifican las funcionalidades requeridas y las
restricciones que se imponen.
ü
Análisis
y Diseño:
Describe cómo el sistema será realizado a partir de la funcionalidad prevista y
las restricciones impuestas (requerimientos), por lo que indica con precisión
lo que se debe programar.
ü
Implementación: Define cómo se organizan las clases y objetos en
componentes, cuáles nodos se utilizarán y la ubicación en ellos de los
componentes y la estructura de capas de la aplicación.
ü
Prueba (Testeo): Busca los defectos a los largo del ciclo de vida.
ü
Instalación
o despliegue: Produce reléase del producto y realiza actividades (empaque,
instalación, asistencia a usuarios, etc.) para entregar el software a los
usuarios finales.
ü
Administración del proyecto: Involucra actividades con las que
se busca producir un producto que satisfaga las necesidades de los clientes.
ü
Administración de configuración y cambios: Describe cómo controlar los
elementos producidos por todos los integrantes del equipo de proyecto en cuanto
a: utilización/actualización concurrente de elementos, control de versiones,
etc.
ü
Ambiente: Contiene
actividades que describen los procesos y herramientas que soportarán el equipo
de trabajo del proyecto; así como el procedimiento para implementar el proceso
en una organización.
2
Fases
Cada
fase representa un ciclo de desarrollo en la vida de un producto de software.
§
La
fase de concepción o inicio tiene por finalidad definir la visión,
los objetivos y el alcance del proyecto, tanto desde el punto de vista
funcional como del técnico, obteniéndose como uno de los principales resultados
una lista de los casos de uso y una lista de los factores de riesgo del
proyecto. El principal esfuerzo está radicado en el Modelamiento del Negocio y
el Análisis de Requerimientos. Es la única fase que no necesariamente culmina
con una versión ejecutable.
§
La fase
de elaboración tiene como principal finalidad completar el análisis
de los casos de uso y definir la arquitectura del sistema, además se obtiene
una aplicación ejecutable que responde a los casos de uso que la comprometen. A
pesar de que se desarrolla a profundidad una parte del sistema, las decisiones
sobre la arquitectura se hacen sobre la base de la comprensión del sistema
completo y los requerimientos (funcionales y no funcionales) identificados de
acuerdo al alcance definido.
§
La fase
de construcción está compuesta por un ciclo de varias iteraciones, en
las cuales se van incorporando sucesivamente los casos de uso, de acuerdo a los
factores de riesgo del proyecto. Este enfoque permite por ejemplo contar en
forma temprana con versiones el sistema que satisfacen los principales casos de
uso. Los cambios en los requerimientos no se incorporan hasta el inicio de la
próxima iteración.
§
La fase
de transición se inicia con una versión “beta” del sistema y culmina
con el sistema en fase de producción.
RESUMEN
En este
trabajo nos da a comprender que el proceso unificado de software es un método que
nos ayuda a desarrollar de una manera adecuada un sistema basando en el análisis
implementación y documentación y que tiene varias cualidades, como
especializarse para una gran variedad de sistemas de software el cual va ayudar
al usuario a desempeñar un buen trabajo y desarrollar una arquitectura en la
empresa que este trabaja.
De esta
manera se puede decir que el proceso unificado ayuda a mejorar el desarrollo
del sistemas, brindando seguridad a su información manejada y no dejando
problemas que causen una gran pérdida.
SUMMARY
This paper gives us to understand
that the unified software process is a method that helps us develop a suitable
manner a system analysis basing on implementation and documentation and has
several qualities, as specialized for a variety of software systems which will
help the user to perform a good job and develop an architecture in which the
company works.
Thus one can say that the process
helps improve unified development system, offering managed security for your
information and not leaving problems that cause a great loss.
Recomendaciones
1.
Desarrollar mejor este proceso
para poder seguir generando más trabajo.
2.
Evitar pérdidas de información
con un buen manejo de sistemas de software.
3.
Seguir cada paso
conforme esta estructura este proceso para llegar al buen desarrollo del
sistema.
CONCLUSIONES
A.
Se ha concluido que
este proceso es el más utilizado debido a su metodología de análisis.
B.
Nos ayuda de una manera
estructurada y ordenada para el desarrollo de un sistema.
C.
Finalmente se concluye
que este es un proceso que puede especializarse a cualquier tipo de software.
APRECIACIÓN DEL EQUIPO
Para
nosotros el Proceso Unificado es adecuado debió a su buena estructura y específica
para grandes organizaciones que se dediquen al desarrollo del sistema de software.
GLOSARIO
DE PALABRAS
1.
Oleada
Movimiento de gran cantidad de personas en
grupo.
2.
Métricas
Métrica es una unidad de medida estándar que
calcula los resultados. Métricas de software se utilizan para la evaluación de
producto de software y sus servicios.
3.
Prototipo
Primer ejemplar que se fabrica de una figura,
un invento u otra cosa, y que sirve de modelo para fabricar otras iguales, o
molde original con el que se fabrica
4.
Implementación
Acción o efecto de implementar.
5.
Iterativo
Término que indica una acción repetitiva.
LINKOGRAFÍA
DESARROLLO DEL TRABAJO EN DIAPOSITIVAS


