Está en la página 1de 41

LA INGENIERA

DE SOFTWARE Y RUP
Primera Sesin

Objetivos
Reconocer el marco de trabajo
de la ingeniera de software
Conocer el papel que cumple el
anlisis dentro de la ingeniera
de software
Reconocer a RUP como uno de
los mejores procesos de
ingeniera de software

INGENIERA DE SOFTWARE

Ingeniera de Software
Qu es Ingeniera?
Conjunto de conocimientos y tcnicas cientficas
Qu es software?
Elemento lgico del sistema

Qu es Ingeniera de Software?
Disciplina de la informtica
ofrece

conocimientos

tcnicas

mtodos

para

Desarrollar y mantener software de calidad

Ingeniera de Software como


Tecnologa Multicapa

HERRAMIENTAS

MTODOS
PROCESO
UN ENFOQUE DE CALIDAD

Proceso de Software
conocido como

Ciclo de Vida del Software


es un

presenta

Conjunto de etapas cuyo objetivo


es obtener un Software de calidad
FASES GENRICAS:
La Fase de Definicin Qu?
La Fase de Desarrollo Cmo?
La Fase de Mantenimiento - Cambio

Modelo de Proceso de Software


es una

Estrategia de desarrollo
aplicado por ingenieros de
software
Abstraccin de un proceso
real de desarrollo de software.

define una

Metodologa:
Quin debe hacer Qu, Cundo
y Cmo debe hacerlo
Debemos :

Seleccionar el modelo de proceso de software


apropiado para el equipo del proyecto.

Modelos de Procesos de
Software
Lineal
Secuencial
DRA
Desarrollo
Concurrente

Construccin de
Prototipos
Incremental
Espiral

Ensamblaje de Componentes

Modelos de Procesos de Software


MODELO
LINEAL

Anlisis

Diseo
A

Cdigo

Entrega 1

A
Escuchar al
cliente

MODELO DE
CONSTRUCCION
DE PROTOTIPOS

Construir y
revisar la
maqueta

El cliente
prueba la
maqueta

Prueba

D
A

Entrega 2

C
D

P
C

Ent.3
P

Ent4

MODELO
INCREMENTAL

Modelado en Ingeniera

Arquitectura/Ingeniera de Estructuras
Vistas Edificio

Vista 3D
Alzado/Planta Perfil
Estructura del edificio
Instalacin Elctrica
Instalacin Aire Acc.

...

Ingeniera Software
Modelos UML del
Sistema Software

DocumentList

FileMgr

add( )
delete( )

