SlideShare una empresa de Scribd logo
1 de 6
Modularidad Si bien el acto de particionar un programa en componentes individuales reduce en algún grado la complejidad, una razón más poderosa para realizarlo es que ésto crea un número de contornos bien documentados dentro del programa. En algunos lenguajes, como por ejemplo Smalltalk, no existe el concepto de módulo, y la clase forma la unidad física de descomposición. En otros (Object Pascal, C++, Ada, CLOS), el módulo es una construcción separada. En estos lenguajes, las clases y los objetos forman la estructura lógica de un sistema; colocando estas abstracciones en módulos se produce la estructura física. La mayoría de los lenguajes que soportan al módulo como un concepto separado, también distinguen entre la interface y la implementación del módulo. C++ maneja los módulos directamente como files compilados en forma separada. La práctica tradicional en la comunidad C/C++ es colocar las interfaces de los módulos en files con extensión .h (header files). Las implementaciones de los módulos son colocados en archivos con extensión .c ,.cpp o .C. MODULARIDAD Módulo: Un módulo que se supone que representa una función lógica es una secuencia léxicamente continúa de instrucciones que se encuentra limitado por elementos de fronteras y además se caracteriza por disponer de un nombre o identificador Módulo: Es aquél que está constituido por una o varias instrucciones físicamente contiguas y lógicamente encadenadas, las cuales se pueden referenciar mediante un nombre y pueden ser llamadas desde diferentes puntos de un programa. Un módulo puede ser: Un programa  Una función  Una subrutina (o procedimiento) La modularidad se basa en la descomposición de un problema en una serie de sub problemas; dividiéndolo en módulos que resultan de segmentar el problema en funciones lógicas que son perfectamente diferenciadas. Esta división exige la presencia de un módulo denominado módulo de base o principal a objeto de que controle y se relacione con los demás. Es una técnica de programación que todavía se utiliza tanto para la construcción de algoritmos computacionales básicos así como apoyo al desarrollo de sistemas de gestión (en el diseño de diagramas modulares). La salida del módulo debe ser función de la entrada, pero no de ningún estado interno. En la creación de los módulos deben cumplirse tres aspectos básicos: descripción, rendimiento y diseño. En la descripción se definen las funciones y objetivos del programa. Para obtener el máximo rendimiento se ha de comprobar que el programa realice el proceso aprovechando al máximo todos los recursos de los que dispone. En cuanto al diseño, se debe comprobar la estructura que sigue el módulo, así como la estructura de los datos y la forma de comunicaciones entre los diversos y diferentes módulos. Conforme se extiende el tamaño de los algoritmos, se hace más difícil su revisión, actualización y/o corrección. Una política común para solventar este problema consiste en la modularización. Esto significa que el algoritmo se fragmenta en partes llamadas módulos. En realidad, es un método de diseño que tiende a dividir el problema, de forma lógica, en partes perfectamente diferenciadas que pueden ser analizadas, programadas y puestas a punto independiente. Objetivos: Descomponer el sistema en módulos:  - Los grupos deben maximizar el enlace y minimizar el acoplamiento. Determinar las relaciones entre módulos:  - Identificar y especificar las dependencias entre módulos. - Determinar la forma de comunicación entre módulos (variables llamadas a funciones, memoria compartida, paso de mensajes) Especificar las interfaces de los módulos:  - Facilita la prueba independiente entre los módulos. - Mejora la comunicación e integración del grupo Características: Permite reducir la complejidad global del sistema descentralizado; ejm. Divide y vencerás.  Mejora la escalabilidad y la productividad (los módulos pueden desarrollarse independientemente por varias personas) Principios para asegurar diseños modulares: Soporte de lenguaje para unidades modulares. Los módulos deben corresponder a unidades sintácticas del lenguaje utilizado. Pocas interfaces:  Cada módulo debe comunicarse con tan pocos como sea posible. Interfaces pequeñas (Acoplamiento débil):  Si dos módulos se comunican, deben intercambiar la menor información posible.. Interfaces explícitas:  Cuando dos módulos se comunican, debe estar claro en el texto de uno o de ambos. Ocultación de la información:  Toda la información sobre un módulo debe ser privada al módulo, a menos que se haya declarado específicamente como pública. Algunas ventajas de utilizar módulos son: Un programa modular es fácil de mantener y modificar.Un programa modular es más fácil de escribir y depurar (ejecutar, probar y poner a punto).Un programa modular es más fácil de controlar. El desglose de un problema en módulos permite encomendar los módulos más complejos a los programadores más experimentados y los más sencillos a los programadores nóveles.Posibilita el uso repetitivo de las rutinas en el mismo o en diferentes programas. Desventajas del uso de módulos: No se dispone de algoritmos formales de modularidad, por lo que a veces los programadores no tienen claras las ideas de los módulos.La programación modular requiere más memoria y tiempo de ejecución. Segmento: El segmento a diferencia del módulo se caracteriza porque no dispone de un nombre o identificador METODOLOGÍA DESCENDENTE: (TOP – DOWN) Proceso mediante el cual un problema se descompone en una serie de niveles o pasos sucesivos de refinamiento (stipwise). La metodología descendente consiste en efectuar una relación entre las sucesivas etapas de estructuración, de modo que se relacionen unas con otras mediante entradas y salidas de información. Es decir se descompone un problema en etapas o estructuras jerárquicas, de modo que se puede considerar cada estructura desde dos puntos de vista; ¿Qué hace?  Para ver el gráfico seleccione la opción 
Descargar
 del menú superior  ¿Cómo lo hace?  Para ver el gráfico seleccione la opción 
Descargar
 del menú superior  El diseño descendente se puede ver:  Para ver el gráfico seleccione la opción 
Descargar
 del menú superior  VARIABLES: Clasificación: Variable Local: Aquella que está declarada y definida dentro de un sub programa, en el sentido de que está dentro de ese sub programa y es distinta de las variables con el mismo nombre declaradas en cualquier parte del programa principal. El significado de una variable se confina al procedimiento en el que está declarada. Cuando otro sub programa utiliza el mismo nombre, se refiere a una posición diferente en memoria. El uso de variables locales tiene muchas ventajas. En particular, hace a los sub programas independientes con la comunicación entre el programa principal y los sub programas manipulados estructuralmente a través de la lista de parámetros. Una variable local a un sub programa, no tiene ningún significado en otros sub programas. Si un sub programa asigna un valor a una de sus variables locales, este valor no es accesible a otros programas, es decir, no pueden utilizar este valor. Variable Global: Aquella que está declarada para el programa o algoritmo principal del que dependen todos los sub programas Esta variable tiene la ventaja de compartir información de diferentes sub programas sin una correspondiente entrada en la lista de parámetros PROCEDIMIENTOS: Un procedimiento o sub rutina, es un sub programa que ejecuta un proceso específico. Ningún valor esta asociado con el nombre del procedimiento, por consiguiente no puede ocurrir en una expresión. Un procedimiento se llama escribiendo su nombre Ejm. SORT para indicar que un procedimiento denominado SORT se va a usar. Cuando se invoca el procedimiento los pasos que los define se ejecuta y a continuación se devuelve el control al programa que le llamó. PROCEDIMIENTO VS FUNCION Los procedimientos y funciones son sub programas, cuyo diseño y misión son similares, sin embargo existen unas diferencias esenciales entre ellos: Un procedimiento es llamado desde el algoritmo o programa principal, mediante su nombre y una lista de parámetros actuales o bien con la instrucción llamar_a (call). Al llamar al procedimiento se detiene momentáneamente el programa que se está realizando y el control pasa al procedimiento llamado, después de que las acciones del procedimiento se ejecutan, se regresa a la acción inmediata siguiente a la que se llamó.  Las funciones devuelven un valor, los procedimientos pueden devolver 0, 1 ó n valores y en forma de lista de parámetros.  El procedimiento se declara igual que la función, pero su nombre no está asociado a ninguno de los resultados que obtiene.  FUNCIONES: Las funciones son bloques de instrucciones que tienen por objeto el alcanzar un resultado que sustituirá a la función en el punto de invocación (las funciones devuelven un resultado).  Cada función se evoca utilizando su nombre en una expresión con los argumentos actuales o reales encerrados entre paréntesis.  Para hacer una referencia a una función se invoca mediante un nombre y en caso de existir, una lista de parámetros actuales necesarios (argumentos). Los argumentos deben coincidir en cantidad, tipo y orden con los de la función que fue definida. La función devuelve un valor único. Las funciones a que se hace referencia, se conocen como funciones de usuario puesto que son definidas por él mismo y permiten su uso en forma idéntica a las funciones estándares. Para coordinar e iniciar el procesamiento, se utiliza un módulo principal que es colocado al final del algoritmo. Una llamada a la función implica los siguientes pasos: A cada parámetro formal se le asigna el valor real de su correspondiente parámetro actual.  Se ejecuta el cuerpo de acciones de la función.  Se devuelve el valor de la función al nombre de la función y se retorna al punto de llamada.  ARQUITECTURA MODULAR: La arquitectura es el elemento estable ante los cambios en el ciclo de vida de los módulos; la clave está en separar interfaces de implementaciones. La separación entre interfaces e implementación: Aísla de los cambios.  Sirve de mecanismo (compilable) de unión entre arquitectura e implementación.  El papel de la arquitectura es proporcionar información de diseño a los desarrolladores, para que éstos puedan hacer cambios y correcciones a los módulos, sin romper la arquitectura.  En cada escala de un sistema modular, se puede definir una arquitectura y una implementación:  La implementación es la realización de los componentes modulares.  La arquitectura es la abstracción que define las interfaces entre componentes.
M O D U L A R I D A D
M O D U L A R I D A D
M O D U L A R I D A D
M O D U L A R I D A D
M O D U L A R I D A D

Más contenido relacionado

La actualidad más candente

Caracteristicas de C Sharp
Caracteristicas de C SharpCaracteristicas de C Sharp
Caracteristicas de C SharpEdgardo Martinez
 
Cuadro comparativo de enfoque estructurado y enfoque orientado
Cuadro comparativo de enfoque estructurado y enfoque orientadoCuadro comparativo de enfoque estructurado y enfoque orientado
Cuadro comparativo de enfoque estructurado y enfoque orientadoFreddySantiago32
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradaLeydi Hernandez
 
Modelo espiral win win
Modelo espiral win winModelo espiral win win
Modelo espiral win winkhinkhe
 
Programacion Orientada a Eventos
Programacion Orientada a EventosProgramacion Orientada a Eventos
Programacion Orientada a EventosLaura
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosGeovanny Yungán
 
Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSmyle22
 
Importancia del análisis de requerimientos
Importancia del análisis de requerimientosImportancia del análisis de requerimientos
Importancia del análisis de requerimientosalmarza1
 
Programación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objetoProgramación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objetoGermán Robles Tandazo
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalLuis Jherry
 
Tema N° 1 Introducción al Modelado de Negocio
Tema N° 1 Introducción al Modelado de NegocioTema N° 1 Introducción al Modelado de Negocio
Tema N° 1 Introducción al Modelado de NegocioSaraEAlcntaraR
 
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...jose francisco arenas jimenez
 
Enfoque estructurado y Enfoque OO - Ingenieria de software
Enfoque estructurado y Enfoque OO  - Ingenieria de softwareEnfoque estructurado y Enfoque OO  - Ingenieria de software
Enfoque estructurado y Enfoque OO - Ingenieria de softwareKola Real
 

La actualidad más candente (20)

02 Mitos de la ingeniería de software
02 Mitos de la ingeniería de software02 Mitos de la ingeniería de software
02 Mitos de la ingeniería de software
 
Posix
PosixPosix
Posix
 
Caracteristicas de C Sharp
Caracteristicas de C SharpCaracteristicas de C Sharp
Caracteristicas de C Sharp
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Ensayo de php
Ensayo de phpEnsayo de php
Ensayo de php
 
Modelos Prescriptivos de Proceso
Modelos Prescriptivos de ProcesoModelos Prescriptivos de Proceso
Modelos Prescriptivos de Proceso
 
Cuadro comparativo de enfoque estructurado y enfoque orientado
Cuadro comparativo de enfoque estructurado y enfoque orientadoCuadro comparativo de enfoque estructurado y enfoque orientado
Cuadro comparativo de enfoque estructurado y enfoque orientado
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
MOD Unidad 1: Fundamentos de modelado
MOD Unidad 1: Fundamentos de modeladoMOD Unidad 1: Fundamentos de modelado
MOD Unidad 1: Fundamentos de modelado
 
Modelo espiral win win
Modelo espiral win winModelo espiral win win
Modelo espiral win win
 
Programacion Orientada a Eventos
Programacion Orientada a EventosProgramacion Orientada a Eventos
Programacion Orientada a Eventos
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetos
 
Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOS
 
Patrones GRASP de tipo de bajo acoplamiento
Patrones GRASP de  tipo de bajo acoplamientoPatrones GRASP de  tipo de bajo acoplamiento
Patrones GRASP de tipo de bajo acoplamiento
 
Importancia del análisis de requerimientos
Importancia del análisis de requerimientosImportancia del análisis de requerimientos
Importancia del análisis de requerimientos
 
Programación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objetoProgramación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objeto
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Tema N° 1 Introducción al Modelado de Negocio
Tema N° 1 Introducción al Modelado de NegocioTema N° 1 Introducción al Modelado de Negocio
Tema N° 1 Introducción al Modelado de Negocio
 
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
 
Enfoque estructurado y Enfoque OO - Ingenieria de software
Enfoque estructurado y Enfoque OO  - Ingenieria de softwareEnfoque estructurado y Enfoque OO  - Ingenieria de software
Enfoque estructurado y Enfoque OO - Ingenieria de software
 

Destacado

4 separacion de funciones
4 separacion de funciones4 separacion de funciones
4 separacion de funcionesKaris Roman
 
2013 0311 curso inap abril 2013 sesion 3 - los componentes técnicos de la a...
2013 0311 curso inap abril 2013   sesion 3 - los componentes técnicos de la a...2013 0311 curso inap abril 2013   sesion 3 - los componentes técnicos de la a...
2013 0311 curso inap abril 2013 sesion 3 - los componentes técnicos de la a...Felix Serrano Delgado
 
FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE Cflaquita_dany
 
Arquitectura de redes
Arquitectura de redesArquitectura de redes
Arquitectura de redeswsar85
 
Fuentes de energía no contaminantes
Fuentes de energía no contaminantesFuentes de energía no contaminantes
Fuentes de energía no contaminantesGrecia Navarro
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetosyolandacando1
 
Etica para amador diapositiva
Etica para amador diapositivaEtica para amador diapositiva
Etica para amador diapositivaYadira Fuentes
 
ÉTICA PARA AMADOR- MAPA CONCEPTUAL
ÉTICA PARA AMADOR- MAPA CONCEPTUALÉTICA PARA AMADOR- MAPA CONCEPTUAL
ÉTICA PARA AMADOR- MAPA CONCEPTUALPedhritOo
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenKarlytoz_36
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoActimel
 
Ética para Amador (resumen)
Ética para Amador (resumen)Ética para Amador (resumen)
Ética para Amador (resumen)Byron Rabe
 

Destacado (14)

Modularidad
ModularidadModularidad
Modularidad
 
4 separacion de funciones
4 separacion de funciones4 separacion de funciones
4 separacion de funciones
 
2013 0311 curso inap abril 2013 sesion 3 - los componentes técnicos de la a...
2013 0311 curso inap abril 2013   sesion 3 - los componentes técnicos de la a...2013 0311 curso inap abril 2013   sesion 3 - los componentes técnicos de la a...
2013 0311 curso inap abril 2013 sesion 3 - los componentes técnicos de la a...
 
11 Funciones
11 Funciones11 Funciones
11 Funciones
 
FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
 
Arquitectura de redes
Arquitectura de redesArquitectura de redes
Arquitectura de redes
 
Fuentes de energía no contaminantes
Fuentes de energía no contaminantesFuentes de energía no contaminantes
Fuentes de energía no contaminantes
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetos
 
Etica para amador diapositiva
Etica para amador diapositivaEtica para amador diapositiva
Etica para amador diapositiva
 
ÉTICA PARA AMADOR- MAPA CONCEPTUAL
ÉTICA PARA AMADOR- MAPA CONCEPTUALÉTICA PARA AMADOR- MAPA CONCEPTUAL
ÉTICA PARA AMADOR- MAPA CONCEPTUAL
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
Ética para Amador (resumen)
Ética para Amador (resumen)Ética para Amador (resumen)
Ética para Amador (resumen)
 

Similar a M O D U L A R I D A D

Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructuradoazuajesimon
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño EstructuradoDrago Díaz
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructuradoYamnibel
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructuradoMarilugosale
 
Español estructurado
Español estructuradoEspañol estructurado
Español estructuradoJorge Garcia
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...negroues
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...negroues
 
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdfUnidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdfEDWINERNESTOMADRIDME
 
Diseño en-el-nivel-de-componentes
Diseño en-el-nivel-de-componentesDiseño en-el-nivel-de-componentes
Diseño en-el-nivel-de-componentesAndresRealp1
 
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfMODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfannalybautistaruiz
 
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfMODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfannalybautistaruiz
 
Uml presentacion
Uml presentacionUml presentacion
Uml presentacionexusjhonk
 
Diseño estructurado y las técnicas que lo caracterizan
Diseño estructurado y las técnicas que lo caracterizanDiseño estructurado y las técnicas que lo caracterizan
Diseño estructurado y las técnicas que lo caracterizanJonathan Bastidas
 
Objeto de Aprendizaje : Introducción a UML
Objeto de Aprendizaje : Introducción a UMLObjeto de Aprendizaje : Introducción a UML
Objeto de Aprendizaje : Introducción a UMLabigail2015
 

Similar a M O D U L A R I D A D (20)

M o d_u_l_a_r_i_d_a_d
M o d_u_l_a_r_i_d_a_dM o d_u_l_a_r_i_d_a_d
M o d_u_l_a_r_i_d_a_d
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Español estructurado
Español estructuradoEspañol estructurado
Español estructurado
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
 
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdfUnidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
 
Modulos de vista
Modulos de vistaModulos de vista
Modulos de vista
 
Diseño en-el-nivel-de-componentes
Diseño en-el-nivel-de-componentesDiseño en-el-nivel-de-componentes
Diseño en-el-nivel-de-componentes
 
samir
samirsamir
samir
 
Samir
SamirSamir
Samir
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfMODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
 
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfMODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
 
Uml presentacion
Uml presentacionUml presentacion
Uml presentacion
 
Diseño estructurado y las técnicas que lo caracterizan
Diseño estructurado y las técnicas que lo caracterizanDiseño estructurado y las técnicas que lo caracterizan
Diseño estructurado y las técnicas que lo caracterizan
 
Objeto de Aprendizaje : Introducción a UML
Objeto de Aprendizaje : Introducción a UMLObjeto de Aprendizaje : Introducción a UML
Objeto de Aprendizaje : Introducción a UML
 

Más de JORGE ARMANDO

Wikileaks un reloj de arena de que tiempos
Wikileaks un reloj de arena de que tiemposWikileaks un reloj de arena de que tiempos
Wikileaks un reloj de arena de que tiemposJORGE ARMANDO
 
Elementos De Una Red Y Como Montar Una Red
Elementos De Una Red Y Como Montar Una RedElementos De Una Red Y Como Montar Una Red
Elementos De Una Red Y Como Montar Una RedJORGE ARMANDO
 
CóDigo De Colores Para Cables De Red Con Conectores
CóDigo De Colores Para Cables De Red Con ConectoresCóDigo De Colores Para Cables De Red Con Conectores
CóDigo De Colores Para Cables De Red Con ConectoresJORGE ARMANDO
 
Taller Material Practico
Taller Material PracticoTaller Material Practico
Taller Material PracticoJORGE ARMANDO
 
Por Qué Estudiar Transmision De Datos
Por Qué Estudiar Transmision De DatosPor Qué Estudiar Transmision De Datos
Por Qué Estudiar Transmision De DatosJORGE ARMANDO
 
Topologias De Una Red
Topologias De Una RedTopologias De Una Red
Topologias De Una RedJORGE ARMANDO
 
Red Neuronal Artificial
Red Neuronal ArtificialRed Neuronal Artificial
Red Neuronal ArtificialJORGE ARMANDO
 
Plan Asignatura Redes I Gr Ao11
Plan Asignatura Redes I Gr Ao11Plan Asignatura Redes I Gr Ao11
Plan Asignatura Redes I Gr Ao11JORGE ARMANDO
 
B L O G V S F A C E B O O K
B L O G  V S  F A C E B O O KB L O G  V S  F A C E B O O K
B L O G V S F A C E B O O KJORGE ARMANDO
 
CORTE I EvolucióN De Las Computadoras
CORTE I EvolucióN De Las ComputadorasCORTE I EvolucióN De Las Computadoras
CORTE I EvolucióN De Las ComputadorasJORGE ARMANDO
 
Tema I I TOPOLOGIA DE REDES
Tema  I I TOPOLOGIA DE REDESTema  I I TOPOLOGIA DE REDES
Tema I I TOPOLOGIA DE REDESJORGE ARMANDO
 
Tema I. Apuntes Docentes. REDES DE COMUNICACIÓN DE DATOS
Tema I. Apuntes Docentes. REDES DE COMUNICACIÓN DE DATOSTema I. Apuntes Docentes. REDES DE COMUNICACIÓN DE DATOS
Tema I. Apuntes Docentes. REDES DE COMUNICACIÓN DE DATOSJORGE ARMANDO
 

Más de JORGE ARMANDO (17)

Wikileaks un reloj de arena de que tiempos
Wikileaks un reloj de arena de que tiemposWikileaks un reloj de arena de que tiempos
Wikileaks un reloj de arena de que tiempos
 
Elementos De Una Red Y Como Montar Una Red
Elementos De Una Red Y Como Montar Una RedElementos De Una Red Y Como Montar Una Red
Elementos De Una Red Y Como Montar Una Red
 
CóDigo De Colores Para Cables De Red Con Conectores
CóDigo De Colores Para Cables De Red Con ConectoresCóDigo De Colores Para Cables De Red Con Conectores
CóDigo De Colores Para Cables De Red Con Conectores
 
Taller Material Practico
Taller Material PracticoTaller Material Practico
Taller Material Practico
 
Por Qué Estudiar Transmision De Datos
Por Qué Estudiar Transmision De DatosPor Qué Estudiar Transmision De Datos
Por Qué Estudiar Transmision De Datos
 
1redes1
1redes11redes1
1redes1
 
Topologias De Una Red
Topologias De Una RedTopologias De Una Red
Topologias De Una Red
 
Red Neuronal Artificial
Red Neuronal ArtificialRed Neuronal Artificial
Red Neuronal Artificial
 
D.T.E D.C.E
D.T.E    D.C.ED.T.E    D.C.E
D.T.E D.C.E
 
End System
End SystemEnd System
End System
 
Que Es Una Red
Que Es Una RedQue Es Una Red
Que Es Una Red
 
Que Es Una Red 2
Que Es Una Red 2Que Es Una Red 2
Que Es Una Red 2
 
Plan Asignatura Redes I Gr Ao11
Plan Asignatura Redes I Gr Ao11Plan Asignatura Redes I Gr Ao11
Plan Asignatura Redes I Gr Ao11
 
B L O G V S F A C E B O O K
B L O G  V S  F A C E B O O KB L O G  V S  F A C E B O O K
B L O G V S F A C E B O O K
 
CORTE I EvolucióN De Las Computadoras
CORTE I EvolucióN De Las ComputadorasCORTE I EvolucióN De Las Computadoras
CORTE I EvolucióN De Las Computadoras
 
Tema I I TOPOLOGIA DE REDES
Tema  I I TOPOLOGIA DE REDESTema  I I TOPOLOGIA DE REDES
Tema I I TOPOLOGIA DE REDES
 
Tema I. Apuntes Docentes. REDES DE COMUNICACIÓN DE DATOS
Tema I. Apuntes Docentes. REDES DE COMUNICACIÓN DE DATOSTema I. Apuntes Docentes. REDES DE COMUNICACIÓN DE DATOS
Tema I. Apuntes Docentes. REDES DE COMUNICACIÓN DE DATOS
 

Último

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 

Último (15)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 

