Академический Документы
Профессиональный Документы
Культура Документы
Objetivos
Tema #1. Proceso Unificado de Desarrollo
Proporcionar una perspectiva general de RUP y la Ingeniera del Software Caracterizar las fases y flujos de trabajo principales en el Proceso Unificado de Desarrollo Contextualizar el uso de los Modelos del Negocio como paso inicial del Desarrollo del Software Aprender la diferencia entre fase y disciplina
Procesos
Unified Process (UP) Rational Unified (Process) RUP OPEN OOSP ... Automatizacin
Plantilla
Personas
Participantes
Proyecto
Herramientas
Modelado Visual UML Rational Rose, Visual UML, Objecteering Integrated Development Environment (IDE) Visual Studio .NET, NetBeans... Gestin de la Configuracin CVS, ClearCase Gestin de Requisitos RequiistPro,.. Automatizacin documentacin SoDa ....
Resultado
Producto
Modelos Codigo fuente Ejecutables Documentacin
Conjunto de actividades que permiten transformar los requisitos de un cliente/usuario en un sistema software. Conjunto de procedimientos, tcnicas, herramientas y soporte documental que ayuda a los desarrolladores a realizar nuevo software.
Requisitos
Proceso de Desarrollo Software
Sistema Software
Es un proceso de ingeniera del software que agrupa las 6 mejores prcticas de desarrollo software que existen en el mercado
Tiempo
Contenido
Desarrollar Iterativamente Gestionar Requisitos Usar Arquitecturas de Componentes Modelar Visualmente (UML) Continuamente verificar Calidad del Software Controlar Cambios en el Software
Funcionalidad de valor para los usuarios Descripcin de aspectos estticos y dinmicos del software que son mas significativos Divide el trabajo en mini-proyectos que incrementalmente crean el producto software
Centrado en la Arquitectura
Iterativo e Incremental
automatizado por
Analysis Model
implementado por
Design Model
10
Disciplinas-Modelos-Artefactos
Tema #1. Proceso Unificado de Desarrollo
Modelo de Comportamiento
Diagramas UML de Secuencia/Colaboracin Diagramas UML de Estados/Actividades
11
Metodologa (requerimientos)
Tema #1. Proceso Unificado de Desarrollo
Dominio
conceptos reglas dominio
Restricciones OCL
Glosario
Modelo Conceptual
Process Sale
add file
Writ ing
Openning
endSale()
Cash In
makePayment(amount)
Reading close file Closing
close file
validatePayment() ok
Requisitos Automatizacin
...
Descripciones c.u.
12
Glosario
Process Sale
add file
Writ ing
Openning
endSale()
Cash In
makePayment(amount)
Reading close file Closing
close file
validatePayment() ok
System Administrator
Requisitos Automatizacin
Mangage Accounts
Descripciones c.u.
...
Casos de Uso
Secuencia Eventos
Diagramas Estados
(objetos dominio Sistema)
3: create(amount)
p: POSPayment
13
Caso de negocio:
Contexto Criterios de xito Pronstico financiero
Inicio
Elaboracin
Construccin
Transicin
Las partes interesadas deben acordar el alcance y la estimacin de tiempo y costo. Comprensin de los requerimientos plasmados en casos de uso.
Visin de una milla de amplitud y una pulgada de profundidad porque las decisiones de arquitectura requieren una visin global del sistema.
Ya hay menos riesgos y se puede planificar el resto del proyecto con menor incertidumbre. Se construye una arquitectura ejecutable que contemple:
Los casos de uso crticos Los riesgos identificados
A partir de aqu la arquitectura, los requerimientos y los planes de desarrollo son estables.
Concepcin
Elaboracin
Construccin
Transicin
Concepcin
Elaboracin
Construccin
Transicin
Se obtiene un producto Beta que debe decidirse si puede ponerse en ejecucin sin mayores riesgos. Condiciones de xito:
El producto est maduro y estable para instalarlo en el ambiente del cliente? Estn los interesados listos para recibirlo?
Producto
Definiciones Trabajador
Un trabajador define el comportamiento y las responsabilidades de un individuo. Es como un sombrero que la persona usa durante el proyecto:
Una persona puede tener varios sombreros Es el rol que desempea en un momento dado
Responsabilidades:
Hacer una serie de actividades Ser el responsable de una serie de artefactos
Definiciones Actividades
Una actividad es una unidad de trabajo que se asigna a un trabajador. Ej.:
Crear o modificar un artefacto
Las actividades se consideran en la planificacin y evaluacin del progreso del proyecto. Ejemplos:
Planificar una iteracin - Administrador de proyecto Encontrar actores y casos de uso Analista Revisar el diseo - Revisor de diseo Ejecutar pruebas de performance - Ing. de pruebas de performance
Una actividad lleva entre un par de horas y un par de das, involucra un solo trabajador y un nmero pequeo de artefactos.
Asignacin de actividades
Recurso
Pablo Mara Jos Silvia Eduardo
Trabajador
Diseador Autor de Casos de Uso Diseador de Casos de Uso Revisor de Diseo Arquitecto
Actividad
Diseo de Objetos Detallar un Caso de Uso Disear un Caso de Uso Revisar el Diseo Anlisis de Arquitectura Diseo de Arquitectura
Artefactos
Elementos de informacin producidos, modificados o usados por el proceso. Son los productos tangibles del proyecto. Son usados por los trabajadores para realizar nuevas actividades y son el resultado de esas actividades.
Ejemplos:
Un modelo, como el modelo de casos de uso o el modelo de diseo. Un elemento del modelo, como una clase o un caso de uso. Un documento tal como el Caso del Negocio o la Arquitectura del Software. Cdigo fuente. Cdigo ejecutable.
Flujos de trabajo
Una lista de actividades, trabajadores y artefactos constituye un proceso. Un flujo de trabajo es una secuencia de actividades que produce un resultado valioso. No siempre es posible representar flujos de trabajo.
Anlisis de Arquitectura Arquitecto Anlisis de Casos de Uso Diseador de Casos de Uso Anlisis de Objetos Diseador Diseo de Objetos Diseo de Casos de Uso Diseo de Arquitectura Describir Concurrencia Describir Distribucin
Revisor de Diseo
Revisar el Anlisis
Revisar el Diseo
Revisar la Arquitectura
Flujos de trabajo
Existen habitualmente problemas de comunicacin entre ingenieros de software e ingenieros de negocios. RUP proporciona un lenguaje y proceso comn para estos dos mbitos. Para el modelamiento del negocio se usan business use cases (casos de uso del negocio):
La forma en que el software dar apoyo al negocio.
Requerimientos
Imprimir Informe Operador
Cliente
Reciclar
Administrar Depsito
Los casos de uso describen la funcionalidad. Los requerimientos no funcionales se incluyen en una especificacin complementaria.
Anlisis y diseo
Descripcin de cmo se implementar el sistema: un plano Debe:
Ejecutar las tareas y funciones descritas en los casos de uso Satisfacer todos los requerimientos Flexible a cambios
Implementacin
Propsito:
Definir la organizacin del cdigo Implementar clases y objetos en forma de componentes (fuente, ejecutables, etc.) Probar las componentes desarrolladas Integrar las componentes en un sistema ejecutable
Pruebas
Propsito:
Verificar la interaccin entre los objetos Verificar la integracin apropiada de componentes Verificar que se satisfacen los requerimientos Identificar los defectos y corregirlos antes de la instalacin
Las pruebas de regresin son importantes en desarrollos iterativos. Rational tiene herramientas para automatizar algunas pruebas.
Distribucin
Producir un producto y hacerlo llegar a sus usuarios finales. Incluye varias actividades:
Producir un release Empaquetar el software Distribuir el software Instalar el software Apoyar a los usuarios
La mayor parte de la distribucin ocurre durante la transicin. Este es uno de los flujos de trabajo menos documentados en RUP.
Administracin de proyectos
Es el arte de balancear objetivos contrarios, manejar riesgos y producir software que satisface a clientes y usuarios. Existen pocos proyectos realmente exitosos.
RUP incluye:
Un framework para manejo de proyectos de software Guas para planificacin, provisin de personal, ejecucin y monitoreo de planes Un framework para manejar riesgos
Ambiente
Estos son representados desde una perspectiva organizacional No diferencian entre procesos manuales y automatizados (Los diagramas de Casos de Uso, se centran el los procesos automatizados) Muestran las interacciones entre casos de uso del negocio y actores del negocio.
Los casos de uso del negocio representan los procesos que un negocio ejecuta. Los actores del negocio, representan roles con los cuales el negocio interacta, tales como cliente o vendedores, etc. Los actores del negocio representan a cualquiera o cualquier cosa fuera del negocio que interacte con ste. No representa roles o trabajadores en el interior de un negocio.
Un worker representa la abstraccin de un humano que interactua con el sistema. Un worker interactua con otros workers y manipula entidades mientras participa en la realizacin de un caso de uso. Un case worker es un worker que interactua directamente con actores fuera del sistema. Un internal worker es un worker que interactua con otros workers y entidades dentro del sistema. Una entity es una clase pasiva, que no inicia interacciones. En el modelo de negocios representa objetos que los workers acceden, inspeccionan, manipulan y/o producen
<Actor Name>
(f rom Actors)
NewUseCase2
NewUseCase3
<Actor Name>
(f rom Actors)
Ejercicio Prctico
Modelacin del Negocio de un Conjunto Federado de Bibliotecas:
Un usuario puede ser: Socio de una biblioteca (S) Bibliotecario (B) Las bibliotecas estn conectadas entre s para permitir el prstamo a socios de otras bibliotecas Dos partes claramente diferenciadas del sistema de una de estas bibliotecas: Operaciones de un usuario en la propia biblioteca
Altas y bajas de socios (B) Altas y bajas de libros (B) Consulta de libros disponibles (B,S) Reservas (S), prstamos y devoluciones de libros (B) Consulta de reservas realizadas y libros prestados (B,S)
Consulta de los libros de otras bibliotecas (S) Reserva de un libro de otra biblioteca (S) Consulta de reservas realizadas y libros prestados en otra biblioteca (S)
50
Referencias
Understading UML Shinan Salhir, http://home.earthlink.net/~salhir
El Proceso Unificado de Desarrollo Software, I. Jacobson, Grady Booch, J. Rumbaugh, Ed Addison Wesley
es.geocities.com/gustsucc www.uml.org www.omg.org
51