MODULO III: METODOS Y LENGUAJES DE PROGRAMACION


OBJETIVO GENERAL DEL MÓDULO

 

Aplicar las metodologías de programación y confeccionar programas en lenguajes de programación usuales. Elaborar la documentación técnica y el manual de usuario.

 

OBJETIVOS ESPECIFICOS
CRITERIOS DE EVALUACION
3.1 Conocer y aplicar las diferentes metodologías de programación.  
  3.1.1 Definir los conceptos de variable y los diferentes tipos de variables.
  3.1.2 Enumerar las instrucciones para trabajar con distintos tipos de variables.
  3.1.3 Identificar en un programa determinado las instrucciones de entrada y salida de datos.
  3.1.4 Escribir las principales diferencias entre un registro, un fichero y una base de datos.
  3.1.5 Describir los diferentes tipos de organización de los ficheros.
  3.1.6 Enumerar las principales fases del diseño de un programa determinado, relacionando en cada una de ellas sus funciones.
  3.1.7 Definir los tipos de datos y las instrucciones que permiten el manejo de los mismos dentro de un programa determinado.
  3.1.8 Establecer los registros, ficheros y bases de datos necesarios en función de la finalidad de un programa a desarrollar.
  3.1.9 Definir las partes componentes de un programa determinado relacionando su estructura básica.
3.2 Realizar programas en distintos Lenguajes de Programación (Clipper, C, Visual Basic).  
  3.2.1 Definir los elementos característicos de un determinado lenguaje de programación.
  3.2.2 Enumerar todas las palabras reservadas de un determinado lenguaje.
  3.2.3 Describir todos los procesos de compilación y enlace de un programa codificado en un determinado lenguaje (codificación, compilación y/o enlace).
  3.2.4 Describir los pasos de ejecución para un programa de un lenguaje interpretado.
  3.2.5 Identificar si se han utilizado correctamente las reglas de sintaxis de un determinado lenguaje, a partir de ejemplos de líneas de programa.
  3.2.6 Identificar las instrucciones de Entrada/Salida utilizadas en un determinado lenguaje, describiendo su función.
  3.2.7 Identificar y describir las instrucciones de manipulación de datos y algoritmos de un determinado lenguaje.
  3.2.8 Realizar los procesos de depuración y corrección de errores en un programa con deficiencias de funcionamiento.
  3.2.9 Implementar un programa sencillo en un lenguaje determinado, a partir de un supuesto debidamente planteado, utilizando las herramientas adecuadas.
3.3 Desarrollar programas con Herramientas CASE y Lenguajes de 4GL.  
  3.3.1 Definir los conceptos de Herramientas CASE y Lenguajes de 4GL, describiendo las principales diferencias entre los mismos.
  3.3.2 Rehacer, utilizando un Lenguaje de 4GL, un programa previamente realizado en un lenguaje tradicional.
  3.3.3 Rehacer, utilizando una Herramienta CASE, un programa previamente realizado en un lenguaje tradicional.
3.4 Elaborar la documentación técnica y el manual de usuario.  
  3.4.1 Determinar la estructuración en capítulos en función de una secuencia lógica y de dificultad de aprendizaje.
  3.4.2 Relacionar los contenidos de un capítulo, siguiendo un orden que permita al usuario su perfecta comprensión.
  3.4.3 Indicar las limitaciones de funcionamiento de la aplicación, así como los requisitos mínimos de «hardware» y «software» necesarios.
  3.4.4 Referenciar las marcas comerciales registradas utilizadas en el manual, indicando la propiedad de cada una de ellas.

 

CONTENIDOS TEÓRICO-PRÁCTICOS

Metodologías de programación. Ciclo de vida de un sistema informático. Construcción de un sistema informático: definición de la aplicación, diseño tecnológico y prueba del sistema. Diseño tecnológico: diseño de la aplicación, diseño de la cadena, diseño del programa. Técnicas descriptivas de especificaciones funcionales. Descripción oral. Descripción narrativa. Tablas de decisión. HIPO. Técnicas descriptivas de aspectos técnicos. Diagramas de proceso. Técnicas de diseño de programas. Ordinograma. Pseudocódigo. Los datos y su manejo. Concepto de variable y tipo de una variable. Instrucciones de manejo de una variable. Instrucciones de entrada/salida de datos. Registros. Ficheros/archivos. Estructuras. Organización de los ficheros. Tablas.

