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

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,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.

Entradas relacionadas: