Académique Documents
Professionnel Documents
Culture Documents
Construccin de un rascacielos
Planificacin Irreal
Personal Inapropiado
Planificacin Irreal
CAUSAS
Prcticas pobres de ingeniera
Carencia de mtricas de calidad
Inadecuado entrenamiento en calidad
Decisiones de los directivos guiadas
por una planificacin irreal
CONSECUENCIAS
Personal Inapropiado
PROBLEMAS
COMUNES
Cambios NO controlados
HECHOS a RECORDAR:
Siempre ocurren cambios en los requerimientos.
Los planes del proyecto se basan en el alcance del
trabajo conocido.
Los cambios siempre requieren ms trabajo.
Sin planes detallados, los equipos no pueden
estimar el efecto o magnitud de los cambios.
Si los equipos no controlan cada cambio, se
pierde gradualmente el control del plan del
proyecto
11
Cmo enfrentarla?
Cmo?
INGENIERIA Y GESTION
DE SOFTWARE
14
Sntomas - Causas
Sntomas
Diagnstico
necesidades usuarios
requerimientos
cambiantes
Causas
requerimientos
insuficientes
comunicacin ambigua
mdulos no calzan
arquitecturas frgiles
poco mantenible
complejidad excesiva
tarda deteccin
inconsistencias no
detectadas
baja calidad
prueba pobre
baja performance
evaluacin subjetiva
versiones y cambios
desarrollo en cascada
liberacin y
distribucin
cambios no controlados
automatizacin
insuficiente
resuelve
el problema
17
Verique
Calidad
Controle Cambios
18
Ing. de
Performance
Analisis
Jefe de
Proyecto
Develop Iteratively
Manage
Requireme
nts
Use
Component
Architectures
Model
Visually
Verify
Quality
Desarrollador
Probador
Control Changes
Liberacin y Distribucin
20
CAUSAS
Requerimientos
insuficientes
Comunicacin ambigua
arquitecturas frgiles
complejidad excesiva
inconsistencias no
detectadas
testing pobre
MEJORES PRCTICAS
desarrolle iterativamente
adm. requerimientos
use arquitectura de
componetes
modele el software
visualmente
verifique calidad
controle cambios
evaluacin subjetiva
desarrollo en cascada
cambios no controlados
automatizacin
insuficiente
21
Desarrolle
Iterativamente
Valida tempranamente
las decisiones arquitectnicas
Use
Arquitecturas
de Componentes
Modele
Visualmente
Verique
Calidad
Controle
Cambios
22
23
Sumario
24
fa
a
r
iog
l
b
Bi
Lecturas Recomendadas
25
fa
a
r
iog
l
b
Bi
Lecturas Recomendadas
26
27
Atributos
blanco
Partes
28
. . .
end;
29
Cambiar luz
TSemforo = class
.....
Cambiar luz();
end;
30
Atributos
31
32
Proceso de Desarrollo de
Software
33
Proceso
Define quin est haciendo qu, cundo y
cmo para alcanzar un determinado objetivo.
Sistema informtic
34
35
UML
37
Lenguaje de modelacin
Puede ser un seudocdigo, cdigo,
imgenes, diagramas, o largos paquetes
de descripcin; es decir, cualquier cosa
que ayude a describir un sistema
+
38
Lenguaje de modelacin
(Forma de (Descripcin de
expresar el lo que significa
modelo) esa modelacin)
39
Notacin visual
Manejar la complejidad
Interface 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
40
Situacin de partida
Diversos mtodos y tcnicas OO, con muchos aspectos en
comn pero utilizando distintas notaciones
Inconvenientes para el aprendizaje, aplicacin,
construccin y uso de herramientas, etc.
Pugna entre distintos enfoques (y correspondientes
gurs)
41
UML
Qu es el UML- Unified
Modeling Language?
Lenguaje Unificado de Modelacin
UML
Qu es el UML- Unified
Modeling Language?
Lenguaje Unificado de Modelacin
UML
Visualizar
Construir
Especificar
Documentar
44
UML no es un mtodo
El UML es una gua al desarrollador para realizar
el anlisis y diseo orientado a objetos, es un
proceso
El UML es un lenguaje que permite la modelacin
de sistemas con tecnologa orientada a objetos
Orgenes de UML
UML 2.0
UML 1.5
UML 1.1
UML 1.0
UML partners
UML 0.9
Web - June 96
OOPSLA 95
Other methods
Booch method
OMT
OOSE
47
Rational Software
Corporation. (1995)
Contribuciones a UML
Diagrama de Casos de uso
OOSE/Jacobson
Diagrama de Clases
Diagrama de Objetos
OOAD/Booch
OMT/Rumbaugh
Diagrama de Secuencia
Diagrama de Estado
Diagrama de Componentes
Diagrama de Estructura Compuesta
Diagrama de Paquetes
Otras mejores
prcticas
Diagrama de Comunicacin
Diagrama de Actividad
Diagrama de Tiempo
Diagrama de Despliegue
51
Ventajas de UML
Es un lenguaje formal ya que cada elemento
del lenguaje tiene un significado fuerte que
ayuda a modelar un aspecto particular del
sistema.
Es conciso con una notacin simple.
Es comprensible porque describe todos los
aspecto importante del sistema.
Es escalable por lo que permite describir
proyectos de diferentes tamaos.
52
Ventajas de UML
Contiene las mejores prcticas de la
comunidad orientada a objetos de los
ltimos 15 aos.
Es un estndar abierto.
Da soporte a todo el ciclo de vida de
desarrollo del software.
Da soporte a diversas reas de aplicacin.
Est soportado por muchas herramientas.
53
Limitaciones de UML
Carece de un semntica precisa, lo que ha
dado lugar a que la interpretacin de un
modelo UML no pueda ser objetiva en
ocasiones.
No se presta con facilidad al diseo de
sistemas distribuidos. En estos sistemas
son importantes factores como transmisin,
serializacin, persistencia, etc. No se puede
sealar si un objeto es persistente o
remoto.
54
Un proceso de desarrollo de
software debe ofrecer un conjunto
de modelos que permitan expresar
el producto de software desde cada
una de las perspectivas de inters
55
Qu es un producto de software?
Un producto de software es el cdigo
mquina y los ejecutables de un sistema
Un producto de software es el conjunto de
artefactos que se necesitan para
representarlo en forma comprensible para:
Las mquinas.
artefactos?
Los trabajadores.
Los usuarios.
Los interesados.
56
Artefactos?
Trmino general aplicable a
cualquier tipo de informacin
creada, cambiada o utilizada por
los trabajadores en el desarrollo
del sistema
Ejemplos:
Diagramas UML y su texto.
Bocetos de interfaz.
Planes de prueba.
57
Modelos y Diagramas
58
Modelos
Modelo de
Casos de Uso
Modelo de
Anlisis
Modelo de
Diseo
Secuencia
Trazabilidad entre
cronolgica
los modelos
Modelo de
Prueba
Modelo de
Implementacin
Modelo de
Despliegue
59
Diagramas de UML
Diagrama
Dnde aparece?
Caso de uso
1.x
Actividad
1.x
Clase
1.x
Objeto
Informalmente 1.x
Secuencia
1.x
Comunicacin
Tiempo
2.0
Estructura interna
2.0
Componente
Paquete
2.0
Estado
1.X
Despliegue
1.x
Estructura
Dinmica
Fsica
Modelos y Diagramas
Diagrama de Casos de
Uso del Negocio
Diagrama de Casos de
Uso del Sistema
Diagrama de Actividades
Modelo de
Casos de Uso
Diagrama de Secuencia
Diagrama de Comunicacin
Diagrama de Estado
Diagrama de Paquetes
61
Diagramas de UML
Casos de Uso y Diagramas de Casos de Uso
Casos de uso
Diagrama de casos de uso
62
Cliente
Solicitar Prstamo 63
Diagramas de UML
Diagramas de estructura esttica
Diagrama de clases
Diagrama de Objetos
64
Diagrama de clases
Un diagrama de clases presenta las clases
del sistema con sus relaciones
estructurales y de herencia
La definicin de clase incluye definiciones
para atributos y operaciones
El modelo de casos de uso aporta
informacin para establecer las clases,
objetos, atributos y operaciones
Departamento
Profesor
0..1
1..*
65
Diagramas UML
Diagrama de Secuencia
Diagrama de Comunicacin
66
Diagrama de estado
alta
baja
Socio
nmero : int
nombre : char[50]
nmero_prestamos : int = 0
sin prstamos
nmero_prstamos = 0
alta()
baja()
prestar(cdigo_libro : int, fecha : date)
devolver(cdigo_libro : int, fecha : date)
prestar
devolver[ nmero_prstamos = 1 ]
nmero_prstamos > 0
con prstamos
prestar
67
Diagrama de actividades
Buscar bebida
hay caf?
NO
S
Poner caf en
filtro
Aadir agua al
depsito
hay jugo?
S
Coger taza
Servir jugo
Servir caf
Beber
NO
Poner filtro en
mquina
Encender
mquina
Hacer caf
68
Diagrama de secuencia
: Encargado
:WInPrstamos
:Socio
:Video
:Prstamo
prestar(video, socio)
verificar situacin socio
verificar situacin video
registrar prstamo
entregar recibo
69
Diagrama de comunicacin
:Socio
:Video
2: verificar situacin socio
1: prestar(video, socio)
5: entregar recibo
: Encargado
4: registrar prstamo
:Prstamo
70
Diagramas de UML
Diagramas de implementacin
Diagramas de componentes
Diagramas de instalacin/Distribucin
(Despliegue)
Diagrama de componentes
71
Diagrama de componentes
Interfaz de Terminal
Gestin de Cuentas
Rutinas de conexin
Control y Anlisis
Acceso a BD
72
Diagrama de despliegue
Servidor Central
Control y Anlisis
Comment
Acceso a BD
Comment
Rutinas de Coneccion
Comment
Terminal de Consulta
Rutinas de Coneccion
Comment
Punto de Venta
Interfaz de Terminal
Comment
Rutinas de Coneccion
Comment
Gestin de Cuentas
Interfaz de Terminal
Comment
Comment
73
Tomado de:
Rosenberg, Doug, Kendall Scott. Applying use case driven object
modeling with UML: an annotated e-commerce example.
74
Tomado de:
Rosenberg, Doug, Kendall Scott. Applying use case driven object
modeling with UML: an annotated e-commerce example.
75
Tomado de:
Rosenberg, Doug, Kendall Scott. Applying use case driven object
modeling with UML: an annotated e-commerce example.
76
Tomado de:
Rosenberg, Doug, Kendall Scott. Applying use case driven object
modeling with UML: an annotated e-commerce example.
77
Resumen
UML define una notacin que se expresa
como diagramas sirven para representar
modelos/subsistemas o partes de ellos
El 80 por ciento de la mayora de los
problemas pueden modelarse usando
alrededor del 20 por ciento de UML-Grady Booch
78
El Proceso Unificado de
Desarrollo
(Rational Unified Process- RUP)
79
Evolucin de RUP
1998
1997
1996
1995
1987
1967
Escuela de
Requerimientos
(Requisite Inc.)
OMT
Booch
Rational Unified
Process 5.0
Diseo OO de IU
Ingeniera de Datos
(Vigortech)
UML 1.2
Rational Objectory
Process 4.1
Proceso SQA
(SQA Inc.)
UML 1.0
Rational Objectory
Process 4.0
Rational
Approach
Objectory
Process
UML 0.8
Ericsson
81
method
Cundo ocurre el
proceso?
Cmo ocurre el
proceso y sus
detalles?
Artefactos
Modelos, reportes,
documentos
Qu se produce u
obtiene?
Trabajadores
Quin lo hace o se
responsabiliza?
82
Estructura Dinmica
Concepcin
Elaboracin
Construccin
Transicin
Tiempo
Concepcin
Elaboracin
84
85
Representa los
requerimientos
funcionales
Anlisis
Diseo
Implementacin Prueba
trace
trace
trace
Pruebas
Unitarias
Pruebas Funcionales
Caso de Prueba
87
88
En la construccin,
vista de:
A) Estructura.
B) Calefaccin.
C) Plomera.
D) Electricidad.
Estticos
Aspectos
Dinmicos
89
Vista fsica
Vista lgica
Vista de
Casos de uso
Vista de
despliegue
Vista de
componentes
Vista de
despliegue
Vista
esttica
Vista de
estado
Vista de
componentes
Vista de
Casos de uso
Vista de
actividades
Vista de
diseo
Perfil
Vista de
Gestin del
modelo
91
Hito de la
arquitectura
Hito de la
Hito de la
funcionalidad versin del
operativa
producto
Enfoque
Iterativo e
Incremental
93
94
Beneficios de la iteracin
Reduce el coste del riesgo al coste de un
solo incremento.
Menos riesgo de no sacar el producto al
mercado en fecha.
Acelera el ritmo de desarrollo.
Las necesidades del usuario y
correspondientes requisitos no pueden
definirse completamente al principio. Se
requieren iteraciones sucesivas.
95
RUP
RUP es un proceso que garantiza la elaboracin
de todas las fases de un producto de software
orientado a objetos.
RUP es dirigido por los casos de uso, centrado en
la arquitectura, iterativo e incremental.
RUP utiliza el UML.
UML y RUP
Desarrollo
en equipos
Lenguaje de
Modelamiento
Proceso
Unificado
97