Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
12Activity
0 of .
Results for:
No results containing your search query
P. 1
T2-modularidad

T2-modularidad

Ratings: (0)|Views: 2,099 |Likes:
Published by fundamentos41dued
MODULArIDAD JAVA
MODULArIDAD JAVA

More info:

Published by: fundamentos41dued on Aug 26, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/11/2014

pdf

text

original

 
1
Tema 2
Modularidad
2
Contenidos
Conceptos básicos
1.
¿Por quémodulamos las aplicaciones?
1.
¿Cómo se debe modular una aplicación?
1.
Factores a considerar para determinar siuna aplicación estábien modulada
1.
Tipos de módulos
1.
Modularidad en Java
3
Referencias
[Meyer, 99] Tema 2, 8, 14
mindview.net/Books/TIJ4
www.javaworld.com
 java.sun.com
www.gamelan.com
4
Modularidad
Objetivos
:
Se presentaráel concepto de Modularidad,imprescindible para desarrollar proyectos grandes.
Se expondrácómo se modularizan las aplicaciones y las ventajas de la modularidad.
 Recordaremos el concepto de Tipo Abstracto de Datos ligándolo a los dos conceptos anteriores.
 A modo de ejemplo revisaremos los recursos que proporciona el lenguaje de programación Java
5
1. Conceptos básicos: Diseño modular
Construcción de una cocina
8
1. Conceptos básicos: Estructura de los módulos
Necesita queElectricista
Quéhace
Instalacióneléctrica
Cómo lo hace
Instalacióneléctrica
Quéhace
rozas
 Dependencias Nombre Interfaz Implementación
 
2
11
1. Conceptos básicos
Encapsulación
Los módulos contienen:
Los datos que utilizan (
herramientas 
)
Las operaciones que tratan los datos (
servicios que ofrece 
)
Ocultación de la información
Los datos locales de los módulos no deben ser visibles desde elexterior (
a nadie le importa quéherramientas utiliza 
)
Los módulos sólo pueden ser utilizados desde el exterior a travésde las operaciones públicas (
hay que solicitarle que haga las labores necesarias, no las hace cualquiera usurpando su lugar 
) Ventajas
Facilitan la modificabilidad (
el obrero ya sabe lo que ha hecho y lo modifica facilmente; hace cursos de reciclaje sin tener que pedir  permiso a ningún otro gremio 
)
Favorecen el desarrollo independiente (
cada gremio sólo tiene que saber hacer su trabajo 
)
Mejoran la inteligibilidad (
normalmente cada labor corresponde a un gremio 
)
12
1. Conceptos básicos
Ejemplo de
Mala Ocultación
Si el fontanero no proteje su sistema defacturación, cualquiera puede modificarsus tarifas o manipular sus facturas
14
1. Conceptos básicos
 Acoplamiento
(
coupling 
):mide la fuerza de lainterconexión de los módulos
Queremos módulos débilmente acoplados para que sepuedan tratar independientemente
Dependencias entre gremios identificadas y minimizadas 
Cohesión
(
cohesion 
): mide lo estrechamente ligadosque están entre sílos elementos internos de unmódulo
Queremos módulos con fuerte cohesión
No queremos que ningún obrero sea el chapuzas que hace de todo pero nada bien. Queremos gente 
15
1. Conceptos básicos
Ejemplos de Acoplamiento
[Meyer,99]
18
Interfaz-Dependencias
 Electricista Albañil
 HRozas HInstalar
20
2. ¿Por quémodulamos las aplicaciones?
Descomponer elproblema en partesmás simplesEl sistema estácompuestode una serie de módulosindependientescomunicados entre sí Facilitar la comprensióndel sistema y de cadauna de sus partesLas modificaciones debidas acambios en la especificación afectana un número reducido de módulosSi se produce un erroren un módulo, éste sóloafecta a dicho módulo
 
3
 
M1M6M5M4M3M2M9M8M7
  a   b  s   t  r  a  c  c   i   ó  n 
   T   O   P  -   D   O   W   N   B   O   T   T   O   M  -   U   P
31
3. ¿Cómo se debe modular una aplicación?
El lenguaje deprogramación utilizadodebe soportar el uso demódulosEl módulo debe dejar bienclaro cómo hacer uso de élEl acceso a los servicios deun módulo debe serhomogéneoUn módulo debe estar listopara su uso pero a su vezdebe poder mejorarse
33
a) Unidades modulares lingüísticas
El lenguaje de programación utilizadodebe soportar el uso de módulos. Losmódulos identificados debencorresponderse con las unidadessintácticas de dicho lenguaje.
34
b) Autodocumentación
El constructor del módulo debe intentarincluir toda la documentación en el propiomóduloEl código del módulo
NO
puede ser sudocumentaciónLa documentación incluye el
diseño
y la
utilización
del módulo
35
c) Acceso Uniforme
Los servicios que ofrece un módulo debenutilizarse de forma uniforme A pesar de cambiar la implementación, laforma de utilizar el módulo debe mantenerseigual
36
d) Abierto -Cerrado
Los módulos deben estar abiertos y cerradosa la vez Abierto: el módulo puede ampliarseCerrado: el módulo debe estar disponiblepara ser utilizado

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->