Diseno de software

Páginas: 5 (1035 palabras) Publicado: 27 de enero de 2011
Tema 3.2 Diseño de software
Lección 3.2.1 Concepto de diseño 1. Definición y contenido 2. Principios de diseño Lección 3.2.2 Abstracciones de diseño 1. Tipos de abstracción en el diseño 2. Abstracciones de datos Lección 3.2.3 Arquitectura Software 1. Concepto 2. Componentes y relaciones 3. Tipos de arquitecturas del software Lección 3.2.4 Enfoques y estrategias 1. Concepto 2. Estrategias dediseño Lección 3.2.5 Documentación

29/10/2003

Dpto. LSI - Universidad de Granada

1

Diseño de software
• Proceso de aplicación de diversas técnicas y principios con el propósito de definir un dispositivo, un proceso o un sistema, con suficiente detalle como para poder construirlo. • Establecimiento de una correspondencia entre el dominio del problema y el dominio de las soluciones •Diseño:
– Preliminar (Arquitectónico) – Detallado

• Características:
– Labor creativa – No hay técnicas a prueba de locos – Distancia conceptual entre dominio del problema y las soluciones
29/10/2003 Dpto. LSI - Universidad de Granada 2

Principios de diseño
• • • • Modularidad Abstracción Independencia funcional Ocultamiento de información

• Orientación a objetos:
– TAD (abstracción +modularidad + ocultamiento) – Ley de Demeter (independencia)
29/10/2003 Dpto. LSI - Universidad de Granada 3

Independencia funcional
• Necesita abstracción y modularidad • Los módulos deben ser lo más independientes funcionalmente que se pueda • Un módulo es funcionalmente independiente si:
– Realiza una función bien definida (alta cohesión) – Para modificarlo no es necesario conocer elinterior de otros módulos que lo usan o que usa (bajo acoplamiento)
29/10/2003 Dpto. LSI - Universidad de Granada 4

Cohesión
• • Unión funcional de los elementos de proceso que forman un módulo Grados (- a +):
1. 2. 3. 4. 5. 6. 7.
29/10/2003

Accidental: instrucciones que se repiten Lógica: lo mismo en el mismo módulo Temporal: lógica en un solo tiempo Procedimental: un trozo de organigramaComunicacional: una estructura de datos Secuencial: la salida sirve de entrada Funcional: función específica y repetible
Dpto. LSI - Universidad de Granada 5

Acoplamiento
• • Grado de interdependencia entre distintos módulos. Cuanto más debamos conocer del interior de un módulo A, para comprender el módulo B mayor acoplamiento. Grados:
1. 2. 3. 4. 5. 6. 7.
29/10/2003



ningúnacoplamiento: no se conocen acoplamiento de datos: datos por la interfaz acoplamiento de porciones de datos: trozos de datos acoplamiento de control: decide el comportamiento interno acoplamiento externo: datos externos acoplamiento de áreas comunes de datos: datos globales acoplamiento de contenido:
Dpto. LSI - Universidad de Granada 6

Ocultamiento de información
Las decisiones de diseño difíciles, ylos aspectos susceptibles de cambio, deben ocultarse en el interior de algún (algunos) módulos: – Detalles de implementación – Formatos de E/S – Códigos de caracteres, criterios de orden de los mismos – Desplazamiento y enmascaramiento de la información binaria – Aspectos dependientes del hardware – Parámetros generales de la aplicación (Año en curso, IVA, períodos de emisión de informes degestión,... )
29/10/2003 Dpto. LSI - Universidad de Granada 7

Ley de Demeter
• Proyecto Demeter de Liberherr • En el interior de un método M de una clase C sólo se deberían enviar mensajes a:
– Las variables de instancia (atributos miembro) definidas en C (no heredadas) – Argumentos de M – Objetos creados en M – Variables globales usadas en M

• No se deben enviar mensajes a objetos devueltospor mensajes • MAS LEVE: minimizar este tipo de mensajes
29/10/2003 Dpto. LSI - Universidad de Granada 8

¿Por qué?
Class C0 variables x1 : C1; methods M0 (xi : Ci) returns C2 begin x2 : C2; x2 := x1.x3.M3(xi); return (x2); end M0; end C0; Class C1 variables x3 : C3; end C1;

Class C0 variables x1 : C1; methods M0 (xi : Ci) returns C2 begin return (x1.M3_NEW(xi)); end M0; end C0; Class...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Softwares De Diseño
  • Diseño de software
  • Diseño de software
  • Software De Diseño
  • Diseño De Software
  • Software Diseño
  • DISEÑO DE SOFTWARE
  • Software de Diseño

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS