Your SlideShare is downloading. ×
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Proyecto de sistemas de información
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Proyecto de sistemas de información

967

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
967
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
38
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. UNIVERSIDAD ALAS PERUANAS FACULTAD DE INGENIERÍAS Y ARQUITECTURAESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS E INFORMÁTICA PROYECTO DE SISTEMAS DE INFORMACIÓN II PROTOTIPO DE UNA HERRAMIENTA PARAINTEROPERATIVIDAD DE SISTEMAS HETEROGÉNEOS, UTILIZANDO UNA PLATAFORMA WEB PRESENTADO POR EL ALUMNO MICHAEL PINEDA ARRATIA DOCENTE Ing. Jose Ayala Pineda AREQUIPA - PERÚ 2006 1
  • 2. INTRODUCCIÓNLas empresarios empezaron a tener una creciente necesidad de contar consistemas de información, para poder dar solución a los problemas que sepresentaban al interior de sus empresas, es así que empezaron a adquirirsistemas de información, sin tomar en cuenta que estaban creando una red desistemas incompatibles entre si. Generando lo que hoy se conoce como sistemasheterogéneos, sistemas que no pueden comunicarse, interactuar ni trabajar entresi, dando origen a un nuevo problema para las empresas, laINTEROPERATIVIDAD DE SISTEMAS HETEROGENEOS.En el presente Proyecto de sistemas de Información, se propone dar una posiblesolución a aquel problema de Interoperatividad, creando una herramienta que seacapaz de poder comunicar dos diferentes plataformas, sistemas, bases de datos;para poder tener una única información integrada, que sea útil para las personasque tiene las obligación de tomar una decisión en sus labores cotidianas. 2
  • 3. CAPÍTULO I PLANTEAMIENTO DEL PROBLEMA1.1 Descripción de la Realidad Problemática Las empresas actualmente cuentan con una serie de sistemas que fueron adquiriendo conforme crecían sus necesidades, es así que cada sistema brinda cierta información específica. Las empresas empiezan a necesitar que su información este agrupada, para poder contar con información de diferentes sistemas y que por lo tanto esta sirva como fuente de apoyo y consulta a la hora de tomar decisiones. El problema que presentan es no poder juntar la información que se encuentran en diferentes sistemas, bases de datos, plataformas, etc. Y por lo tanto incurren en tiempo y dinero en tratar de reunir la información, para que esta sea fuente de decisiones.1.2 Delimitaciones y Definición del Problema 1.2.1 Delimitaciones: A. Delimitación Espacial. Mi campo para la elaboración de mi prototipo es una empresa que cuenta con sistemas en plataformas AS400, Linux y Windows. B. Delimitación Temporal. Primera fase. Tendrá un tiempo de duración de 4 meses, desde el mes de Agosto del 2005 al mes de Diciembre del 2005. 3
  • 4. C. Delimitación social. Dentro de la limitación social del presente proyecto, esta orientado a la parte gerencial, estratégica de la empresa. El desarrollo de este prototipo es una solución a la limitación de los gerentes acerca de comprar o desarrollar una tecnología que realice una homogenización de plataformas por su alto costo y por lo tanto existe un rechazo a las nuevas tecnologías D. Delimitación conceptual. Interoperatividad Capacidad de los programas de ordenador para intercambiar información y utilizar mutuamente la información así intercambiada1.2.2 Definición del Problema El problema que se presenta en las empresas que empezaron a desarrollar o comprar software, es que tienen sus sistemas en diferentes plataformas, y a su vez en diversos entornos de desarrollo (Lenguajes de programación), impidiendo que se pueda tener una comunicación entre ellas, además que la información útil, se encuentra ubicada en distintos sistemas transaccionales; bases de datos, sistemas de ficheros, etc, no pudiéndose ser utilizada en conjunto o en un momento que así se requiera. En un caso especial, en una empresa dedicada al rubro textil que cuenta con sistemas de información en diferentes plataformas, y que se requiere una integración de datos para poder generar información a un nivel estratégico para la empresa 4
  • 5. 1.3 Formulación del Problema. 1.3.1 Problema principal. El contar con sistemas diversificados por factores como plataformas y entornos de desarrollo heterogéneos, hace perder la integridad de la información que maneja la empresa, lo cual redunda en una evaluación tediosa e individualizada por las áreas que enfoca cada aplicativo.1.4 Objetivo de la Investigación 1.4.1 Objetivo Principal Generar una aplicación en plataforma web, que resuelva el problema de interacción de la información, por interoperatividad. 1.4.2 Objetivos Específicos A. Obtener una mejor estructura de información, que permita una mejor usabilidad de la información por un entorno amigable y fácil de entender. B. Optimización de tiempo de acceso a la información por parte del usuario, obteniendo una mejora en la producción. C. Desarrollar un modelo de integración de información. D. Desarrollar un componente (Middelware) utilizando tecnología web, que logre la Interoperatividad de sistemas heterogéneos.1.5 Hipótesis de la investigación. La interoperatividad de sistemas heterogéneos es posible ser solucionado con la tecnología Web, logrando una plataforma homogénea y obteniendo una herramienta integradora de información que sea de soporte para la toma de decisiones. 5
  • 6. 1.6 Variables e Indicadores 1.6.1 Variable Dependientes e Independientes Variables Dependientes Variables Independientes VD 1.Estructura de información VI 1.Mantenibilidad VD 2.Producción VI 2.Tiempo VI 3.Eficiencia VD 3.Modelo de integración de VI 4.Calidad de uso información VI 5.Confiabilidad VI 6.Usabilidad VD 4.Componente Middleware VI 7.Comunicación de datos VI 8.Actualización de datos VI 9.Facilidad de Operación VI 10.Seguridad, privacidad, auditibilidad. Cuadro Nº1. Variables Dependientes e Independientes 1.6.2 Indicadores Según Variables Dependientes e Independientes VD 1.Estructura de información VI 1.Mantenibilidad Características Puntuación Capacidad de ser analizado 4 Estabilidad 3 Reparabilidad 3 Tipo de medición: Nominal por descripción por mantenibilidad Cálculo de Valor: promedio por mantenibilidad 6
  • 7. VD 2.Producción VI 2.Tiempo (Tiempo de respuesta- segundos) Descripción Puntuación 2–4 10 5–7 6 8 – 10 4 11 – mas 1 Tipo de medición: Por intervalo Cálculo de Valor: promedio por tiempo de respuesta VI 3.Eficiencia Descripción Puntuación Comportamiento temporal 5 Conformidad de eficiencia 5 Tipo de medición: nominal por descripción de eficiencia Cálculo de Valor: promedio por eficienciaVD 3.Modelo de integración de información VI 4.Calidad de uso Descripción Puntuación Eficacia 2.5 Productividad 2.5 Seguridad 2.5 Satisfacción 2.5 Tipo de medición: nominal por descripción por calidad de uso Cálculo de Valor: promedio por calidad de uso VI 5.Confiabilidad Descripción Puntuación Disponibilidad 2.5 Fiabilidad 2.5 Seguridad 2.5 Protección 2.5 7
  • 8. Tipo de medición:nominal por descripción por confiabilidad Cálculo de Valor: promedio por confiabilidad VI 6.Usabilidad Descripción Puntuación Entendimiento 2.5 Operabilidad 2.5 Atracción 2.5 Conformidad de uso 2.5 Tipo de medición: Nominal por descripción por usabilidad Cálculo de Valor: Promedio por usabilidadVD 4.Componente Middleware VI 7.Comunicación de datos Descripción Puntuación Establece comunicación 5 No establece comunicación 5 Tipo de medición: Por intervalo Cálculo de Valor: Promedio por comunicación de datos VI 8.Actualización de datos Descripción Puntuación Actualización En línea de ficheros de control. 5 Actualización En línea de ficheros importantes internos. 5 Tipo de medición: Por intervalo Cálculo de Valor: promedio por actualización de datos VI 9.Facilidad de Operación 8
  • 9. Descripción Puntuación Muy fácil 10 Fácil 8 Complejo 6 Tipo de medición: por intervalo Cálculo de Valor: promedio por facilidad de operación VI 10.Seguridad, privacidad, auditibilidad Descripción Puntuación Privacidad 3 Auditibilidad 4 Prevencion de perdidas 1 Encriptacion 2 Tipo de medición: nominal por descripción por Seguridad, privacidad, auditibilidad Cálculo de Valor: promedio por Seguridad, privacidad, auditibilidad1.7 Viabilidad de la investigación. 1.7.1 Viabilidad técnica En la parte del Hardware se cuenta con: - Una computadora Pentium IV con un Procesador de 2.4 Ghz., Memoria 256 Mb. En la parte del Software se cuenta con: - Linux: Tomcat, a demás de Windows XP Profesional - Lenguajes de desarrollo: Java - Windows XP. - Base de Datos Postgres y DB2 1.7.2 Viabilidad operativa. 9
  • 10. Conocimiento intermedio en análisis y diseños de sistemas, conocimientos en programación básica en php, asp y en inicios de aprendizaje del lenguaje java script. Además del asesoramiento metodológico del Msc. Ing. José Ayala y asesoramiento técnico del Msc. Ing. José Ayala Pineda e Ing. Alfredo Saire 1.7.3 Viabilidad económica. Los costos de la realización del prototipo serán asumidos por el autor del proyecto1.8 Justificación e Importancia de la Investigación. 1.8.1 Justificación: La realización de este proyecto de información es que se pueda utilizar la tecnología Web para dar solución a diferentes problemas de interoperatividad de sistemas heterogéneos, aprovechando la tecnología Web. Dado que las empresas necesitan de información integrada y adecuada, que se fundamenta en sus decisiones y rumbos de la empresa, es que se requiere de un medio (Sistema) que permita darles lo que ellos necesitan, pero que no les implique altos costos en su integración, es así que se pretende lograr esa integración con tecnología que ya existe y que se convierte en un estándar, a un mínimo costo para la empresa y que le traerá grandes beneficios. 1.8.2 Importancia. 10
  • 11. Tener buena información que se exacta y confiable es lo que hace que las empresas tomen buenas decisiones, y las empresas que no logran llegar a ese nivel son consumidas por la competencia. A demás una empresa tiene que estar apoyado por TI y SI para el buen desarrollo empresarial, y si se obtiene TI/SI de bajo coste y grandes resultados, los beneficios serian realmente importante por que se estará adelantando a la competencia al menos en soporte tecnológico.1.9 Limitaciones de la Investigación 1.9.1 Limitaciones del tema de investigación.- No se cuenta con mucha información relevante al tema, lo cual se suplirá con el asesoramiento técnico, así como la investigación bibliográfica. La presente investigación esta dirigido a desarrollar una herramienta que integre sistemas, plataformas que acepte tecnología Web, como es el caso de la empresa textil en mención. 1.9.2 Limitaciones del Investigador.- Poca experiencia práctica en la programación de aplicaciones Web.1.10Tipo y Nivel de la Investigación 1.10.1 Tipo de investigación. Aplicada 1.10.2 Nivel de investigación. 11
  • 12. Correlacional1.11Método y Diseño de la investigación 1.11.1 Método de la investigación. Métricas Versión 3 1.11.2 Diseño de la investigación. Experimental1.12Técnicas e Instrumentos de Recolección de Información 1.12.1 Técnicas. - Análisis Documental - Entrevista 1.12.2 Instrumentos. - Guías de entrevista - Fichas (resumen, acotaciones, anotaciones)1.13Cobertura de Estudio 1.13.1 Universo. Todas las empresas que cuenten con sistemas heterogéneos (AS 400, Linux, Windows, Solaris, Netware, Mac, etc) 1.13.2 Muestra 12
  • 13. Empresa textil con sistema heterogéneo, aún por establecer elpermiso de nombre 13
  • 14. 1.14Cronograma y Presupuesto: 1.14.1 Cronograma. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 PSI EVS ASI DSI CSI IASOBJ. A B C D Cuadro N°2 Cronograma Leyenda PSI PLANIFICACION DE SISTEMA DE INFORMACION EVS ESTUDIO DE VIABILIDAD DEL SISTEMA ASI ANALISIS DE SISTEMA DE INFORMACION DSI DISEÑO DE SISTEMA DE INFORMACION CSI COSNTRUCCION DE SISTEMA DE INFOAMCION IAS IMPLANTACION Y ACEPATACION DEL SISTEMA 14
  • 15. 1.14.2 Presupuesto. Capital Recursos Recursos Propio Financiados AutogeneradosACTIVIDAD TotalPLANIFICACION DE SISTEMA DE INFORMACION 1206 1206ESTUDIO DE VIABILIDAD DEL SISTEMA 531 531ANALISIS DE SISTEMA DE INFORMACION 279 279DISEÑO DE SISTEMA DE INFORMACION 873 873COSTRUCCION DE SISTEMA DE INFORMACION 738 738IMPLANTACION Y ACEPATACION DEL SISTEMA 513 513 Cuadro N° 3 Presupuesto Cuadro N° 4 Analisis VAN TIR 15
  • 16. CAPÍTULO II MARCO TEÓRICO2.1 Antecedentes de la Investigación 2.1.1 Jaber Jabber es un protocolo abierto basado en el estándar XML para el intercambio en tiempo real de mensajes y presencia entre dos puntos en Internet. La principal aplicación de la tecnología Jabber es una extensible plataforma de mensajería y una red de MI (Mensajería Instantánea) que ofrece una funcionalidad similar a la de otros sistemas como AIM, ICQ, MSN Messenger y Yahoo. Jabber destaca porque es distinto: o Es abierto, el protocolo de Jabber es gratuito, abierto, público y comprensible. Además, existen múltiples implementaciones de código abierto para Servidores Jabber (consulta la lista de servidores públicos) como numerosos clientes y librerías de desarrollo. o Es extensible, usando el potencial del lenguaje XML, cualquiera puede extender el protocolo de Jabber para una funcionalidad personalizada. Claro que para mantener la interoperatibilidad, las extensiones comunes son controladas por la Jabber Software Foundation. o Es descentralizado, cualquiera puede montar su propio servidor de Jabber, además está libre de patentes y no depende de ninguna empresa de modo que se puede usar ahora y siempre con total libertad. o Es seguro, cualquier servidor de Jabber puede ser aislado de la red pública Jabber, cualquier implementación del servidor 16
  • 17. usa SSL para las comunicaciones cliente-servidor y numerosos clientes soportan PGP-GPG para encriptar las comunicaciones de cliente a cliente. Además, está en desarrollo una seguridad más robusta gracias al uso de SASL y contraseñas de sesión. Jabber puede crear confusión en un principio respecto a otros sistemas de mensajería instantánea porque habitualmente, en otros IM, se identifica el cliente con el protocolo. En el caso de Jabber esto no es así: existe un protocolo y cada uno de los clientes es una implementación.2.1.2 Samba Samba es una suite de aplicaciones GNU/Linux (o Unix) que habla el protocolo SMB (Server Message Block). Muchos sistemas operativos, incluídos Windows y OS/2, usan SMB para operaciones de red cliente-servidor. Mediante el soporte de este protocolo, Samba permite a los servidores Unix entrar en acción, comunicando con el mismo protocolo de red que los productos de Microsoft Windows. De este modo, una máquina Unix con Samba puede enmascararse como servidor en tu red Microsoft y ofrecer los siguientes servicios: • Compartir uno o más sistemas de archivos. • Compartir impresoras, instaladas tanto en el servidor como en los clientes. • Ayudar a los clientes, con visualizador de Clientes de Red. • Autentificar clientes logeándose contra un dominio Windows. • Proporcionar o asistir con un servidor de resolución de nombres WINS. 17
  • 18. Samba es la idea de Andrew Tridgell, quien actualmente lidera el equipo de desarrollo de Samba development desde su casa de Canberra, Australia. El proyecto nació en 1991.2.2 Marco Histórico. 2.2.1.Workflow El Flujo de trabajo (workflow en inglés) es el estudio de los aspectos operacionales de una actividad de trabajo: cómo se estructuran las tareas, cómo se realizan, cuál es su orden correlativo, cómo se sincronizan, cómo fluye la información que soporta las tareas y cómo se le hace seguimiento al cumplimiento de las tareas. Generalmente los problemas de flujo de trabajo se modelan con redes de Petri. Si bien el concepto de flujo de trabajo no es específico a la tecnología de la información, una parte esencial del software para trabajo colaborativo (groupware) es justamente el flujo de trabajo. 2.2.2.Sistemas de workflow El propósito de los sistemas de workflow es acercar personas, procesos y máquinas, con el objeto de reducir tiempo y acelerar la realización de un trabajo. Estos sistemas permiten trabajar en equipo desde diferentes lugares físicos. Los sistemas de workflow facilitan la automatización de los flujos de trabajo entre procesos y permiten integrar los procesos de la empresa, rediseñados de acuerdo con ayuda de nuevas estrategias. 2.2.3.Business Process Management 18
  • 19. Disciplina empresarial cuyo objetivo es mejorar la eficiencia a través de la gestión sistemática de los procesos de negocio (BPR), que se deben modelar, automatizar, integrar, monitorizar y optimizar de forma continua. Básicamente son servicios y herramientas que soportan la administración explicita de procesos: análisis, definición, ejecución y monitorización, etc. Existen diversos motores que mueven la gestión de Procesos de Negocio (BPM), dichos motores son: • Extensión del programa institucional de calidad • Cumplimiento de legislaciones • Crear nuevos y mejores procesos • Entender que se está haciendo bien o mal a través de la compresión de los procesos • Documentar procesos para outsourcing y definición de SLA (Service Level Agreement) • Automatización de procesos • Crear y mantener las cadenas de valor2.2.4.JDBC La conectividad de la base de datos de Java (JDBC , Java Database Connectivity) es un marco de programación para los desarrolladores de Java que escriben los programas que tienen acceso a la información guardada en bases de datos, hojas de calculo, y archivos "planos". JDBC se utiliza comúnmente para conectar un programa del usuario con una base de datos por “detrás de la escena”, sin importar qué software de administración o manejo de base de datos se utilice para controlarlo. De esta manera, JDBC es una plataforma- cruzada . Este artículo proporcionará un código de introducción que 19
  • 20. demuestra el acceso a la base de datos de los programas de Java que utilizan las clases JDBC API, que está disponible para la transferencia directa libre del sitio de Sun™. Una base de datos que conecta con otros programas se llama fuente de datos. Muchas fuentes de datos, incluyendo los productos producidos por Microsoft y Oracle, utilizan ya un estándar llamado conectividad abierta de la base de datos” (ODBC, Open Database Connectivity). Mucho de la herencia en la programación en C y de los programas del Perl utilizan ODBC para conectar con las fuentes de datos. El ODBC consolidó mucha de la concordancia entre los sistemas de administración de base de datos. Las estructuras de JDBC están construidos en esta característica, e incrementa el nivel de abstracción. Los puentes de JDBC-ODBC se han creado para permitir que los programas de Java conecten con el software compatible ODBC de la base de datos.2.3 Marco Conceptual 2.3.1.Midleware Convencional Las tecnologías middleware son herramientas para abordar la interacción entre aplicaciones distribuidas y heterogeneas. Se presentan las tecnologías de integración de aplicaciones como un concepto distinto, aunque relacionado con las tecnologías middleware. Workflow management Systems (WFMs) para de hacer explícita la lógica de integración. Los broker de mensajes ocultan la heterogeneidad y los aspectos de distribución y los WFMSs facilitan la gestión y mantenimiento de la lógica de integración Finalmente se 20
  • 21. presentan las tecnologías básicas que permiten integrar aplicaciones en la Web.2.3.2.Sistemas de Gestión Sistemas de Gestión Workflow Workflow (WfMS) Un sistema que define, crea y gestiona automáticamente la ejecución de modelos workflow mediante el uso de uno o más motores workflow que se encargan de interpretar la definición de procesos(mapa workflow), interactuaron los agentes y, cuando se requiera, invocar el uso de los sistemas de información implicados en el trabajo Estándares Workflow • Tendencias iniciales (procesos y API) • Tendencias presentes (objetos) o WfMC(Workflow Management Coalition) o WARIA (Workflow & Reingineering International Asociation) o OMG(Object Management Group) • Ultimas tendencias o Desarrollo de Ontologias o XML –RDF o Introducción a los métodos formales2.3.3.Sistema Heterogéneo Son aquellos elementos que cuentan con características físicas y operativas distintas entre si, pero cuentan con medios comunes que le permiten comunicarse e interactuar entre si.2.3.4.Plataforma de heterogeneidad 21
  • 22. La heterogeneidad de basa en gran numero de dispositivos y medio conectados, como software de comunicación y sistemas operativos disponibles en una red que no posea una base homogénea. Pero la forma de comunicarse de un sistema heterogéneo que tiene HW y SW distinto, es por medios comunes (estándares) para su comunicación e interacción2.3.5.Tomcat (también llamado Jakarta Tomcat o Apache Tomcat). Funciona como un contenedor de servlets desarrollado bajo el proyecto Jakarta en la Apache Software Foundation. Tomcat implementa las especificaciones de los servlets y de JavaServer Pages (JSP) de Sun Microsystems. Se le considera un servidor de aplicaciones.2.3.6.METRICAS VERSION 3 A. Planificación de Sistemas de Información (PSI) El objetivo de un Plan de Sistemas de Información es proporcionar un marco estratégico de referencia para los Sistemas de Información de un determinado ámbito de la Organización. El resultado del Plan de Sistemas debe, por tanto, orientar las actuaciones en materia de desarrollo de Sistemas de Información con el objetivo básico de apoyar la estrategia corporativa, elaborando una arquitectura de información y un plan de proyectos informáticos para dar apoyo a los objetivos estratégicos. Por este motivo es necesario un proceso como el de Planificación de Sistemas de Información, en el que participen, por un lado los responsables de los procesos de la organización con una visión estratégica y por otro, los profesionales de SI capaces de enriquecer dicha visión con la aportación de ventajas competitivas por medio de los sistemas y tecnologías de la información y comunicaciones. 22
  • 23. B. Desarrollo de Sistemas de InformaciónEl proceso de Desarrollo de MÉTRICA Versión 3 contiene todas lasactividades y tareas que se deben llevar a cabo para desarrollar unsistema, cubriendo desde el análisis de requisitos hasta la instalacióndel software. Además de las tareas relativas al análisis, incluye dospartes en el diseño de sistemas: arquitectónico y detallado. Tambiéncubre las pruebas unitarias y de integración del sistema. EnMÉTRICA Versión 3 se han abordado los dos tipos de desarrollo:estructurado y orientado a objeto, por lo que ha sido necesarioestablecer actividades específicas a realizar en alguno de losprocesos cuando se utiliza la tecnología de orientación a objetos.Para este último caso se ha analizado alguna de las propuestas deotras metodologías orientadas a objetos y se han tenido en cuenta lamayoría de las técnicas que contempla UML 1.2 (Unified ModelingLanguage).El desarrollo en MÉTRICA Versión 3 lo constituyen los procesos:a. ESTUDIO DE VIABILIDAD DEL SISTEMA (EVS).El propósito de este proceso es analizar un conjunto concreto denecesidades, con la idea de proponer una solución a corto plazo. Loscriterios con los que se hace esta propuesta no serán estratégicossino tácticos y relacionados con aspectos económicos, técnicos,legales y operativos. Los resultados del Estudio de Viabilidad delSistema constituirán la base para tomar la decisión de seguiradelante o abandonar. Si se decide seguir adelante pueden surgiruno o varios proyectos que afecten a uno o varios sistemas deinformación. Dichos sistemas se desarrollarán según el resultadoobtenido en el estudio de viabilidad y teniendo en cuenta la carterade proyectos para la estrategia de implantación del sistema global. 23
  • 24. b. ANÁLISIS DEL SISTEMA DE INFORMACIÓN (ASI).El propósito de este proceso es conseguir la especificación detalladadel sistema de información, a través de un catálogo de requisitos yuna serie de modelos que cubran las necesidades de información delos usuarios para los que se desarrollará el sistema de información yque serán la entrada para el proceso de Diseño del Sistema deInformación.Como ya se ha dicho MÉTRICA Versión 3 cubre tanto desarrollosestructurados como orientados a objetos, y las actividades de ambasaproximaciones están integradas en una estructura común aunquepresenta alguna actividad exclusiva para cada tipo de desarrollo.c. DISEÑO DEL SISTEMA DE INFORMACIÓN (DSI).El propósito del Diseño del Sistema de Información (DSI) es obtenerla definición de la arquitectura del sistema y del entorno tecnológicoque le va a dar soporte, junto con la especificación detallada de loscomponentes del sistema de información. A partir de dichainformación, se generan todas las especificaciones de construcciónrelativas al propio sistema, así como la especificación técnica delplan de pruebas, la definición de los requisitos de implantación y eldiseño de los procedimientos de migración y carga inicial, éstosúltimos cuando proceda. El diseño de la arquitectura del sistemadependerá en gran medida de las características de la instalación, demodo que se ha de tener en cuenta una participación activa de losresponsables de Sistemas y Explotación de las Organizaciones paralas que se desarrolla el sistema de información.d. CONSTRUCCIÓN DEL SISTEMA DE INFORMACIÓN (CSI).La construcción del Sistema de Información (CSI) tiene como objetivofinal la construcción y prueba de los distintos componentes delsistema de información, a partir del conjunto de especificaciones 24
  • 25. lógicas y físicas del mismo, obtenido en el Proceso de Diseño delSistema de Información (DSI). Se desarrollan los procedimientos deoperación y seguridad y se elaboran los manuales de usuario final yde explotación, estos últimos cuando proceda. Para conseguir dichoobjetivo, se recoge la información relativa al producto del diseñoEspecificaciones de construcción del sistema de información, seprepara el entorno de construcción, se genera el código de cada unode los componentes del sistema de información y se van realizando,a medida que se vaya finalizando la construcción, las pruebasunitarias de cada uno de ellos y las de integración entre subsistemas.e. IMPLANTACIÓN Y ACEPTACIÓN DEL SISTEMA (IAS).Este proceso tiene como objetivo principal, la entrega y aceptacióndel sistema en su totalidad, que puede comprender varios sistemasde información desarrollados de manera independiente, según sehaya establecido en el proceso de Estudio de Viabilidad del Sistema(EVS), y un segundo objetivo que es llevar a cabo las actividadesoportunas para el paso a producción del sistema. Se establece elplan de implantación, una vez revisada la estrategia de implantacióny se detalla el equipo que lo realizará. Para el inicio de este procesose toman como punto de partida los componentes del sistemaprobados de forma unitaria e integrados en el proceso Construccióndel Sistema de Información (CSI), así como la documentaciónasociada. El Sistema se someterá a las Pruebas de Implantación conla participación del usuario de operación cuya responsabilidad, entreotros aspectos, es comprobar el comportamiento del sistema bajo lascondiciones más extremas. También se someterá a las Pruebas deAceptación cuya ejecución es responsabilidad del usuario final.C. Mantenimiento de Sistemas de Información (MSI) 25
  • 26. El objetivo de este proceso es la obtención de una nueva versión deun sistema de información desarrollado con MÉTRICA, a partir de laspeticiones de mantenimiento que los usuarios realizan con motivo deun problema detectado en el sistema o por la necesidad de unamejora del mismo. Como consecuencia de esto, sólo se consideraránen MÉTRICA Versión 3 los tipos de Mantenimiento Correctivo yEvolutivo. Se excluyen los tipos de Mantenimiento Adaptativo yPerfectivo, que abarcan actividades tales como la migración y laretirada de software que precisarían el desarrollo de un tipo demetodología específica para resolver su cometido. Ante una peticiónde cambio de un sistema de información ya en producción, se realizaun registro de las peticiones, se diagnostica el tipo de mantenimientoy se decide si se le da respuesta o no, en función del plan demantenimiento asociado al sistema afectado por la petición, y seestablece con qué prioridad. 26
  • 27. CAPÍTULO III CONSTRUCCION DE LA HERRAMIENTA3.1 Generalidades El prototipo que se construye trata de probar que usando tecnología Web ya existente se puede crear una herramienta intermediaria, denominado Middleware, y sirva como una plataforma única de comunicación y que los sistemas que se encuentran en diferentes plataformas denominados, “sistemas heterogéneos”, puedan formar parte de una unica plataforma tecnológica, de tal manera el prototipo pueda hacer interactuar los sistemas de información, bases de datos, de las empresas como si fuesen uno solo, ahorrando dinero, tiempo y recursos de las empresas. Para el presente trabajo se utilizara deiferentes herramientas que nos permitan construir el prototipo. Lenguaje de Modelamiento Unificado (UML). Herramienta “Racional Rose 2000” J2SE Runtime Enviroment – Java Apache – Tomcat 5.5.163.2 Estudios de Factibilidad 3.2.1 Factibilidad técnica - Contar con una Computadora con todas las configuraciones y herramientas necesarias para el desarrollo de la aplicación. - El SW de desarrollo en este caos es Java - Contar con la herramienta CASE que soporte METRICAS VERSION 3. 3.2.2 Factibilidad operativa 27
  • 28. La factibilidad operativa esta garantizada, por que en la actualidad muchas empresas no cuentan con un software que solucione estos problemas, además que cuentan con personal que esta familiarizada con herramientas computacionales evitando así, su rechazo al uso de la presente herramienta. El sistema propuesto se ajusta a los requerimientos propuestos por el (los) usuarios, y para mayor garantía del uso del sistema en mención se realizará una capacitación para el personal destinado al uso de la herramienta.3.2.3 Factibilidad económica Para una mejor explicaron de la factibilidad económica, será dividida en tres etapas como nos especifica la metodología de METRICAS VERSION 3. A. FASE DE ANALISIS Para un mejor entendimiento se mostrara un cuadro de gastos. g B. FASE DE DISEÑO Para un mejor entendimiento se mostrara un cuadro de gastos. 28
  • 29. C. FASE DE CONSTRUCCION Para un mejor entendimiento se mostrara un cuadro de gastos.3.3 Análisis del Sistema3.3.1 Requerimientos del Sistema. A. Requisitos Funcionales 29
  • 30. Los requisitos funcionales especifican que es lo que el usuario quiere que el sistema haga para el. B. Requisitos no Funcionales Tener Instalado el jdk-1_5_0_01JDK apache-tomcat-5.5.163.4 Diseño de la Herramienta3.4.1 Diagrama de Contexto A. Diagrama de Caso de Uso Genérico 30
  • 31. Grafico N° 1. Diagrama Caso de uso Genérico CDU-00Caso de Uso Validar Usuario 1Actores Usuario Verificar que el usuario tengaResumen los acceso respectivosTipo PrimarioReferenciaReferencias CruzadasFlujos Normales Actor Sistema1. El usuario se valida 2. Realiza la búsqueda de usuario3. Llena usuario y contraseña 4. Devuelve Conformidad de validación 5. Ingresa al prototipoFlujos Alternativos :4. En caso de no ser el usuario o clave correcta, el sistema nodará el acceso debido CDU-00Caso de Uso Conectar BD 2 Usuario y SistemaActores Heterogeneo Generan el acceso a las Bases de DatosResumen correspondientesTipo PrimarioReferenciaReferencias CruzadasFlujos Normales Actor Sistema1. El usuario genera la 3. Realiza la conexiónpetición de conexión 4. Realiza la petición generada2. El sistema heterogéneogenera las reglas de negocioIncluye: JDBCEs un modelo que permite al sistema realizar instancia hacialas bases de datos correspondientes 31
  • 32. CDU-00Caso de Uso Visualizar Selección 3Actores Usuario Verificación de que losResumen resultados sena los esperadosTipo PrimarioReferenciaReferencias CruzadasFlujos Normales Actor Sistema1. El usuario comprueba la 2. Visualiza la peticiónselección de la peticiónExtend: ImprimirSi el usuario lo desea puede imprimir los resultadosExtend: Modificar GuardarPodrá modificar la selección realizada u operaciónFlujos Alternativos :1. En caso de no ser los resultados esperados cancela laoperación. 32
  • 33. B. C. Grafico N° 2. Diagrama Caso de uso: Conectar BD CDU-00Caso de Uso cDatos 4Actores Sistema Heterogéneo Muestra la conexión a lasResumen bases de datosReferencia CDU 002Flujos Normales Actor Sistema1. El sistema le manda un 2. decepcionar el parámetroparámetro de nominado “tipo” y procesar la petición“Tipo” donde indica el driver, hacia que base de datos debeurl, user y password del conectarsesistema y la base de datos aconectarIncluye: JDBCEl JDBC verifica que el driver coincida con la base de datosque se desea conectar.Include: ConfigAquí realiza la configuración de todas las bases existentepara el prototipo, con los parámetros Driver, URL, user, paswFlujos Alternativos :1. En caso de que el parámetro tipo no sea el adecuado nopodrá hacer ninguna conexión 33
  • 34. B. Diagrama de Actividades 1. Validar Usuario Grafico N°3 Diagrama de actividades: Validar Usuario 2. Conectar Base de datos Grafico N°4 Diagrama de actividades: Conectar BD 34
  • 35. C. Diagrama de Clases Grafico N°5 Diagrama de Clases 35
  • 36. D. Diagrama de Estados 1. cUsuarios Grafico N°6 Diagrama de Estados: cUsuarios 2. cNegocioGrafico N°7 Diagrama de Estados: cNegocio 36
  • 37. 3. cDatosGrafico N°8 Diagrama de Estados: cDatos 37
  • 38. E. Diagrama de Secuencia 1. Verificar UsuarioC.Grafico N°9 Diagrama de Secuencia: Usuario 38
  • 39. 2. Conectar Base de DatosGrafico N°10 Diagrama de Secuencia: Conectar Base de datosF. Diagrama de Colaboración 1. Verificar Usuario. 39
  • 40. Grafico N°11 Diagrama de Colaboracion: Usuario 2. Conectar Base de Datos 40
  • 41. Grafico N°9 Diagrama de Colaboracion: base de datos 41
  • 42. G. Diagrama de ComponentesGrafico N°13 Diagrama de ComponenetesH. Diagrama de DespliegueGrafico N°14 Diagrama de Despliegue 42
  • 43. 3.4.2 Diseño de Pantallas LISTADOImagen N°1 Listado Listado de Requisiciones Imagen N° 2 Articulos 43
  • 44. NUEVA REQUISICION Imagen N° 3 Nueva requisicionINGRESO DE NUEVO REGISTRO Imagen N° 4 ingreso de Nuevo registro 44
  • 45. 3.5 CodificaciónCLASESCAPA DE DATOSClase “cDatos”package datos;import java.util.*;import java.io.BufferedReader;import java.io.FileReader;import java.sql.*;public class cDatos { private String driver = ""; private String url = ""; private String user = ""; private String pasw = ""; private Connection db; public cDatos(String tipo) { readConfig( tipo ); } public void openConnection() { try{ Class.forName(driver); this.db = DriverManager.getConnection( url, user, pasw ); }catch(Exception e){ e.printStackTrace(); } } // cierra la conexion a la BD public void closeConnection() { try{ // cierra la conexion this.db.close(); }catch(SQLException e){ e.printStackTrace(); } } 45
  • 46. // convierte un ResultSet a un Vectorprivate Vector ResultSetToVector(ResultSet rs) throws SQLException { Vector vRows = new Vector(); // lee registro por registro while(rs.next()){ Vector vCol = new Vector(); // lee cada campo del query int nroFields =rs.getMetaData().getColumnCount(); for(int i = 1 ; i<=nroFields ; i++){ String strTmp = rs.getString(i); vCol.add(strTmp); } vRows.add(vCol); } return vRows;}// ejecuta delete,insert ó updatepublic void performance(String str){ try{ // crea el statement Statement stmt = this.db.createStatement(); // ejecuta el update stmt.executeUpdate(str); //cierra statement stmt.close(); } catch(SQLException e){ e.printStackTrace(); }}public void performance(String str, String aParam[] ){ PreparedStatement pstm; try{ // crea el statement pstm = this.db.prepareStatement( str ); // ejecuta el update for ( int xc=0 ; xc < aParam.length ; xc ++ ) pstm.setString( xc+1, aParam[xc] ); pstm.executeUpdate(); //cierra statement pstm.close(); } catch(SQLException e){ e.printStackTrace(); } } 46
  • 47. // ejecuta solo los query public Vector query(String strQuery){ Vector vRet = null; try{ // crea el statement Statement stmt = this.db.createStatement(); // ejecuta el query ResultSet rs = stmt.executeQuery(strQuery); // convierte el ResultSet to Vector vRet = ResultSetToVector(rs); // cierra el ResultSet rs.close(); // cierra el statement stmt.close(); }catch(SQLException e){ e.printStackTrace(); } return vRet; } public Vector query(String strQuery, String xcod ){ Vector vRet = null; try{ // crea el statement PreparedStatement pstm =this.db.prepareStatement( strQuery ); // Inicializa parametros pstm.setString( 1, xcod ); // ejecuta el query ResultSet rs = pstm.executeQuery(); // convierte el ResultSet to Vector vRet = ResultSetToVector(rs); // cierra el ResultSet rs.close(); // cierra el statement pstm.close(); }catch(SQLException e){ e.printStackTrace(); } return vRet; } public void sp_proc( String sp_name, String aParam[] ) { try { CallableStatement cs = this.db.prepareCall( sp_name ); for( int xc=0 ; xc < aParam.length ; xc++) cs.setString( xc+1, aParam[xc]); 47
  • 48. cs.execute(); } catch( Exception e ){ e.printStackTrace(); }}public void sp_proc( String sp_name, String aParam ) { try { CallableStatement cs = this.db.prepareCall( sp_name ); cs.setString( 1, aParam ); cs.execute(); } catch( Exception e ){ e.printStackTrace(); }}// ejecuta un deletepublic void delete(String strDelete){ performance(strDelete);}// ejecuta un updatepublic void update(String strUpdate){ performance(strUpdate);}// ejecuta un insertpublic void insert(String strInsert){ performance(strInsert);}public void delete(String strDelete, String aParam[] ){ performance(strDelete, aParam); }public void update(String strUpdate, String aParam[] ){ performance(strUpdate, aParam); }public void insert(String strInsert, String aParam[] ){ performance(strInsert, aParam);}public void readConfig( String tipo ) { try { String linea = ""; String archivo = System.getProperty("user.dir") + "config.ini"; 48
  • 49. System.out.println( archivo ); BufferedReader reader = new BufferedReader( newFileReader(archivo) ); tipo = tipo.toUpperCase(); boolean flag = false; while ( (linea = reader.readLine().trim()) != null && !flag) { if ( linea.charAt(0) == [ ) { linea = linea.substring(1,linea.length()-1); if ( linea.equals( tipo ) ) { flag = true; while ( (linea = reader.readLine().trim()) != null ) { if ( linea.charAt(0) == [ ) break; int xpos = linea.indexOf( = ); String clave = linea.substring(0,xpos).trim(); String dato = linea.substring(xpos+1).trim(); if ( clave.toUpperCase().equals("DRIVER")) this.driver = dato; if ( clave.toUpperCase().equals("URL")) this.url = dato; if ( clave.toUpperCase().equals("USER")) this.user = dato; if ( clave.toUpperCase().equals("PASW")) this.pasw = dato; } } } } } catch (Exception ex ) { } }}CAPA DE NEGOCIOClase “cAlmacenes”package negocio;import java.util.*;import javax.servlet.http.*;import datos.cDatos;public class cAlmacenes { 49
  • 50. private cDatos db; private String sql; private Vector vr; public cAlmacenes(String tipo) { this.db = new cDatos(tipo); this.db.openConnection(); } public Vector getRegistros() { sql = "SELECT * from CIGCTBALM"; System.out.println( sql ); vr = this.db.query( sql ); return this.vr; } public Vector getRegistro( String xcod ) { sql = "SELECT * from CIGCTBALM where TAALMA=" + xcod; System.out.println( sql ); vr = this.db.query( sql ); return this.vr; } public void grabarNuevoRegistro( HttpServletRequest request ) { String xnroalm = request.getParameter( "xnroalm" ); String xnomalm = request.getParameter( "xnombre" ); String xdivisi = request.getParameter( "xdivision" ); String xtipo = request.getParameter( "xtipo" ); String xclasif = request.getParameter( "xclasi" ); String xsubcla = request.getParameter( "xsubcla" ); sql = "INSERT INTO CIGCTBALM(TAALMA,TADESA,TADIVI,TATIPO,TACLAS,TASCLA) "; sql += "VALUES ("+ xnroalm + "," + xnomalm + "," + xdivisi + "," + xtipo +"," + xclasif + "," + xsubcla + ")"; this.db.insert( sql ); } public void grabarModificarRegistro( HttpServletRequest request ) { String xnroalm = request.getParameter( "xnroalm" ); String xnomalm = request.getParameter( "xnombre" ); String xdivisi = request.getParameter( "xdivision" ); String xtipo = request.getParameter( "xtipo" ); String xclasif = request.getParameter( "xclasi" ); String xsubcla = request.getParameter( "xsubcla" ); 50
  • 51. sql = "UPDATE CIGCTBALM SET TADESA=" + xnomalm + ", TADIVI=" +xdivisi + ", TATIPO=" + xtipo + ", TACLAS=" + xclasif + ", TASCLA=" + xsubcla +" "; sql += "WHERE TAALMA=" + xnroalm ; this.db.update( sql ); } public void eliminarRegistros( String aData[] ) { boolean inicio; if ( aData.length <= 0 ) return; sql = "DELETE FROM CIGCTBALM WHERE TAALMA in ( "; inicio = true; for( int xc = 0 ; xc < aData.length ; xc++ ) { if ( inicio ) sql += aData[xc]; else sql += "," + aData[xc]; inicio = false; } sql += ")"; this.db.delete( sql ); }} 51
  • 52. Clase “ cArticulos “package negocio;import java.util.*;import javax.servlet.http.*;import datos.cDatos;public class cArticulos { private cDatos db; private String sql; private Vector vr; public cArticulos(String tipo) { this.db = new cDatos(tipo); this.db.openConnection(); } public Vector getRegistros() { // sql = "SELECT articulo, "descripcionK", unidad, grupoinv, tipo,descripcion_larga, fecha_modificado, responsable, cod_anterior, descripcion, lineafrom articulo order by articulo"; sql = "SELECT * from articulo"; System.out.println( sql ); vr = this.db.query( sql ); return this.vr; } public Vector getRegistros(String acod[]) { // sql = "SELECT articulo, "descripcionK", unidad, grupoinv, tipo,descripcion_larga, fecha_modificado, responsable, cod_anterior, descripcion, lineafrom articulo order by articulo"; sql = "SELECT * from articulo where articulo in ("; boolean inicio = true; for( int xc = 0 ; xc < acod.length ; xc++ ) { if ( inicio ) sql += "" + acod[xc] + ""; else sql += "," + acod[xc] + ""; inicio = false; } sql += ")"; vr = this.db.query( sql ); return this.vr; } 52
  • 53. public Vector getRegistro( String xcod ) { // sql = "SELECT articulo, "descripcionK", unidad, grupoinv, tipo,descripcion_larga, fecha_modificado, responsable, cod_anterior, descripcion, lineafrom articulo order by articulo"; sql = "SELECT * from articulo where articulo=" + xcod + ""; System.out.println( sql ); vr = this.db.query( sql ); return this.vr; } public void grabarNuevoRegistro( HttpServletRequest request ) { String xart = request.getParameter( "xarticulo" ); String xdesK= request.getParameter( "xdescripcionK" ); String xuni = request.getParameter( "xunidad" ); String xgrpi= request.getParameter( "xgrupoinv" ); String xtipo= request.getParameter( "xtipo" ); String xdesL= request.getParameter( "xdescripcionL" ); String xfecm= request.getParameter( "xfecha_modificado" ); String xresp= request.getParameter( "xresponsable" ); String xcoda= request.getParameter( "xcod_anterior" ); String xdes = request.getParameter( "xdescripcion" ); String xlin = request.getParameter( "xlinea" ); sql = "INSERT INTO articulo (articulo, "descripcionK", unidad, grupoinv,tipo, descripcion_larga, fecha_modificado, responsable, cod_anterior, descripcion,linea) "; sql += "VALUES ("+ xart + "," + xdesK + "," + xuni + "," + xgrpi + "," +xtipo + "," + xdesL + "," + xfecm + "," + xresp + "," + xcoda + "," + xdes + "," +xlin + ")"; this.db.insert( sql ); } public void grabarModificarRegistro( HttpServletRequest request ) { String xart = request.getParameter( "xarticulo" ); String xdesK= request.getParameter( "xdescripcionK" ); String xuni = request.getParameter( "xunidad" ); String xgrpi= request.getParameter( "xgrupoinv" ); String xtipo= request.getParameter( "xtipo" ); String xdesL= request.getParameter( "xdescripcionL" ); String xfecm= request.getParameter( "xfecha_modificado" ); String xresp= request.getParameter( "xresponsable" ); String xcoda= request.getParameter( "xcod_anterior" ); String xdes = request.getParameter( "xdescripcion" ); String xlin = request.getParameter( "xlinea" ); 53
  • 54. sql = "UPDATE articulo SET "descripcionK"=" + xdesK + ", unidad=" +xuni + ", grupoinv=" + xgrpi + ", tipo=" + xtipo + ", descripcion_larga=" + xdesL +", fecha_modificado=" + xfecm + ", responsable=" + xresp + ", cod_anterior=" +xcoda + ", descripcion=" + xdes + ", linea=" + xlin + " "; sql += "WHERE articulo=" + xart + ""; this.db.update( sql ); } public void eliminarRegistros( String aData[] ) { boolean inicio; if ( aData.length <= 0 ) return; sql = "DELETE FROM articulo WHERE articulo in ( "; inicio = true; for( int xc = 0 ; xc < aData.length ; xc++ ) { if ( inicio ) sql += "" + aData[xc] + ""; else sql += "," + aData[xc] + ""; inicio = false; } sql += ")"; this.db.delete( sql ); }}Clase “Ciartidb”package negocio;import java.util.*;import javax.servlet.http.*;import datos.cDatos;public class cCiartidb { private cDatos db; private String sql; private Vector vr; public cCiartidb(String tipo) { 54
  • 55. this.db = new cDatos(tipo); this.db.openConnection(); } public Vector getRegistros() { sql = "SELECT * from CIARTIDB"; System.out.println( sql ); vr = this.db.query( sql ); return this.vr; } public void grabarRegistros( Vector arrData ) { for ( int xc = 0 ; xc < arrData.size() ; xc++ ) { Vector fila = (Vector)arrData.get(xc); String xcod = (String)fila.get(0); String xdes = (String)fila.get(1); String xuni = (String)fila.get(2); String xgrp = (String)fila.get(3); String xlin = (String)fila.get(10); String xtip = (String)fila.get(4); sql = "INSERT INTO CIARTIDB(DAARTI,DADESC,DAUNME,DAGRIN,DALIPR,DATIPR) VALUES ("; sql += "" + xcod + "," + xdes + "," + xuni + "," + xgrp + "," + xlin + "," + xtip+")"; this.db.insert( sql ); } }}CAPA DE PRESENTACIONVISTASVista “m_almacenes”<%@ page import="negocio.cAlmacenes" %><%@ page import="java.util.*" %><%cAlmacenes obj = new cAlmacenes("DB2");String xopc = request.getParameter("xopc");Vector arrData;if ( xopc == null ) xopc = "LISTADO";System.out.println( "-- " + xopc );if ( xopc.compareTo( "LISTADO" ) == 0) { 55
  • 56. arrData = (Vector)obj.getRegistros(); request.setAttribute( "arrData", arrData ); request.getRequestDispatcher( "m_almacenes_tpl.jsp" ).forward( request,response );} else if ( xopc.compareTo( "NUEVO_ELIMINAR_REGISTRO" ) == 0 ) { if ( request.getParameter( "boton" ).compareTo( "Nuevo Registro") == 0 )request.getRequestDispatcher( "m_almacenes_nuevo_tpl.jsp" ).forward( request,response ); else { obj.eliminarRegistros( request.getParameterValues("xcod") ); response.sendRedirect("m_almacenes.jsp"); } } else if ( xopc.compareTo( "GRABAR_NUEVO_REGISTRO" ) == 0 ) { if ( request.getParameter( "boton" ).compareTo( "GRABAR" ) == 0 ) obj.grabarNuevoRegistro( request ); response.sendRedirect("m_almacenes.jsp"); } else if ( xopc.compareTo( "MODIFICAR_REGISTRO" ) == 0 ) { String xcod = request.getParameter( "xcod" ); arrData = obj.getRegistro(xcod); request.setAttribute( "arrData", arrData); request.getRequestDispatcher( "m_almacenes_modificar_tpl.jsp" ).forward( request,response ); } else if ( xopc.compareTo( "GRABAR_MODIFICAR") == 0 ) { System.out.println( "Grabar modificar ............." ); if ( request.getParameter( "boton" ).compareTo( "GRABAR" ) == 0 ) { obj.grabarModificarRegistro( request ); } response.sendRedirect("m_almacenes.jsp"); }%>Vista m_articulos<%@ page import="negocio.cArticulos" %><%@ page import="java.util.*" %><%cArticulos objOpc = new cArticulos("PGSQL");String xopc = request.getParameter("xopc");Vector arrData;if ( xopc == null ) xopc = "LISTADO";System.out.println( "-- " + xopc );if ( xopc.compareTo( "LISTADO" ) == 0) { 56
  • 57. arrData = (Vector)objOpc.getRegistros(); request.setAttribute( "arrData", arrData ); // out.println( arrData.size() ); request.getRequestDispatcher( "m_articulos_tpl.jsp" ).forward( request,response); } else if ( xopc.compareTo( "NUEVO_ELIMINAR_REGISTRO" ) == 0 ) { if ( request.getParameter( "boton" ).compareTo( "Nuevo Registro") == 0 )request.getRequestDispatcher( "m_articulos_nuevo_tpl.jsp" ).forward( request,response ); else { objOpc.eliminarRegistros( request.getParameterValues("xcod") ); response.sendRedirect("m_articulos.jsp"); } } else if ( xopc.compareTo( "GRABAR_NUEVO_REGISTRO" ) == 0 ) { if ( request.getParameter( "boton" ).compareTo( "GRABAR" ) == 0 ) objOpc.grabarNuevoRegistro( request ); response.sendRedirect("m_articulos.jsp"); } else if ( xopc.compareTo( "MODIFICAR_REGISTRO" ) == 0 ) { String xcod = request.getParameter( "xcod" ); arrData = objOpc.getRegistro(xcod); request.setAttribute( "arrData", arrData); request.getRequestDispatcher( "m_articulos_modificar_tpl.jsp" ).forward( request,response ); } else if ( xopc.compareTo( "GRABAR_MODIFICAR") == 0 ) { System.out.println( "Grabar modificar ............." ); if ( request.getParameter( "boton" ).compareTo( "GRABAR" ) == 0 ) { objOpc.grabarModificarRegistro( request ); } response.sendRedirect("m_articulos.jsp"); }%>Vista m_alamacenes_tpl<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %><html><head><title>Almacenes</title></head><body> <form method=POST action=m_almacenes.jsp> <h3>Listado Almacenes</h3> <input type=HIDDEN name=xopc value="NUEVO_ELIMINAR_REGISTRO"> <table border=1> <tr bgcolor=lightblue> <th><font face="Helvetica" color=Red>Sel.</font> <th><font face="Helvetica" color=Red>Nro. del Almacen</font> 57
  • 58. <th><font face="Helvetica" color=Red>Nombr.del Almacen</font> <th><font face="Helvetica" color=Red>Division</font> <th><font face="Helvetica" color=Red>Tipo</font> <th><font face="Helvetica" color=Red>Clasificacion</font> <th><font face="Helvetica" color=Red>Sub-Clasificacion</font> <c:forEach items="${arrData}" var="registro"> <tr><td><input type=checkbox name=xcod value=<c:out value=${registro[0]}/>> <td><c:out value=${registro[0]} /> <td><a href=m_almacenes.jsp?xopc=MODIFICAR_REGISTRO&xcod=<c:out value=${registro[0]}/> > <c:out value=${registro[1]} /></a> <td><c:out value=${registro[2]} /> <td><c:out value=${registro[3]} /> <td><c:out value=${registro[4]} /> <td><c:out value=${registro[5]} /> </c:forEach> </table> <input type=submit name=boton value="Eliminar Registros"> <input type=submit name=boton value="Nuevo Registro"> </form> </body></html>Vista p_articulos_tpl<%@ page import="negocio.cArticulos" %><%@ page import="negocio.cCiartidb" %><%@ page import="java.util.*" %><%String db1="PGSQL", db2="DB2";String xopc = request.getParameter("xopc");Vector arrData;if ( xopc == null ) xopc = "LISTA_PG";if ( xopc.compareTo( "LISTA_PG" ) == 0) { cArticulos obj = new cArticulos( db1 ); arrData = (Vector)obj.getRegistros(); request.setAttribute( "arrData", arrData ); request.getRequestDispatcher( "p_articulos_pg_tpl.jsp" ).forward( request,response );} else if ( xopc.compareTo( "MUESTRA_SEL" ) == 0 ) { cArticulos obj = new cArticulos( db1 ); arrData = (Vector)obj.getRegistros( request.getParameterValues("xcod") ); request.setAttribute( "arrData", arrData ); 58
  • 59. request.getRequestDispatcher( "p_articulos_sel_tpl.jsp" ).forward( request,response ); } else if ( xopc.compareTo( "LISTA_DB2" ) == 0 ) { cArticulos obj = new cArticulos( db1 ); arrData = (Vector)obj.getRegistros( request.getParameterValues("xcod") ); cCiartidb obj2 = new cCiartidb( db2 ); obj2.grabarRegistros( arrData ); arrData = (Vector)obj2.getRegistros(); request.setAttribute( "arrData", arrData ); request.getRequestDispatcher( "p_articulos_db2_tpl.jsp" ).forward( request,response ); }%> 59
  • 60. CAPÍTULO IV ANÁLISIS E INTERPRETACIÓN DE LOS RESULTADOS4.1. Población y muestra 4.1.1. Población. Todas las empresas que cuenten con sistemas heterogéneos (AS 400, Linux, Windows, Solaris, Netware, Mac, etc) 4.1.2. Muestra. Empresa textil con sistema heterogéneo ubicado en la ciudad de Arequipa.4.2. Nivel de confianza y grado de significancia. El nivel de confianza será de un 90% y con un grado de significancia de ±10 %4.3. Tamaño de la muestra representativa. El tamaño de la muestra representativa esta basado en el número de procesos de conexiones e interacción de información de tal manera que compruebe la funcionalidad del prototipo. 60
  • 61. 4.4. Análisis de resultados Variables Dependientes Ponderación Valor mínimo exigido VD 1.Estructura de información 4 7 VD 2.Producción 2 9 VD 3.Modelo de integración de 3 9 información VD 4.Componente Middleware 5 9 Cuadro N° 6 Analisis Variables Dependientes Variables Independientes Ponderación Valor mínimo exigido VI 1.Mantenibilidad 3 8 VI 2.Tiempo 4 8 VI 3.Eficacia 3 9 VI 4.Calidad de uso 3 7 VI 5.Confiabilidad 4 9 VI 6.Usabilidad 5 8 VI 7.Comunicación de datos 5 9 VI 8.Actualización de datos 4 7 VI 9.Facilidad de Operación 4 8 VI 10.Seguridad de sistema 3 7 Cuadro N° 6 Analisis Variables Independientes VD01 = (3 VI01)/3 VD01 = (3 x 9)/3 VD01 = 9 VD02 = (4 VI02 + 3VI03)/7 VD02 = (4 x 8 + 3 x 10)/7 VD02 = 8.85 VD03 = (3 VI04 + 4 VI05 + 5 VI06)/12 61
  • 62. VD03 = (3 x 10 + 4 x 10 + 5 x 10 )/12VD03 = 10VD04 = (5 VI07 + 2 VI08 + 4 VI09 + 3 VI10)/14VD04 = (5 x 10 + 4 x 10 + 4 x 9.1 + 3 x 8 )/14VD04 = 9.4 VD 5.Estructura de información VI 1.Mantenibilidad Características Puntuación Capacidad de ser analizado 4 Estabilidad 2 Reparabilidad 3 VI01 = 9 VD 6.Producción VI 2.Tiempo (Tiempo de respuesta- segundos) Descripción Peso Frecuencia Total 2–4 10 11 110 5–7 6 7 42 8 – 10 4 2 8 11 – mas 0 0 0 TOTAL 20 20 160 160/20 VI 02 = 8 VI 3.Eficiencia Descripción Peso Cumple Comportamiento Temporal 5 Si Conformidad de eficiencia 5 Si Total 10 62
  • 63. VI 03 = 10VD 7.Modelo de integración de información VI 4.Calidad de uso Descripción Puntuación ¿Cumple? Eficacia 2.5 Si Productividad 2.5 Si Seguridad 2.5 Si Satisfacción 2.5 Si VI 04 = 10 VI 5.Confiabilidad Descripción Puntuación ¿Cumple? Disponibilidad 2.5 Si Fiabilidad 2.5 Si Seguridad 2.5 Si Protección 2.5 Si VI 05 = 10 VI 6.Usabilidad Descripción Puntuación ¿Cumple? Entendimiento 2.5 Si Operabilidad 2.5 Si Atracción 2.5 Si Conformidad de Si uso 2.5 VI 06 = 10 63
  • 64. VD 8.Componente Middleware VI 7.Comunicación de datos Descripción Puntuación Establece comunicación 10 No establece comunicación 0 VI 07 = 10 VI 8.Actualización de datos Descripción Puntuación ¿Cumple? Actualización En línea de ficheros de control. 5 Si Actualización En línea de ficheros importantes Si internos. 5 VI 08 = 10 VI 9.Facilidad de Operación Descripción Puntuación Frecuencia Total Muy Facil 10 12 120 Facil 8 7 56 Complejo 6 1 6 Total 24 20 182 VI08 =182/20 VI 09 = 9.1 VI 10.Seguridad de sistema Descripción Puntuación Privacidad. 3 Auditibilidad. 4 64
  • 65. Prevención de perdidas. 1 Encriptación de datos. 0 VI 10 = 84.5. Calculo de la eficacia Eficacia = ( 4 * VD01+ 2 * VD02 + 3 * VD03+ 5 * VD04)/14 Eficacia = ( 4 * 9 + 2 * 8.85 + 3 * 10+ 5*9.4)/14 Eficacia = 9.334.6. Interpretación de los resultados 4.6.1 Variables Independientes A. En cuanto a la mantenibilidad se ha logrado una efectividad de 90% debido a que no es estable en su totalidad B. En cuanto a tiempo se ha logrado una efectividad del 80% prácticamente rápido C. En cuanto a la Eficiencia esta logro ser de un 100%. D. Respecto a la calidad de uso esta fue de un 100%, cumpliendo todas sus metas. E. Lo que respecta a la confiabilidad esta obtuvo un 100% de confiabilidad. F. En cuanto a la usabilidad fue de un 100% demostrando su uso. G. Lo que respecta la facilidad de operación esta logro ser de un 91% que demuestra que es fácil operar el prototipo, presentando alguna complejidad H. Respecto a la seguridad, privacidad y auditibilidad esta obtuvo un 80%, debido a que no se realizo encriptaciones y el poco nivel en prevención de perdidas. 65
  • 66. 4.6.2 Variables Dependientes I. En el desarrollo de la estructura de la información se ha logrado un 90%. J. En la variable de producción se obtuvo un 88.5% K. En cuanto al modelado de Integración de información se ha logrado un 100%. L. En lo referente al componente Middlewarelos resultados presentan un 94% de realizacion.4.7. Prueba de Hipótesis Con el cálculo de la eficacia se comprueba la hipótesis 66
  • 67. CAPÍTULO V CONCLUSIONES Y RECOMENDACIONESConclusiones. Primera conclusión Se genero una estructura lineal, por así decirlo, que permitió generar dos cosas. La primera, mejorar la comprensión del problema y su solución con visión diferente. La segunda que esta estructura puede ser mantenible, esto quiere decir que se puede modificar sin tener que empezar todo de cero. Segunda Conclusión El tiempo que se tarda en hacer accesos a los sistemas de información, bases de datos en diferentes plataformas es mucho mas deficiente que cuando se trabaja con sistemas de información, bases de datos bajo una misma plataforma, al tener todo bajo una misma plataforma gracias a este middelware es mucha rapida el acceso a la información. Tercera Conclusión El modelo de integración que se presenta en este proyecto, esta basado en clases cuya principal clase se ha denominado cDatos que genera los requisitos para realización las conexiones; y librerías que en esta caso se hizo bajo JDBC, que nos permite realizar conexiones a bases de datos muy eficazmente, esto dos elementos uno creado y otro reutilizado nos genera una combinación poderosa para generar accesos a bases de datos de una manera transparente, eficaz y flexible. Cuarta Conclusión 67
  • 68. El desarrollo del componente Middlware se cumplió con lo que se quería, se pudo relacionar diferente bases de datos en una misma acción, además de poder comunicarlas, extrayendo información, compartirla y guarda en cualquiera de las diferentes bases de datos. Además que se realizo estos procesos de manera rápida y sencilla para el usuario, una de las potencialidades de este prototipo es que se puede ir actualizándolo sin necesidad de que se tenga que cerrar los sistemas para realizar dicha función, lo único que no se pudo fortalecer fue respecto a la seguridad, faltó mayor investigación para poder generar una buena seguridad.Recomendaciones. Primera Recomendación Se debe tener mucho cuidado al momento de querer hacer las estructuras para interactuar las bases de datos, si es cierto todas las bases de datos son de una misma empresa no todas ellas mantienen una correlación, si a si fuese el caso entonces hay que analizar si la conexión a realizar servirá para el usuario 68
  • 69. PRODUCTO FINALEl producto final esta orientado a la parte de gerencia y estrategia de la empresa. Grafico. Donde se aplica es prototipoEl producto final será una capa superior a las plataformas de los demás sistemas(AS400, Linux y Windows) un middleware, que será la herramienta quehomogenice las plataformas. Interfase App 1 App 2 App 3 DB 1 DB 2 DB 3Grafico 2. Grafico de la herramienta 69
  • 70. FUENTES DE INFORMACIÓNPresuman, Roger S. Ingeniería del Software Un enfoque práctico. 5ta ed.,España, McGraw Hill, 521 – 540 pp.Manzano, Juan y otros SIX: Una propuesta de Sistema de Integración basadoen XML. En http://imhotep.unizar.es/jbidi/jbidi2001/17_2001.pdf Extremadura.Lassila O. Wick R. “Resource Description Framwork (RDF) Model And SyntaxSpecification” W3C Febrero de 1999. en http://www.w3.org/TR/REC-rdf-syntax/eXtendible Markup Language (XML)version 1.0 Primera Edicion Febrero de1998. En http://www.w3.org/XML#9802xml10Aplicaciones y Ventajas de XML.En http://www.bibliodgsca.unam.mx/tesis/tes7cllg/sec_26.htmhttp://www.glosarium.com/term/806,14,xhtml 70
  • 71. ANEXOS 71
  • 72. 72
  • 73. Anexo 1Cuadro de Actividades y Costos 73
  • 74. 74
  • 75. 75
  • 76. GLOSARIO DE TÉRMINOSWorkflow: Sistema de automatización de procesos. Permite automatizar de formaintegrada todos los flujos de datos y procesos administrativos, controles deautorización, verificaciones de datos y contacto de personas involucradas.Framework. En el desarrollo de software, un Framework es una estructura desoporte definida en la cual otro proyecto de software puede ser organizado ydesarrollado. Tipicamente, un framework puede incluir soporte de programas,librerias y un lenguaje de scripting entre otros softwares para ayudar a desarrollary unir los diferentes componentes de un proyecto.DOM (Document Object Model)Funcionalidad. La capacidad del producto de software para proveer las funcionesque satisfacen las necesidades explícitas e implícitas cuando el software se utilizabajo condiciones específicas.Adecuación. La capacidad del producto de software para proveer un adecuadoconjunto de funciones para las tareas y objetivos especificados por el usuario.Exactitud. La capacidad del producto de software para proveer los resultados oefectos acordados con un grado necesario de precisión.Seguridad. La capacidad del producto de software para proteger la información ylos datos de modo que las personas o los sistemas no autorizados no puedanleerlos o modificarlos, y a las personas o sistemas autorizados no se les niegue elacceso a ellos. 76
  • 77. Cumplimiento funcional. Capacidad del producto software para adherirse anormas, convenciones o regulaciones en leyes y prescripciones similaresrelacionadas con funcionalidad.Fiabilidad. La capacidad del producto de software para mantener un nivelespecífico de funcionamiento cuando se está utilizando bajo condicionesespecificadas.Madurez. La capacidad del producto de software para evitar fallas como resultadode errores en el software.Tolerancia a errores. La capacidad del producto de software para mantener unnivel especificado de funcionamiento en caso de errores del software o deincumplimiento de su interfaz especificada.Recuperabilidad. La capacidad del producto de software para restablecer un nivelespecificado de funcionamiento y recuperar los datos afectados directamente en elcaso de una falla.Conformidad de la fiabilidad. La capacidad del producto de software paraadherirse a las normas, convenciones o regulaciones relativas a la fiabilidad.Usabilidad. La capacidad del producto de software de ser entendido, aprendido,usado y atractivo al usuario, cuando es utilizado bajo las condicionesespecificadas.Entendimiento. La capacidad del producto de software para permitir al usuarioentender si el software es adecuado, y cómo puede ser utilizado para las tareas ylas condiciones particulares de la aplicación. 77
  • 78. Operabilidad. La capacidad del producto de software para permitir al usuariooperarlo y controlarlo.Atracción. La capacidad del producto de software de ser atractivo al usuario.Conformidad de uso. La capacidad del producto de software para adherirse a losestándares, convenciones, guías de estilo o regulaciones relacionadas a suComportamiento temporal. La capacidad del producto de software para proveertiempos adecuados de respuesta y procesamiento, y ratios de rendimiento cuandorealiza su función bajo las condiciones establecidas.Utilización de recursos. La capacidad del producto de software para utilizarcantidades y tipos adecuados de recursos cuando este funciona bajo lascondiciones establecidas.Los recursos humanos están incluidos dentro del concepto de productividad.Conformidad de eficiencia. La capacidad del producto de software para adherirsea estándares o convenciones relacionados a la eficiencia.Mantenibilidad. Capacidad del producto de software para ser modificado. Lasmodificaciones pueden incluir correcciones, mejoras o adaptación del software acambios en el entorno, y especificaciones de requerimientos funcionales.Capacidad de ser analizado. La capacidad del producto de software para atenersea diagnósticos de deficiencias o causas de fallas en el software o la identificaciónde las partes a ser modificadas.Cambiabilidad. La capacidad del software para permitir que una determinadamodificación sea implementada.Implementación incluye codificación, diseño y documentación de cambios. 78
  • 79. Estabilidad. La capacidad del producto de software para evitar efectosinesperados debido a modificaciones del software.Analizabilidad. Capacidad del producto software de diagnosticar sus deficienciaso causas de fallos, o de identificar las partes que deben ser modificadas.Conformidad de portabilidad. La capacidad del software para adherirse aestándares o convenciones relacionados a la portabilidad.Calidad en Uso. La capacidad del producto de software para permitirles a usuariosespecíficos lograr las metas propuestas con eficacia, productividad, seguridad ysatisfacción, en contextos especificados de uso.Eficacia. La capacidad del producto de software para permitir a los usuarios lograrlas metas especificadas con exactitud e integridad, en un contexto especificado deuso.Productividad. La capacidad del producto de software para permitir a los usuariosemplear cantidades apropiadas de recursos, en relación a la eficacia lograda enun contexto especificado de uso.Satisfacción. La capacidad del producto de software para satisfacer a los usuariosen un contexto especificado de uso.Confiabilidad. Propiedad que implica el grado de confianza esperado por parte delusuario en la operación adecuada del sistema al utilizarlo.Disponibilidad. Define la probabilidad de que el sistema este funcionando en untiempo determinado. 79
  • 80. Fiabilidad. Es la probabilidad de que el sistema funcione correctamente durante unintervalo de tiempo.Protección. Representa la capacidad del sistema para protegerse a si mismo deintrusiones accidentales o programadas.Densidad de defectos. Es una métrica de calidad que se define como el númerode errores que ocurren durante un lapso de tiempo determinado.Media de ocurrencia de fallos. Se refiere al promedio del tiempo que tarda enproducirse un fallo durante la operación de un producto de software.Corrección. El grado en que una aplicación satisface sus especificaciones yconsigue los objetivos encomendados por el cliente.Facilidad de mantenimiento. El esfuerzo requerido para localizar y reparar errores.Integridad. El grado con que puede controlarse el acceso al software o a los datosa personal no autorizado (Amenaza / seguridad).Facilidad de uso. El esfuerzo requerido para aprender el manejo de unaaplicación, trabajar con ella, introducir datos y conseguir resultados.Facilidad de prueba.El esfuerzo requerido para probar una aplicación de formaque cumpla con lo especificado en los requisitos.Reusabilidad. Grado en que partes de una aplicación pueden utilizarse en otrasaplicaciones.Comprensibilidad. Interpretación correcta del modelo, cercanía de los conceptos aquienes leen el esquema, uso de conceptos (terminología) sencillos en él. 80
  • 81. Completitud. Correspondencia biunívoca entre el esquema y los requerimientos(no sólo que éstos estén cubiertos, sino que no existan “requerimientos”adicionales).Expresividad. Poder significativo de los elementos.Consistencia. Existencia de al menos un conjunto (no-vacío) de instancias (no-vacías) que satisface el esquema (con sus restricciones).Extensibilidad. Capacidad de evolución del esquema, adaptabilidad a los cambiosque se requieran.Robustez. Grado de degradación del sistema en presencia de fallos oincertidumbre.Conectividad. Los nodos deben interactuar de forma que las actividades cubiertaspuedan ser desarrolladas e integradas en una solución global.Efectividad. Capacidad del producto software para permitir a los usuarios alcanzarobjetivos especificados con exactitud y completitud, en un contexto de usoespecificado. 81

×