Вы находитесь на странице: 1из 2

El diseño del software es un proceso iterativo a través del cual se traducen los

requisitos en una representación del software. El diseño se representa a un alto


nivel de abstracción, un nivel que se puede seguir hasta requisitos específicos de
datos, funcionales y de comportamiento. A medida que ocurren iteraciones del
diseño, el refinamiento subsiguiente lleva a representaciones del diseño de mucho
menor nivel de abstracción. Estos todavía pueden ser seguidos hasta los
requisitos, pero la conexión es mucho más sutil.

Diseño y calidad del software A lo largo del proceso de diseño, se evalúa la


calidad del diseño con una serie de revisiones técnicas formales. McGlaughlin
[McG91] sugiere tres características que sirven de directrices para la evaluación
de un buen diseño:

*El diseño debe implementar todos los requisitos explícitos contenidos en el


modelo de análisis y debe acomodar todos los requisitos implícitos que desea el
cliente.

*El diseño debe ser una guía que puedan leer y entender los que construyan el
código y los que prueban y mantienen el software.

*El diseño debería proporcionar una completa idea de lo que es el software,


enfocando los dominios de datos, funcional y de comportamiento desde la
perspectiva de la implementación.

Para evaluar la calidad de una representación del diseño, se deben establecer


unos criterios técnicos para un buen diseño.

1.-Un diseño debería presentar una organización jerárquica que haga un uso
inteligente del control entre los componentes del software.
2.-El diseño debería ser modular; es decir. se debería hacer una partición lógica
del software en elementos que realicen funciones y subfunciones específicas.
3.-Un diseño debería contener abstracciones de datos y procedimentales.
4.-Un diseño debería producir módulos (p. ej.: subrutinas o procedimientos) que
presenten características funcionales independientes.
5.-Un diseño debería conducir a interfaces que reduzcan la complejidad de las
conexiones entre los módulos y el entorno exterior.
6.-Se debería producir un diseño usando un método que pudiera repetirse según
la información obtenida durante el análisis de requisitos del software.
Estos criterios no se consiguen por casualidad. El proceso de diseño del software
exige un buen diseño a través de la aplicación de principios fundamentales de
diseño, metodología sistemática y una revisión exhaustiva.

Conceptos fundamentales del diseño

«El principio de la sabiduría de un ingeniero del software es reconocer la


diferencia entre conseguir que funcione un programa, y hacerlo bien».
Los conceptos fundamentales del diseño del software proporcionan la estructura
necesaria para «hacerlo bien».

Durante las pasadas tres décadas han evolucionado un conjunto de conceptos


fundamentales de diseño del software. Aunque ha variado el grado de interés en
cada concepto a lo largo de los años, todos han pasado la prueba de los años.
Cada uno aporta al diseñador del software un fundamento desde el que se pueden
aplicar métodos de diseño más sofisticados. Todos ayudan al ingeniero del
software a responder a las siguientes preguntas:
¿Qué criterios pueden emplearse para la partición del software en componentes
individuales? .¿Cómo se extraen la función o la estructura de datos de una
representación conceptual del software? .¿Hay criterios uniformes que definen la
calidad técnica de un diseño de software?

Toda actividad intelectual se caracteriza por un conjunto de conceptos,


fundamentales y de técnicas específicas. Las técnicas son la manifestación de los
conceptos en su aplicación a situaciones particulares. Las técnicas vienen y van
con los cambios tecnológicos, las modas intelectuales, las condiciones
económicas y las preocupaciones sociales. Por definición, los principios
fundamentales permanecen iguales a través del tiempo, proporcionando las bases
fundamentales para el desarrollo y la evaluación de las técnicas. Los conceptos
fundamentales en el diseño de la programación incluyen:

*Abstracción
*Estructura
*Guardado de información
*Modularidad
*Concurrencia
*Verificación
*Aspectos estéticos en el diseño.

Вам также может понравиться