Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
------------~~~~ - - - - -- - "EXPERIENCIA PROFESIONAL EN DESARROLLO DE SISTEMAS PARA LA PROCURADURÍA GENERAL DE JUSTICIA DEL DISTRITO FEDERAL (1998-2005)" TRABAJO ESCRITO EN LA MODALIDAD DE INFORME DEL EJERCICIO PROFESIONAL QUE PARA OBTENER EL TÍTULO DE: INGENIERO EN COMPUTACIÓN P R E S E N T A HONORIA REYES MACEDO ASESOR: MTRO. EN C. MARCELO PÉREZ MEDEL MÉXICO, 2005. d'V ' f37'= o • :C::a"" " eri . • • • • , , • , I I ~ UNAM – Dirección General de Bibliotecas Tesis Digitales Restricciones de uso DERECHOS RESERVADOS © PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL Todo el material contenido en esta tesis esta protegido por la Ley Federal del Derecho de Autor (LFDA) de los Estados Unidos Mexicanos (México). El uso de imágenes, fragmentos de videos, y demás material que sea objeto de protección de los derechos de autor, será exclusivamente para fines educativos e informativos y deberá citar la fuente donde la obtuvo mencionando el autor o autores. Cualquier uso distinto como el lucro, reproducción, edición o modificación, será perseguido y sancionado por el respectivo titular de los Derechos de Autor. Este trabajo se lo dedico a mi hija Ivonne ... A los que de algún modo forman parte de mi familia .. . A los que en verdad son amigos ... A los que en especial forman y formaron parte de mi camino ... Gracias por existir ... Autorizo a la Dirección General de Blbllotlcll • la UNAM 8 difundir en formelo dectronlco e iqlprIIo ti contenido de mi trabajo ren.~ NOMBRE: ~ onQX(A 1?~~"Sb ~=.~:::lo~~ 2ob~ sOe"tiC'<""7' e. índice Introducción Capitulo 1.- La Subdirección de Sistemas de la Dirección de Informática. 1 1.1 Organigrama funcional: 3 1./1 Objetivo: 4 1./11 Funciones de la Subdirección de Sistemas : 4 Capitulo 1/.- Experiencia Profesional. 12 /1.1 Sistema de Almacén 14 /1.1.1 Objetivo: 14 /1././1 Funciones del almacén 14 /1.1./11 Tecnología con la que se cuenta: 15 /I.I.IV Requerimientos para el sistema: 15 11./. V Actividades realizadas: 16 /1.11 Sistema de SAP(Sistema de A veriguaciones Previas) 19 /1.11./ Objetivo 19 /1.11./1 Funciones de las áreas involucradas 19 /1 ./1./11 Tecnología con la que se cuenta: 20 /I.lI.IV Requerimientos para el sistema: 20 /1./1. V Actividades realizadas 21 11.111 Modulo "NEAP" (No Ejercicio de la Acción Penal) (modulo del Sistema "SAP" Sistema de Averiguaciones Previas) 22 11./11./ Objetivo 22 11./11./1 Funciones de las áreas involucradas 22 11./11.//1 Tecnología con la que se cuenta 25 II.//I.IV Requerimientos para el sistema: 25 11.//1. V Actividades realizadas 25 /I.lV Mantenimiento e Instalación del Sistema Control de Automotores Robados "CONA URO ". 26 /I.IV.I Objetivo. 26 /I.lV./I Funciones de las áreas involucradas. 26 /I .IV./l1 Tecnolog ia con la que se cuenta 27 _ _ _ _ _ _____ ~~ ........ ___ ... 1FZ ........ _ ___ _ I/.IV.IV Requerimientos para el sistema 27 1/. IV. V Actividades realizadas 27 II.V Mantenimiento y Adecuación a los Sistemas de la Institución para el cambio al año 2000. 28 /l. V.I Objetivo 28 /l. V.1/ Funciones de las áreas involucradas 28 /l. V./II Tecnología con la que se cuenta 29 /l. V.IV Requerimientos para el sistema 29 /l. V. V Actividades realizadas 29 Capitulo 111.- Reflexiones 31 1/1.1 La metodología de investigación utilizada 33 1//.11 La determinación del objetivo 33 1/1.11/ Los conocimientos 34 I//.IV La presentación del sistema 37 111. V Las pruebas 37 l/l. VI La capacitación 38 1/1. VI/ La toma de decisiones 39 Capitulo IV.- Anexos 40 Glosario 52 Referencia bibliográfica Introducción. Antes de elegir la carrera o durante la estadía en la universidad es de importancia considerar la experiencia laboral de egresados de la misma, y que mejor que redactar un buen texto para involucrar a los estudiantes en el ámbito laboral, contextos en los cuales se narra la experiencia profesional y algunas reflexiones en cuanto a lo vivido, claro que existirán temas muy específicos, entre los cuales, algunos serán de más interés para el fin de este trabajo . En esta ocasión el redactar la experiencia adquirida me ha servido para intentar obtener el titulo profesional . En la etapa laboral se puede reafirmar los conocimientos que se adquieren en la escuela, permitiendo definir cual es la rama de la carrera de interés en la que se quiere desempeñar en un futuro, también mostrar la agilidad que se puede tener para resolver los problemas en la vida real , además de que se visualice el momento en el que se pueda tomar decisiones, identificar el porque se quiere seguir con lo que se hace, o tal vez se convenza uno que todavía se tiene que buscar la empresa que realiza lo que lo que uno desea realizar. El objetivo de este contexto es presentar el panorama de trabajo, desde un punto de vista particular en cuanto al desarrollo de sistemas en el medio laboral, dentro del área de Desarrollo de Sistemas de la Dírección de Informática, perteneciente a la Dirección General de Tecnología y Sistemas Informáticos que es parte de la Procuraduría General de Justicia del Distrito Federal. Además de poder auxiliar al estudiante de la carrera de Ingeniería en Computación en cuanto a la toma de decisión de los diferentes problemas que se le presenten al diseñar un sistema de cómputo, y a poder mejorar su desempeño en el futuro basándose en las reflexiones aquí planteadas. Durante el contexto de este trabajo, se explíca el desarrollo de algunos sistemas, que es la experiencia obtenida durante estos años. En el primer capítulo se t e ca O describe el área de Desarrollo de Sistemas en la que me he desempeñado, así como las funciones cotidianas que se realizan en la misma. En el capitulo siguiente explica las actividades realizadas en los diferentes proyectos de sistemas en los que he participado y el equipo utilizado para cada uno. También se incluye un capitulo en el que se describen las reflexiones surgidas durante el desarrollo de los sistemas y algunas materias que en ese momento fueron importantes para mi desempeño. El desarrollo de sistemas es la parte más importante dentro de una empresa que requiere explotar su información almacenada mediante interfases de captura . Le permite visualizar sus datos en forma fácil y en el menor tiempo posible, sin necesidad de meterse a procedimientos que en determinada ocación implica invertir tiempo que se necesita para otras actividades. La experiencia presentada en este contexto podría ser útil para quien decida desempeñarse como desarrollador de sistemas. Al final existe un anexo en el que con un ejemplo se describen los pasos de una normalización del banco de datos que contendrá la información del sistema, y que es parte fundamental en el diseño del mismo. Esto ayudará a identificar el porque es importante hacer una normalización de datos antes de crear el código del sistema. También existe un glosario en el que se describen algunos términos utilizados en este contexto. Y la referencia bibliográfica también incluye algunos manuales de cursos, a los que la institución me envió. Capitulo I La Subdirección de Sistemas de la Dirección de Informática. Este capitulo permite conocer lo que es el área de sistemas así como las funciones que lleva a cabo y el objetivo que tiene. "" 1.1 Organigrama funcional: La Subdirección de Sistemas de la Dirección de Informática, perteneciente a la Dirección General de Tecnología y Sistemas Informáticos se ubica jerárquicamente dentro de la PGJDF (Procuraduría General de Justicia del Distrito Federal) de acuerdo al siguiente organigrama funcional : Agencia n Subdirección de Sistemas Físicamente está ubicada en Av. Coyoacan No. 1635 en la Colonia del Valle Delegación Benito Juárez, Distrito federal, C.P. 3100. 3 =z '? 1./1 Objetivo: Tiene como objetivo coordinarlas acciones que involucran a personas, equipo y tiempo con la supervisión de la Dirección de Informática y con la aprobación de la Dirección Gral. de Tecnología y Sistemas Informáticos; los cuales deben producir resultados, permitiendo un adecuado intercambio de información entre los departamentos que lo forman, con el fin de automatizar las actividades sustantivas y administrativas de la P.G.J.D.F. 1.//1 Funciones de la Subdirección de Sistemas: Es un área de desarrollo de Sistemas de Computación. o Automatiza: es decir, cambia la forma de realizar tareas, manuales a automáticas mediante un sistema de computación, con el que ya no se realizaran tareas repetitivas, y podrán consultar en menor tiempo así como emitir reportes en forma automática. El desarrollo del sistema de computación se lleva a cabo mediante una serie de pasos que utilizan una metodología . La metodología que se aplica, es muy general y se basa en la observación, entrevista y el análisis de los requerimientos . o Utiliza procedimientos de control para las descripciones cronológicas que deben realizarse durante el desarrollo del sistema, y describen cuatro aspectos esenciales: la acción a ejecutar, la persona o personas que la ejecutan, el momento en que debe realizarse y la forma en que debe realizarse. o Análiza, entrevista e Investiga: Las entrevistas se realizan para tener un conocimiento profundo del área que necesita el sistema, y esto puede ser posible a través de la observación de sus actividades , cuestionarios, revisión, 4 ~----------------------------------~~-- - - - - recopilación de documentos y formatos que se utilizan en el lugar, sobre todo logra que exista una buena comunicación entre el usuario y el analista. Usuarios: Son las personas que interactúan de alguna forma con el sistema que se va ha desarrollar, las cuales son: o Las personas que capturan datos y forman el nivel operativo. o Las personas que se benefician directamente, ahorrándoles tiempo para realizar otras actividades. o Las personas que no están directamente con el sistema y que se benefician con los resultados. Determinación del objetivo: Es la recopilación de información durante la entrevista. Es el medio por el cual se obtiene el objetivo . o Diseña: Involucra el diseño de la base de datos, y de las pantallas así como la preparación de una presentación preliminar. Diseño de la base de datos: Base de datos: Es una colección de datos relacionados; es el lugar en el que se depositará la información capturada en el sistema que se va a generar. Diseño de la base de datos: Es generar un modelo que describa las diferentes entidades que formarán la base de datos y la relación entre ellas. Se debe tomar en cuenta para su diseño que: o La base de datos a diseñar sea relacional , con lo que se garantizarán los siguientes puntos : 5 65t = o Que no se almacenen datos redundantes, es decir, que no exista el mismo dato en más de una entidad . o Que permita el crecimiento del sistema en un futuro. o Que se permita el uso compartido de los datos, es decir, que haya el acceso a la base de datos por más de un usuario a la vez. o . Conocer la plataforma en la que se generará la base de datos, es de gran utilidad para saber las limitantes que se tienen para explotar la información almacenada; además de conocer el limite de usuarios a accesar. Identificar si se quiere trabajar en red, si es multiusuario o monousuario. Saber si es multiusuario, involucra que el diseño de la base de datos se debe revisar con más detalle que cuando es monousuario. o El establecer la plataforma en la que se generará la base de datos depende de la empresa que requiere el sistema, de acuerdo a los recursos con los que cuenta, así como el conocimiento de los que llevan a cabo el desarrollo del proyecto, ya que tal vez necesita de un gran sistema y no cuenta con los recursos suficientes. Tal vez cada persona se enfoca a un determinado tipo de programa y dichas experiencias son de gran utilidad para identificar ventajas o desventajas en el acceso a la base de datos . o La identificación de las identidades que formarán I.a base de datos para almacenar la información que se requiere en el sistema, es el inicio del diseño de la misma. Se utiliza una matriz entre las entidades para relacionar, también se aplica la normalización a dichas entidades , generando con esto nuevas entidades como es el caso de los catálogos. Normalización: La normalización se adoptó porque el viejo estilo de poner todos los datos en un sólo lugar, como un archivo o una tabla de la base de datos, era ineficiente y conducía a errores de lógica cuando 6 se trataba de manipular los datos. Al normalizar las entidades se quita redundancia de datos . Se aplican hasta tres o cuatro normalizaciones, de acuerdo a la visión que se tenga de los datos, para no llevar las cosas más allá de lo que se necesita . Diseño de las pantallas: Cada sistema involucra la captura de datos, así como la explotación de estos, de tal forma que se satisfagan los requerimientos de los usuarios. Este diseño para la captura se debe comparar con cada proceso que se lleva a cabo en el sistema y plasmarlo en las ventanas que presentará el mismo en el monitor. Después de un buen análisis y de ordenar la información recopilada, se procede a diseñar pantallas para cada punto que se requiere y que se incluirá en el sistema. Estas pantallas permitirán capturar la información de interés para el usuario, así como filtrar información capturada para su consulta, teniendo la opción de presentar en pantalla o en papel de acuerdo a lo solicitado. Se genera un documento con las especificaciones y validaciones para cada pantalla. Posteriormente se hace una presentación para corroborar lo solicitado y poder detallar puntos faltantes o redundantes, y así seguir con el siguiente paso que es la codificación del sistema. o Codifica: El objetivo de la codificación, es controlar las transformaciones que sufren los datos durante su recorrido a través del sistema. No define la secuencia de las actividades ni contiene aspectos de control. De acuerdo a las especificaciones documentadas, se realizan algoritmos para cada función que se integrará en el sistema para codificar con claridad y en el menor tiempo posible; también se auxilia en diagramas de flujo de datos. 7 = Algoritmo es el análisis mediante papel y lápiz, en el cual se describe cada transformación de los datos durante un proceso determinado. Diagrama de flujo de datos: Es el método gráfico que se orienta al flujo de los datos que tendrá el sistema, que auxilia en la descripción de los procesos durante la etapa de análisis y codificación del sistema. Representa al sistema como un conjunto de diagramas que definen procesos (manuales , mecánicos y automatizados) y la información que fluye entre ellos . Se inicia con un diagrama general que se toma como base para desglosar con más detalle cada uno de los procesos especificados inicialmente. o Realiza Pruebas: Prueba es la fase preliminar a la implantación, es decir, antes de instalar el sistema se comprueba que cumpla con las necesidades planteadas y así poder determinar si necesita correcciones o mejoras , es muy importante que las pruebas las haga el programador y el usuario con información real o cuando menos que se tenga un buen conocimiento del tipo de información que se manejará en dicho sistema, se verifica el tiempo de ejecución de los procesos ya que el tiempo de respuesta es muy importante para cualquier sistema. Se Identifica si la forma de capturar, guardar o modificar los datos resulta clara para el usuario en cada pantalla de captura, Se observa la capacidad del usuario para recuperar los datos guardados, es decir obtener consultas e impresiones; se complementa el manual del usuario, tomando en cuenta la respuestasobre la reacción del usuario ante el sistema, se · detectan posibles errores para correg ir antes de la instalación definitiva del sistema; todo esto se debe tomar en cuenta al escoger un lenguaje de bases de datos; si es que no se tiene alguno. Existen lenguajes de bases de datos en el que el tiempo de respuesta es muy rápido aunque la calidad de presentación no es muy buena así como existen lenguajes de bases de datos que dan muy buena presentación, pero el tiempo de consulta o impresión resulta lento. 8 ..-------------~-~--- - - --- El tiempo de realización de pruebas es muy importante, ya que el buen funcionamiento del sistema depende de los resultados de esta fase, aunque en muchas ocasiones se le resta importancia por la urgencia en que debe ser entregado el sistema, lo que puede ocasionar que cuando ya esté instalado se detecten errores no previstos . El tiempo de realización de pruebas, se utiliza no sólo para corregir posibles errores , se adaptan nuevas consultas, así como otros campos de aplicación, a la vez se capacita a los usuarios en la forma de capturar los datos y como obtener consultas, dándoles al mismo tiempo confianza en la utilización de la computadora y el sistema. o Capacita: La capacitación involucra conocer la cantidad de usuarios que van a operar el sistema, así como preparar un manual de usuario o guía rápida que pueda serv ir al personal que capacitará . En ocasiones será necesario la preparación de áreas de capacitación cuando la cantidad de usuaríos operativos es muy grande. También es de gran utilidad conocer al tipo de usuarios a capacitar (de acuerdo al nivel de conocimientos de computación que tengan). o Libera los sistemas: La implantación del sistema constituye la fase de liberación en donde se prepara al sistema mediante algún método de instalación para sustituir al anterior. Los primeros días se debe supervisar que el sistema sea utilizado correctamente por el usuario. Independientemente del método de implantación que se adopte, antes de implantar el sistema, se deben hacer las pruebas suficientes para comprobar que el sistema cumple con las necesidades del área. o Da mantenimiento: Una vez instalado el sistema, estará sujeto a cambios como son nuevos requerimientos, nuevas reglamentaciones que deben considerarse para adaptarse a diversos elementos cambiantes en el medio 9 c a M ambiente del sistema. No es necesario una reestructuración del sistema , es suficiente actualizar una parte de él para ajustarlo a una nueva necesidad. El mantenimiento es clave para todos los sistemas. Al realizar una modificación al mismo o a un componente de el, no deben perderse de vista los objetivos de los elementos que se están modificando y los objetivos finales de todo el sistema. El mantenimiento presenta tres categorías: para actualizar archivos, corregir errores e implantar mejoras, existen los siguientes tipos de mantenimiento: MANTENIMIENTO CORRECTIVO: Se diagnostican y corrigen errores, un ejemplo de ello ocurrió en el cambio de año de 1999 al año 2000, al guardar el año 2000 como 00 en los sistemas que correrían en el año 2000, se guardaría como 1900, por tal motivo muchos sistemas se corrigíeron para que en la captura e impresión pudiera aceptar los cuatro dígitos del año. MANTENIMIENTO ADAPTATIVO: Se efectúan cambios a los datos, archivos, software y hardware del sistema de acuerdo a los requerimientos del usuario, por ejemplo piden que los datos de los reportes estuvieran en mayúsculas. MANTENIMIENTO PERFECTIVO: Su objetivo es mejorar la actuación del sistema, en este caso es muy frecuente cuando se permite que el sistema abarque más actividades o para mejorar la captura . Un ejemplo es cuando al ingresar a una pantalla se tienen que capturar datos similares, al perfeccionarlo el sistema presentará los datos anteriores como alternativa a la síguiente captura, sin la necesidad de volver a capturar datos repetitivos Un servício muy utilizado para el mantenimiento del sistema, es la utilización del correo electrónico entre los usuarios, mediante el cual se envía el error surgido, el área en el que ocurre el error o algunas sugerencias para el sistema. 10 Tener un buen mantenimiento consiste también en tener respaldada la información cada determinado periodo de tiempo. 11 = ~-------------~-~------ Capitulo 11 Experiencia Profesional. En este capitulo se describen las actividades en las que he tenido participación, tanto en el desarrollo de sistemas como en el mantenimiento e instalación de los mismos. Algunos de los sistemas son: El Sistema de Almacén, el Sistema Control de Automotores Robados "CONAURO", el Sistema de Averiguaciones Previas "SAP", el Modulo de No Ejercicio de la Acción Penal del Sistema de Averiguaciones Previas "SAP", el Sistema de Control de Gestión, el sistema de "061" para Policía Judicial, el Sistema de Averiguaciones Previas por Computadora "APCOM" entre otros . 12 - . 11./ Sistema de Almacén . El Sistema de Almacén se solicitó a raiz de la necesidad de controlar los bienes que ingresan y salen del almacén de bienes de inversión y de bienes de consumo, perteneciente a la Dirección General de Recursos Materiales y Servicios Generales de la PGJDF. Se solicita para llevar un control de existencias , tanto en cantidad como en valor monetario de los bienes que existen en el almacén. Bienes de Inversión: bienes inventariables, activo fijo , duración mayor a un año. Bienes de Consumo: bienes consumibles sin número de inventario Los bienes a su vez se clasifican en consumo repetitivo, lento movimiento , nulo movimiento. 11.1.1 Objetivo: Controlar la existencia de los bienes muebles y de consumo, con el fin de que el manejo de la Información sea rápido , veraz y contribuya a la oportuna y favorable administración de los recursos materiales . 11.1.1/ Funciones del Almacén o Registro de los bienes de Inversión y de Consumo que ingresan al almacén de acuerdo a ciertas restricciones. o Registro de salidas de los bienes del almacén de acuerdo a ciertas restricciones. o Registro de el número de inventario de los bienes de inversión que ingresan al almacén. o Emitir reportes que permitan controlar la información almacenada. o Hacer inventario físico dos veces al año. 14 - = 11././11 Tecnología con la que se cuenta: Equipo Computadoras con las siguientes características : o Microprocesador Celerón, Pentium 11, Pentium 111 . A 500 Megahertz, con memoria ram de 120 Megabytes. o Microprocesador Pentium 4. A 3.2 Gigahertz, Memoria ram 515 Megabytes Software o Informix como plataforma para la base de datos. o Visual Basic para el desarrollo o codificación del sistema o Unix como sistema operativo para la base de datos o Windows 98 como sistema operativo para las PC que tendrán el sistema. II.I.IV Requerimientos para el sistema: o Por cada contrato permitir la captura de entrada total o parcial, con factura o por remisiones . SOLUCION: Se generó un control para entradas totales o parciales o Emitir Comprobante por cada entrada. Se generó un reporte. o Llevar el control de los bienes en dos almacenes (almacén de inversión y almacén de consumo) SOLUCION: Se utilizó la misma base de datos o Llevar un costo real SOLUCION: En cuanto al control de los costos de las entradas y salidas de los bienes que se registraran en el sistema . Se planteó aplicando el método FIFO (First Input, First Output) o Se clasificaron los bienes de cada almacén para diferenciarlos. o Se otorgaron permisos a los usuarios de acuerdo a cada almacén 15 o Emitir comprobante de no existencia en caso de no existir el bien en el almacén. Se realizó un filtro para emitir un reporte. o Emitir marbetes por cada bien en los inventarios físicos. Se generó un reporte o Llevar el control en los inventarios físicos. Se permite capturarlos resultados por cada bien. o Emitir comprobante de salida , por cada solicitud (requisición de salida). Se generó un reporte. 11./. V Actividades Realizadas: Pasos que se siguieron para su análisis, diseño y codificación: o Visitar el área que solicitó el sistema o Se hizo una recopilación de información de las necesidades de los usuarios que necesitan el sistema. o Se recopilaron documentos fuentes como: documentos que presentaron durante la entrevista y que necesitan que el sistema genere. o Se intercambió información como: se plantearon posibles alternativas de funcionamiento del sistema. o Se recopiló información del equipo de cómputo con el que cuentan en el área, así como las instalaciones de comunicación con las que cuentan. o Se observaron las actividades de los usuarios que requieren el sistema, con el fin de conocer a detalle sus necesidades. o Analizar la información y documentos recopilados o Se clasificaron las diferentes necesidades, para visualizar una posible solución. o Se generaron cuestionarios: de acuerdo a las dudas surgidas en la revisión de la información. o Se organizaron los documentos que sugirieron y que emitirá el sistema. 16 - -1 I I '1 o Se analizó el software con el que se podría desarrollar el sistema. o Se estimó cuanto podria crecer la 'nformación a capturar en el sistema, para identificar la plataforma que se necesitará para almacenarla. o Visitar el área, pero con cuestionarios elaborados: o Se mejoró la clasificación de las necesidades: de acuerdo a las respuestas a los cuestionarios . o Se plantearon alternativas de grabación de información. o Se planteó la alternativa de almacenamiento para la información. o Se identificó el objetivo del sistema a desarrollar o Controlar la existencia de los bienes muebles y de consumo con el fin de que el manejo de la Información sea rápido , veraz y contribuya a la oportuna y favorable Administración de los Recursos Materiales. o Esquematización de los requerimientos, los cuales fueron representados por medio de matrices que permitan relacionar los archivos que lo compondrán: estos archivos o entidades dentro de las bases de datos se relacionan para solucionar las necesidades requeridas y se plasmaron en un diseño de entidad-relación. - Se realizó un análisis de las entidades principales para generar la entidad- relación de la base de datos que se va a ocupar. Además se identificó el tipo de relación entre las entidades, para conservar la integridad relacional. - Se prosiguió a normalizar las entidades quitando la redundancia de datos, así como generando nuevas entidades (entre ellas los catálogos). 17 - El diagrama entidad-relación se hizo con base a una herramienta case llamada Erwin, que se utilizó para tener una mejor visualización de la estructura de las entidades que contendrán la información almacenada. - La generación del diagrama mediante la herramienta mencionada también se utilizó para generar el script que generará dicha base de datos en Informix. o Diseño de pantallas para una presentación preliminar, de acuerdo a los requerimientos planteados. o Se diseñaron pantallas de captura de datos en Visual Basic, así como la explotación de esos datos por medio de reportes. o Se presentaron las pantallas que conforman el sistema al área que lo requiere, revisando las posibles dudas que surgieron en la presentación. o De acuerdo a algunas sugerencias durante la presentación se adecuaron algunos datos y pantallas . o Codificación del sistema: Se optó por el lenguaje Visual Basic, con una plataforma Informix para la base de datos. o Se generaron algunas rutinas de uso general; que permite el ahorro de tiempo durante la codificación . o Se generó la base de datos en informix en un servidor central. o Se direccionó el sistema mediante un ODBC hacia el servidor que contendrá la información . o Instalación del sistema para pruebas del área : Se instaló el sistema para que lo prueben los usuarios. o Se instaló en 5 equipos de computo. 18 __ _____ ~ __ ~_"",,"-___ ............ __ ""M ____ _ o Capacitación a los usuarios que manejarán el sistema: Se reunió a las personas que utilizarán el sistema, para plantearles el uso que tendrá el sistema. /1.// Sistema de SAP(Sistema de A veriguaciones Previas) El sistema SAP, es una evolución del sistema que la PGJDF ha ido manejando a lo largo de varios años. En un inicio se tenía un sistema llamado APCOM que se codificó en clipper, después se sustituyó por 'Jna versión más sofisticada , cliente servidor codificada en Visal Basic, y en la versión que mas reciente se ha instalado, se utilizó el mismo lenguaje de programación para la codificación , con las mejoras de que no sólo se inician las averiguaciones previas, sino que se llevan a su resolución final. La versión en la que se . tuvo mayor participación es en la que se liberó el 30 de marzo del 2005, y las actividades realizadas que se describen , son actividades en las que se apoyó. 11.11./ Objetivo Auxiliar a los Ministerios Públicos, Oficiales Secretarios , Fiscales, Subprocuradores y al personal Administrativo al registro de manera eficiente de las averiguaciones previas que se levantan en la PGJDF, y así satisfacer las necesidades de la ciudadanía al levantar una averiguación previa pudiendo realizar investigaciones para la mejor visualización y solución de los problemas delictivos que aquejan al D.F. 11./1./1 Funciones de las Áreas Involucradas Entre las áreas involucradas se listan las Agencias de las Fiscalías Desconcentradas de la PGJDF. 19 ------- - Funciones de las agencias de las diferentes Fiscalías de la PGJDF: Iniciar y dar continuación a las averiguaciones previas que se levantan en cualquiera de las Agencias de las Fiscalias respectivas. Enviar y recibir averiguaciones previas, cuando se requiere. 11./1./11 Tecnología con la que se cuenta: Equipo Computadoras con las siguientes características: o Microprocesador Celerón, Pentium !I , Pentium 111. A 500 Megahertz, con Memoria ram de 60 Megabytes. 120 Megabytes. o Microprocesador Pentium 4. A 3.2 Gigahertz, Memoria ram 515 Megabytes Software o Informix como plataforma para la Base de datos. o Unix como sistema operativo para la Base de datos o Windows 98 como sistema operativo para las PC que tendrán el sistema. o Visual Basic para el desarrollo o codificación del sistema I/.I/.IV Requerimientos para el sistema: Entre los requerimientos de las áreas en las que se instala el sistema SAP están: o Registrar el inicio de averiguaciones previas . o Agregar diligencias a las averiguaciones iniciadas. o Proponer el NEAP(No Ejercicio de la Acción Penal). o Proponer el EAP (Ejercicio de la Acción Penal). o Enviar a archivo averiguaciones previas . o Emitir reportes de consulta para investigación de las averiguaciones previas. o Consultar e imprimir las averiguaciones previas. 20 - - -- -- --. ----- - /1./1. V Actividades realizadas o Permitir el envío de las averiguaciones previas en modo electrónico a otras áreas de la PGJOF o Se preparó el envío ó remisión mediante una entidad auxiliar, en la que se controle la pertenencia de la averiguación previa . Otro modulo detecta la entidad y se lleva la averiguación a un servidor central, en el que la averiguación queda lista para que el área destino pueda bajar la averiguación a su propio servidor . o Se emitió un volante de remisión para comprobar el envío de la averiguación previa . o Se permitió la reimpresión del volante de remisión por posibles fallas de la impresora. o Permitir bajar las averiguaciones que le f'Jeron enviadas electrónicamente, a su servidor . o Se generó una rutina que identifique el status que guarda la averiguación previa y así poder bajar o radicar la averiguación previa a su servidor. o Se agregaronvalidaciones para poder cancelar el envío de la averiguación cuando así se requiera, y poder tomar otra vez la pertenencia de la averiguación previa . o Se agregaron validaciones para enviar o cancelar el envío de las averiguaciones previas a incompetencia. o Se generaron rutinas de uso estandar en visual basic para buscar, insertar, modificar y llenar controles de las pantallas de ca ptura y/o consulta. Con la creación de éstas rutinas se agiliza la codificación del sistemas. 21 o Se agregaron validaciones para poder integrar el modulo del NEAP (No Ejercicio de la Acción Penal), y poder manejar su propio menu. 11./11 Modulo "NEAP" (No Ejercicio de la Acción Penal) (modulo del Sistema "SAP" Sistema de Averiguaciones Previas) El modulo surge como una necesidad de cubrir una actividad muy importante, que es el de llevar el control de una de las determinaciones de las conclusiones del estudio de las averiguaciones previas , NEAP(No Ejercicio de la Acción Penal). Se registra el destino de las averiguaciones propuestas para el NEAP, y se da continuidad a las mismas para su estudio, se pueden seguir llenando diligencias, como son dictámenes de aprobación, objeción o incompetencia, así como llenar notificaciones, y pertenencias sobre la averiguación previa . 11./11./ Objetivo El objetivo es dar continuidad a las averiguaciones previas después de su determinación NEAP(No Ejercicio de la Acción Penal), y tener su registro electrónico completo. /1./11./1 Funciones de las áreas involucradas El Modulo de NEAP se manejará en diferentes áreas: Las Fiscalías de la PGJDF, CAMPAP(Coordinación de Agentes del Ministerio Público Auxiliares del Procurador), Archivo Histórico Central y las Subprocuradurías. Entre las funciones de las áreas que estud ian el NEAP están : 22 o Realizar las propuestas del No Ejercicio de la Acción Penal de conformidad con la aprobación de los Fiscales o Subprocurador correspondiente. o Llevar el control de los dictámenes sobre la procedencia o improcedencia del No Ejercicio de la Acción Penal , propuesto por agentes del Ministerio Público adscritos a las unidades de investigación de las Agencias de las diferentes Fiscalías de la PGJDF. o Dar a conocer de manera pronta y oportuna los escritos de inconformidad presentados respecto de la determinación del No Ejercicio de la Acción Penal, turnándolos al Fiscal o al Subprocurador correspondiente. Funciones de las Fiscalías Concentradas y Desconcentradas de la PGJDF en cuanto al NEAP o Proponer el No Ejercicio de la Acción Penal de las averiguaciones que lo requieran (llenado de acuerdos de No Ejercicio de la Acción Penal). o Dictaminar las Averiguaciones con NEAP con delitos con promedio aritmético menor a 5 años (llenar acuerdos de dictamen). o Envíos mediante listado a CAMPAP, las Averiguaciones con NEAP con delitos con promedio aritmético mayor a 5 años (relaciones de averiguaciones previas). o Notificación mediante listado a CAMPAP, de las Averiguaciones con NEAP con delitos con promedio aritmético menor a 5 años , dictaminadas en las Fiscalías (relaciones de averiguaciones previas) . o Envíos mediante listados al Arch ivo de Concentración Histórico , las averiguaciones con NEAP, procedentes (aprobadas) en la fiscalía (relaciones de averiguaciones previas). Funciones de CAMPAP Dar continuidad a las averiguaciones que se determinan con No Ejercicio de la Acción Penal; involucra a algunas de sus áreas : Mesa de Control , Fiscalías de 23 ----------------------------------- - - - CAMPAP, Notificadores, promociones. A continuación se listan algunas de las funciones a desarrollar Mesa de Control : o Recepción de las averiguaciones propuestas de No Ejercicio de la Acción Penal por parte de las Fiscalías . o Asignación de Averiguaciones a Ministerios Públicos de CAMPAP, para su estudio y dictaminación. o Modificación de datos de control de la Averiguación registrada. o Consulta de Averiguaciones que ingresan a CAMPAP. o Envíos por listado de averiguaciones, al lugar de origen o al Archivo, de acuerdo a su resolución final. o Emisión de reportes de control de las averiguaciones que ingresan. Fiscalías de CAMPAP. o Dictaminar las Averiguaciones con NEAP con delitos con promedio aritmético mayor a 5 años. Notificadores o Realizar Notificaciones del dictamen a las personas involucradas en la averiguación . Funciones de las Subprocuradurías Dar continuidad a las averiguaciones que se inician en la Fiscalias y que se les da alguna determinación jurídica. Funciones del Archivo El Archivo Histórico Central tiene como función general, almacenar las Averiguaciones Previas , a las que se aprobó el No Ejercicio de la Acción Penal. Entre sus funciones particulares se listan las siguientes: o Recepción de las Averiguaciones con NEAP procedente(Aprobada), para su almacenamiento. 24 - - - -----~-'--"~~~""""----- o Préstamo de las averiguaciones almacenadas . o Registro de las averiguaciones devueltas. 11./11.//1 Tecnología con la que se cuenta Equipo Computadoras con las siguientes características : o Microprocesador Celerón, Pentium 11, Pentium 111. A 500 Megahertz o Memoria ram de 120 Megabytes. Software o Informix como plataforma para la Base de datos. o Visual Basic para el desarrollo o codificación del sistema o Unix como sistema operativo para la Base de datos o Windows 98 como sistema operativo para las PC que tendrán el sistema. II.//I.IV Requerimientos para el sistema: Entre los requerimientos de las áreas en las que se instala el sistema SAP o Dar recepción a las averiguaciones, que envía las Fisca lías con Propuesta del No Ejercicio de la Acción Penal o Dar continuidad a las averiguaciones con Propuesta de No Ejercicio de la Acción Penal. 11.//1. V Actividades realizadas o Diseño de pantallas para la codificación . o Se diseñaron pantallas de captura de datos en Visual Basic, así como la explotación de esos datos por medio de reportes. 25 o Se capacitó a las personas que codificaron el módulo : En la funcionalidad que tendría el sistema, así como en Visual Basic que es el lenguaje a utilizar. o Codificación de rutinas de uso general y menú general : Se optó por el lenguaje Visual Basic, con una plataforma Informix para la base de datos. Se generaron algunas rutinas de uso general : Que permite el ahorro de tiempo durante la codificación. o Se generó la base de datos en informix en un servidor central. o Se direccionó el sistema mediante un ODBC hacia el servidor que contendrá la información. o Codificación y adecuación del modulo para el cambio de versión del sistema SAP. II.IV Mantenimiento e instalación del Sistema Control de Automotores Robados "CONAURO". El "CONAURO" es un sistema para el registro de averiguaciones previas de la PGJDF que involucran el robo de vehículos . 1/. IV. I Objetivo: Permitir el registro de las averiguaciones previas con el delito de robo de vehículos, y conocer estadísticamente datos relevantes sobre el robo de los vehículos, para su posterior investigación. 1/. IV. 1/ Funciones de la áreas involucradas Las áreas que utilizan el sistema, son las Agencias de las Fiscalías Desconcentradas de la PGJDF, y la Fiscalía de Robo de Vehículos y Transporte. 26 --- - - - -~-~~--~_ ........... --- o Inicio de averiguaciones previas con delito de robo de vehículo. o Registro de la recuperación y devolución de los vehículos. o Enviar y recibir averiguaciones cuando se requiera. IJ./V./11 Tecnología con la que se cuenta Equipo Computadoras con las siguientes características: o Microprocesador Celerón, Pentium 11, Pentium 111. A 500 Megahertz o Memoria ram de 120 Megabytes. Software o PROGRESS como plataforma para la Base de datos. o PROGRESS para el desarrollo o codificación del sistema o LINUX como sistema operativo para la Base de datoso Windows 98 como sistema operativo para las PC que tendrán el sistema. IJ.lV.IV Requerimientos para el sistema o Actualización de los reportes emitidos por el sistema. o Generación de nuevos reportes de consulta . o Actualizaciones del sistema. IJ.lV.V Actividades realizadas o Se Hicieron adecuaciones al código fuente del sistema o Se adaptaron las actas de las Averiguaciones previas que emite el sistema a nuevas actualizaciones . Se codificó en lenguaje 4GL de PROGRESS, con una base de datos con plataforma en PROGRESS. o Se generaron reportes de interés para el área en la que se encuentra instalado el sistema. 27 o Se hicieron reinstalaciones del sistema, para actualizar los cambios realizados. o Se desarrolló un módulo para robo a transportistas o Se utilizó PROGRESS para la codificación o Se utilizó una base de datos con plataforma en INFORMIX o Se desarrolló un módulo para migrar la información a SNSP(Sistema Nacional de Seguridad Pública) o Se utilizó Visual Basic para la codificación del modulo o Se migró la información de la plataforma de PROGRESS a INFORMIX. o Se configuró el modulo para que estuviera activo y esté actualizando la información para SNSP. II.V Mantenimiento y adecuación a los sistemas de la Institución para el cambio al año 2000. El cambio de año al 2000 fúe de interés para revisar los sistemas que estaban operando en la PGJDF en ese entonces, porque se esperaba que el equipo pudiera ser obsoleto, así como el software que se utilizó para el desarrollo de los sistemas no pudiera identificar el año 2000. 1/. V.I Objetivo Corregir posibles fallas de los sistemas que estaban operando en las diferentes áreas de la PGJDF. 1/. V.I/ Funciones de las áreas Involucradas Las áreas que se involucran son administrativas y áreas que tienen actividades sustantivas. Entre las actividades que utilizan sistemas de computación se pueden 28 citar: control de gestión, captura de llamadas a Policía Judicial, control de estadísticas. /l. V./l1 Tecnología con la que se cuenta. Equipo Computadoras con las siguientes características: o Microprocesador Celerón, Pentium 11, Pentium 111. A 500 Megahertz, con Memoria ram de 60 Megabytes. 120 Megabytes. o Microprocesador Pentium 4. A 3.2 Gigahertz, Memoria ram 515 Megabytes Software o Informix como plataforma para la Base de datos. o LINUX como sistema operativo para la Base de datos o Windows 98 como sistema operativo para las PC que tendrán el sistema. o PROGRESS como plataforma para la Base de datos. o PROGRESS para el desarrollo o codificación del sistema o Visual Basic para el desarrollo o codificación del sistema o CLlPPER para el desarrollo o codificación del sistema o ACCESS para almacenamiento de la base de datos /l. V.IV Requerimientos para el sistema o Actualización de los sistemas creados en la PGJ del DF o Revisión de resultados al año 2000. o Documentación de los cambios requeridos . /l. V. V Actividades realizadas Se revisó la parte de software o Se hicieron adecuaciones al código fuente de los sistemas, para que no tuvieran problemas al iniciar el año 2000. Entre los sistemas 29 adecuados se encuentran: Sistema de Control de Gestión, Sistema de Control de Automotores Robados "CONAURO", "061" para Policía Judicial, Sistema de Averiguaciones Previas por Computadora "APCOM" entre otros . o Se clasificaron los sistemas de acuerdo al área y al lenguaje utilizado: o Se emitieron reportes de los cambios realizados o Se realizaron sugerencias a los creadores o encargados de los sistemas, sobre algunos errores presentados . 30 Capitulo 111 Reflexiones Los puntos reflexivos que se describen a continuación son en cuanto a la carrera de Ingeniería en Computación y la experiencia profesional obtenida en el desarrollo de sistemas. El haber aprendido a desarrollar programas de computación, y pensar en aplicarlos · en la vida real, involucra estar en constante evolución , por lo que es importante estar actualizando nuestros conocimientos . Si es posible, buscar apl icarlos en cualquier lugar que se necesite reducir tiempo de captura, se requiera tener información almacenada, se desee emitir datos para reportes o tal vez realizar cálculos con mayor precisión. Se puede considerar un sistema de computación como una combinación de software y hardware que da una solución a un problema de negocios. El desarrollo de sistemas es la creación de un programa para un cliente, este último es quien tiene el problema que debe ser resuelto . Un analista es el que documenta el problema del cliente y lo comunica a los desarrolladores, que son los programadores que generarán el programa que resolverá el problema y lo distribuirán en equipos de . computación. Dado que el desarrollo de sistemas es una actividad humana, la comunicación de la idea es de suma importancia . Hay muchas posibilidades de cometer errores en cualquier etapa del proceso, por ejemplo , el analista pudo haber malentendido al cliente, es decir, probablemente produjo un documento que el cliente no pudo comprender. Tal vez ese documento tampoco fue comprendido por los 31 -- - - - - --~-~--------- programadores quienes, por ende, pudieron generar un programa difícil de utilizar y no generar una solución al problema original del cliente. Hoy en día , es necesario contar con un plan bien analizado. Un cliente tiene que comprender que es lo que hará un equipo de desarrolladores; además tiene que ser capaz de señalar cambios si no se han captado claramente sus necesidades (o .si cambia de opinión durante el proceso). A su vez, el desarrollo es un esfuerzo orientado a equipos, por lo que cada uno de sus miembros tiene que saber que lugar toma su trabajo en la solución final , así como saber cual es la solución general. Otra característica del desarrollo de sistemas es reducir el periodo de desarrollo. elaborando un buen plan de análisis, también es importante facilitar la conversión del proyecto cuando así se requiera (tal vez por cambio de empresa). 32 /11./ La Metodología de Investigación utilizada La metodología de investigación que más se ha usado es en forma general , involucra la observación, entrevistas y cuestionarios. Durante la entrevista con el usuario, no se recomienda basarse solo con lo que piden para el sistema. Se debe conocer el área, pedir que platiquen sobre las funciones que realizan y que se relaciona con lo que solicitan, hacer lo posible para que se permita observar el área en donde se realizan dichas funciones , y observar como se llevan a cabo. Todo esto porque, cuando piden lo expresan muchas ocasiones en modo muy general para su medio; nosotros lo interpretamos dentro de un medio a nivel informático y con más detalle. La formulación de cuestionarios, en un inicio son en forma muy general , porque a medida que se va analizando la información recopilada, serán más específicos sobre algún punto de interés. Es muy importante la recopilación de documentos fuente , estos documentos pueden ser reportes, oficios, acuerdos, estadísticas, facturas, volantes etc. que se emiten en el área que necesita el sistema. Los documentos recopilados nos auxilian para determinar que datos almacenados serán explotados, nos van a servir durante el análisis para un mejor diseño de pantallas y de la base de datos . . 111./1 La Determinación del Objetivo Determinar el objetivo que se persigue al requerir un sistema de computación, no es una tarea en la que se tenga que establecer el objetivo en forma inmediata . Se detalla con más exactitud, después de que se entrevista a los usuarios y después de recopilar los documentos fuente. El objetivo describe el alcance que tendrá el sistema, el cual cubrirá las necesidades de los usuarios . 33 Algunas veces se realizan sistemas que cubren determinadas actividades de un área , y se define comoconcluido; se llevó a cabo el objetivo plan~eado para ese sistema. Pero que sucede cuando posteriormente se necesitan ir agregando otras actividades que van relacionadas con las primeras, tal vez el objetivo tendrá que cambiar para el sistema, o el sistema se integrará como un modulo a un sistema más completo. Cuando el sistema involucra actividades que permitan el crecimiento del mismo, es importante identificar el alcance que el sistema tendrá en un futuro para poder determinar el objetivo general que se cubrirá, y evitar buscar un nuevo objetivo. 111./11 Los Conocimientos Las materias de administración son materias muy útiles para poder iniciar un análisis del sistema y permite tener un control más detallado de su desarrollo. Dentro de su · teoria presenta la planeación(¿Oue se va ha hacer?), la organización(¿Como se va ha hacer?), la dirección(¿Ouien lo va ha hacer?) y el control(Ver que se haga), que al ser revisadas y aplicadas ayuda a determinar en que punto arrancar y continuar, con lo que se podrán obtener resultados óptimos, y reducir el tiempo de solución de los problemas que se presenten. Claro que existen diferentes formas que permitirán plasmar mediante modelos los procesos que se van llevando a cabo. Identificar que se va ha hacer es parte de la organización inicial del análisis de sistemas. Al principio se tiene una solicitud del sistema con un objetivo muy general, que indica que se va hacer. Durante la investigación de la solicitud se hace un plan de trabajo que indique como se va a hacer, en el cual se utiliza un listado de tareas a realizar. Con que se va a hacer involucra determinar los recursos humanos y materiales con los que se . cuenta . 34 Ver quien va a hacer cada tarea, involucra conocer los recursos humanos con los que cuenta la empresa, y como repercute en el tiempo de desarrollo . Deberá existir un equipo de control, para que vea que lo que se planeó se lleve a cabo, y que cumpla con lo requerido, es decir, llevar un control de calidad. La falta de llevar un control de calidad, puede generar que no se tengan resultados favorables después de la instalación del sistema. Este control de calidad no solo implica una buena presentación de menús y pantallas , si no también llevar un buen control de los resultados esperados. Por tal motivo el control de calidad es necesario que se lleve a cabo durante la finalización de cada pantalla de captura o emisión de resultados, y esto implica analizar la información almacenada y que corresponda , tanto para cada registro, como revisar la relación de los datos en forma general. No solo es necesario conocer la funcionalidad de la parte que se codificó , porque todo lleva a un fin común. Un ejemplo podría ser tener una función que es la de remitir(Enviar información hacia algún destino), si te encierras en las remisiones no te darás cuenta que el sistema necesita validar que la información no haya sido enviada a otro lugar, e intentará trabajar con los datos como si le pertenecieran todavía, lo que ocasionará que el control de la información se pierda . No solo se debe esperar cumplir mentalmente con un horario de trabajo , habrá momentos que necesiten de más responsabilidad, sin necesidad de cubrir todas las horas planeadas, y debido a la entrega que se tiene no ,se sentirá la presión para . poder entregar resultados. Claro que si hay una buena planeación de trabajo, y buena organización tal vez sobre tiempo para terminar y perfeccionar la documentación del sistema. Es necesario evaluar el desempeño que tienen nuestras herramientas de trabajo, en este caso las computadoras que se utilizarán para desarrollar el sistema y almacenar la información que se capture . La evaluación permite plantear las posibilidades de 35 solicitar nuevas herramientas cuando sea necesario o disponerse a explotar lo que se tiene. Para evaluar es necesario conocer algunos puntos que se describen a continuación entre otras características que nos permiten ejecutar el sistema a desarrollar. El uso cotidiano de un sistema es para controlar gran cantidad de información, que requerirá un espacio dentro de la computadora, dicho espacio necesitará planearse, por lo que se tendrá que verificar que capacidad se tiene en el disco duro de la computadora que va a almacenar la información. Cada vez que se termina un proceso se necesita estar probando y el tiempo de respuesta para cada prueba es primordial para acelerar la terminación del proceso, además de garantizar un tiempo de respuesta minimo del sistema, de aquí la necesidad de conocer cual es la velocidad de procesamiento de datos de la computadora que se esta utilizando. Por la utilización de procesos que se cargan en memoria mientras se procesa la información es importante verificar que cantidad de memoria se tiene para procesar dichos datos. Tener una presentación aceptable del sistema, además de intentar utilizar procesos cada vez más sencillos, requiere evaluar el software que se utilizará para generar el"' sistema. La capacidad para almacenar la información así como la explotación de esa información implica investigar sobre la plataforma que contendrá nuestra base de datos. El l11al funcionamiento de las bases de datos de Informix, al dejar de servir a los sistemas de captura y consulta, orilló a una revisión del área de redes en cuanto a sus conexiones, del área de sistemas en cuanto a los sistemas operativos, del área 36 ~------------------------------------- ---- - - de soporte en cuanto al hardware y se llegó a la conclusión de que era necesario el cambio del sistema operativo a utilizar. En esta dirección existe otra área que se encarga de verificar que enlaces o redes se utilizarán para comunicar nuestras computadoras , por lo que en el área de sistemas no se invirtió tiempo para esa actividad. III.lV La Presentación del sistema El desenvolvimiento durante la entrega de proyectos en la carrera , de cualqu ier materia, fueron pequeñas experiencias, en las que se tuvo que hacer una presentación ante un público que cal ificaría los resultados. Aunque esta presentación en la escuela era definitiva al final del semestre, y que a cambió esperaba una calificación aprobatoria , en el caso de hoy la presentación es en modo parcial y al final se espera una satisfacción porque usan lo que se ha creado para ellos . 1) Se debe tener mucha seguridad en lo que se realiza , para transmitir confianza al usuario de que use el sistema. La presentación es la fase en la que todavía no se codifica, solo se presenta el diseño de las pantallas que formarán parte del sistema, es el momento de plantear al usuario la facil idad de realizar sus funciones . Claro que . este diseño debe de abarcar todos los puntos requeridos, y se debe mostrar flexibilidad para el cambio, en caso de que el usuario lo requiera . 111. V Las pruebas Las pruebas son una parte fundamental , antes de liberar el sistema. Es muy importante clasificar los errores surgidos durante la prueba. Surgen nuevas ideas de mejorar la presentación del sistema, pero si el tiempo que se tiene para liberarlo 'es ya muy poco, se tiene que enfocar mas a los errores correctivos , los que surgen y limitan funciones planeadas , los errores que dejan resu ltados inesperados, los que 37 no dejan avanzar en nuestro objetivo. Los errores perfectivos se limitan hasta que ya se corrigieron los errores correctivos . Para clasificar errores surgidos durante las pruebas, se debe poseer un sentido común para identificarlos, y esta facilidad se obtiene con la experiencia. La experiencia se obtiene desde el momento que estamos haciendo una programa en la escuela en los que se detectan resultados no deseados y en donde el tiempo de entrega se acorta. Es el momento de determinar los errores que se atenderán primero. fII. VI La capacitación Para poder liberar un sistema,no se debe pasar por alto la capacitación de los usuarios, tanto en nivel operativo como directivo. La seguridad que se tiene en realizar las funciones , ayudan a transmitir en forma más clara el funcionamiento del sistema para el usuario. Nos enfrentamos con personas que no conocen nada de computación , por eso es muy importante capacitarlos . Durante una capacitación es de gran utilidad mostrarle al usuario las actividades más cotidianas durante el uso del sistema, una actividad por ejemplo consiste en estar seleccionando. El estar seleccionando implicaba usar el botón izquierdo del mouse, o moverse con las flechas del teclado y dar <Enter>. Después de haber explicado esta parte, se les permite solo mover el mouse a través de toda su pantalla de captura, desplazarse en el menú y observar los mensajes que aparezcan. Después de que se familiarizaron con el entorno , se empiezan a realizar ejemplos de captura, de preferencia tratando que sean muy reales. La capacitación sirve para que el usuario haga y deshaga su información. Durante los ejemplos surgen dudas, de las cuales el sistema cubre en algún menú que el usuario desconoce, y algunas dudas son inquietudes del usuario por mejorar el sistema. Se lleva un registro de todas las 38 dudas, sin omitir ninguna, y después se clasifican por importancia, tratando de liberar todas. El observar la facilidad con la que el usuario maneja el sistema, o las dificultades que se le presentan, permiten mejorar la captura de los datos e incluso ahorrar tiempo de captura, presentándoles datos en forma automática en el lugar que se requiera . 111. VII La Toma de decisiones Existen casos en los que se tendrá que decidir que hacer en la parte que nos toca desarrollar, claro que se debe pedir opinión. Un ejemplo es al tratar de agregar un área que no estaba clasificada dentro de un catálogo de las Fiscalias para que se les remitieran averiguaciones previas. Se respetan la categorías que manejan, sin tratar de imponer cambios a sus catálogos. Claro que cuando es necesario un cambio drástico, se debe presentar la justificación y los beneficios que se pudieran presentar, para que puedan funcionar dentro del sistema . 39 Capitulo IV Anexos Este apartado describe a través de un ejemplo los pasos para generar un modelo de entidad-relación para generar una base de datos; en este ejemplo solo se utiliza hasta la 3ra. de normalización, el seguir normalizando ya es a criterio del que está diseñando el modelo. 40 Diseño de la Base de Datos Relacional 1.- Se diseña una base de datos tipo Relacional. Ventajas: o Minimizar redundancia de datos: no deben existir datos repetidos. o Controlar la integridad de los datos mediante reglas (CONSTRAINS): Que un dato padre no deje datos huérfanos en otra tabla. o Se puede usar en forma multiusuario(CONCURRENTE): Mas de un usuario al ' mismo tiempo. o Se pueden agregar cambios por crecimiento. Factores críticos de éxito: o Entender de manera profunda los requerimientos. o Debe existir mucha comunicación con el usuario. o Utilizar preguntas concretas Que necesidad tienen (viabilida/factibilidad) Que método utiliza actualmente. Entrada y salida de datos. o Se debe utilizar una metodología. o Utilizar diagrama para representar el modelo de los datos. Pasos o Levantar la información: En este caso pondremos un ejemplo de un sistema para almacén. o Identificar los datos principales . o Identificar las entidades principales o Utilizar una matriz entre las entidades para relacionarlas. Se maneja de izquierda a derecha y de abajo hacia arriba, se relacionan con verbos. 42 Contrato Entrada Salida Factura Contrato Tiene Tiene Tiene Entrada Corresponde Tiene Tiene a Salida Corresponde Es de a Factura Corresponde Corresponde a a o Identificar la Conectividad entre las entidades: Describe el número de registros permitidos en una relación (Ejemplo: 1:N -7 uno a muchos. Un contrato tiene n entradas) Contrato Entrada Salida Factura Contrato 1:N 1:N 1:N Entrada 1:1 1:N 1:1 Salida 1:N 1:N Factura 1:1 1:1 43 CONECTIVIDAD POR LO TANTO Contrato Entrada \ :N = \:N .. ~ \ : \ Contrato Salida \ :N =M:N .. ~ N:\ Contrato Factura \:N = ]:N .. ~ ];] Entrada Sal ida ] :N = M:N .. ~ N:] Entrada Factura = ] :] ]:] .. ~ ] : ] o Identificar la cardinalidad. Ejemplo: Para una entrada se debe forzar a que exista un contrato . ! Entrada ! (1 :1) ! Contrato o Identificar la existencia : Ejemplo Para que exista un entrada deberá existir un contrato 44 Contrato Entrada Opcional • = O ... Obl igatorio Contrato Salida Opcional • O = ... Obl i gatorio Contrato Factura Opcional • O = ... Obl igatorio Entrada Salida = O Opcional • ... Obl i gatorio Entrada Obli gatorio • Factura ... Obligatorio = o Utilizar una herramienta case: En este caso utilizamos un software llamado Erwin para generar el diagrama de entidad-relación. o Realizar un diagrama de entidad-relación: se basa en el diagrama formalizado de C.W. Bachman o Determinar los atributos de los datos de cada entidad o Identificar de que tipo (caracteres, numéricos). 45 Contrato Entrada Num Contrato Cadena(20) FolioEntrada Fecha Contrato Fecha AñoEntrada Fecha Vence Fecha Factura Cve_PaliidaPresup Numero NumContrato Partida _Presup Cadena(30) Bien Cve Bien Numero Marca Bien Cadena(30) Cantidad Cve Marca Numero Marca Cadena(30) Cantidad Numero Factura NumFactura Cadena(30) FechaFactura Fecha Bien Cadena(30) Marca Cadena(30) Cantidad Número Precio Número Salida NumRemision Cadena(20) FechaSalida Fecha Bien Cadena( 10) Marca Cadena(10) CantidadSale Número NumContrato Cadena(20) N úmero N úmero C adena(20) Cadena(20) Cadena(30) Cadena(30) Número o Atomizar hasta su mínima parte: En el caso de que existan datos como es el ejemplo de los nombres de personas, se necesita descomponer en nombre, apellido paterno y apellido materno. o Identificar las relaciones uno a uno: Se deben intercalar las dos entidades en una sola, para eliminar esa relación. Ejemplo: La entidad entrada tiene relación de uno a uno con factura, por lo que el diagrama inicial queda así : Entrada FolioEntrada AñoEntrada Factura F echaF actura NumContrato Bien Marca Cantidad Precio Número Número Cadena(20) Fecha Cadena(20) Cadena(30) Cadena(30) Número Número 46 o Resolver las relaciones de muchos a muchos: a) Identificar los atributos fijos y los atributos Variables. b) Insertar nueva entidad intersección y agregar atributos que varían Ejemplo : La entidad entrada tiene relación de muchos a muchos con la entidad salida Entrada_Salida IdSa lida Número FolioEntrada Número AñoEntrada Número NumRemision Cadena(2O') Bien Cadena(1O') Marca Cadena(1O') CantidadSale Número Entrada FolioEntrada AñoEntrada Factura FechaFactura NumContrato Bien Marca Cantidad Precio Salida Número Número Cadena(20') , Fecha Cadena(2O') Cadena(3O') Cadena(3O') Número Número NumRemision Cadena(2O') FechaSalida Fecha NumContrato o Normalizar el diagrama de entidad-relación: Poner los atributos en la entidad apropiada. 1 ra Forma NormalU FN) : a) Incluye la eliminación de todos los grupos repetidos (datos repetidos) . b) Crear una nueva tabla con el campo llave de la tabla base y el grupo repetido. 47 Ejemplo Entidad: Contrato Num - Fecha - Fecha_ Vence Cve - Partida_ Presup Cve - Bien Cve - Marca Contrato Contrato Partida Bien Marca Presup AftA 01-01-2005 10-01-2005 2000 MATERIALES Y 1 PAPEL 10 BOND SUMINISTROS AftA 01-01-2005 10-01-2005 2000 MATERIALES Y 2 SACA 20 MIRAD SUMINISTROS PUNT O AS CCC 01-02-2005 10-02-2005 2101 MATERIAL DE 1 PAPEL 10 BOND OFICINA 000 01-03-2005 10-03-2005 2102 MATERIAL DE 1 PAPEL 30 BOND LIMPIEZA El primer grupo con datos repetidos a eliminar es Cve_Bien , Bien, Cve_Marcay Marca. Contrato Num Contrato Cadena(20) Fecha_Contrato Fecha Fecha Vence Fecha Cve_PartidaPresup Numero Partida]resup Cadena(30) Detalle_ Contrato Num Contrato Cadena(20) Cve Bien Bien Cve Marca Marca Cantidad Numcro Cadena(30) Numero Cadena(30) Numero 2da Forma Normal(2FN): Todas las dependencias parciales se deben eliminar y separar dentro de sus propias tablas. a)Oeterminar cuales columnas que no son llave no dependen de la llave primaria de la tabla(Oichas columnas se eliminarán) .No existe dependencia funcional. b) Crear una nueva tabla con esas columnas y las columnas pk de la cual dependen (Columna que es parte de la llave primaria) . Cantidad 1000 100 1000 20 48 Entidad: Detalle_Contrato Num Cve Bien Cve Marca Cantidad - - - Contrato Bien Marca AAA 1 PAPEL BOND 1000 AAA 2 SACAPUNTAS 10 MIRADO 100 CCC 1 PAPEL 20 BOND 1000 i 000 1 PAPEL 10 BOND 20 Al cambiar la columna Cve_Bien cambia el Bien. Al cambiar la columna Cve Marca cambia la Marca. Detalle_Contrato CatBien Num_ Contrato Cadena(20) Cve Bien Numero Cve_PartidaPresup Numero Bien Cadena(30) Pm1ida_Presup Cadena(30) Cvc Bicn Numcro Cvc Marca Numcro Cantidad N umcro CatMarca Cve Marca Numero Marca Cadena(30) 3ra Normalización: Eliminar las dependencias transitivas(una columna que no es llave depende de otra que tampoco es llave) a) Determinar las columnas que son dependientes de otra columna no Llave (dichas columnas se eliminarán). b) Crear una segunda tabla con esas columnas y con la columna no llave de la cual son dependientes. La columna independiente a eliminar es Partida_Presup y depende de Cve_PartidaPresup. ESTA TESIS NO SAU. DE LA BIBI.IOTECA 49 Detalle_Contrato Num _Contrato Cadena(20) Cve_PartidaPresup Numero Cve Bien Numero Cve Marca Cantidad Numero Numero CatPartidaPresup Cve_Pal1idaPresup Numero Paliida ]resup Cadena(30) o Usar un script para convertir el modelo de los datos lógicos para generar una base de datos. Al término de la normalización, ya tenemos listo nuestro modelo para poder trabajar, por lo que tenemos que generar la base de datos en la que almacenaremos nuestra información. Se utiliza el software tipo CASE, en este caso se utilizo ErWin como una herramienta de apoyo para la generación del modelo y para corrección del mismo. so '-. Glosario Atributo.- Características de la entidad . Se descompone en su mínima parte . Ejemplo Nombre se descompone en apellido materno, apellido paterno y nombre. Automatizar.- Aplicar procedimientos automáticos a un aparato , proceso o sistema. Averiguación Previa.- Es el conjunto de diligencias con los datos de delitos y oficios que son capturadas dependiendo de los formatos que existan para el tipo de averiguación previa , existen directas, actas especiales, averiguaciones previas especiales , colaboraciones y relacionadas. Cardinalidad.- Es referida a la restricción que existe para la dependencia entre entidades, por ejemplo dos entidades averiguaciones y delitos tienen una cardinalidad de 1 a n, porque una averiguación puede tener uno o más delitos. Cliente.- Nodo o programa de software (dispositivo front-end) que requiere servicios de un servidor. Cliente.- Persona o Razón Social que necesita resolver algún problema con la implantación de un sistema de computación. Codificar.- Traducir la información de procesos a realizar a un lenguaje de programación, para lograr un programa. Concurrente.- Es una etapa en que diferentes sesiones en la base de datos ejecutan una acción (insert, select, update, delete) que accede al mismo tiempo una entidad específi ca. 52 Conectividad.- Describe el número de registros permitidos en una relación. Constrains .- Son reglas , que exigen a la entidad a comportarse de una forma especifica, como mantener la relación a otra entidad, exigir la integridad por llave primaria, exigir que un atributo se comporte en una forma especifica, etc. Datos.- Es la información que está contenida en una base de datos, para la retroalimentación del sistema por medio del usuario y mediante el intercambio de datos. Diligencias.- Es una estructura que describe una acción especifica que realizan los ministerios públicos, oficiales secretarios y los ofendidos, querellantes, testigos y culpables. Emitir.- Generación de un documento que avale una averiguación previa, ya sea en medio electrónico o físico. Entidad.- Evento , objeto de interés, el cual contiene datos referentes a una actividad específica dentro de un sistema de información, las cuales se componen de atributos y registros. Existencia.-Se refiere al tipo de constraint que se le definirá a un atributo de una entidad para exigir la existencia el constraint debe exigir la obligatoriedad del atributo (NOT NULL). Factibilidad.- Es la presentación y aprobación del proyecto para su ejecución . Esta se. debe de llevar a cabo cuando se tenga ya un buen cúmulo de información levantada y de acuerdo con la interacción de las personas que son ejecutivos de la empresa , puede ser después de un levantamiento o en la fase de análisis . 53 l ' 1 .. Filtrar.- Es la acción de aplicarle condiciones a una búsqueda, esta es parametrizada por las necesidades del flujo en el sistema o por un modulo de búsquedas en la cual el usuario establece las condiciones de búsqueda. Formatos.- Plantillas de diligencias que son utilizadas en la conformación de una averiguación previa . Indagatoria.- Es una estructura que lleva un flujo ordenando todos los pasos que debe seguir un ser humano al demandar justicia ante su institución judicial que le corresponda . LAN.- Red de área local. Red de datos de alta velocidad y bajo nivel de error que cubre un área geográfica relativamente pequeña (hasta unos pocos miles de metros). Las LAN conectan estaciones de trabajo, periféricos, terminales y otros dispositivos en un solo edificio u otra área geográficamente limitada. Los estándares de LAN especifican el cableado y la señalización en la capa física y la capa de enlace de datos del modelo de referencia OSI. Ethernet, FDDI y Token Ring son tecnologías de LAN ampliamente utílizadas. Liberación.- Es la disponibilidad del producto al usuario final y después de las pruebas en el sitio de desarrollo seguido por las pruebas en versión beta por usuarios que operaran el producto. Mantenimiento.- Esta etapa se refiere a la adición de nuevos requerimientos, así también al tratado de los datos y/o módulos del sistema para su optimo funcionamiento . Modelo lógico.- Es un modelo grafico en donde están plasmadas todas las reglas lógicas de negocio, estas pueden estar expresadas en diferentes tipos de diagramas entre ellos de casos de uso, entidad relación, etc. 54 Monousuario.- Cuando se permite el acceso al sistema solo a un usuario a la vez. Multiusuario.- Cuando se permite la concurrencia , cuando mas de un usuario accesa al sistema a la vez. Normalización .- Es el proceso basado en reglas mediante el cual se transforman datos complejos a un conjunto de estructuras de datos más pequeñas , que además de ser más simples y más estables, son más fáciles de mantener y minimiza los problemas de lógica. Sirve para ayudar a los diseñadores de bases de datos a desarrollar un esquema que minimice los problemas de lógica. Objetivo.- Es una meta que se determina al iniciar un proyecto o una idea. Pantalla .- Interfaz física entre el usuario y la CPU, la cual puede ser de rayos catódicos o de LCD. Plataforma de base de datos.- Es un conjunto de programas, procedimientos y lenguajes que proporcionan a los usuarios las herramientas necesarias para operar con una base de datos. Por tanto, el administrador de la base actúa como un intermediario entre los usuarios y los datos. Debe cumplir una serie de funciones como descripción de los datos, de manera quedebe permitir definir los registros, sus campos, sus relaciones de autorización, etc. Debe manipular los datos permitiendo a los usuarios insertar, suprimir, modificar y consultar datos de la base de datos y por último, debe permitir usar la . base de datos, dando un interfaz adecuado a cada tipo de usuario . Programa.- Secuencias de instrucciones detalladas y codificadas que sirven para dirigir la actuación y realización de operaciones de una aplicación. 55 Proyecto.- Conjunto de metas ó actividades organizadas en tiempo y espacios definidos, y asociadas con la disposición de recursos humanos y materiales , para logra un objetivo en común. Pruebas.- Es la evaluación y aceptación de la calidad del producto , med iante la operación de este, esencialmente la tiene la tarea de encontrar, exponer y documentar los errores en el producto. Radicar.- Se refiere a la .acción de obtener la averiguación previa desde el lugar en donde la iniciaron o trabajaron , hasta el lugar en donde la seguirán trabajando o al lugar donde la almacenarán. Red.- Agrupación de computadores, impresoras, routers, switches y otros dispositivos que se pueden comunicar entre si a través de un medio de transmisión Registro.- Es el conjunto de valores para cada atributo de una entidad, por ejemplo, un registro de la tabla nombres, si solo tuviera dos atributos (llave, nombre), sería "1, 'IVONNE'. Relación.- Asociación, vínculo entre dos entidades o más. Remitir.- Se refiere a la acción de enviar la averiguación previa al lugar en donde hay recursos necesarios para darle seguimiento , ya sea una unidad , agencia o fiscalía, si no se es competente, al lugar donde se almacenan las incompetencias y si se determina que no debe seguir la averiguación se envía al área que dará seguimiento al no ejercicio de la acción penal. Servidor.- Nodo o programa de software que suministra servicios a los clientes. 56 Sistema.- Grupo independiente de objetos (aplicaciones), que interactúan regularmente con información para lograr una tarea especifica. Así también es la combinación del software con el hardware, que da una solución a un problema de negocios. Ventana .- Pantalla o Interfaz entre el usuario y el sistema que tiene el fin de intercambiar' información o solo mostrarla al usuario . Viabilidad.- Es el resultado del análisis para crear una idea o proyecto , el cual puede ser falso o puede ser verdadero cuando los recursos que integran la idea son suficientes. WAN .-Red de área amplia. Red de comunicación de datos que sirve a usuarios dentro de un área geográfica extensa y a menudo usa dispositivos de transmisión suministrados por proveedores de servicio comunes . Frame Relay, SMDS y X.25 son ejemplos de WAN .· 57 I ... Referencia bibliográfica. Bertalanffy, Ludwig Von. "Teoría General de los Sistemas". Fondo de Cultura Económica. V Edición. México 1976. Páginas: 30-40,146-157,167-169. Grijalva, L. Manuel. Gerez, G. Victor. "El Enfoque de Sistemas". Editorial Limusa. 1 a . Edición. México, 1976. Páginas: 19-57. Fitzgerald, J. Fitzgerald, A. F. J. Stallings , W.D. "Fundamentos de Análisis de Sistemas". CECSA. 1a . Edición. 2a . Impresión. México, 1990. Páginas:35, 36, 44-53, 269-285. Senn, James A. "Análisis y Diseño de Sistemas de Información". McGraw Hill. 1a . Edición. México 1988. Páginas: 10-37,78-79,202-207,237-241. INFORMIX, curso de "Diseño de Bases de Datos Relacionales" Joseph Schmuller. "Aprendiendo UML en 2~ horas, Prentice Hall. MOnich Galindo Lourdes, García Martínez José "Fundamentos de Administración" , Trillas 58 Portada Índice Introducción Capítulo I. La Subdirección de Sistemas de la Dirección de Informática Capítulo II. Experiencia Profesional Capítulo III. Reflexiones Capítulo IV. Anexos Glosario Referencia Bibliográfica
Compartir