You are on page 1of 12

PRCTICA 1 - EL PROCESO UNIFICADO Anlisis y Especificacin de Sistemas Multimedia Ingeniera Multimedia

Javier Navarro Pastor Ivn Riveiro Martnez Marco Antonio Agero Caldern Antonio Mart Vicedo

Caractersticas del proceso El proceso unificado es un marco de desarrollo de software iterativo e incremental, tratando de reunir los mejores rasgos y caractersticas de los procesos de Software, el cual se ve como una metodologa bastante adaptable en los grandes proyectos. Algunas de las caractersticas que se pueden apreciar en el PU son las siguientes: - Manejado por casos de uso: -Un caso de uso representa una pieza de funcionalidad en el sistema que le devuelve al usuario un resultado de valor. Los casos de uso sirven para capturar requerimientos funcionales. Todos los casos de uso de un sistema conforman el modelo de casos de uso. -Se dice que el PU esta manejado por casos de uso porque el desarrollador crear modelos de implementacin y diseo que harn efectivos a los casos de uso planteados en la etapa de anlisis. Cada modelo del proceso tendr una correspondencia con el modelo de casos de uso. - Centrado en la arquitectura -Los casos de uso manejan la arquitectura del sistema y la arquitectura del sistema influencia en la seleccin de los casos de uso. En consecuencia, tanto la arquitectura del sistema como los casos de uso maduran a medida que el ciclo de vida continua. - Iterativo e incremental -Para el PU la vida de un sistema se encuentra dividida en ciclos. Cada ciclo termina con un lanzamiento de diferentes modelos del producto. -Cada ciclo consiste de cuatro fases: inicio , elaboracin, construccin y transicin. -Inicio: Se desarrolla una descripcin del producto final a partir de una buena idea y se presenta el anlisis del negocio para el producto. Abarca las actividades de comunicacin con el cliente y planeacin. Se parte de un modelo de casos de uso simple y se llega a una arquitectura provisional -Elaboracin: Se especifica en detalle la mayora de los casos de uso de producto y se disea la arquitectura del sistema. En esta fase se crea una lnea base arquitectnica. Al final de esta fase se pueden planificar las actividades y estimar los recursos necesarios para terminar el proyecto. -Construccin: En esta fase se crea el producto. La lnea base crece hasta convertirse en el sistema completo. Se debe respetar la arquitectura, aunque puede sufrir pequeos cambios. Al final de esta fase, el producto contiene todos los casos de uso que la direccin y los clientes han acordado. Se aplican pruebas de unidad, se realizan actividades de integracin. Las pruebas son dirigidas por casos de uso.

-Transicin: Cubre el perodo en el que el producto es una versin beta (de prueba). Los usuarios prueban el producto e informan de defectos y errores. El producto se corrige y se mejora. Aqu se llevan actividades como la fabricacin, formacin del cliente, soporte y asistencia, correccin de defectos. -Cada fase se encuentra subdividida en iteraciones. Al final de cada fase se produce un punto de revisin. Una iteracin es un mini-proyecto que concluye con la entrega de algn documento o implementacin interna. Dentro de cada iteracin se realizan actividades de captura de requerimientos, anlisis, diseo, implementacin y prueba. -Tiene una rpida asimilacin de cambios por mantenimiento gracias a las iteraciones realizadas. - E PU est basado en componentes, conectados a travs de interfaces. -El PU utiliza el Lenguaje Unificado de Modelado UML, el cual es un lenguaje grfico, estandarizado que presenta herramientas para modelamiento. -El PU tiene 4 fases o incrementos: Fases, Hitos, Disciplinas y Artefactos. -El PU es un proceso adaptable a los diferentes tipos de desarrollos y se puede configurar segn las necesidades de cada proyecto. -Una de las caractersticas fundamentales del UP es que est dirigido por el riesgo, donde se propone identificar, afrontar y resolver los elementos de riesgo tan pronto como sea posible. -Los flujos de trabajo fundamental del proceso unificado son: -Requisitos. -Anlisis -Diseo -Implementacin -Prueba

Modelos del proceso unificado Modelo de casos de uso Modelo de anlisis Modelo de diseo Modelo de implementacin Modelo de distribucin Modelo de pruebas

Elementos del proceso (Fases, Hitos, Disciplinas, Artefactos) En el UP existen las fases de Inicio, Elaboracin, Construccin y Transicin, dnde en cada uno se cumplen una o ms iteraciones. El desarrollo es iterativo y acrecental; en cada una de las iteraciones se aade algo ms, dejando al sistema con un crecimiento continuo hasta el momento de su entrega. En todas y cada una de la iteraciones hay anlisis de requerimientos, diseo, implementacin y verificacin, as como puesta a punto y coordinacin de todos los artefactos. A continuacin se puede observar la relacin entre los distintos artefactos y la utilidad que tienen en las disciplinas identificadas en el UP.

UP: Fases, Hitos, Planes de Fase y Planes de Iteracin. Iteraciones: perodos de trabajo con objetivos, tareas y entregables. Fases: las etapas del proceso unificado. Hitos: instantes donde se entrega algo o se controla el avance del proyecto. Plan de Fase: objetivos, estimacin de fechas, hitos, entregables. Plan de Iteracin: objetivos, tareas, entregables; en detalle para la presente iteracin

El texto de los Casos de Uso sugiere trminos, conceptos, atributos y asociaciones en el Modelo de Dominio. El Modelo de Dominio sugiere nombres de las clases, asociaciones y atributos del Diagrama de Clases de Diseo. Los Contratos de Operaciones describen los cambios de estado en el Modelo de Dominio; los cambio se producen en los objetos (creacin, destruccin), sus atributos y sus asociaciones. Los Contratos de Operaciones se hacen, opcionalmente, para las operaciones descritas en el Diagrama de Secuencia del Sistema particularmente crticas o difciles de entender. Algunos de los trminos del Modelo de Dominio se aclaran o elaboran en el Glosario. Los Diagramas de Interaccin (Colaboracin o Secuencia) y los Diagramas de Clases de Diseo permiten a los programadores implementar los componentes de software y las Pruebas de verificacin.

Artefactos en las diferentes disciplinas del UP

Fases del proceso El proceso unificado de desarrollo de software se compone de diversas fases, es necesario seguir cada una de ellas para llevar a cabo un desarrollo de software unificado. Las fases son: - Inicio. - Elaboracin. - Construccin. - Transicin. - Produccin. Inicio: Esta fase es la ms pequea, la que menos tiempo requiere. El objetivo de esta fase es entender lo suficiente el problema para decidir si el proyecto es viable, una vez comprobada su viabilidad, se debe hacer un anlisis ms profundo sobre los principales requerimientos y recursos necesarios para llevar a cabo el proyecto. El hito de final de la fase se conoce como Hito del Objetivo de Vida (Lifecycle Objective Milestone). Elaboracin: La elaboracin tiene por objeto construir el ncleo central de la arquitectura, resolver los elementos de alto riesgo, definir la mayor parte de los requerimientos y estimar los recursos necesarios. En esta fase debemos descubrir y estabilizar la mayora de los requerimientos y recursos. Tambin debemos implementar una Base de Arquitectura Ejecutable (Executable Architecture Baseline) esta consiste en una implementacin parcial que contega los principales componentes del sistema, esta debe contener: Empleo de tcnicas de implementacin abarcativas y no de detalle: Identificacin de procesos, capas de software, paquetes, subsistemas. Establecimiento de sus responsabilidades. Prueba de las interfaces internas y externas. Refinamiento de las intefaces locales incluyendo parmetros y valores de retorno. Integracin de componentes existentes.

Al final de esta fase, la base de arquitectura ejecutable de ser capaz de manejar los aspectos clave del sistema as como demostrar parmetros aceptables en cuanto a su estabilidad, rendimiento y coste. El hito Arquitectura de Ciclo de Vida (Lifecycle Architecture Milestone) se da al final de esta fase. Construccin: Esta es la fase ms larga del proyecto ya que aqu es donde debemos construir el sistema en base a los especificado en la fase de elaboracin. El sistema se debe desarrollar de manera iterativa e incremental partiendo de la base de arquitectura ejecutable. Las iteraciones se pueden entender como miniproyectos: en todas las iteraciones se repite un proceso de trabajo similar, en cada iteracin el equipo evoluciona el producto (hace una entrega incremental) a partir de los resultados completados en las iteraciones anteriores, aadiendo nuevos objetivos/requisitos o mejorando los que ya fueron completados. Un aspecto fundamental para guiar el desarrollo iterativo e incremental es la priorizacin de los objetivos/requisitos en funcin del valor que aportan al cliente. Al final de cada iteracin se da un hito secundarios, los jefes deciden cmo continuar en iteraciones siguientes.

En esta fase casi todo el trabajo recae sobre los programadores y controladores de calidad. El Hito de Capacidad Operativa Inicial (Initial Operational Capability Milestone) marca el final de esta fase. Transicin: En esta fase desplegamos el sistema enfocado a los usuarios finales. La retroalimentacin recibida permite incorporar refinamientos al sistema en las sucesivas iteraciones. Debemos asegurarnos de que todos los objetivos han sido cumplidos. Produccin: Consiste en la produccin final del proyecto del seguimiento de ste en el mercado.

Disciplinas Son aquellas distintas actividades relacionadas entre s (flujos de trabajo), debido a que todas ellas forman parte de un rea de especfica dentro del proyecto en general. Las ms importantes disciplinas son: Requerimientos, Anlisis, Diseo, Codificacin y Prueba. Dichas actividades o flujos de trabajo, producen artefactos. Un artefacto es un trmino general que se usa para cualquier resultado del trabajo realizado, ya sea un texto, diagrama, website, cdigo u otros. Requerimientos: describir todo aquello que deba tener y realizar el sistema y poner a los desarrolladores y al cliente de acuerdo en esta descripcin. La mayora de estos requisitos son captados en la fase de elaboracin y se comprueba su implementacin en la fase posterior de prueba. Anlisis y diseo: esta disciplina consiste en describir como ser realizado en la fase de implementacin, se realiza un modelo de diseo con sus clases (agrupadas en paquetes y subsistemas) con interfaces bien definidas. Contiene descripciones de como los objetos colaboran para realizar las acciones incluidas en los casos de uso. Codificacin: (code-and-fix) es el modelo usado en los inicios del desarrollo de software, posee dos pasos: Escribir cdigo. Corregir problemas en el cdigo Se trata de primero implementar algo de cdigo y luego pensar acerca de requisitos, diseo, validacin, y mantenimiento. Prueba: en esta disciplina se realiza la comprobacin del funcionamiento del software, si este es correcto o no, si contiene todos los requisitos anteriormente propuestos y tambin analizan diversos aspectos tales como: objetos como unidades, integracin de los mismos y entre los mismos, etc.

Artefactos Los artefactos son los productos tangibles del proyecto que son producidos, modificados y usados por las actividades. Pueden ser modelos, elementos dentro del modelo, cdigo fuente y ejecutables. - Modelo del Dominio = Modelo Conceptual -Se genera en la Disciplina Modelado del Negocio -Se va refinando en cada iteracin de la Elaboracin -Se centra en los casos de uso de la iteracin actual y las anteriores Influye sobre: - Modelo de Casos de Uso (contratos de operaciones del sistema) - Requisitos - Glosario (define sus elementos) - Requisitos el Modelo de Diseo - Diseo - Modelo de Casos de Uso: Incluye actores y casos de usos, sirve para llegar a un acuerdo entre el cliente y desarrollador sobre los requisitos que deber tener en cuenta el sistema. Describe lo que hace el sistema para cada tipo de usuario. -Diagrama de Casos de Uso -Casos de Uso -Formato Breve: Inicio (la mayora), Elaboracin (el resto) -Formato Completo Esencial: Inicio (un 10 a 20%), Elaboracin (hasta el 80 a 90%) Construccin (el resto). -Formato Completo Concreto: Elaboracin y Construccin -Diagramas de Secuencia del Sistema -Forman parte del Modelo de Casos de Uso.

-UP no los menciona explcitamente. -La mayora se crean en Elaboracin, el resto en Construccin. -Contratos de Operaciones del Sistema

-Modelo de Diseo. -Diagrama de Clases de Diseo -Diagramas de Interaccin

Refinamientos del UP (RUP, AUP, Open Up...) Los refinamientos consiste en una descomposicin incremental del problema de forma iterativa, de manera que se da una produccin incremental de la solucin. Hay varios tipos de refinamientos en el Proceso Unificado, a continuacin veremos los mas conocidos: Proceso Unificado de Rational (RUP): es un proceso de desarrollo de software y junto con el Lenguaje Unificado de ModeladoUML constituye la metodologa estndar ms utilizada para el anlisis, implementacin y documentacin de sistemas orientados a objetos. Proceso Unificado gil: describe una manera fcil de entender la forma de desarrollar las aplicaciones de software de negocio usando tcnicas giles y conceptos que aun se mantienen vlidos en RUP. OpenUP: mtodo desarrollado por un grupo de empresas tecnolgicas quienes lo donaron a la compaa Eclipse en 2007, se basa en un proceso mnimo y suficiente. Slo el contenido fundamental y necesario es incluido. ste tipo de refinamiento posee elementos que estn destinados a fomentar el intercambio de informacin entre los equipos de desarrollo y mantener un entendimiento compartido del proyecto, objetivos, alcance y avance. BasicUP: es una versin del RUP para proyectos de menor volumen, o pequeos proyectos. Generalmente constituido por equipos de 3 a 6 personas y con un periodo de desarrollo corto tambin.

Herramientas Existen varias herramientas para aplicar el proceso unificado de desarrollo de software. En primer lugar se encuentran las herramientas de pago, las cuales nos ayudan a seguir el desarrollo del UP en un proyecto. La empresa IBM nos ofrece una gran coleccin de herramientas de pago con las que podremos seguir todas las disciplinas y artefactos del UP generando documentacin eficiente. Sin embargo, estas herramientas son caras y requiere un nivel de aprendizaje de la herramienta para su correcto uso. IBM tambin nos ofrece una versin de prueba gratuita de Rational Method Composer, una plataforma dedicada a la gestin de procesos como el RUP (Rational Unified Proces). Con esta herramienta, aunque sea su versin gratuita podemos generar el sitio web con toda la informacin del proceso, adems incluye guas, ejemplos...etc. que ayudan en el seguimiento del proceso

Ejemplo de UP en Rational Method Composer

Otra herramienta muy similar a la anterior es Eclipse Process Framework que incluye como refinamiento del UP OpenUP/Basic una versin ligera del mismo.

Ejemplo de OpenUP/Basic en Eclipse Process Framework

Existe otra herramienta llamada ReadySET que nos ofrece un conjunto de plantillas y guas para el desrraollo de los artefactos. No es estrictamente un UP pero su estructura es muy similar. ReadySET pertenece al proyecto tigris.org que pretende generar herramientas de cdigo abierto sobre la ingeniera de software. Si en el proyecto trabajan muchas personas, debemos encontrar herramientas que faciliten el trabajo compartido, herramientas que mantengan el control de las mltiples versiones y que permitan visualizar las aportaciones de cada usuario. Para implementar cdigo fuente en grupo, una de las herramientas ms usadas es CVS (Concurrent Versioning System), esta herramienta permite que varias personas programen a la vez el mismo proyecto. En el caso de la documentacin, es comn usar sistemas basados en wikis como MediaWiki.

Referencias: http://www.utim.edu.mx/~mgarcia/DOCUMENTO/ADSI2/Introduccion.pdf http://es.wikipedia.org/wiki/Proceso_Unificado http://www.slideshare.net/pabloto/el-proceso-unificado http://iie.fing.edu.uy/ense/asign/desasoft/Teorico2/ProcesoUnificado.pdf http://fernandosoriano.com.ar/?p=14 http://www.rodolfoquispe.org/blog/que-es-el-proceso-unificado-de-desarrollo-de-software.php http://www.monografias.com/trabajos22/desarrollo-software/desarrollo-software.shtml http://quegrande.org/apuntes/EI/OPT/PAI/teoria/07-08/tema_2_-_el_proceso_unificado.pdf http://www.ecured.cu/index.php/Proceso_Unificado_de_Desarrollo#Diferencias_de_RUP_con_las_dem .C3.A1s_metodolog.C3.ADas http://www.ecured.cu/index.php/Proceso_Unificado_de_Desarrollo#Principales_Elementos http://is.ls.fi.upm.es/docencia/is2/documentacion/proceso.pdf Departamento de Sistemas Informticos y Computacin. Universidad Politcnica de Valencia. Introduccin al Proceso SW. http://es.wikipedia.org/wiki/RUP http://is.ls.fi.upm.es/docencia/is2/documentacion/ModeloCasosUso.pdf Scott, Kendall (2002). The Unified Process Explained.

You might also like