Conceptos y principios del diseño
Transcript of Conceptos y principios del diseño
Conceptos y principios del diseño
Universidad Técnica de ManabíExtEnsión “El CarmEn”
Facultad de ciencias informáticas
René Hernández
José Luis García
Leonel Barreto
Agustín Zambrano
El presente trabajo del diseño de software va a servir como unmanual el cual el programador podrá realizar su trabajo de unamanera mas fácil y ordenada, solo tendrá que seguir los pasos oprocesos de diseño.
CONCEPTOS Y PRINCIPIOS DEL DISEÑO
El diseño es el primer paso en la fase de desarrollo de
cualquier producto o sistema de ingeniería.
Diseño e ingeniería
del software
Es la primera de las tres actividades técnicas
(diseño, codificación y prueba) necesarias para construir y verificar el
software
El diseño del software se sitúa en el núcleo
técnico del proceso de ingeniería del software y
se aplica independientemente del paradigma de desarrollo
utilizado.
Los requisitos del software, manifestados por los datos y modelos
funcional, y de comportamiento
componen la fase de diseño
La fase de diseño produce un diseño de
datos, un diseño arquitectónico, un
diseño de interfaz y un diseño procedimental
EL PROCESO DE DISEÑO
El diseño del software es un proceso iterativo a
través del cual se traducen los requisitos en una representación del
software
DISEÑO Y CALIDAD DEL SOFTWARE
Existen tres características que
sirven de directrices para la evaluación de
un buen diseño
1.- El diseño debe implementar todos los requisitos explícitos contenidos en el modelo de análisis
2.- El diseño debe ser una guía
3.- El diseño debe proporcionar una completa idea de lo que es el software
LA EVOLUCIÓN DEL DISEÑO
DEL SOFTWARE
Es un proceso imparable que se ha
expandido durante las tres pasadas décadas
Antiguamente el diseño se centraba en los
criterios de desarrollo de programas
modulares y métodos para refinar la
arquitectura de una manera descendente en
la jerarquía
PRINCIPIOS DEL DISEÑO
• Debemos seguir los pasos del diseño hasta el modelo de análisis.
• El diseño no debe inventar nada que ya este inventado.
• El diseño minimizar la distancia intelectual.
• El diseño debe presentar uniformidad e integración.
• El diseño debe estructurarse para admitir cambios .
• El diseño debe estructurarse para degradarse poco a poco.
• El diseño no es escribir código y escribir código no es diseñar.
• Se debe valorar la calidad de diseño mientras se crea, no después de terminarlo.
• Se debe revisar el diseño para revisar los errores conceptuales.
ABSTRACCIÓN
Niveles de abstracción
A medida que nos movemos a través
de diferentes niveles de
abstracción, trabajamos para crear abstracciones
procedimentales y de datos
Una abstracción procedimental es una secuencia de
dada que tiene una función especifica
y limitada
Al nivel superior de abstracción, se establece una solución en términos amplios usando el lenguaje entorno al problema.
A niveles mas bajos se toma una orientación mas procedimental.
Al nivel inferior de abstracción, la solución se establece de manera que pueda implementarse directamente.
Una abstracción de datos es una
colección determinada de
datos que describen un
objeto de datos
• Es un proceso de elaboración
• Ayuda al diseñador a revelar detalles de bajo nivel a medida que progresa el diseño
REFINAMIENTO
modularidad
Es el atributo del software que permite al programa ser
manejable intelectualmente.
Divide el software en componentes identificables y
tratables por separados, denominados
módulos, que están integrados para satisfacer los requisitos
del programa
Meyer define cinco criterios que nos permiten evaluar un método
de diseño con respecto a su capacidad de definir un sistema
modular eficaz
Capacidad de descomposición modular
Capacidad de empleo de componentes
Capacidad de comprensión modular
Continuidad modular
Protección modular
• Se ocupa de conseguir la arquitectura del diseño y los requisitos de rendimiento
• Tiene la capacidad de utilizar bloques de construcción arquitectónica reutilizados
• Define los componentes de un sistema y la manera en que se empaquetan estos componentes e interactúan l los unos a los otros
• Es la estructura jerárquica de los componentes del programa
Arquitectura del software
Propiedades estructurales
Propiedades extra-
funcionales
Familias de sistemas
relacionados
Representa la organización de los componentes del programa e implica una jerarquía de control
Jerarquía de
control
Partición estructural
La estructura del programa debería de partirse tanto horizontal como
verticalmente
La partición horizontal
Define ramas separadas de la
jerarquía modular para cada función
principal del programa
La partición vertical
Sugiere que el control y el trabajo
se distribuyan descendentemente en la arquitectura
del programa
Es una representación de la relación lógica entre los elementos individuales de datos
Dicta las alternativas de organización, métodos de acceso, capacidad de asociación y procesamiento de información
Estructuras de datos
Debe proporcionar una especificación exacta del procesamiento.
Se centra en los detalles de procesamiento de cada modulo individualmente
Procedimiento del software
OCULTAMIENTO DE INFORMACIÓN
Sugiere que los módulos se
caractericen por decisiones de diseño
que haga que cada uno se oculte de los demás
Independencia funcional
• Se consigue desarrollandomódulos con una funciónúnica y una aversión aexcesiva interacción conotros módulos
Antes de comenzar con el desarrollo de cualquierproyecto, se conduce un estudio de Sistemas paradetectar todos los detalles de la situación actual de laempresa. La información reunida con este estudiosirve como base para crear varias estrategias de Diseño.