Metodología NDT
Navigational Development Techniques
Link fuente
A Continuación se brinda los enlaces fuentes utilizados para el desarrollo de la presente investigación:
A Continuación se brinda los enlaces fuentes utilizados para el desarrollo de la presente investigación:
Descripción Somera de la Metodología
NDT (Navigational Development
Techniques) es una metodología para especificar, analizar y diseñar el aspecto
de la navegación en aplicaciones web. El flujo de especificación de
requerimientos de NDT comienza con la fase de captura de requerimientos y
estudio del entorno, y luego se definen los objetivos del sistema. En base a
estos objetivos, el proceso continúa definiendo los requerimientos que el
sistema debe cumplir para cubrir los objetivos marcados. Finalmente, se realiza
la revisión del catálogo de requerimientos y el desarrollo de una matriz de
trazabilidad que permite evaluar si todos los objetivos han sido cubiertos en
la especificación.
Etapa de la IS cubre
NDT es una propuesta metodológica
centrada principalmente en las fases de ingeniería de requisitos y
análisis. Aunque en principio, ambas son
secuenciales, el proceso de NDT no lo es, puesto que en muchos momentos se
puede realizar la vuelta atrás para corregir errores o incongruencias. Una vez
capturados y definidos los requisitos se pasa a la validación de los mismos. Si
durante la validación se detectan errores, se vuelve a la captura y definición
hasta llegar al resultado final adecuado. Este resultado final queda plasmado
en el documento de requisitos del sistema. Con el documento de requisitos, se
pasa a la fase de análisis. Durante la fase de análisis se generan varios
modelos. El primero de ellos es el modelo conceptual. El modelo conceptual en
NDT representa la estructura estática del sistema y viene representado por un
diagrama de clases.
El segundo modelo que se genera
durante el análisis es el modelo de navegación. En NDT el modelo de navegación
se compone de una serie de diagramas, connotación muy similar al diagrama de
clases. Los diferentes diagramas se corresponden a los sistemas de navegación
para los diferentes roles de usuario que interactúan con el sistema.
En los últimos años, la metodología
ha evolucionado y actualmente, proporciona soporte completo a todas las fases
del ciclo de vida software: estudio de viabilidad, requisitos, análisis,
diseño, implementación, mantenimiento y pruebas. Además, establece nuevas
reglas de transformación entre cada una de estas fases. Esta nueva versión que
cubre todo el ciclo de vida se puede descargar de: http://iwt2.org/descargas/
Objetivos
NDT es un proceso metódico que se
centra en las fases de requisitos y análisis y ofrece una guía sistemática para
tratar en estas fases con los aspectos de navegación e interfaz abstracta.
NDT entiende que en la fase de
análisis se deben modelar los aspectos de navegación e interfaz abstracta.
Otros aspectos como la adaptabilidad del sistema, la arquitectura o la
seguridad, quedarían para la fase de diseño.
NDT no pretende ofrecer nuevos
lenguajes de modelado. De los estudios comparativos realizados antes de NDT, se
puede concluir en que ya existen suficientes lenguajes de modelado y modelos en
análisis que han resultado válidos para modelar la navegación y la interfaz
abstracta. Por ello, a pesar de que NDT ofrece procesos y modelos propios,
intenta utilizar, en la medida de lo posible, lenguajes de modelo estándar y ya
aceptados por la comunidad investigadora.
La aportación más importante de NDT
es que ofrece una guía sistemática para el tratamiento de la navegación y la
interfaz. En este sentido, se podría indicar que NDT es una propuesta orientada
al proceso. NDT describe de manera detallada todos los pasos que hay que
realizar para tratar los requisitos y a partir de ellos conseguir los modelos
de análisis.
Por otro lado, es una propuesta
orientada a la técnica. En todo el proceso propuesto por NDT se indica que
técnicas hay que usar, el modelo de aplicación y el resultado que hay que
obtener.
Y, por último, es una propuesta
orientada al resultado. Tras la aplicación de las técnicas se consiguen
resultados y modelos cuya nomenclatura y estructura está completamente
detalladas en NDT. Además, tras la aplicación de todo el proceso, en NDT se
obtienen una serie de resultados generales: el documento de requisitos del
sistema, el documento de análisis del sistema y los prototipos de la interfaz abstracta.
La estructura de todos ellos está descrita en NDT.
Etapas - Fases
El ciclo de vida de NDT está
compuesto por dos fases: la ingeniería de requisitos y el análisis.
Descripción Somera de la Metodología
Etapa de la IS cubre
Objetivos
Etapas - Fases
Ingeniería de Requisitos
En esta fase se definen cuáles son
los objetivos de la aplicación Web a desarrollar y en base a ellos se capturan
y definen los diferentes requisitos de esta.
Los requisitos son
agrupados en:
Requisitos de Almacenamiento de Información
Constituye uno de los
elementos relevantes para la navegación. Estos representan las necesidades de
almacenamiento de información que tiene el sistema y define las características
de la información que se va a manejar y a mostrar. Un requisito de almacenamiento
define el concepto general de información que debe manejar el sistema, a su
vez, un dato específico describe de manera concreta cada uno de los ítems de
información que hay que almacenar en un requisito de almacenamiento.
Requisitos de Actores
Son los roles que
podrán interactuar con la aplicación Web. Dichos roles surgen por las
necesidades de trabajo de los diferentes roles de usuario con la aplicación. La
estructura navegacional de un sistema software puede cambiar de manera
sustancial dependiendo del perfil de la persona que en cada momento interactúe
con él. La definición del sistema de navegación debe basarse en los diferentes
roles de usuario que pueden interactuar con el sistema para que se adecue a las
necesidades establecidas por cada uno de ellos.
Es posible diferenciar
dos tipos de actores: actores básicos; que corresponden a un rol
individualizado de interacción con la aplicación Web, y actores derivados;
que se pueden definir a partir de otros actores, como conjunción de los roles
correspondientes a los actores componentes. El rol asociado a un actor derivado
asume los roles correspondientes a los actores que lo componen. Los actores
derivados deben añadir alguna nueva manera de interacción con la aplicación Web
que no tengan sus actores componentes.
Requisitos Funcionales
Representa las
posibilidades funcionales que debe ofrecer la aplicación Web durante la
navegación. Estas posibilidades funcionales van a depender directamente del
actor que en cada momento interactúe con el sistema.
Requisitos de Interacción
Definen la estructura
de navegación a alto nivel del sistema, así como los criterios de recuperación
que se van a ofrecer a los diferentes actores. Estos requisitos recogen la
manera en la que los actores van a interactuar con la aplicación durante la
navegación. Esta idea de interacción recoge varios aspectos que incluyen la
forma en la que se visualizan los datos, las posibilidades de navegación y de
ejecución de la funcionalidad o la manera en la que se recupera la información.
Uno de los intereses fundamentales de las aplicaciones Web es ofrecer sistemas
de recuperación eficientes y adecuados al usuario. Dependiendo de cómo el
cliente quiera recuperar la información, el diseño de la aplicación Web puede
variar para hacerla más eficiente y adecuada a estas necesidades. Por ello,
conocer cómo el usuario quiere recuperar la información es un aspecto que puede
ayudar a mejorar el desarrollo. Por otra parte, se definen los prototipos de
visualización, los cuales hacen referencia a qué datos se le muestran a cada
uno de los actores y qué funcionalidad se le asocia a cada módulo de
presentación de la información. Además, los prototipos de visualización
permiten expresar las posibilidades de navegación que existen en la aplicación
Web.
Requerimientos No Funcionales
Que recogerán otros
requisitos del sistema. Una vez capturados y definidos los requisitos se pasa a
la validación de los mismos. Si durante la validación se detectan errores, se
vuelve a la captura y definición hasta llegar al resultado final adecuado. Este
resultado final queda plasmado en el documento de requisitos del sistema.
Todos estos cambios
que se pueden producir durante la generación del modelo de navegación o del
modelo conceptual están controlados y detallados en NDT.
NDT ofrece una guía completa de
posibles modificaciones e indica cómo afectan a fases y resultados anteriores.
Cuando se tienen el modelo conceptual y de navegación, se genera en NDT la
interfaz abstracta. Ésta no viene representada por un diagrama, sino por un
conjunto de prototipos evaluables por el usuario.
También durante la evaluación de
estos prototipos se pueden detectar errores que obligan a volver a la etapa
anterior. Todo este proceso se representa en la figura 1 mediante un
diagrama de actividades.
Figura1. Descripción
general del diagrama NDT
Análisis
Durante esta fase se
generan varios modelos.
-El primero de ellos es el modelo conceptual, el cual
describe la información que maneja la aplicación Web. El modelo conceptual
representa y describe el tipo de información que va a ser tratada, presentada o
modificada durante el proceso de navegación. De esta forma, la navegación de un
sistema se define en base a la información que maneja. Representa mediante un
diagrama de clases la estructura estática del sistema.
- El segundo modelo que se genera durante el análisis es el
modelo de navegación, que representa la estructura de navegación de la
aplicación Web, es decir, cómo se va a poder navegar a través de la
información.
-El modelo de interfaz abstracta, que mediante un conjunto de
prototipos evaluables permitirá mostrar cómo se va a interactuar con el
sistema.
A modo de resumen, en la tabla 1,
se presentan las fases, actividades y tareas de NDT.
Ventajas y Desventajas
Ventajas de NDT
NDT se puede utilizar en el entorno
empresarial de forma satisfactoria.
NDT permite que los usuarios finales
puedan validar los modelos generados.
Desventajas de NDT
Una de las desventajas de esta
metodología está totalmente apoyada por un conjunto de herramientas
propietario, agrupado en NDT Suite.
Algunas de las subfases al poseer
similitud entre ellas se puede tener información redundante.
Herramientas (Software)
NDT-SUITE
NDT-Tools, el soporte de
herramientas de la metodología NDT, ha tenido que evolucionar para ser una
propuesta útil en proyectos reales, dado que sólo cubría las fases de
ingeniería de requisitos y análisis. Estas razones impulsaron al Grupo de
Investigación Ingeniería Web y Testing Temprano a elaborar NDT-Suite. Esta
nueva herramienta soporta las fases de requisitos, análisis, diseño,
construcción e implantación, pruebas y mantenimiento. NDT-Suite está integrada
por los diversos componentes, entre ellos, NDT-Profile, NDT-Quality y
NDT-Driver. Es un kit de herramientas NDT desarrollado utilizando software
libre: tecnología Java. Está disponible para inglés y español. Proporciona
soporte para todo el ciclo de vida NDT.
NDT-Profile
NDT-Profile es una herramienta
diseñada sobre un perfil definido, en base a los metamodelos de NDT, sobre la
herramienta Enterprise Architect. El profile (perfil) sobre Enterprise ofrece
una serie de herramientas y definición de artefactos propios para trabajar con
la metodología NDT permitiendo una sencilla gestión de documentación.
Las fases de desarrollo incluidas en
el proyecto se identifican por las siguientes siglas:
EVS: documento del estudio de
viabilidad del sistema.
DRS: documento de requisitos del
sistema.
DAS: documento de análisis de
sistema.
DDS: documento de diseño del
sistema.
DPS: documento de plan de pruebas
del sistema.
DMS: documento de mantenimiento del
sistema.
Además, se introduce una serie
información adicional sobre el proyecto:
Participantes: se describen las empresas y
personas que participarán en el proyecto
Control de Versiones: se describen las diferentes líneas
bases, y
Objetivos del Proyecto: se describen los objetivos a
cumplir en el proyecto.
En el perfil de NDT existen siete
conjuntos de herramientas, uno para cada una de las fases del ciclo de vida que
cubre:
NDT Control de cambios y
participantes, para cubrir esas secciones
NDT Estudio de viabilidad, para
cubrir la fase de estudio de viabilidade
NDT Requisitos, para cubrir la fase
de ingeniería de requisitos
NDT Análisis, para cubrir la fase de
análisis
NDT Diseño, para cubrir la fase de
diseño
NDT Pruebas, para cubrir la fase de
pruebas
NDT Mantenimiento, para cubrir la
fase de mantenimiento
NDT-Quality
NDT-Quality automatiza parte de la
revisión metodológica de un proyecto desarrollado con NDT-Profile, creando un
informe con la descripción de las inconsistencias que se han encontrado durante
la revisión, verificando además que el paso de requisitos a análisis y de
análisis a diseño se hace forma correcta.
NDT-Quality genera un informe
consistente en una serie de errores cometidos. Estos errores están tipificados
como “Leves” y “Graves” y revisan aspectos propios de la metodología NDT como
fallos en definiciones completas, malas definiciones de restricciones, etc. Los
errores, además, se muestran agrupados según la fase en la que se hayan
cometido: (Viabilidad, Requisitos, Análisis, Diseño o Pruebas.).
Valida la trazabilidad entre las
fases y controla la consistencia entre una y otra fase. También comprueba que
el prototipo resultante sea navegable.
NDT-Driver
NDT-Driver permite, tomando como
entrada un fichero elaborado mediante NDT-Profile 2.X, ejecutar de manera
automática las transformaciones definidas en la metodología NDT. Para ello, es
imprescindible que la herramienta NDT-Quality no informe de ningún error grave.
Esta herramienta sólo genera los
modelos básicos de la fase en cuestión, proporcionando un punto de partida al
usuario para que éste complete dichos modelos básicos.
Tipo de Herramienta. Contexto
de su uso
El tipo de herramienta NDT-suite es
un software libre se puede descargar desde la web para su uso de forma local
(es necesario descargarlo) y distribuirse de manera gratuita.
Planteo. Puesta en marcha
de la Metodología
Ejemplo de uso de NDT-Suite en este
apartado se describe cuál debería ser la secuencia de trabajo para lograr
generar el modelo conceptual final de la fase de análisis. Para este supuesto,
supongamos un sistema que permite la gestión de las reservas y estancias de un
hotel. En primer lugar, el equipo de analistas debe utilizar NDT-Profile para
comenzar a registrar y catalogar los distintos requisitos del sistema a
desarrollar.
Por ejemplo, entre los requisitos de
almacenamiento de información se pueden especificar los siguientes: datos del
huésped, datos de una reserva, datos de una estancia tipo habitación, etc.
En la figura 8 se muestran el catálogo
de requisitos de almacenamiento de información recogidos en el modelo de
requisitos del proyecto. Centrándonos en
un requisito concreto, el referido a un cliente del hotel (RA-01. Cliente),
como se puede observar en la imagen, en la ventana de propiedades de este
requisito aparece reflejada toda la información para su correcta definición:
definición del requisito; lista de datos específicos del requisito con su tipo,
cardinalidad y descripción; etc.
Una vez que el equipo termine la
ingeniería de requisitos (o durante la misma si lo desea), se ejecutaría
NDT-Quality para detectar todos los posibles errores metodológicos. Una vez
solventados todos estos errores, el equipo de analistas podría ejecutar
NDT-Driver para generar todos los modelos básicos de la fase de Análisis. Concretamente, en el caso que nos ocupa,
generaría el modelo conceptual básico a partir de los requisitos de
almacenamiento de información. Visualmente,
el equipo de analistas puede corroborar la generación de este modelo dirigiéndose
a las carpetas oportunas dentro del NDT-Profile. La figura 9 muestra el modelo
conceptual generado. Una vez finalizada la generación del modelo básico, el
equipo de analistas podría modificarlo con el objetivo de mejorarlo y
enriquecerlo. Tras esto, el equipo debe
volver a ejecutar NDT-Quality para controlar que la trazabilidad se mantiene.
Este proceso se puede ir ejecutando en el paso de cada fase.
Citación de Empresas que
las utilizan. Link.
La materia de Taller de Programación
I, de la carrera Licenciatura en Sistemas de Información de UNNE utiliza NDT
como soporte para la enseñanza de programación web. A continuación se adjunta
link al trabajo que se realizó:
Conclusión
NDT es un enfoque específico para el
tratamiento de requisito. Se basa en el uso de UML y otros enfoques estándar,
como QVT. Además, plantea el uso de metamodelos para hacerse compatible con
otras técnicas adecuadas, como UWE, y viene con una herramienta, NDT-Tool, que
permite la aplicación de sus resultados completos del ciclo de vida para ser
procesados automáticamente y la automatización de sus procedimientos y
transformaciones.
NDT también sigue algunas ideas
generales aceptadas por la Comunidad de ingeniería web. Por lo tanto, propone
dividir el tratamiento de los requisitos de acuerdo con la idea de separación
de conceptos, que es seguida por la mayoría de los otros enfoques web en la
fase de diseño.
Sin embargo, NDT aún está en
desarrollo. En la línea teórica, NDT se está enriqueciendo con un nuevo enfoque
para la derivación de casos de prueba de su modelo de requisitos. El metamodelo
de requisitos de END está siendo analizado y revisado para incorporar nuevos
artefactos que soportan la generación automática de casos de prueba.
Ventajas y Desventajas
Herramientas (Software)
Tipo de Herramienta. Contexto de su uso
Planteo. Puesta en marcha de la Metodología
Citación de Empresas que las utilizan. Link.
Conclusión
No hay comentarios.:
Publicar un comentario