Vous êtes sur la page 1sur 6

DISEO DE SOFTWARE

El objetivo del diseo es producir un modelo o representacin


que tenga resistencia (ningn error), funcionalidad
(apropiado) y belleza (placetero).

La meta del diseo:


crear un modelo de software que implantar correctamente
todos los requerimientos del usuario
causar placer a quienes lo utilicen
En el diseo crea una representacin o
modelo, que proporciona detalles sobre:
arquitectura del software,
estructuras de datos,
interfaces y
componentes que se necesitan para
implementar el sistema.

Los elementos del modelo de requerimientos proporcionan


informacin necesaria para crear los cuatro modelos de
diseo necesarios para la especificacin completa del diseo

El diseo de datos o clases transforma los modelos de


clases en las estructuras de datos que se requieren para
implementar el software.
El diseo de la arquitectura define la relacin entre los
elementos principales de la estructura del software,
utilizando estilos y patrones de diseo de la arquitectura
para alcanzar los requerimientos
El diseo de la interfaz describe la forma en la que el
software se comunica con los sistemas que interactan con
l y con los humanos que lo utilizan.
El diseo en el nivel de componente transforma los
elementos estructurales de la arquitectura del software en
una descripcin de sus componentes en cuanto a
procedimiento.

El Proceso de Diseo
Es un proceso iterativo por medio del cual se traducen los
requerimientos en un plano para construir el software

Conceptos del Diseo


1. Abstraccin : son los niveles de
resolucin de problema, los cuales
pueden ser alto si se
ABSTRACCIN
especifica en lenguaje
- Procedimental
- De datos
natural o bajo nivel de
- De control
abstraccin si tiene una implantacin directa

2. Arquitectura: es la estructura de organizacin de los


componentes de un programa (mdulos), la forma en la
que stos interactan y la estructura de datos que utilizan

3. Patrones: Un patrn de diseo describe


una estructura de diseo que resuelve
un problema particular dentro de un
contexto especfico.
Se debe tomar en cuenta si el patrn es
aplicable al trabajo que se realiza, si puede
volverse a usar y si sirve de gua para
desarrollar un patrn distinto en estructura.

4. Divisin de Problemas: cualquier problema complejo puede


manejarse con ms facilidad si se
subdivide en elementos susceptibles de
resolverse u optimizarse de manera
independiente
Componentes identificables y tratables por separado
Permite a un programa ser manejable intelectualmente
Complejidad (P1) > Complejidad (P2)
Esfuerzo (p1) > Esfuerzo (p2)
C(pi+p2) > c(p1) + c(p2)
E(pi+p2) > E(p1) + E(p2)

5. Modularidad: el diseo
debe descomponerse en
muchos mdulos con la
esperanza de que sea
ms fcil entenderlos y,
en consecuencia, reducir
el costo requerido para
elaborar el software.

6. Ocultamiento del a informacin: El principio del


ocultamiento de informacin sugiere que los mdulos se
caractericen por decisiones de diseo que se oculten de
las dems.
Deben especificarse y disearse mdulos,
de forma que la informacin (algoritmos y
datos) contenida en un mdulo sea
inaccesible para los que no necesiten de
ella.
Mdulos independientes se comunican con
otros solo mediante informacin que sea
necesaria para realizar la funcin del
software
El ocultamiento en sistemas modulares mayores beneficios
al realizar modificaciones, pruebas y mantenimiento del
software

7. Independencia Funcional: Es el resultado directo de la


separacin de problemas y de los conceptos de
abstraccin y ocultamiento de informacin

Los mdulos independientes:


Componentes con funcin nica y poca interaccin con
otros
Ms fciles de mantener y probar
Menos efectos secundarios por modificaciones de cdigo
Reducida propagacin de errores
Facilita la reutilizacin
La independencia se evala con el uso de
dos criterios cualitativos: la cohesin y el
acoplamiento.
La cohesin es un indicador de la fortaleza
relativa funcional de un mdulo. Un mdulo
cohesivo debe (idealmente) hacer slo una cosa
El acoplamiento indicador de la
independencia relativa entre
mdulos. (interconexin entre
mdulos), debe buscarse el mnimo
acoplamiento posible.

8. Refinamiento: es un proceso de elaboracin, se


comienza con un enunciado de
la funcin definida en un nivel
de abstraccin alto.
La abstraccin y el refinamiento
son conceptos complementarios.
La abstraccin: permite especificar
procedimientos y datos suprimiendo
detalles de bajo nivel.
El refinamiento: ayuda a revelar
detalles de bajo nivel a medida que
progresa el diseo.

La arquitectura de un programa
se desarrolla refinando
sucesivamente niveles de
detalle procedimental.
Se establece una Jerarqua
descomponiendo una
abstraccin procedimental
para, paso a paso, llegar a los
enunciados del lenguaje de
programacin

Vous aimerez peut-être aussi