Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SOFTWARE
1 MCC Sergio Fuenlabrada Velázquez
MSI Edna Martha Miranda Chávez
EL MODELADO
Administración Administración
del riesgo de la
planeación
Establecimiento Control
de la
Metodología Administración
Pertinencia, relevancia,
de proyectos
congruencia, vigencia, Diseño y
suficiencia, viabilidad desarrollo de Funcionalidad, fiabilidad,
viabilidad, eficiencia,
Establecimiento Ingeniería de software mantenibilidad, portabilidad
de funciones del
software
sistemas Ingeniería de
(vista del software
elemento)
Establecimiento
Estudio del de la estrategia
entorno Técnicas, métodos y de construcción
herramientas
(Vista global)
Estudio del
negocio Desarrollo del
software
(Vista de dominio)
(vista detallada) 4
DIAGRAMAS DE UML
5
MODELADO
7
MODELADO
Un modelo al ser una abstracción de “un
algo”, representa los detalles esenciales
(importantes) de ese “algo”.
9
MODELADO
• La realidad
• Ideas Procesos
• Cosas Rich-Picture
• Objetos
• Procesos
• Comportamientos
• Arte
• Economía Ejecutables
• Etc. Prototipos 10
EL CONTENIDO DE LOS
MODELOS
(DESDE EL PUNTO DE VISTA INFORMÁTICO)
12
GENERACIÓN DE MODELOS
MÚLTIPLES
El objetivo de crear múltiples modelos estriba en que:
13
Comparativo entre
la orientación a la estructura y
la orientación a objetos
14
ORIENTACIÓN A LA ESTRUCTURA
•Imperativo - Ensamblador
•Tradicional – 1era, 2da, 3era, y 4ta. Generación
Orientación a •Funcional – Acceso a BD
la estructura •Lógico - Inteligencia artificial - tiende a ser
estructurado
•Visual – Visual Basic 4 - Puede ser estructurado
Ventajas:
• Es fácil de desarrollar e implementar cuando se cuenta con un
ambiente estable.
• Útil en desarrollo de software sencillos
Desventajas:
• No existe la reutilización de código
• El programado debe llevar en control conforme navega en los
diferentes niveles del sistema
• No es fácil la comunicación entre sistemas (envió y recepción de
información)
• Los lenguajes de programación que utilizan esta orientación tienden
al desuso (y por lo tanto, tienden a ser obsoletos, con excepción de los
18
lenguajes Ensamblado y C ).
VENTAJAS DE LA
ORIENTACIÓN A OBJETOS
Promueve la reutilización
19
DEBILIDADES DE LA
ORIENTACIÓN A OBJETOS
20
MODELADO
Informática y computación
21
Diferencias entre modelado
estructurado y orientado a objetos
24
Diagramas de la orientación estructurada que se
siguen utilizando
Estructurado Orientado a Objetos
Diagramas de Modelado de Datos -- Modelado estructural - Estático
Data Model Diagrams (DMD)- o Clases
Diagramas de procesos Objetos
• Diagrama conceptual del sistema Componentes
• Diagrama de flujo de datos Nodos /Despliegue
• Diagrama de Contexto Paquetes
• Diagrama de bloque (Top-Down,
bloques) Modelado de Comportamiento -
• Diagrama de Warnier – Orr Dinámico
Diagramas de Estructura de Datos -- Casos de Uso (general y detallado)
Data Structured Diagrams (DSD)- Secuencia
• Diccionario de Datos Tiempo
• Diagrama de Entidad – Relación Comunicación / colaboración
Diagrama Lógico de Estructuras de Estados
Datos (Logical Data Structure Actividad
Diagrams –(LSD)
• Diagrama BD
• Diagrama de flujo de datos y la
25
relación a BD
Diagramas de flujo de datos
Flujo de datos
Movimiento de
información
Archivo/Deposito
de información
27
SIMBOLOGÍA
YOUDON Y DE MARCO
Proceso Flujo de
datos
Entidad
Archivo Externa
28
Reglas
De la diagramación de flujos de datos
(DFD)
El modelando es parte de la documentación del
sistema.
Estado
Estado en el que se puede encontrar el
producto. Conjunto de circunstancias o atributos
que caracterizan a un momento dado.
Ejemplo: Reposo, Esperando una respuesta,
Procesando, etcétera
Cambio de estado
Muestra la secuencia entre los estados, Cambio
de un estado a otro estado
Proceso,
Dato o Actividad ó
Transacción Decisión
Borrar Dato o
Proceso o Transacción
Actividad
32
DIAGRAMAS DE CAJAS
Representación
de relaciones 34
Rich Picture Representación de procesos y secuencia
3. Solicita la
generación o
2. Solicita la actualización del
Jefatura de Carrera generación o programa de
Academias
de Ciencias de la actualización estudio
Academias Grupo de
Informática del programa
Academias Profesores
de estudio
de Computación
1. Establece las estrategias
académicas con base en el 4. Generan el
mapa curricular programa de
8. Entrega a la 7. Verifica que este estudio
Jefatura correcto el programa utilizando Word
9. Recibe el programa de estudio, de estudio 6. Entrega a la
lo revisa y si está de acuerdo con academia
5. Verifica que
las estrategias académicas, es 13. Distribuye a esté correcto
actual, esta completo, etc., lo profesores
aprueba.
36
Rich Picture - Representación de ideas (análisis)
37
Rich Picture - Representación de infraestructura
38
Modelado
Orientado a Objeto
39
Proceso de Desarrollo de Software Orientado a Objetos
Tiempo
40
Ejemplo de diferentes diagramas de la orientación
estructurada y la de objetos
Estructurado Orientado a Objetos
Diagramas de Modelado de Datos -- Modelado estructural - Estático
Data Model Diagrams (DMD)- o • Clases
Diagramas de procesos • Objetos
• Diagrama conceptual del sistema
• Diagrama de flujo de datos • Componentes
• Diagrama de Contexto • Nodos / Despliegue
• Diagrama de bloque (Top-Down, • Paquetes
bloques)
• Diagrama de Warnier – Orr Modelado de Comportamiento -
Diagramas de Estructura de Datos -- Dinámico
Data Structured Diagrams (DSD)- • Casos de Uso (general y detallado)
• Diccionario de Datos • Secuencia
• Diagrama de Entidad – Relación
Diagrama Lógico de Estructuras de • Tiempo
Datos (Logical Data Structure • Comunicación / colaboración
Diagrams –(LSD) • Estados
• Diagrama BD
• Diagrama de flujo de datos y su • Actividad
41
relación con la BD
DIAGRAMAS DE UML
Los diagramas expresan gráficamente partes del sistema
Escenario
Escenario
Diagrama
Diagramas
Diagrama de State
Colaboración State
Diagrama
Diagramas
Diagrams de
Componentes
Modelo
Escenario
Escenario
Diagrama
Diagramas
Diagrama de State
nodos State
Diagrama
Diagramas
Diagrama de
Escenario Paquetes
Escenario
Diagrama
Diagramas
Diagrama de Component
Estados Component
Diagrama
Diagramas de Diagramas
Diagrama de
Actividad Tiempo
42
Diagramas de orientación a objetos
Orientado a Objetos
Modelado estructural – Estático - Representa
Clases - Los datos que entran al sistema, su almacenamiento y la emisión, interfaces
y colaboraciones
Objetos - Objetos
Componentes – Componentes de los objetos, estructura compuesta – estructura interna
Nodos - Muestra el hardware que esta instalado e interactúa con el sistema
Paquetes – Muestra la interrelación entre los paquetes del sistema
Modelado de Comportamiento - Dinámico
Casos de Uso – Muestra los servicios o funciones que ofrece al entorno. Muestra el
comportamiento del sistema -- Como se establecerá el dialogo entre el usuario y
el sistema
Secuencia Describe las operaciones y datos que procesa, almacena o generan los objetos.
Así como la secuencia de ejecución de los objetos (envió de mensajes).
Tiempo – Los objetos se ejecutan a todo lo largo del sistema, en este se muestra el tiempo
que pasa para que se ejecute el objeto y el tiempo que dura su ejecución
(interacción del usuario con el sistema).
Comunicación/colaboración – Representan el envío y recepción de mensajes entre los
objetos
Estados – Estados de los objetos, cambio del sistema cuando ocurre un evento
43
Actividad - Flujo de actividades en el sistema
Recordatorio
DIAGRAMAS DE UML
CONSTRUCCIÓN
Proceso simple
DE UNA CASA
PARA “FIDO” Bajo Impacto, bajo riesgo
Requiere:
Modelado mínimo
Herramientas simples
46
Complejidad de proyectos
Proceso complejo
CONSTRUCCIÓN Requiere un proceso bien definido
DE UNA CASA
Impacto medio, riesgo medio
Requiere:
Modelado
Herramientas más sofisticadas
Construcción eficientemente y en
un tiempo
47
Complejidad de proyectos
Requiere:
Modelado exhaustivo
Herramientas muy sofisticadas
Control de la construcción para
asegurar robustez, eficiencia, diseño,
eficacia en el uso de recursos
(materiales, tiempo, etc.), etc. 48
Complejidad de proyectos
¿Y LA CONSTRUCCIÓN DE UN ¿Y la construcción
PUENTE? de un presa?
49
I. Introducción: Modelado de SW
50
DIAGRAMAS DE UML
54
Simbología - Taxonómia Base de datos
55
Simbología - Taxonómia
56
ESTEREOTIPOS
include,
extend
57
Artefactos
Es una palabra que hace referencia a “algo” en el desarrollo del
sistema.
Información utilizada o producida en el desarrollo del sistema.
Los artefactos pueden ser diagramas, modelos, elementos, software,
etc.
58
Representación de asociaciones,
enlaces y conectores
59
Conectores
Los componentes
representan al software.
Un componente
representa un fragmento
del software, por lo tanto
se puede descomponer un
objeto en componentes.
60
COMENTARIOS - NOTAS
Su función es la dar mayor claridad al diagrama,
pueden contener: descripciones más detalladas,
clarificaciones, observaciones, o cualquier
comentario que ayude a dar claridad al diagrama.
61
EXTENSIBILIDAD DE LA SEMÁNTICA
“Extiende la semántica de UML … permitiendo
añadir nuevas reglas o modificar las existentes,
para la construcción de un modelo …. esto para que
permita indicar específicamente la operación ”
Autor: Juan
Alumnos:
Versión: 3.2
Nombre
Calificación
“exception”
Alumnos – cambio
escuela Alta ()
{ordered}
Baja ( )
Cambio ( )
62
Combinación de diagramas
63
Combinación de diagramas
alta baja
número_préstamos = 0
sin préstamos
Socio
número : int
nombre : char[50]
número_prestamos : int = 0
prestar devolver[ número_préstamos = 1 ]
alta()
baja()
prestar(código_libro : int, fecha : date)
devolver(código_libro : int, fecha : date) número_préstamos > 0
con préstamos
prestar
64
DIAGRAMA DE ACTIVIDAD
65
Representación del funcionamiento de un sistema
REPRESENTACIÓN DE UN ALGORITMO
DFD
Diagrama de actividad
66
DIAGRAMA DE ACTIVIDAD
Es una evolución del diagrama de flujo (similar al DFD)
67
Se reemplaza Reservación
DIAGRAMA DE ACTIVIDAD
Aplicación
Pasajero Vendedor Web Airline
Solicitar pasaje
Verificar
existencia vuelo
Informar alternativas
y precios
Seleccionar vuelo
Confirmar
Pagar pasaje
plaza reservada
70
DIAGRAMA DE CASOS DE USO
71
Actores
DIAGRAMA DE CASO DE USO • Primarios
• Secundario
BD
72
DIAGRAMA DE CASOS DE USO
Aerolínea
73
SENTENCIA INCLUDE Y EXTEND
74
DIAGRAMA DE
CASOS DE USO
DETALLADO
75
DIAGRAMA DE CASOS DE USO DETALLADO
76
DIAGRAMA DE SECUENCIA / INTERACCIÓN
77
Diagrama de Secuencia /
Interacción
Representa la parte dinámica del sistema
Representa los elementos del sistema y su comportamiento
78
Diagrama de Secuencia /
Interacción
Representa la parte dinámica del sistema
Representa los elementos del sistema y su comportamiento
79
DIAGRAMA DE SECUENCIA
alta:Inventario
Ventana de
entrada menuPedido: altaPedido:
de pedidos
prepara( )
*[para cada línea
de pedido] prepara( )
Hay existencia:=revisa( ) Condición
Objeto
Mensaje [hay existencia]
Necesita Reorden:
descuenta( )
=necesita Reordenar ( )
No hay
producto Autodelegación
Pedido
registrado
80
Mercado Libre
REALIZA
ACTUALIZA
MENU PEDIDO
CONTABILIDAD
81
DIAGRAMA GENERAL DEL SISTEMA
84
Diagrama de Tiempo
85
Diagrama de tiempo / secuencia
86
Diagrama de secuencia y
comunicación (entre objetos)
87
¿Por qué esta mal este diagrama
de secuencia?
Observa tiene las acciones de encontrar, crear. Pero ¿en donde crea, en donde encuentra?.
Es importante que al final se encuentre la base de datos o archivos, etc.
DIAGRAMA DE CLASES
89
Diagrama de Clase - Elementos
Dominio
90
DIAGRAMA DE CLASE
El diagrama de
clase se convertirá
en el diagrama de
estructura de la
Base de datos
91
DIAGRAMA DE CLASE
Diagrama de Clases
92
Diagrama Base de Datos
Object.Java
DIAGRAMA DE CLASES
Atributos
Metodos
Funciones Relaciones
93
DIAGRAMA DE ENTIDAD – RELACIÓN
(BASE DE DATOS)
94
SIMBOLOGÍA DE RELACIONES EN BD
95
SIMBOLOGÍA DE RELACIONES EN BD
96
DIAGRAMA DE BASE DE DATOS
Observa:
97
DIAGRAMA DE BASE DE DATOS
Atributos
Funciones o
Métodos
Relaciones
98
EJEMPLO DE DIAGRAMACIÓN DEL
PROYECTO
Diagrama de
Diagrama de Base de Datos
clases
99
DIAGRAMA DE CLASES
(REPRESENTACIÓN DE LA GENERALIZACIÓN Y AGREGACIÓN)
Lámpara
1 1 1 1
LámparaFluorescente LámparaIncandescente
1 1 1
1
1 1 1 1
100
DIAGRAMA DE OBJETOS
101
OBJETOS
102
Diagrama de vida de un objeto
Objeto
- Creación
- Proceso
- Muerte
103
Diagrama de estructura de objetos
Representa a
los objetos
que
intervienen
en el logro de
un objetivo.
104
Diagrama de flujo de control de objetos
105
DIAGRAMA DE ESTADOS
106
Eventos
107
DIAGRAMA DE TRANSICIÓN DE
ESTADOS
108
Diagrama de estados
109
Diagrama de estados
110
EJEMPLO DE DIAGRAMACIÓN DEL
PROYECTO
111
ALTA DE DATOS EN UNA APLICACIÓN
112
Diagrama de comunicación
Representa la
comunicación
entre los
objetos para
el logro de un
objetivo.
113
DIAGRAMA DE COMUNICACIÓN Y
COLABORACIÓN
114
Diagrama de comunicación
Representa la
comunicación
entre los objetos
para el logro de
un objetivo.
Comunicación:
• Síncrona
• Asíncrona
115
DIAGRAMA DE COLABORACIÓN
116
DIAGRAMA DE COLABORACIÓN
117
DIAGRAMA DE COLABORACIÓN
118
Diagrama de
colaboración
e iteración
Colaboración
para el logro
del objetivo e
interacción
(repetición)
de un proceso.
119
Diagrama de Paquetes
120
Nombre de
paquete
PAQUETES
Representación la agrupación de subsistemas (modelos o sub-
modelos)
121
DIAGRAMA DE PAQUETES
Su objetivo es la representación generalizada de un grupo de elementos
122
DIAGRAMA DE COMPONENTES
123
Recordatorio
DIAGRAMA COMPONENTES
Muestra la dependencia de distintos fragmentos del software, puede
ser a nivel objeto
Control y Análisis
Interfaz de Terminal
Comment
Comment
124
Comunicación entre Componentes
125
Diagrama de Componentes
Puede hacerse la
representación a
nivel muy general o
muy detallado
126
Diagrama de componentes
Puede hacerse la
representación a
nivel muy general
o muy detallado
127
Diagrama de componente Singular
Puede hacerse la
representación a
nivel muy general
o muy detallado
128
Diagrama de Nodos / despliegue
129
Diagrama de nodos / despliegue
130
Diagrama de nodos / conexiones
Representa la conexión física entre los nodo (hardware) y el
software que se encuentran instalado y se ejecutan en cada nodo.
131
DIAGRAMA DE NODOS / DESPLIEGUE
Representa la configuración del hardware y el software en
el momento de la ejecución
Servidor Central Control y Anál isi s
Acceso a BD Comment
Comment
Rutinas de Coneccion
representación a
nivel muy
general o muy T ermi nal de Consulta
detallado
Interfaz de T erminal
Rutinas de Coneccion
Comment Comment
Punto de Venta
Rutinas de Coneccion
Comment
Comment Comment
132
Diagrama de Desarrollo
Representa los artefactos a generar en el desarrollo del sistema
Puede hacerse la
representación a
nivel muy
general o muy
detallado
133
DISEÑO DE SOFTWARE
134 Errores clásico
Errores clásicos
Requerimientos progresivos
136
Errores clásicos
Problemas:
Encuentran fascinante la nueva tecnología
Quieren probar nuevas formas (aunque
dudosas) de crear programas
Improvisan sobre la marcha
No diseñan ni documentan sus técnicas
139
Errores clásicos
A continuación el
Resumen de errores
clásicos 140
Errores relacionados con Errores relacionados con Errores relacionados con Errores relacionados con
personas el proceso el producto la tecnología
1. Motivación débil 14. Planificación 28. Exceso de 33. Síndrome del
2. Personal mediocre excesivamente requerimientos “puedelo-todo”
3. Empleados optimista 29. Cambio de 34. Sobrestimación de
problemáticos 15. Gestión de riesgos requerimientos las ventajas del
incontrolables insuficiente 30. Desarrolladores empleo de nuevas
4. Hazañas 16. Fallos de los meticulosos herramientas o
5. Sumar más personal a contratados 31. “Estira-y-afloja” en métodos
un proyecto 17. Planificación la negociación 35. Cambiar de
retrasado insuficiente 32. Desarrollo herramientas a
6. Oficinas repletas y 18. Abandono de la orientado a la mitad del proyecto
ruidosas planificación bajo investigación 36. Falta de control
7. Fricciones entre los presión automático del
clientes y los 19. Perdida de tiempo código fuente
desarrolladores en la etapa de
8. Expectativas poco definición
realistas 20. Escatimar en las
9. Falta de un promotor actividades iniciales
efectivo del proyecto 21. Diseño inadecuado
10. Falta de participación 22. Escatimar en el
de los implicados control de calidad
11. Falta de participación 23. Control insuficiente
del usuario de la directiva
12. Políticas antes que 24. Convergencia
desarrollo prematura o
13. Ilusiones excesivamente
frecuente
25. Omitir tareas
necesarias en la
estimación
26. Planificar ponerse al Resumen de errores clásicos
día más adelante 141
27. Programación a
destajo
Errores clásicos
Reflexión
Mucho ojo