Documentación e Ingeniería de Software: Guía Completa

Informática y Telecomunicaciones4,98 KB

Documentación de Software

La documentación de software es un conjunto de manuales que explican el funcionamiento de una aplicación informática o programa. Debe cubrir tanto la faceta técnica (información para informáticos) como funcional (información para todos, sobre todo usuarios).

Este proceso comienza desde el principio del proyecto y nunca termina, pasando por distintas etapas según su ciclo de vida clásico:

  • Fase inicial: Se planifican las fases del proyecto.
  • Análisis: Se analizan los problemas a resolver.
  • Diseño: Se definen los requisitos a cubrir.
  • Codificación: Se utiliza código de programación, el cual se comenta para explicar las funcionalidades.
  • Pruebas: Se realizan pruebas para comprobar que cada módulo cumple su función.
  • Explotación: Se ponen en común todas las partes del software. En esta fase, suelen surgir fallos que se recogen para su análisis.
  • Mantenimiento: Se corrigen los fallos detectados, para lo cual es fundamental una buena documentación.

Los documentos mínimos a generar son:

  • Manual de usuario: Permite al usuario desenvolverse con el programa.
  • Manual técnico: Dirigido a los técnicos encargados del desarrollo y mantenimiento.
  • Manual de instalación: Describe los pasos a seguir para instalar el software.

En Java, la documentación del código se escribe dentro del mismo, lo cual resulta muy útil. Además, la herramienta Javadoc extrae textos y comentarios del código fuente y los transforma en páginas web (formato HTML). Para escribir comentarios, se utiliza /** ... */, pudiendo incluir etiquetas HTML para dar formato al texto.

Ingeniería de Software

Para evaluar los criterios o factores de calidad del software, se establecen métricas que indican la forma preestablecida de proceder. Algunas de estas métricas son:

  • Expansión
  • Independencia
  • Modularidad
  • Estandarización
  • Tolerancia a los errores

Por su parte, las pruebas de calidad del software son el conjunto de procesos que permiten verificar (comprobar que el código funciona de acuerdo a lo pedido) y validar (el usuario valida que la aplicación funciona como ha pedido) su calidad. Existen diferentes tipos de pruebas:

  • Estrés: Evalúa el comportamiento del software en situaciones límite.
  • Unitaria: Se prueba cada módulo por separado.
  • Integración: Se testean los módulos por separado y luego en conjunto, verificando su funcionalidad.
  • Interfaces: Se prueba la interacción del usuario con el sistema, creando un plan de pruebas específico.

La metodología hace referencia a la planificación del desarrollo del software, pudiendo ser de dos tipos: ciclos de vida ágiles y clásicas.

Metodologías ágiles

Se utilizan en equipos pequeños y están orientadas a obtener resultados a corto plazo. Dos ejemplos son:

  1. Scrum: Organiza las tareas en ciclos cortos (sprints) de un mes de duración.
  2. Kanban: Las tareas se dividen en categorías y se representan en un tablero. Cada tarea es un requisito y el proceso es continuo, agregando nuevas tareas a medida que se completan las anteriores.

Metodologías clásicas o cascada

Se caracterizan por una planificación detallada del proyecto, dividiéndolo en fases secuenciales:

  1. Planificación: Se define el alcance del proyecto, los recursos necesarios y el cronograma.
  2. Definición de necesidades: Se realiza una aproximación inicial a los requisitos del software.
  3. Análisis: Se recopilan y examinan en detalle los requisitos del cliente.
  4. Diseño: Se determinan los requisitos generales de la arquitectura de la aplicación, tanto a alto nivel (sistemas) como a bajo nivel (diseño de clases).
  5. Codificación: Se utiliza un lenguaje de programación para crear las funciones definidas en la etapa de diseño.
  6. Pruebas: Se realizan pruebas de los módulos por separado para garantizar su correcta integración.
  7. Validación: Se verifica que el software cumple con las especificaciones originales y se instala en el entorno real de uso.
  8. Mantenimiento y evolución: Se realizan procedimientos correctivos y actualizaciones para dar un mantenimiento continuo al software.

Descargar

PDF Word HTML