septiembre 28, 2010

Unidad de entrada

Término que se refiere a un dispositivo que transfiere información a una computadora. Las unidades de entrada colocan esta información en las otras unidades para que pueda procesarse.

Bibliografía consultada:
  • Como programar en Java, Deitel & Deitel, pág. 4, Séptima Edición 2008, Editorial Pearson Education.

Unidad de memoria

Esta sección de “almacén” de acceso rápido, pero con relativa baja capacidad, retiene la información que se introduce a través de la unidad de entrada, para que esté disponible de manera inmediata para procesarla cuando sea necesario. La unidad de memoria también retiene la información procesada hasta que ésta pueda colocarse en los dispositivos de salida por la unidad de salida. Por lo general, la información en la unidad de memoria se pierde (memoria volátil) cuando se apaga la computadora. Con frecuencia, a esta unidad de memoria se le llama memoria o memoria primaria.

Bibliografía consultada:
  • Como programar en Java, Deitel & Deitel, pág. 4, Séptima Edición 2008, Editorial Pearson Education.

Unidad de salida

Término que se refiere a un dispositivo que transfiere información fuera de una computadora. Las unidades de salida como monitores e impresoras se usan para desplegar o imprimir información. Las unidades de salida también se utilizan para controlar otros dispositivos y dar salida a información a través de las redes como Internet.

Bibliografía consultada:
  • Como programar en Java, Deitel & Deitel, pág. 4, Séptima Edición 2008, Editorial Pearson Education.

Visual C++ .Net

Visual C++ (también conocido como MSVC, Microsoft Visual C++) es un entorno de desarrollo integrado (IDE) para lenguajes de programación C, C++ y C++/CLI. Esta especialmente diseñado para el desarrollo y depuración de código escrito para las API’s de Microsoft Windows, DirectX y la tecnología Microsoft .NET Framework.

Visual C++ hace uso extensivo del framework Microsoft Foundation Classes (o simplemente MFC), el cual es un conjunto de clases C++ para el desarrollo de aplicaciones en Windows.

Bibliografía consultada:

Visual Basic .NET

Visual Basic .NET (VB.NET) es un lenguaje de programación orientado a objetos que se puede considerar una evolución de Visual Basic implementada sobre el framework .NET de Microsoft. Su introducción resultó muy controvertida, ya que debido a cambios significativos en el lenguaje VB.NET no es compatible hacia atrás con Visual Basic, pero el manejo de las instrucciones es similar a versiones anteriores de Visual Basic, facilitando así el desarrollo de aplicaciones más avanzadas con herramientas modernas.

Bibliografía consultada:

septiembre 26, 2010

.NET


La plataforma .NET proporciona un conjunto de tecnologías y herramientas que facilita el desarrollo de aplicaciones y propone una solución para casi todos los tipos de aplicaciones:
  • Aplicaciones Windows clásicas
  • Aplicaciones Web
  • Servicios Windows
  • Servicios Web
Todos estos tipos de aplicaciones se pueden realizar gracias a un elemento esencial: el Framework .NET. Este Framework se encarga, por medio de numerosas capas lógicas superpuestas, de la integridad de la vida de una aplicación, desde el desarrollo hasta la ejecución. El Framework debe estar instalado en el sistema operativo con el que va a interactuar.
Los lenguajes de la plataforma .NET incluyen a Visual Basic, Visual C++, C#, JScript, J#, ASP entre otros.

Bibliografía consultada:
  • Programa con Visual Studio 2005, Thierry Groussard, pág. 6, Edición 2006, Editorial Eni.

Internet

Tiene sus raíces en la década de 1960; su patrocinio estuvo a cargo del Departamento de Defensa de los Estados Unidos. Diseñada originalmente para conectar los sistemas de cómputo principales de aproximadamente una docena de universidades y organizaciones de investigación, actualmente Internet es utilizada por cientos de millones de computadoras y dispositivos controlados por computadora en todo el mundo.

Algunos de los servicios disponibles en Internet, a parte de la World Wide Web, son el correo electrónico (SMTP Y POP), el acceso remoto a otras máquinas, la transferencia de archivos (FTP), las conversaciones en línea (IRC y chats), la mensajería instantánea, los boletines electrónicos (news, listas de distribución) o la transmisión de archivos.

Bibliografía consultada:
  • Historia y cronología de la ciencia y los descubrimientos, Isacc Asimov, pág. 809, 1ª. Edición 1990, Editorial Ariel S.A.
  • Como programar en Java, Deitel & Deitel, pág. 6, Séptima Edición 2008, Editorial Pearson Education.

Véase en Megavideo, La historia del Internet:
Episodio 1: La guerra de los navegadores.



Episodio 2: La historia de las búsquedas.



Episodio 3: Ebay y Amazón.



Episodio 4: Futuro dígital.


World Wide Web


En agosto de 1991, el físico británico Tim Berners Lee da a conocer la World Wide Web (WWW). Berners Lee empezó a desarrollar en el CERN (Laboratorio de Física de Partículas) con el objetivo de crear un método eficiente y rápido para intercambiar datos entre la comunidad científica de todo el mundo. Su proyecto acabó convirtiéndose en la World Wide Web, un sistema de comunicación global basado en hipertexto accesible a través de Internet. La Web es uno de los servicios más que ofrece la Internet, facilitando al público en general acceso a la información.

Bibliografía consultada:
  • Historia y cronología de la ciencia y los descubrimientos, Isacc Asimov, pág. 881, 1ª. Edición 1990, Editorial Ariel S.A.
  • Como programar en Java, Deitel & Deitel, pág. 6, Séptima Edición 2008, Editorial Pearson Education.

Véase en Ted.com:
Tim berners lee: on the next web.



Tim berners lee: the year open data went worldwide.



Kevin_kelly: on the next 5000 days of the web.


septiembre 22, 2010

Reutilización de software

Por reutilización se entiende el hecho de utilizar un elemento de un programa en diferentes aplicaciones, con poca o ninguna modificación. En el caso de la Orientación a Objetos, el elemento que se puede reutilizar es la clase.

En este sentido, sería conveniente pensar en la reutilización de las clases en el momento de diseñar un diseño orientado a objetos. Si se definen las clases pensando en su futuro uso en otras aplicaciones se conseguirá reducir el esfuerzo de desarrollo de aplicaciones futuras, lo que supondrá un gran ahorro de trabajo y permitirá concentrarse en aquellas partes de las aplicaciones futuras que nunca se hayan tratado.

Sistema heredado

Un sistema heredado es un sistema antiguo que aún proporciona servicios esenciales de negocio. Los sistemas heredados no son sólo sistemas de software de aplicación. Son sistemas socio-técnicos, por lo que incluyen procesos de negocio, software de aplicación, software de apoyo y sistema hardware.

Muchos sistemas heredados todavía se utilizan porque solucionan bien el problema y reemplazarlos sería demasiado costoso.

septiembre 21, 2010

Interfaz Gráfica de Usuario

Una interfaz gráfica de usuario (Graphical User Interface, GUI por sus siglas en inglés) presenta un mecanismo amigable al usuario para interactuar con una aplicación. En Java, los programas basados en GUI se implementan con el uso de las clases provenientes de los paquetes estándar javax.swing y java.awt.

Las GUIs se crean a partir de componentes de la GUI. A los componentes se les conoce como controles o widgets (accesorios de ventanas). Los componentes se colocan sobre Contenedores por ejemplo una ventana. Para colocar un componente sobre una ventana se utiliza un administrador de esquemas.

Las GUIS utilizan un modelo de programación basada en eventos, donde un evento ocurre cuando el usuario interactúa con un objeto GUI. En los programas basados en eventos, los objetos se programan para responder a dichos eventos al definir métodos de manejo de eventos.

septiembre 16, 2010

Pseudocódigo


Definición.
El pseudocódigo es un lenguaje muy útil para diseñar programas ya que permite expresar lo que se quiere hacer de una forma clara, precisa, sin ambigüedad y usando un lenguaje natural. Es una forma de describir la solución a un problema de manera que su posterior traducción a un lenguaje de programación de alto nivel sea sencilla.

Reglas generales del pseudocódigo.
No hay una forma estándar de escribir un programa en pseudocódigo, ya que depende en gran medida del criterio del programador. No obstante, es aconsejable respetar lo más rigurosamente posible las siguientes normas de carácter general:

