Descargar

Modularización (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

Modularización – Procedures En Da Vinci programa uno procesos proceso auxiliar comenzar fin variables …. comenzar … fin En Pascal program uno; procedure auxiliar begin end; var …. begin … end. program uno; var …. procedure auxiliar var …. begin end; begin … end.

edu.red

Modularización – Procedures program uno; procedure auxiliar; var x:integer; begin x:= 8; x:= x * x; end; Conjunto de instrucciones que realizan una tarea especifica y retorna 0, 1 o más valores. Cómo se invoca? (Gp:) Procedimiento sin parámetros.

(Gp:) No devuelve nada.

edu.red

Modularización – Procedures program uno; Var // variables del programa procedure auxiliar var x:integer; begin x:= 8; x:= x * x; end; begin ….. auxiliar; ….. end. Por el nombre

edu.red

Modularización – Procedures Resumen Es un módulo que realiza tareas y puede devolver 0, 1 ó más valores. En general devuelve el resultado a través de PARAMETROS. Se invocan: escribiendo su nombre. Permite parámetros de entrada y de entrada salida. Respecto de las operaciones de lectura y escritura, no es aconsejable introducirlas como parte del módulo. Lo charlamos?

edu.red

Modularización – Function En Da Vinci No existe… En Pascal program uno; var …. function auxiliar: tipo begin ….. end; begin … end. En Pascal program uno; var …. function auxiliar: tipo var …. begin ….. end; begin … end.

edu.red

Modularización – Function

function auxiliar: tipo; var x:integer; begin x:= 8; auxiliar:= x; end; Conjunto de instrucciones que realizan una tarea especifica y retorna 1 valor. (Gp:) Function sin parámetros.

(Gp:) Devuelve el valor

(Gp:) Tipo que devuelve. Sólo simples

edu.red

Modularización – Function program uno; function auxiliar: integer; var x:integer; begin x:= 8*5; auxiliar:= x; end; ¿Cómo se invoca?

edu.red

Modularización – Function program uno; var res:integer;

function auxiliar: integer; var x:integer; begin x:= 8*5; auxiliar:= x; end; begin ….. res:= auxiliar; ….. end. Por su nombre, asignando el resultado a una variable del mismo tipo que devuelve la función

edu.red

Modularización – Function program uno; function auxiliar: integer; var x:integer; begin x:= 8*5; auxiliar:= x; End; begin ….. write (“El resultado es”, auxiliar); ….. end. Por su nombre, informando su resultado.

edu.red

Modularización – Function program uno; function auxiliar: integer; var x:integer; begin x:= 8*5; auxiliar:= x; End; begin ….. if (auxiliar = 5) then ….. end. Por su nombre, en una condición

edu.red

Modularización – Function program uno; function auxiliar: integer; var x:integer; begin x:= 8*5; auxiliar:= x; End; begin ….. while (auxiliar = 5) do ….. end. Por su nombre, en una condición

edu.red

Modularización – Function Resumen Es un módulo que realiza una única tarea y devuelve SIEMPRE un sólo valor de tipo simple. Para devolver el resultado se asigna al nombre de la función como última instrucción. Respecto de las operaciones de lectura y escritura, no es aconsejable introducirlas como parte del módulo. Lo charlamos? Se pueden invocar: dentro de una condición (por ejemplo, en la condición de un if o de un while), o asignarla a una variable o dentro de un write. Pueden recibir sólo parámetros de entrada.

edu.red

Diferencias entre procedimiento y función ¿Dónde vuelve el flujo de control del programa una vez ejecutado el módulo? ¿Cómo se invocan? ¿Qué tipos de parámetros aceptan? ¿Cuántos valores devuelven como mínimo? Operaciones que se pueden realizar en cada uno.

edu.red

Modularización – Ejemplo Sistematizar la operatoria de un hotel (Gp:) Gestión de Clientes

(Gp:) Gestión de Reservas

(Gp:) Incorporar un cliente (Gp:) Eliminar un cliente (Gp:) Consultar /Modificar datos cliente

(Gp:) Efectuar reserva (Gp:) Cancelar reserva (Gp:) Consultar reservas de un día

edu.red

Modularización – Ventajas Mayor productividad Al dividir un sistema de software en módulos funcionalmente independientes, un equipo de desarrollo puede trabajar simultáneamente en varios módulos, incrementando la productividad (es decir reduciendo el tiempo de desarrollo global del sistema). Ejemplo.

edu.red

Modularización – Ejemplo Sistematizar la operatoria de un hotel (Gp:) Gestión de Clientes

(Gp:) Gestión de Reservas

(Gp:) Incorporar un cliente (Gp:) Eliminar un cliente (Gp:) Consultar /Modificar datos cliente

(Gp:) Efectuar reserva (Gp:) Cancelar reserva (Gp:) Consultar reservas de un día

edu.red

Modularización – Ventajas Un objetivo fundamental de la Ingeniería de Software es la reusabilidad, es decir la posibilidad de utilizar repetidamente el producto de software desarrollado.

Naturalmente la descomposición funcional que ofrece la modularización favorece el reuso. Ejemplo.

Reusabilidad

edu.red

Modularización – Ejemplo Se puede utilizar para cualquier otro sistema (Gp:) Gestión de Clientes

(Gp:) Incorporar un cliente (Gp:) Eliminar un cliente (Gp:) Consultar /Modificar datos cliente

edu.red

Modularización – Ventajas La división lógica de un sistema en módulos permite aislar los errores que se producen con mayor facilidad. Esto significa poder corregir los errores en menor tiempo y disminuye los costos de mantenimiento de los sistemas. Ejemplo Facilidad de Mantenimiento Correctivo

edu.red

Modularización – Ejemplo No puedo eliminar un usuario Eliminar un usuario

edu.red

Modularización – Ventajas Los sistemas de software reales crecen (es decir aparecen con el tiempo nuevos requerimientos del usuario). La modularización permite disminuir los riesgos y costos de incorporar nuevas prestaciones a un sistema en funcionamiento. Ejemplo. Facilidad para el crecimiento del sistema

edu.red

Modularización – Ejemplo (Gp:) Gestión de Pagos (Gp:) Generar Factura (Gp:) Cancelar pago (Gp:) Registrar pago

Sistematizar la operatoria de un hotel (Gp:) Gestión de Clientes

(Gp:) Gestión de Reservas

(Gp:) Incorporar un cliente (Gp:) Eliminar un cliente (Gp:) Consultar /Modificar datos cliente

(Gp:) Efectuar reserva (Gp:) Cancelar reserva (Gp:) Consultar reservas de un día

edu.red

Modularización – Ventajas

Un efecto de la modularización es una mayor claridad para leer y comprender el código fuente. El ser humano maneja y comprende con mayor facilidad un número limitado de instrucciones directamente relacionadas. Ejemplo. Mayor Legibilidad

edu.red

Modularización – Alcance de variables Program dos; Var y,j: integer;

procedure prueba; var x: integer; Begin x:= 9; write (x); End; Begin j:= 89; y:= j*2; End. ¿Donde se pueden utilizar j e y? ¿Donde se puede utilizar x? ¿Qué pasa si dentro de prueba se declara y: integer? ¿Qué pasa si dentro de prueba se declara y: char?

edu.red

Modularización – Alcance de variables Program dos; Var a,b: integer;

procedure prueba; var

Begin x:= 9; write (x); End; Begin ….. End. (Gp:) 1.Se fija si es variable local

(Gp:) 2. Si no es variable local, entonces se fija si es un parámetro.

(Gp:) 3.Si no es variable local y no es parámetro, entonces se fija si es variable global.

edu.red

Modularización – ¿Qué imprime? Program dos; Var x,a,b: integer; procedure prueba; var x: integer; Begin x:= 9; write (x); End;

Begin x:= 8; prueba; End. Program dos; Var x,a,b: integer; procedure prueba; Begin write (x); End;

Begin x:=8; prueba; End. Program dos; Var x,a,b: integer; procedure prueba; Begin x:= 9; write (x); End;

Begin x:=8; prueba; End.

edu.red

Modularización – ¿Qué imprime? Program ejemplo; Var talle: integer; peso: real; Procedure asigna; var peso: real; Begin talle:= 25; peso:= 62.50; End; Begin talle:= 28; peso:= 55; asigna writeln(talle, peso); End.

25 55 El 25 corresponde al talle El 55 al peso

edu.red

Modularización – ¿Qué imprime? begin {del programa principal} global := 0; write ( global ); proceso; write ( global ); end. Program alcance; Var global : Integer; Procedure proceso; begin global := 25; write ( global ); global: = 30; end;

edu.red

Modularización – ¿Qué imprime? begin {del programa principal} global := 0; write ( global ); proceso; write ( global ); end. Program alcance; Var global : Integer;

Procedure proceso; var global:integer; begin global := 25; write ( global ); global: = 30; end;

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente