RSS


SOFTWARE
El software es un ingrediente indispensable para el funcionamiento del computador. Está formado por una serie de instrucciones y datos, que permiten aprovechar todos los recursos que el computador tiene, de manera que pueda resolver gran cantidad de problemas. Un computador en si, es sólo un conglomerado de componentes electrónicos; el software le da vida al computador, haciendo que sus componentes funcionen de forma ordenada.
El software es un conjunto de instrucciones detalladas que controlan la operación de un sistema computacional.







Origen del software: Durante la primera generación de computadoras a finales de 1940, los programas se escribían de una manera en la que el concepto de software como una parte "independiente" del hardware se veía todavía muy lejano. En los años 40 y 50, no existían las licencias de software. El software era libre y los programas se intercambiaban como se hace con las recetas de cocina. Con el surgimiento del ARPANET (precursor del Internet) a finales de la década de los 60 empezó el surgimiento de la primera comunidad global que se alzaba sobre los valores y principios del software libre.


Evolución del software
En 1990 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.



Características del software
·         El Software se desarrolla o construye, no se manufactura en el sentido clásico.
·         A pesar de que existen similitudes entre el desarrollo del Software y la manufactura del hardware, las dos actividades serian diferentes en lo fundamental. En ambas la alta calidad se alcanza por medio del buen diseño, la fase de manufactura del hardware puede incluir problemas de calidad existentes en el software.
·         El Software no se desgasta.
·         El software es inmune a los males ambientales que desgasten el hardware.
·         Por lo tanto la curva de tasas de fallas para el software debería tener la forma de la "curva idealizada". Los defectos sin descubrir causan tasas de fallas altas en las primeras etapas de vida de un programa.
·         Sin embargo, los errores se corrigen y la curva se aplana: El software no se desgasta, pero si se deteriora.

La importancia del software surge del avance tecnológico y la necesidad de usar los dispositivos modernos. El software es la herramienta visual que nos permite interactuar con el hardware de un equipo. Dispositivos como el computador, celular e incluso las cámaras fotográficas, no podrían utilizarse sin tener instalado el software necesario para hacerlo funcionar.
En la actualidad casi todos los hogares tienen al menos una computadora y casi todos los miembros de la familia tienen al menos un dispositivo móvil. Los niños aprenden a utilizar equipos desde temprana edad y la mayoría de los adultos saben al menos como utilizar un computador para navegar por internet.
Las empresas requieren de un software que les permita manejar sus operaciones y controlar sus empleados, incluso pequeños negocios necesita una forma de llevar la contabilidad y verificar su crecimiento.
Por tal razón, la importancia del software radica en que permite una comunicación entre el sujeto y la máquina, e incluso una interacción entre ambos. Está tan presente en nuestra vida cotidiana   que a veces pasa desapercibido ya que no solo está en las aplicaciones de los ordenadores, sino que una gran parte de electrodomésticos, coches, etc... Llevan su propio software incorporado.




  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

CICLO DE VIDA DEL SOFTWARE

El término ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final. El propósito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados.
Estos programas se originan en el hecho de que es muy costoso rectificar los errores que se detectan tarde dentro de la fase de implementación. El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto, permite a los desarrolladores concentrarse en la calidad del software, en los plazos de implementación y en los costos asociados.
El ciclo de vida básico de un software consta de los siguientes procedimientos:
  • Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global.
  • Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar.
  • Diseño general: requisitos generales de la arquitectura de la aplicación.
  • Diseño en detalle: definición precisa de cada subconjunto de la aplicación.
  • Programación (programación e implementación): es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.
  • Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones.
  • Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste es el propósito de la prueba de integración que está cuidadosamente documentada.
  • Prueba beta (o validación), para garantizar que el software cumple con las especificaciones originales.
  • Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros.
  • Implementación
  • Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).
El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una aplicación dependen del tipo de modelo de ciclo de vida acordado entre el cliente y el equipo de desarrolladores.

Modelos de ciclo de vida

Para facilitar una metodología común entre el cliente y la compañía de software, los modelos de ciclo de vida se han actualizado para reflejar las etapas de desarrollo involucradas y la documentación requerida, de manera que cada etapa se valide antes de continuar con la siguiente etapa. Se Dividen en Modelo en Cascada y Modelo V .

Modelo en cascada

El modelo de ciclo de vida en cascada comenzó a diseñarse en 1966 y se terminó alrededor de 1970. Se define como una secuencia de fases en la que al final de cada una de ellas se reúne la documentación para garantizar que cumple las especificaciones y los requisitos antes de pasar a la fase siguiente:

Modelo V

El modelo de ciclo de vida V proviene del principio que establece que los procedimientos utilizados para probar si la aplicación cumple las especificaciones ya deben haberse creado en la fase de diseño.


  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

CLASIFICACIÓN DEL SOFTWARE








Clasificación del software


               Si ya nos referimos al software como la parte lógica e intangible de una computadora. Es decir es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de computación
Existen diferentes tipos de software los mostraré a  continuación desde su clasificación mas básica hasta una más avanzada, los mismos nos ayudan a realizar  distintas tareas en especifico.

o   El software de sistemas: lo conocemos como los programas que permiten la administración y control de la parte física o los recursos de 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.Interactúa entre el usuario y los componentes hardware del ordenador. Se clasifican en Sistemas Operativos Monousuarios, Monotarea y Multiusuario, 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 más usual estar navegando por Internet y escuchar músicaSistemas operativos comerciales:– Windows XP / Windows Vista– Mac OS X: para ordenadores Apple. – Unix: Creado por AT&T en 1970- Linux


o   Software de programación: Es un lenguaje de programación o una serie de comandos que nos permiten codificar instrucciones de manera que sean entendidas y ejecutadas por una computadora. Los lenguajes de programación evolucionan a medida que lo hacen los Sistemas Operativos en que funcionan, siempre ha sido así. Nunca un lenguaje de programación determinó un Sistema Operativo, por el contrario los Sistemas Operativos determinaron los lenguajes de programación
Ejemplos de Lenguajes:
- Cobol
- Pascal
- Visual Basic
- Basic
- C



Software de aplicación: Son aquellos programas que nos ayudan a tareas específicas como edición de textos, imágenes, cálculos, etc. A diferencia del software de sistema, el software de aplicación está enfocado en un área específica para su utilización. La mayoría de los programas que utilizamos diariamente pertenecen a este tipo de software, ya que nos permiten realizar diversos tipos de tareas en nuestro sistema.




Software de uso general: es aquel del que se dispone de licencias corporativas que permiten su uso sin coste para las Unidades de Planificación que lo requieran.
En ocasiones el número de licencias disponibles está limitado, por lo que pueden producirse denegaciones de uso por exceso de usos concurrentes. Las Unidades de Planificación interesadas pueden adquirir a su costa licencias particulares.

 El software para uso general ofrece la estructura para un gran número de aplicaciones empresariales, científicas y personales. El software de hoja de cálculo, de diseño asistido por computadoras (CAD), de procesamiento de texto, de manejo de Bases de Datos, pertenece a esta categoría. La mayoría de software para uso general se vende como paquete; es decir, con software y documentación orientada al usuario (manual de referencia, plantillas de teclado y demás).


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.


Software libre: es un tipo particular de software que le permite al usuario el ejercicio de cuatro libertades básicas:

1.    Ejecutarlo con cualquier propósito
2.    Estudiar como funciona y adaptarlo a sus necesidades
3.    Distribuir copias
4.    Mejorarlo, y liberar esas mejoras al publico
Con la única restricción del copyleft (o sea, cualquiera que redistribuya el software, con o sin cambios, debe dar las mismas libertades que antes), y con el requisito de permitir el acceso al código fuente (imprescindible para ejercer las libertades 1 y 3)
Ubicación del Software Libre en las distintas clasificaciones

o   De acuerdo al costo de adquisición: el Software Libre puede ser de las dos clases, es decir, de costo cero o de costo mayor que cero. Lo que lo diferencia del Software Propietario es que su costo es independiente del número de computadoras que se poseen. Por ejemplo, en el caso del Sistema Operativo Microsoft Windows 3.1/95/98/Me/NT/2000/XP por cada computadora en que lo instale debo pagar una licencia. En cambio, si utilizo en Sistema Operativo GNU/Linux (en cualquiera de sus distribuciones, como Red Hat, Mandrake, Debian, Ututo) debo pagar una sola licencia (no obstante, algunas licencias no tienes costo).
o   De acuerdo a la apertura del código fuente: el Software Libre siempre es "open source", es decir, de código fuente abierto, ya que dijimos que el acceso al código fuente es necesario para el ejercicio de las libertades 1 y 3 arriba descriptas. El ser "open source" implica una serie de ventajas que serán descriptas en la sección "Ventajas del Software Libre".
o   De acuerdo a su protección: el Software Libre siempre está protegido con licencias, y más específicamente, con licencias de copyleft. ¿Por que no de dominio público? Porque de ese modo cualquiera puede adueñarse del, por ejemplo, adquiere un Software Libre, lo modifica, lo compila y lo distribuye con código cerrado. ¿Por qué no con Copyright? Porque de esa manera alguien le puede agregar alguna restricción, por lo tanto no va a seguir siendo Software Libre.
o   De acuerdo a su legalidad: el Software Libre siempre es legal, porque al usarlo, estudiarlo, modificarlo, adaptarlo y/o mejorarlo no estoy violando ninguna norma, ya que de por si este tipo de software me permite hacerlo, con la única salvedad de no poder agregarle ninguna restricción adicional cuando lo transfiera a otra persona.


Software propietario: es aquel en el que un usuario tiene limitadas sus posibilidades de usarlo, modificarlo o redistribuirlo, y a menudo su licencia tiene un coste.
Se le llama software propietario, no libre, privado o privativo al tipo de programas informáticas o aplicaciones en el que el usuario no puede acceder al código fuente o tiene un acceso restringido y, por tanto, se ve limitado en sus posibilidades de uso, modificación y redistribución.
 Este tipo de software se opone al más recientemente popularizado software libre, que permite que cualquiera lo modifique y lo redistribuya.



Estos  con frecuencia son  desarrollados por corporaciones, como ocurre con aquel producido y distribuido por Microsoft. Estas compañías poseen los derechos de autor sobre el software y, por tanto, los usuarios no pueden acceder al código fuente, distribuir copias, mejorarlo o hacer públicas las mejoras.El software propietario es el más común, ya que implica que para acceder al mismo el usuario debe pagar por una licencia y sólo puede hacer uso del mismo en un contexto restringido, es decir, que para que puedan usarlo distintas computadoras deben abonarse otras licencias. Además, este software no puede modificarse ni perfeccionarse en su funcionamiento, como así tampoco redistribuirse a otros destinatarios.





  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS