Procesos y Metodologías Clave en el Desarrollo de Software: Optimización y Mejores Prácticas

Procesos del Ciclo de Vida del Software

Adquisición

Acto por el cual una persona adquiere un producto de software.

Suministro

Acto del suministrador de un producto de software.

Desarrollo

Actividades a realizar durante el desarrollo del software.

Operación

Actividades relacionadas con el uso del sistema de software y el apoyo a los usuarios del mismo.

Mantenimiento

Actividades relacionadas con la realización de modificaciones al software y a la documentación asociada como consecuencia de errores detectados, mejoras o adaptaciones a cambios.

Procesos de Soporte

Documentación

Proceso para registrar y gestionar la documentación generada por un proceso o actividad del ciclo de vida.

Gestión de la Configuración

Proceso para gestionar los cambios en los requisitos del sistema y su incorporación en nuevas versiones del sistema.

Gestión de la Calidad

Utilización de procedimientos y estándares organizacionales para obtener software de calidad.

Verificación

Proceso para comprobar que el software satisface los requisitos funcionales y no funcionales del sistema.

Validación

Proceso para comprobar que el software satisface las expectativas del cliente.

Revisión Conjunta

Actividad para evaluar el estado del proyecto.

Auditoría

Proceso para determinar el cumplimiento de los requisitos, planes y contratos.

Resolución de Problemas

Proceso para analizar y resolver los problemas que se detecten durante el proceso de desarrollo, operación, mantenimiento, etc.

Procesos Organizacionales

Gestión

Actividades para gestionar los procesos: planificación y seguimiento del proceso, gestión de personal, estimación de costes, etc.

Infraestructura

Proceso para establecer y mantener la infraestructura que necesitan el resto de los procesos.

Mejora

Proceso para establecer, evaluar, medir, controlar y mejorar un proceso del ciclo de vida del software.

Formación

Proceso para formar tanto a las personas del equipo de desarrollo del sistema como a los usuarios finales del mismo.

Conceptos Clave en Ingeniería de Software

Marco Común de Referencia (MCR)

Marco de referencia que contiene los procesos, actividades y tareas involucradas en el desarrollo, explotación y mantenimiento de un producto de software.

Metodología de Desarrollo (MD)

Conjunto de pasos, procedimientos, herramientas, técnicas y un soporte documental que posibilita el desarrollo sistemático de software.

Acoplamientos

Tipos de acoplamiento: por datos, por estampado, por control, por variables globales, por base de datos, por contenido.

Cohesiones

Relación funcional de los elementos de un módulo. Tipos de cohesión: funcional, secuencial, comunicacional, procedural, temporal, lógica, coincidental.

Regla del Balanceo

El contenido de todos los flujos de entrada y salida de un proceso debe coincidir con el contenido de todos los flujos que entran y salen del diagrama del nivel inmediatamente superior.

Redes Desconectadas

Subconjunto de procesos que no tienen ninguna relación entre sí. La funcionalidad de cada una de las redes no tiene relación con las otras y, por tanto, se ha descompuesto mal el proceso de nivel superior.

Modelos de Desarrollo de Software

  • Lineal Secuencial: Para controlar bien el desarrollo, la fecha de entrega y los costes.
  • Construcción de Prototipos: Aconsejable desecharlo.
  • Incremental: Para alta incertidumbre, se pueden ampliar requisitos.
  • Espiral: Para análisis de riesgo (analizar diferentes alternativas que existen).

Métrica V3

Es la última versión de la metodología de desarrollo de sistemas de información que ha sido desarrollada por la administración pública española. Ofrece un instrumento útil para la sistematización de las actividades que dan soporte al ciclo de vida del software.

Herramientas CASE

Objetivos de las herramientas CASE:

  • Automatizar actividades manuales.
  • Mejorar el proceso de ingeniería.
  • Garantizar la calidad.

Entornos Integrados

Base de datos que contiene un conjunto de mecanismos y estructuras de datos para integrar los datos y las herramientas.

Influye en:

  • Especificaciones de análisis y diseño para comprobar su corrección y aumentar la dedicación al análisis y diseño.
  • Generadores automáticos de código para disminuir el tiempo de codificación y pruebas.
  • Prototipos rápidos e iterativos.
  • Simplifica el mantenimiento del software.

Pruebas de Software

Caja Blanca

Tipos de coberturas: de sentencias, de decisiones, de condiciones, decisión/condición, condición múltiple.

Caja Negra

Técnicas: clases de equivalencias, conjetura de errores, pruebas aleatorias.

Tipos de Pruebas

Pruebas de unidad, integración, del sistema y de aceptación.

Ingeniería del Software: Definición y Etapas

La ingeniería del software es una disciplina de la ingeniería que está relacionada con todos los aspectos de la producción de software, desde la etapa inicial hasta el mantenimiento. Está basada en capas: herramientas, métodos, procesos y calidad.

Estudio de Viabilidad

Se realiza antes del proceso de desarrollo para dar soporte a la decisión de llevar a cabo, desarrollar o comprar software.

Análisis del Sistema

Estudio de las necesidades de los usuarios y realización de una especificación de requisitos.

Desarrollo del Sistema

Diseño de la arquitectura del sistema y diseño del software.

Implementación

Escribir los programas en un lenguaje de programación y documentarlos.

Pruebas

Pruebas de código y pruebas del sistema.

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.