conceptos diseÑo pdf
Post on 26-Mar-2015
1.000 Views
Preview:
TRANSCRIPT
Universidad Rey Juan Carlos Universidad Rey Juan Carlos
1
Ingeniería del Software 1
Conceptos y principios
� Introducción
� Proceso de diseño
� Principios del diseño
� Conceptos del diseño
Ingeniería del Software 2
Introducción
• Definición de diseño
Proceso para la definición detallada de
un sistema con el fin de su realización
física.
Ingeniería del Software 3
Introducción
• Modelo de diseño vs. Paradigma de IS
• 3 actividades técnicas de construcción y verificación
‒ Diseño
‒ Codificación
‒ Prueba
Ingeniería del Software 4
Introducción
• Análisis Diseño: cuatro modelos
‒ Diseño de los datos
‒ Diseño arquitectónico
‒ Diseño de interfaz
‒ Diseño procedimental o a nivel de componentes
Ingeniería del Software 5
Diccionario Datos
Diagrama flujo de datos
Diagrama E/R
Diagrama transición de
datos
Especificación de proceso
Especificación de control
Descripción de objetos de datos
Elementos del modelo de análisis
Ingeniería del Software 6
Elementos del modelo de diseño
Universidad Rey Juan Carlos Universidad Rey Juan Carlos
2
Ingeniería del Software 7
Introducción
• ¿Cómo obtenemos el diseño desde el análisis?
‒ Diagrama ER, DD -> Datos
‒ DFD -> Arquitectónico
‒ DFD, DFC -> Interfaz
‒ DTE, EC, EP -> Procedimental
Ingeniería del Software 8
Ingeniería del Software 9
Introducción
DISEÑO
CALIDAD
Ingeniería del Software 10
Conceptos y principios
� Introducción
� Proceso de diseño
� Principios del diseño
� Conceptos del diseño
Ingeniería del Software 11
Proceso de diseño• Evaluar el diseño (RTF) -> Calidad‒ Implementación de req. explícitos e implícitos
‒ Guía legible para los que desarrollan,
prueban y mantienen
‒ Idea general de funcionalidad,
comportamiento y datos
Ingeniería del Software 12
Proceso de diseño• Pautas para un buen diseño‒ Organización jerárquica
‒ Diseño modular
‒ Abstracciones de datos y procedimientos
‒ Producir módulos
‒ Conducir a interfaces
Universidad Rey Juan Carlos Universidad Rey Juan Carlos
3
Ingeniería del Software 13
Conceptos y principios
� Introducción
� Proceso de diseño
� Principios del diseño
� Conceptos del diseño
Ingeniería del Software 14
Principios del diseño
• Diseño es proceso y modelo
‒ ProcesoConjunto de pasos repetitivos para describir el sistema a construir
‒ ModeloVisión general del sistema que se refina sucesivamente.
Ingeniería del Software 15
Principios del diseño• Principios básicos
‒ Enfoques alternativos
‒ No tiene que inventar nada ya inventado
‒ Minimizar la distancia intelectual
‒ Uniformidad e integración
‒ Debe admitir cambios
Ingeniería del Software 16
Principios del diseño
• Principios básicos (II)
‒ Un programa nunca debe EXPLOTAR
‒ Diseñar no es codificar
‒ Calidad durante diseño, no al final
‒ Revisar el diseño
Ingeniería del Software 17
Principios del diseño
• Principios básicos (III)
‒ CALIDA EXTERNA
Usuarios
– CALIDAD INTERNA
Ingenieros del software
Ingeniería del Software 18
Conceptos y principios
� Introducción
� Proceso de diseño
� Principios del diseño
� Conceptos del diseño
Universidad Rey Juan Carlos Universidad Rey Juan Carlos
4
Ingeniería del Software 19
Conceptos del diseño
El principio de sabiduría de un
ingeniero del software es
reconocer la diferencia entre
conseguir que funcione un
programa y hacerlo bien
Ingeniería del Software 20
Conceptos del diseño
• Objetivo
Conseguir un modelo correcto de diseño
para asegurar la buena calidad del
sistema a realizar
Ingeniería del Software 21
Conceptos del diseño
a) Abstracción
‒ Abstracción procedimental
‒ Abstracción de datos
‒ Abstracción de control
Ingeniería del Software 22
Conceptos del diseño
b) Refinamiento
‒ Estrategia de diseño descendente
‒ Proceso de elaboración
‒ Complementario a la abstracción
Ingeniería del Software 23
Conceptos del diseño
c) Modularidad
‒ División del sw en componentes
‒ Ventajas
� Continuidad modular - Cambios
� Protección modular - Errores
Ingeniería del Software 24
Conceptos del diseño
� Arquitectura del software
� Jerarquía de control
� Partición estructural
� Estructura de datos
Universidad Rey Juan Carlos Universidad Rey Juan Carlos
5
Ingeniería del Software 25
Conceptos del diseño
• Arquitectura del software
‒ Estructura global del sw
‒ Estructura jerárquica módulos
‒ Interacción entre ellos
‒ Estructura de los datos usados
Ingeniería del Software 26
Conceptos del diseño
� Arquitectura del software
� Jerarquía de control
� Partición estructural
� Estructura de datos
Ingeniería del Software 27
Conceptos del diseño
• Jerarquía de control
‒ Estructura del programa
‒ NO representa orden, ni secuencia
‒ Representación gráfica en árbol
Ingeniería del Software 28
Conceptos del diseño
� Arquitectura del software
� Jerarquía de control
� Partición estructural
� Estructura de datos
Ingeniería del Software 29
Conceptos del diseño
• Partición estructural
a) Horizontal: F1, F2, F3 (E, P, S)
– Fácil prueba y mantenimiento
– Poca propagación efectos secundarios
– Sw fácilmente ampliable
Ingeniería del Software 30
Conceptos del diseño
• Partición estructural
b) Vertical: Descomposición en factores
‒ TOP -> Control
‒ DOWN -> Procesamiento
‒ Menos susceptibles a efectos secundarios
Universidad Rey Juan Carlos Universidad Rey Juan Carlos
6
Ingeniería del Software 31
Conceptos del diseño
� Arquitectura del software
� Jerarquía de control
� Partición estructural
� Estructura de datos
Ingeniería del Software 32
Conceptos del diseño
• Estructura de datos
‒ Importancia :
� Organización
� Métodos de acceso
� Procesamiento de la información
� Capacidad de asociación
Ejemplos: Escalar, Vector, Pilas, Colas, Listas
Ingeniería del Software 33
Conceptos y principios
� Introducción
� Proceso de diseño
� Principios del diseño
� Conceptos del diseño
� Diseño modular efectivo
Ingeniería del Software 34
Diseño modular efectivo
� Independencia funcional
� Cohesión
� Acoplamiento
Ingeniería del Software 35
Diseño modular efectivo
� Independencia funcional
– Procede de modularidad, abstraccióny ocultamiento de información
– Módulos funcionalidad única
– Mínima interacción con el resto
– Interfaz sencilla
Ingeniería del Software 36
Diseño modular efectivo
� Independencia funcional
� Cohesión
� Acoplamiento
Universidad Rey Juan Carlos Universidad Rey Juan Carlos
7
Ingeniería del Software 37
Diseño modular efectivo
• Cohesión
‒ Extensión de ocultación de información.
‒ Módulo con cohesión
Una sola tarea dentro del procedimiento sw
Ingeniería del Software 38
Diseño modular efectivo
• Cohesión
Tipos de cohesión
– Cohesión lógica - Manejo de excepciones
– Cohesión temporal - Igual intervalo tpo
– Cohesión procedimental
Ingeniería del Software 39
Diseño modular efectivo
• Independencia funcional
• Cohesión
• Acoplamiento
Ingeniería del Software 40
Diseño modular efectivo
• Acoplamiento
‒ Medida de la interconexión entre
módulos
‒ Minimizar el acoplamiento
Ingeniería del Software 41
Conceptos y principios
� Introducción� Proceso de diseño� Principios del diseño� Conceptos del diseño� Diseño modular efectivo� Reglas para modularidad efectiva� Modelo de diseño
Ingeniería del Software 42
Modularidad efectiva
• Reglas– Evaluar primera iteración -> Maximizar cohesión y reducir acoplamiento
– Minimizar estructuras con mucho grado de salida
– Alcance del efecto de un módulo dentro del alcance de control del mismo
Universidad Rey Juan Carlos Universidad Rey Juan Carlos
8
Ingeniería del Software 43
Modularidad efectiva
• Reglas
‒ Evaluar interfaces -> Reducir complejidad,
redundancia y mejorar consistencia
‒ Definir módulos con función predecible
Ingeniería del Software 44
Conceptos y principios
� Introducción� Proceso de diseño� Principios del diseño� Conceptos del diseño� Diseño modular efectivo� Reglas para modularidad efectiva� Modelo de diseño
Ingeniería del Software 45
Modelo de diseño
• Modelo de diseño
Diseño de datos
Arquitectónico
Interfaz
Procedimientos
top related