Agustn J. Gonzlez
ElO329: Diseo y Programacin
Orientados a Objeto
Tomado de:
http://www.dsic.upv.es/~uml
http://inst.eecs.berkeley.edu/~cs169/
entre otras fuentes.
Definicin
Construccin de un rascacielos
Claves en Desarrollo de SI
Notacin
(UML)
Herramientas
(Ej: Rational Rose)
Proceso
(Metodologas
Ej: ITIL, Extreme Programming
RUP: Rational Unified
Process)
envo
Proceso de Negocios
Sistema Computacional
Interfaz de Usuario
(Visual Basic,
Java, ..)
Mltiples Sistemas
Servidor de BDs
(C++ & SQL, ..)
Modelar el sistema
independientemente
del lenguaje de
implementacin
Componentes
Reutilizados
Promover la Reutilizacin
Por qu la Orientacin a
Objetos?
Problemas en OO
...Los conceptos bsicos de la OO se conocen
desde hace dos dcadas, pero su aceptacin
todava no est tan extendida como los beneficios
que esta tecnologa puede sugerir
Problemas en OO
Proceso de Desarrollo
de SW
El proceso de desarrollo
Completo
Se da en un contexto y dependiendo el
texto o investigador destaca ms o menos
etapas.
El ms completo que he visto incluye:
Sueo
Investigacin
Desarrollo
Lanzamiento
Soporte
Tiempo
Qu es un Proceso de Desarrollo de
SW?
Sueo
de Software
Tiempo y Costos
Aspectos tecnolgicos
Gestin de Proyectos
Etapas de un proyecto de
Etapas / Hitos escenciales rqueridos en un proyecto de
Software
desarrollo de software:
Confeccin de Propuesta
Estimacin de esfuerzos y planificacin del proyecto. Uso
de tcnicas (COCOMO) y estadisticas de proyectos
similares al que se dessarrollar, entrevistas a personas
con experiencia en proyectos similares al que se
desarrollar
Definicin del alcance del proyecto
Costos
Etapas de un proyecto de
Software
(cont)
Arquitectura (Dominio de la Solucin)
Construccin / Codificacin
Entendimiento real del diseo ( solucin) a programar
Programacin eficiente y optima del cdigo fuente
Comentar en forma entendible y razonable el cdigo
fuente
Construccin de programa de TEST
Prueba unitaria del desarrollador mediante un programa
de TEST
Pruebas Unitarias
Realizacin de plan de pruebas
Pruebas Integradas
Etapas de un proyecto de
Software (cont)
Capacitacin a Usuarios
Confeccin de Manuales de Usuario
Reuniones con usuario final
Puesta en Produccin
Confeccin de plan de puesta en produccin
Marcha Blanca
Garanta
Resolucin de Incidencias
Planificar y Evaluar
Proyectos ...
Podr cumplir con los
plazos?
Estar dentro de lo
presupuestado?
El cliente quedar
satisfecho?
Las Metodologas pueden ser la ayuda que
Procesos,
Metodologas
XP (Programacin Extrema)
La familia Cristal de Cockburn
Cdigo Abierto
ASD (Desarrollo de Software Adaptable)
SCRUM
FFD (Desarrollo Manejado por Rasgos)
DSDM (Mtodo de desarrollo de sistema
dinmico)
RUP (Rational Unified Process)
Metodologas en rea TI
Ms detalles aqu.
Desarrollo de software:
Caractersticas de RUP ...
Guiado y Manejado por Casos de Uso
Centrado en la Arquitectura
Iterativo e Incremental
Desarrollo Basado en Componentes
Utilizacin de UML
Proceso Integrado
Principales metodologas en el
tiempo
Definicin de
Requerimientos
Construccin/Pruebas
Modelo
Tradicional
de Cascada
Implementacin y
Test Unitarios
Integracin y
test del sistema
Operacin y
mantencin
Tiempo
Modelo
Iterativo
Incremental
Iteracin 1
Iteracin 2
R
A&D
R
A&D
A&D
C
Tiempo
Iteracin 3
C
P
Requerimientos
Anlisis &
Diseo
Construccin
Pruebas
Distribucin
Concepcin
reas de trabajo
(Workflow)
Elaboraci
n
Construcci
n
Transicin
A& D
A&D
A& D
A& D
Iteracin
Preliminar
Iteraci
n
1
Iteraci
n
2
....
....
Iteraci
n
n
Iteraci
n
n+1
Tiempo
Concepcin
Aceptacin
del cliente
Elaboracin
Construccin
Transicin
Tiempo
Hito
Objetivos,
visin
Hito
Arquitectura
Hito
Capacidad
Operacional
Liberacin
Producto
Desarrolle Iterativamente
Administre los
Requerimientos
Use
Arquitectura
de
Componentes
Modele
Visualmente
Verifique
Calidad
RationalObjectory Process
1996-1997
Objectory Process
1987-1995
Enfoque Ericsson
Pruebas funcionales
Pruebas de desempe
Gestin de requisitos
Gestin de cambios y
configuracin
Ingeniera de Negocio
Ingeniera de datos
Diseo de interfaces
UML
Primarios
Implementacin
Pruebas
Despliegue, distribucin
Gestin de configuracin y cambios
Gestin del proyecto
Entorno
De Apoyo
Artefactos
Es el Resultado parcial o final que es producido y
usado durante el proyecto. Son las entradas y
salidas de las actividades
Un artefacto puede ser un documento, un
modelo o un elemento de modelo
Conjuntos de Artefactos
Business Modeling
Set
Requirements Set
Deployment Set
Project Management Set
Implementation Set
Environment Set
Test Set
Caractersticas Esenciales de
RUP
Requisitos
Anlisis & Diseo
Implementacin
Pruebas
Casos de Uso
integran el
trabajo
Realizar los
casos de uso
Verificar que se
satisfacen los
casos de uso
trace
trace
trace
Pruebas
Unitarias
Pruebas Funcionales
Caso de Prueba
[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999]
n veces
Codific.
Pruebas e
Integracin
Enfoque
Iterativo e
Incremental
La arquitectura de un sistema es la
organizacin o estructura de sus partes ms
relevantes
Un arquitectura ejecutable es una
implementacin parcial del sistema, construida
para demostrar algunas funciones y
propiedades
Architecture
Construccin
Transicin
Elaboration
Construction
Transition
15%
Requisitos
Una iteracin en la
fase de elaboracin
Anlisis
10%
Diseo
15%
30%
Implementacin
15%
Pruebas
P re lim ina ry
Ite ra tion (s)
ite r.
#1
ite r.
#2
ite r.
#n
ite r.
# n+ 1
ite r.
#n+2
ite r.
#m
ite r.
#m +1
Elaboration
Construction
Transition
Requisitos
Una iteracin en la
fase de elaboracin
Anlisis
Diseo
Implementacin
Pruebas
P re lim ina ry
Ite ra tion (s)
Esfuerzo:
5%
ite r.
#1
ite r.
#2
20%
ite r.
#n
ite r.
# n+ 1
65%
ite r.
#n+2
ite r.
#m
ite r.
#m +1
10%
Vista
Controlador
Modelo