|
|
Antes de poder resolver el diseño es necesario
tomar decisiones generales sobre las estrategias de diseño a seguir. Algunas
de las decisiones a tomar son:
v Arquitectura
Se refiere, a la organización de las clases
dentro del sistema. Durante el modelo de análisis se generó una arquitectura
de clases para el sistema y se definió la funcionalidad “conceptual” ofrecida
por las distintas clases dentro de la arquitectura. Durante el diseño esta
arquitectura debe detallarse, pudiéndose cambiar los aspectos considerados
inicialmente, como fue la funcionalidad inicialmente asignada a cada clase, e
incluso las propias clases.
El conocimiento y funcionalidad asignada a cada
clase puede ser vista como la “inteligencia” de cada clase dentro del
sistema. En otras palabras, algunas clases pueden ser vistas como más
inteligentes que otras según el conocimiento y control que tengan sobre las
demás clases.
Un manejador de interface de usuario requiere mayor inteligencia, ya
que debe poder administrar la interacción con el usuario, incluyendo manejo
de eventos y manipulaciones sobre las pantallas. Una clase aún más
inteligente es el controlador o manejador de la lógica completa de la
aplicación, ya que es responsables de administrar a los propios manejadores
de interface de usuario y relacionar su funcionalidad con el resto del
sistema.
v Robustez
La robustez de un sistema debe ser uno de los objetivos principales
del diseño. Jamás debe agregarse funcionalidad o simplificar código a
expensas de la robustez. El sistema debe estar protegido contra errores y
debe al menos ofrecer diagnósticos para las fallas que aún pudiesen ocurrir,
en particular aquellas que son fatales. Durante el desarrollo es a veces
bueno insertar instrucciones internas en el código para descubrir fallas,
aunque luego sean removidas durante la producción. En general se debe escoger
lenguajes de programación que apoyen estos aspectos, como son el manejo de
excepciones.
Consideraciones relacionadas con la robustez de un sistema:
v Reúso
Es un
aspecto fundamental del diseño. Cuanto más se pueda reutilizar el código
mejor será la robustez del sistema.
Las siguientes son algunas estrategias para mejorar las posibilidades
de reuso del diseño:
v Extensibilidad
La mayoría de los sistemas son extendidos en manera no prevista por el
diseño original. Por lo tanto, los componentes reutilizables mejorarán
también la extensibilidad. Las siguientes son algunas de las perspectivas de
extensibilidad:
|
Pues si tienes mucha razon compañero, para poder resolver el diseño es necesario tomar decisiones generales sobre las estrategias de diseño a seguir.... y pues para eso es muy importante considerar algunos aspectos como son: Arquitectura, Robustez, reuso y la extensibilidad..!!
ResponderEliminarEsto es con la finalidad de dicho sistema tenga una mayor certificación!