Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Docente:
Luis Emilio Velásquez Restrepo
Tecnológico de Antioquia
CONTENIDO
• Modelado con UML
• Comunicación de proyectos
• Obtención de requerimientos
• Análisis
• Diseño: de Sistema y de Objetos
• Administración de la Fundamentación
• Pruebas
• Administración de la configuración y del
proyecto
UML
UML = Lenguaje Unificado de Modelado.
Uso 1
Uso 2
Actor 2
Actor 1
Uso 3
Sistema
Son usos que agrupados
<< incluir >> conforman el otro uso
Ejemplo:
Retirar: Verifica cuenta
Consulta saldo
Hace el retiro
Se aumenta el detalle
<< Extiende >> Ejemplo:
Forma de pago: Efectivo
Cheque
Tarjeta
Solicitar Bienes
o servicios
Iniciador
Enviar Factura
Iniciador al comprador
Comprador Vendedor
Pagar Factura
<<Extiende >> Iniciador
Realizar Pagar Recargo por
Transacción saldo deudor
Sistema de
Cuentas bancarias
comprador
Casos de uso para un sistema de Pagos y Facturación que soporta el caso de uso del negocio
Ventas: Del Pedido a la Entrega. El papel de iniciador, contacto a las asociaciones, indica qué
el actor comienza el caso de uso.
Diagrama de Clases
Representa las clases con sus atributos y métodos
asociados. También muestra las relaciones entre las
clases.
Atributos - Privado
# Protegido
Métodos
Multiplicidad: obligatoria
PEDIDO CLIENTE
fechaRecibo 1 Nombre
prepagado * dirección
cantidad: String
precio: Dinero
Despachar () ClasificacionCredito(): String
Asociación
cierra ()
Generalización
Restricción 1
[ si Pedido cliente.clasificacion es “Pobre”,
entonces Pedido.prepagado debe ser
verdadero] Cliente Corporativo Cliente
Nombre NombreContrato Personal
del papel CalificacionCredito
limiteCredito NroTarCredito
Multiplicidad Atributos
Artículos Recuerda ()
Varios valores FactuMes (Entero)
de línea * Métodos [ callificacionCredito ( ) ==
Línea de Pedido * “Pobre”]
Representante
Cantidad: Integer Ventas
precio: Dinero 0..1
Satisfecho: Boolean Empleado
* 1 Multiplicidad
Producto opcional
Clase
Nombre de Papel de B
la Clase Clase A Clase B
Papel de A
Nombre de la Clase
Generalización * Muchos
Clase (cero o más)
Subtipo
m..n Especificado
Subtipo 1 Subtipo 2 Clase Numéricamente
Restricción Agregación
Clase
(Descripción de la condición)
Composición
Clase
Estereotipo
Generalización
Clase
(< nombre del Estereotipo >)
Asociación
Clase
Nota
Asociación Calificada
Comentario
Clase calificador
Navegabilidad
Objeto
Nombre del Papel
Origen Destino
Nombre objeto: Nombre Clase
Dependencia
Clase A Clase B
Diagrama de Estado
Describe los estados por los que pasa el
sistema y el evento que hace pasar de un
estado a otro.
Inicio del estado
Estado
Fin del estado
Características Estado 1
Transición
Actividades
Estado 2
[ No se reciben todos
Los artículos / Obtiene [ Todos los artículos comprobados &&
Siguiente Artículo ] todos los Artículos disponibles ]
Comprobación Despachado
Hace / revisa Hace / inicia
Artículo s Entrega
d os lo
[ Todos los artículos o
d os, t
comprobados && algunos bi ]
reci ibles
artículos no inventariados ] s
t íc ulo ispon
[ Ar ulos d
c
[ Artículos recibidos ] artí Cancelado
Espera
Cancelado
Cancelado Entregado
[necesitaReorden]
Nuevo
regreso Un Articulo
de Reorden
[Hay Existencia]
Nuevo
Un Articulo
para entregar
creación
DIAGRAMA DE PAQUETES DIAGRAMA DE CASO DE USO
Nombre del
paquete
<< usa >>
Un Objeto
crea nodo
Nuevo Objeto
Mensaje Componente 1
Autodelégacion
Regreso
Componente 2
Borra
x
Comunicación de Proyectos
• Conocimientos de expertos en: Dominios,
Analistas, diseñadores, programadores,
Administrativos, escritores, diseñadores
gráficos, entre otros. Es muy importante
que todos se comuniquen.
• Modo de comunicación: por fechas, por
eventos.
• Mecanismos de comunicación (Canal):
Sincrónico, asincrónico.
• Revisión de los asuntos de transición
Comunicación de Proyectos
• Definición del problema:
– Alcance
– Requerimientos: funcionales y no funcionales
– Criterios de Adaptación
• Revisión del cliente
• Inspecciones y pruebas de recorrido
• Revisiones de estado
• Lluvia de ideas
Comunicación de Proyectos
• Lanzamiento: Poner en conocimiento
• Revisión Post Mortem: Posventa o
después de la entrega
• Peticiones de aclaraciones.
• Petición de cambio.
• Resolución de problemas.
• Discusión.
Mecanismos de Comunicación
• Conversaciones de pasillo
• Cuestionarios y entrevistas estructuradas
• Reuniones
• Revisiones
• Groupwere en distintos lugares y al tiempo
• Correo electrónico
• Grupos de Noticias.
Actividades de Comunicación del
Proyecto
• Identificación de las necesidades de
comunicación
• Instalación de una infraestructura
• Organización de las revisiones del cliente
y del proyecto
• Organización de reuniones de equipo
semanales
Obtención de Requerimientos
Requerimiento: Es una característica que
debe tener el sistema o una restricción que
debe satisfacer para que sea aceptado por
el cliente.
Abrir incidente
Oficial Despachador
Asignar Recursos
Heurísticos para la Identificación
de los Objetos de Análisis
• Términos que los desarrolladores o usuarios
necesitan para comprender un caso de uso.
• Nombres recurrentes en casos de uso.
• Entidades del mundo real de las que el sistema
toma términos.
• Procesos del mundo real
• Casos de uso
• Origen o Destino de los Datos
• Interfaz
• Términos del Dominio de aplicación
ANALISIS
• Objetos de entidad, Frontera y
Control
• Revisión de la Multiplicidad de las
asociaciones (1..1, 1..*, *..*)
• Asociaciones calificadas
• Generalización
• Diagrama de secuencia
Actividades de Análisis
Desde Casos de uso hasta los Objetos
• Identificación de:
– Objetos de Entidad
– Objetos de Frontera
– Objetos de Control
– Asociaciones entre los Objetos
• Modelado de interacciones entre los
objetos
• Documentación del Análisis
Actividades de Análisis
Desde Casos de uso hasta los Objetos
• Asignación de Responsables
• Comunicación acerca del Sistema
• Documentación del Análisis
Presentación Formato
CORBA
OBJETO
Sesión Conexión
Transporte Mensaje
Vinculo marco
Cliente
Proyecto Clase
Datos
Main Métodos
Servidor
Cliente Servidor
Petición
URL
HTML
Archivo Consulta
Base de Datos
Explorer
Componente
ADMINISTRACION DE LA
FUNDAMENTACION
• Un panorama de la fundamentación
• Conceptos de fundamentación
• Actividades de la fundamentación de
los problemas a las decisiones.
• Administración de la fundamentación.
UN PANORAMA DE LA
FUNDAMENTACIÓN
• La fundamentación es la motivación que hay
detrás de una decisión. incluye: Problemas,
Alternativas, Criterios, Argumentación,
Decisiones.
• Niveles de captura de la fundamentación:
– Captura de fundamentación no explícita
– Reconstrucción de la fundamentación
– Captura de fundamentación
– Integración de la fundamentación
Captura de fundamentación no
explícita.
Los recursos se gastan sólo en el
desarrollo. La documentación se enfoca
sólo en los modelos del sistema. La
información de la fundamentación está
presente únicamente en la memoria de los
desarrolladores y en los registros de
comunicación, como los mensajes de correo
electrónico, memorandos y faxes.
Reconstrucción de la
fundamentación
Se gastan recursos en la recuperación de la
fundamentación del diseño durante el
esfuerzo de documentación. El criterio de
diseño y la motivación que está detrás de
las decisiones arquitectónicas principales se
integra con los modelos del sistema
correspondientes. Las alternativas y
argumentaciones descartadas no se
capturan en forma explícita.
Captura de fundamentación
Se hace un gran esfuerzo en la captura de la
fundamentación conforme se toman las
decisiones, se documenta como un modelo
separado y con referencias cruzadas hacia los
demás documentos. Por ejemplo, la
motivación para el modelo de análisis de
requerimientos se captura en el Documento de
fundamentación del análisis de requerimientos
(RARD, por sus siglas en inglés),
complementando al Documento de análisis de
requerimientos (RAD, por sus siglas en
inglés).
Captura de fundamentación
• Documentación de la fundamentación
• Asignación de responsabilidades
• Heurística para la comunicación acerca de
la fundamentación
• Modelado y negociación de problemas
• Estrategias para la resolución de
conflictos
1. Introducción
1.1 Propósito del documento Documentación
1.2 Objetivos del diseño de la
1.3 Definiciones, siglas y abreviaturas fundamentación
1.4 Referencias
1.5 Panorama
2. Fundamentación para la arquitectura de software actual
3. Fundamentación para la arquitectura de software
propuesta
3.1 Panorama
3.2 Fundamentación para la descomposición en subsistemas
3.3 Fundamentación para la correspondencia entre hardware
y software . 3.4 Fundamentación para la administración de
datos persistentes
3.5 Fundarnentación para el control del acceso y la seguridad
3.6 Fundarnentación para el control del software global
3.7 Fundamentación para las condiciones de frontera
Glosario
Asignación de responsabilidades
• Secretario de actas registra la fundamentación
en las reuniones
• Editor de fundamentación recolecta y organiza
la información relacionada con la
fundamentación
• Revisor examina las fundamentaciones
capturadas por el editor de fundamentación e
identifica brechas que necesiten reconstruirse.
• La mayoría gana.
• El propietario tiene la última palabra.
• La gerencia siempre está en lo correcto.
• Los expertos siempre tienen la razón.
• El tiempo decide.
Estrategias para la resolución de
conflictos
Las estrategias La mayoría gana y El
propietario tiene la última palabra no funcionan
bien. Ambas producen resultados
inconsistentes (multiplicidad de tomadores de
decisiones) y decisiones que no están bien
apoyadas por el resto de los participantes. Las
estrategias La gerencia siempre está en lo
correcto y Los expertos siempre tienen la
razón conducen a mejores decisiones técnicas
y a mejor consenso cuando el gerente y el
experto tienen suficiente conocimiento.
Estrategias para la resolución de
conflictos