Características Esenciales de Herramientas para el Desarrollo y Modelado de Software

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,61 KB

Este documento detalla las funcionalidades y capacidades fundamentales que deben poseer las herramientas modernas de ingeniería de software, especialmente aquellas enfocadas en el modelado y la gestión de proyectos.

Modelado de Datos

El modelado de la información persistente constituye uno de los factores importantes cuando se está construyendo un Sistema de Información (S.I.). Dicha persistencia estará soportada en Bases de Datos Relacionales.

Autogeneración de Código y Modelos

Es una característica que podría mirarse desde dos sentidos:

  • Generar código a partir de modelos.
  • Generar modelos a partir de código.

Ingeniería Inversa

Parte del producto y lo transforma en modelos, facilitando la comprensión y el mantenimiento de sistemas existentes.

Métricas de Calidad de Sistemas

Medir la bondad de un conjunto de modelos que representan un sistema suele ser una tarea de mucha utilidad para construir sistemas viables, de fácil mantenimiento y con buen rendimiento.

Apoyo a Lenguajes Formales

Técnica de base matemática para describir las propiedades de un sistema con el propósito de evitar la ambigüedad y minimizar la interpretación subjetiva de la especificación de un sistema.

Actualización Continua de Herramientas UML

El mejoramiento continuo es una práctica de la mayoría de las herramientas de modelado UML, tanto las comerciales como las libres.

Soporte al Modelado Arquitectónico

Con la revisión de este aspecto se puede evaluar la capacidad que tienen las herramientas UML para apoyar la definición de la arquitectura de un sistema.

Soporte a ADL (Architecture Description Languages)

Un Lenguaje de Definición de Arquitecturas (ADL) proporciona notaciones para descomponer un sistema en componentes y conectores, y cómo se combinan estos elementos para formar una configuración específica.

Apoyo al Modelado por Capas

Especifica un sistema estableciendo una clara separación de la funcionalidad de este a través de capas o niveles.

Apoyo a Repositorios

Son herramientas que permiten centralizar, administrar y gestionar las versiones o estados de un proyecto en el que se requieran revisiones frecuentes.

Robustez de Sistemas

Capacidad de los sistemas de reaccionar apropiadamente ante condiciones excepcionales.

Herramientas de Administración

  • De Repositorio: El administrador de plataforma CASE (tareas como CRUD del repositorio).
  • De Ejecución: El administrador de tareas, identificación de riesgos, planificación del proyecto, asignación de tareas, etc.
  • De Áreas de Trabajo: Workarea o workspace son la manera en que la herramienta facilita la administración de todos los objetos.
  • De Aplicaciones: Administración de versiones, manejo de dependencias y la comparación entre modelos.

Colaboración entre Usuarios

Todos los participantes (analistas, diseñadores, arquitectos) pueden necesitar la misma información del mismo artefacto, por tanto, es imprescindible compartir la información.

Intercambio de Información

La información de los proyectos guardada por una herramienta en cierto formato pueda ser leída por otras.

Enfoque Funcional

Estudia las unidades adicionales que le ayudan al usuario a desarrollar un S.I. con más facilidad.

Versionamiento de Artefactos

Las iteraciones en el proceso de Ingeniería de Software (I.S.) proponen que se construyan versiones de los artefactos y que de forma incremental se llegue a un producto maduro.

Navegación de Objetos

Las herramientas deben estar dotadas de un navegador de objetos de repositorio.

Manejo de Diagramas

  • Visualización: Funcionalidades como zoom in, zoom out, refrescar, ajustar, autolayout, show & hide.
  • Impresión: WYSIWYG (What You See Is What You Get) permite ver el documento al momento del procesamiento tal como saldrá impreso.
  • Exportación: Posibilidad de exportar a formatos conocidos.

Edición de Código Fuente

Disponer de editores de código integrado que faciliten al usuario la edición de código fuente.

Entornos de Desarrollo Integrado (IDE)

Ejemplos de IDEs o herramientas de modelado que incorporan estas características: ArgoUML, Rational, With Class, Together, Poseidon, AR2CA.

Entradas relacionadas: