0% encontró este documento útil (0 votos)
394 vistas47 páginas

Proceso Unificado de Software

Este documento describe el Proceso Unificado de Desarrollo de Software (PUDS), incluyendo que está basado en componentes e interfaces bien definidas y utiliza el Lenguaje Unificado de Modelado. El PUDS es un proceso dirigido por casos de uso, centrado en la arquitectura e iterativo e incremental, dividiendo el trabajo en iteraciones que implementan un conjunto de casos de uso. La arquitectura y los casos de uso evolucionan en paralelo guiando el desarrollo.

Cargado por

Alfred A Vinaya
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
394 vistas47 páginas

Proceso Unificado de Software

Este documento describe el Proceso Unificado de Desarrollo de Software (PUDS), incluyendo que está basado en componentes e interfaces bien definidas y utiliza el Lenguaje Unificado de Modelado. El PUDS es un proceso dirigido por casos de uso, centrado en la arquitectura e iterativo e incremental, dividiendo el trabajo en iteraciones que implementan un conjunto de casos de uso. La arquitectura y los casos de uso evolucionan en paralelo guiando el desarrollo.

Cargado por

Alfred A Vinaya
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

Proceso Unificado de

Desarrollo de Software
Metodologas de Desarrollo
Software

Javier Snchez Prez
Facultad de Informtica
Universidad de Las Palmas de Gran Canaria
Contenido
Parte I: Introduccin
Parte II: Los flujos de trabajo
fundamentales
Parte III: El desarrollo iterativo e
incremental
Parte I: Introduccin
El Proceso Unificado
Personas, Proyecto, Producto y Proceso
Un proceso dirigido por casos de uso
Un proceso centrado en la arquitectura
Un proceso iterativo e incremental
El Proceso Unificado
Est basado en componentes e
interfaces bien definidas
Utiliza el Lenguaje Unificado de Modelado
(UML)
Aspectos caractersticos:
Dirigido por casos de uso
Centrado en la arquitectura
Iterativo e incremental
El Proceso Unificado
Dirigido por casos de uso
Caso de uso: Fragmento de funcionalidad
que proporciona al usuario un resultado
importante
Modelo de casos de uso: Funcionalidad
total del sistema
Qu debe hacer el sistema para cada
usuario?
Guan el proceso de desarrollo
El Proceso Unificado
Centrado en la arquitectura
Describe diferentes vistas del sistema
Incluye los aspectos estticos y dinmicos ms
significativos
Es la forma del software
La arquitectura y los casos de uso evolucionan en
paralelo
Responsable: el arquitecto:
Empieza por la parte que no es especfica de los casos
de uso
Trabaja con casos de uso claves
Progresa con la especificacin de ms casos de uso

El Proceso Unificado
Iterativo e incremental
Se divide el trabajo en mini-proyectos
Cada mini-proyecto es una iteracin que
resulta en un incremento
La iteracin
Trata un conjunto de casos de uso
Trata los riesgos ms importantes
En cada iteracin se persiguen unos
objetivos concretos
El Proceso Unificado
Iterativo e incremental
Beneficios de un proceso iterativo
controlado:
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

El Proceso Unificado
Iterativo e incremental
Iter
#n
---

---

---

--- Iter
#2
Test
Iter
#n-1
--- --- Iter
#1
Implementac.
Diseo
Anlisis
Requisitos
Transicin Construccin Elaboracin Gestacin Flujos de
trabajo / Fases
Personas, Proyecto, Producto y Proceso
Personas
Arquitectos, desarrolladores, ingenieros de prueba,
personal de gestin, usuarios, clientes
El proceso de desarrollo afecta a las personas
(viabilidad, gestin del riesgo, estructura de los equipos,
planificacin, comprensin, cumplimiento)
Formacin, entrenamiento y experiencia
De recurso a trabajador (puestos que asumen las
personas)
Cada trabajador tiene un conjunto de responsabilidades
y lleva a cabo un conjunto de actividades
Personas, Proyecto, Producto y Proceso
Proyecto
Elemento organizativo de gestin
El proyecto construye el producto
Secuencia de cambio. El sistema evoluciona
Serie de iteraciones. Cada iteracin
implementa un conjunto de casos de uso o
atena algunos riesgos. Mini-proyecto
Patrn organizativo. Tipos de trabajadores y
artefactos a conseguir
Personas, Proyecto, Producto y Proceso
Producto
Artefactos que se crean durante la vida del
proyecto
Artefactos: Modelos, cdigo, ejecutables,
documentacin, diagramas UML, bocetos de la
interfaz de usuario, prototipos, componentes,
planes de prueba
Artefactos de ingeniera y de gestin
Coleccin de modelos
Modelo de
casos de uso
Modelo de
implementacin
Modelo de
diseo
Modelo de
anlisis
Modelo de
despliegue
Modelo de
prueba
traza traza traza
Personas, Proyecto, Producto y Proceso
Proceso
Conjunto de actividades para crear el producto
Es una plantilla para crear proyectos (Instancia
del proceso)
Se define en trminos de flujos de trabajo
(conjunto de actividades)
Se identifican trabajadores y artefactos
Adaptacin o especializacin del proceso
Se utilizan diagramas de actividad de UML para
describir los flujos de trabajo
Analista
Arquitecto
Especificador
Diseador
Priorizar los casos de
uso
Detallar un caso de
uso
Estructurar el modelo
de casos de uso
Prototipar la interfaz
de usuario
Encontrar actores y
casos de uso
Ejemplo: Captura de requisitos
Personas, Proyecto, Producto y Proceso
Herramientas
Automatizan las actividades definidas en el
proceso
Mantienen las cosas estructuradas, gestionan
gran cantidad de informacin y nos guan
Gracias a ellas se obtiene un proceso ms
formal y preciso
El proceso dirige las herramientas
Deben ser fciles de utilizar y permitir
reutilizar
Un proceso dirigido por casos de uso
Se capturan requisitos de usuario a travs
de casos de uso
Son fundamentales para:
Identificar y especificar clases, subsistemas e
interfaces
Identificar y especificar casos de prueba
Planificar las iteraciones e integracin del
sistema
Nos guan a travs de los flujos de trabajo
Un proceso dirigido por casos de uso
En cada iteracin se identifican e
implementan unos cuantos casos de uso
Los casos de uso sirven para idear la
arquitectura
Se seleccionan los casos de uso ms
representativos
Se utiliza como partida para escribir el
manual de usuario
Un proceso dirigido por casos de uso
Requisitos funcionales a travs de casos
de uso
Requisitos no funcionales:
Se adjuntan a los casos de uso
Se guardan en una lista

Cliente del
banco
Sacar dinero
Ingresar dinero
Transferencia
Un proceso dirigido por casos de uso
Actores: usuarios, otros sitemas,
hardware, software, etc.
Un usuario puede actuar como varios
actores
Varios usuarios pueden actuar como un
mismo tipo de actor
La comunicacin con el sistema se realiza
mediante el paso de mensajes
Un proceso dirigido por casos de uso
Modelo de anlisis a partir de casos de uso
Crece incrementalmente
Se especifican a travs de diagramas de clases
y de colaboracin
Al principio se examinan unos pocos casos de
uso y se crean sus realizaciones
Cada clasificador puede participar en varias
realizaciones distintas con distintos roles
Clases estereotipadas de anlisis (entorno,
control y entidad)
Un proceso dirigido por casos de uso
Sacar dinero
Modelo de
casos de uso
Modelo de
anlisis
trace
Sacar dinero
Cuenta Retirada
efectivo
Interfaz
cajero
Salida
Realizacin de un caso de uso (anlisis):
Un proceso dirigido por casos de uso
Cliente del
banco
Sacar dinero
Ingresar dinero
Transferencia
Modelo de
casos de uso
Modelo de
anlisis
Retirada
efectivo
Salida
Cliente del
banco
Transferencia
Ingreso
Receptor
dinero
Interfaz
cajero
Cuenta
Un proceso dirigido por casos de uso
:Retirada
efectivo
:Salida
:Cliente
del banco
:Interfaz
cajero
:Cuenta
1:Identificacin
5: entrega dinero
2: solicitar retirada
4: autorizar entrega
3: validar y retirar
Diagrama de colaboracin para describir una realizacin:
Un proceso dirigido por casos de uso
Modelo de diseo a partir del modelo de
anlisis
Se adapta al entorno de implementacin
Se define con los mismos diagramas
El modelo de diseo es ms fsico y el
modelo de anlisis ms conceptual
Sacar dinero
Modelo de
casos de uso
Modelo de
anlisis
trace
Sacar dinero
trace
Sacar dinero
Modelo de
diseo
Un proceso dirigido por casos de uso
Cuenta Retirada efectivo Interfaz cajero Salida
Dispositivo de
visualizacin
Sensor de
salida
Teclado
Alimentador
de la salida
Lector de
tarjetas
Contador de
efectivo
Retirada de
efectivo
Gestor de
Cliente
Gestor de
Transacciones
Cuenta
Gestor de
Cuentas
Clase
Persistente
trace trace trace trace
Modelo
de anlisis
Modelo de
diseo
Un proceso dirigido por casos de uso
Cliente del
banco
Dispositivo de
visualizacin
Sensor de
salida
Teclado
Alimentador
de la salida
Lector de
tarjetas
Contador de
efectivo
Retirada de
efectivo
Gestor de
Cliente
Gestor de
Transacciones
Cuenta
Gestor de
Cuentas
Clase
Persistente
Un proceso dirigido por casos de uso
:Cliente del
banco
:Dispositivo de
visualizacin
:Teclado :Lector de
tarjetas
:Contador
de efectivo
:Gestor de
Cliente
:Gestor de
Transacciones
Introducir
tarjeta
Tarjeta introducida(ID)

Solicitar PIN
Mostrar peticin
Especificar cdigo PIN
Cdigo PIN
Validar cdigo PIN
Solicitar cantidad a retirar
Mostrar peticin
Especificar cantidad
Cantidad(C)
Solicitar retirada cantidad(C)
Disponib.
Saldo(C)
Un proceso dirigido por casos de uso
Las clases se agrupan en subsistemas
Cliente del
banco
Dispositivo de
visualizacin
Sensor de
salida
Teclado
Alimentador
de la salida
Lector de
tarjetas
Contador de
efectivo
Gestor de
Cliente
subsystem
Interfaz del CA
Cuenta
Gestor de
Cuentas
Clase
Persistente
subsystem
Gestin de
Cuentas
Gestor de
Transacciones
subsystem
Transacciones
Retirada de
efectivo
subsystem
Efectivo
IRetirada
IEntrega
ITransferen
Un proceso dirigido por casos de uso
Modelo de implementacin a partir del
modelo de diseo
Sensor de
salida
Alimentador
de la salida
Contador de
efectivo
Gestor de
Cliente
Modelo de diseo
Cliente.cpp
file
Cliente.exe
exe
Salida.cpp
file
Modelo de implementacin
compilation
trace
trace
Un proceso dirigido por casos de uso
Pruebas
Modelo de pruebas compuesto por:
Casos de prueba
Procedimientos de prueba
Modelo de casos
de uso
Modelo de pruebas
Sacar dinero Sacar dinero
X
trace
Un proceso centrado en la arquitectura
La arquitectura se representa mediante
vistas del modelo del sistema
Representa elementos significativos de
cada modelo
Es una descripcin pequea del sistema
Sirve como visin comn para los
desarrolladores
Responsable: el arquitecto del software
Un proceso centrado en la arquitectura
Casos de uso y arquitectura

Software del sistema
Capa intermedia
Sistemas heredados
Estndares y polticas
Requisitos no funcionales
Necesidades de distribucin
Casos de uso
Arquitectura
Experiencia
Un proceso centrado en la arquitectura
La arquitectura es necesaria para:
Comprender el sistema: Los desarrolladores,
directivos, clientes y usuarios deben estar
capacitados
Organizar el desarrollo: Subsistemas,
interfaces bien definidas y responsables por
subsistemas
Fomentar la reutilizacin: Desarrollo de
componentes reutilizables
Hacer evolucionar el sistema
Un proceso centrado en la arquitectura





Negociar con el cliente para ajustar los
casos de uso
Casos de uso

Arquitectura
conduce gua
Un proceso centrado en la arquitectura
La arquitectura se desarrolla
principalmente en la fase de elaboracin
Qu casos de uso tener en cuenta?
Los que representen riesgos ms importantes
Los ms importantes para el usuario
Funcionalidades significativas
Lnea base de la arquitectura
Esqueleto con pocos msculos
Un proceso centrado en la arquitectura
Lnea base de la arquitectura:
Sistema pequeo y flaco
Versin de todos los modelos del sistema
Arquitectura estable
Descripcin de la arquitectura
Constituye los pilares del sistema
Utilizacin de patrones de diseo
Un proceso centrado en la arquitectura
Descripcin de la arquitectura
Conjunto de vistas de los modelos de la lnea
base de la arquitectura
Incluye elementos arquitectnicamente
significativos
Debe mantenerse actualizada
Incluye requisitos adicionales (seguridad,
distribucin, concurrencia, etc.)
Destaca los temas de diseo ms importantes
Un proceso centrado en la arquitectura
Descripcin de la arquitectura
Elementos privados de los subsistemas no
suelen ser significativos
Se obtiene a partir de una fraccin de los
casos de uso
Menos del 10% de las clases son relevantes
La mayora de la funcionalidad es fcil de
implementar a partir de la arquitectura
El arquitecto crea la arquitectura
Un proceso centrado en la arquitectura
La vista de la arquitectura del modelo de
casos de uso
Se representan los actores y casos de uso ms
importantes

Cliente del
banco
Sacar dinero
Un proceso centrado en la arquitectura
La vista de la arquitectura del modelo de
diseo
Subsistemas e interfaces ms importantes
Clases muy importantes (activas)
Gestor de
Cliente
Gestor de
Cuentas
Gestor de
Transacciones
ITransferen
subsystem
Gestin de
Cuentas
subsystem
Transacciones
IRetirada
IEntrega
subsystem
Interfaz del CA
Un proceso centrado en la arquitectura
La vista de la arquitectura del modelo de
despliegue
Arquitectura fsica del sistema
Los objetos activos se asignan a los nodos

:Cliente CA
:Gestor de
Cliente
:Servidor apl
:Gestor de
Transacciones
:Servidor datos
:Gestor de
Cuentas
Un proceso centrado en la arquitectura
La vista de la arquitectura del modelo de
implementacin
Correspondencia entre modelos de diseo y
despliegue
Subsistema de servicio componente

Cliente.exe
exe
Un proceso iterativo e incremental
Objetivos:
Atenuacin de riesgos
Obtencin de una arquitectura robusta
Gestin de requisitos cambiantes
Permitir cambios tcticos
Conseguir una integracin continua
Conseguir un aprendizaje temprano
Un proceso iterativo e incremental
Iteracin genrica:
Planificacin
Requisitos
Anlisis
Diseo
Implementacin
Prueba
Evaluacin de la iteracin
Un proceso iterativo e incremental
Fases del proceso:
Inicio: Objetivos del ciclo de vida
Establecer mbito del sistema
Reducir peores riesgos
Preparar el anlisis del negocio
Elaboracin: Arquitectura del ciclo de vida
Obtener lnea base de la arquitectura
Capturar mayora de requisitos
Reducir siguientes riesgos
Un proceso iterativo e incremental
Fases del proceso
Construccin: Funcionalidad operativa inicial
Desarrollo del sistema entero
Transicin: Versin del producto
Producto preparado para su entrega al usuario
Se ensea a los usuarios a utilizarlo
Referencias
Ivar Jacobson, Grady Booch, James
Rumbaugh, El Proceso Unificado de
Desarrollo Software, Addison Wesley,
1999

También podría gustarte