fetchDoc(
) )
sortByName(

FileList

fList
add( )
delete( ) 1

Modelo de Casos de uso


Modelo de Anlisis
Modelo de Comportamiento
Modelo de Implementacin
Modelo de Despliegue
Document
name : int
docid : int: int
numField
get( )
open( )
close( )
read(
)
sortFileList(
)
create( )
fillDocument(

user
read() fill the
code..

mainWfileMgr
nd document
:
gFile
repository
:
FileMgr
Document

Repository

1: Doc view request ( )

3: create ( )
4: create ( )

FileManager
Document

5: readDoc ( )

rep
File
Repository
(from Persistence) read( )
name : char * = 0
readDoc( )
readFile( )

DocumentList

2: fetchDoc( )

6: fillDocument ( )

7: readFile ( )

GrpFile
read( )
open( )
create( )
fillFile( )

8: fillFile ( )



.

GraphicFile

9: sortByName ( )

File

FileList

Diagramas

Diagramas

Herramientas Modelado (ej)

Autocad

Herramientas Modelado (ej)

Rational Rose

RATIONAL UNIFIED PROCESS


RUP

Proceso de ingeniera
de software
orientado a objetos.

es un

RUP

define un

Conjunto de actividades
necesarias que transforman los
requerimientos del usuario en
el sistema de software.

especializado para

trabaja con

Diversos tipos de software de


sistemas, diversas reas de
aplicacin, diferentes tipos de
organizaciones y diferentes
tamaos de proyectos.
El mejor estndar de modelado: UML.
UML

UML
Es el lenguaje estndar de la
industria para el modelado
visual de sistemas orientados a
objeto y/o basados en
componentes
UML no es:
una metodologa o proceso
un lenguaje de programacin

RUP y el incremento de la
Productividad en Equipo

Administrador
Base de Datos

Ingeniero de
Calidad

Lder de
Proyecto
Administrador de
Configuracin

Analista
Diseador/
Desarrollador

Pruebas

BEST PRACTICES
Descripcin de enfoques
comprobados comercialmente
para el desarrollo de software

Administracin de
Requerimientos
Desarrollo
Modelamiento
Iterativo de
Visual
Verificacin
Arquitecturas
la Calidad
con
Componentes
Control de Cambios

1. Administracin de Requerimientos
Organizar y documentar la funcionalidad y
restricciones requeridas.
Los requerimientos de negocio son fcilmente
capturados y comunicados a travs de diagramas.
Llevar un registro y
documentacin de
cambios y decisiones.
verifica
realizacin
influenciado por

Los casos de uso dirigen el


trabajo desde el anlisis
hasta las pruebas

Modelo de
Diseo

Modelo de
Modelo de
Implementacin Prueba

2. Desarrollo iterativo de Software


Las caractersticas fundamentales son:
Permite un entendimiento
incremental del problema a travs de
refinamientos sucesivos.
Habilita una fcil retroalimentacin
del usuario.
Permite lograr metas especficas al
equipo de desarrollo porque sabe
que resultados generar.
El progreso es medido conforme
avanzan las implementaciones.

3. Modelamiento Visual del Software


Captura la estructura y comportamiento
de arquitecturas y componentes.
Muestra como encajan de forma
conjunta los componentes del sistema.
Mantiene la consistencia entre un
diseo y su implementacin.
Promueve una comunicacin no
ambigua.

4. Verificacin de la calidad del Software


Crea pruebas de validacin para
asegurar que todos los requerimientos
estn propiamente implementados.
Verifica la calidad del software con
respecto
a
las
especificaciones
tcnicas basadas en la confiabilidad,
funcionalidad, desempeo de la
aplicacin y del sistema.
Prueba cada iteracin

5. Arquitectura basada en Componentes


Se enfoca en el pronto desarrollo de
una arquitectura ejecutable robusta.
Resistente al cambio mediante el uso
de componentes bien definidos.
Intuitivamente comprensible.
Promueve la reutilizacin efectiva de
software.
Es la base del Software Factory.

6. Control de cambios de Software


Controlar, llevar un registro y monitorear
cambios para permitir un desarrollo
iterativo.
Establece espacios de trabajo seguros
para cada desarrollador.
Controla todos los
artefactos de software
modelos, cdigo,
Desarrollo en
Administracin de
documentos, etcEspacios
Paralelo
de Trabajo

Integracin de
Proceso

REPORT
ALERT

Administraci
de
Construcci

Qu propone Rational Unified Process


(RUP)?
QU tareas hacer ?
Actividades
QUIN las hace?
Roles
CUNDO se hace ?
Workflow
QU generar ?
Artefactos

Definiciones en RUP
ROL
Define las responsabilidades
de un individuo.
Es como un sombrero
sombrero que
la persona usa durante el
proyecto en un momento
dado.

ACTIVIDAD
Unidad de trabajo que se
asigna a un rol.
Involucra un slo rol y un
nmero pequeo de
artefactos.

ARTEFACTO
Elementos de informacin producidos,
modificados o usados por el proceso.
Usados por los roles para realizar
nuevas actividades y son el resultado
de esas actividades.

ASIGNACION DE ACTIVIDADES
Cmo realizo una asignacin de actividades?

Recurso

Rol

Actividad

Pablo

Diseador

Diseo de Objetos

Mara

Autor de Casos de Uso

Detallar un Caso de Us

Jos

Diseador de Casos de UsoDisear un Caso de Us

Silvia

Revisor de Diseo

Revisar el Diseo

Arquitecto

Anlisis de Arquitectura
Diseo de Arquitectura

Eduardo

FLUJOS DE TRABAJO
Es una lista de
actividades,
roles y
artefactos.
Es una
secuencia
de actividades
que produce un
resultado de
valor.

Anlisis de
Arquitectura

Diseo de
Arquitectura

Describir
Concurrencia

Describir
Distribucin

Arquitecto
Anlisis de
Casos de Uso

Diseo de
Casos de Uso

Diseador de
Casos de Uso
Anlisis de
Objetos

Diseo de
Objetos

Diseador

Revisor de
Diseo

Revisar el
Anlisis

Revisar el
Diseo

Revisar la
Arquitectura

ESTRUCTURA DE RUP
Flujos de Trabajo de Procesos

Fases
Inicio

Elaboracin

Construccin

Transicin

Modelado del Negocio

Contenido

Requisitos
Anlisis y Diseo
Implementacin
Prueba
Puesta en Marcha

Flujos de Trabajo de Soporte


Adm. Configuracin
Adm. de Proyectos
Ambiente o Entorno
Iteracin(es) Iter.
Preliminar #1

Iter.
#2

Iter.
#n

Iter. Iter.
#n+1 #n+2

Iter. Iter.
#m #m+1

Iteraciones

1. FASES DE RUP
Inicio

Elaboracin

Metas
Principales

Construccin

Transicin

<------------------------------------Tiempo------------------------------------>

Definir el alcance y
objetivos del proyecto.

Construir y operar el producto.

Elaborar el Plan del proyecto,


Especificacin de caractersticas
y Arquitectura base del sistema.
Reportes

Facturacion

Reserva

Hospedaje

Seguridad

Consumo

Capa
Especfica

-------------------------------------------------------------------------------------------...

Maestro
Clientes

Maestro de
Habitacion

Servicios

Capa
General

Trasladar el producto
a la comunidad del
usuario.

2. ITERACIONES
Cada fase puede
descomponerse en iteraciones

Liberaciones

INICIO
Iteracin
Preliminar

ELABORACIN

CONSTRUCCIN

Iteracin de Iteracin de Iteracin de Iteracin de Iteracin de


Arquitectura Arquitectura Desarrollo
Desarrollo Desarrollo

iteraciones

internas

TRANSICIN
Iteracin de Iteracin de
Transicin Transicin

externas

3. FLUJOS DE TRABAJO
Secuencia de actividades que producen un
resultado de valor observable

Flujos de Trabajo para el desarrollo del sistema


Modelado del negocio
Requerimientos
Anlisis y Diseo
Implementacin
Prueba
Implantacin
Flujos de Trabajo para la gestin del proyecto
Configuracin y administracin de cambios
Administracin del proyecto
Administracin del entorno

3.1. Modelo del Negocio


Su objetivo es que el analista entienda
los procesos de la empresa que son el
contexto que necesita para realizar su
propuesta informtica.
Asegurarse que
clientes, usuarios,
desarrolladores y
otros involucrados
tengan igual
entendimiento de la
empresa.

3.2. Requerimientos
Los desarrolladores y clientes deben
acordar qu es lo que el sistema debe
hacer:
Documentar funcionalidad y restricciones
Relevar requerimientos
Documentar decisiones
Identificar actores
Identificar casos de uso

3.3. Anlisis y Diseo


Descripcin de cmo se implementar el
sistema: un plano
Definicin de la arquitectura tecnolgica,
de datos y funcional
Identificacin de los componentes
Planteamiento de algoritmos
Definicin de patrones de diseo

3.4. Implementacin
Definir la organizacin del cdigo
Implementar clases y objetos en forma de
componentes (fuente, ejecutables, etc.)
Probar los componentes desarrollados
Integrar los componentes en un sistema
ejecutable.

3.5. Pruebas
Verificar la interaccin entre los objetos
Verificar la integracin apropiada de
componentes
Validar
que
se
satisfacen
los
requerimientos
Identificar los defectos y corregirlos antes
de la instalacin.

3.6. Distribucin /Despliegue


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

3.7. Administracin de Proyectos


Gestiona el cumplimiento de objetivos,
maneja riesgos y conduce la produccin
del software hacia la satisfaccin de
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.

3.8. Configuracin y Administracin de


Cambios
Forma de controlar los artefactos
producidos por las personas que trabajan
en el proyecto.
Algunos problemas habituales:
Actualizaciones simultneas
Mltiples versiones
RUP da guas para:
Control de versiones
Seguimiento a los cambios
Administrar defectos

3.9. Administracin del Entorno


Prepara el ambiente y herramientas de
despliegue que harn posible llevar a
cabo el proyecto.
RUP gua en la configuracin de un
ambiente de proceso apropiado a cada
proyecto.
Provee el soporte al equipo de desarrollo
durante todo el ciclo de vida del proyecto.

Proceso de Desarrollo
con UML
Dirigido por los
Casos de Uso

Centrado en la
Arquitectura

Iterativo e
Incremental

Conclusiones
La Ingeniera de software ofrece
conocimientos, tcnicas y mtodos para
desarrollar y mantener software de calidad
RUP es un proceso de ingeniera de
software orientado a objetos.
RUP captura varias de las mejores
prcticas en el desarrollo moderno de
software.
RUP trabaja con el mejor estndar de
modelado: UML.

También podría gustarte