Sei sulla pagina 1di 10

ACTIVIDAD 3.

2
Contextualización e identificación de conocimientos necesarios para el
aprendizaje.

1. Consulte la definición, características, ventajas y desventajas de la


programación modular.

La programación modular es una técnica utilizada para el desarrollo de software, donde


se divide el programa en muchos componentes o bloques pequeños autónomos llamados
módulos, que son manejables, lógicos y funcionales. El módulo es un bloque de sentencias
que resuelve un problema particular. Cada módulo contiene todo lo necesario para cumplir
con su propia funcionalidad y se puede editar o modificar sin que se vea afectado el resto
del proyecto. Los módulos imponen límites lógicos entre los componentes, mejorando la
capacidad de mantenimiento. Se incorporan a través de interfaces, que están diseñadas de
tal manera que se minimiza la dependencia entre los diferentes módulos.

Módulo principal y auxiliares


Un módulo principal y varios módulos secundarios son los que conforman la programación
modular. Desde el módulo principal se realizan las llamadas a las funciones de los módulos
auxiliares. Estos módulos auxiliares existen como archivos ejecutables separados, que se
cargan al ejecutarse el módulo principal. Cada módulo tiene un nombre único asignado en
la instrucción Prográmalos equipos de trabajo pueden desarrollar diferentes módulos por
separado sin necesidad de conocer todos los módulos del sistema. Cada una de las
aplicaciones modulares tienen asociado un número de versión para proporcionar
flexibilidad a los desarrolladores en el mantenimiento del módulo.
Características de la programación modular
Modularidad
Una computadora no necesita una versión desglosada del código para poder ejecutarlo. Son
las limitaciones cognitivas humanas las que obligan a escribir código en fragmentos más
pequeños. Un programa puede contener otras funciones y también puede referirse a
funciones que están en otros archivos. Estas funciones o módulos son conjuntos de
sentencias que sirven para realizar una operación o calcular un valor.
Definición de función
Una función consiste en una declaración de su definición seguida de comandos y
sentencias. La forma general de una función es:

Nombre de función (declaración de parámetros) {

sentencias; comandos; retornar expresión;}

– La declaración de los parámetros representa la información que se está pasando a la


función.

– Se definen en las sentencias las variables adicionales utilizadas específicamente por la


función.

– Todas las funciones deben incluir una sentencia de retorno.

Alcance de las variables


Las variables que se declaran dentro de la función principal o en funciones definidas por el
usuario se denominan variables locales. Estas tienen un valor cuando se ejecuta la función,
pero su valor no se retiene al completarse la función. Las variables que se declaran
externamente al programa principal o a las funciones definidas por el usuario se denominan
variables globales.

Es procedimental: La programación modular es bastante procedimental, ya que se orienta


completamente a la escritura de código para funciones, sin tomar en cuenta los datos.

Modularidad en la vida real

Supongamos una casa que tenga electricidad, con varias tomas de corriente en las paredes.
Este sistema permite enchufar varios dispositivos eléctricos, por ejemplo, microondas,
lavadora, secadora, etc. Estos dispositivos están diseñados para realizar su tarea específica
al enchufarse y encenderse, independientemente de la casa donde se encuentren. Los
módulos de una aplicación deben seguir esta misma filosofía. Esto significa que solo deben
realizar su tarea específica sin importar la parte de la aplicación donde se encuentren, o
incluso a cuál aplicación estén conectados.

Funciones en Java
En Java los módulos se escriben como funciones independientes. Por ejemplo, se puede
tener una función o bloque de código para calcular el promedio general de notas de un
estudiante según sus calificaciones en todos los cursos que ha tomado. La función necesita
obtener como entrada el listado de calificaciones para luego retornar el promedio de notas
calculado:

Esta función se llama Calcular Nota Promedio. Recibe como entrada una lista de notas,
utilizando una matriz de tipo de datos doublé, y retorna el promedio calculado. Si la matriz
de entrada tuviera las notas 3,5, 3,0 y 4,0, después de sumarlas tendría sum el valor de 10,5
y luego se dividiría entre 3, porque hay tres notas. La función retornaría el valor 3,5.

Ventajas

 Programación independiente del proyecto


Varios programadores pueden trabajar en el mismo proyecto si está dividido en módulos.
Diferentes programadores pueden diseñar de forma independiente distintos módulos del
programa, que es lo requerido para un programa grande y complejo.
 Desarrollo eficiente de programas
Los programas se pueden desarrollar más rápidamente, ya que los módulos pequeños e
independientes son más fáciles de entender, diseñar y probar que los programas grandes.
El programador puede proveer la entrada necesaria y verificar que el módulo esté correcto
examinando su salida.
 Uso múltiple de los módulos
