lunes, 10 de noviembre de 2008

ALMACENAMIENTO HOLOGRAFICO




Qué es?

La holografía rompe los límites de la densidad del almacenamiento tradicional por ir más allá de grabar en la superficie, a grabar a lo ancho del medio de almacenamiento.

A diferencia de otras tecnologías que graba un bit a la vez, la holografía permite que millones de bits de datos sean leídos y escritos en un solo flash de luz. Esto permite que los tiempos de transferencia sean menores a los aparatos de almacenamiento óptico actuales combinando altas densidades de almacenamiento, rápidas transferencias, con durabilidad, confiabilidad y bajos precios, hacen de la holografía una opción viable para almacenamiento de la nueva generación.

Aunado a esto, la fexibilidad de la tecnología permite un desarrollo de una amplia gama de productos que se pueden utilizar en el almacenamiento holográfico, que pueden ir desde cosas que se pueden utilizar en la computadora de la casa hasta enormes bases de datos. Imagina 2GB de datos en un timbre postal, 20GB en una tarjeta de crédito, o 200GB en un disco.

Como se almacenan los datos?

Un rayo de luz emitido por un laser es dividido en 2, la primera parte es el rayo de la señal (la cual acarrea la información ) y el rayo de referencia. El holograma se forma donde se intersectan estos dos rayos laser en el medio de almacenamiento. El proceso de codificar datos a la señal se realiza con un aparato llamado "Spatial light modulator" (SML). El SML traduce el código binario a una especie de serie cuadros de pixeles claros y obscuros (como un tablero de ajedrez). Los datos son acomodados en un arreglo o página de alrededor de un millón de bits. El número de bits es determinado por el número de pixeles del SML. En el punto de intersección del rayo de referencia y del rayo de la señal, el holograma es grabado en un medio de almacenaje sensible a la luz. Un reacción química ocurre en el medio de almacenaje cuando los elementos claros del rayo de señal se intersectan con el rayo de referencia, causando que se grabe el holograma. Al variar el ángulo del rayo de referencia, amplitud, o posición de los datos se pueden almacenar muchos hologramas distintos en el mismo medio de almacenaje.





Como se leen los datos?

Para que sea posible la lectura de datos, el rayo de referencia se desvía al chocar con el holograma por consiguiente reconstruyendo la información almacenada. Este hologramaes entonces proyectado hacia un lector que analiza los datos en paralelo. Esta lectura paralela de datos provee a la holografía de grandes velocidades de transferencia.

Que hay de los medios de almacenaje?

El mayor reto para establecer al almacenamiento holográfico ha sido el poder desarrollar un medio de almacenamiento apropiado. Los científicos de los laboratorios Bell han trabajado en esto por 7 años, y desarrollaron una solución que había eludido a otros equipos de investigación. InPhase Technologies, ahora lo sacará al mercado. El medio de almacenamiendo conocido como "The Tapestry"tm satisface muchas de las necesidades en un medio de almacenaje, incluyendo un rango alto y dinámico, una alta fotosensitividad, claridad óptica, manufacturibilidad, grosor y estabilidad térmica. Aunado al desarrollo de nuevos materiales, InPhase Technologies también a ha desarrollado el "ZeroWave"tm, un proceso de manufacura; el cual realiza un proceso óptimo en la fabricación de medios de almacenamiento opticos planos.





almacenar matrices de bits por capas.

•Densidad potencial: hasta 1 TB/cm3
•En la práctica: 10 GB/cm3
•Acceso muy rápido: 1 Gb/s
•Alta fiabilidad


Aplicaciones

-Arte Holográfica: Museos de Holografía, publicidad, sellos, joyería, etc.
-Seguridad en Falsificación: Tarjetas de crédito, boletos, etc.
-Usos Médicos: En la exploración, realizando una imagen en 3 dimensiones. Holografía mediante ultrasonidos, etc.
-Almacenaje Holográfico: De datos en un ordenador.


Ejemplo

sábado, 8 de noviembre de 2008

INGENIERIA DE SOFTWARE
Es la disciplina o área de la informática que ofrece métodos y técnicas para desarrollar y mantener software de calidad.

Esta ingeniería trata con áreas muy diversas de la informática y de las Ciencias de la Computación, tales como construcción de compiladores, Sistemas Operativos, o desarrollos Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de Sistema de Información y aplicables a infinidad de áreas (negocios, investigación científica, medicina, producción, logística, banca, control de tráfico, meteorología, derecho, Internet, Intranet, etc.).

Pasos a seguir para el desarrollo de un producto de software.

OBJETIVOS DE LA INGENIERIA DE SOFTWARE

  • En la construcción y desarrollo de proyectos se aplican métodos y técnicas para resolver los problemas, la informática aporta herramientas y procedimientos sobre los que se apoya la ingeniería de software.

  • mejorar la calidad de los productos de software

  • aumentar la productividad y trabajo de los ingenieros del software.

  • Facilitar el control del proceso de desarrollo de software.

  • Suministrar a los desarrolladores las bases para construir software de alta calidad en una forma eficiente.

  • Definir una disciplina que garantice la producción y el mantenimiento de los productos software desarrollados en el plazo fijado y dentro del costo estimado.

Etapas del proceso de la ingeniería de software

La ingeniería de software requiere llevar a cabo numerosas tareas, dentro de etapas como las siguientes:

Análisis de requisitos:
Extraer los requisitos de un producto de software es la primera etapa para crearlo. Mientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere de habilidad y experiencia en la ingeniería de software para reconocer requisitos incompletos, ambiguos o contradictorios. El resultado del análisis de requisitos con el cliente se plasma en el documento ERS, Especificación de Requerimientos del Sistema, cuya estructura puede venir definida por varios estándares, tales como
CMM-I. Asimismo, se define un diagrama de Entidad/Relación, en el que se plasman las principales entidades que participarán en el desarrollo del software.
La captura, análisis y especificación de requisitos (incluso pruebas de ellos), es una parte crucial; de esta etapa depende en gran medida el logro de los objetivos finales. Se han ideado modelos y diversos procesos de trabajo para estos fines. Aunque aun no está formalizada, ya se habla de la

Especificación:
Es la tarea de describir detalladamente el software a ser escrito, en una forma matemáticamente rigurosa. En la realidad, la mayoría de las buenas especificaciones han sido escritas para entender y afinar aplicaciones que ya estaban desarrolladas. Las especificaciones son más importantes para las interfaces externas, que deben permanecer estables.

Diseño
Se refiere a determinar como funcionará de forma general sin entrar en detalles. Consiste en incorporar consideraciones de la implementación tecnológica, como el hardware, la red, etc. Se definen los
Casos de Uso para cubrir las funciones que realizará el sistema, y se transforman las entidades definidas en el análisis de requisitos en clases de diseño, obteniendo un modelo cercano a la programación orientada a objetos.

Programación
Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería de software, pero no necesariamente es la que demanda mayor trabajo y ni la más complicada. La complejidad y la duración de esta etapa está intimamente relacionada al o a los lenguajes de programación utilizados, así como al diseño previamente realizado.

Prueba
Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificación. Una técnica de prueba es probar por separado cada módulo del software, y luego probarlo de forma integral,para asi llegar al objetivo. Se considera una buena práctica el que las pruebas sean efectuadas por alguien distinto al desarrollador que la programó, idealmente un área de pruebas; sin perjuicio de lo anterior el programador debe hacer sus propias pruebas. En general hay dos grandes formas de organizar un área de pruebas, la primera es que esté compuesta por personal inexperto y que desconozca el tema de pruebas, de esta forma se evalúa que la documentación entregada sea de calidad, que los procesos descritos son tan claros que cualquiera puede entenderlos y el software hace las cosas tal y como estan descritas. El segundo enfoque es tener un área de pruebas conformada por programadores con experiencia, personas que saben sin mayores indicaciones en que condiciones puede fallar una aplicacion y que pueden poner atención en detalles que personal inexperto no consideraría.

Documentación
Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión del proyecto, pasando por modelaciones (
UML), diagramas, pruebas, manuales de usuario, manuales técnicos, etc; todo con el propósito de eventuales correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema.

Mantenimiento
Mantener y mejorar el software para enfrentar errores descubiertos y nuevos requisitos. Esto puede llevar más tiempo incluso que el desarrollo inicial del software. Alrededor de 2/3 de toda la ingeniería de software tiene que ver con dar mantenimiento. Una pequeña parte de este trabajo consiste en arreglar errores, o bugs. La mayor parte consiste en extender el sistema para hacer nuevas cosas. De manera similar, alrededor de 2/3 de toda la ingeniería civil, arquitectura y trabajo de construcción es dar mantenimiento.


Modelos de desarrollo de software

La ingeniería de software tiene varios modelos de desarrollo en los cuales se puede apoyar para la realización de software, de los cuales podemos destacar a éstos por ser los más utilizados y los más completos:

Modelo en cascada o Clásico (modelo tradicional)
Modelo en espiral (modelo evolutivo)
Modelo de prototipos
Desarrollo por etapas
Desarrollo iterativo y creciente o Interativo Incremental
RAD (Rapid Application Development)

Ingeniería de software asistida por ordenador (CASE)

La ingeniería de software asistida por ordenador (o CASE) es un conjunto de herramientas de programación que utilizan una interfaz común para diseñar, desarrollar y depurar software.
Por lo tanto, un entorno CASE consta de herramientas que proveen un modelo visual de una aplicación, herramientas que crean un código a través de interfaces visuales y finalmente un depurador para probar el código final.

En otras palabras las herramientas CASE no son otra cosa que programas que nos ayudaran a realizar estudios a cerca de el sistema a desarrollar y de una manera interactiva y grafica.

Ejemplo

La Ingeniería de Software tiene que ver con varios campos en diferentes formas:

Matemáticas
Los programas tienen muchas propiedades matemáticas. Por ejemplo la corrección y la complejidad de muchos algoritmos son conceptos matemáticos que pueden ser rigurosamente probados. El uso de matemáticas en la IS es llamado métodos formales.

Creación
Los programas son construidos en una secuencia de pasos. El hecho de definir propiamente y llevar a cabo estos pasos, como en una línea de ensamblaje, es necesario para mejorar la productividad de los desarrolladores y la calidad final de los programas. Este punto de vista inspira los diferentes procesos y metodologías que encontramos en la IS.

Gestión de Proyectos
El software comercial (y mucho no comercial) requiere gestión de proyectos. Hay presupuestos y establecimiento de tiempos. Gente para liderar. Recursos (espacio de oficina, computadoras) por adquirir. Todo esto encaja apropiadamente con la visión de la
Gestión de Proyectos.

Arte
Los programas contienen muchos elementos artísticos.
Las interfaces de usuario, la codificación, etc. Incluso la decisión para un nombre de una variable o una clase. Donald Knuth es famoso porque ha argumentado que la programación es un arte.

Responsabilidad
La responsabilidad en la Ingeniería del Software es un concepto complejo, sobretodo porque al estar los sistemas informáticos fuertemente caracterizados por su complejidad, es difícil apreciar sus consecuencias.

En la Ingeniería del Software la responsabilidad será compartida por un grupo grande de personas, que comprende desde el ingeniero de requisitos, hasta el arquitecto software, y contando con el diseñador, o el encargado de realizar las pruebas. Por encima de todos ellos destaca el director del proyecto. El software demanda una clara distribución de la responsabilidad entre los diferentes roles que se dan en el proceso de producción.
El ingeniero del Sofware tiene una responsabilidad moral y legal limitada a las consecuencias directas.

Resumen General del Articulo... Gracias Por Tu Visita