Principios de Dise o de software

Páginas: 5 (1180 palabras) Publicado: 13 de septiembre de 2015
Principios de
Diseño de software

¿Qué es un principio?
Es una ley o regla que se cumple o
debe seguirse con cierto propósito

Abstracción y refinamiento
 Se trata de ocultar los detalles, es decir no centrarse en detalles concretos del
diseño, sino hacer un esquema visual a alto nivel. De esta manera tenemos una
visión general de todo, también se utiliza en los microdiseños.
 La táctica delrefinamiento es justamente lo contrario, es decir, centrarse en
los detalles del modelo abstracto dado anteriormente.

 La técnica de abstracción se complementa con la de refinamiento, es decir,
primero se hace una abstracción del problema y una vez que tenemos un
esquema abstracto usamos la técnica del refinamiento para centrarnos en
detalles concretos.

Niveles de abstracción
Alto nivel
Bajonivel

Menos detalle

Más detalle

Modularidad
Se basa en el principio de "Divide y Vencerás", que consiste un dividir el
problema en varios problemas más pequeños para que el costo de
resolverlos sea menor.
Consiste en dividir un sistema en varios subsistemas, cada uno de estos
resuelve un problema pequeñito y luego se vuelven a unir.
Esta técnica se puede aplicar a distintas escalas. Esto nosplantea una
pregunta: ¿Cómo lo divido? Pues no hay una forma exacta para hacer la
división sino que depende de cada problema en particular.

Modularidad

En esta gráfica podemos observar el costo de dividir en módulos frente al costo de unir esos
módulos. Si dividimos en muchos módulos el costo disminuye, pero aumenta la integración de los
módulos. Hay que buscar la justa medida que estácomprendida en la región de costos mínimos.

Acoplamiento
Medida cualitativa del grado en el que un módulo esta conectado a otros y el
mundo exterior. El acoplamiento hay que mantenerlo bajo para que cada
módulo sea lo más independiente posible. De esta forma si un módulo cambia,
su cambio afecta lo menos posible al resto de sistema. Nunca se puede dar el
acoplamiento 0.
El acoplamiento es un principioevolutivo, tenemos que ir controlándolo a
medida que se diseña hay que estar evaluando el grado de acoplamiento para
conseguir que sea lo más bajo posible.
No hay que intentar disminuir el acoplamiento a toda costa, sino que hay que
evaluar como hacerlo.

Cohesión
Es la medida cualitativa del grado en el que un módulo se enfoca a una sola
cosa. Un módulo hace cosas muy parecidas, la cohesión debeser alta en cada
módulo, se trata de conseguir módulos muy cohesivos y que estén poco
acoplados. Para mejorar la cohesión lo mejor es dividir en subsistemas. Las
clases con muchos métodos son poco cohesivas y habrá que dividir.
La cohesión al igual que el acoplamiento es evolutiva, hay que ir evaluando a la
vez que se diseña para aumentar la cohesión.
"Un elemento es altamente cohesivo si todos suselementos trabajan juntos
para proporcionar algún comportamiento bien determinado"

A la cohesión y al acoplamiento se les denomina el Yin y el Yan de el diseño
software.

Refactorización
Es el proceso de cambiar un sistema de software de tal forma que no se altere el
comportamiento externo de su código (diseño) y aún así se mejora su estructura
interna".
La funcionalidad sigue siendo la mismapero mejora la estructura interna del
código, es decir, mejorando la cohesión y disminuyendo el acoplamiento, pero
siempre hay que tener en cuenta que la funcionalidad no puede cambiar.
En lugar de aplicar la evaluación de la cohesión y el acoplamiento al principio, se
hace cuando ya se tiene un poco de código hecho. Existen catálogos de
refactorización (http://www.refactoring.com) que ayudan allevar a cabo una
refactorización.

Reutilización
No hay que reinventar la rueda, consiste en utilizar código que se sabe que
funciona bien, en vez de hacerlo nosotros de nuevo. Buscar qué hay que
resuelva mi problema y adaptarlo a mi caso.
-El diseño no nace, se hace
La reutilización puede ser a dos niveles: por un lado poder reutilizar código en
forma de componente (por ejemplo usar una base de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Dise O De Software
  • Principios Del Dise O
  • Principios de software
  • Disen O Y Evaluacio N De Software
  • Dise o Arquitectura Del Software
  • Principios del dise o de tallados
  • Principios Del Dise O Universal
  • 10 PRINCIPIOS DEL DISE O

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS