14 Dic

Ciclo de Vida del Software

El ciclo de vida del software comprende las siguientes fases:

  • Definición de objetivos
  • Análisis y viabilidad
  • Diseño general y diseño de detalle
  • Programación
  • Prueba de unidad, integración, prueba beta o validación, documentación e implantación
  • Validación y mantenimiento

Clasificación del Software

El software se puede clasificar en tres categorías principales:

Software de Sistema

Facilita el uso del ordenador, administra los recursos del sistema y proporciona las interfaces adecuadas.

Software de Aplicación

Funciona sobre el software de sistema. Permite realizar tareas específicas en diversos campos.

Software de Programación

Herramientas para desarrollar programas informáticos.

Lenguaje de Programación

Notación para escribir programas. Se clasifica en:

  • Bajo nivel: Fácil de ser procesado por el microprocesador.
  • Alto nivel: Difícil acceso al hardware, ocupa más memoria y es más manejable por el programador.

Entornos Operativos y Sistemas Operativos (SO)

SO: Software básico que controla una computadora. Coordina y manipula el hardware, organiza los archivos y gestiona los errores.

Funciones de los Sistemas Operativos

  • Control de recursos.
  • Control y manejo de los dispositivos de E/S.
  • Ejecución y secuenciación de tareas.
  • Ofrecer una base estándar sobre la que ejecutar otros programas.
  • Administrar y mantener los sistemas de archivos de disco.
  • Permitir la interacción entre el sistema y los usuarios.
  • Detener e informar de errores.

Componentes de un Sistema Operativo

  • Gestión de procesos.
  • Gestión de memoria principal.
  • Gestión de almacenamiento secundario.
  • Gestión de E/S.
  • Gestión de archivos.
  • Mecanismos de protección.
  • Gestión de comunicaciones.
  • Utilidades de sistema.

Características Básicas de un Sistema Operativo

  • Empieza a funcionar cuando acaba el trabajo de la BIOS.
  • La interfaz puede ser gráfica o de texto.
  • Son multiusuario y multitarea.
  • Forman una plataforma donde diferentes aplicaciones y herramientas son compatibles entre sí.
  • Soportan uno o varios sistemas de archivos.
  • Ofrecen herramientas similares con distinto nombre.

Tipos de Aplicaciones

Software de Aplicaciones: Diseñado como una herramienta que permita al usuario realizar una tarea específica.

Aplicación: Programa compilado escrito en un lenguaje de programación que necesita de un SO para funcionar y una serie de requisitos para su instalación y ejecución.

Clasificación del Software de Aplicación

  • Software estándar (aplicaciones horizontales): Aplicaciones de uso general.
  • Software específico (aplicaciones verticales): Aplicaciones diseñadas para un sector o tarea específica.

Ejemplos de Software de Aplicación

  • Aplicaciones de productividad empresarial.
  • Aplicaciones domésticas.
  • Aplicaciones profesionales horizontales.
  • Aplicaciones verticales.
  • Aplicaciones utilitarias.

Tipos de Licencia de Software

  • Licencias de código abierto con permisos.
  • De código abierto robustas o con restricciones fuertes.
  • Débiles o con restricciones débiles.
  • GPL.
  • De código cerrado.
  • Software de dominio público.
  • Licencias propietarias.

Arquitectura de Software

Establece los fundamentos para que analistas, diseñadores, programadores, etc. trabajen en una línea común que permita alcanzar los objetivos del sistema informático cubriendo todas las necesidades.

Vistas de la Arquitectura de Software

  • Visión estática: Describe los componentes de la arquitectura.
  • Visión dinámica: Cómo se comportan e interactúan los componentes.
  • Visión funcional: La función de cada componente.

Tipos de Arquitectura de Software

  • Monolítica: Se estructura en componentes funcionales.
  • Cliente-Servidor: Reparte su carga de cómputo en dos partes individuales, pero sin reparto claro de funciones.
  • De 3 niveles: Reparto claro de funciones en tres capas: presentación, cálculo y almacenamiento.

Tipos de Instalación de Software

Por Copia Directa

Usa librerías comunes del propio sistema operativo para todas ellas. Se suelen organizar en el directorio de aplicaciones y se presentan como un paquete simple con todo lo necesario para funcionar y, a veces, una lista de preferencias que se alojan en el mismo directorio para todos los programas.

Instalador

Emplea un archivo ejecutable o instalador (fichero .exe normalmente) que posteriormente instala el software deseado en un determinado lugar y deja constancia de ello al SO.

Gestor de Paquetes

El SO o algún software específico se ocupa de instalar un paquete de software y todos los archivos requeridos para ello (DPKG, FINT(MAC), RPM (RED HAT), TGZ (SLACKWARE) y PACMAN (LINUX .DGZ)).

Pasos Básicos para la Instalación de Software

Hay dos casos:

  1. Que sea el primer sistema automatizado de la empresa.
  2. Que no sea así y haya traspaso de un sistema antiguo a otro más nuevo.

Procesos de Transición de Sistemas

  • Proceso encadenado: Continúa funcionando el antiguo y los resultados del nuevo se contrastan con los del antiguo.
  • Proceso directo: Desactivación del antiguo y activación directa del nuevo.
  • Proceso en paralelo: Ambos conviven a la vez hasta comprobar la fiabilidad del nuevo.
  • Proceso por subsistemas: Funcionan ambos y se reparten el trabajo.

Pruebas de Software

Conjunto de procesos que permiten verificar y validar la calidad de un producto de software, identificando errores de diseño e implementación.

Causas de Fallos de Software

  • Poca o falta de comunicación entre desarrolladores.
  • Complejidad del software.
  • Errores de programación.
  • Cambios continuos.
  • Presiones de tiempo.
  • Pobre documentación.

Tipos de Pruebas de Software

  • Verificación: Demuestra que un programa cumple con sus requisitos específicos.
  • Validación: Comprueba que el programa da la respuesta que espera el usuario.

Evaluación del Rendimiento de Aplicaciones: Benchmark

Un benchmark es un conjunto de aplicaciones que permiten evaluar el rendimiento de un ordenador.

Categorías de Benchmarks

  • Pruebas de aplicaciones base: Ejecuta y cronometra los tiempos.
  • Pruebas playback: Usan llamadas al sistema durante actividades específicas de una aplicación.
  • Pruebas sintéticas: Enlazan actividades de la aplicación en sus sistemas específicos.
  • Pruebas de inspección: Ejecutan las aplicaciones directamente en su entorno productivo.

Software por Áreas de Aplicación

Ofimática

  • Procesadores de texto.
  • Hojas de cálculo.
  • Gestores de bases de datos.
  • Editores de presentación.
  • Agendas y organizadores.
  • Visualizadores de documentos.
  • Suites ofimáticas.

Gráficos

  • Visualizadores.
  • Editores de imágenes y mapas de bits.
  • Editores de imágenes vectoriales.
  • Programas CAD.
  • Diseño 3D.
  • Escaneo y OCR.

Sonido

  • Reproductores.
  • Editores.
  • Otras utilidades.

Vídeo

  • Reproductores.
  • Editores.
  • Reproducción de DVD.

Programación, Hogar, Ocio y Entretenimiento

  • Videojuegos, etc.

Productividad y Negocio

  • Agenda de contactos.
  • Calculadoras.
  • Contabilidad.
  • Gestión de proyectos.
  • Terminales de punto de venta.
  • Rellenar formularios.

Clientes para Servicios de Internet

  • Navegadores.
  • Clientes de email.
  • Programas de chat o mensajería.
  • Reproductores multimedia.
  • Aplicaciones P2P.
  • Firewall.

Software a Medida vs. Software Enlatado

Software a Medida

  • Necesita un tiempo de desarrollo.
  • Se adapta a las necesidades específicas de la empresa.
  • Es probable que pueda contener errores y se deba mejorar.
  • Es más costoso que el software estándar.

Software Enlatado

  • Ya fue desarrollado y se compra ya hecho.
  • Menos probabilidad de errores, ya que ha sido probado por múltiples empresas.
  • Suele ser más barato.
  • Probablemente tenga muchas funciones que la empresa no usará.

Otros Tipos de Software

  • Software en tiempo real.
  • Software científico y de ingeniería.
  • Software empotrado (coches, GPS, etc.).
  • Software de inteligencia artificial.

Deja un comentario