1. Todo programa escrito en pseudocódigo comienza con la palabra “Inicio” y termina con la palabra “Fin”.
2. Cada instrucción se debe escribir en una línea.
3. Para su descripción se utilizan una serie de palabras reservadas, tales como “Inicio”, “Fin”, “Si”, “Entonces”, “Si no”, “Fin_si”, “Mientras”, “Seguir”, “Fin_Seguir”, que tienen un significado especifico.
4. Debe escribirse indentando (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa respecto a otras.
5. Cada una de las estructuras que definen un programa tendrá un punto de comienzo y uno de fin, especificados por las palabras reservadas que definen la estructura.
6. Se escribirá en minúscula, excepto aquellos nombres que elija el programador (como NUM, MAYOR, MENOR) que irán en mayúsculas.

Ejemplos simples.
Calcular la suma y el producto de dos números.
Inicio
    Leer A y B
    SUMA = A + B
    PRODUCTO = A * B
    Mostrar Suma, Producto
Fin
Leer por teclado un número y si es mayor que 20 visualizarlo en la pantalla.
Inicio
    Leer un número (NUM)
    Si NUM > 20
        Entonces
            Mostrar NUM
    Fin_si
Fin
Encontrar la suma de los números comprendidos entre 1 y 100, ambos inclusive.
Inicio
    SUMA = 0
    Para NUM desde 1 hasta 100
        SUMA = SUMA + NUM
    Fin_para
    Mostrar SUMA
Fin

Programación estructurada

La programación estructurada es un concepto que surge como respuesta a la crisis del software de los años 60, cuando el desarrollo de programas estaba ocupando una porción cada vez mayor de los costos de computación y, a su vez, el mantenimiento de los mismos era cada vez más inmanejable.
La programación estructurada se convirtió, hace unos 20 años, en un must, y todo producto que se lanzaba al mercado se proclamaba estructurado.

El primer inconveniente que se atacó fue el uso del ya olvidado Goto (ruptura de secuencia o interrupción incondicional de la secuencia), sobre todo luego de un artículo de Dijkstra titulado “Goto considered harmful” (El Goto considerado dañino). A menudo se ha resumido la programación estructurada como el rechazo del Goto y nada más.

Esta búsqueda de la supresión del uso del Goto había provocado la enunciación del teorema de Bohm-Jacopini, ya en 1966 bajo la caracterización de una entrada, una salida: “Cualquier segmento de programa con una entrada y una salida que tenga todas las proposiciones en algún camino de la entrada a la salida se puede especificar usando sólo secuencia, selección e iteración”.


Sin embargo, la programación estructurada involucraba otras prácticas, de las cuales las más importantes parecen ser:

  • Utilizar un estilo disciplinado de programación.
  • Ser una técnica que lleve a programas fácilmente modificables.
  • Sencillez, claridad y elegancia.

Estos objetivos se logran sólo parcialmente con la eliminación del Goto y su reemplazo por las tres estructuras fundamentales de secuencia, selección e iteración.

Otros aspectos, menos formalizados, apuntaban a usar lenguajes que poseyeran unas pocas sentencias de uso habitual, con construcciones conceptualmente simples y ampliamente aplicables a la práctica, sin reglas demasiado permisivas, el uso de nombres claros, no utilizar un identificador para nombres múltiples, abundancia de comentarios aclaratorios, uso de sangrías para aumentar la legibilidad y denotar la estructura del programa, el aislamiento de las dependencias de la máquina en unas cuantas rutinas separadas, etc.

Fue la primera vez que el rendimiento y las características técnicas dejaron de ser las únicas consideraciones de calidad de los sistemas de software.

Los lenguajes de programación como Fortran y Algol se hicieron más estructurados, y luego surgieron nuevos lenguajes, como C y Pascal.

Bibliografía consultada:
  • Orientación a Objetos con Java y UML, Carlos Fontela, pág. 10, 11, Edición 2004, Editorial Nueva Librería.

septiembre 15, 2010

Lenguaje Unificado de Modelado (UML)

Definición.
El Lenguaje Unificado de Modelado (UML por sus siglas en inglés) es un lenguaje para la visualización, especificación y documentación de software, por lo que resulta independiente del método que se utilice para el desarrollo. No es un método sino una notación, pues no especifica un proceso; lo que se hace es describir el resultado de alguna etapa del desarrollo de un sistema mediante una serie de diagramas.

La idea general de UML, así como de todas las notaciones de modelado orientados a objetos, es centrarse más en los objetos que en los procesos o algoritmos.

Historia.
UML fue desarrollado a mediado de los 90s por Grady Boch, James Rumbaugh e Ivar Jacobson, en la Rational Software Corp., que ahora forma parte de IBM. Actualmente UML es mantenido por el la Object Management Group (OMG) organización sin fines lucro que promueve la estandarización de las tecnologías orientadas a objetos emitiendo lineamientos y especificaciones como UML.

Aspectos generales.
En términos muy generales UML define una notación que se expresa con diagramas. Para mostrar las diferentes perspectivas del modelado, UML define 9 tipos de diagramas:
  • Diagramas de casos de uso
  • Diagramas de clases
  • Diagramas de componentes
  • Diagramas de despliegue
  • Diagramas de objetos
  • Diagramas de colaboración
  • Diagramas de estados y transiciones
  • Diagramas de actividades