You are on page 1of 11

Fundamentos de

Diseo de Software


2
Diseo de Software
actividades tcnicas: diseo, codificacin y prueba
El diseo es tcnicamente la parte central de la ingeniera del software
Durante el diseo se desarrollan, revisan y se documentan los refinamientos
progresivos de las estructuras de datos, de la estructura del programa y de los
detalles procedimentales
El diseo da como resultado representaciones cuya calidad puede ser evaluada

Mediante la aplicacin de metodologas de diseo se realiza
El diseo de datos transforma el modelo de informacin creado durante el anlisis,
en las estructuras de datos que se van a requerir para implementar el software.
El diseo arquitectnico define las relaciones entre los principales elementos
estructurales del programa.
El diseo procedimental transforma los elementos estructurales en una descripcin
procedimental del software

Finalmente, se genera el cdigo fuente y, para integrar y validar el software, se
llevan a cabo las pruebas.
3
Fundamentos del Diseo
Los fundamentos del diseo ayudan al desarrollador de
software a responder a estas preguntas:
Qu criterios puedo utilizar para dividir el software en componentes
individuales?
Cmo se separan los detalles de una funcin o de la estructura de
los datos de la representacin conceptual del software?
Existen criterios uniformes que definan la calidad tcnica de un
diseo de software?

El principio de la sabidura de un programador est en
reconocer la diferencia entre obtener un programa que
funcione y uno que funcione correctamente
4
Fundamentos del Diseo
ABSTRACCIN

Cuando se considera una solucin modular para cualquier
problema, pueden formularse varios niveles de abstraccin

En el nivel superior de abstraccin se establece una solucin en
trminos generales, en lenguaje natural. En los niveles inferiores de
abstraccin se utiliza una orientacin ms procedimental. Por ltimo,
en el nivel ms bajo de abstraccin, se establece una solucin, de
forma que pueda implementarse directamente.
5
Fundamentos del Diseo
REFINAMIENTO
La arquitectura de un programa se desarrolla en niveles sucesivos
de refinamiento de los detalles procedimentales
Se desarrolla una jerarqua descomponiendo una funcin de forma
sucesiva hasta que se llega a las sentencias del lenguaje de
programacin
Comenzamos con una declaracin de la funcin (o una descripcin
de la informacin) definida a un nivel superior de abstraccin. Es
decir, la declaracin describe la funcin o la informacin
conceptualmente, pero no proporciona informacin sobre el
funcionamiento interno de la funcin o sobre la estructura interna de
la informacin, sino que se va a realizando sucesivamente, dando
cada vez ms detalles
6
Fundamentos del Diseo
MODULARIDAD (divide y vencers)

El software se divide en componentes con nombres y ubicaciones
determinados, que se denominan mdulos y que se integran para
satisfacer los requisitos

El software monoltico (es decir, un programa grande compuesto de
un solo mdulo) no puede ser estudiado fcilmente, ya que el
nmero de caminos de control, el nmero de variables y la
complejidad global haran el cdigo prcticamente indescifrable
7
Fundamentos del Diseo
ARQUITECTURA DEL SOFTWARE, La arquitectura del
software se refiere a dos caractersticas importantes del
software:
La estructura jerrquica de los mdulos del software
La estructura de los datos

8
Fundamentos del Diseo
JERARQUA DE CONTROL
Tambin se le conoce como estructura del programa, y representa la
organizacin jerrquica de los mdulos de un programa e implica
una jerarqua de control. La representacin de jerarqua se suele
representar con diagramas de rbol
9
Fundamentos del Diseo
ESTRUCTURA DE DATOS
La estructura de datos es una representacin de la lgica que existe
entre los elementos individuales de informacin. Debido a que la
estructura de la informacin afectar de forma determinante al
diseo procedimiental, la estructura de datos es tan importante
como la estructura del programa en la representacin de la
arquitectura del software.
La estructura de datos dicta la organizacin, los mtodos de acceso,
el grado de asociatividad y las alternativas para el tratamiento de la
informacin.
Las estructuras de datos clsicas son los elementos escalares, los
arrays, las listas y los arboles

10
Fundamentos del Diseo
PROCEDIMIENTOS DEL SOFTWARE
La estructura del programa define la jerarqua de control,
independientemente de las decisiones y secuencias de
procesamiento. El procedimiento del software se centra en los
detalles de procesamiento de cada mdulo individual
11
Fundamentos del Diseo
OCULTAMIENTO DE INFORMACIN
El concepto de modularidad nos lleva a la pregunta: cmo descomponer
una solucin de software en el mejor conjunto de mdulos?
El principio de ocultamiento de la informacin sugiere que los mdulos
deben especificarse de forma que la informacin (procedimientos y datos)
contenida dentro de un mdulo sea inaccesible a otros mdulos que no
necesiten tal informacin.
Por tanto se trata de definir una serie de mdulos independientes que se
comuniquen slo a travs de la informacin necesaria para realizar la
funcin de software.
El uso de ocultamiento de informacin en el diseo facilitar las
modificaciones, prueba y mantenimiento del software, ya que como la
mayora de los datos y de los procedimientos estn ocultos a otras partes
del software, ser menos probable que los errores que se introduzcan
durante la modificacin se propaguen a otros mdulos del software.

You might also like