Conceptos y principios del diseño

Post on 06-Jul-2015

467 views 1 download

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.