viernes, 19 de febrero de 2010



Historia del software.

Richard Stallman, creador de los conceptosFree 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 losprogramadores 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).

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.

En caso de que algún usuario o programador encontrase algún error en la aplicación, lo único que podía hacer era darlo a conocer a la empresa desarrolladora para que esta lo solucionara.

. Richard Stallman implemento el envío de un aviso por red cuando una impresora se bloqueara. Para ello necesitaba tener acceso al código fuente de los controladores de la impresora. Pidió a la empresa propietaria de la impresora lo que necesitaba, comentando, sin pedir nada a cambio, qué era lo que pretendía realizar. La empresa se negó a entregarle el código fuente.

En ese preciso instante, Richard Stallman se vio en una encrucijada: debía elegir entre aceptar el nuevo software privativo firmando acuerdos de no revelación y acabar desarrollando más software privativo con licencias restrictivas, que a su vez que a su vez deberían ser más adelante aceptadas por sus propios colegas.

Con este antecedente, en 1984, Richard Stallman comenzó a trabajar en el proyecto GNU, y un año más tarde fundó la Free Software Foundation (FSF). Stallman introdujo la definición de free software y el concepto de "copyleft", que desarrolló para otorgar libertad a los usuarios y para restringir las posibilidades de apropiación del software.

Definición

Es el conjunto de programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de computación. El concepto se software va mas halla de los programas de computo, también su documentación y datos a procesar e información de usuario forman parte del software, o sea que abarca todo lo intangible, no lo físico.

Es la ciencia de la computación y la ingeniería, es toda información procesada por los sistemas informáticos. Lee diferentes secuencias de instrucciones desde la memoria de un dispositivo para controlar los cálculos.

software en la actualidad

hay un nuevo sistema visual para niños que a diferncia que los demas usuterminos son mucho mas entendibles para los niños, este proyecto se le dice (OLPC)

CHINA Y SU NUEVO FORMATO HD

este nuevo formato hace uso al lacer azul cuando lee los nuevos discos CBHD


NTFS Walker: Explorador de particiones NTFS

Este explorador lo que hace es que cuando nosotros eliminamos algun archivo la papelera de resiclaje la guarda pero si por algun motivo se elimina de la papelera nosotros pensamos que ya no se puede recuperar pero en realidad pero esta oculto

SOFTWARE PARA CAMARAS DE VIDEO



AGUJEROS DE SEGURIDAD EN CHORME

Este programa lo que hace es solucionar bugs y agujeros de seguridad que existen en las verciones anteriores de google.

mas informacion en:

CLASIFICACION DEL SOFTWARE

El software se clasifica de dos maneras:

* Tipo de trabajo realizado
* Método de distribución

Clasificación del Software de acuerdo al tipo de trabajo realizado

* Software de Sistema

Colección de programas residentes en la computadora, este tipo de software resulta pieza esencial para el uso de la computadora y el desarrollo de más software, una definición mas que podemos dar es que es una de las partes que permite el funcionamiento de la computadora, el objetivo del software de sistema es aislar tanto como sea posible al programador de aplicaciones de los detalles del computador particular que se use, especialmente de las características físicas de la memoria, impresoras, pantallas, teclados etc.

El software de sistema son los programas básicos el cual controla a la computadora, también llamado sistema operativo el cual tiene tres grandes funciones: coordina y manipula el hardware del ordenador, como la memoria, las unidades de disco; organiza los archivos en diversos dispositivos de almacenamiento y gestiona los errores de hardware y del mismo software.

Los sistemas operativos pueden ser de tarea única o multitarea. Los sistemas operativos de tarea única, los más primitivos, solo pueden manejar un proceso en cada momento.

Todos los sistema operativos modernos son multitarea, esto quiere decir que puedes realizar varias acciones a la ves como por ejemplo mandar a imprimir y estar trabajando con otro documento o lo mas usual estar navegando por internet y escuchar muisca.

* Software de Aplicación

El software de aplicación permite a los usuarios llevar a cabo una o varias tareas mas especificas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios, también podemos decir que el software de aplicación son aquellos que nos ayudan a la elaboración de una determinada tarea, este tipo de software es diseñado para facilitar al usuario en la realización de un determinado tipo de trabajo.

El software de aplicación resulta una solución informática para la automatización de ciertas tareas complicadas como puede ser la contabilidad y gestión de una organización, como ejemplo del software de aplicación podemos mencionar a la paquetería que nos ofrece Office de Microsoft (Word, Excel, One Note, etc.), Word Perfec, Lotus 123.

* Software de Desarrollo

El software de desarrollo recibe varios nombre, como software de programación o lenguaje de programación del software, en si el software de desarrollo es cualquier lenguaje artificial que podemos utilizar para definir una secuencia de instrucciones para su procesamiento por un ordenador. Es complicado definir que es y que no es un software de desarrollo, generalmente se dice que la traducción de las instrucciones a un código que comprende la computadora deber ser completamente sistemática (sigue o se ajusta a un conjunto de reglas).

El software de programación proporciona herramientas para ayudar al programados s escribir programas informáticos y a usar diferentes lenguajes de programación de forma practica, entre los lenguajes de programación mas utilizados podemos mencionar: C++, Java, C#, Visual Basic, etc.

