Modularización

Uso de subprogramas

Razones válidas para crear un subprograma

Cohesión y acoplamiento

Pasos para escribir un subprograma

El nombre y los parámetros de un subprograma

 

Uso de subprogramas

Razones válidas para crear un subprograma

q

Reducir la complejidad del programa (“divide y vencerás”).

q

Eliminar código duplicado.

q

Limitar los efectos de los cambios (aislar aspectos concretos).

q

Ocultar detalles de implementación (p.ej. algoritmos complejos).

q

Promover la reutilización de código (p.ej. familias de productos).

q

Mejorar la legibilidad del código.

q

Facilitar la portabilidad del código.

Cohesión

Medida del grado de identificación de un módulo con una función concreta.

Cohesión aceptable (fuerte)

q

Cohesión funcional (un módulo realiza una única acción).

q

en un orden particular sobre unos datos concretos).

Cohesión secuencial (un módulo contiene acciones que han de realizarse

q

operaciones que se realizan sobre los mismos datos).

Cohesión de comunicación (un módulo contiene un conjunto de

q

han de realizarse al mismo tiempo; p.ej. inicialización).

Cohesión temporal (las operaciones se incluyen en un módulo porque

Cohesión inaceptable (débil)

q

en un orden concreto aunque no tengan nada que ver entre sí).

Cohesión procedural (un módulo contiene operaciones que se realizan

q

ejecución depende de un parámetro: el flujo de control o “lógica” de la

rutina es lo único que une a las operaciones que la forman).

Cohesión lógica (cuando un módulo contiene operaciones cuya

q

ninguna relación observable entre ellas).

Cohesión coincidental (cuando las operaciones de una rutina no guardan

Acoplamiento

Medida de la interacción de los módulos que constituyen un programa.

Niveles de acoplamiento (de mejor a peor):

q

dos rutinas se especifica en la lista de parámetros de la rutina llamada.

Acoplamiento de datos (acoplamiento normal): Todo lo que comparten

q

rutina qué hacer (la primera rutina tiene que conocer detalles internos de

la segunda).

Acoplamiento de control: Una rutina pasa datos que le indican a la otra

q

globales o dispositivos de E/S.

Si los datos son de sólo lectura, el acoplamiento se puede considerar

aceptable. En general, este tipo de acoplamiento no es deseable

porque la conexión existente entre los módulos no es visible.

Acoplamiento externo: Cuando dos rutinas utilizan los mismos datos

q

altera sus datos locales (“acoplamiento de contenido”).

La mayor parte de los lenguajes estructurados incluyen reglas para el

ámbito de las variables que impiden este tipo de acoplamiento.

Acoplamiento patológico: Cuando una rutina utiliza el código de otra o

Objetivo

Reducir al máximo el acoplamiento y aumentar la cohesión de los módulos.

Pasos para escribir un subprograma

1. Definir el problema que el subprograma ha de resolver.

2. Darle un nombre no ambiguo al subprograma.

3. Decidir cómo se puede probar el funcionamiento del subprograma.

4. Escribir la declaración del subprograma (cabecera de la función).

5. Buscar el algoritmo más adecuado para resolver el problema.

6. Escribir los pasos principales del algoritmo como comentarios.

7. Rellenar el código correspondiente a cada comentario.

8. Revisar mentalmente cada fragmento de código.

9. Repetir los pasos anteriores hasta quedar completamente satisfecho.

El nombre de un subprograma

q

Procedimiento: Verbo seguido de un objeto.

q

Función: Descripción del valor devuelto por la función.

ü

El nombre debe describir todo lo que hace el subprograma.

ü

Se deben evitar nombres genéricos que no dicen nada (p.ej. calcular)

ü

Se debe ser consistente en el uso de convenciones.

Los parámetros de un subprograma

ü

Orden: (por valor, por referencia) == (entrada, entrada/salida, salida)

ü

el mismo orden (algo que la biblioteca estándar de C no hace).

Si varias rutinas utilizan los mismos parámetros, éstos han de ponerse en

ü

ponen al final.

De acuerdo con la primera norma, las variables de estado o error se

ü

variables locales de la rutina.

No es aconsejable utilizar los parámetros de una rutina como si fuesen

ü

posibles valores de los parámetros.

Se han de documentar las suposiciones que se hagan acerca de los

ü

para efectuar su labor.

Sólo se deben incluir los parámetros que realmente necesite la rutina

ü

explícitas mediante el uso de parámetros.

Las dependencias existentes entre distintos módulos han de hacerse

Universidad Mariano Galvez de Guatemala

La Antigua Guatemala Plan Diario

Curso: Algoritmos

Ing. Alexis Juarez

Estudiante: Wilson Alexander Gòmez Monzòn

Carnè: 1290 - 09 - 2407

Contacto: wilson.458@hotmail.com

link
Hoy habia 9 visitantes (12 clics a subpáginas) ¡Aqui en esta página!
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis