martes, 8 de diciembre de 2009

power point

*** Power point ***

power

software libre

 

Software libre


Software libre, (en inglés free software,, aunque en realidad esta denominación también puede significar gratis, y no necesariamente libre, por lo que se utiliza el hispanismo libre software también en inglés) es la denominación del software que respeta la libertad de los usuarios sobre su producto adquirido y, por tanto, una vez obtenido puede ser usado, copiado, estudiado, cambiado y redistribuido libremente. Según la Free Software Foundation, el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software; de modo más preciso, se refiere a cuatro libertades de los usuarios del software: la libertad de usar el programa, con cualquier propósito; de estudiar el funcionamiento del programa, y adaptarlo a las necesidades; de distribuir copias, con lo cual se puede ayudar a otros, y de mejorar el programa y hacer públicas las mejoras, de modo que toda la comunidad se beneficie (para la segunda y última libertad mencionadas, el acceso al código fuente es un requisito previo).[1]


El software libre suele estar disponible gratuitamente, o al precio de costo de la distribución a través de otros medios; sin embargo no es obligatorio que sea así, por lo tanto no hay que asociar software libre a "software gratuito" (denominado usualmente freeware), ya que, conservando su carácter de libre, puede ser distribuido comercialmente ("software comercial"). Análogamente, el "software gratis" o "gratuito" incluye en ocasiones el código fuente; no obstante, este tipo de software no es libre en el mismo sentido que el software libre, a menos que se garanticen los derechos de modificación y redistribución de dichas versiones modificadas del programa.


Tampoco debe confundirse software libre con "software de dominio público". Éste último es aquel software que no requiere de licencia, pues sus derechos de explotación son para toda la humanidad, porque pertenece a todos por igual. Cualquiera puede hacer uso de él, siempre con fines legales y consignando su autoría original. Este software sería aquel cuyo autor lo dona a la humanidad o cuyos derechos de autor han expirado, tras un plazo contado desde la muerte de este, habitualmente 70 años. Si un autor condiciona su uso bajo una licencia, por muy débil que sea, ya no es del dominio público.


Tipos de licencias


Una licencia es aquella autorización formal con carácter contractual que un autor de un software da a un interesado para ejercer "actos de explotación legales". Pueden existir tantas licencias como acuerdos concretos se den entre el autor y el licenciatario. Desde el punto de vista del software libre, existen distintas variantes del concepto o grupos de licencias.


Historia




Richard Stallman, creador de los conceptos Free Software, y fundador de la FSF


Entre los años 60 y 70 del Siglo XX, el software no era considerado un producto sino un añadido que los vendedores de las grandes computadoras de la época (las mainframes) aportaban a sus clientes para que éstos pudieran usarlos. En dicha cultura, era común que los programadores y desarrolladores de software compartieran libremente sus programas unos con otros. Este comportamiento era particularmente habitual en algunos de los mayores grupos de usuarios de la época, como DECUS (grupo de usuarios de computadoras DEC). A finales de los 70, las compañías iniciaron el hábito de imponer restricciones a los usuarios, con el uso de acuerdos de licencia.


Allá por el 1971, cuando la informática todavía no había sufrido su gran boom, las personas que hacían uso de ella, en ámbitos universitarios y empresariales, creaban y compartían el software sin ningún tipo de restricciones.


Con la llegada de los años 80 la situación empezó a cambiar. Las computadoras más modernas comenzaban a utilizar sistemas operativos privativos, forzando a los usuarios a aceptar condiciones restrictivas que impedían realizar modificaciones a dicho software.


lunes, 7 de diciembre de 2009

martes, 1 de diciembre de 2009

SOFTWARE Y HARDWARE

SOFTWARE Y HARDWARE

Corresponde a todas las partes físicas y tangible de una computadora: sus componentes eléctricos, electrónicos, electromecánicos y mecánicos; sus cables, gabinetes o cajas, periféricos de todo tipo y cualquier otro elemento físico involucrado; contrariamente al soporte lógico e intangible que es llamado software. El término proviene del inglés[3] y es definido por la RAE como el "Conjunto de los componentes que integran la parte material de una computadora".[4] Sin embargo, el término, aunque es lo más común, no necesariamente se aplica a una computadora tal como se la conoce, así por ejemplo, un robot también posee hardware (y software).
La historia del hardware del computador se puede clasificar en tres generaciones, cada una caracterizada por un cambio tecnológico de importancia. Este hardware se puede clasificar en: básico, el estrictamente necesario para el funcionamiento normal del equipo, y el complementario, el que realiza funciones específicas.
Un sistema informático se compone de una CPU, encargada de procesar los datos, uno o varios periféricos de entrada, los que permiten el ingreso de la información y uno o varios periféricos de salida, los que posibilitan dar salida (normalmente en forma visual o auditiva) a los datos.
Historia del hardware.
La clasificación evolutiva del hardware del computador electrónico, está dividida en generaciones, donde cada una supone un cambio tecnológico muy notable. El origen de las primeras es sencillo de establecer, ya que en ellas el hardware fue sufriendo cambios radicales. Los componentes esenciales que constituyen la electrónica del computador fueron totalmente reemplazados en las primeras tres generaciones, originando cambios que resultaron trascendentales. En las últimas décadas es más difícil establecer las nuevas generaciones, ya que los cambios han sido graduales y existe cierta continuidad en las tecnologías usadas. En principio, se pueden distinguir:
• 1ª Generación (1945-1956): Electrónica implementada con tubos de vacío. Fueron las primeras máquinas que desplazaron los componentes electromecánicos (relés).
• 2ª Generación (1957-1963): Electrónica desarrollada con transistores. La lógica discreta era muy parecida a la anterior, pero la implementación resultó mucho más pequeña, reduciendo, entre otros factores, el tamaño de un computador en notable escala.
• 3ª Generación (1964-hoy): Electrónica basada en circuitos Integrados . Esta tecnología permitió integrar cientos de transistores y otros componentes electrónicos en un único circuito integrado conformando una pastilla de silicio. Las computadoras redujeron así considerablemente su costo y tamaño, incrementándose su capacidad, velocidad y fiabilidad, hasta producir máquinas como las que existen en la actualidad.
• 4ª Generación (futuro): Probablemente se originará cuando los circuitos de silicio, integrados a alta escala, sean reemplazados por un nuevo tipo de tecnología. [8]
La aparición del microprocesador marca un hito de relevancia, y para muchos autores constituye el inicio de la cuarta generación.[9] A diferencia de los cambios tecnológicos anteriores, su invención no supuso la desaparición radical de los computadores que no lo utilizaban. Así, aunque el microprocesador 4004 fue lanzado al mercado en 1971, todavía a comienzo de los 80's había computadores, como el PDP-11/44,[10] con lógica carente de microprocesador que continuaban exitosamente en el mercado; es decir, en este caso el desplazamiento ha sido muy gradual.
Otro hito tecnológico usado con frecuencia para definir el inicio de la cuarta generación es la aparición de los circuitos integrados VLSI (Very Large Scale Integration), a principios de los ochenta. Al igual que el microprocesador no supuso el cambio inmediato y la rápida desaparición de los computadores basados en circuitos integrados en más bajas escalas de integración. Muchos equipos implementados con tecnologías VLSI y MSI (Médium Scale Integration) aun coexistían exitosamente hasta bien entrados los 90.
Tipos de hardware.

Microcontrolador Motorola 68HC11 y chips de soporte que podrían constituir el hardware de un equipo electrónico industrial.
Una de las formas de clasificar el Hardware es en dos categorías: por un lado, el "básico", que abarca el conjunto de componentes indispensables necesarios para otorgar la funcionalidad mínima a una computadora, y por otro lado, el "Hardware complementario", que, como su nombre indica, es el utilizado para realizar funciones específicas (más allá de las básicas), no estrictamente necesarias para el funcionamiento de la computadora.
Así es que: Un medio de entrada de datos, la unidad de procesamiento y memoria y un medio de salida de datos constituye el "hardware básico".
Los medios de entrada y salida de datos estrictamente indispensables dependen de la aplicación: desde un punto de vista de un usuario común, se debería disponer, al menos, de un teclado y un monitor para entrada y salida de información, respectivamente; pero ello no implica que no pueda haber una computadora (por ejemplo controlando un proceso) en la que no sea necesario teclado ni monitor, bien puede ingresar información y sacar sus datos procesados, por ejemplo, a través de una placa de adquisición/salida de datos.
Las computadoras son aparatos electrónicos capaces de interpretar y ejecutar instrucciones programadas y almacenadas en su memoria, ellas consisten básicamente en operaciones aritmético-lógicas y de entrada/salida.[11] Se reciben las entradas (datos), se las procesa y almacena (procesamiento), y finalmente se producen las salidas (resultados del procesamiento). Por ende todo sistema informático tiene, al menos, componentes y dispositivos hardware dedicados a alguna de las funciones antedichas;[12] a saber:
1. Procesamiento: Unidad Central de Proceso o CPU
2. Almacenamiento: Memorias
3. Entrada: Periféricos de Entrada (E)
4. Salida: Periféricos de salida (S)
5. Entrada/Salida: Periféricos mixtos (E/S)
Desde un punto de vista básico y general, un dispositivo de entrada es el que provee el medio para permitir el ingreso de información, datos y programas (lectura); un dispositivo de salida brinda el medio para registrar la información y datos de salida (escritura); la memoria otorga la capacidad de almacenamiento, temporal o permanente (almacenamiento); y la CPU provee la capacidad de cálculo y procesamiento de la información ingresada (transformación).[13]
Un periférico mixto es aquél que puede cumplir funciones tanto de entrada como de salida, el ejemplo más típico es el disco rígido (ya que en él se lee y se graba información y datos). Definición y clasificación [editar]

Para la gran mayoría es extraño el término del inglés "hardware", que no es más que un término general que se utiliza para describir los artefactos físicos de una tecnología. En este sentido, el hardware puede ser equipo militar importante, equipo electrónico, o equipo informático. En informática, se denomina hardware o soporte físico al conjunto de elementos materiales que componen un computador. Hardware también son los componentes físicos de una computadora tales como el disco duro, la unidad de disco óptico, la disquetera, etc. El hardware se refiere a lo que es tangible (que se puede tocar), es decir todos los componentes físicos de la computadora.
El software libre ofrece al usuario cuatro libertades: libertad de uso, de estudio y modificación, de distribución, y de redistribución de las versiones modificadas. Existen licencias que las garantizan y que dan una cobertura legal, como por ejemplo la licencia GNU GPL. El hardware libre toma estas mismas ideas del software libre para aplicarlas en su campo.
Es una propuesta casi tan antigua como la del software libre, sin embargo su empleo no es tan directo. Compartir diseños de hardware es más complicado. No hay una definición exacta (se pueden encontrar referencias a distintos artículos). Incluso el propio Richard Stallman afirma que las ideas del software libre se pueden aplicar a los ficheros necesarios para su diseño y especificación (esquemas, PCB, etc.), pero no al circuito físico en sí. Al no existir una definición clara de hardware libre, cada autor lo interpreta a su manera. Se han creado licencias, algunas de las cuales están todavía en desarrollo. Dependiendo del enfoque, podemos establecer dos clasificaciones: la primera teniendo en cuenta cómo es su naturaleza (estático o reconfiguradle) y la otra en función de su filosofía.
Según su naturaleza.
Dada su diferente naturaleza, al hablar de hardware abierto o libre hay que especificar de qué tipo de hardware se está hablando. A continuación se describen cada uno de los diferentes hardwares según su naturaleza:
Hardware reconfiguradle: Es aquél que viene descrito mediante un lenguaje de descripción de hardware. Su naturaleza es completamente diferente a la del hardware estático. Se desarrolla de una manera muy similar a como se hace con el software. Ahora nuestros diseños son ficheros de texto, que contienen el código fuente. Se les puede aplicar directamente una licencia libre, como la GPL. Los problemas no surgen por la definición de qué es libre o qué debe cumplir para serlo, sino que aparecen con las herramientas de desarrollo necesarias. Para hacer que el hardware reconfiguradle sea libre, sólo hay que aplicar la licencia GPL a su código. Sin embargo, aún no está claro qué es lo que se entiende por hardware libre al referirse al hardware estático.
Hardware estático: Es el conjunto de elementos materiales de los sistemas electrónicos. Tiene una existencia física (se puede "tocar"). Esta propiedad no la tiene el software, por lo que surgen una serie de problemas que se describen en el apartado "Desventajas".
Según su filosofía.
Al no existir una definición clara de hardware libre, cada autor lo interpreta a su manera. Muchos de los argumentos acerca del free hardware design provienen de la gente que habla en las comunidades de software y hardware. Una causa de esto es el simple hecho de que la palabra "software" refiere tanto al código fuente como a los ejecutables, mientras que las palabras "hardware" y "diseño de hardware" se refieren claramente a dos cosas distintas. Usar la palabra "hardware" como taquigrafía para el diseño y el objeto físico es una receta para la confusión. Los términos siguientes se han utilizado en discusiones de este asunto.
Free hardware design: Se refiere a un diseño que pueda ser copiado, distribuido, modificado, y fabricado libremente. No implica que el diseño no puede también ser vendido, o que cualquier puesta en práctica de hardware del diseño estará libre de coste. Todas las mismas discusiones sobre el significado de la "libertad" entre los partidarios de la Free Software Foundation, y los partidarios del estilo BSD que licencian el software, desafortunadamente las trasladan a los diseños del hardware.
Libre hardware design: Se refiere a la misma clase del diseño free hardware design, pero intenta hacer la aclaratoria que la palabra libre, se refiere a la libertad, no al precio. El término suena fuera de contexto a muchos oídos ingleses, pero resulta natural para los franceses. Sus traducciones son naturales para hablantes de otros idiomas, quienes no utilizan una palabra para dar diferentes significados; como por ejemplo: en inglés "free beer" cerveza libre y "free speech" libertad de expresión.
Open source hardware: Se refiere al hardware para el cual toda la información del diseño se pone a disposición del público en general. Open source hardware se puede basar en un free hardware design, o el diseño en el cual se basa puede ser restringido de alguna manera.
Open Hardware: Es una marca registrada del Open Hardware Specification Program. Es una forma limitada de open source hardware, para la cual el requisito es que:
"La suficiente documentación del dispositivo debe estar disponible para que un programador competente pueda escribir un controlador del dispositivo. La documentación debe cubrir todas las características de la interfaz del dispositivo - controlador que se espera que cualquier usuario emplee. Esto incluye funciones de entrada-salida, de control y funciones auxiliares como medidas de funcionamiento o diagnósticos de autoprueba. Los detalles de soporte de firmware on-borrad y de la puesta en práctica de hardware no necesitan ser divulgados excepto cuando son necesarios para permitir programar un controlador para el dispositivo". Es decir, solamente una cantidad de información limitada sobre el diseño necesita estar disponible; posiblemente no mucha, por ejemplo, para hacer una reparación.
Free hardware:
Es un término usado de vez en cuando como sinónimo para el open source hardware. Es un término que busca ser directamente paralelo entre el "hardware" y el "software", pero vela la distinción entre el diseño y la puesta en práctica. El término de free hardware es particularmente confuso puesto que implica el estado físico del hardware, mas que su diseño, el cual de alguna manera es libre. Esto no es del todo cierto en el sentido del costo, y tiene poca importancia (excepto metafóricamente) en el sentido social. Lo más simple es evitar este término totalmente, exceptuando su significado de costo, como por ejemplo: las computadoras libres "free computers" dadas por varias organizaciones sociales.
Software.
Se refiere al equipamiento lógico o soporte lógico de una computadora digital, y comprende el conjunto de los componentes lógicos necesarios para hacer posible la realización de una tarea específica, en contraposición a los componentes físicos del sistema hardware
Tales componentes lógicos incluyen, entre otros, aplicaciones informáticas tales como procesador de textos, que permite al usuario realizar todas las tareas concernientes a edición de textos; software de sistema, tal como un sistema operativo, el que, básicamente, permite al resto de los programas funcionar adecuadamente, facilitando la interacción con los componentes físicos y el resto de las aplicaciones, también provee una interfaz para el usuario. Software es lo que se denomina producto en Ingeniería de Software.
Etapas del proceso:
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 aún no está formalizada, ya se habla de la Ingeniería de Requisitos.
La IEEE Std. 830-1998 normaliza la creación de las Especificaciones de Requisitos Software (Software Requirements Specification).
Especificación:
La Especificación de Requerimientos describe el comportamiento esperado en el software una vez desarrollado. Gran parte del éxito de un proyecto de software radicará en la identificación de las necesidades del negocio (definidas por la alta dirección), así como la interacción con los usuarios funcionales para la recolección, clasificación, identificación, priorización y especificación de los requerimientos del software.
Entre las técnicas utilizadas para la especificación de requerimientos se encuentran:
• Casos de Uso
• Historias de usuario
Siendo los primeros más rigurosos y formales, los segundas más ágiles e informales.