Capítulo II
MARCO TEÓRICO
12 CAPÍTULO II
MARCO TEÓRICO
A pesar que el desarrollo de este trabajo representa un hecho novedoso del que se desconoce la existencia de una herramienta de gran similitud, se realizó la consulta bibliográfica de diversos Trabajos Especiales de Grado vinculados al Sistema Experto para el análisis transaccional de licencias bajo tecnología FlexNet en tiempo real y forense (ReportLog), con el objeto de describir los fundamentos tomados en consideración para la elaboración:
1. ANTECEDENTES DE LA INVESTIGACIÓN.
Se señala a la empresa X-FORMATION (2016), como propietaria del software License Statistics (Software para el manejo de licenciamiento).
Dicho software permite el manejo de sistemas de licenciamiento en tiempo real. Por ello, es necesario instalar diferentes módulos, componentes y clientes en cualquier lugar, ahorrando así tiempo y esfuerzo.
La interfaz de usuario, le permite ver todos los datos de uso de licencia para sus aplicaciones supervisadas desde un portal, por lo que fácilmente puede acceder a su información en cualquier momento y en cualquier lugar.
Además puede, generar de forma automática, las actualizaciones y refresca las páginas de Internet para asegurarse de que siempre pueda acceder a las
últimas estadísticas.
El anteriormente mencionado manejador de Licencia, soporta: LM-X, FLEXIm, FlexNet, IBM LUM, Sentinel RMS, Administrador de licencias de Reprise (RLM), y muchos otros, incluso los administradores de licencias personalizados.
Dicho software puede generar informes en tiempo real que permiten ver las estadísticas que se reunieron desde el servidor de licencias en los intervalos de consulta configurable, informes en tiempo real que proporcionan información sobre utilización de la función, cuenta de usuario, licencias otorgadas y otro tipo de información que permite la toma de decisiones gerenciales. Además; de estadísticas actuales, puede ver información de uso desde el momento en el servidor de licencias ha sido añadido al sistema de monitoreo. Los informes, se dirigen a los detalles de uso, la utilización por usuario, características de expiración y licencias actualmente en préstamo.
El License Statistics Dashboard (Control central de estadísticas de licencia), muestra una visión general de alto nivel del uso del licenciamiento, incluyendo los servidores de licencias monitoreados, características que expiran en 12 meses, y otros informes. El License Statistics Dashboard, la configuración por defecto puede ser suficiente, pero si no, puede ser personalizada fácilmente mediante la adición de los informes deseados, reordenarlos, la eliminación de informes no deseados, o personalizar la presentación de los datos al definir el diseño de la página que mejor se
adapte a las necesidades del administrador.
Los aportes que proporciona dicho software comercial, son de tipo técnicos, desarrollo de vistas, interfaz de usuario, modo de uso de información, modo de vistas para gráficos estadísticos, nivel de comprobación de datos denegados, utilización y manejo de servidores de licenciamiento.
Continuando con lo referente a licenciamiento el estudio se apoya en la Tesis Especial de Grado, propuesta formulada por Hernández (2015),
“Desarrollo de una herramienta de monitoreo de licencias en ambiente especializado para la gerencia de operaciones corporativa dato de exploración y producción.” en la Universidad Nacional Abierta (UNA).
El propósito del estudio consiste en explicar que los inventarios permiten tener el control de la información para mejorar las funciones empresariales, estos constituyen un pilar fundamental para facilitar la toma de decisiones de los gerentes.
Dicho estudio fue desarrollado en la Gerencia de Operaciones Corporativa Dato de Exploración y Producción, PDVSA Oriente; el mismo tuvo como propósito el desarrollo de una herramienta de monitoreo de las licencias en ambiente especializado de la Corporación.
De igual modo, consistió básicamente en la interrelación de un levantamiento de inventario de acuerdo a las necesidades de la Gerencia y una aplicación de una herramienta de monitoreo con una interfaz de visualización, a fin de ofrecer un sistema amigable que permite realizar la
consulta de posiciones ocupadas por las licencias, servidores y empleados, ello sirve como base para los Gerentes y la Organización de obtener datos estadísticos y comparativos para lograr cambios en la optimización de las licencias que se usan o no en las actividades de exploración y producción.
Metodológicamente este trabajo corresponde a una investigación de campo tipo descriptivo y proyecto factible, para ello se realizó la recolección de información donde se utilizó la entrevistas directas, la observación de procesos y la revisión documental sobre las licencias, los cuales se procesaron en forma manual y de su análisis e interpretación se establecieron seis Capítulos que corresponde a los siguientes: Capitulo I:
Planteamiento del Problema, Capitulo II: Marco Teórico, Capítulo III: Marco Metodológico, Capítulo IV: Desarrollo y Análisis de Alternativas, Capítulo V:
La Propuesta y Capitulo VI: Análisis Costo-Beneficio.
Se utilizó el inventario ABC, El Método de Análisis Cualitativo de Alternativas para seleccionar varias alternativas; El Análisis FODA, la ejecución de estos capítulos condujo a la obtención de diversos productos que en conjunto contribuyeron a alcanzar el objetivo general del estudio y por ende ofrecerle a la Gerencia, registrar y almacenar toda la información relevante de las licencias y los usuarios, en pro de diseñar estrategias que conduzcan a mejorar la productividad de PDVSA.
Los aportes que proporciona dicho trabajo de investigación, es Información que las empresas necesitan, los requerimientos informativos (Estratégicos, Tácticos y Técnicos operacionales), conceptos generales y
técnicos, clasificación del software, metodologías generales, para la recolección de datos y análisis de información, análisis de herramientas de monitoreo y manejo transaccional de licenciamiento en el mercado.
Ahora bien, continuando con la necesidad de precisar antecedentes para la variable Sistemas Expertos, se consideró la Tesis Especial de Grado, expuesta por Contreras (2013); “Sistema experto para la optimización y administración de la toma de decisiones del proceso de solución de fallas de las maquinas rommelag del departamento botterlpack de laboratorio behrens c.a.”; en la Universidad Nacional Abierta (UNA).
El propósito del siguiente estudio consiste en explicar, que los sistemas expertos, son sistemas informáticos que simulan a los expertos humanos en un área de especialización dada. Son capaces de procesar y memorizar información, comunicarse con los hombres u otros sistemas expertos, tomar decisiones y explicarlas.
De igual modo, los componentes de un sistema experto son: Base de conocimiento, memoria de trabajo, motor de inferencia e interfaz con el usuario.
En este trabajo, el sistema experto presentado abarca los componentes descritos y se basa en aportar una herramienta que apoye el proceso de toma de decisiones en la solución de fallas de las Maquinas Romelag del Departamento Bottelpack de Laboratorio Behrens C.A., la cual dará un impulso al proceso sistemático para optimizar la efectividad total de los equipos, denominados Mantenimiento Productivo Total.
La Magnitud de la efectividad del equipo se verá reflejada en el cálculo de la Efectividad Total del Equipo, ya que el sistema experto ofrecerá soluciones rápidas y certeras que contribuirán a disminuir el tiempo de paradas por averías y la cantidad de producto rechazados.
El aporte que proporciona dicho trabajo de investigación es que el personal técnico debía descifrar el mensaje de falla emitido y basándose en su experiencia y capacidad de análisis resolver dicha falla, con el sistema experto propuesto, se reducen los tiempos de parada y hay efectividad en la solución elegida. Se utilizaron el modelo lineal para sistemas expertos basados en reglas y el lenguaje CLIPS y dado que su objetivo es detectar las fallas y brindar una solución a éstas, este trabajo de investigación es de interés y podría aportar al trabajo de investigación. La presente investigación solo se enfocó en el área de llenado; interesaría abarcar todos los trabajos que realiza la máquina Rommelag.
Así mismo continuando con la necesidad de precisar antecedentes para la variable Sistema Experto, se consideró la Tesis Especial de Grado expuesta por: Barazarte, Nava, Neuman y Pico (2012). “Sistema experto para el diagnóstico de enfermedades homeopáticas.”, en la Universidad Privada Dr. Rafael Belloso Chacín. (URBE).
La presente investigación tuvo como propósito el desarrollo de un sistema experto para el diagnóstico de enfermedades en medicina homeopática.
Caso: Consultorio “Dra. Xiomara Velásquez”, con el fin de crear diagnósticos de enfermedades en medicina homeopática para dar apoyo a la toma de
decisiones del médico homeópata.
Asimismo, almacenar la información de los pacientes en una base de datos para una mayor seguridad y por ultimo; el proceso de diagnóstico se pueda realizar en menos tiempo debido a que al automatizarlo se eliminan los retrasos.
De tal manera, este estudio se puede clasificar como de tipo proyectivo y descriptivo. El diseño de la investigación es no experimental, de campo y transaccional. Para recabar información necesaria para la investigación se usó la observación con base en una lista de verificación. Además, la entrevista no estructurada con guion de sondeo y revisión y análisis documental.
En cuanto al procedimiento de trabajo empleado, se utilizó una metodología hibrida resultante de la unión de las metodologías de Sistemas Expertos de Rivas y Echeverría (2006) y la metodología ágil SCRUM, expuesta por Sutherland y Schwaber (1995). Constituida por cinco (05) fases, durante las cuales se analizan los requerimientos de los usuarios, consolidan los requerimientos del sistema experto, codificaron las unidades por separado y luego se integraron; y, a través de pruebas realizadas por los investigadores y el médico homeópata, se valida el diseño propuesto.
Para el desarrollo del sistema se creó una interfaz de comunicación para conectar un dispositivo de medición llamado Dermatron y el computador. Las herramientas utilizadas para el desarrollo del sistema fueron: StarUml 5, MySqlWorkbench v5.2, Netbeans 6.9.1, HyperTerminal. Como resultados de
esta investigación se diseñó un sistema experto cuya función principal es brindar apoyo al médico homeópata para la toma de decisión en el proceso de elaboración de diagnósticos de enfermedades.
Los aportes que proporciona dicho trabajo de investigación es que el medico consultante debía aprenderse todos los puntos meridianos de cada órgano y realizar el informe únicamente de forma física como consecuencia era probable realizar un mal diagnóstico del paciente, el sistema experto propuesto se encarga de realizar diagnósticos y asistir al médico a la hora de tomar una decisión aparte la creación de una base de datos para los datos de los pacientes. Se utilizó una metodología hibrida de la unión de las metodologías de Sistemas Expertos de Rivas y Echeverría y la metodología ágil SCRUM, ya que se detecta que puntos presentan fallas y se ofrece una solución esto podría ser de interés para nuestro trabajo de investigación.
Así mismo en lo que respecta al desarrollo de la variable Sistema Experto, sé considera la Tesis Especial de Grado expuesta por Curiel (2013),
“Sistema experto basado en reglas para una aplicación de monitorización de producción industrial”; en la Universidad Politécnica de Valencia.
El propósito del estudio consistió en compañías de todo tipo se interesan cada vez más en aumentar su rendimiento, reducir sus costos y disminuir su impacto ambiental. Para ello, hay que ser conscientes de que todo proceso tiene pérdidas. Si no se controlan continuamente estos procesos para saber qué está ocurriendo, se puede estar perdiendo capacidad productiva y, por lo
tanto, dinero.
El software edinn®M2 es un sistema que monitoriza automáticamente en tiempo real a las personas y las máquinas de cualquier sector, e integra las funciones y estándares necesarios para la mejora total de la ciencia. Para poder tener una visión lo más real posible de lo que ocurre en una compañía, y poder tomar de esta forma las medidas adecuadas para mejorar, es muy importante la correcta configuración del sistema edinn®M2.
Para ello, se da la formación inicial necesaria al cliente. Un elevado porcentaje del personal que recibe la formación no está familiarizado con todos los conceptos de producción que se manejan en el sistema. Además, ciertos cambios que se realizan en el proceso de producción (introducción de nuevo producto, o proceso, una medicación de la agrupación para un área de la planta, etc.) requieren, como es evidente, reajustar los parámetros del sistema. No realizar adecuadamente esta tarea produce efectos no deseados, ya que la monitorización no se ajusta a la realidad, y por tanto carece de sentido.
La detección de estos problemas no es inmediata, por lo que se agrava la situación para el cliente, que muchas veces termina pidiendo soporte para la solución de una incidencia que él mismo ha provocado. En este marco, parece lógico pensar en que lo ideal sería que el cliente tuviese a su disposición una herramienta capaz de analizar lo que está ocurriendo y avisar del problema y sus causas. Esto tiene dos grandes ventajas. Una es que el sistema puede detectar la incidencia mucho antes que el cliente.
Seguidamente en la mayoría de los casos el cliente conocerá la causa del problema y podrá solucionarlo él mismo, o pedir soporte pero aportando una idea clara de lo que ocurre. La solución aquí planteada es un sistema experto capaz de manejar las complejas relaciones que existen en el proceso de producción, así como la correcta configuración de los parámetros del sistema respecto a ellas.
Los aportes que proporciona dicho trabajo de investigación, son :conceptos y Etapas de desarrollo donde se analiza la elaboración e integración de un Sistema Experto en una aplicación ya existente en el mercado, teoría sobre la metodología aplicada para el desarrollo de un Sistema Experto, técnicas utilizadas para agrupar los conocimientos del experto en una base de datos de conocimiento, ejemplo de utilización de herramienta de lenguaje basada en reglas llamada Jess, ejemplo de metodología empleada para la evaluación del sistema final.
Por último la propuesta formulada por Barturen (2012), “Desarrollo de un sistema experto sobre web para un diagnóstico temprano de cáncer de cuello uterino en la clínica maternidad “belen”-chiclayo.”; en la Universidad Católica Santo Toribio de Mogrovejo, Perú.
La presente tesis se enmarcó dentro de la línea de la inteligencia artificial y se enfocó en el desarrollo de un sistema experto en web para un diagnóstico temprano de cáncer de cuello uterino.
Entre sus principales objetivos se trata de orientar a los usuarios durante el proceso del motivo de la consulta, identificación de síntomas presentados,
antecedentes (personales, familiares, gineco-obstetricos) y dando un diagnóstico temprano de cáncer de cuello uterino, tal como si se tratara de un experto en el área.
La adquisición de conocimiento se realiza recogiendo diferente información acerca del tema tratado a través de entrevistas con los expertos, análisis de protocolos, recolección de casos, así como por documentación encontrada acerca del diagnóstico de cáncer de cuello uterino.
Para finalizar se diseña el sistema experto que cuenta con las siguientes características: una base de conocimiento, para las reglas utilizadas para el diagnóstico, se usó la información proporcionada por el experto del campo, el mismo que valido cada una de ellas y proporciono el grado de influencia de cada una de ellas y su valoración en el diagnostico final, para el razonamiento del experto medico expreso la forma como razona sobre las reglas para realizar un diagnóstico las cuales fueron llevadas a un árbol de decisión y codificadas en PHP, el cual tiene la forma de encadenamiento de reglas hacia adelante.
Entre los aportes que provee el presente trabajo de investigación tenemos; unas bases teóricas básicas de lo que son los sistemas expertos y la estructura de los mismos, y de igual forma la metodología utilizada para el análisis y la construcción de dicho sistema. Adicionalmente la identificación, representación y descripción de los procesos que estarán presentes en el Sistema experto a crear y las estructuras donde se conseguirá el almacenamiento de la información (MySQL) y/o la obtención de las
decisiones en base a reglas pueden servir de ayuda para tener una visión más clara de lo que se puede lograr obtener al implementar este tipo de software inteligente.
2. BASES TEÓRICAS.
La fundamentación teórica representa sustento para próximas investigaciones, esta comprende un conjunto de conceptos y proposiciones que constituyen un punto de vista o enfoque determinado, dirigido a explicar el fenómeno o problema planteado.
2.1. SISTEMA DE INFORMACIÓN.
Según O´Brien y Marakas (2006, p. 6) Un sistema de información (SI) puede ser cualquier combinación organizada de personas, hardware, software, redes de comunicación y recursos de información que almacene, recupere, transforme y disemine información en una organización. Las personas han confiado en los sistemas de información para comunicarse entre sí mediante una variedad de dispositivos físicos (hardware), instrucciones y procedimientos de procesamiento de información (software), canales de comunicación (redes) y datos almacenados (recursos de información) desde los albores de la civilización.
2.1.1. CLASIFICACIÓN DE SISTEMA DE INFORMACIÓN.
Desde la perspectiva operativa y administrativa de los sistemas de información, se puede observar la siguiente clasificación o revisión teórica dividida en dos grandes grupos, que enfatizan los propósitos principales de los sistemas de información que apoyan las operaciones de negocio y la toma de decisiones directivas. (O´Brien y Marakas, 2006, p. 12).
2.1.1.1. SISTEMAS DE APOYO A LAS OPERACIONES.
Siempre se han precisado sistemas de información para procesar los datos generados por y utilizados en las operaciones de negocios. Dichos sistemas de apoyo a las operaciones generan una variedad de productos de información para uso interno y externo. Sin embargo, no enfatizan la generación de productos específicos de información que puedan ser usados con mayor eficacia por los directores.
Con frecuencia se requiere que los sistemas de información administrativos realicen un procesamiento adicional. La función de los sistemas de apoyo a las operaciones de una empresa de negocios consiste en procesar, de manera eficaz, las transacciones del negocio, controlar los procesos industriales, apoyar las comunicaciones y la colaboración empresarial y actualizar las bases de datos corporativas. (O´Brien y Marakas, 2006, p. 13).
2.1.1.2. SISTEMAS DE APOYO ADMINISTRATIVO/GERENCIAL.
Cuando las aplicaciones de los sistemas de información se enfocan en proporcionar información y apoyo para una toma eficaz de decisiones por parte de los directivos, se denominan sistemas de apoyo a la administración.
Suministrar información y apoyo para la toma de decisiones a todo tipo de directivos y profesionales de los negocios es una tarea compleja. (O´Brien y Marakas, 2006, p. 14).
2.1.2. TIPOS DE SISTEMAS DE INFORMACIÓN.
Los sistemas de información se desglosan en diferentes tipos, dependiendo del área de trabajo donde se vayan a emplear, en este caso se identificaran y explicaran tres de los sistemas de información más resaltantes actualmente, y que se emplean en las áreas de trabajo de una organización.
2.1.2.1. SISTEMA DE INFORMACIÓN GERENCIAL.
Los sistemas de información gerencial (MIS, siglas en inglés del término Management Information Systems) proporcionan información en forma de reportes y pantallas a los directivos y a muchos profesionales de los negocios. Por ejemplo, los gerentes de ventas pueden usar sus computadoras conectadas en red y los navegadores de Web para obtener pantallas instantáneas acerca de los resultados de ventas de sus productos, y acceder a su intranet corporativa a fin de consultar los reportes diarios de
análisis de ventas que evalúan las ventas hechas por cada vendedor.
(O´Brien y Marakas, 2006, p. 14).
2.1.2.2. SISTEMA DE APOYO A LA TOMA DE DECISIONES.
Los sistemas de apoyo a la toma de decisiones (DSS, siglas en inglés del término Decision Support Systems) dan apoyo informático directo a los directivos, durante el proceso de toma de decisiones. Por ejemplo, un gerente de publicidad puede usar un DSS para realizar un análisis de posibles escenarios (o what-if) como parte del proceso de toma de decisión para determinar dónde gastar el presupuesto de publicidad. El uso de un sistema de apoyo a la toma de decisiones implica cuatro tipos básicos de actividades de modelación analítica: 1) análisis de escenarios, 2) análisis de sensibilidad, 3) análisis de búsqueda de objetivos y 4) análisis de optimización. (O´Brien y Marakas, 2006, p. 14).
2.1.2.3. SISTEMA DE PROCESAMIENTO DE TRANSACCIONES.
Los sistemas de procesamiento de transacciones son un ejemplo importante de sistemas de apoyo a las operaciones que registran y procesan datos producto de las transacciones de negocio. Procesan transacciones de dos maneras básicas. En el procesamiento por lotes, los datos de las transacciones se acumulan durante un periodo y se procesan con periodicidad. En el procesamiento en tiempo real (o en línea) los datos se procesan inmediatamente después de ocurrida la transacción.
Por ejemplo, los sistemas de punto de venta (POS, siglas en inglés de Point Of Sale) en muchas tiendas minoristas utilizan terminales electrónicas en las cajas registradoras para capturar y transmitir electrónicamente la información de ventas, mediante conexiones de telecomunicaciones, hasta los centros de cómputo regionales para su procesamiento inmediato (en tiempo real) o nocturno (por lotes) (O´Brien y Marakas, 2006, p. 13).
2.1.3. VERIFICACIÓN Y VALIDACIÓN.
En este punto se hace referencia a la verificación y validación que se le aplica a los diferentes software para corroborar su correcta funcionabilidad y determinar si cumplen con los requerimientos solicitados por el usuario final, al igual que los requerimientos funcionales y no funcionales que todo software de calidad debe tener.
2.1.3.1. PRUEBAS.
La aplicación de pruebas en los sistemas de información y/o cualquier otro software, permiten al ingeniero y desarrollador, interactuar con el sistema final como si estuviese ya en su área final de implementación, de esta forma se aplicaran pruebas de funcionamiento para verificar la funcionabilidad del mismo.
(A) OBJETIVO.
Las pruebas de software (en inglés software testing) son las investigaciones empíricas y técnicas cuyo objetivo es proporcionar información objetiva e independiente sobre la calidad del producto a la parte interesada o stakeholder. Es una actividad más en el proceso de control de calidad. Las pruebas son básicamente un conjunto de actividades dentro del desarrollo de software. Dependiendo del tipo de pruebas, estas actividades podrán ser implementadas en cualquier momento de dicho proceso de desarrollo.
El objetivo de las pruebas es presentar información sobre la calidad del producto a las personas responsables de este. Teniendo esta afirmación en mente, la información que puede ser requerida es de lo más variada. Esto hace que el proceso de testing sea completamente dependiente del contexto en el que se desarrolla. A pesar de lo que muchos promueven, no existen las
"mejores prácticas" como tal. Toda práctica puede ser ideal para una situación pero completamente inútil o incluso perjudicial en otra. Por esto, las actividades, técnicas, documentación, enfoques y demás elementos que condicionarán las pruebas a realizar, deben ser seleccionados y utilizados de la manera más eficiente según contexto del proyecto. Josué (2016, p. 115).
(B) JUSTIFICACIÓN.
Los principales objetivos que se buscan con la prueba de software suelen ser: 1) Conocer el nivel de calidad de productos intermedios, para actuar a tiempo (rehacer un componente); esto facilita una administración realista del tiempo de compra del producto en cuestión. 2) No pagar por un producto de software sino hasta que alcance el nivel de calidad pactado; esto eleva el nivel de certidumbre en el comprador de software, y minimiza riesgos. 3) Disminuir la penosa y costosa labor de soporte a usuarios insatisfechos, consecuencia de liberar un producto inmaduro. Esto puede mejorar la imagen de la organización desarrolladora (y la credibilidad en ella).
Como cuarto objetivo tenemos; 4) Reducir costos de mantenimiento (la fase más costosa del desarrollo de software), mediante el diagnóstico oportuno de los componentes del sistema (seguimiento a estándares, legibilidad del código, integración adecuada de los componentes, rendimiento apropiado, nivel y calidad del reúso, calidad de la documentación, entre otros). 5) Obtener información concreta acerca de fallas, que pueda usarse como apoyo en la mejora de procesos, y en la de los desarrolladores (capacitación en áreas de oportunidad).
Entre más pronto se apliquen mecanismos de prueba en el proceso de desarrollo, más fácilmente podrá evitarse que el proyecto se salga del tiempo y presupuesto planeado, pues se podrán detectar más problemas originados
en las fases tempranas del proceso, que son los que mayor impacto tienen.
Josué (2016, p. 116).
2.1.3.2. TIPOS DE PRUEBAS.
(A) INTEGRACIÓN.
La prueba de integración es una técnica sistemática para construir la estructura del programa mientras al mismo tiempo, se lleva a cabo pruebas para detectar errores asociados con la interacción. El objetivo es tomar los módulos probados en unidad y estructurar un programa que esté de acuerdo con el que dicta el diseño. La integración puede ser descendente si se integran los módulos desde el control o programa principal, o bien, ascendente, si la verificación del diseño empieza desde los módulos más bajos y de allí al principal. La selección de una estrategia de integración depende de las características del software y, a veces, del plan del proyecto, en algunos de los casos se puede combinar ambas estrategias. Josué (2016, p. 117).
(a) INTEGRACIÓN DESCENDENTE.
Se comienza de arriba hacia abajo (avanzado), primero en profundidad, luego en anchura posteriormente tomamos el módulo principal como driver (controlador de dispositivo) y substituimos los
módulos dependientes por stubs (trozo de código usado como sustituto de alguna otra funcionalidad).
(b) INTEGRACIÓN ASCENDENTE.
Primero agrupamos los módulos inferiores (por ejemplo; según su funcionabilidad), luego preparamos un driver para cada grupo y realizamos las pruebas. Progresamos sustituyendo los driver por módulos reales y por ultimo realizamos pruebas específicas y regresivas.
(c) REGRESIÓN.
Las pruebas de regresión son cualquier tipo de pruebas de software que intentan descubrir las causas de nuevos errores (bugs), carencias de funcionalidad, o divergencias funcionales con respecto al comportamiento esperado del software, inducidos por cambios recientemente realizados en partes de la aplicación que anteriormente al citado cambio no eran propensas a este tipo de error. Josué (2016, p. 119).
(B) VALIDACIÓN.
Las pruebas de validación en la ingeniería de software son el proceso de revisión que verifica que el sistema de software producido cumple con las especificaciones y que logra su cometido. Es normalmente una parte del proceso de pruebas de software de un proyecto, que también utiliza técnicas tales como evaluaciones, inspecciones y tutoriales. La validación es el
proceso de comprobar que lo que se ha especificado es lo que el usuario realmente quería.
Para comprobar que se satisfacen los requisitos: Se usan la mismas técnicas, pero con otro objetivo, no hay programas de prueba, sino sólo el código final de la aplicación, se prueba el programa completo, Se aplican uno o varios casos de prueba por cada requisito o caso de uso especificado, posteriormente se prueba también el rendimiento, capacidad, etc. (y no sólo resultados correctos), luego se aplican las pruebas alfa (desarrolladores) y beta (usuarios).
(a) ALFA.
Las pruebas de tipo alfa son las que se realizan con una muestra de datos reales. Esta se lleva a cabo, por un cliente, en el mismo lugar de desarrollo.
Se usa el software de forma natural con el desarrollador como observador del usuario y registrando los errores y problemas de uso. Las mismas se llevan a cabo en un entorno controlado (Por ejemplo; Un Laboratorio) y son aplicadas antes de que el software se ponga a disposición del público. Por lo general, los desarrolladores realizan la prueba alfa utilizando técnicas de pruebas de caja blanca, caja negra y de caja gris (Mezcla de caja negra y caja blanca).
La atención se centra en la simulación de los usuarios reales mediante el uso de estas técnicas y la realización de tareas y operaciones que un usuario típico podría llevar a cabo. Una vez que estas técnicas se han cumplido
satisfactoriamente, la prueba alfa se considera completa. Josué (2016, p.
120).
(b) BETA.
La prueba beta es la que se lleva a cabo por los usuarios finales del software en los lugares de trabajo de los clientes. A diferencia de la prueba alfa, el desarrollador no está presente. Así, la prueba beta es una aplicación en vivo del software en un entorno que no puede ser controlado por el desarrollador. El cliente registra todos los problemas que encuentra durante la prueba beta e informa a intervalos regulares al desarrollador.
A diferencia de las pruebas alfa, la gente fuera de la empresa se incluye para realizar las pruebas. Como el objetivo es hacer una simple comprobación antes del lanzamiento de productos, es posible encontrar defectos durante esta etapa, por lo que la distribución del software se limita a una selección de usuarios fuera de la empresa.
Por lo general, las empresas subcontratadas se utilizan como pruebas, su opinión es independiente y desde una perspectiva diferente que la de los empleados de la compañía de desarrollo de software. Los comentarios se pueden utilizar para corregir los defectos, ayudar en la preparación de equipos de apoyo para la solución de los mismos o en algunos casos incluso imponer cambios de última hora a la funcionalidad. Josué (2016, p. 120).
(C) SISTEMA.
En este punto se verifica el sistema o software completo, es decir, ya desarrollado en su totalidad o lo que es igual, su aplicación como tal. Se toma un punto de vista del usuario final y los casos de uso de pruebas ejecutando acciones típicas de usuario. Josué (2016, p. 121).
(a) Recuperación: Verificar que los procesos de recuperación (manual o automática) restauran apropiadamente la Base de datos. Estas pruebas aseguran que una aplicación o sistema se recupere de una variedad de anomalías de hardware, software o red con pérdidas de datos o fallas de integridad. Se deben utilizar las pruebas creadas para la funcionalidad del sistema y procesos de negocios para crear una serie de transacciones.
Josué (2016, p. 123).
(b) Seguridad: En el Nivel de seguridad de una aplicación se debe verificar que un actor solo pueda acceder a las funciones y datos que su usuario tiene permitido (Incluyendo acceso a datos o Funciones de negocios e incluyendo accesos remotos). Se debe identificar cada tipo de usuario y las funciones y datos a los que se debe autorizar. Josué (2016, p. 123).
(c) Resistencia: Estas pruebas se diseñan para enfrentar a los sistemas a situaciones anormales, es decir ejecutar el sistema en forma que demande recursos en cantidad, frecuencia o volúmenes anormales.
Igualmente busca validar el correcto funcionamiento del sistema bajo las condiciones de carga normales para la operación para concluir sobre variables como; el tiempo de respuesta, carga de procesamiento, trabajo por unidad de tiempo y utilización de recursos.
Entre las pruebas de resistencia más conocidas esta la prueba de Stress la cual verificar que el sistema funciona apropiadamente y sin errores. Estas pruebas se proponen encontrar errores debidos a recursos bajos o completitud de recursos. También tenemos las pruebas de Carga que validan el tiempo de respuesta para las transacciones, miden tiempos de respuesta, índices de procesamiento de transacciones y otros requisitos sensibles al tiempo. Se recomienda modificar los archivos de datos (para incrementar el número de transacciones) o los scripts para incrementar el número de veces que ocurre cada transacción. Josué (2016, p. 123).
(D) RENDIMIENTO.
Son las pruebas que se realizan, desde una perspectiva, para determinar lo rápido que realiza una tarea un sistema en condiciones particulares de trabajo. También puede servir para validar y verificar otros atributos de la calidad del sistema, tales como la escalabilidad, fiabilidad y uso de los recursos. Las pruebas de rendimiento son un subconjunto de la ingeniería de pruebas, una práctica informática que se esfuerza por mejorar el rendimiento, englobándose en el diseño y la arquitectura de un sistema, antes incluso del esfuerzo inicial de la codificación. Josué (2016, p. 124).
2.1.3.3. MANTENIMIENTO.
Podemos definir el mantenimiento como el “conjunto de actividades que deben realizarse a instalaciones y equipos con el fin de corregir o prevenir fallas, buscando que estos continúen prestando el servicio para el cual fueron diseñados”. Como los equipos no se pueden mantener en buen funcionamiento por si solos, se debe contar con un grupo de personas que se encarguen de ello, conformando así el departamento de mantenimiento de nuestras empresas. Josué (2016, p. 125).
(A) TIPOS DE MANTENIMIENTO.
(a) Mantenimiento correctivo: Tiene por objetivo localizar y eliminar los posibles defectos de los programas. Un defecto en un sistema es una característica del sistema con el potencial de provocar un fallo. Un fallo se produce cuando el comportamiento de un sistema difiere con respecto al comportamiento definido en la especificación.
Los fallos en un sistema software pueden ser:
Procesamiento (salidas incorrectas de un programa).
Rendimiento (tiempo de respuesta demasiado alto).
Programación (inconsistencias en el diseño).
Documentación (inconsistencias entre la funcionalidad de un programa y el manual de usuario).
Josué (2016, p. 127).
(b) Mantenimiento Adaptativo: Consiste en la modificación de un programa debido a cambios en el entorno (hardware o software) en el que se ejecuta. Desde cambios en el sistema operativo, pasando por cambios en la arquitectura física del sistema informático, hasta en el entorno de desarrollo del software. Este tipo de mantenimiento puede ser desde un pequeño retoque hasta una reescritura de todo el código.
Los cambios en el entorno de desarrollo del software pueden ser:
- En el entorno de los datos (por ejemplo; cambiar sistema de ficheros por BD relacional).
- En el entorno de los procesos (por ejemplo; migración a plataforma con procesos distribuidos).
Este mantenimiento es cada vez más frecuente debido a la tendencia actual de actualización de hardware y software cada poco tiempo. Josué (2016, p. 133).
(c) Mantenimiento Perfectivo: Conjunto de actividades para mejorar o añadir nuevas funcionalidades requeridas por el usuario. Este se divide en dos: Mantenimiento de Ampliación; incorporación de nuevas Funcionalidades y Mantenimiento de Eficiencia; mejora de la eficiencia de ejecución. Josué (2016, p. 133).
(d) Mantenimiento Preventivo: Este tipo de mantenimiento tiene su importancia en que realiza inspecciones periódicas sobre los equipos, teniendo en cuenta que todas las partes de un mecanismo se
desgastan en forma desigual y es necesario atenderlos para garantizar su buen funcionamiento.
El mantenimiento previo se hace mediante un programa de actividades (revisiones y lubricación), con el fin de anticipar a las posibles fallas en el equipo. Tiene en cuenta cuales actividades se deben realizar sobre el equipo en marcha o cuando este detenido. Josué (2016, p. 128).
(B) CARACTERÍSTICA DEL MANTENIMIENTO.
No es el mismo tipo de mantenimiento el del software que el de hardware, como primera aproximación al mantenimiento del software lo definiremos como el conjunto de medidas que hay que tomar para que el sistema siga trabajando correctamente.
Entre las características sobresalientes del mantenimiento del software destacan.
- El software no envejece.
- El mantenimiento del software supone adaptar el paquete o sistema objeto del mismo a nuevas situaciones como: Cambio de hardware, Cambio de software de base (S.O.).
- Todo sistema software conlleva mejoras o añadidos indefinidamente.
Al cerrar todo proyecto se debe considerar y proveer las normas del mantenimiento del sistema (tanto en connotaciones hardware como software). Josué (2016, p. 129).
(C) EFECTOS.
En el mantenimiento del software existe el riesgo del llamado efecto bola de nieve; que consiste en que los cambios introducidos por una petición de mantenimiento conllevan efectos secundarios que implican futuras peticiones de mantenimiento.
(a) Efectos secundarios sobre el código: Cambios en el diseño que suponen muchos cambios en el código, eliminación o modificación de un subprograma, eliminación o modificación de una etiqueta, eliminación o modificación de un identificador, cambios para mejorar el rendimiento., modificación de la apertura/cierre de ficheros, modificación de operaciones lógicas.
(b) Efectos secundarios sobre los datos: Redefinición de constantes locales o globales, modificación de los formatos de registros o archivos, cambio en el tamaño de una matriz u otras estructuras similares, modificación de la definición de variables globales, re inicialización de indicadores de control o punteros, cambios en los argumentos de los subprogramas. Es importante una correcta documentación de los datos.
(c) Efectos secundarios sobre la documentación: Modificar el formato de las entradas interactivas, nuevos mensajes de error no documentados., tablas o índices no actualizados, texto no actualizado correctamente.
2.2. INTELIGENCIA ARTIFICIAL Y SISTEMAS EXPERTOS.
2.2.1. INTELIGENCIA ARTIFICIAL.
Desde sus inicios, el hombre se representó el mundo real mediante símbolos, los cuales constituyen la base del lenguaje humano. En este sentido, se podría considerar a la Inteligencia Artificial como un dialecto simbólico constituido por cadenas de caracteres que representan conceptos del mundo real. De hecho, los procesos simbólicos son una característica esencial de la Inteligencia Artificial. Por lo cual, Ponce (2010, p. 1) la define como “una rama de las ciencias computacionales que se ocupa de los símbolos y métodos no algorítmicos para la resolución de problemas”.
2.2.1.1. ANTECEDENTES.
En este punto se presentan algunos de los antecedentes y sus autores, que marcaron historia durante el transcurso de los tiempos, y que de alguna u otra forma ayudaron en la evolución continua, de lo que hoy conocemos como inteligencia artificial.
Algunos antecedentes mencionados por Ponce (2010, p.1) son:
(a) En 1958, John McCarthy, responsable de introducir el término
“inteligencia artificial”, propuso utilizar el cálculo proposicional como un idioma para representar y utilizar el conocimiento en un sistema que denominó la “Advice Taker”. A este sistema se le tenía que decir qué hacer en vez de ser programado. Una aplicación modesta pero
influyente de estas ideas fue realizada por Cordell Green en su sistema llamado QA3.
(b) Warren McCulloch y Walter Pitts escribieron teorías acerca de las relaciones entre los elementos de cálculo simple y las neuronas biológicas. McCuylloch y Pitts (1943).
(c) Otro trabajo realizado por Frank Rosenblatt (1962), exploró el uso de redes llamadas perceptrones.
(d) Gran parte del trabajo inicial de la IA se desarrolló en la década de 1960 y principios de los setenta en programas como General Problem Solver (GPS) de Allan Newell, Cliff Show y Herbert Simon, Newell, Show y Simon (1959), Newell y Show (1963).
(e) El primer programa que se le atribuye la demostración de la importancia de grandes cantidades de conocimiento y dominio específico es DENDRAL, un sistema de predicción de la estructura de las moléculas orgánicas que considera su fórmula química y el análisis de espectrograma de masa Feigenbaum, Buchanan y Lederberg (1971).
(f) En mayo 11 de 1997, un programa de IBM llamado Deep Blue derrotó al actual campeón mundial de ajedrez, Garry Kasparov.
(g) En la actualidad hay distintas aplicaciones con la IA. Softbots, Etzioni y Weld (1994), son agentes de software que deambulan por la Internet, encontrando información que piensan será útil a sus usuarios al acceder a Internet.
2.2.1.2. RAMAS QUE COMPONEN LA INTELIGENCIA ARTIFICIAL.
Existen varios elementos que componen la ciencia de la Inteligencia Artificial, según Ponce (2010, p. 2) se pueden encontrar tres grandes ramas:
• Lógica difusa
• Redes neurales artificiales • Algoritmos genéticos
Cada una consta de características especiales, así como de una función específica.
(A) LÓGICA DIFUSA.
La lógica difusa es una rama de la Inteligencia Artificial que según Ponce (2010, p. 3) le permite a una computadora analizar información del
mundo real en una escala entre lo falso y verdadero. Cuando los matemáticos carecen de algoritmos que dictan cómo un sistema debe responder a ciertas entradas, la lógica difusa puede controlar o describir el sistema usando reglas de sentido común que se refieren a cantidades indefinidas.
(B) REDES NEURALES ARTIFICIALES.
Así como los humanos aplican el conocimiento ganado con la experiencia a nuevos problemas o situaciones, una red neural toma como ejemplos problemas resueltos para construir un sistema que toma decisiones y realiza
clasificaciones. Por lo tanto, Ponce (2010, p. 6) afirma que la tecnología neural trata de reproducir el proceso de solución de problemas del cerebro.
Los problemas adecuados para la solución neural son aquellos que no tienen solución computacional precisa o que requieren algoritmos muy extensos como en el caso del reconocimiento de imágenes.
2.2.2. SISTEMAS EXPERTOS.
Los sistemas expertos son un producto del área de inteligencia artificial, estos emulan el comportamiento de un especialista humano al enfrentar un problema que requiere de conocimientos especializados.
Por lo tanto, Aguilar y Rivas (2001, p. 21) definen a los sistemas expertos como la incorporación en un computador de un componente basado en el conocimiento que se obtiene a partir de un experto, de forma tal que el sistema pueda dar consejos inteligentes o tomar decisiones inteligentes.
2.2.2.1. CARACTERÍSTICAS DE LOS SISTEMAS EXPERTOS.
Según Giarratano (2001, p. 8), las principales características de un sistema experto son:
(a) Alto Desempeño: El sistema debe tener la capacidad de responder a un nivel de competencia igual o superior al de un especialista en el campo.
Esto significa que la calidad del consejo dado por el sistema deber ser muy alta.
(b) Tiempo de respuesta adecuado: El sistema debe actuar en un tiempo
razonable, comparable o mejor al tiempo requerido por un especialista para alcanzar una decisión.
(c) Confiabilidad: El sistema experto deber ser confiable y no propenso a
“caídas”, o no será usado.
(d) Comprensible: El sistema debe ser capaz de explicar los pasos de su razonamiento mientras se ejecutan, de tal modo que sea comprensible.
En lugar de ser solo una “caja negra” que produce una respuesta milagrosa, el sistema debe tener capacidad de explicación, de la misma forma en que los especialistas pueden explicar su razonamiento.
(e) Flexibilidad: Debido a la gran cantidad de conocimiento que un sistema experto puede tener, es importante contar con un mecanismo eficiente para añadir, modificar y eliminar conocimiento.
2.2.2.2. CLASIFICACIÓN DE LOS SISTEMAS EXPERTOS.
El conocimiento de un sistema experto puede representarse de varias maneras, puede estar encapsulado en reglas y objetos. De este modo Giarratano (2001, p. 5) señala los dos tipos de sistemas expertos:
(a) Basado en reglas: Los sistemas expertos basados en reglas son aquellos que expresan en reglas el conocimiento de los especialistas.
Las reglas pueden corresponder a los objetos y también a los hechos.
(b) Basado en objetos: Los sistemas expertos basados en objetos son aquellos que pueden operar de forma independiente a las reglas.
2.2.2.3. ETAPAS DEL DESARROLLO DE UN SISTEMA EXPERTO.
Para el desarrollo de un sistema experto, las actividades son aquellas tareas que se necesitan para construir el sistema. En líneas generales Giarratano (2001, p. 312) nos expone las etapas para el desarrollo de un sistema experto, estás son:
(a) Estudio de factibilidad: Es un estudio comparativo para demostrar que el proyecto es factible.
(b) Prototipo rápido: Es un sistema experto armado rápidamente para demostrar ideas, despertar entusiasmo e imprimir administración de nivel superior.
(c) Sistema refinado: Consta en la verificación interna del sistema experto sobre problemas reales, esta es realizada por los ingenieros del conocimiento y los especialistas.
(d) Campo Comprobable: Se realizan pruebas al sistema por usuarios seleccionados.
(e) Sistema de calidad comercial: El sistema experto ha sido validado y probado, documentado para el uso del usuario final, se prevé una capacitación al personal que opere al sistema y se brinda soporte rápido al usuario en caso de ser necesario.
(f) Mantenimiento y evolución: Se realizan correcciones al sistema así como el aumento de su capacidad operativa.
2.2.2.4. APLICACIONES DE LOS SISTEMAS EXPERTOS.
Algunas aplicaciones de los sistemas expertos mencionadas por Aguilar y Rivas (2001, p. 25) son:
(a) Interpretación: infieren la descripción de situaciones por medio de sensores de datos. Estos sistemas expertos usan datos reales, con errores, con ruidos, incompletos, etc. Ejemplos son: medición de temperatura, reconocimiento de voz, análisis de señales, entre otros.
(b) Predicción: infieren probables consecuencias de situaciones dadas.
Algunas veces usan modelos de simulación para generar situaciones que puedan ocurrir. Ejemplos son: predecir danos a cosechas por algún tipo de insecto, predecir la demanda de energía eléctrica, entre otros.
(c) Diagnóstico: infieren las fallas de un sistema basándose en los síntomas. Utilizan las características de comportamiento, descripción de situaciones, o conocimiento sobre el diseño de un componente, para inferir las causas de la falla. Ejemplos son: diagnóstico de enfermedades basándose en síntomas, encontrar componentes defectuosos o fallas en circuitos.
(d) Diseño: configuración de objetos. Utilizan un conjunto de requerimientos, limitaciones y restricciones, para configurar objetos.
Utilizan un proceso de análisis para construir un diseño parcial y una simulación para verificar o probar las ideas. Ejemplos son: configuración de equipos de oficina, de equipos de cómputo, entre otros.
(e) Planificación: diseñan un curso completo de acción, al descomponer una tarea en un subconjunto de tareas. Ejemplos son: transferir material de un lugar a otro, comunicaciones, enrutamiento, planificación financiera, entre otros.
(f) Monitoreo: comparan el comportamiento del sistema con el comportamiento nominal de referencia, es decir, se compara lo actual con lo esperado. Ejemplos son: asistir a un paciente de cuidados intensivos, tráfico aéreo, uso fraudulento de tarjetas de crédito y/o detección de fallas, entre otros.
2.2.2.5. ELEMENTOS DE UN SISTEMA EXPERTO.
Según indican Aguilar y Rivas (2001, p. 23) los elementos de un sistema experto son.
(a) Base de conocimientos.
(b) Motor de inferencia.
(c) Sistema de explicación.
(A) BASE DE CONOCIMIENTO.
La base de conocimientos funciona como almacén de los conocimientos relativos a un área en específico. De este modo, Aguilar y Rivas (2001, p.
23) indican que la base de conocimientos “contiene una gran cantidad de información sobre un tema específico, generalmente proporcionada por un experto en el tema, sobre el cual se desarrolla la aplicación”.
(B) MOTOR DE INFERENCIA.
El motor de inferencia es la estrategia de búsqueda para producir el conocimiento demandado. En este sentido; Aguilar y Rivas (2001, p. 24) sugieren que un motor de inferencia utiliza la base de conocimiento y la base de hechos, las fusiona y las combina, realizando de esta manera una serie de razonamientos acerca del problema que se le ha presentado..
(a) Función general de un motor de inferencia: El motor de inferencia debe realizar una serie de inferencias que relacionan un problema con las posibles soluciones, a dichas inferencias se les denomina cadena. Según exponen Aguilar y Rivas (2001, p. 24) existen dos tipos de encadenamiento, estos se proceden a explicar a continuación: 1) Encadenamiento hacia delante: es un proceso de razonamiento ascendente que se inicia con las condiciones conocidas y trabaja hacia delante para alcanzar los objetivos deseados y 2) Encadenamiento hacia atrás: es un proceso de razonamiento descendente, que se inicia a partir
de los objetivos deseados y trabaja hacia atrás en dirección a las condiciones iniciales.
(C) SISTEMA DE EXPLICACIÓN.
El sistema debe acceder a un registro de los conocimientos que se emplearon en el procesamiento, basándose en el esquema de representación de la base de conocimientos, y traducirlo a una forma que sea aceptable por el usuario. De esta manera Aguilar y Rivas (2001, p. 24) definen al sistema de explicación como “módulos de interacción con el usuario que mantienen una memoria temporal de los conocimientos empleados en el procesamiento para poder dar una explicación al usuario”.
2.2.3. INGENIERÍA DEL CONOCIMIENTO.
Es definida por Giarratano (2001, p. 6) como “el proceso de construir un sistema experto se llama ingeniería del conocimiento, y consiste en la adquisición de conocimiento a partir de un especialista humano o de otra fuente y su codificación en el sistema experto”.
2.2.4. REPRESENTACIÓN DEL CONOCIMIENTO.
El conocimiento es definido por Aguilar y Rivas (2001, p. 26) como “el conjunto de hechos y principios acumulados por una clase de acto, hecho o estado del conocimiento”. Para poder resolver los problemas complejos que se encuentran en la Inteligencia Artificial, se necesita contar con una gran
cantidad de conocimiento y algunos mecanismos para poder manipularlo.
Así, la forma en la que se represente dicho conocimiento determina la eficiencia en su manipulación.
2.2.4.1. TIPOS DE REPRESENTACIÓN DEL CONOCIMIENTO.
La representación del conocimiento puede dividirse de dos maneras, la primera siendo el conocimiento declarativo que es la representación de hechos y aserciones. La segunda manera siendo el conocimiento procedural que se encarga de guardar acciones o consecuencias.
Como sugieren Aguilar y Rivas (2001, p. 27), dentro de los esquemas declarativos se encuentran aquellos basados en la lógica y los relacionales.
Los modelos relacionales pueden representar el conocimiento por medio de árboles, grafos, tablas, marcos, guiones, redes semánticas o graficas conceptuales; Las representaciones lógicas incluyen el uso de lógica proposicional y más importante aún, la lógica de predicamentos.
Los modelos procedurales almacenan el conocimiento sobre la forma de cómo hacer las cosas. Se caracterizan por el uso de gramáticas formales implementadas por sistemas de producción basados en reglas o en procedimientos.
2.2.5. OBTENCIÓN DEL CONOCIMIENTO.
El objeto de la etapa de obtención del conocimiento es definir el conocimiento requerido por el sistema experto. En formas generales
Giarratano (2001, p. 322) describe los pasos para la obtención de dichos conocimientos:
(a) Identificación del origen: Se toma en cuenta de quién y cuáles son los orígenes del conocimiento, sin considerar la disponibilidad.
(b) Importancia del origen: Consta de una lista con prioridades de orígenes de conocimiento, en orden de importancia para el desarrollo.
(c) Disponibilidad del origen: Consiste en una lista de orígenes del conocimiento clasificado en orden de disponibilidad. Es más fácil disponer de libros y otros documentos que de especialistas humanos.
(d) Selección del origen: Se seleccionaran los orígenes del conocimiento con base en la importancia y disponibilidad.
2.3. GERENCIA DEL CONOCIMIENTO.
La Gerencia del Conocimiento consiste en el uso accesible, donde quiera que esa información se requiere la aplicación de la tecnología apropiada para La gerencia del conocimiento incorpora procesos sistemáticos presentar información de manera que mejore la comprensión parte de sus empleados.
Estrategias Gerenciales (10/02/2016).
2.3.1. GESTIÓN TECNOLÓGICA.
La Gestión Tecnológica, se puede definir como el conjunto de procesos
que permiten utilizar el conocimiento (Capital Intelectual) como factor clave para añadir y generar valor. La Gestión Tecnológica va, más allá del almacenamiento y manipulación de datos. Según la definición de Marshall, Prusak y Shpilberg, la Gestión Tecnológica es la tarea de reconocer un activo humano enterrado en las mentes de las personas y convertirlo en un activo empresarial al que puedan acceder y que pueda ser utilizado por un mayor número de personas de cuyas decisiones depende la empresa.
2.3.2. OBJETIVOS Y ACTIVIDADES DE LA GERENCIA DEL CONOCIMIENTO.
Basados en la definición de la gerencia del conocimiento como un proceso que debe apoyar a la empresa en la búsqueda de una posición competitiva y nuevas oportunidades, estos son una serie de objetivos y actividades que se deben cumplir dentro de la gerencia del conocimiento de una empresa.
Estrategias Gerenciales (10/02/2016).
2.3.2.1. OBJETIVOS:
(a) Formular una estrategia de alcance organizacional para el desarrollo, adquisición y aplicación del conocimiento.
(b) Implementar estrategias orientadas al conocimiento buscando el apoyo de los estamentos influyentes de la empresa.
(c) Promover el mejoramiento continuo de los procesos del negocio, enfatizando la generación y utilización del conocimiento.
(d) Monitorear y evaluar los logros obtenidos mediante la aplicación del conocimiento. Estrategias Gerenciales (10/02/2016).
2.3.2.2. ACTIVIDADES:
(a) Divulgación del conocimiento (por ejemplo, lecciones aprendidas, mejores prácticas, etc.) para que todos los miembros de la organización puedan utilizar el conocimiento en el contexto de sus actividades diarias.
(b) Asegurarse que el conocimiento está disponible en el sitio donde es más útil para la toma de decisiones.
(c) Asegurarse que el conocimiento está disponible donde lo necesitan los procesos del negocio.
(d) Facilitar la efectiva y eficiente generación de nuevo conocimiento (por ejemplo, actividades de investigación y desarrollo, aprendizaje a partir de casos históricos etc.).
(e) Asegurarse que el nuevo conocimiento está disponible para aquellas personas en la organización que realizan actividades basadas en ese nuevo conocimiento (por ejemplo, distribución de las lecciones aprendidas).
(f) Asegurarse que toda persona en la organización sabe dónde se encuentra disponible el conocimiento en la empresa.
Para que la gerencia del conocimiento tenga éxito, se deben combinar estas acciones con otras llevadas a cabo en diferentes partes de la organización y deben guardar coherencia entre sí. Los autores mencionados recalcan la necesidad de armonizar las acciones de la gerencia del conocimiento con los siguientes componentes de la organización:
(g) Estructura y cultura organizacional: Debe promoverse la creación de estructuras que faciliten el crecimiento de "comunidades con intereses afines", por ejemplo, grupos de profesionales que se relacionen informalmente debido a que se enfrentan a problemas comunes para los cuales buscan solución, constituyéndose a sí mismos en una fuente y depósito de conocimiento.
(h) Administración de personal: Se requiere sincronizar programas de entrenamiento, desarrollo, selección y reclutamiento, retención, ubicación, diseño de funciones, cambio cultural y motivación hacia la participación y creatividad, y la administración de todos los tipos de contratos de trabajo.
(i) Procesos del negocio: Es necesario generar proyectos de innovación de procesos y reingeniería tanto para hacer cambios radicales como para mantener el mejoramiento continuo.
(j) Aplicación de tecnología: Se debe tener a disposición herramientas que permitan realizar mapas de conceptos, bases de datos orientadas a objetos y con características multimediales, inteligencia artificial orientada a
la adquisición de conocimiento, a la representación del mismo, al soporte en toma de decisiones, a la minería de datos y a la difusión del conocimiento.
Estrategias Gerenciales (10/02/2016).
2.3.3. PRINCIPIOS DE GERENCIA DEL CONOCIMIENTO.
El profesor Thomas H. Davenport, de la Universidad de Texas, enfoca la gerencia del conocimiento desde un punto de vista pragmático al describir diez principios generales para el gerenciamiento del conocimiento, los cuales, una vez comprendidos por una organización, pueden servir de base para generar estrategias y tácticas detalladas. Estrategias Gerenciales (10/02/2016).
Los diez principios expuestos por Davenport son:
(a) Gerencial el conocimiento es costoso: El conocimiento es un activo, pero su administración efectiva requiere inversiones en otros activos. Existen muchas actividades particulares en la gerencia del conocimiento que requieren inversiones y esfuerzo, algunas de ellas son: Captura del conocimiento, por ejemplo: creación de documentos y transferencia de documentos a un sistema computarizado.
Adicionar valor al conocimiento mediante edición, compactación, empaquetamiento, entre otros. Desarrollar formas de categorización del conocimiento y categorizar nuevas contribuciones de conocimiento, desarrollar infraestructura y aplicaciones de tecnología de información para la
distribución del conocimiento y educar a los empleados en la creación, uso y formas de compartir el conocimiento. Estrategias Gerenciales (10/02/2016).
Aunque pocas firmas han calculado el costo de la gerencia del conocimiento, existen algunos estimativos: Robert Buckman, de Buckman Laboratories, estima que su firma gasta el 7% de sus ingresos en gerencia del conocimiento. McKinsey and Company esperan llegar a la meta de invertir el 10% de sus ingresos en desarrollo y gerencia de su capital intelectual. Estrategias Gerenciales (10/02/2016).
Sin embargo, mientras gerencial el conocimiento es costoso, la reflexión obvia es que no hacerlo es más costoso aún. ¿Cuál es el costo de la ignorancia? ¿Cuánto le cuesta a una organización olvidar lo que sus empleados clave saben, el no poder contestar oportunamente las preguntas de sus clientes, o tomar decisiones inapropiadas basadas en un conocimiento insuficiente?. Estrategias Gerenciales (10/02/2016).
2.3.4. RELACIÓN ENTRE GESTIÓN TECNOLÓGICA Y GERENCIA DEL CONOCIMIENTO.
Puesto que la tecnología es "conocimiento aplicado", no es de extrañar que los principios y actividades descritos para la gerencia del conocimiento, sean aplicables a la gestión de la tecnología. No obstante, en la práctica no siempre se reconoce este hecho, lo que lleva a pobres resultados y fracasos en tareas de transferencia de tecnología. Blog Sonia Alejandra Pérez (27/11/2016).
(A) SIMILITUDES.
En la definición tanto de la gerencia del conocimiento como en la de la gestión tecnológica, se observa concordancia en que juntas estas actividades buscan alcanzar los objetivos del negocio por medio de obtener y administrar el conocimiento o la tecnología que la empresa requiere para ser competitiva.
Las razones por las que se han desarrollado tanto la gerencia del conocimiento, como la gestión tecnológica, son las mismas: la empresa debe ser competitiva y enfrentarse a las presiones de un entorno cambiante y globalizado. Blog Sonia Alejandra Pérez (27/11/2016).
(B) CONTRASTES.
¿Es la gestión tecnológica parte de la gerencia del conocimiento, o es la gerencia del conocimiento un aspecto a tener en cuenta en la gestión tecnológica?
Para responder a esta pregunta se pueden considerar los siguientes argumentos:
(a) Según las definiciones comúnmente aceptadas, la tecnología es
"conocimiento aplicado".
(b) Los principios de la gerencia del conocimiento toman en cuenta las condiciones que tienen que darse para que el conocimiento se adquiera, se difunda, se utilice y se genere en la empresa, basándose en el proceso de
aprendizaje y la innovación. Estos principios, frecuentemente se pasan por alto en la gestión de tecnología por creer que no son necesarios o por no entender su impacto en los resultados de la gestión.
(c) La gestión de tecnología se basa en la premisa de que la tecnología se vuelve obsoleta y debe ser reemplazada, con lo que lecciones aprendidas en el pasado, sencillamente se dejan de un lado. La gerencia del conocimiento pretende mantener y reutilizar el conocimiento adquirido sobre la base de que el conocimiento no se hace obsoleto.
(d) Si los gerentes de las empresas enfocaran la adquisición de tecnología como un proceso de aprendizaje empresarial, serían menos propensos a menospreciar los presupuestos destinados a la capacitación y entrenamiento de sus trabajadores, y en cambio recibirían mayor productividad. Blog Sonia Alejandra Pérez (27/11/2016).
2.4. TECNOLOGÍA DE LICENCIAMIENTO FLEXNET.
2.4.1. DEFINICIÓN.
FlexNet le da a la producción de aplicaciones todas las características de seguridad lógica para luchar contra la piratería de software y aumentan los ingresos habilitando fácilmente nueva, empaque y precios modelos de licencias y la activación de software. Es compatible con el espectro de licencias software completo, de aplicación estricta a la confianza basada en el uso, verifica y permite la protección de software, monetización y
cumplimiento bajo criterios de nube, Software as a Service (SaaS, es un modelo de distribución de software donde el software y los datos se alojan en servidores del proveedor y se accede con un navegador web a través de Internet). PORTALSAAS (10/02/2016).
2.4.2. EVOLUCIÓN DE LA TECNOLOGÍA FLEXNET.
Version 1.0—1988
Primera versión de FLEXLM, contiene todas las características básicas de FLEXLM.
Versión 1.5—Febrero 1990
Primera Versión que incluye licencias DEMO
Versión 2.1—Marzo 1991
Mejorado el soporte de TIMEOUT
Mejorado el soporte del Ethernet hostid
Versión 2.21—Noviembre 1991
Se ha añadido soporte para muchas plataformas y algunas mejoras específicas de la plataforma, tales como identificador de Hostid.
Agregar cualquier Hostid
Versión 2.26—Marzo 1992 (Usado solo por Sun Microsystem (Empresa comprada por Oracle)).
Added license lingering