Documente Academic
Documente Profesional
Documente Cultură
Nuestro trabajo de investigación tiene como objetivo la interesados quieren que realice el sistema.
construcción de un sistema experto que permita asistir al Un buen documento de ingeniería de requisitos puede
ingeniero de software en la obtención del documento de reducir la carga de trabajo de los desarrolladores en las fases
especificación de requerimientos de software, basado en el posteriores del desarrollo del producto software, mientras que
análisis de marcos de problemas propuestos por Michael una buena referencia en la documentación ayudará a prevenir
Jackson [10], mediante el empleo del estándar IEEE 830. problemas de mantenimiento[9].
Un Sistema Experto es un conjunto de programas
computacionales, que constan de hardware y software que B. Análisis del dominio
imita el proceso de pensamiento de un experto para resolver El análisis del dominio se puede definir como "el proceso
problemas complejos en un campo o dominio en particular. por el cual la información utilizada en el desarrollo de
Un marco de problema caracteriza a una clase de problema sistemas de software dentro del dominio es identificado,
simple. Los problemas realistas son vistos como capturado, y organizado con el fin de hacerla reutilizable (para
composiciones de problemas sencillos de clases reconocidas crear activos) en la construcción de nuevos productos" [10].
correspondientes a marcos elementales conocidos, es decir, la Este proceso puede ser utilizado para identificar elementos
complejidad del problema se aborda por descomposición en comunes y la variabilidad en los requerimientos y capturar las
subproblemas, y así sucesivamente de forma recursiva, hasta decisiones sobre los rangos y las interdependencias de
que los subproblemas obtenidos son lo suficientemente variabilidad. Si el análisis del dominio no se lleva
simples para ser entendidos y resueltos sin más apropiadamente está termina en su definición ya sea por ser
demasiada amplia o por ser demasiada restrictiva al alcance de
descomposición.
la línea de productos. Lo que implica que los grandes
El propósito de este artículo es presentar y motivar el
beneficios como son la reutilización, la reducción de costes y
enfoque de marcos de problemas aplicado a la generación del
mejora de la calidad del producto software no se pueden
documento de especificación de requerimientos de software realizar [11].
mediante un sistema experto. La sección II proporciona un El análisis de dominios se considera como una herramienta
esquema muy general sobre ingeniería de requisitos, análisis útil para el desarrollo de sistemas en dominios estables, en los
de dominios, marcos de problemas y tipificación de cuales la información de contexto puede ser fácilmente
requerimientos, explicando e ilustrando sus principios y deducible a partir de expertos de dominio [12].
motivaciones subyacentes. Además se explica la metodología
a utilizarse para el desarrollo de un sistema experto. Un C. Marcos de Problemas y Tipificación de requerimientos
análisis más detallado sobre estos principios son aplicados en Los marcos de problemas, dan mayor énfasis a la
la construcción de un sistema experto para asistir al ingeniero comprensión de problemas reales [13], representan, clasifican
de conocimientos en la especificación de requerimientos de y transforman los problemas de software a través de la
software en la sección III, en donde se examina los procesos descomposición del problema en subproblemas más simples.
de análisis basados en marcos de problemas y cómo los Los marcos de problema permiten clasificar y caracterizar
marcos de problemas encajan en el contexto más amplio de las clases de problema que ordinariamente ocurren como
técnicas de especificación de requerimientos para el desarrollo subproblemas de otros problemas más grandes y reales. Un
de productos software utilizando la metodología propuesta en problema que pertenece a una clase caracterizada por un
la sección 3. En la sección IV las ideas, principios y prácticas marco elemental podrá ser definido mediante descripciones
subyacentes son revisados y discutidos en el contexto del apropiadas a un marco. Un problema de una clase compuesta
sistema desarrollado. podrá primero ser descompuesto en subproblemas
caracterizados por marcos elementales. La descomposición
II. MARCO CONCEPTUAL permite detectar e identificar las partes de un marco y las
diferentes aproximaciones a la descomposición de un
A. Ingeniería de requisitos
problema real en subproblemas ajustables a marcos
La ingeniería de requisitos provee el mecanismo para la elementales. Jackson utiliza dos técnicas para la
comprensión de las necesidades de los usuarios utilizando para descomposición de problemas: interior-exterior y exterior-
ello métodos, técnicas y herramientas que permiten analizar, interior. La técnica interior-exterior permite ajustar al
documentar y especificar requerimientos de software. problema aproximadamente a un marco de problema
El proceso de determinación de requerimientos empieza con conocido, pero exhibe dificultades que frustran la aplicación
la extracción y análisis de requisitos, considerándose una parte pura del marco, tales dificultades generan por sí mismas
especial y crítica en el proceso, ya que es la fase en donde se subproblemas que pueden reconocerse ajustándose a otros
determina que es lo que realmente los clientes, los usuarios e marcos. De ahí la técnica exterior-interior permite al usuario
identificar partes del problema (subproblemas) para deducir un
tipo de marco de problema. Una vez identificado el marco de
problema por una de las dos técnicas se puede deducir el tipo
de requerimiento (tipificación de requerimientos) mismo que
será especificado con mayor detalle. La Tabla I muestra los
tipos de requerimientos asociados a los tipos de marcos de
problemas descritos por Jackson. Por lo tanto cuando se problema de una manera que sea útil para el resto del
detecta un problema que se ajusta a uno de los marcos, se
conoce cómo debe documentarse sistemáticamente el
Desarrollo de un Sistema Experto para la Especificación de Requerimientos 3
Cabe notar que las relaciones existentes entre los dimensiones, y se ajusta a la tendencia del software actual,
requerimientos, las propiedades del dominio y las esto es: ser reutilizable, ser integrable, poseer requisitos
especificaciones de la máquina a construirse caracterizan a las abiertos y posee diversidad de modelos computacionales.
clases de problemas. La Figura 1 muestra que un marco de Los requisitos están sometidos a constantes cambios, por
problema consiste en: ende el sistema también, teniendo como resultado un sistema
Un dominio del problema que describe el subconjunto del en constante evolución por lo que se considera como un
mundo real, el cual es motivo de análisis, prototipo en constante perfeccionamiento, mediante el
Un requerimiento que describe lo que se espera sea agregado de nuevos marcos compuestos, mediante nuevas
verdadero acerca de los fenómenos en el dominio del técnicas de descomposición del problema, mediante nuevas
problema, y formas de documentación o estándares a los que debe
Una máquina que describe el comportamiento que debe ajustarse.
ser mostrado por un sistema informático para satisfacer En la Tabla II se expone las fases y etapas que componen la
los requerimientos. metodología I.D.E.A.L. y que guiarán el desarrollo del sistema
experto:
TABLA II
Fases de Desarrollo de la Metodología IDEAL [10].
Un proyecto es viable si el cálculo de la media aritmética Se organizan los datos de manera que puedan ser
entendidos por todos los grupos de interés.
ponderada del análisis de dimensiones del sistema es mayor a Se crear el modelo conceptual a través del modelo Entidad-
6. Una vez calculado estos valores, como puede observarse en Relación. El modelo pueden ser utilizados para ser
Modelado
la Tabla III, obteniéndose el valor de 6.9 lo cual implica que referenciados por el equipo de desarrollo y por cada equipo
es viable el desarrollo del sistema experto, desde la de desarrollo deben tener acceso de la misma.
Se crea un resumen de la actividad que es susceptible a
perspectiva de la Ingeniería del Conocimiento [14]. interpretación.
Se identifica, entiende y comprenden las funciones, los El objetivo primario es obtener un marco de problema
datos y las interfaces y sus relaciones en el desarrollo del adecuado al problema que el sistema intenta dar solución y, a
sistema.
Se identifican ambigüedades, inconsistencias e partir del mismo, servir de guía para que toda la información
Análisis de incompletitud para ser resueltos. necesaria haya sido obtenida con el fin de generar un
requerimientos Se analizan los requisitos no funcionales del sistema documento preliminar de requerimientos.
experto. La descomposición utilizada en esta investigación es la
Se gestiona conflictos, la tarjeta de clasificación y análisis exterior-interior la cual empieza por encontrar aspectos del
basado en un punto de vista.
problema conocidos y/o reconocidos por los usuarios, las cuales
Se garantiza que los requerimientos del sistema experto son
válidos de manera que sean ejecutables para las siguientes
se encaminan a la deducción de un tipo de marco de problema. La
fases de desarrollo. parte fundamental para el sistema es: saber hacer buenas
Validación y
Se aclara los requisitos ambiguos. preguntas y determinar las condiciones necesarias para
Verificación
La Figura 2 muestra
Se realiza launa
base para laformal,
inspección construcción
se chequeadella sistema
lista de encontrar lo desconocido del problema, es decir, generar y
verificación de requisitos, se realiza las pruebas de deducir correctamente un tipo de marco de problema, en el cual la
experto para requisitos
asistir al ingeniero de conocimiento en la
en el prototipo desarrollado. especificación del requerimiento tenga sentido en el contexto del
especificación Incluye
de requerimientos.
las tareas de gestiónDescribe cómoen cualquier
de los requisitos todo el dominio tratado, sin olvidar las partes relevantes de los
metodología
Gestión de de elicitación
tiempo de desarrollode requerimientos puede ser
Requisitos requerimientos funcionales, los cuales definen el comportamiento
representada enSetérminos
documentan delosunrequisitos.
modelo. El modelo basado en específico del software. En lo que se refiere a los requerimientos
[16] representa una generalización de la metodología utilizada, no funcionales o atributos de calidad, definen las características
las técnicas de elicitación conocidas y la asociación de marcos del sistema como la fiabilidad, la respuesta en el tiempo, la
de problemas en el proceso de elicitación de requerimientos. capacidad de almacenamiento, seguridad. Estos adquieren
Explícitamente se destaca el rol que juega el conocimiento en importancia en el momento de modelar la arquitectura del
el desempeño de la obtención y selección de técnicas de sistema. Siendo parte integrante del documento de especificación
elicitación. Analizándose para ello el dominio del problema y de requerimientos.
el dominio del proyecto. Lo que permite proporcionar un Cabe notar que existe una gran cantidad de técnicas en las
marco unificado con el fin de entender el propósito y la diferentes actividades del proceso de ingeniería de requisitos que
función de la obtención de requerimientos en el desarrollo de se puede utilizar para el desarrollo del sistema. En este trabajo,
software. Además este modelo permite describir como un hemos identificado todas las técnicas específicas de la biblioteca
ingeniero en conocimiento puede realizar la elicitación de técnica de ingeniería de requisitos propuesto en la investigación
requerimientos moviéndose a través de una serie de realizada por Jiang et al. [2]. Mientras tanto, los factores de
actividades. El propósito de cada actividad es acercar a las selección se basan en el factor enumerado por Kheirkhah y
partes más y más a un entendimiento común de los Dareman [1]. La Tabla V [15] presenta el tipo de requerimiento
requerimientos que se quieren tratar. De acuerdo al modelo cubierto a través de la técnica utilizada en cada una de las
propuesto existen tres formas de obtener requerimientos de actividades de la ingeniería de requisitos.
software:
1. Una vez analizado el problema este dará guías para
describir tanto el dominio del problema, como el dominio
del proyecto, según la descomposición del problema se
seleccionará la técnica de elicitación a aplicarse de
acuerdo a requerimientos conocidos, aplicada la técnica y
analizado el dominio de conocimiento se traspasa la
información al sistema obteniéndose requerimientos
funcionales.
2. Una vez analizado el problema y de acuerdo a los
conocimientos obtenidos de los usuarios, clientes y/o
partes interesadas se traspasa la información al sistema
obteniéndose requerimientos funcionales y no
funcionales.
3. De acuerdo al análisis del problema y la descomposición
del problema por parte de los usuarios, el sistema ajusta
esta información a un marco de problema, para luego
tipificarlos en requerimientos funcionales sugeridos por el
sistema experto.
Cuestionario Lista escrita de preguntas para ser respondidas por usuarios para Funcional
proporcionar información básica sobre el producto de software
Elicitación de
Requerimientos Lluvia de Ideas Ideas brillantes repentinas No Funcional
Entrevistas Reunión formal con diferentes grupos de interés por separado Funcional y No Funcional
con el fin de obtener diferentes opiniones
Modelamiento de Diagrama Entidad-Relación Descripción de la Base de Datos de una forma abstracta Funcional
Requerimientos
Manejo de Conflictos Resolución de conflictos en el requerimiento de los interesados Funcional
Análisis de
Requerimientos Puntos de Vista Identificación de puntos de vista de las partes interesadas Funcional y No Funcional
La Tabla VI describe el proceso de educción de sobre subproblemas identificados para los usuarios, que
requerimientos realizado por el sistema a través de marcos de permitan inferir marcos de problemas conocidos para luego
problemas. Para ello se han formulado preguntas específicas poder tipificarlos en requerimientos funcionales.
TABLA VI
Descripción de Requerimientos Funcionales inferidos mediante Marcos de Problemas por el SSEE.
ID Entrada/Pregunta Descripción Posibles Marco de Tipo de Detalle de Especificación del
Respuestas Problema Requerimiento Requerimiento
Inferido Inferido
Reporte detallado de consultas de la
Base de Datos. La BDD donde se
almacena la información debe estar
¿Existe Información
Permite determinar si el indexada por campos claves para
requerida por los
sistema genera algún tipo de Si que la búsqueda tenga una respuesta
ER1 solicitantes de
consulta solicitada por los No óptima. Se debe colocar una clave
información (Usuario,
usuarios principal dentro de cada tabla creada
Hardware, Software)?
Marco de Requerimiento de en la Base de Datos para mejorar el
Información Consulta performance y la utilidad de las
consultas.
Reporte detallado de consultas, en
¿Existe información
Permite determinar si el varios formatos de salida (pdf, doc,
entregada por el
sistema entrega información Si xls, etc.), filtros de búsqueda de
ER2 mundo real a través de
a través de formularios, No información deben tener varios
formularios, pre
impresos entre otros. criterios como rangos de fechas,
impreso u otros? claves principales o palabras claves.
Permite determinar si el Revisar los datos de entrada con los
usuario realiza ciertos cuales se realizan cálculos
¿Existen
cálculos en un conjunto de generando nuevos tipos de datos en
informaciones de Si
ER3 datos de entrada que las salidas.
cálculo que generen No
produzcan transformaciones
nuevos tipos de datos? Marco de Requerimiento de
a un conjunto de datos de
salida. Transformación Mapeo
¿Existe operaciones de Generar nuevos formatos de
Permite determinar si el
transformación que Si archivos de acuerdo con las
ER4 sistema genera nuevos tipos
genere nuevos No necesidades de los clientes.
de archivos.
formatos de archivos?
Utilizar los drives de Instalación que
Permite determinar si el
¿Existen dispositivos viene por defecto dentro del equipo
sistema controla un
(Reloj Biométrico, Requerimiento de que vamos a controlar dentro de
dispositivo haciendo que Si Marco de
ER5 cajero automático, reglas de nuestro software, procurar que la
cumpla una serie de reglas de No Control
dispensador de comportamiento información que ingrese desde el
comportamiento.
moneda o similares? dispositivo externo lleguen en
archivos planos para que su
manipulación sea transparente hacia
nuestro software contar con
documentación sobre la maquinaria
que vamos a controlar para conocer
su interfaz de comunicación y el
manejo de su funcionalidad
Las siglas ER significa especificación de requerimientos.
Para el caso de los requerimientos no funcionales este se diseño las mismas que se detallan en la Tabla VII.
basa en una serie de preguntas puntales sobre restricciones de
TABLA VII
Entradas para la Educción de Requerimientos no Funcionales: Restricciones de Diseño
ID Entrada/Pregunta Descripción Opciones
ER7 La política de Adquisición de Permite seleccionar el tipo de Lenguaje Software Libre
Software para toda la empresa es con el que la empresa cuenta o sugiere Ambos
ER8 El sistema necesita tener varios Permite determinar si el sistema Si
lenguajes de programación funcionará con múltiples lenguajes de No
programación
ER9 Alcance de acceso de su sistema Permite determinar el acceso de Utiliza solo dentro de la empresa
comunicación del sistema. Utiliza desde Internet con computador de escritorio
Utiliza desde Internet utilizando dispositivos como tablets,
celulares etc.
ER10 El Sistema necesita tener bases de Permite que el sistema almacene la Si
datos información permanentemente No
ER11 El sistema necesita compartir Permite determinar si existe Si
información con otros sistemas interconexión con sistemas externos No
ER11.1 Como gestiona la Información de Si existe interconexión con sistemas Servicios Web
entrada y salida externos, permite gestionar la Archivos planos
información de entrada salida Tramas
Clonando estructuras de Base De Datos
Consultas
ER12 En cantidad de horas al día, que Permite determinar la disponibilidad del 1-8 horas
tiempo deberá estar la aplicación sistema 8-más horas
disponible
ER13 En una escala de 1 a 4 siendo 1 nada Permite determinar el nivel de seguridad 1
sensible y 4 muy sensible en que del sistema 2
escala colocaría la información que 3
manejará el sistema 4
ER14 Coloque un estimado en GB de la Permite determinar la capacidad de los 1-5 GB
información que manejará el sistema servidores para almacenar información. 5-10 GB
en un año de funcionamiento 10-más GB
Las siglas ER significa especificación de requerimientos.
El sistema experto se encuentra embebido en un sistema de denominado Rete, que mantiene en memoria condiciones y
gestión. Este sistema permite entender la conceptualización acciones que hace más eficiente la comprobación de qué
del dominio del problema, detallándose entidades, atributos y reglas pueden ser activadas en cada momento, es una
relaciones del sistema. Una vez instanciado el sistema experto herramienta de libre distribución que puede interactuar con
permite generar el documento de especificación de otras herramientas de desarrollo.
requerimientos de software. Además el sistema de gestión
administra dos tipos de usuarios: los usuarios que gestionan IV. EVALUACIÓN DEL SISTEMA EXPERTO
los proyectos y los administradores que a más de gestionar La evaluación de un sistema consiste en comprobar que la
proyectos dan mantenimiento al sistema. aplicación funcione correctamente y responda a las
El sistema experto se genero en la herramienta Clips (C necesidades del usuario. Por lo que resulta una de las partes
Language Integrated Production System) por cuanto presenta fundamentales en la construcción de un sistema experto, en
características adaptables al trabajo realizado de acuerdo a las nuestro caso, para asistir al ingeniero en conocimiento en la
siguientes consideraciones: permite la representación del especificación de requerimientos de software. En este proceso
conocimiento humano a través de reglas heurísticas, dispone el experto debe asegura que los requerimientos sean
de un intérprete que permite escribir comandos de manera ejecutables para el desarrollo del producto software deseado.
interactiva, permite mostrar información sobre el estado actual Cabe notar que un experto involucra directamente a usuarios
de la memoria de trabajo y las reglas que las va activando en y/o personas interesadas para asegurar que los requerimientos
cada momento, el motor de inferencias es un algoritmo de establecidos por ellos sean validados y verificados mediante la
encadenamiento hacia delante, en el que a partir de los hechos visualización de los artefactos de requerimientos. Por ejemplo
se obtiene los resultados, implementa un algoritmo podemos requerir que la parte interesada despeje interrogantes
y ambigüedades en el proceso de verificación. Para ello la pruebas de requerimientos y pruebas del prototipo. En nuestro caso
evaluación se apoya en algunas técnicas como son: la particular nos apoyamos por lo general en la técnica de inspección
inspección formal, lista de verificación de requerimientos, formal validada por el experto del dominio.
De acuerdo con la metodología utilizada (Metodología conocimientos con respecto a la conceptualización,
Ideal) para la construcción del Sistema Experto hemos seleccionándose el mismo caso de prueba anterior. Esta
realizado evaluaciones en cada una de las fases de desarrollo: evaluación se realizó teniendo en cuenta dos criterios, según
Adquisición de conocimientos, Conceptualización de [17]:
Conocimientos, Formalización de conocimientos e Marcos: Se ha revisado la coincidencia con el modelo
Implementación de conocimientos. conceptual así como también se ha analizado que no exista
A. Evaluación de la Adquisición del Conocimiento. redundancias, incompletitud e inconsistencias de datos e
La fase de adquisición de conocimientos permite educir los información.
conocimientos del experto acerca del dominio de la aplicación. Reglas: Se ha revisado y analizado que no existan reglas
Para obtener dichos conocimientos se realizaron sesiones de duplicadas, reglas idénticas, reglas embebidas, condiciones si
trabajo entre el experto del dominio y el ingeniero del innecesarias, callejones sin salida, reglas ausentes, reglas
conocimiento a través de reuniones, entrevistas, preguntas, inalcanzable inconsistentes, incompatibles y reglas circulares.
intercambio de ideas y/o análisis de textos. En esta evaluación, D. Evaluación de la Implementación del Conocimiento.
se utilizó dos técnicas de validación y verificación de Sistemas Para realizar esta evaluación se han comparado los
Expertos: las inspecciones formales y pruebas de resultados obtenidos por el sistema con respecto a los
requerimientos, realizándose una retroalimentación de documentos generados por el ingeniero de conocimiento. En
conceptos, definiciones, casos de estudio, validándose y este artículo evaluamos cuatro casos de prueba en donde se
verificándose todos los requisitos con la finalidad de lograr el puede encontrar resultados particulares de requerimientos
objetivo del sistema experto, lo que permitió obtener un funcionales y no funcionales. Los casos de prueba se
documento comprensible, consistente, completo y no describen en la Tabla VIII. Cabe notar que en este artículo
redundante, de acuerdo con los lineamientos del experto y del solo se realiza la evaluación para el primer caso de estudio:
ingeniero en conocimientos. Sistema de Facturación Electrónico.
B. Evaluación de la Conceptualización del Conocimiento.
TABLA VIII
Para esta evaluación hemos utilizado cinco tipos de Casos de prueba para evaluar el Sistema Experto
comprobaciones: CASO PROYECTO DESCRIPCIÓN
Comprobación de los conocimientos estratégicos 1 Facturación Sistema de Información que permite
Electrónica (SFE) cubrir actividades de gestión de
para lo cual se evalúo el modelo de descomposición Facturación Electrónica.
funcional mediante inspecciones formales a través 2 Sistema de Sistema de Información que permite
de revisiones parciales por parte del experto. Información de cubrir actividades de gestión de
Gestión Académica Facultades e Institutos de una
Comprobación de los conocimientos tácticos, se (SIGEAC) Institución Educativa.
revisaron en detalle las seudoreglas, mediante 3 OCI-Tienda para Oci-Tienda es una tienda online para
inspecciones formales a través de revisiones RedSpain la venta a distancia de diversos
productos. Se solicita realizar un
parciales aceptadas por el experto. sistema de información que permita
Comprobación de los conocimientos fácticos, se cubrir actividades de gestión de
empresas, gestión de productos o
revisaron glosario de términos, diccionario de servicios mediante las funciones de
conceptos, tabla de concepto-atributo-valor y compra, venta, contrato y consulta de
definición de atributos mediante revisiones productos, a demás deberá permitir el
pago a través de tarjetas de crédito.
parciales avaladas por el experto e ingeniero del 4 Sistema de Sistema de Información que permite
conocimiento. Información de cubrir actividades de gestión del
PCGeek almacenaje, compras y construcción
Comprobación del modelo dinámico y estático, de PCs en la empresa PCGeek.
fueron revisados y aceptados por el experto. 5 Sistema Experto Sistema de Información que permite
Comprobación de la fase de conceptualización, para para asistir al IC en cubrir actividades de gestión de
realizar la evaluación de esta fase se seleccionó un la especificación de proyectos y la deducción de la
requerimientos.(SE especificación de requerimientos
caso de prueba, misma que se referencia en la AICER) funcionales y no funcionales.
evaluación de la implementación de conocimientos.
Para evaluar el sistema nos hemos basado en las Tablas IX
C. Evaluación de la Formalización del Conocimiento. y X en donde se analiza los tipos de requerimientos
En ésta evaluación se realizó la formalización de funcionales y en las Tablas XI y XII en donde se analiza los
requerimientos no funcionales encontrados y/o deducidos por
el sistema experto para el primer caso de prueba.
La Tabla IX muestra las preguntas que realiza el sistema
experto a los usuarios para educir el/los marcos de problema y
así poder tipificar los requerimientos funcionales, mediante las
inferencias a las reglas, las cuales se presentan en la Tabla X.
TABLA IX ?ret2 <- (Es OperacionesdeCalculo ?ent2)
Entradas para la Educción de Requerimientos Funcionales =>
ID Entrada/Pregunta Descripción Opciones (open "outReqnoFunc.txt" outdata "a")
(if (eq ?ent1 Si) then
ER1 ¿Existe Información Permite determinar si el Si
(if (eq ?ent2 Si) then
requerida por los sistema genera algún tipo de
(assert (Es UnRequerimiento Mapeo))
solicitantes de consulta solicitada por los
(printout outdata "Requerimiento de Mapeo" crlf)
información usuarios
(printout outdata "Marco de Problema de Transformación" crlf)
(Usuario, Hardware,
Software) (retract ?ret1)
(retract ?
ER2 ¿Existe información Permite determinar si el Si
ret2))) (close
entregada por el sistema entrega información
outdata)
mundo real a través a través de formularios,
)
de formularios, pre impresos entre otros.
impreso u otros? ;Regla #25
(defrule Req-func-MarcoProblema
ER3 ¿Existen Permite determinar si el Si
(declare (salience -10))
informaciones de usuario realiza ciertos
(Es UnRequerimiento ?ent1)
cálculo que generen cálculos en un conjunto de
?ret1 <- (Es UnRequerimiento ?ent1)
nuevos tipos de datos de entrada que
=>
datos? produzcan transformaciones
(open "outReqnoFunc.txt" outdata "a")
a un conjunto de datos de
(if (eq ?ent1 Consulta) then
salida.
(assert (Es UnMarcoProblema Informacion))
ER4 ¿Existe operaciones Permite determinar si el Si
(printout outdata "reporte detallado de consultas, en varios formatos de
de transformación sistema genera nuevos tipos
salida (pdf, doc, xls, etc.), filtros de búsqueda de información deben tener
que genere nuevos de archivos.
varios criterios como rangos de fechas, claves principales o palabras claves
formatos de
.La Base de Datos donde se almacena la información debe estar indexada por
archivos?
campos claves para que la búsqueda tenga una respuesta óptima. Colocar una
ER5 ¿Existen Permite determinar si el No
clave principal dentro de cada tabla creada en la Base de Datos para mejora
dispositivos (Reloj sistema controla un
el performance y la utilidad de las consultas." crlf))
Biométrico, cajero dispositivo haciendo que
automático, cumpla una serie de reglas de
(if (eq ?ent1 Mapeo) then
dispensador de comportamiento.
(assert (Es UnMarcoProblema Transformacion))
moneda o similares?
(printout outdata "Revisar los datos de entrada con los cuales se
ER6 ¿Los usuarios Permite determinar si el No
realizan cálculos generando nuevos tipos de datos en las salidas o nuevos
requieren sistema requiere de una
formatos de archivos de acuerdo con las necesidades de los clientes" crlf))
herramientas para herramienta para crear y
crear y editar editar artefactos intangibles
(if (eq ?ent1 OperacionesDominios) then
artefactos tales como texto, gráficos o
(assert (EsUn MarcoProblema WorkPiece))
intangibles tales estructuras similares para que
(printout outdata "Utilizar librerías nativas del lenguaje de programación,
como textos o puedan ser posteriormente
procesar las imágenes y documentos en el servidor de aplicaciones y no
gráficos? copiadas, impresas,
almacenarlas directamente en la Base de Datos. No realizar el procesamiento
analizadas o usadas de otra
manera de imágenes dentro de la capa de usuario sino en la capa de negocios para que
no se afecte a la performance de la aplicación. Los documentos generados
Las siglas ER significa especificación de requerimientos.
pueden ser impresos en varios formatos para facilidad del cliente final." crlf))
(retract ?ret1)
TABLA X (close outdata)
Reglas de Inferencia para la Educción de Requerimientos Funcionales a través
de Marcos de Problemas De acuerdo a las inferencias realizadas por el sistema,
Regla #21
(defrule Req-func-Consultas basadas en las Tablas IX y X, podemos indicar que el dominio
(declare (salience -1)) de la aplicación se ajusta a dos marcos de problemas: de
(Es SolicitantesInformacion ?ent1) información y de transformación, lo que permite tipificar los
(Es InformacionEntregada ?ent2)
?ret1 <- (Es SolicitantesInformacion ?ent1) requerimientos de consulta y mapeo.
?ret2 <- (Es InformacionEntregada ?ent2) El sistema debe tomar en cuenta los siguientes detalles para
=> la especificación de requerimientos:
(open "outReqnoFunc.txt" outdata "a")
(if (eq ?ent1 Si) then Reporte detallado de consultas de la Base de Datos. La
(if (eq ?ent2 Si) then BDD donde se almacena la información debe estar
(assert (Es UnRequerimiento Consulta)) indexada por campos claves para que la búsqueda tenga
(printout outdata "Requerimiento de Consulta" crlf)
(printout outdata "Marco de Problema de Información " una respuesta óptima. Se debe colocar una clave principal
crlf) (retract ?ret1) dentro de cada tabla creada en la Base de Datos para
(retract ?ret2))) mejorar el performance y la utilidad de las consultas.
(close outdata) Reporte detallado de consultas, en varios formatos de
salida (pdf, doc, xls, etc.), filtros de búsqueda de
) información deben tener varios criterios como rangos de
;Regla #23
(defrule Req-func-Mapeo fechas, claves principales o palabras claves.
(declare (salience -1)) Revisar los datos de entrada con los cuales se realizan
(Es OperacionesTransformacion ?ent1) cálculos generando nuevos tipos de datos en las salidas.
(Es OperacionesdeCalculo ?ent2)
?ret1 <- (Es OperacionesTransformacion ?ent1) Generar nuevos formatos de archivos de acuerdo con las
necesidades de los clientes. (open "outReqnoFunc.txt" outdata "a")
De los resultados obtenidos podemos indicar que el sistema (if (eq ?ent1 SoftwareLibre) then
experto infiere y deduce satisfactoriamente los requerimientos (if (eq ?ent2 Escritorio) then
funcionales mismos que fueron abalizados por el ingeniero en
(if (eq ?ent3 Si) then
conocimiento y el experto.
(if (eq ?ent4 Si) then
TABLA IX (printout outdata "PHP con Herramientas Web y MySql" crlf)))))
Preguntas para la Educción de Requerimientos no funcionales
ID Entrada/Pregunta Descripción Opciones (close outdata)
ER7 La política de Permite seleccionar Software )
Adquisición de el tipo de lenguaje Libre
;Regla #12
Software para toda la con el que la
empresa es? empresa cuenta o (defrule Req-no-func-Multiples-Lenguajes
sugiere
(Es MultiplesLenguajes ?ent1)
ER8 El sistema necesita Permite determinar si Si
tener varios el sistema funcionará
lenguajes de con múltiples
=>
programación? lenguajes de
programación (open "outReqnoFunc.txt" outdata "a")
ER9 Alcance de acceso Permite determinar Utiliza desde
(if (eq ?ent1 Si) then
de su sistema? el acceso de Internet con
comunicación del computadoras (printout outdata "Archivos de Globalización" crlf))
sistema. de escritorio
ER10 Si (close outdata)
El Sistema necesita Permite que el
tener bases de datos? sistema almacene la )
información
permanentemente
ER11 El sistema necesita Permite determinar si Si ;Delimitación y restricciones: Conexión con Sistemas Externos, Servicios
compartir existe interconexión
Web
información con con sistemas
otros sistemas? externos ;Regla #13
ER11.1 Como gestiona la Si existe Servicios
(defrule Req-no-func-Conexion-Externa-Servicio-Web
Información de interconexión con Web
entrada y salida? sistemas externos, (Es ConexionSistemaExterno ?ent1)
permite gestionar la
(Es ServiciosWeb ?ent2)
información de
entrada salida =>
ER12 En cantidad de horas Permite determinar Mayor a 8
(open "outReqnoFunc.txt" outdata "a")
al día, que tiempo la disponibilidad del
deberá estar la sistema (if (eq ?ent1 Si) then
aplicación
disponible? (if (eq ?ent2 Si) then
ER13 En una escala de 1 a Permite determinar 3 (printout outdata "Enviar requisitos como dirección del servicio Web,
4 siendo 1 nada el nivel de seguridad
Archivos WDSL" crlf)))
sensible y 4 muy del sistema
sensible en que (close outdata)
escala colocaría la
)
información que
manejará el sistema?
ER14 Coloque un estimado Permite determinar De 5- 10
;Regla #18
en GB de la la capacidad de los
información que servidores para (defrule Req-no-func-Seguridad
manejará el sistema almacenar
(Es Sensibilidad ?ent1)
en un año de información.
funcionamiento? =>
Las siglas ER significa especificación de requerimientos.
(open "outReqnoFunc.txt" outdata "a")