Fundamentos de Software: Arquitecturas, Licencias y Procesos de Instalación

Tipos de Aplicaciones Informáticas

Toda aplicación está desarrollada para ser ejecutada en una única plataforma o Sistema Operativo (SO).

Clasificación por Ámbito y Función

  • Aplicaciones de Productividad Empresarial: Son empleadas para fines empresariales de mejora de la productividad en diversos sectores.
  • De Ámbito Doméstico: Se usan sin un fin profesional, sino para el entretenimiento y la formación.
  • Profesionales Horizontales: Gestionan o ejecutan una función o proceso empresarial de forma estándar (ej. contabilidad profesional, gestión de recursos, diseño web, etc.).
  • Verticales: Realizan funciones concretas dentro de un sector determinado.
  • Utilitarias: Realizan una tarea muy específica, siendo de menor tamaño, coste y complejidad que todas las anteriores (ej. aplicaciones de rendimiento, programas de grabación).

Tipos de Licencia de Software

Una licencia es un contrato donde se especifican todas las normas que rigen el uso de un determinado programa.

Clasificación de Licencias Comunes

  • Licencia Propietaria: Permite el uso en una computadora mediante el pago de un precio.
  • Shareware: Uso limitado en tiempo o capacidades. Requiere el pago de un precio posterior para el uso completo.
  • Freeware: Permite usar y copiar de forma ilimitada; el precio es cero.
  • Software Libre: Permite usar, copiar, estudiar, modificar y redistribuir el programa. El código fuente está incluido.

Clasificación Detallada de Licencias

Una licencia es un contrato entre el desarrollador de un software (sometido a propiedad intelectual y derechos de autor) y un usuario, en el cual se definen los derechos y deberes de ambas partes.

  • Código Abierto con Permisos (Permisivas): Permite crear una aplicación derivada sin que requiera protección alguna (ej. Licencia Apache).
  • Código Abierto Robusta (Copyleft): Presenta determinadas restricciones a las obras derivadas.
    • Copyleft Fuerte (GPL): Obliga a que las obras derivadas o modificaciones tengan que licenciarse bajo los mismos términos y condiciones de la licencia original.
    • Copyleft Débil (LGPL): Las obras derivadas se licencian bajo los mismos términos, aunque las modificaciones posteriores pueden ser licenciadas bajo condiciones distintas.
  • Código Cerrado (Propietarias/Privativas): Los propietarios establecen derechos de uso, distribución, modificación, cesión y cualquier otra que consideren oportuna.
  • De Dominio Público (Sin Licencia): Se puede copiar, usar, modificar y distribuir el producto con o sin fines de lucro.
  • BSD (Berkeley Software Distribution): No impone ninguna restricción a los desarrolladores de software en lo referente al uso posterior del código en derivados y licencias de estos programas.

Arquitecturas de Software

La arquitectura de software define los componentes que llevan a cabo una tarea. Existen tres vistas principales:

  1. Visión Estática: Describe los componentes que tiene la arquitectura.
  2. Visión Dinámica: Describe cómo se comportan los componentes a lo largo del tiempo y cómo interactúan entre sí.
  3. Visión Funcional: Describe qué hace cada componente.

Principales Modelos Arquitectónicos

  • Arquitectura Monolítica: El software tiene componentes y funciones muy acoplados.
  • Arquitectura Cliente/Servidor: No siempre hay un reparto claro de funciones.
  • Arquitectura de 3 Niveles (o Capas): La carga se divide en tres partes que se relacionan solo con la capa inmediata, con un reparto claro de funciones.

Procesos de Instalación de Software

Formas Comunes de Instalación

  • Por Copia Directa (macOS): Es muy fácil, ya que suelen usar librerías comunes del propio desarrollador. Aunque instalemos y desinstalemos gran cantidad de software, el funcionamiento general del SO no se ve alterado, además de evitar conflictos de incompatibilidad entre diferentes aplicaciones.
  • Mediante Instalador (Windows): Se emplea un archivo ejecutable o instalador (.exe) que procede de un medio de almacenamiento o de un archivo descargado por internet. Este instala el software deseado en una ubicación y deja constancia de ello en el SO (ej. «Agregar o quitar programas»).
  • Usando un Gestor de Paquetes (GNU/Linux): El SO se encarga de instalar un paquete de software con todos los archivos requeridos.

Pasos Fundamentales de una Instalación

  1. Comprobación de Requisitos: Verificar que se cumplen los requisitos básicos de instalación en cuanto a Hardware (HW) y Software (SW).
  2. Verificación de Autenticidad: Asegurar que el software es original o auténtico para evitar la instalación de programas maliciosos.
  3. Creación de Directorios: Crear los directorios necesarios para la instalación de los archivos.
  4. Creación de Usuarios y Permisos: Establecer los usuarios y permisos necesarios.
  5. Copia, Desempaquetado y Descompresión: Proceso realizado para ahorrar ancho de banda y tiempo en la transmisión por internet o espacio en disco duro.
  6. Compilación y Enlace con Bibliotecas.
  7. Configuración de la Aplicación: Se lleva a cabo de forma manual (editando ficheros de texto) o de forma guiada por medio de ventanas.
  8. Registro de la Instalación: Necesario, especialmente en el caso del software comercial, donde puede presentarse de distintas formas.

Puesta en Marcha (Despliegue) de un Sistema Software

Formas de implementar un nuevo sistema en un entorno informático:

  1. Proceso Encadenado: Los resultados del nuevo sistema se comparan con el antiguo, que aún funciona.
  2. Proceso Directo: Desactivación inmediata del sistema antiguo y activación del nuevo.
  3. Proceso en Paralelo: Ambos sistemas conviven a la vez hasta comprobar la fiabilidad del nuevo.
  4. Proceso por Subsistemas: Ambos sistemas (antiguo y nuevo) se reparten el trabajo por módulos o subsistemas.

Configuración de Aplicaciones

Tipos de Configuración

  • Configuración Predeterminada (Por Defecto): Se carga cuando no se ha definido ninguna. Aunque no suele ser la mejor opción si existe una personalizada, esta configuración busca ser lo más adaptable posible para todos los usuarios.
  • Configuración Personalizada: Es determinada por el usuario y suele incluir elementos que no proporciona la instalación predeterminada.

Impacto de Errores

Los errores en el proceso de configuración pueden llevar a la incompatibilidad o a una ejecución defectuosa de los programas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.