Estructura de los programas. Flujo de instrucciones. Programación estructurada. Pseudocódigo. Las estructuras básicas. Explicación y pseudocódigo. Diseños básicos. Consideraciones generales de programación. Sistemática de resolución de programas. Tratamiento de un fichero con organización consecutiva. Roturas de control. Emparejamiento de ficheros. Proceso de actualización. Resolución de segmentos. Programación de tablas/matrices. Programación de tablas de decisión. Desarrollo de programas. Pasos a seguir. Ampliación de conceptos: referentes al diseño, referentes a la revisión del diseño y referentes a la codificación y pruebas.

Clipper. Generalidades de Clipper. Conceptos sobre una base de datos. Estructura de un programa en Clipper. Instrucciones de control de programa. Componentes principales del lenguaje (librerías, módulos de ejemplo). Variables, constantes y operadores. Funciones desarrolladas por el programador. E/S y manipulación de ficheros. Uso de macros. Estudio de las diferentes funciones de «Hashing» o dispersión.

Lenguaje C. Programación de sistemas mediante el lenguaje C. El C como lenguaje estructurado. Las palabras clave de C. Uso de la indentación y reglas gramaticales. Librerías estándar de C. Variables, constantes, operadores y expresiones. Tipos de datos. Declaración de variables. Parámetros formales. Variables globales, registro y estáticas. Sentencias de asignación. Constantes. Operadores. Expresiones. Sentencia de control. Sentencias condicionales. Sentencias alternativas. Bucles. Funciones en C. Funciones o subrutinas. Forma genérica y argumentos de las funciones en C. Recursión. Ficheros y librerías. E/S y ficheros en disco (lectura y escritura de ficheros). Punteros. Asignación de punteros. Expresiones con punteros. Punteros y arrays. Puntero a puntero. Puntero a funciones. Arrays: unidimensionales, bidimensionales y multidimensionales. Estructuras, uniones y tipos definidos por el usuario. Tratamiento de objetos en C.

Visual BASIC. Conocimiento del Visual BASIC. Generalidades. Instalación y arranque de la aplicación. Compatibilidad y especificaciones. Consideraciones generales. Palabras clave no soportadas. Especificaciones y limitaciones. Características del lenguaje. Constantes: numéricas y de caracteres. Variables. Operadores. Sentencias; sentencias de control. Procedimientos y funciones. Arrays. Estructuras. Constantes simbólicas. Objetos; variables que representan objetos; tipos de variable objeto. Colecciones de formularios y controles. Objetos del sistema. Controles más comunes. Arrays de controles. Diseño de menús. Cajas de diálogo. Cajas de diálogo comunes. Tablas de información. Ficheros de datos. Impresión de texto. Efectos gráficos. Sucesos del ratón. Depurar una aplicación. Técnicas avanzadas. Ficheros indexados. Acceso a una base de datos. Aplicaciones MDI. Llamadas a las funciones API de Windows. El sistema y su entorno. Comunicaciones. Intercambio dinámico de datos. Enlace e inclusión de objetos. Librerías dinámicas. Características profesionales. CDK.

Herramientas CASE. Métodos de análisis y diseño de sistemas. Análisis y diseño estructurado (SADT) de Ross. Su variante IDEF. Diagramas de flujo de datos (Yourdon/DeMarco). Diagramas estructurados (Yourdon/ Constantine). Diagramas de Gane y Sarson. Métodos de diseño y programación de Jackson (JSD y JSP). Diseño de datos: diagramas de Entidad-Relación de Chen. Diseño de diagramas. Diccionario de datos y diseño de estructuras de datos. Diseño de pantallas. Diseño de menús. Generación de informes. Documentación: tratamiento de textos y ayuda a la publicación (formatos, etc.).

Nota: se recomienda el uso de la herramienta Excelerator de Index Technology (USA), que opera bajo sistema operativo MS-DOS.

Elaboración de manuales. Estructuración de los manuales: el manual técnico y el manual de usuario. Descripción de funciones, relaciones y limitaciones de funcionamiento. Instalación del programa: requisitos mínimos. Marcas registradas: licencias. Prácticas de metodologías de programación. Confeccionar algoritmos por medio de diagramas de flujo para resolver una problemática planteada. Marcar los propósitos y fines de la aplicación y la delimitación de cada uno. Realizar un diagrama de tipo jerárquico, en donde se vean las funciones a realizar. Practicar con ejercicios sobre distintas estructuras básicas (alternativas, repetitivas, etc.). Definir los canales de entrada/salida de datos y los dispositivos a utilizar en el sistema. Descomponer la descripción de los procesos en programas. Confeccionar programas sencillos de tipo lineal, cíclico, alternativo, etc. Crear un juego de pruebas y comprobar el correcto funcionamiento del programa.

Prácticas de CLIPPER. Instalar y configurar el paquete. Utilizar los diferentes tipos de variables y operadores (aritméticos, lógicos, relacionales de cadena y de asignación ), sobre pequeños programas. Anidar estructuras de control así como sencillos bucles y bifurcaciones múltiples. Realizar un programa que permita cambiar los colores de la pantalla, así como la creación de diferentes tipos de cajas con tamaños diferentes. Incluir las cláusulas GET/READ. Crear menús (MENU TO PROMPT). Diseñar una base de datos con enfoque jerárquico, relacional o en red. Manejar el DBU, con las DBF's ya realizadas. Desarrollar una pequeña aplicación de gestión empresarial donde intervengan varias bases de datos. Analizar un programa de ejemplo.

Prácticas de C. Realizar la instalación del paquete. Utilizar el editor de turbo C++. Utilizar variables, constantes, operadores y expresiones, así como sentencias de control de programa. Diferenciar los tipos de datos predefinidos por C. Utilizar las sentencias de control de los programas para realizar determinadas funciones. Crear matrices, cadenas y punteros en pequeños programas. Examinar detalladamente las funciones de E/S y las funciones de lectura y grabación de archivos de disco. Efectuar ejercicios de funciones, con varios tipos de argumentos, en los que se especifique que la función propuesta devuelva un valor determinado. Escribir funciones recursivas que tengan un argumento entero y que impriman en la pantalla los números de 1 a N, en donde N sea el valor de un argumento. Utilizar funciones de control de pantalla, así como de operadores avanzados. Crear funciones donde se trabaje con objetos, clases y herencias. Escribir una función que cargue de dos formas distintas un array de caracteres de 10 bytes: primero utilizando la indexación de arrays y posteriormente utilizando punteros. Codificar una función que intercambie el valor de dos números entre sí, únicamente si el primer argumento es mayor que el segundo. Comprobar la sobrecarga de funciones, operadores, herencia, funciones virtuales y polimorfismo. Utilizar funciones comunes de la biblioteca de C, así como el «debugger» de C y el compilador. Crear funciones que implementen estructuras de datos. Realizar la práctica anterior utilizando técnicas de objetos. Confeccionar un editor de textos.

Prácticas de Visual BASIC. Realizar los siguientes programas. Gestión de «stocks» de un almacén. Distribución de ficheros para el control de pedidos en una empresa tipo de suministros. Utilización de un fichero como tabla y establecer las referencias cruzadas entre diferentes ficheros para un proceso de cálculo de nóminas.

Prácticas con herramientas CASE. Realizar la gestión de «stocks» de un almacén.

Elaborar el manual técnico y de usuario de una aplicación. Estructurar mediante un índice los diferentes apartados del manual. Describir las funciones, relaciones cruzadas entre datos, ficheros y programas que lo mantienen. Relacionar las limitaciones de funcionamiento. Relacionar los requisitos mínimos para la correcta instalación y funcionamiento del «software». Indicar las referencias a las marcas registradas y los derechos de uso de la licencia de «software». Elaborar la documentación técnica y el manual de usuario de alguna de las aplicaciones realizadas en prácticas anteriores.

1