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.