Professional Documents
Culture Documents
A partir de los requisitos del sistema que se han expresado en la fase de Análisis
y nos han llevado a definir el modelo lógico del nuevo sistema, la/s fase/s de diseño
lleva/n a cabo: El diseño de los datos, el diseño arquitectónico, y el procedimental.
Abstracción.
Cuando se considera una solución modular para cualquier problema, pueden
formularse muchos niveles de abstracción. El primer nivel, o nivel superior de la
abstracción, establece una solución en términos amplios usando un lenguaje en
el entorno del problema. En los niveles inferiores se sigue una orientación
dirigida más hacia los procesos y la implementación. Así, de una terminología
orientada al problema, se baja a una terminología orientada a la implementación.
Refinamiento.
Esta es la primera estrategia de diseño descendente propuesta por Wirth (71).
Así la estructura de un programa se desarrolla en niveles sucesivos de
refinamiento. Cada paso del refinamiento implica algunas decisiones de diseño.
Modularidad.
El concepto de modularidad es de los más antiguos en cuanto a su aplicación al
diseño. Consiste en dividir las diferentes partes del software en componentes que
se integran para satisfacer los requerimientos del problema. En cierto modo
podemos decir que la modularidad es un atributo del software que hace que éste
sea intelectualmente manejable, ya que el software monolítico (un gran
programa formado por un solo módulo) es prácticamente inabarcable por un
desarrollador, por tanto conviene dividirlo en partes, incluso utilizando
diferentes niveles de abstracción y refinamientos sucesivos.
Por otra parte, también convine decir que un sistema se puede diseñar de forma
modular, incluso aunque su implementación tenga que ser monolítica, de esta
forma, el diseño tendrá las ventajas y las características relativas a la
modularidad.
P2 S1 S2 S3
P1
P3 P4
S4 S5
P5
Jerarquuía de Control.
Tambien llamada estructura de programa. Representa la organización de los
diferentes componentes del programa (módulos). Este problema corresponde al
diseño detallado, y lo veremos más adelante. Sin embargo, debemos decir que
hay varias notaciones para representar la jerarquía de control: En forma de arbol
o de diagramas jerárquicos.
Estructura de datos.
Es una representación de la relación lógica entre los items de datos. Como
inevitablemente la estructura de la información afectará al diseño procedimental
final, la estructura de los datos es tan importante como la de los programas en la
representación de la arquitectura del software.
Podemos decir que el diseño de los datos es casi la actividad más importante de
las tres que se realizan en la fase de diseño. El impacto de la estructra de datos sobre la
estructura de programa y la complejidad procedimental, hace que el diseño de los datos
tenga una gran influencia en la calidad del software. Las distintas metodologías resaltan
distintos aspectos del diseño de los datos, pero los principios de ocultamiento de la
información y de abstracción de datos son la base de los métodos de diseño de datos.
Independientemente de las técnicas de diseño usadas, los datos bien diseñados pueden
conducir a una mejor estructura de programa, a una modularidad efectiva y a una
complejidad procedimental reducida.
Ingenieria del software. Diseño. 5
Wasserman propuso una serie de principios que se pueden usar para especificar
y diseñar los datos. Entre ellos, podemos citar:
1.- Deben identificarse todas las estructuras de datos y las operaciones que se
han de realizar sobre cada una de ellas.
2.- Debe establecerse y usarse un diccionario de datos para definir el diseño de
los datos y de la aplicación.
3.- Las decisiones de diseño de los datos a bajo nivel debe posponerse hasta el
diseño detallado. - Para el diseño de los datos puede seguirse un procedimiento de
refinamiento sucesivo, ya que un enfoque descendente para el diseño de los datos
proporciona unas ventajas semejates a las del diseño descendente para el diseño del
software.
4.- La representación de una estructura de datos sólo debe ser conocida por los
módulos que hagan uso directo de los datos contenidos en la estructura.
5.-Se debe desarrollar una biblioteca de estructuras de datos útiles y de las
operaciones que se les pueden aplicar. - Las estructuras y sus operaciones deben verse
como un recurso para el diseño de software.
b)Desarrollo del diseño físico: Esta actividad debe cumplir los siguientes
objetivos:
- Los usuarios finales deben estar envueltos en el diseño físico.
- El diseño físico debe ser estar de acuerdo con las directivas dadas por la
empresa.
- El diseño debe cumplir completamente los requerimientos expresados en la
fase de análisis.
- Los componentes que se deben diseñar durante esta fase son:
.- Información y datos: Organización y formato de entradas y salidas.
.- Almacenamiento de la información: Definición del formato,
organización y acceso de los ficheros y bases de datos que usará el sistema.
.- Usuarios finales.
.- El equipo físico. Hardware.
.- La especificación completa de los programas.
.- Los controles internos en lo que se refiere a seguridad del sistema.