El código escrito para un programa a menudo es útil en otros. La programación modular
permite que estas secciones se guarden para un uso futuro. Debido a que el código es
reubicable, los módulos guardados se pueden vincular a cualquier otro programa que
cumpla con los requerimientos de entrada y salida. Con la programación monolítica, tales
secciones de código quedan incrustadas dentro del programa y no están disponibles para ser
utilizadas por otros programas.
 Facilidad de depuración y modificación
Un módulo es más pequeño que un programa completo, por lo que resulta más fácil
probarlo. Cada módulo se puede escribir y probar por separado del resto del programa.
Después de que se haya probado un módulo, podrá usarse en un nuevo programa sin tener
que probarlo de nuevo. Cuando se debe modificar un programa, la programación modular
simplifica el trabajo. Se pueden vincular módulos nuevos o depurados a un programa
existente sin que el resto del programa cambie.

Desventajas

 Estructura excesivamente orientada a objetos


Esta programación utiliza interfaces, que es una idea bastante eficaz. Para aprovechar eso,
algunos marcos de trabajo traen consigo un conjunto completo de clases intercambiables.
Por ejemplo, para manejar la persistencia, podría haber varias clases que implementen una
interfaz de persistencia.
 Módulos demasiado pequeños
Existe una gran cantidad de módulos que solo contienen una función muy pequeña. Cada
módulo requiere un tiempo adicional de análisis y procesamiento, además de su encabezado
en el código. Por tanto, usar muchos módulos pequeños añadirá una sobrecarga al sistema
de compilación, aumentando el tamaño del paquete.
 Descomponer sin razón
Algunos códigos casi nunca cambian. En esos casos puede que no tenga mucho sentido
tratar de hacer que se vea más limpio o con una lógica abstracta, si con solo usarlo ya
funciona bien.Hay códigos que no se ven demasiado bonitos y, sin embargo, no han
cambiado mucho en los últimos años. No hay ninguna razón para descomponer en módulos
un código que nunca ha cambiado y que ya funciona bien.
2. Realice un cuadro comparativo de los diferentes
paradigmas de programación.

3. Defina que es una clase y describa sus características.


Clase. Las clases son declaraciones o abstracciones de objetos, que significa que una clase
es la definición de un objeto. Cuando se programa un objeto y se definen sus características
y funcionalidades realmente se programa una clase.
Tipos de clases

 Class. Public: Son muy comunes, accesibles desde cualquier otra clase en la misma
librería (de otro modo hay que importarlas).
 Class. Abstract: Aquellas que tienen por lo menos un método abstracto. No
implementan sus métodos, sino que dan las bases para que sean implementados en la
herencia.
 Class. Final: Son las que terminan la cadena de herencia. Útiles por motivos de
seguridad y eficiencia de un programa, ya que no permiten crear más subdivisiones por
debajo de esta clase.
 Class. Synchronizable: Especifica que sus métodos son sincronizados, evitando
problemas con los thread (hilo de ejecución), de forma que estos no pueden empezar a
correr un método si no ha acabado el otro.

Características fundamentales

 Nombre de la clase. Sirve para identificar a todos los objetos que tengan unas
determinadas características.
 Conjunto de atributos. Datos miembros. El valor de los atributos representa el
estado de cada objeto.
 Conjunto de métodos. Funciones miembro. Permite que los objetos cambien de
estado, dependiendo del estado anterior que tuviera el objeto.
 Niveles de acceso para proteger ciertos miembros de la clase. Normalmente, se
definirán como ocultos (privados) los atributos y visibles (públicos) los métodos.

4. Describa que es un objeto y de 3 ejemplos de ellos.


Instancia de una clase. Entidad provista de un conjunto de propiedades o atributos
(datos) y de comportamiento o funcionalidad (métodos), los mismos que
consecuentemente reaccionan a eventos. Se corresponden con los objetos reales del
mundo que nos rodea, o con objetos internos del sistema (del programa).
5. Explique que son los atributos de una clase.
Atributo. Los atributos son las características individuales que diferencian un objeto de otro
y determinan su apariencia, estado u otras cualidades. Los atributos se guardan en variables
denominadas de instancia, y cada objeto particular puede tener valores distintos para estas
variables. Las variables de instancia también denominados miembros dato, son declaradas
en la clase pero sus valores son fijados y cambiados en el objeto. Además de las variables
de instancia hay variables de clase, las cuales se aplican a la clase y a todas sus instancias.

6. Defina que es una propiedad de una clase.


Una propiedad es un miembro que proporciona un mecanismo flexible para leer, escribir o
calcular el valor de un campo privado. Las propiedades se pueden usar como si fueran
miembros de datos públicos. Las propiedades permiten que una clase exponga una manera
pública de obtener y establecer valores, a la vez que se oculta el código de implementación
o verificación.
Para devolver el valor de la propiedad se usa un descriptor de acceso de propiedad get,
mientras que para asignar un nuevo valor se emplea un descriptor de acceso de propiedad
set. Estos descriptores de acceso pueden tener diferentes niveles de acceso.
7. Describa que es un método de una clase.
Un método de instancia es el que se invoca siempre sobre una instancia (objeto) de una
clase. Por ejemplo, p1. getNombre (); siendo p1 un objeto de tipo Persona es un método de
instancia: para invocarlo necesitamos una instancia de persona. 
Un método de clase es aquel que puede ser invocado sin existir una instancia. Por ejemplo,
los métodos de la clase Arrays del API de Java son métodos estáticos: no los invocamos
sobre un objeto, sino sobre una clase.
8. A que se refiere cuando se habla de mensajes entre objetos.
En ciencias de la computación, el paso de mensajes es un paradigma
de programación ampliamente usado en el software moderno. Sus aplicaciones cubren un
amplio campo, y puede usarse para garantizar que los diferentes objetos que constituyen un
programa informático puedan trabajar de forma coherente entre ellos hasta para permitir
que una tarea pueda ejecutarse de forma sincronizada entre varios ordenadores.

9. Mencionar los tipos de herencia y cuál es la función de cada uno.


Es la relación entre una clase general y otra clase más específica. Es un mecanismo que
nos permite crear clases derivadas a partir de clase base, nos permite compartir
automáticamente métodos y datos entre clases subclases y objetos.

Herencia de implementación: La implementación de los métodos es heredada. Puede


sobrescribirse en las clases derivadas.
Herencia de interfaz: Sólo se hereda la interfaz, no hay implementación a nivel de
clase base (interfaces en Java, clases abstractas en C++

10.Que quiere decir que la aplicación se encuentre a dos y a tres capas.


La programación por capas es un modelo de desarrollo software en el que el objetivo
primordial es la separación de las partes que componen un sistema software o también una
arquitectura cliente-servidor: lógica de negocios, capa de presentación y capa de datos. De
esta forma, por ejemplo, es sencillo y mantenible crear diferentes interfaces sobre un
mismo sistema sin requerirse cambio alguno en la capa de datos o lógica. La ventaja
principal de este estilo es que el desarrollo se puede llevar a cabo en varios niveles y, en
caso de que sobrevenga algún cambio, solo afectará al nivel requerido sin tener que revisar
entre el código fuente de otros módulos, dado que se habrá reducido el Acoplamiento
informático hasta una interfaz de paso de mensajes El más utilizado actualmente es el
diseño en tres niveles (o en tres capas).

11.Cuales son las tres capas que componen la programación orientada


a objetos, mencionarlas y definirlas.

1. Capa de presentación: la que ve el usuario (también se la denomina «capa de


usuario»), presenta el sistema al usuario, le comunica la información y captura la
información del usuario en un mínimo de proceso (realiza un filtrado previo para
comprobar que no hay errores de formato). También es conocida como interfaz
gráfica y debe tener la característica de ser «amigable» (entendible y fácil de usar)
para el usuario. Esta capa se comunica únicamente con la capa de negocio.
2. Capa de negocio: es donde residen los programas que se ejecutan, se reciben las
peticiones del usuario y se envían las respuestas tras el proceso. Se denomina capa
de negocio (e incluso de lógica del negocio) porque es aquí donde se establecen
todas las reglas que deben cumplirse. Esta capa se comunica con la capa de
presentación, para recibir las solicitudes y presentar los resultados, y con la capa de
datos, para solicitar al gestor de base de datos almacenar o recuperar datos de él.
También se consideran aquí los programas de aplicación.
3. Capa de datos: es donde residen los datos y es la encargada de acceder a los
mismos. Está formada por uno o más gestores de bases de datos que realizan todo
el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperación
de información desde la capa de negocio.
Todas estas capas pueden residir en un único ordenador, si bien lo más usual es que haya
una multitud de ordenadores en donde reside la capa de presentación (son los clientes de la
arquitectura cliente/servidor).
El término «capa» hace referencia a la forma como una solución es segmentada desde el
punto de vista lógico:

 Presentación. (Conocida como capa Web en aplicaciones Web o como capa de


usuario en Aplicaciones Nativas)
 Lógica de Negocio. (Conocida como capa Aplicativa)
 Datos. (Conocida como capa de Base de Datos)
En cambio, el término «nivel» corresponde a la forma en que las capas lógicas se
encuentran distribuidas de forma física. Por ejemplo: Una solución de tres capas
(presentación, lógica del negocio, datos) que residen en un solo ordenador
(Presentación+lógica+datos). Se dice que la arquitectura de la solución es de tres capas
y un nivel. Una solución de tres capas (presentación, lógica del negocio, datos) que residen
en dos ordenadores (Presentación+lógica, por un lado; lógica+datos por el otro lado). Se
dice que la arquitectura de la solución es de tres capas y dos niveles.

Potrebbero piacerti anche