Introduccin: Desarrollo: DISEO DEL SOFTWARE E INGENIERA DEL SOFTWARE
EL PROCESO DEL DISEO
Es un proceso interactivo mediante el cual los requisitos se traducen en un
plano para construir el software.
Con el fin de evaluar la calidad de una representacin de diseo, debern
establecerse los criterios tcnicos para un buen diseo. Por ahora se presentarn las siguientes directrices:
1.
Presentar una estructura arquitectnica:
a.
Creada mediante patrones de diseo reconocibles.
b.
Formada por componentes que exijan caractersticas de buen diseo.
c.
Que se puedan implementar de manera evolutiva.
2.
Deber ser modular.
3. Deber contener distintas representaciones de datos, arquitectura,
interfaces y componentes.
4. Conducir estructuras de datos adecuadas para los objetos que se van a
implementar y que procedan de patrones de datos reconocibles.
5. Deber conducir a componentes que presenten caractersticas funcionales
independientes.
6. Conducir a interfaces que reduzcan la complejidad de las conexiones entre
los mdulos y con el entorno externo.
7. Deber derivarse mediante un mtodo repetitivo y controlado por la
informacin obtenida durante el anlisis de los requisitos del software. PRINCIPIOS DEL DISEO
En el proceso de diseo no deber utilizarse orejeras.
El diseo deber poderse rastrear hasta el modelo de anlisis.
El diseo no deber inventar nada que ya este inventado.
El diseo deber minimizar la distancia intelectual entre el software y el
problema como si de la misma vida real se tratara.
El diseo deber presentar uniformidad e integracin.
El diseo deber estructurarse para degradarse poco a poco, incluso
cuando se enfrenta con datos, sucesos o condiciones de operacin aberrantes. Adaptabilidad.
El diseo no es escribir cdigo, y escribir cdigo no es disear.
El diseo deber evaluarse en funcin de la calidad mientras se va
creando, no despus de tomarlo.
El diseo deber revisarse para minimizar los errores conceptuales.
CONCEPTOS DEL DISEO
o ABSTRACCIN: Permite concentrarse en un problema a algn nivel de
generalizaciones sin tener en consideracin de la abstraccin, tambin permite trabajar con conceptos y trminos que son familiares en el entorno del problema sin tener que transformarlos en una estructura no familiar.
o REFINAMIENTO: Una jerarqua se desarrolla descomponiendo una sentencia
macroscpica de funcin paso a paso hasta alcanzar las sentencias del lenguaje de programacin.
o MODULARIDAD: El software se divide en componentes nombrados y
abordados por separado llamados mdulos que se integran para satisfacer los requisitos del problema.
o ARQUITECTURA DEL SOFTWARE: Es la estructura jerrquica de los
componentes del programa, la manera en que los componentes interactan y la estructura de datos que van a utilizar los componentes.
o JERARQUA DE CONTROL: Representa la organizacin de los componentes de
programa e implica una jerarqua de control. No representa los aspectos procedimentales del software.
o DIVISIN ESTRUCTURAL: Se puede dividir tanto Horizontal como
verticalmente.
o ESTRUCTURA DE DATOS: Es una representacin lgica entre elementos
individuales de datos.
o OCULTACIN DE INFORMACIN: Los mdulos se caracterizan por las
decisiones de diseo que oculta al otro. En otras palabras los mdulos debern especificarse y disearse de manera que la informacin que est dentro de un mdulo sea inaccesible a otros mdulos que no necesiten esa informacin.