M O D U L A R I D A D

  • 1. Modularidad Si bien el acto de particionar un programa en componentes individuales reduce en algún grado la complejidad, una razón más poderosa para realizarlo es que ésto crea un número de contornos bien documentados dentro del programa. En algunos lenguajes, como por ejemplo Smalltalk, no existe el concepto de módulo, y la clase forma la unidad física de descomposición. En otros (Object Pascal, C++, Ada, CLOS), el módulo es una construcción separada. En estos lenguajes, las clases y los objetos forman la estructura lógica de un sistema; colocando estas abstracciones en módulos se produce la estructura física. La mayoría de los lenguajes que soportan al módulo como un concepto separado, también distinguen entre la interface y la implementación del módulo. C++ maneja los módulos directamente como files compilados en forma separada. La práctica tradicional en la comunidad C/C++ es colocar las interfaces de los módulos en files con extensión .h (header files). Las implementaciones de los módulos son colocados en archivos con extensión .c ,.cpp o .C. MODULARIDAD Módulo: Un módulo que se supone que representa una función lógica es una secuencia léxicamente continúa de instrucciones que se encuentra limitado por elementos de fronteras y además se caracteriza por disponer de un nombre o identificador Módulo: Es aquél que está constituido por una o varias instrucciones físicamente contiguas y lógicamente encadenadas, las cuales se pueden referenciar mediante un nombre y pueden ser llamadas desde diferentes puntos de un programa. Un módulo puede ser: Un programa Una función Una subrutina (o procedimiento) La modularidad se basa en la descomposición de un problema en una serie de sub problemas; dividiéndolo en módulos que resultan de segmentar el problema en funciones lógicas que son perfectamente diferenciadas. Esta división exige la presencia de un módulo denominado módulo de base o principal a objeto de que controle y se relacione con los demás. Es una técnica de programación que todavía se utiliza tanto para la construcción de algoritmos computacionales básicos así como apoyo al desarrollo de sistemas de gestión (en el diseño de diagramas modulares). La salida del módulo debe ser función de la entrada, pero no de ningún estado interno. En la creación de los módulos deben cumplirse tres aspectos básicos: descripción, rendimiento y diseño. En la descripción se definen las funciones y objetivos del programa. Para obtener el máximo rendimiento se ha de comprobar que el programa realice el proceso aprovechando al máximo todos los recursos de los que dispone. En cuanto al diseño, se debe comprobar la estructura que sigue el módulo, así como la estructura de los datos y la forma de comunicaciones entre los diversos y diferentes módulos. Conforme se extiende el tamaño de los algoritmos, se hace más difícil su revisión, actualización y/o corrección. Una política común para solventar este problema consiste en la modularización. Esto significa que el algoritmo se fragmenta en partes llamadas módulos. En realidad, es un método de diseño que tiende a dividir el problema, de forma lógica, en partes perfectamente diferenciadas que pueden ser analizadas, programadas y puestas a punto independiente. Objetivos: Descomponer el sistema en módulos: - Los grupos deben maximizar el enlace y minimizar el acoplamiento. Determinar las relaciones entre módulos: - Identificar y especificar las dependencias entre módulos. - Determinar la forma de comunicación entre módulos (variables llamadas a funciones, memoria compartida, paso de mensajes) Especificar las interfaces de los módulos: - Facilita la prueba independiente entre los módulos. - Mejora la comunicación e integración del grupo Características: Permite reducir la complejidad global del sistema descentralizado; ejm. Divide y vencerás. Mejora la escalabilidad y la productividad (los módulos pueden desarrollarse independientemente por varias personas) Principios para asegurar diseños modulares: Soporte de lenguaje para unidades modulares. Los módulos deben corresponder a unidades sintácticas del lenguaje utilizado. Pocas interfaces: Cada módulo debe comunicarse con tan pocos como sea posible. Interfaces pequeñas (Acoplamiento débil): Si dos módulos se comunican, deben intercambiar la menor información posible.. Interfaces explícitas: Cuando dos módulos se comunican, debe estar claro en el texto de uno o de ambos. Ocultación de la información: Toda la información sobre un módulo debe ser privada al módulo, a menos que se haya declarado específicamente como pública. Algunas ventajas de utilizar módulos son: Un programa modular es fácil de mantener y modificar.Un programa modular es más fácil de escribir y depurar (ejecutar, probar y poner a punto).Un programa modular es más fácil de controlar. El desglose de un problema en módulos permite encomendar los módulos más complejos a los programadores más experimentados y los más sencillos a los programadores nóveles.Posibilita el uso repetitivo de las rutinas en el mismo o en diferentes programas. Desventajas del uso de módulos: No se dispone de algoritmos formales de modularidad, por lo que a veces los programadores no tienen claras las ideas de los módulos.La programación modular requiere más memoria y tiempo de ejecución. Segmento: El segmento a diferencia del módulo se caracteriza porque no dispone de un nombre o identificador METODOLOGÍA DESCENDENTE: (TOP – DOWN) Proceso mediante el cual un problema se descompone en una serie de niveles o pasos sucesivos de refinamiento (stipwise). La metodología descendente consiste en efectuar una relación entre las sucesivas etapas de estructuración, de modo que se relacionen unas con otras mediante entradas y salidas de información. Es decir se descompone un problema en etapas o estructuras jerárquicas, de modo que se puede considerar cada estructura desde dos puntos de vista; ¿Qué hace?  Para ver el gráfico seleccione la opción Descargar del menú superior  ¿Cómo lo hace?  Para ver el gráfico seleccione la opción Descargar del menú superior  El diseño descendente se puede ver:  Para ver el gráfico seleccione la opción Descargar del menú superior  VARIABLES: Clasificación: Variable Local: Aquella que está declarada y definida dentro de un sub programa, en el sentido de que está dentro de ese sub programa y es distinta de las variables con el mismo nombre declaradas en cualquier parte del programa principal. El significado de una variable se confina al procedimiento en el que está declarada. Cuando otro sub programa utiliza el mismo nombre, se refiere a una posición diferente en memoria. El uso de variables locales tiene muchas ventajas. En particular, hace a los sub programas independientes con la comunicación entre el programa principal y los sub programas manipulados estructuralmente a través de la lista de parámetros. Una variable local a un sub programa, no tiene ningún significado en otros sub programas. Si un sub programa asigna un valor a una de sus variables locales, este valor no es accesible a otros programas, es decir, no pueden utilizar este valor. Variable Global: Aquella que está declarada para el programa o algoritmo principal del que dependen todos los sub programas Esta variable tiene la ventaja de compartir información de diferentes sub programas sin una correspondiente entrada en la lista de parámetros PROCEDIMIENTOS: Un procedimiento o sub rutina, es un sub programa que ejecuta un proceso específico. Ningún valor esta asociado con el nombre del procedimiento, por consiguiente no puede ocurrir en una expresión. Un procedimiento se llama escribiendo su nombre Ejm. SORT para indicar que un procedimiento denominado SORT se va a usar. Cuando se invoca el procedimiento los pasos que los define se ejecuta y a continuación se devuelve el control al programa que le llamó. PROCEDIMIENTO VS FUNCION Los procedimientos y funciones son sub programas, cuyo diseño y misión son similares, sin embargo existen unas diferencias esenciales entre ellos: Un procedimiento es llamado desde el algoritmo o programa principal, mediante su nombre y una lista de parámetros actuales o bien con la instrucción llamar_a (call). Al llamar al procedimiento se detiene momentáneamente el programa que se está realizando y el control pasa al procedimiento llamado, después de que las acciones del procedimiento se ejecutan, se regresa a la acción inmediata siguiente a la que se llamó. Las funciones devuelven un valor, los procedimientos pueden devolver 0, 1 ó n valores y en forma de lista de parámetros. El procedimiento se declara igual que la función, pero su nombre no está asociado a ninguno de los resultados que obtiene. FUNCIONES: Las funciones son bloques de instrucciones que tienen por objeto el alcanzar un resultado que sustituirá a la función en el punto de invocación (las funciones devuelven un resultado). Cada función se evoca utilizando su nombre en una expresión con los argumentos actuales o reales encerrados entre paréntesis. Para hacer una referencia a una función se invoca mediante un nombre y en caso de existir, una lista de parámetros actuales necesarios (argumentos). Los argumentos deben coincidir en cantidad, tipo y orden con los de la función que fue definida. La función devuelve un valor único. Las funciones a que se hace referencia, se conocen como funciones de usuario puesto que son definidas por él mismo y permiten su uso en forma idéntica a las funciones estándares. Para coordinar e iniciar el procesamiento, se utiliza un módulo principal que es colocado al final del algoritmo. Una llamada a la función implica los siguientes pasos: A cada parámetro formal se le asigna el valor real de su correspondiente parámetro actual. Se ejecuta el cuerpo de acciones de la función. Se devuelve el valor de la función al nombre de la función y se retorna al punto de llamada. ARQUITECTURA MODULAR: La arquitectura es el elemento estable ante los cambios en el ciclo de vida de los módulos; la clave está en separar interfaces de implementaciones. La separación entre interfaces e implementación: Aísla de los cambios. Sirve de mecanismo (compilable) de unión entre arquitectura e implementación. El papel de la arquitectura es proporcionar información de diseño a los desarrolladores, para que éstos puedan hacer cambios y correcciones a los módulos, sin romper la arquitectura. En cada escala de un sistema modular, se puede definir una arquitectura y una implementación: La implementación es la realización de los componentes modulares. La arquitectura es la abstracción que define las interfaces entre componentes.