Clasificación del Software de acuerdo al tipo de trabajo realizado

* Feeware

Freeware es un software de computadora que se distribuye sin cargo. A veces se incluye el código fuente, pero no es lo usual. El Freeware suele incluir una licencia de uso, que permite su redistribución pero con algunas restricciones, como no modificar la aplicación en sí, ni venderla, y dar cuenta de su autor. Programa computacional cuyo costo económico para el usuario final es cero, independiente de las condiciones de distribución y uso que tenga. Este tipo de software la mayoría son utilerías para realizar cierta tarea como el programa Win Rar, el cual nos sirve para la compresión de un archivo.

* Software multimedia

El software multimedia se refiere a los programas utilizados para presentar de una forma integrada textos, gráficos, sonidos y animaciones, este tipo de software es considerado como una nueva tecnología. Las ventajas que se le atribuyen al software multimedia es en la educación, especialmente en escuelas primarias, por que realizando presentaciones con software multimedia, los alumnos prestan mas intención a la presentación realizada.

Este tipo de software suele utilizarse para el desarrollo de proyectos específicos multimedios, utilizar software multimedia requiere de tiempo, capacidades, dedicación y recursos.

* Software de uso general

El software de uso general son aquellos que nos sirven para resolver problemas muy variados del mismo tipo, de muy diferentes empresas o personas, con adaptaciones realizadas por un usuario, ejemplos: procesadores de texto, manejadores de bases de datos, hojas de cálculo, etc.

* Software de uso especifico

Hablar de este tipo de software nos referimos al software desarrollado específicamente para un problema especifico de alguna organización o persona, utilizar este software requiere de un experto en informática para su creación o adaptación, son los programas que usan las escuelas para registrar las calificaciones de los alumnos y generar certificados, los que usan los bancos para el control de las cuentas, etc.

CRISIS DEL SOFTWARE



Su origen se debió a que el entorno de desarrollo de sistemas software adolecía de:

* Retrasos considerables en la planificación
* Poca productividad
* Elevadas cargas de mantenimiento
* Demandas cada vez más desfasadas frente a las ofertas
* Baja calidad y fiabilidad del producto
* Dependencia de los realizadores

Esto es lo que se ha denominado habitualmente "crisis del software", que históricamente se generó en los siguientes pasos:

- Primera Fase. Los albores (1945-1955)

Programar no es una tarea diferenciada del diseño de una máquina
Uso de lenguaje máquina y ensamblador.

- Segunda Fase. El florecimiento (1955-1965)

Aparecen multitud de lenguajes
Se pensaba que era posible hacer casi todo.

- Tercera Fase. La crisis (1965-1970)

Desarrollo inacabable de grandes programas
Ineficiencia, errores, coste impredecible
Nada es posible.

- Cuarta Fase. Innovación conceptual (1970-1980)

Fundamentos de programación
Verificación de programas
Metodologías de diseño.

- Quinta Fase. El diseño es el problema (1980-?)

Entornos de programación
Especificación formal
Programación automática.

¿Cómo se define crisis?

La palabra crisis se define en el diccionario como "un punto decisivo en el curso de algo; momento, etapa, o evento decisivo o crucial". Sin embargo para el software no ha habido ningún punto crucial, sólo una lenta evolución.

La crisis en la industria del software permanece durante muchos años, lo cual parece una contradicción para el término. Lo que si se podría decir es que hay un problema crónico en el desarrollo de software.

Que ha venido originado por una falta de:

* Formalismo y metodología
* Herramientas de soporte
* Administración eficaz

Actualmente está surgiendo una gran expectativa ante la evolución de la Ingeniería del Software, al ir apareciendo nuevos métodos y herramientas formales que van a permitir en el futuro un planteamiento de ingeniería en el proceso de elaboración de software. Dicho planteamiento vendrá a paliar la demanda creciente por parte de los usuarios, permitiendo dar respuesta a los problemas de:

* Administración
* Calidad
* Productividad
* Fácil mantenimiento

Este último es uno de los grandes problemas, pues puede llegar a suponer un importe superior al 60% del total del coste del software.

Las nuevas metodologías suponen un enfoque integral del problema, abarcando todas las fases, que en su mayoría no se consideraban en los desarrollos tradicionales. En particular son fundamentales la reducción de costes y plazos, así como la calidad del producto final. Estas tecnologías constituyen la denominada "Ingeniería del Software", que se puede definir como "el tratamiento sistemático de todas las fases del ciclo de vida del software". Hay otras definiciones, pero todas inciden en la importancia de una disciplina de ingeniería para el desarrollo de software.



La crisis del software se fundamentó en el tiempo de creación de software, ya que en la creación del mismo no se obtenían los resultados deseados, además de un gran costo y poca flexibilidad.
Es un término informático acuñado en 1968, en la primera conferencia organizada por la OTAN sobre desarrollo de software, de la cual nació formalmente la rama de la ingeniería de software. El término se adjudica a F. L. Bauer, aunque previamente había sido utilizado por Edsger Dijkstra en su obra The Humble Programmer.
Básicamente, la crisis del software se refiere a la dificultad en escribir programas libres de defectos, fácilmente comprensibles, y que sean verificables. Las causas son, entre otras, la complejidad que supone la tarea de programar, y los cambios a los que se tiene que ver sometido un programa para ser continuamente adaptado a las necesidades de los usuarios.
Además, no existen todavía herramientas que permitan estimar de una manera exacta, antes de comenzar el proyecto, cuál es el esfuerzo que se necesitará para desarrollar un programa. Este hecho provoca que la mayoría de las veces no sea posible estimar cuánto tiempo llevará un proyecto, ni cuánto personal será necesario. Cuando se fijan plazos normalmente no se cumplen por este hecho. Del mismo modo, en muchas ocasiones el personal asignado a un proyecto se incrementa con la esperanza de disminuir el plazo de ejecución.
Por último, las aplicaciones de hoy en día son programas muy complejos, inabordables por una sola persona. En sus comienzos se valoró como causa también la inmadurez de la ingeniería de software, aunque todavía hoy en día no es posible realizar estimaciones precisas del coste y tiempo que necesitará un proyecto de software.
Englobó a una serie de sucesos que se venían observando en los proyectos de desarrollo de software:
Los proyectos no terminaban en plazo.
Los proyectos no se ajustaban al presupuesto inicial.
Baja calidad del software generado.
Software que no cumplía las especificaciones.
Código inmantenible que dificultaba la gestión y evolución del proyecto.
Aunque se han propuesto diversas metodologías para intentar subsanar los problemas mencionados, lo cierto es que todavía hoy no existe ningún método que haya permitido estimar de manera fiable el coste y duración de un proyecto antes de su comienzos.





La crisis del software es el hecho de que el software que se construye no solamente no satisface los requerimientos ni las necesidades pedidos por el cliente, sino que además excede los presupuestos y los horarios de tiempos. La industria del software no ha podido satisfacer la demanda, la complejidad del software producido y demandado se incrementa constantemente, el software es solicitado para ejecutar las tareas demandantes de hoy y está presente en todos los sistemas que van desde los más sencillos hasta los de misión crítica. Las aplicaciones de software son complejas porque modelan la complejidad del mundo real. En estos días, las aplicaciones típicas son muy grandes y complejas para que un individuo las entienda y, por ello, lleva gran tiempo implementar software.

Síntomas

Uno de los principales problemas en el desarrollo de software de hoy en día es que muchos proyectos empiezan la programación tan pronto se definen y concentran mucho de su esfuerzo en la escritura de código. Últimamente el desarrollo de software se ralentizado. El estudio de este fenómeno es importante porque la existencia de software científico libre facilita que cualquier laboratorio del mundo pueda desarrollar ciencia libre usando este software como herramienta de trabajo.

Algunos "síntomas" que indican que el software se encuentra en un periodo de crisis son:

* Baja Calidad del Software.
* Tiempo y Presupuesto Excedido.
* Confiabilidad Cuestionable.
* Altos Requerimientos de Personal para desarrollo y mantenimiento.

Factores de Influencia

Para poder llevar el estado del proceso de software como un estado de crisis, los críticos han destacado ciertas características que han permitido esta postura del
software respecto a otras etapas de su corta historia. Algunos de esos factores son:

* Aumento del poder computacional.
* Reducción del costo del hardware.
* Rápida obsolescencia de hardware y software.
* Aceptación de la computarización en las empresas.
* Incremento en el número de usuarios de los sistemas de software.
* Tipo de usuario no homogéneo aun en sistemas hechos a la medida.
* Personal de desarrollado y mantenimiento diferente.
* La magnitud del proyecto impacta en:
* Tiempo costo y número de desarrolladores,
* Control administrativo y detalles técnicos
* Aumento en el conocimiento del problema.

Cambios en el entorno

* Tecnológicos (Internet, redes, ERP, CRM, SCM).
* Económicos (crisis económicas, globalización, etcétera).
* Sociales (nuevas necesidades, costumbres nuevas, etcétera).

Posibles causas de la crisis del software

Hay varias razones que pueden ser propuestas como causa de la crisis. No son mutuamente excluyentes; de hecho, es posible que la verdadera causa sea una mezcla de todas ellas. Sin embargo, todas tienen en común que son causadas por el método de valorar los avances científicos y el mecanismo actual de financiación de la actividad científica. Las causas de la crisis del software fueron vinculadas a la complejidad en general del proceso de software y a la relativa inmadurez de la ingeniería de software como una profesión. La crisis se manifestó a sí misma en varias maneras:

* Proyectos gestionados con un sobre-presupuesto.
* Proyectos gestionados con sobre tiempo.
* Software de baja calidad.
* El software a menudo no satisfacía los requerimientos deseados.
* Los proyectos fueron inmanejables, con un código difícil de mantener.






miércoles, 17 de febrero de 2010

EXPOSICION SOBRE SOFTWARE.


Temas de Exposicion.

SOFTWARE.

DEFINICION.
HISTORIA.
CLASIFICACION.
CRISIS DEL SOFTWARE.
ACTUALIDAD.