2. Indicador de Logro 2: Realiza el diseño del sistema, según el ciclo
de vida del desarrollo de software
Logro de Sesiones 5 a 8:
Al finalizar las sesiones el participante realiza el diseño de los
requerimientos del sistema, de acuerdo con las necesidades de la
organización identificada.
3. CONTENIDOS OAGENDA DE CLASE
• Revisión Ficha de Proyecto
• Repaso.
• Evaluación Diagnóstica.
• Diagrama de Clases.
5. Repaso Escenarios de Casos de Uso
• Escenario de Caso de Uso: Secuencia específica de
acciones que describen un comportamiento.
• El comportamiento hace referencia a un camino
particular definido en la descripción general del caso
de uso.
• Los escenarios pueden ser:
• Escenario nominal (convencional).
• Escenario(s) alternativo(s).
• Escenario excepcional.
• Escenario de manejo de errores.
6. Repaso Elementos de Especificación de Casos de Uso
1. Identificador.
2. Fuentes.
3. Actor.
4. Descripción.
5. Dependencia.
6. Pre condición.
7. Flujo básico.
8. Flujos alternos.
9. Post condición.
10.Puntos de inclusión.
11.Puntos de extensión.
12.Notas.
7. Repaso Elementos de Especificación de Casos de Uso
1. Identificador:
Código único de identificación del caso de uso a
detallar. Ejem: CU001
2. Fuentes:
Origen de donde se obtuvo la información para
elaborar el caso de uso. Ejem: Entrevista,
Documento de Proceso.
3. Actor
Usuario, sistema o proceso que se relaciona con
el caso de uso modelado.
8. Repaso Elementos de Especificación de Casos de Uso
4. Descripción:
Descripción de la funcionalidad que se ofrece al
actor principal en el caso de uso.
9. Repaso Elementos de Especificación de Casos de Uso
5. Dependencia:
Casos de Uso relacionados, por generalización,
inclusión o extensión.
Ejem1:
CU002 – Generar salida formateada :
Generalización.
10. Repaso Elementos de Especificación de Casos de Uso
5. Dependencia:
Casos de Uso relacionados, por generalización,
inclusión o extensión.
Ejem2:
CU008 – Hacer Recomendaciones : Inclusión.
CU009 – Reservar Libro : Inclusión.
11. Repaso Elementos de Especificación de Casos de Uso
5. Dependencia:
Casos de Uso relacionados, por generalización,
inclusión o extensión.
Ejem3:
CU009 – Reservar Libro : Extensión.
12. Repaso Elementos de Especificación de Casos de Uso
6. Pre condición:
Condiciones pre definidas para el funcionamiento
del caso de uso.
Ejem: Instalación previa de Microsoft Office.
13. Repaso Elementos de Especificación de Casos de Uso
7. Flujo básico:
Secuencia de pasos específicos del escenario
nominal, convencional o básico.
8. Flujos alternos:
Secuencia de pasos específicos de los
escenarios alternativos, excepcional y de manejo
de errores.
9. Post condición:
Resultado esperado como respuesta del caso de
uso. Ejem: Se ha cargado Excel de reporte.
14. Repaso Elementos de Especificación de Casos de Uso
10.Puntos de inclusión:
Caso de uso que incluye indicará el punto del
flujo de inclusión al caso de uso incluido. Ejem:
Paso 5 incluye CU009 – Examinar inventario.
11.Puntos de extensión:
Caso de uso extendido indicará condición de
extensión del caso de uso extendido. Ejem:
Selección opción AYUDA: CU011 – Mostrar
Ayuda de Reserva de Libro.
12.Notas:
Información complementaria a considerar en el
caso de uso.
17. Diagrama de
Clases
¿Qué es una clase?
• Clase: Representación abstracta de un tipo de
objeto que manipulará el sistema. Describe un
conjunto de objetos que comparten las mismas
características.
• Las clases están conformadas por atributos y
operaciones:
• Atributos: Características que definen a la clase
de manera única.
• Operaciones: Métodos o servicios que definen el
comportamiento de una instancia de la clase u
objeto. Define la manera cómo el sistema
manipulará el objeto.
19. Diagrama de
Clases
¿Qué es una clase?
• Tipos de clases:
Clases Entidad: Representan objetos del
negocio persistentes, que se almacenan en el
sistema.
Clases de Control: Se encargan de procesar la
información.
Clases Interfaz: Presentan y comunican la
información al usuario o a otros sistemas.
21. Diagrama de
Clases
¿Cómo identificar las clases?
• Uso de análisis de escenarios desarrollado y un
‘análisis gramatical’.
• Subrayar cada sustantivo o frase que lo incluya e
inventariarlo.
• Considerar sinónimos.
22. Diagrama de
Clases
¿Cómo identificar las clases?
Identificación de clases potenciales
• A partir de los sustantivos se busca identificar:
1. Entidades externas: Personas, dispositivos, otros
sistemas, etc., que producen o consumen
información para o del sistema que estamos
modelando.
2. Cosas: Elementos que forman parte de la
información que participa en el sistema. Por ejm:
reportes, pantallas, correos, etc.
3. Ocurrencias: Eventos que suceden en el contexto
de la operación del sistema.
23. Diagrama de
Clases
¿Cómo identificar las clases?
4. Roles: Rol que desempeña la persona(s) que
interactúa(n) con el sistema. Por ejm: Vendedor,
Supervisor, Adiministrador.
5. Unidades organizacionales: Los relevantes para el
sistema. Por ejem: Gerencia, Área, Equipo.
6. Lugares: Lugar del contexto del problema y donde
funcionará el sistema. Por ejem: Piso de hospital,
Oficina gubernamental, plataforma virtual.
7. Estructuras: Estructura que define la clase
analizada. Por ejem: documento, nombre, apellido,
fecha, hora.
24. Diagrama de
Clases
¿Cómo identificar las clases?
• Importante indicar que NO son clases.
• En el análisis gramatical una clase no lo conforma
un ‘procedimiento imperativo’.
• Por ejemplo en un sistema de imágenes médicas:
INVERTIR_IMAGEN
26. Diagrama de
Clases
Ejemplo: Sistema CasaSegura
La función de seguridad CasaSegura permite que el propietario configure el sistema
de seguridad cuando se instala, vigila todos los sensores conectados al sistema de
seguridad e interactúa con el propietario a través de internet, una PC o panel de
control.
Durante la instalación, la PC de CasaSegura se utiliza para programar y configurar
el sistema. Se asigna a cada sensor un número y tipo, se programa un password
maestro para activar y desactivar el sistema y se introducen números telefónicos
para marcar cuando ocurre un evento de sensor.
Cuando se reconoce un evento de sensor, el software invoca una alarma audible
instalada en el sistema. Después de un tiempo de retraso que especifica el
propietario durante las actividades de configuración del sistema, el software marca
un número telefónico de un servicio de monitoreo, proporciona información acerca
de la ubicación y reporta la naturaleza del evento detectado. El número telefónico se
vuelve a marcar cada 20 segundos hasta que se obtiene la conexión telefónica.
El propietario recibe información de seguridad a través de un panel de control, la PC
o un navegador, lo que en conjunto se llama interfaz. La interfaz despliega
mensajes de aviso e información del estado del sistema en el panel de control, la
PC o la ventana del navegador. La interacción del propietario tiene la siguiente
forma…
28. Diagrama de
Clases
Ejemplo: Sistema CasaSegura
Identificación de clases potenciales
Clase Potencial Clasificación (por sustantivo)
Propietario Rol
Sensor Entidad Externa
Panel de Control Entidad Externa
Instalación Ocurrencia
Sistema (Sistema de Seguridad) Cosa
Número, tipo Atributos de sensor
Password maestro Cosa
Número telefónico Cosa
Evento de Sensor Ocurrencia
Alarma Audible Entidad Externa
Servicio de Monitoreo Entidad Externa
29. Diagrama de
Clases
¿Cómo identificar las clases?
Identificación de clases del modelo
• Criterios de selección:
1. Información retenida: Requiere recordarse
información de la clase potencial para que el
sistema opere.
2. Servicios necesarios: Conjunto operaciones
identificables que cambian valor de atributos.
3. Atributos múltiples: Múltiples atributos
identificados para una clase. Clase con un solo
atributo puede pasar a ser atributo de otra clase.
30. Diagrama de
Clases
¿Cómo identificar las clases?
Identificación de clases del modelo
4. Atributos comunes: Atributos que aplican a todas
las instancias de la clase.
5. Operaciones comunes: Operaciones que aplican a
todas las instancias de la clase.
6. Requerimientos esenciales: Entidades externas
que produzcan o consuman información esencial
para el sistema.
31. Diagrama de
Clases
¿Cómo identificar las clases?
Identificación de clases del modelo
• Una clase potencial debe satisfacer todos (o casi
todos) los criterios de selección.
• La decisión de selección de clases en el modelo
puede resultar subjetiva y varía en el tiempo,
pudiendo descartar o volver a incluir clases
seleccionadas.
32. Diagrama de
Clases
Ejemplo: Sistema CasaSegura
Identificación de clases del modelo
Clase Potencial # criterios que aplican
Propietario Rechazada: 1 y 2 fallan, aunque la 6 aplica
Sensor Aceptada: se aplican todas
Panel de Control Aceptada: se aplican todas
Instalación Rechazada
Sistema (Sistema de Seguridad) Aceptada: se aplican todas
Número, tipo Rechazada: 3 fallan, atributos de sensores
Password maestro Rechazada: 3 falla
Número telefónico Rechazada: 3 falla
Evento de Sensor Aceptada: se aplican todas
Alarma Audible Aceptada: se aplican 2, 3, 4, 5 y 6
Servicio de Monitoreo Rechazada: 1 y 2 fallan aunque la 6 aplica
33. Diagrama de
Clases
Ejemplo: Sistema CasaSegura
Identificación de clases del modelo
• Consideraciones:
Lista no completa del modelo.
Algunas clases potenciales rechazadas se
convertirán en atributos de otras que fueron
aceptadas. Por ejem: número y tipo son atributos
de sensor.
Enunciados adicionales del problema podría
ocasionar cambiar decisiones de aceptar o
rechazar. Por ejem: si cada propietario tuviera
clave individual, entonces la clase Propietario
satisfaría los puntos 1 y 2, y se aceptaría.
34. CONTENIDOS OAGENDA DE CLASE
• Diagrama de Clases.
• Diagrama de Paquetes.
• Kahoot.
• Caso Ejemplo.
• Ficha Proyecto.
36. Diagrama de
Clases
¿Qué son los atributos?
• Los atributos son características que definen a la
clase en el contexto del problema que se está
analizando.
• Para identificarlos se debe escoger los elementos
que pertenezcan a la clase.
• Responder pregunta: ¿Qué aspectos de los datos
definen por completo la clase en el contexto del
problema en análisis?
37. Diagrama de
Clases
Ejemplo: Sistema CasaSegura
Identificación de atributos
• Información de la Clase Sistema (Sistema de
Seguridad):
Información de identificación: identificación del
sistema + número telefónico de verificación +
estado del sistema.
Información de respuesta de la alarma: tiempo
de retraso + número telefónico
Información de activación o desactivación:
password maestro + número de intentos
permitidos + password temporal
39. Diagrama de
Clases
¿Qué son las operaciones?
• Las operaciones son las acciones que definen el
comportamiento de una clase
• Principales tipos de operaciones:
1. Operaciones que manipulan datos. Por ejem:
Agregar, editar, eliminar.
2. Operaciones que realizan cálculo.
3. Operaciones que consultan estado de objeto.
4. Operaciones que vigilan la ocurrencia de un
evento de control.
40. Diagrama de
Clases
¿Qué son las operaciones?
• Las operaciones se ejecutan sobre los atributos o
asociaciones de las clases.
• Para identificar las operaciones se realiza análisis
gramatical donde se aislan los verbos, eligiendo las
que pertenezcan a la clase.
41. Diagrama de
Clases
Ejemplo: Sistema CasaSegura
Identificación de operaciones
• Texto del enunciado: “se programa un password
maestro para activar y desactivar el sistema”. Indica:
La acción programar() aplica a la clase Sistema.
Las acciones activar() y desactivar() aplican a la
clase Sistema.
• Texto del enunciado: “durante las actividades de
configuración del sistema”. Indica:
La acción configurar() aplica a la clase Sistema.
42. Diagrama de
Clases
Ejemplo: Sistema CasaSegura
Identificación de atributos y operaciones
• La clase Sistema queda definida:
Sistema
Identificación del sistema
Verificación del número telefónico
Estado del sistema
Tiempo de retraso
Número telefónico
Password maestro
Password temporal
Número de intentos
programar()
activar()
desactivar()
configurar()
reiniciar()
44. Diagrama de
Clases
¿Qué relaciones hay entre clases?
• Las clases pueden estar relacionadas mediante los
siguientes tipos de relaciones:
1. Asociación
2. Agregación
3. Composición.
4. Generalización o Herencia.
5. Realización.
6. Dependencia.
• Los conectores de las relaciones manejan: dirección
(unidireccional, bidireccional) y cantidad (unicidad,
multiplicidad, nulidad)
45. Diagrama de
Clases
¿Qué relaciones hay entre clases?
Relación Descripción Notación
Asociación Relación que representa distintos tipos
distintos tipos de enlaces entre objetos.
Agregación Asociación entre dos clases que
que representa todo-parte
Composición Asociación de agregación de
dependencia única entre el todo y la
todo y la parte
Generalización Relación entre una clase general y una
Realización Relación de herencia entre una clase
clase interfaz y una clase específica.
Dependencia Relación de dependencia entre una clase
una clase cliente y una clase proveedor.
46. Diagrama de
Clases
1. Asociación
• Relación que representa un conjunto de enlaces
entre objetos.
• Instancia de asociación es un enlace.
• Una asociación puede ser:
• Recursiva: Clase se conecta consigo misma.
• Binaria: Clase conecta con otra clase.
• Ternaria / n-arias: Conexión entre tres a más (n)
clases.
48. Diagrama de
Clases
1. Asociación
• Elementos de la asociación:
Nombre de la asociación: Descripción corta de la
asociación.
Orden de lectura: Sentido de la asociación.
Nombre de rol: Subconjunto de instancias u objetos
que participan de la asociación.
Indicador de navegación: Flecha que indica el
sentido de la navegación entre clases.
Multiplicidad: Cantidad de objetos que pueden
relacionarse. Puede ser:
1: uno
*: muchos
0..1: cero o uno
1..*: uno a más
0..*: cero a más
3: cualquier número exacto, en este caso tres.
50. Diagrama de
Clases
1. Asociación
• Clase asociación:
Asociación que conforma una clase como tal.
Se usa cuando la asociación tiene sus propios
atributos, operaciones y relaciones con otras
clases.
51. Diagrama de
Clases
2. Agregación
• Tipo de asociación que representa una relación
todo-parte.
• Relación entre un agregado (todo) y las partes que
lo componen.
• Las partes pueden pertenecer a cualquiera de los
agregados.
53. Diagrama de
Clases
3. Composición
• Asociación de agregación donde un objeto parte
pertenece a un solo agregado a la vez
• Al mismo tiempo un objeto agregado es el único
responsable de la disponibilidad de sus partes.
55. Diagrama de
Clases
4. Generalización
• Relación taxonómica entre una clase general y una
clase específica.
• La clase específica hereda los atributos y
operaciones de la clase general y añade elementos
propios adicionales.
57. Diagrama de
Clases
5. Realización
• Relación donde clase específica hereda de una
clase interfaz.
• La clase específica acepta que proporcionará una
implementación para las características de la clase
interfaz.
59. Diagrama de
Clases
6. Dependencia
• Relación de dependencia entre una clase cliente y
una clase proveedor.
• La clase cliente depende de la clase proveedor, la
cual proporciona un servicio.
62. Diagrama de
Paquetes
¿Qué es un paquete?
• Un paquete es una representación que se utiliza
para categorizar, agrupar, clasificar distintos
elementos del modelo del sistema, como casos de
uso, clases, etc.
• Se representa con un símbolo que refleja una
carpeta de archivos.
• Los paquetes se organizan de manera jerárquica,
mostrando al paquete raíz que contiene a los
paquetes contenidos.
63. Diagrama de
Paquetes
¿Qué es un paquete?
• El nombre del paquete puede ubicarse en el
recuadro pequeño superior o el recuadro más
grande.
• Ejemplo de notación de paquetes:
65. Diagrama de
Paquetes
¿Qué relaciones hay entre paquetes?
• Se maneja la relación de dependencia.
• La dependencia entre paquetes refleja la
dependencia que hay entre dos elementos
contenidos.
• Las relaciones de dependencia pueden ser:
Importación: Permite importar los elementos de
un paquete público.
Acceso: Permite importar los elementos de un
paquete privado.
70. Ficha Proyecto • Elaboración de Ficha de Proyecto:
Sección 3 (Desarrollo) - Item 2 (Construye el
diagrama de clases y diagrama de paquetes del
sistema).