Você está na página 1de 18

Ingeniera de Software II

Primer Cuatrimestre de 2011

Clase 12: El Proceso Unificado de Desarrollo - EssUP

Buenos Aires, 12 de Mayo de 2011

Ctedra de Ingeniera de Software II FCEN UBA, 2011

El UML

Hacia principios de los 90, coexistan distintas notaciones y enfoques para modelado de objetos
Tres de los autores principales (Booch, Jacobson, Rumaugh) decidieron intentar estandarizar las notaciones As surgi el UML, un estndar de modelado que combina modelos nuevos y existentes, e intenta cubrir todas las necesidades de especificacin de un sistema de software

UML no es una metodologa ni un proceso, es una notacin estndar de modelado para capturar el conocimiento semntico de un problema y su solucin

2
Ctedra de Ingeniera de Software II FCEN UBA, 2011

UML no es un proceso

Gente, equipos, experiencia

Proceso

Tecnologa, herramientas, notacin para modelado

Proceso: descripcin de actividades que deben realizarse en un determinado orden (en este caso para crear o modificar un sistema de software). Describen qu hacer, cmo hacerlo, cundo hacerlo, qu roles deben hacerlo y el motivo por el que se hace. Debe ser: reproducible, definido, medible y mejorable

3
Ctedra de Ingeniera de Software II FCEN UBA, 2011

Caractersticas del UP

Es un proceso marco (process framework) Se puede adaptar a las caractersticas de un proyecto


Est dirigido por casos de uso Presentes en todas las fases Se centra en la arquitectura Prioritaria de principio al fin. Se facilita su refinamiento progresivo.

Es iterativo e incremental Los riesgos guan la construccin


Casos de uso: Funciones. Arquitectura: estructura.
4
Ctedra de Ingeniera de Software II FCEN UBA, 2011

Best practices del UP

Desarrollar iterativamente
Administrar los requerimientos Usar arquitecturas de componentes Modelar visualmente (UML) Verificar la calidad Controlar los cambios

5
Ctedra de Ingeniera de Software II FCEN UBA, 2011

Iterativo e incremental a la UP

El resultado de cada iteracin es un sistema funcionando, no necesariamente potentially shippable


Hay aprendizaje entre iteraciones Time boxing (2-12 semanas). Si no se llega, se recorta funcionalidad Se busca el feedback del usuario Los riesgos guan la eleccin de funcionalidad

6
Ctedra de Ingeniera de Software II FCEN UBA, 2011

Fases del UP

Inicio del proyecto (inception) Definir contexto, factibilidad y objetivos


Elaboracin Funcionalidad (alcance) y arquitectura bsica

Etapa de Ingeniera

Construccin Desarrollar el producto iterativamente Transicin Liberar el producto para uso real

Etapa de Produccin

7
Ctedra de Ingeniera de Software II FCEN UBA, 2011

Hitos en UP

Puntos de control para revisar el avance Sincronizar expectativas Identificar riesgos


Tienen entregables asociados para la evaluacin

Dos tipos de hitos Principales al finalizar una fase (visin, arquitectura bsica, capacidad inicial, producto final) Secundarios al finalizar una iteracin

8
Ctedra de Ingeniera de Software II FCEN UBA, 2011

Disciplinas y Artefactos

Disciplinas: organizan las actividades del proyecto De desarrollo: requerimientos, anlisis, arquitectura, diseo, implementacin, pruebas, deployment. De gestin: administracin de riesgos, planificacin y seguimiento, SCM (software configuration management), etc.
Cada

disciplina de desarrollo genera modelos de UML (casos de uso, anlisis, diseo, deployment, etc.). Los modelos incluyen diagramas.

Artefactos: Cualquier tipo de informacin generada por el equipo de desarrollo

9
Ctedra de Ingeniera de Software II FCEN UBA, 2011

Especificacin del proceso

El proceso est especificado en trminos de Workers, Activities, Artifacts. Ejemplo de workflow:

10
Ctedra de Ingeniera de Software II FCEN UBA, 2011

Visin general del proceso

11
Ctedra de Ingeniera de Software II FCEN UBA, 2011

El Development Case

El nmero de distintos artefactos a generar es muy grande


Es preciso definir cules se harn en un desarrollo concreto Uno de los artefactos iniciales es el Caso del desarrollo Qu artefacto es necesario en cada disciplina En qu fase se crea En qu fases se actualiza

12
Ctedra de Ingeniera de Software II FCEN UBA, 2011

La fase de Incepcin

Propsito Establecer el caso de negocio para un sistema nuevo o mejoras a uno existente Especificar el alcance del proyecto
Salidas Visin de los requerimientos (10-20%) Caso de negocio Criterios de xito Evaluacin inicial de riesgos Estimacin de recursos requeridos Hito: Lifecycle objectives

13
Ctedra de Ingeniera de Software II FCEN UBA, 2011

La fase de Elaboracin

Propsito Analizar el dominio del problema Establecer una base slida de arquitectura Atacar principales riesgos Desarrollar un plan completo
Salidas Modelo de dominio y casos de uso (80% completo) Arquitectura probada y documentada Caso de negocio revisado Plan de desarrollo

14
Ctedra de Ingeniera de Software II FCEN UBA, 2011

Fases de Construccin y Transicin

En construccin se especifica, desarrolla y prueba el producto de manera incremental


En transicin se llevan a cabo todas las tareas necesarias para una salida a produccin: instalacin, configuracin, entrenamiento, soporte, mantenimiento, etc. No se deben confundir las iteraciones de Transicin con los ciclos de pruebas

15
Ctedra de Ingeniera de Software II FCEN UBA, 2011

Algunas lecciones aprendidas en el uso de UP

Las iteraciones no son estrictamente secuenciales. Las disciplinas se superponen


Algunos templates de RUP no son muy prcticos, hay que adaptarlos Cuidado con las salidas a produccin intermedias Cmo es la cardinalidad de la relacin entre casos de uso e iteraciones? Utilidad de los post mortem de iteraciones

16
Ctedra de Ingeniera de Software II FCEN UBA, 2011

Una autocrtica que merece destacarse (Jacobson) Rise and Fall of RUP (Percepcin)

Buenas Prcticas

Casos de uso Iteraciones Arquitectura


UML

Sopa de prcticas Demasiado grande Adopcin muy difcil Nobody reads process books Extensin difcil Process gap

Fuente: Ivar Jacobson. Keynote en SEAFOOD 2010.


Ctedra de Ingeniera de Software II FCEN UBA, 2011

Ideas para arreglar RUP RUP EssUP


Hacer

que las prcticas sean ciudadanas de primera clase a travs de prcticas

Extensiones Foco

en desarrolladores, no ingenieros de procesos

Fuente: Ivar Jacobson. Keynote en SEAFOOD 2010. Reproducido con permiso.


Ctedra de Ingeniera de Software II FCEN UBA, 2011

Você também pode gostar