Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Temas
Modularizacin
MOTIVACIN Los problemas del mundo real implican: Complejidad Extensin Modificaciones Los tratamos de resolver con: Abstraccin. Descomposicin funcional.
Modularizacin
Modularizar significa dividir un problema en partes funcionalmente independientes, que encapsulen operaciones y datos.
No se trata simplemente de subdividir el cdigo de un sistema de software en bloques con un nmero de instrucciones dado. Separar en funciones lgicas con datos propios y datos de comunicacin perfectamente especificados.
Modularizacin - Abstraccin
La descomposicin tiene siempre un objetivo. Se busca obtener: Alta Cohesin: medida del grado de identificacin de un mdulo con una funcin concreta. Bajo Acoplamiento: medida de la interaccin de los mdulos que constituyen un programa.
Modularizacin - Abstraccin
Cuando se descompone un problema en subproblemas, deben ser de forma tal que: Cada subproblema est en un mismo nivel de detalle. Cada subproblema puede independientemente posible. resolverse lo ms
Las soluciones de los subproblemas puede combinarse para resolver el problema original.
Modularizacin - Descomposicin
Qu son los Mdulos? Es un conjunto de instrucciones que cumplen una tarea especfica bien definida, se comunican entre s adecuadamente y cooperan para conseguir un objetivo comn.
Cada mdulo encapsula, acciones tareas o funciones
Se descompone de problemas grandes a Hay que representar los objetos relevantes del problema a resolver. problemas pequeos
Modularizacin
Qu es un mdulo en nuestras soluciones? Cmo debe ser un mdulo de software en nuestros programas? Existe una metodologa para trabajar? Es importante tener una buena metodologa de trabajo?
TOP DOWN Ir de lo general a lo particular Dividir conectar y verificar
Modularizacin Formas
Recursos de los lenguajes especificar la modularizacin
de
programacin
para
Modularizacin - 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.
Modularizacin - Procedures
Conjunto de instrucciones que realizan una tarea especifica y retorna 0, 1 o ms valores.
program uno; procedure auxiliar; var x:integer; begin x:= 8; x:= x * x; end;
Procedimiento sin parmetros.
No devuelve nada.
Cmo se invoca?
Modularizacin - 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
Modularizacin - Procedures
Resumen
Es un mdulo que realiza tareas y puede devolver 0, 1 ms valores. Se invocan: escribiendo su nombre. En general devuelve el resultado a travs de PARAMETROS. Respecto de las operaciones de lectura y escritura, no es aconsejable introducirlas como parte del mdulo. Lo charlamos? Permite parmetros de entrada y de entrada salida.
Modularizacin - 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.
Modularizacin - Function
Conjunto de instrucciones que realizan una tarea especifica y retorna 1 valor.
Function sin parmetros.
Modularizacin - Function
program uno; function auxiliar: integer; var x:integer; begin x:= 8*5; auxiliar:= x; end;
Cmo se invoca?
Modularizacin - Function
program uno; var res:integer;
function auxiliar: integer; var x:integer; begin x:= 8*5; auxiliar:= x; end;
Modularizacin - 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.
Modularizacin - 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 condicin
Modularizacin - 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 condicin
Modularizacin - Function
Resumen
Es un mdulo que realiza una nica tarea y devuelve SIEMPRE un slo valor de tipo simple.
Modularizacin - Ejemplo
Sistematizar la operatoria de un hotel
Eliminar un cliente
Efectuar reserva
Cancelar reserva
Consultar reservas de un da
Modularizacin Ventajas
Mayor productividad
Al dividir un sistema de software en mdulos funcionalmente independientes, un equipo de desarrollo puede trabajar simultneamente en varios mdulos, incrementando la productividad (es decir reduciendo el tiempo de desarrollo global del sistema). Ejemplo.
Modularizacin - Ejemplo
Sistematizar la operatoria de un hotel
Efectuar reserva
Cancelar reserva
Consultar reservas de un da
Modularizacin - Ventajas
Reusabilidad Un objetivo fundamental de la Ingeniera de Software es la reusabilidad, es decir la posibilidad de utilizar repetidamente el producto de software desarrollado. Naturalmente la descomposicin funcional que ofrece la modularizacin favorece el reuso. Ejemplo.
Modularizacin - Ejemplo
Gestin de Clientes
Incorporar un cliente
Eliminar un cliente
Modularizacin - Ventajas
Facilidad de Mantenimiento Correctivo La divisin lgica de un sistema en mdulos 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
Modularizacin - Ejemplo
No puedo eliminar un usuario
Eliminar un usuario
Modularizacin - Ventajas
Facilidad para el crecimiento del sistema Los sistemas de software reales crecen (es decir aparecen con el tiempo nuevos requerimientos del usuario). La modularizacin permite disminuir los riesgos y costos de incorporar nuevas prestaciones a un sistema en funcionamiento. Ejemplo.
Modularizacin - Ejemplo
Sistematizar la operatoria de un hotel
Gestin de Pagos
Cancela pago
Cancelar reserva
Consultar reservas de un da
Modularizacin - Ventajas
Mayor Legibilidad Un efecto de la modularizacin es una mayor claridad para leer y comprender el cdigo fuente. El ser humano maneja y comprende con mayor facilidad un nmero limitado de instrucciones directamente relacionadas. Ejemplo.
Modularizacin 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?
Modularizacin Alcance de
variables
Program dos; Var a,b: integer; procedure prueba; var
Begin x:= 9; write (x); End; Begin .. End. 2. Si no es variable local, entonces se fija si es un parmetro. 3.Si no es variable local y no es parmetro, entonces se fija si es variable global. 1.Se fija si es variable local
Modularizacin 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.
Modularizacin 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.
Modularizacin Qu imprime?
Program alcance; Var global : Integer; Procedure proceso; begin global := 25; write ( global ); global: = 30; end;
begin {del programa principal} global := 0; write ( global ); proceso; write ( global ); end.
Modularizacin Qu imprime?
Program alcance; Var global : Integer; Procedure proceso; var global:integer; begin global := 25; write ( global ); global: = 30; end;
begin {del programa principal} global := 0; write ( global ); proceso; write ( global ); end.