martes, 31 de mayo de 2011

"Estructuras de control"



En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa.
Con las estructuras de control se puede:
  • De acuerdo a una condición, ejecutar un grupo u otro de sentencias (If-Then-Else y Select-Case)
  • Ejecutar un grupo de sentencias mientras exista una condición (Do-While)
  • Ejecutar un grupo de sentencias hasta que exista una condición (Do-Until)
  • Ejecutar un grupo de sentencias un número determinado de veces (For-Next).
Todas las estructuras de control tienen un único punto de entrada y un único punto de salida. Las estructuras de control se puede clasificar en : secuenciales, iterativas y de control avanzadas. Esto es una de las cosas que permite que la programación se rija por los principios de la programación estructurada.
Los lenguajes de programación modernos tienen estructuras de control similares. Básicamente lo que varía entre las estructuras de control de los diferentes lenguajes es su sintaxis, cada lenguaje tiene una sintaxis propia para expresar la estructura.
Otros lenguajes ofrecen estructuras diferentes, como por ejemplo los comandos guardados

"Los sistemas de gestión de bases de datos "



Los sistemas de gestión de bases de datos (en inglés database management system, abreviado DBMS) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan.

El propósito general de los sistemas de gestión de bases de datos es el de manejar de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se convertirán en información relevante para una organización.

Existen distintos objetivos que deben cumplir los SGBD:
  • Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción.
  • Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.
  • Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea. Por otra parte, la base de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. El sistema no debería aceptar datos de un conductor menor de edad. En los SGBD existen herramientas que facilitan la programación de este tipo de condiciones.
  • Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra segura de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos.
  • Manejo de transacciones. Una transacción es un programa que se ejecuta como una sola operación. Esto quiere decir que luego de una ejecución en la que se produce una falla es el mismo que se obtendría si el programa no se hubiera ejecutado. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho más simple que si no se dispusiera de ellos.
  • Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el SGBD demora en proporcionar la información solicitada y en almacenar los cambios realizados.


El Diseño de sistemas es el arte de definir la arquitectura de hardware y software, componentes, módulos y datos de un sistema de cómputo para satisfacer ciertosrequerimientos. Es la etapa posterior al análisis de sistemas.
El diseño de sistemas tiene un rol más respetado y crucial en la industria deprocesamiento de datos. La importancia del software multiplataforma ha incrementado la ingeniería de software a costa de los diseños de sistemas.
Los métodos de Análisis y diseño orientado a objetos se están volviendo en los métodos más ampliamente utilizados para el diseño de sistemas. El UML se ha vuelto un estandard en el Análisis y diseño orientado a objetos. Es ampliamente utilizado para el modelado de sistemas de software y se ha incrementado su uso para el diseño de sistemas que no son software así como organizaciones.

"Relación"



Relación: es una característica especial de Access que hace que podamos trabajar con varias tablas relacionadas a través de un campo en común. Existen tres tipos de relaciones: relación d uno en un uno, relación de varios a varios y relación de varios a varios. 

"Entidad"



Entidad: o ente es todo aquello cuya existencia es reconocida por algún sistema de ontología. Una entidad puede por lo tanto ser concreta, abstracta, particular ouniversal. Es decir, las entidades no son sólo objetos cotidianos como sillas o personas, sino también propiedades, relaciones, eventos, números, conjuntos, proposiciones, mundos posibles, creencias, pensamientos, etc.

"Diagrama: o modelo entidad-relación "



Diagrama: o modelo entidad-relación (a veces denominado por sus siglas,E-R "Entity relationship", o, "DER" Diagrama de Entidad Relación) es una herramienta para elmodelado de datos de un sistema de información. Estos modelos expresan entidades relevantes para un sistema de información así como sus interrelaciones y propiedades.

"CAMPO"



Campo: es un espacio de almacenamiento para un dato en particular. En las bases de datos, un campo es la mínima unidad de información a la que se puede acceder; un campo o un conjunto de ellos forman un registro, donde pueden existir campos en blanco, siendo éste un error del sistema. En las hojas de cálculo los campos son llamados celdas.

Base de datos


Registro: (también llamado fila o tupla) representa un objeto único de datos implícitamente estructurados en una tabla. En términos simples, una tabla de una base de datos puede imaginarse formada de filas y columnaso campos. Cada fila de una tabla representa un conjunto de datos relacionados, y todas las filas de la misma tabla tienen la misma estructura. Ya que es un conjunto de campos que contienen los datos que pertenecen a una misma repetición de entidad.

   registro facturas emitidas



"Base de Datos"


Una base de datos o banco de datos (en ocasiones abreviada con la sigla BD o con la abreviatura b. d.) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y laelectrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos.
Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos SGBD, así como su utilización y administración, se estudian dentro del ámbito de la informática.
Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas. También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental.
Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran protegidos por las leyes de varios países. Por ejemplo, en España los datos personales se encuentran protegidos por la Ley Orgánica de Protección de Datos de Carácter Personal (LOPD).

"LOCALHOST"



En informática, en el contexto de redes TCP/IP, localhost es un nombre reservado que tienen todas las computadoras, router o dispositivo independientemente de que disponga o no de una tarjeta de redethernet. El nombre localhost es traducido como la dirección IP deloopback 127.0.0.1 en IPv4, o como la dirección ::1 en IPv6


Un servidor remoto (el que se encuentra en Internet y requiere de una conexión FTP para subir archivos) tiene una dirección asociada.
Puede ser una dirección formada por un nombre de dominio, comowww.cmslan.com, o por una dirección IP (conjunto de 4 números del 0 al 255 separados por puntos, como 213.188.129.143).
Este es el modo en el que accedemos a un servidor remoto, dando su nombre ya sea por dominio o por IP.
Pues bien, localhost se corresponde con el nombre de dominio del servidor local.
Una vez instalado WampServer podemos acceder a nuestro servidor local escribiendo en la barra de direcciones del navegadorhttp://localhost/ o escribiendo http://127.0.0.1/ que es la dirección IP de nuestro propio ordenador.
WampServer necesita que especifiquemos una carpeta donde situar el localhost.
De esta forma, cuando el servidor local esté funcionando y visites el localhost desde un navegador, se mostrará el contenido de esa carpeta como si fuese el contenido de un servidor remoto!
La carpeta por defecto para localhost es C:\Archivos de programa\wamp\www, aunque podemos indicar cualquier otra durante el proceso de instalación.

"QUE ES APPSERV?"


Es un software que permite la instalación en nuestro entorno Windows, de los siguientes
paquetes:
Apache Web Server (versión 2.2.3)
Lenguaje PHP (versión 5 o 4, en mi caso instale la 5.1.6)
Base de datos MySQL (versión 5.0.24)
Manejador de base de datos phpMyAdmin (versión 2.9.0.2)
Esto es lo que incluye el actual paquete AppServ 2.5.7, es obvio pero vale la pena recordar que
como esta formado por 4 paquetes (apache, php, mysql, phpmyadmin), cada uno sigue
lanzando nuevas versiones, que podemos instalar por separado o esperar la próxima versión de
AppServ. Por lo general no debemos apresurarnos ya que nuestro PC lo usamos de entorno de
desarrollo y testeo de las aplicaciones

¿¿Que es dreamweaber????


Dreamweaver es una aplicación en forma de estudio (basada en la forma de estudio deAdobe Flash) que está destinada a la construcción y edición de sitios y aplicaciones Web basados en estándares. Creado inicialmente por Macromedia (actualmente producido por Adobe Systems) es el programa de este tipo más utilizado en el sector del diseño y la programación web, por sus funcionalidades, su integración con otras herramientas como Adobe Flash y, recientemente, por su soporte de los estándares delWorld Wide Web Consortium. Su principal competidor es Microsoft Expression Web y tiene soporte tanto para edición de imágenes como para animación a través de su integración con otras. Hasta la versión MX, fue duramente criticado por su escaso soporte de los estándares de la web, ya que el código que generaba era con frecuencia sólo válido para Internet Explorer, y no validaba como HTML estándar. Esto se ha ido corrigiendo en las versiones recientes.
Se vende como parte de la suite Adobe Creative Suite.
La gran ventaja de este editor sobre otros es su gran poder de ampliación y personalización del mismo, puesto que en este programa, sus rutinas (como la de insertar un hipervinculo, una imagen o añadir un comportamiento) están hechas enJavascript-C, lo que le ofrece una gran flexibilidad en estas materias. Esto hace que los archivos del programa no sean instrucciones de C++ sino, rutinas de Javascript que hace que sea un programa muy fluido, que todo ello hace, que programadores y editores web hagan extensiones para su programa y lo ponga a su gusto.
Las versiones originales de la aplicación se utilizaban como simples editores WYSIWYG. Sin embargo, versiones más recientes soportan otras tecnologías web como CSS, JavaScript y algunos frameworks del lado servidor.
Dreamweaver ha tenido un gran éxito desde finales de los años 1990 y actualmente mantiene el 90% del mercado de editores HTML. Esta aplicación está disponible tanto para la platafoma MAC como para Windows, aunque también se puede ejecutar en plataformas basadas en UNIX utilizando programas que implementan las API's de Windows, tipo Wine.
Como editor WYSIWYG que es, Dreamweaver permite ocultar el código HTML de cara al usuario, haciendo posible que alguien no entendido pueda crear páginas y sitios web fácilmente sin necesidad de escribir código.
Algunos desarrolladores web criticaban esta propuesta ya que crean páginas HTML más largas de lo que solían ser al incluir mucho código inútil, lo cual va en detrimento de la ejecución de las páginas en el navegador web. Esto puede ser especialmente cierto ya que la aplicación facilita en exceso el diseño de las páginas mediante tablas. Además, algunos desarrolladores web han criticado Dreamweaver en el pasado porque creaba código que no cumplía con los estándares del consorcio Web (W3C).
No obstante, Adobe ha aumentado el soporte CSS y otras maneras de diseñar páginas sin tablas en versiones posteriores de la aplicación, haciendo que se reduzca el exceso de código.
Dreamweaver permite al usuario utilizar la mayoría de los navegadores Web instalados en su ordenador para previsualizar las páginas web. También dispone de herramientas de administración de sitios dirigidas a principiantes como, por ejemplo, la habilidad de encontrar y reemplazar líneas de texto y código por cualquier tipo de parámetro especificado, hasta el sitio web completo. El panel de comportamientos también permite crear JavaScript básico sin conocimientos de código.
Con la llegada de la versión MX, Macromedia incorporó herramientas de creación de contenido dinámico en Dreamweaver. En lo fundamental de las herramientas HTML WYSIWYG, también permite la conexión a Bases de Datos como MySQL y Microsoft Access, para filtrar y mostrar el contenido utilizando tecnología de script como, por ejemplo, ASP (Active Server Pages), ASP.NETColdFusionJSP (JavaServer Pages) yPHP sin necesidad de tener experiencia previa en programación

"PHP"



PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdorf en 1994; sin embargo la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre.
Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra instalado en más de 20 millones de sitios web y en un millón de servidores, el número de sitios en PHP ha compartido algo de su preponderante sitio con otros nuevos lenguajes no tan poderosos desde agosto de 2005. Este mismo sitio web de Wikipedia está desarrollado en PHP. Es también el módulo Apache más popular entre las computadoras que utilizan Apache como servidor web.
El gran parecido que posee PHP con los lenguajes más comunes deprogramación estructurada, como C y Perl, permiten a la mayoría de losprogramadores crear aplicaciones complejas con una curva de aprendizaje muy corta. También les permite involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo grupo de funciones.
Aunque todo en su diseño está orientado a facilitar la creación de sitios webs, es posible crear aplicaciones con una interfaz gráfica para el usuario, utilizando la extensión PHP-Qt o PHP-GTK. También puede ser usado desde la línea de órdenes, de la misma manera como Perl o Pythonpueden hacerlo; a esta versión de PHP se la llama PHP-CLI (Command Line Interface).
Cuando el cliente hace una petición al servidor para que le envíe unapágina web, el servidor ejecuta el intérprete de PHP. Éste procesa elscript solicitado que generará el contenido de manera dinámica (por ejemplo obteniendo información de una base de datos). El resultado es enviado por el intérprete al servidor, quien a su vez se lo envía al cliente. Mediante extensiones es también posible la generación de archivos PDF,Flash, así como imágenes en diferentes formatos.
Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQLPostgreSQLOracleODBCDB2Microsoft SQL ServerFirebird y SQLite.
XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor Web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El programa está liberado bajo la licencia GNU y actúa como un servidor Web libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP esta disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X.
PHP también tiene la capacidad de ser ejecutado en la mayoría de lossistemas operativos, tales como Unix (y de ese tipo, como Linux o Mac OS X) y Microsoft Windows, y puede interactuar con los servidores de web más populares ya que existe en versión CGI, módulo para Apache, eISAPI.
PHP es una alternativa a las tecnologías de Microsoft ASP y ASP.NET(que utiliza C# y Visual Basic .NET como lenguajes), a ColdFusion de la empresa Adobe, a JSP/Java y a CGI/Perl. Aunque su creación y desarrollo se da en el ámbito de los sistemas libres, bajo la licencia GNU, existe además un entorno de desarrollo integrado comercial llamadoZend Studio. Recientemente, CodeGear (la división de lenguajes de programación de Borland) ha sacado al mercado un entorno de desarrollo integrado para PHP, denominado 'Delphi for PHP. También existen al menos un par de módulos para Eclipse, uno de los entornos más populares

Tècnicas de diseño de programas


El proceso de diseño comprende al desarrollo de una visión conceptual del sistema, el establecimiento de una estructura, la identificación de las cadenas de datos y su almacenamiento, la descomposición de funciones de alto nivel en su subfunciones, el establecimiento de las relaciones e interconexiones entre componentes, el desarrollo de la representación de datos en forma concreta y la especificación de los detalles de los algoritmos. 
Las técnicas de diseño comúnmente están basadas en las estrategias de las jerarquías de `'hacia abajo'' y de `'hacia arriba'' . Por medio del enfoque de arriba a abajo, se pone atención inicialmente en los aspectos globales de todo el sistema ; conforme el diseño progresa, el sistema se descompone en subsistema, poniéndosele el mayor consideración a los detalles específicos. El encadenamiento hacia atrás resulta fundamental en este tipo de diseño. Con el fin de reducir este encadenamiento hacia atrás, muchos diseñadores proponen el uso de una estrategia mezclada, la cual es predominantemente hacia abajo, pero que primero requiere de la especificación de los módulos inferiores. La ventaja primordial de esta estrategia es que se dedica a la atención a las necesidades del cliente, a las interfaces con el usuario y a la naturaleza global del problema a resolver.

En el enfoque hacia arriba del diseño de productos de programación, el diseñador primero intenta identificar al conjunto primitivo de objetos acciones y relaciones que proporcionarán una base para la solución del problema ; los conceptos de alto nivel son después formulados en términos del conjunto de primitivos. La estrategia hacia arriba requiere que el diseñador combine las características proporcionadas por el lenguaje de instrumentación para dar entidades son a su vez combinadas hasta que se construye un conjunto de funciones, estructuras de datos e interconexiones para resolver el problema por medio del uso de las facilidades del ambiente de programación existente ; este tipo de diseño puede también requerir del rediseño y el encadenamiento hacia atrás del mismo. El éxito de este enfoque depende de la identificación del conjunta adecuado de ideas primitivas que sean suficientes para la instrumentación del sistema.
Top down
El diseño descendente es una técnica que permite diseñar la solución de un problema con base en la modularización o segmentación dándole un enfoque de arriba hacia abajo (Top Down Design). Esta solución se divide en módulos que se estructuran e integran jerárquicamente, como si fuera el organigrama de una empresa.
Bottom up
La diferencia del tipo de diseño ascendente y descendente solo se puede dar a la hora de la programación. Porque en el momento de dibujar la estructura del problema, en las dos formas el diseño queda igual, solamente que los módulos son enumerados en forma diferente, pero esto se hace pensando ya en como se va a comenzar a programar. En el diseño ascendente primero se programan los módulos que se encuentran mas abajo de la estructura, hasta llegar al primer modulo dibujado.
Tomando un ejemplo del diseño descendente la estructura quedaría como sigue : 
Ejercicio : Realiza el diseño ascendente para la gestión del control de un hotel utilizando la siguiente información :
  • pagos a empleados (nombre, puesto, sueldo, horas extra)
  • prestamos externos (cliente, préstamo, aval, plazo)
  • libro de reservaciones(nombre, departamento, entrada, salida)
  • mantenimiento (área, daños, total)
Esta gráfica muestra los módulos generales que va a contener el programa.
SUBPROGRAMA
CONTROL 20
SUBPROGRAMA SUBPROGRAMA SUBPROGRAMA SUBPROGRAMA 
PAGOS A PRESTAMOS LIBROS DE MANTENIMIENTO
EMPLEADOS 5 EXTERNOS RESERVACIONES 15 19
WARNIER ORR
Los diagramas de Warnier/Orr (también conocidos como construcción lógica de programas/construcción lógica de sistemas) fueron desarrollados inicialmente en Francia por Jean Dominique Warnier y en los Estados Unidos por Kenneth Orr. Este método ayuda al diseño de estructuras de programas identificando la salida y resultado del procedimiento, y entonces trabaja hacia atrás para determinar los pasos y combinaciones de entrada necesarios para producirlos. Los sencillos métodos gráficos usados en los diagramas de Warnier/Orr hacen evidentes los niveles en un sistema y más claros los movimientos de los datos en dichos niveles.
ELEMENTOS BASICOS
Los diagramas de Warnier/Orr muestran los procesos y la secuencia en que se realizan. Cada proceso se define de una manera jerárquica ; es decir, consta de conjuntos de subprocesos que lo definen, en cada nivel, el proceso se muestra en una llave que agrupa a sus componentes. Puesto que un proceso puede tener muchos subprocesos distintos, un diagrama de Warnier/Orr usa un conjunto de llaves para mostrar cada nivel del sistema.
USO DE DIAGRAMAS DE WARNIER/ORR
la capacidad de mostrar la relación entre procesos y pasos de un proceso no es exclusiva de los diagramas de Warnier/Orr, así como tampoco lo es el uso de la iteración, selección de alternativas o el tratamiento de casos individuales. Tanto los diagramas de flujo estructurado y los métodos del español estructurado logran eso también. Sin embargo, el enfoque que se usa para desarrollar las definiciones de un sistema por medio de estos diagramas es distinto y se adapta y se adaptan bien a los que se usan en el diseño de sistemas lógicos.
Para desarrollar un diagrama de Warnier/Orr , el analista trabaja hacia atrás, empezando con la salida del sistema y usando un análisis orientado hacia la salida. En el papel el desarrollo se mueve de izquierda a derecha. En primer lugar, se definen la salida o resultados esperados del procedimiento. En el nivel siguiente, mostrado mediante la inclusión por medio de una llave, se definen los pasos necesarios para producir la salida. A su vez, cada paso se define un poco mas. Las llaves adicionales agrupan los procesos requeridos para producir el resultado en el siguiente nivel.
Los diagramas de Warnier/Orr ofrecen a los expertos en sistemas algunas ventajas distintivas. Son simples en apariencia y fáciles de entender. Aun así, son poderosas herramientas de diseño. Tienen la ventaja de mostrar agrupaciones de procesos y los datos que deben transferirse de nivel a nivel. Además, la secuencia del trabajo hacia atrás garantiza que el sistema estará orientado hacia el resultado.
Conclusiones
En esta investigación abarcamos tres diferentes técnicas de diseño las cuales son el TOP DOWN, BOTTOM UP y el WARNIER/ORR.
La técnica TOP DOWN también es conocida como arriba-abajo y consiste en una serie de niveles de menor a mayor complejidad que dan solución al problema, en esencia consiste en efectuar una relación entre las etapas de la estructuración de forma que una etapa jerárquica y su inmediato inferior se relacionan mediante la entrada y salida de información.
La técnica BOTTOM UP es conocida también como ascendente, la diferencia entre el bottom up y el top down es que los módulos son enumerados de forma diferente. En el bottom up se enumeran primero los módulos inferiores hasta llegar al modulo superior.
El método Warnier/Orr se trata de un método para la representación de programas cuyo resultado final se llama diagrama de Warnier. En el podemos utilizar toda la terminología estudiada hasta ahora en lo que respecta a identificadores, constantes, variables, expresiones y operadores, teniendo en cuenta que la característica fundamental es la forma de diseñar el programa que será descendentemente y la representación utilizada.

"Metodologia para la solucion de un problema"



La solución de un problema por computadora, requiere de siete pasos, dispuestos de tal forma que cada uno es dependiente de los anteriores, lo cual indica que se trata de un proceso complementario y por lo tanto cada paso exige el mismo cuidado en su elaboración. Los siete pasos de la metodología son los siguientes: 
1. Definición del problema
2. Análisis de la solución
3. Diseño de la solución
4. Codificación
5. Prueba y Depuración
6. Documentación
7. Mantenimiento
1.2.1 Definición del problema
Es el enunciado del problema, el cual debe ser claro y completo. Es fundamental conocer y delimitar por completo el problema, saber que es lo se desea realice la computadora, mientras esto no se conozca del todo, no tiene caso continuar con el siguiente paso.
.2.2 Análisis de la solución
Consiste en establecer una serie de preguntas acerca de lo que establece el problema, para poder determinar si se cuenta con los elementos suficientes para llevar a cabo la solución del mismo, algunas preguntas son:
¿Con qué cuento?
Cuáles son los datos con los que se va a iniciar el proceso, qué tenemos que proporcionarle a la computadora y si los datos con los que cuento son suficientes para dar solución al problema.
¿Qué hago con esos datos?
Una vez que tenemos todos los datos que necesitamos, debemos determinar que hacer con ellos, es decir que fórmula, cálculos, que proceso o transformación deben seguir los datos para convertirse en resultados.
¿Qué se espera obtener?
Que información deseamos obtener con el proceso de datos y de que forma presentarla; en caso de la información obtenida no sea la deseada replantear nuevamente un análisis en los puntos anteriores.
Es recomendable que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados.
1.2.3 Diseño de la solución
Una vez definido y analizado el problema, se procede a la creación del algoritmo (Diagrama de flujo ó pseudocódigo), en el cual se da la serie de pasos ordenados que nos proporcione un método explícito para la solución del problema.
Es recomendable la realización de pruebas de escritorio al algoritmo diseñado, para determinar su confiabilidad y detectar los errores que se pueden presentar en ciertas situaciones. éstas pruebas consisten en dar valores a la variable e ir probando el algoritmo paso a paso para obtener una solución y si ésta es satisfactoria continuar con el siguiente paso de la metodología; de no ser así y de existir errores deben corregirse y volver a hacer las pruebas de escritorio al algoritmo.
1.2.4 Codificación
Consiste en escribir la solución del problema (de acuerdo al pseudocódigo); en una serie de instrucciones detalladas en un código reconocible por la computadora; es decir en un lenguaje de programación (ya sea de bajo o alto nivel), a esta serie de instrucciones se le conoce como PROGRAMA.
1.2.5 Prueba y Depuración
Prueba es el proceso de identificar los errores que se presenten durante la ejecución del programa; es conveniente que cuando se pruebe un programa se tomen en cuenta los siguientes puntos:
1. - Tratar de iniciar la prueba con una mentalidad saboteadora, casi disfrutando la tarea de encontrar un error.
2. - Sospechar de todos los resultados que arroje la solución, con lo cual se deberán verificar todos.
3. - Considerar todas las situaciones posibles, normales y aún las anormales.
La Depuración consiste en eliminar los errores que se hayan detectado durante la prueba, para dar paso a una solución adecuada y sin errores.
1.2.6 Documentación
Es la guía o comunicación escrita que sirve como ayuda para usar un programa, o facilitar futuras modificaciones.
A menudo un programa escrito por una persona es usado por muchas otras, por ello la documentación es muy importante; ésta debe presentarse en tres formas: EXTERNA, INTERNA y AL USUARIO FINAL.
Documentación Interna
Consiste en los comentarios o mensajes que se agregan al código del programa, que explican las funciones que realizan ciertos procesos, cálculos o fórmulas para el entendimiento del mismo.
Documentación Externa
También conocida como Manual Técnico, está integrada por los siguientes elementos: Descripción del Problema, Nombre del Autor, Diagrama del Flujo y/o Pseudocódigo, Lista de variables y constantes, y Codificación del Programa, esto con la finalidad de permitir su posterior adecuación a los cambios.
Manual del Usuario
Es la documentación que se le proporciona al usuario final, es una guía que indica el usuario como navegar en el programa, presentando todas las pantallas y menús que se va a encontrar y una explicación de los mismos, no contiene información de tipo técnico.
1.2.7 Mantenimiento
Se lleva a cabo después de determinado el programa, cuando se ha estado trabajando un tiempo, y se detecta que es necesario hacer un cambio, ajuste y/o complementación al programa para que siga trabajando de manera correcta. Para realizar esta función, el programa debe estar debida mente documentado, lo cual facilitará la tarea