principios de diseño
El diseño de software es tanto un proceso como un modelo. El proceso de diseño es una secuencia de pasos que hacen posible que el diseñador describa todos los aspectos del software que se va construir. Sin embargo,
es importante destacar que el proceso de diseño simplemente no es un recetario. Un conocimiento creativo, experiencia en el tema, un sentido de lo que hace queun software sea bueno, y un compromiso general con la calidad son factores críticos de éxito para un diseño competente.
El modelo de diseño es el equivalente a los planes de un arquitecto para una casa. Comienza representando la totalidad de todo lo que se va a construir (por ejemplo, una representación en tres dimensiones de la casa) y refina lentamente lo que va a proporcionar la guía paraconstruir cada detalle (por ejemplo, el diseño de fontanería).
De manera similar, el modelo de diseño que se crea para el software proporciona diversas visiones diferentes de software de computadora.
Los principios básicos de diseño hacen posible que el ingeniero del software navegue por el proceso de diseño.
Davis sugiere un conjunto de principios para el diseño del software, los cuales hansido adaptados y ampliados en la lista siguiente:
En el proceso de diseño no deberá utilizarse orejeras
Un buen diseñador deberá tener en cuenta enfoques alternativos, juzgando todos los que se basan en los requisitos del problema, los recursos disponibles para realizar el trabajo y los conceptos de diseño presentados.
El diseño deberá poderse rastrear hasta el modelo de análisis. Dado que un soloelemento del modelo de diseño suele hacer un seguimiento de los múltiples requisitos, es necesario tener un medio de rastrear cómo se han satisfecho los requisitos por el modelo de diseño.
El diseño no deberá inventar nada que ya esté inventado. Los sistemas se construyen utilizando un conjunto de patrones de diseño, muchos de los cuales probablemente ya se han encontrado antes. Estos patronesdeberán elegirse siempre como una alternativa para reinventar. Hay poco tiempo y los recursos son limitados. El tiempo de diseño se deberá invertir en la representación verdadera de ideas nuevas y en la integración de esos patrones que ya existen.
El diseño deberá minimizar la distancia intelectual.
Entre el software y el problema como si de la misma vida real se tratara. Es decir, la estructuradel diseño del software (siempre que sea posible) imita la estructura del dominio del problema
El diseño deberá presentar uniformidad e integración.
Un diseño es uniforme si parece que fue una persona la que lo desarrolló por completo. Las reglas de estilo y de formato deberán definirse para un equipo de diseño antes de comenzar el trabajo sobre el diseño.
Un diseño se integra si se tienecuidado a la hora de definir interfaces entre los componentes del diseño
El diseño deberá estructurarse para admitir cambios.
Los conceptos de diseño estudiados en la sección siguiente hacen posible un diseño que logra este principio.
El diseño deberá estructurarse para degradarse poco a poco, incluso cuando se enfrenta con datos, sucesos o condiciones de operación aberrantes. Un software biendiseñado no deberá nunca explotar como una BOMBA, Deberá diseñarse para adaptarse a circunstancias inusuales, y si debe terminar de funcionar, que lo haga de forma suave .
El diseño no es escribir código y escribir código no es diseñar. Incluso cuando se crean diseños procedimentales para componentes de programas, el nivel de abstracción del modelo de diseño es mayor que el código fuente. Las únicasdecisiones de diseño realizadas a nivel de codificación se enfrentan con pequeños datos de implementación que posibilitan codificar el diseño procedimental.
El diseño deberá evaluarse en función de la calidad mientras se va creando, no después de terminarlo.
Para ayudar al diseñador en la evaluación de la calidad se dispone de conceptos de diseño y de medidas de diseño.
El diseño deberá...
Regístrate para leer el documento completo.