miércoles, 21 de julio de 2010

INSTALACION DEL SOFTWARE

La instalación de programas computacionales (software) es el proceso por el cual nuevos programas son transferidos a un computador y, eventualmente, configurados, para ser usados con el fin para el cual fueron desarrollados. Un programa recorre diferentes fases de desarrollo durante su vida útil:

  1. Desarrollo: cada programador necesita el programa instalado, pero con las herramientas, códigos fuente, bancos de datos y etc, para modificar el programa.
  2. Prueba: antes de la entrega al usuario, el software debe ser sometido a pruebas. Esto se hace, en caso de software complejos, en una instalación ad hoc.
  3. Producción: Para ser utilizado por el usuario final.

En cada una de esas fases la instalación cumple diferentes objetivos.

PASOS PARA LA INSTALACION:

  • Verificación de la compatibilidad: Se debe comprobar si se cumplen los requisitos para la instalación en cuanto a hardware y software. A veces es necesario desinstalar versiones antiguas del mismo software.
  • Verificación de la integridad: Se verifica que el paquete de software es el original, esto se hace para evitar la instalación de programas maliciosos.
  • Creación de los directorios requeridos: Para mantener el orden en el directorio cada sistema operativo puede tener un estandar para la instalación de ciertos archivos en ciertos directorios. Ver por ejemplo Linux Standard Base.
  • Creación de los usuarios requeridos: Para deslindar responsabilidades y tareas se pueden o deben usar diferentes usuarios para diferentes paquetes de software.
  • Concesión de los derechos requeridos: Para ordenar el sistema y limitar daños en caso necesario, se le conceden a los usuarios solo el mínimo necesario de derechos.
  • Copia, desempaque y decompresión de los archivos desde el paquete de software: Para ahorrar Ancho de banda y tiempo en la transmisión por internet o espacio de Disco duro, los paquetes vienen empacados y comprimidos.
    • Archivos principales, sean de fuente o binarios.
    • Archivos de datos, por ejemplo datos, imágenes, modelos, documentos XML-Dokumente, etc.
    • Documentación
    • Archivos de configuración
    • Bibliotecas
    • Enlaces duros o enlaces simbólico a otros archivos
  • Compilación y enlace con la bibliotecas requeridas: En algunos casos no se puede evitar el complicado paso de la compilación y enlace que a su vez tiene severos requerimientos de software al sistema. El enlace con bibliotecas requeridas puede ser un problema si en su instalación no se acataron los standards establecidos.
  • Configuración: Por medio de archivos de configuración se le da a conocer al software con que parámetros debe trabajar. Por ejemplo, los nombres de las personas que pueden usar el software, como verificar su clave de ingreso , la ruta donde se encuentran los archivos con datos o la dirección de nuestro proveedor de correo electrónico. Para sistemas complejos se debe desarrollar el Software Configuration Management.
  • Definir las variables de entorno requeridas: Algunos comportamientos del software solo pueden ser determinados por medio de estas variables. Esto es parte de la configuración, aunque es más dinámica.
  • Registro ante el dueño de la marca: Para el Software comercial a veces el desarrollador de software exige el registro de la instalación si se desea su servicio.

martes, 1 de junio de 2010

DESINSTALACION DE SOFTWARE

Se llama desinstalación de software al proceso de revertir los cambios producidos en un sistema por la instalación de software. Por ello no solo deben ser borrados los archivos, sino también cambios en otras aspectos del software, como por ejemplo, eliminar usuarios que hayan sido creados, retirar derechos concedidos, borrar directorios creados hasta llevar la contabilidad en un Sistema de gestión de paquetes ó en el sistema (p.e: Windows-Registry).

Debido a la creciente complejidad de sistemas operativos y sus interfaces (API), la desinstalación de software puede ser no solo contraproductiva sino también poner en peligro la estabilidad del sistema. Por esta razón la calidad de un software no solo depende de sus efectos productivos o creativos sino también de su capacidad de integración en el sistema operativo y compatibilidad con otros programas. El desarrollador del software debe ofrecer una función para deinstalar su software sin dañar o desestabilizar el sistema.

Cada vez es más difícil la desinstalación, dado que muchas bibliotecas se comparten entre aplicaciones de diferentes productores de software que utilizan enlaces duros o simbólicos a través del directorio.

En sistemas de alta complejidad, el esfuerzo para desinstalar un programa puede ser mayor que el de la instalación.