UNIVERSIDAD AUTONOMA METROPOLITANA IZTAPALAPA c 43 T- PROYECTO TERMINAL BASE DE DATOS CONSEJOS DIVISIONALES ALUMNO: HERRERA EUDAVE SERGIO 83222635 COORDINADOR: VICTOR ALCARAZ PARAMO CONTENIDO : SISTEMA OPERATIVO UNIX - INTRODUCCION -ESTRUCTURA -CONTROL DE PROCESOS -SHELL -VENTAJAS E INCONVENIENTES B.D. CONSEJOS DIVISIONALES -ADQUISICION DE REQUERIMIENTOS -NORM ALIZACION -ESTRUCTURAS DE LAS TABLAS -REGLAS DE LAS ENTIDADES -DICCIONARIO DE DATOS UNIFACE -1NTRODUCCION Y FUNCIONAMIENTO -ALTA DE LA B.D. DE CONSEJOS DIVISIONALES Introducción El campo de los sistemas operativos ha sufrido muchos fallos costosos y frustrantes; pero también se han logrado varios éxitos significativos. El sistema operativo UNIX desarrollado por los laboratorios Bell, es uno de los éxitos más notables y es uno de los sistemas operativos más utilizados y con más futuro. Los sistemas UNIX se diseñaron con el objeto de ser sistemas aj?ropiados para apoyar el desarrollo de j?roqrmici.v Tienen un lenguaje de mandatos simple pero poderoso y un sistema de ni.chriws imiej?e?idierite de 10s dispositiius. A través del Sistema Bell se encuentran en uso cientos de sistemas UNIX, y es popular en ambientes universitarios e industriales. También existen versiones para coinputadoras personales. La configuración mínima necesaria para contener un sistema típico de múltiples usuarios de tiempo compartido es un procesador de 16K-bits con 256K bytes de almacenamiento principal y un dispositivo de disco de acceso rápido. Principales Características Su simplicidad, que lo hace un sistema confiable y de fácil comprensión. Las facilidades que presenta para la administración de procesos concurrentes, la cual lo pone en ventaja con respecto a otros sistemas de microcomputadoras como MS-DOS y la versión original de Macintosh. Esta característica lo hace muy atractivo para usarlo en estaciones de trabajo especializadas, sistemas para el manejo de bases de datos , redes y otros ambientes similares, que requieren la representación y el manejo de actividades siinultaneas. Uno de los objetivos que se buscó al construir el sistema fue proporcionar buenas herramientas de trabajo para el desarrollo de programas. Esto se logra principalmente a través de la gran cantidad de programas disponibles en el sistema, especialmente para el manejo de texto, labor para la que originalmente se construyó UNIX, y de su interpretador de comandos para obtener programas más complejos. Esta facilidad permite la construcción rápida de prototipos (es conveniente, sin embargo, aclarar que para esta última tarea los lenguajes de cuarta generación constituyen una buena alternativa aunque a un costo todavía muy alto). Por estar construido en lenguaje C, el sistema posee una gran portabilidad que le permite correr no sólo en computadores de diferentes marcas sino también de distintas características y tamaños (desde el IBM-AT hasta el CRAY 2 pasando por toda una gama de computadores medianos y grandes). Vale la pena resaltar que es el único sistema con estas características, que lo hacen muy atractivo en algunos ambientes. Estructura del Sistema UNIX El sistema operativo UNIX es un sistema de tiempo compartido y, por tanto, multiusuario, en el que existe la portabilidad para la implantación en distintas computadoras. Está formado por una serie de elementos que pueden representarse en formas de capas concéntricas donde, en primer lugar, alrededor del hardware de la máquina se encuentra el núcleo (kernel), que interactúa, directamente con el hardware, aislando a éste de los usuarios, además de adaptar el resto del sistema operativo a la máquina debido a la portabilidad que existe en el mismo. En una segunda capa se encuentran los comandos, que no son otra cosa que el interface de los programas de aplicación y el núcleo del sistema operativo. La última capa contiene los programas de aplicación El sistema operativo UNIX se compone de bloques funcionales que se encuentran representados a continuación: de a -programas 2 p l w El Núcleo En el centro del sistema UNIX, está el núcleo. Consiste en unas 10,000 lineas de código C, y otras 1000 lineas de código ensamblador. Dei código ensarnblador, la mayor parte realiza funciones de hardware no convenientes o prácticas en C.El resto es código de ejecución frecuente y se escribió en lenguaje ensarnblador por motivos de eficiencia de ejecución. El núcleo no representa más que un pequeña porción del sistema operativo (entre 5 y 10 % del código). El núcleo de UNIX se presenta a continuación: I Administrador de la interface para llamados al sistema I Sistema de Archivos I Z o n a s Auxiliares para Entradals a I¡d a Administra dores de Entrad a/Sal ida I por Caracteres por B l o q u e s Comunicación entre procesos Despachador Administra do r de l a memoria Control del Hardware El Módulo de control del hardware se refiere a aquella parte del sisteina que se encarga del inanejo de las interrupciones y de la comunicación directa con el computador. El subsisteina de control de procesos se encarga del inanejo de las actividades concurrentes, y consta del administrador de la memoria, el despachador, y del módulo de adininistración de los procesos concurrentes. El despachador da el control a los diferentes procesos de acuerdo con sus prioridades, las cuales dependen del tipo del proceso (del sisteina o de los usuarios), del tiempo de procesador que han recibido y del tiempo que llevan en l a cola de procesos listos. Sistenrn Ojierntivo UNZX 3 El Núcleo El administrador de la memoria se encarga del manejo de la memoria asociada a los procesos, la cual asigna por regiones (que son similares a los segmentos). Cada proceso tiene una tabla en la que se encuentra información sobre sus regiones: una para las instrucciones, una para los datos y otra para la pila de ejecución. Existe además una tabla general de regiones activas que permite compartir éstas entre los distintos procesos. Como en todo sistema, existen unos administradores de entraddsalida que se encargan de las operaciones de intercambio con los periféricos. Los podemos dividir en dos: los que hacen la trasferencia por bytes (por ejemplo en terminales) y los que las hacen por bloques (en discos). UNIX cuenta con un sistema novedoso de realizar las entradas/salidas en el disco. Existen unas zonas auxiliares que funcionan en forma siinilar a la memoria cache: se mantienen en ellas los registros del disco que se han leido o escrito y toda operación de entraddsalida en este periférico se realiza a través de ellas. Si el recistro correspondiente no está presente, se trae y se almacena allí para futuras referencias; en caso contrario, se obtiene l a información de las zonas auxiliares, sin hacer ningún acceso al disco. El subsisteina de archivos organiza la información en forma jerárquica en los dispositivos de memoria auxiliar. La interfase para llamados al sistema se encarga de l a implantación de la comunicación entre el usuario y el sistema, la cual se hace por medio de desvíos. Sistenin Operrrtiiw UNIX Control de Procesos El núcleo del sistema operativo UNIX conoce la existencia de un proceso a través de su bloque de control de proceso, donde se escribe el proceso y su entorno, constituyendo un contexto consistente en o Espacio de d i ~ ~ e c c ~ o ~ ~ yt reziioino ~ i i ~ e ide ~ tCjeciiciíjii: ~~ Vmitrh1e.r.qi4e iitiliza el proceso. Contenido de los registros htzrdiltrre: Cmtm'or de j)rograiiitrvregisfro de esttru'o del yr.»ce.r.ador, j~initerode I a piln y regi.strm de poj)ósito geirerd. de jmmw), círem, (70nte~~ido de Ins esiriictrrrns del niicleo relticiotiada.v coil el jwoceso: regio?re.r.,etc. O Si congelamos el estado del procesador y del proceso que está en ejecución en un determinado momento, obtendríamos lo que se conoce como iniagerr estática del programa. Un proceso es la ejecución de una imagen. Una niitrgeii contiene' I J m imagefi de nlriincerrcrnirriito Vnlores ge"era1es de I'egl.Sfro El e.vtnd<)de IOS nI.Chl1JO.Ynh/cWo.s El directorio trctirtrl O O 0 O y otra información. Una imagen del proceso reside en el almacenamiento principal durante la ejecución de ese proceso. Una imagen puede ser enviada al disco si un proceso con una prioridad más alta necesita el espacio del almacenamiento. La imagen de almacenamiento está dividida en tres segmentos lógicos: Segmento de procedimiento reentrante (comienza en la localidad O del espacio de direcciones virtu ales) Segmento de datos Segmento de pila reentrante I Segmento de pila Una imagen de alinacenamiento Control de Procesos Los segmentos de procedimiento reentrante pueden ser coinpartidos entre los procesos, en la memoria primaria se niaittieite tíiticanwrtte t t i t ~ zsola copia de t i i t segnieirto conipnrtido. El segmento de datos comienza después del segmento de procedimiento y puede crecer hacia arriba (hasta las direcciones de almacenamiento más altas). El segmento de pila comienza en la dirección más alta del espacio virtual y crece hacia abajo, al recibir información por llamadas a subrutinas e interrupciones Los segmentos de textos de sólo lectura del sistema, están controlados centralmente en la tabla de textos. Cada entrada contiene las direcciones de alinacenamiento secundario del segmento y del almacenainiento priinario. Cuando un proceso ejecuta por primera vez un segmento de texto compartido, ese segmento se coloca en el almacenamiento secundario, y se crea una entrada a la tabla de textos con las direcciones de almacenamiento apropiadas y un contador indicando el número de procesos que comparten el segmento. Cuando este contador esta a cero, la entrada es liberada y los almacenamientos primario y secundario ocupados por el segmento son desocupados. El segmento de datos de la iinagen de almacenamiento contiene datos de lectura-escritura privados de este proceso. Los datos del sistema adicionados a este proceso se mantienen en un segmento separado de tamaño fijo. Este segmento de datos del sistema se intercainbia con el proceso. El segmento del sistema contiene datos acerca de los procesos activos como: Un segmento de datos del sistema no es directamente direccionable por el proceso al cual . ~ ocontiene los datos requeridos por el sistema corresponde. Cada proceso tiene un ítrhla del y ~ ~ o c eque cuando el proceso no está activo. La tabla del proceso contiene el nombre del proceso, la localización de sus segmentos, e información de planificación. Existe durante la vida del proceso y es direccionable por el núcleo. Sistenin Operatiiw UNIX 6 Control de Procesos Creación de Procesos Los nuevos procesos son creados por una primitiva de sistema llamada h$filactrciótr. Esta Ilainada del sistema hace que el proceso actual se divida en dos procesos concurrentes independientes llamados pr~ocesopodre y pi*oce.so h / j o . Estos procesos no comparten el alinacenainiento priinario, pero comparten todos los archivos abiertos. Se hacen copias para el hijo de todos los segmentos de datos que pueden escribirse. La Ilainada de bifurcación devuelve un valor para que cada proceso pueda determinar si es el padre o el hijo. Execute Otra primitiva muy útil en el sistema es la que permite hacer recubrimiento total: Execute (archivo, p l , p2, . . . pn) que permite ejecutar u n prograina alinacenado en el disco en un archivo. Coino resultado de la primitiva, el programa es cargado del disco, recubriendo al que lo Ilainó y recibiendo como paráinetros pl,p2, . . . pn. El programa llamado hereda del llamador (el que ejecutó la primitivas Execute) los archivos abiertos, el directorio corriente y las relaciones con otros procesos. En determinados momentos el intercainbiador global, pasa un proceso de memoria auxiliar a memoria principal (swap in), eligiendo al proceso que lleve inás tiempo de residencia en la primera. Para la operación inversa (swap out) selecciona el proceso que esté esperando un evento lento, de acuerdo con su tiempo de recidencia en la memoria principal, teniendo en cuenta que por razones de eficiencia, todo el proceso debe permanecer un tiempo mínimo en esta última. Los procesos del sistema son prioritarios. Su prioridad se asigna con base en el mecanismo de eventos. ada proceso del usuario tiene asociada una prioridad. Esta se calcula con base en un algoritmo que tiene en cuenta el cociente entre el tiempo de procesador consumido por el proceso y el tiempo que ha permanecido en el sistema, y se actualiza cada segundo. El despachador asigna el procesador al proceso con mayor prioridad. Un proceso puede despojar del procesador a otro menos prioritario. Existe también el mecanismo de señales que le permite a un proceso especificar cómo debe reaccionar ante diferentes eventos externos (la muerte de un hijo, la ejecución de una instrucción prohibida , una violación de protección de la memoria, etc ...). El proceso puede ser cancelado, ejecutar un procediiniento, simplemente ignorar la señal. Sistemn ílpcrntiiw UNZX 7 Control de Procesos Siiicronizacióii d e Procesos Para la sincronización de procesos existen dos mecanismos: la primitiva Wait y los Conductos. La primitiva: id +Wait (estado) permite que u n proceso espere al fin de la ejecución de uno de sus procesos hijos (cuya identificación devuelve en id). Además, retorna información sobre el estado del proceso en cuestión. El evento (terminación del proceso) no se memoriza y no tene representación explícita en la memoria (algo así como un bloque de control de eventos), sino que se representa por un indicador en la entrada correspondiente de la tabla de procesos. El otro mecanismo utilizado para la sincronización y comunicación de procesos es el de conductos . La primitiva : id +Pipe ( ) crea un conducto y devuelve su descriptor en id. Un conducto es u n archivo temporal abierto que conecta a dos procesos. La información escrita en un extremo de un conducto puede ser leida en el otro extremo (permite que se hagan sobre él las operaciones corrientes sobre archivos leer y escribir). La sincronización, planificación y manejo del buffer se realizan automáticainente por el sistema. Cuando un proceso desea comunicarse con otro, crea un nodo y escribe en él. El otro proceso puede entonces leer de él para recibir información. Si algún proceso hace una operación de lectura de un conducto sobre el que no se ha escrito, debe esperar hasta que se realice esta operación Aunque los conductos en UNIX son bastante poderosos como mecanismos de coinunicación, tienen la restricción de que deben ser utilizados solamente por procesos de la inisina familia. En algunas versiones del sistema existen conductos con nombre, los cuales periniten resolver este problema. El proceso 1 escribe en el conducto. El proceso 2 lee el conducto Sistenici Operativo UNIX S Control de Procesos Filtros Un filtro en un sistema UNIX es un programa que procesa un solo flujo de entrada para producir un solo lujo de salida. Los sistemas UNIX proporcionan gran número de filtros. Por ejemplo, los procesadores de lenguaje suministrados con los sistemas ü N I X no producen listados, sino que alimenta su salida a u n filtro que imprime todos los listados de salida en u n formato uniforine. Plaiiificación de procesos Los procesos pueden ejecutarse en uno de dos estados, el estado ii.siiírrio o estado .ri.síema. En el estado usuario, un proceso ejecuta los programas del usuario y accede al segmento de datos del usuario. En el estado sistema, un proceso ejecuta el código del núcleo y accede al segmento de datos del sistema. El objetivo principal de la planificación de procesos en un sistema UNIX es la responsabilidad para los usuarios interactivos. Los procesos planifican según prioridades. Las prioridades iniciales son asignadas por el código del núcleo que procesa los evento-esperas. Los eventos de disco reciben una alta prioridad. Los eventos de terminal, eventos de la hora y los eventos del proceso del usuario reciben progresivamente prioridades más bajas. A los procesos del usuario se le asignan prioridades basadas en la cantidad de tiempo de procesador que han recibido. Los procesos que han recibido =ran cantidad de tiempo de procesador reciben prioridades bajas. Los procesos que han recibido pequeña cantidad de tiempo del procesador reciben prioridades altas. Este método de planificación asegura buenos tiempos de respuesta interactiva. Todo los procesos del sistema tienen prioridad más altas que los procesos del usuario, por lo que siempre son servidos antes. Un proceso obtiene el CPU durante u n cuanto típico de un segundo, y termina voluntariamente antes de que expire su cuanto o es suspendido al expirar éste. Los procesos de igual prioridad se planifican en rueda. El mecanismo de planificación tiende a ser justo con todos los procesos. Control de Procesos Intercam bios Los procesos son intercainbiados hacia y desde el alinacenainiento secundario según sea necesario. Tanto el alinacenamiento priinario coino el secundario son asignados siendo una estrategia de colocación de primer ajuste. Si un proceso necesita crecer, pide más alinacenainiento. Le es otorgada una nueva sección de alinacenamiento io suficientemente grande coino para mantenerlo, y la totalidad de los contenidos del antiguo almacenainiento son copiados en el nuevo espacio. el alinacenamiento antiguo queda entonces liberado. Si no se encuentra disponible suficiente alinacenainiento primario en el inomento de la expansión, entonces se asigna un alinacenainiento secundario; el proceso se intercambia al almacenainiento secundario y se intercainbia de nuevo al alinacenamiento priinario (con su nuevo tamaño), cuando se encuentre disponible un espacio suficiente. El proceso de intercambio controla al intercainbio de todos los demás procesos desde y hacia el alinacenam'iento secundario. Cuando este proceso decide intercambiar un proceso listo para ejecución que había sido intercainbiado hacia el alinacenainiento secundario, asicna el alinacenainiento priinario para aquel proceso, y lee sus seginentos al almacenamiento priinario. Ese proceso, compite entonces por el tieinpo de CPU con todos los procesos cargados. Si no se encuentra disponible suficiente alinacenainiento primario, el proceso de intercambio examina la tabla del proceso para determinar qué proceso pueden sacarse para hacerle lugar al proceso que llega. Los procesos extraídos que están listos para ejecución son devueltos en un régimen de primero en salir, primero entrar; es decir, los procesos que residen en el alinacenainiento secundario la inayor cantidad de tieinpo son los que se devuelven primero. Los procesos del alinacenainiento primario son seleccionados para ser sacados por su tieinpo de perinanencia en el alinacenainiento primario, además de por la deterininación de si están esperando por eventos lentos. coino entrada/salida. Terminación del proceso Los procesos pueden terininar voluntariamente por medio de la priinitiva exit, o involuntariamente como resultado de acciones o señales ilegales o trainpas generadas por el usuario. Las trcrnprs suelen estar causadas por fallos del programa como referencias a direcciones incorrectas o intentos de ejecución de códigos de operación no definidos. La terininación involuntaria hace que la iinagen del proceso se escriba en u n archivo. Esta iinagen puede ser examinada inás tarde por un prograina de depuración que determine la razón de terminación. La priinitiva iri/et-iwpt puede utilizarse también para terininar un prograina. La priinitiva qi/i/ funciona corno interrupt, pero también escribe el archivo iinagen del proceso 1o Shell El Shell es el inecanisino del sisteina UNIX para la coinunicación entre los usuarios y el sistema. Es un intérprete de mandatos que lee las líneas tecleadas por el usuario y causa la ejecución de las características del sistema solicitadas. El shell no tiene residencia permanente en la tneinoria principal como en núcleo, puede intercambiarse cuando sea necesaria. Es un programa de aplicación y a menudo se escriben shells personalizados. El lenguaje total de mandatos interpretado por le shell es considerable y algo complejo, pero la inayoría de los mandatos son de uso sencillo y relativamente consistentes. Una linea de inandatos consiste en un rionihi.e de muriddo (es decir, el nombre de cualq~iierarchivo ejecutable), seguido de una lista de argumentos separados por espacios. El shell divide la línea de mandatos en SLIS componentes. El archivo especificado en el mandato se carga y los argiiinentos del mandato se ponen a su disposición. Se realiza una bifurcación para crear u n proceso hijo que contiene al shell El hijo ejecuta el mandato mientras el proceso padre espera que el hijo termine Después de la terminación del hijo el shell pulsa su sekrl de lis/o en el teclado para indicar que el usuario puede teclear el siguiente inandato. El shell le da cada programa que ejecute a tres archivos abiertos uno para entrada, uno, para salida y uno para salir de error Estos archivos pueden estar asignados al terminar, pero son fáciles de entonces dirigir como sigue En una línea de mandatos dada, si un argumento va precedido de es para recibir nombra a un archivo productor de entradas para el mandato Un archivo precedido de la salida norinal de los mandatos Un prefijo de ">>" significa que la salida se añade al archivo en lugar de reemplazarlo Los nombres de archivos que siguen después de estos prefijos son interpretados por el shell y no pasan a los mandatos La importancia de esto es que lci etrti.núo y snlidcr yiiederi sei* i*edii*igidas desde y hcrciu lo.$crrchiws siti im)d?ficcri* el piug.amtr. "<Iq, ">'I Ventajas e Inconvenientes Entre las ventajas que periniten al sisteina operativo UNIX gozar de la popularidad que en la actualidad tiene, se pueden citar las siguientes: Por otra parte los inconvenientes que presenta este sisteina son: 6 ADQUISICION DE DIVISIONALES REQUERIMIENTOS CONSEJOS MIEMBROS QUE LA INTEGRAN: Director de la división Jefes de Departamento de la división Un representante del personal académico por cada departamento Un representante de los alumnos por cada departamento FUNCIONES: Formular los proyectos sobre planes y programas académicos de la división para los consejos académicos quienes los dictaminan y armonizan. Designar a los jefes de departamento que integren la división, de las ternas que les propongan los respectivos rectores. Presentar al consejo académico respectivo el anteproyecto de presupuesto anual de ingresos y egresos de la división. Aprobar el desarrollo y funcionamiento de la división. Aprobar los proyectos de investigación que se propongan dentro de la división. Cuidar que el personal académico y administrativo cumpla eficazmente las funciones de su competencia Ejercer las demás atribuciones que le confieran este ordenamiento y las normas y disposiciones reglamentarias de la Universidad. POLITICAS: Los directores de división y los jefes de departamento serán asistidos para orientar a los alumnos, por asesores o consejeros de especialidad profesional. Los jefes de departamento además, se auxiliaran de asesores e integraran comisiones para el desempeño de las funciones académicas del departamento, REGLAMENTO ORGANICO : Compete a los Consejos Divisionales: I Presentar ante el Consejo Académico el anteproyecto para el año siguiente del presupuesto anual de ingresos y egresos de la división, antes del día primero de julio. I1 Formular los planes y programas académicos de la división considerando el apoyo que puedan otorgar los departamentos de la misma a otros departamentos de la Universidad, así como el que el departamento de la división debe brindar a otras divisiones. I11 Aprobar los proyectos de investigación interdisiplinaria de cada departamento, entre sus departamentos y con departamentos de otras divisiones. V Determinar anualmente las necesidades de personal académico que presenten los directores de división para desarrollar los planes y programas académicos. VI Proponer ante el consejo académico la emisión de instructivos y emitir lineamientos particulares para el desarrollo y funcionamiento de la división. VI1 Resolver sobre el cumplimiento de los requisitos establecidos para el disfrute del período a año sabático, tomando en cuanta en caso del período sabático, los planes y programas de la división. VI11 Evaluar los informes académicos que a propósito del ejercicio del derecho mencionado en la fracción anterior, deben rendir los miembros del personal académico. IX Resolver sobre la procedencia de los apoyos solicitados para el disfrute del período o año sabático, de acuerdo con el presupuesto de la división. X Rendir por escrito informes anuales del desarrollo y funcionamiento de la división, ante el rector de la Unidad. XI Auscultar en forma ideonea y desasegrada a la comunidad universitaria dando a conocer con anticipación las modalidades de la auscultacíon una vez que el rector de la unidad haya entregado la terna de los candidatos a jefes de departamento. XI1 Proponer ante el consejo académico la creación de nuevas areas en los departamentos que hayan sido solicitadas por el jefe del departamento respectivo. XI11 Aprobar la programación anual de las unidades de enseñanza-aprendizaj e. XIV Evaluar anualmente los resultados del desarrollo de los planes y programas académicos de la división y XV Las demás que señale la Ley Orgánica, el presente reglamento y otras normas y disposiciones reglamentarias de la Universidad. 4 6 REGLAMENTO INTERNO DE LOS ORGANOS COLEGIADOS: CONSEJO DIVISIONAL: Sesionaran por lo menos 2 veces durante cada trimestre. Las sesiones serán publicadas a menos que el consejo divisional determine lo contrario. Para poder celebrar la sesión en primera convocatoria se requerirá de quórum y la presencia del presidente del consejo. Habrá quórum con la presencia de mas de la mitad de los miembros que lo integran. El presidente podrá declarar la inexistencia del quórum una vez transcurridos treinta minutos contados a partir de la hora convocada. UNIDADES, DIVISIONES Y DEPARTAMENTOS: I UNIDAD AZCAPOZALCO 1 DIVISION DE CIENCIAS BASICAS E INGIENERIA a) Departamento de Ciencias Basicas b) Departamento de Electrónica c) Departamento de Energía d) Departamento de Materiales e) Departamento de Sistemas 2 DIVISION DE CIENCIAS SOCIALES Y HUMANIDADES a) Departamento de Administración b) Departamento de Derecho c) Departamento de Economía d) Departamento de Sociología e) Departamento de Humanidades 3 DIVISION DE CIENCIAS Y ARTES PARA EL DISEÑO a) Departamento de Evaluación b) Departamento de Investigación y Conocimiento c) Departamento de Medio Ambiente d) Departamento de Procesos y Técnica de Realización I1 UNIDAD IZTAPALAPA 1 DIVISION DE CIENCIAS BASICAS E INGIENERIA a) Departamento de Física b) Departamento de Ingeniería Eléctrica c) Departamento de Ingeniería de Procesos Hidráulicos d) Departamento de Matemáticas e) Departamento de Química 2 DIVISION DE CIENCIAS BIOLOGICAS Y DE LA SALUD a) Departamento de Biología b) Departamento de Biología de la reproducción c) Departamento de Biotecnologia d) Departamento de Ciencias de la Salud e) Departamento de Hidrobiologia 3 DIVISION DE CIENCIAS SOCIALES Y HUMANIDADES a) Departamento de Antropología b) Departamento de Economía c) Departamento de Fisiología d) Departamento de Sociología I11 UNIDAD XOCHIMILCO 1 DIVISION DE CIENCIAS BIOLOGICAS Y DE LA SALUD a) Departamento de Atención a la Salud b) Departamento de Producción Agrícola y Animal c) Departamento de Sistemas Biológicos d) Departamento del Hombre y su Ambiente 2 DIVISION DE CIENCIAS SOCIALES Y HUMANIDADES a) Departamento de Educación y Comunicación b) Departamento de Política y Cultura c) Departamento de Producción Económica d) Departamento de Relaciones Sociales 3 DIVISION DE CIENCIAS Y ARTES PARA EL DISEÑO a) Departamento de Métodos y Sistemas b) Departamento de Síntesis Creativa c) Departamento de Tecnología y Producción d) Departamento de Teoría y Análisis REGLAMENTO DE ESTUDIOS SUPERIORES A NIVEL LICENCIATURA: Los Consejos Divisionales determinaran el numero máximo de alumnos por carrera que podrán ser inscritos (de acuerdo al numero máximo para la division que determine el consejo académico). d El consejo divisional será quien resolverá sobre las posibilidades de readquirir la calidad de alumnos. Para recuperar la calidad por conclusión del plazo será necesario que el alumno haya cubierto cuando menos el 75 % de los créditos para carreras de 12 trimestres y el 80 % de créditos para carreras de 15 trimestres y en el caso de una interrupción de mas de 6 trimestres lectivos consecutivos, deberá aprobar un examen definido por el consejo divisional, lo mismo se aplica para alumnos de otras instituciones que soliciten revalidación de estudios y que hayan interrumpido sus estudios por mas de 2 años. El consejo divisional procurara otorgar la autorización para recuperar la calidad de alumno en el termino de un trimestre. La resolución para otorgar el nuevo plazo será concedida por una sola ocasión y no excederá de 2 años. El consejo Divisional determinara, a solicitud de parte del interesado, las equivalencias entre los planes de estudio, conforme a criterios previamente establecidos. Cuando los programas de enseñanza-aprendizaje no hayan sido modificados, esta determinación de equivalencias causará precedente obligatorio. Los consejos divisionales podrán determinar la aplicación de evaluaciones departamentales, tanto periódicas como terminales, y sus caracterisiticas. REGLAMENTO ESTUDIOS DE POSGRADO. El consejo divisional formulara los planes de estudios de especialización, maestría y doctorado y el colegio académico será quien los aprobará. El consejo divisional se encargara de autorizar nuevamente la calidad de alumno a quienes la hayan perdido y resolverá en un plazo máximo de un trimestre. En caso de que se autorice la solicitud, el nuevo plazo en ningún caso excederá del normal previsto en el plan de estudios. Esta autorización será por una sola vez. d REGLAMENTO DE CURSOS DE ACTUALIZACION Los cursos de actualización pueden ser impartidos a nivel licenciatura, de especialización, de maestría y de doctorado; cuando sean a nivel posgrado, así se especificara en el acuerdo que apruebe el Consejo Divisional correspondiente. El Consejo Divisional será quien aprobara los cursos de actualización y definirá en cada caso, el apoyo económico, administrativo y de servicio necesarios para la impartición del curso. La universidad por medio de los órganos competentes, aceptara la solicitud con base a los siguientes criterios: I Capacidad académica, científica, técnica, artística o profesional de los aspirantes, la cual podrá ser determinada por medio de los criterios de o evaluaciones que acuerde el Consejo Divisional, en base a los objetivos del curso. I1 cupo I I11 Otros elementos contenidos en el programa. La adquisición de la calidad de los participantes será para quienes cumplan con los requisitos de ingreso señalados en la convocatoria expedida por el Consejo Divisional. Los programas de los cursos de actualización deberán contener: I Mención de la Unidad y Division donde se impartirán. I1 Denominación del curso. I11 Objetivos y contenido del curso. IV Nombre del o de los profesores que impartirán o de la institución responsable. V Certificado de actualización que se confiere, requisitos que deben cumplir y asistencia mínima para obtenerlo. 1 VI Antecedentes o capacidades necesarios para asistir al curso, así como los estudios de licenciatura, especialización, maestría o doctorado que se requieran. VI1 Duración, fechas y horarios del curso. VI11 Si el curso es abierto o exclusivo de los miembros de la comunidad universitaria. IX Requisitos relacionados con idiomas y las modalidades para su cumplimiento. X Modalidades de operación que para cada curso sean aprobadas; XI Modalidades de evaluación, en su caso, y la especificación de los factores de ponderación de los diversos elementos utilizados. XI1 Cupos máximos y mínimos del curso, y XI11 Bibliografía, documentación y materiales aconsejables. Cada Consejo Divisional llevara un registro donde consten los programas de lqs cursos de actualización a fin de evaluarlos. REGLAMENTO DE DIPLOMADO Las propuestas de diplomados deberán ser presentadas por el jefe de departamento o el director de la division al consejo divisional correspondiente para su aprobación. El consejo divisional definirá la incorporación de las propuestas en la programación de preservación y difusión de la cultura y, en su caso, el director de division publicara las convocatorias respectivas. No sera necesario convocatorias cuando se trate de diplomados a solicitud de parte interesada. REGLAMENTO DE PERSONAL ACADEMIC0 Procede el ingreso de personal académico por tiempo determinado hasta por un año, cuando se generen necesidades académicas en los siguientes casos: Cuando haya sido declarado desierto un concurso de oposición o no se registrep aspirantes en un plazo establecido o ninguno de los concursantes declarados idóneos por la comisión dictaminadora se presente para establecer el contrato de trabajo. En estos casos la contratación no podrá exceder de dos trimestres, plazo en el cual el consejo divisional, con base en un informe que presente el director de division, resolverá lo conducente. Cuando medien pruebas, por parte de la comisión dictaminadora, de que no es posible la realización oportuna de un concurso de oposición. Cuando en dos ocasiones consecutivas se presente la situación anterior, el caso se someterá al consejo divisional para que resuelva lo conducente. Por la creación no prevista de grupos adicionales necesarios para atender la administración de una unidad de enseñanza-aprendizaje. Cuando en dos ocasiones consecutivas se utilice este causal de contratación temporal en relación con una misma unidad de enseñanza-aprendizaje, se someterá el caso al consejo divisional para que resuelva lo que estime pertinente. Premios a las areas investigadoras: Cada consejo académico, en su primera sesión del año, determinará las modalidades particulares para otorgar el premio y especificará la fecha limite para la receición de las propuestas. Las propuestas señaladas en el articulo anterior se comunicaran al jefe de departamento respectivo quien la deberá presentar al Consejo Divisional. REGLAMENTO DE BECAS PARA EL PERSONAL ACADEMICO. Los consejos divisionales elaborarán los programas en los cuales se determinará la distribución anual de becas entre los distintos departamentos y sus areas. Los consejos divisionales, al formular su programa de distribución de becas deberá considerar la opinión de las areas y departamentos respecto a los siguientes factores: Las necesidades de formación de personal académico de los diferentes departamentos y areas. Y 6 Las necesidades de desarrollar y fortalecer los diversos campos de investigación de la Universidad. El director de la division emitirá una convocatoria al menos una vez al año con base en el programa de distribución de becas aprobado por el consejo divisional. Los miembros de los consejos divisionales no podrán solicitar beca mientras pertenezcan a dichos órganos. Las solicitudes para el otorgamiento de becas se presentaran por escrito ante la secretaria académica de la division corespondiente, en términos de la convocatoria. La secretaria académica de la division registrará las solicitudes presentadas y las enviará al presidente del consejo divisional para que las incluya en el orden del día de la sesión correspondiente. Los consejos divisionales otorgaran las becas preferentemente a los miembros del personal académico asistente o asociados. d Las resoluciones de los consejos divisionales serán definitivas y se notificaran a los solicitantes, dentro de los 5 días hábiles siguientes. Las resoluciones que emitan los consejos divisionales deberán establecer un orden de prelacion con el fin de preever sustituciones. La Universidad cubrirá, en su caso, total o parcialmente los gastos de transporte de los becarios a juicio de los consejos divisionales. Los consejos divisionales dictaminaran acerca de la procedencia de la cancelación de la beca a fin de que el rector suspenda la entrega de monto que establece el convenio crediticio por alguno de los casos previstos. Los consejos divisionales antes de dictaminar la cancelación de la beca, notificaran la causa al becario (excepto por muerte) y , previa entrevista a solicitud del interesado, emitirán el acuerdo correspondiente, mismo que será definitivo. Los consejos divisionales, considerando el cumplimiento de las obligaciones tktablecidas, podrán autorizar una prórroga hasta por un año mas en cada caso. & Son obligaciones de los becarios: Entregar al consejo divisional oportunamente copia del certificado oficial con las evaluaciones que obtenga en cada ciclo escolar, así como copias de los certificados y constancias de los grados que obtenga. Enviar semestralmente al consejo divisional un informe de las actividades realizadas avalado por un asesor, en su caso, y por funcionario autorizado por la Universidad en la que se encuentre. Acreditar los estudios de posgrado en la parte correspondiente al año en que ha estado becado, a satisfacción del consejo divisional. y Solicitar por escrito la renovación de la beca al consejo divisional cuando el becario desee obtener dicha renovación. REGLAMENTO DE ALUMNOS 4 Cuando a un alumno se le impida el ejercicio de sus derechos o se trasgreda alguno de ellos, podrá acudir ante el Director de la division correspondiente, o ante el secretario de la unidad, para que inicie de inmediato el procedimiento de solución. Los Consejos Divisionales son los órganos competentes para conocer y resolver sobre las faltas de los alumnos previstas en el presente reglamento y sobre las que al respecto se contengan en otras disposiciones normativas. Los consejos divisionales integraran, de entre sus miembros, una comisión que conocerá y dictaminará sobre las faltas cometidas por los alumnos de la division correspondiente. La comisión se constituirá por el jefe de departamento, dos representantes del personal académico y dos representantes de los alumnos. Esta comisión se instalará anualmente en la fecha instalación del Consejo Divisional respectivo. Una vez emitido el dictamen, la comisión lo enviará, amas tardar al día siguiente hábil, al presidente del consejo divisional correspondiente para que lo incluya en el orden del día de 6 la próxima sesión. El consejo divisional analizará el dictamen y emitirá resolución fundada y motivada en la misma sesión. La comisión al emitir su dictamen y el consejo divisional para aplicar la medida administrativa, deberán considerar los algunos criterios descritos. Las resoluciones que emitan los consejos divisionales deberán notificarse en los tableros de la division correspondiente dentro del termino de tres días hábiles posteriores a la fecha de emisión de dichas resoluciones. Las resoluciones de los consejos divisionales serán definitivas, excepto aquellas en que la medida administrativa sea la de expulsión de la Universidad. Las medidas administrativas de suspensión entraran en vigor en el trimestre en que se emiten o en el trimestre siguiente, según lo determinen los consejos divisionales atendiendo a la naturaleza de la falta y a la afectación de la situación académica. Los alumnos a quienes se les aplique la medida administrativa de expulsión de la Universidad podrán imponer el recurso de reconsideración. El recurso deberá interponerse por escrito ante el secretario del consejo divisional correspondiente dentro de los cinco días hábiles siguientes a la fecha de notificación de la resolución. En el escrito que se interponga el recurso, el alumno expresará los argumentos en contra de la resolución del consejo divisional y podrá presentar elementos probatorios para que sean considerados por dicho organo. Una vez recibido el recurso, el secretario del consejo divisional lo enviara al presidente del mismo para que se incluya en el orden del día de la próxima sesión del consejo. El consejo divisional emitirá resolución fundada y motivada en la misma sesión. Esta resolución será definitiva. Mención Académica: Los consejos divisionales integrarán anualmente las comisiones académicas con tres profesores titulares, quienes examinarán las tesis y comunicaciones de resultados correspondientes el año en el que se pretenda otorgar la distinción. REGLAMENTO DE REVALIDACION, EQUIVALENCIA Y ACREDITACION DE ESTUDIOS. Revalidación: Los consejos divisionales son los Órganos competentes para resolver sobre las solicitudes de revalidación, de establecimiento de equivalencias y de acreditación de estudios. Las comisiones de los consejos divisionales, en un plazo de 20 días hábiles, determinaran la igualdad académica entre los estudios que se pretenden revalidar y los que se imparten en la Universidad y previa entrevista, en su caso, con el interesado, emitirán el dictamen correspondiente, mismo que se enviará al presidente del consejo divisional para que lo incluya como un punto en la orden del día de la próxima sesión. Para determinar las igualdades académicas y emitir el dictamen de revalidación, las comisiones divisionales deberán analizar en forma integral la documentación exhibida en función de los factores relacionados con los planes y programas de esta institución. Los consejos divisionales deberán verificar que se haya hecho este análisis al momento de emitir la resolución correspondiente. Equivalencias : Los consejos divisionales atenderán solicitudes de establecimiento de equivalencias previas a la admisión en carrera de cupo limitado. La secretaria general enviará las solicitudes procedentes, junto con la documentación probatoria, a los presidentes de los consejos divisionales correspondientes para efecto de que las remitan de inmediato a las comisiones de los consejos encargadas de determinar las igualdades académicas. Las comisiones de los consejos divisionales, en un plazo de 20 días hábiles, determinaran la igualdad académica entre los estudios que se pretenden establecer como equivalencias y los que se imparten en la Universidad y previa entrevista, en su caso, con el interesado, emitirán el dictamen correspondiente, mismo que se enviará al presidente del consejo divisional para que lo incluya como un punto en la orden del día de la próxima sesión. Para determinar las igualdades académicas y emitir el dictamen de establecimiento de equivalencias, las comisiones divisionales deberán analizar en forma integral la documentación exhibida en función de los factores relacionados con los planes y programas de esta institución. Los consejos divisionales deberán verificar que se haya hecho este análisis al momento de emitir la resolución correspondiente. Los consejos divisionales involucrados determinaran la manera en que se realizará el establecimiento de las equivalencias en los posgrados que comprendan a mas de una division de la universidad. Aclieditación de Estudios: La secretaria general enviará las solicitudes procedentes, junto con la documentación probatoria , a los presidentes de los consejos divisionales correspondientes para efecto de que las remitan de inmediato a las comisiones de los consejos encargadas de determinar las igualdades académicas. d Las comisiones de los consejos divisionales, en un plazo de 10 días hábiles, determinaran la igualdad académica entre los estudios que se acreditar y, previa entrevista, en su caso, con el interesado, emitirán el dictamen correspondiente, mismo que se enviará al presidente del consejo divisional para que lo incluya como un punto en la orden del día de la próxima sesión. Para determinar las igualdades académicas y emitir el dictamen de acreditación, las comisiones divisionales deberán analizar en forma integral la documentación exhibida en función de los factores relacionados con los planes y programas de esta institución. Los consejos divisionales deberán verificar que se haya hecho este análisis al momento de emitir la resolución correspondiente. Los consejos divisionales involucrados determinaran la manera en que se realizarán las acreditaciones en los posgrados que comprendan a mas de una division de la universidad. Establecimiento de equivalencias para el personal académico: La secretaria general enviara las solicitudes procedentes, junto con la documentación probatoria, a los presidentes de los consejos divisionales correspondientes piara que las incluyan para su análisis y resolución en el orden del día de una próxima sesión del organo colegiado. Las resoluciones de establecimiento de equivalencias de la totalidad de estudios de licenciatura que trata este capitulo se remitirán a la secretaria general para los registros ofíciales y la expedición del titulo de licenciatura correspondiente. REGLAMENTO DE SERVICIO SOCIAL El rector general, los rectores de la unidad y los directores de division, someterán a la aprobación del organo colegiado correspondiente los planes, programas y proyectos de servicio social que cumplan con los requisitos señalados en el articulo 12. La Universidad publicará y difundirá aquellos planes, programas y proyectos de servicio social aprobados, a fin de hacerlos del conocimiento de la comunidad universitaria. P Los órganos colegiados evaluaran los planes, programas o proyectos de servicio social con base en los informes que les presenten los órganos personales, con el propósito de fomentarlos modificarlos, suspenderlos o cancelarlos. Los órganos colegiados correspondientes podrán cancelar o suspender en su caso, los planes, programas o proyectos de servicio social en los casos señalados en el articulo 16. Los alumnos o egresados que pretendan presentar el servicio social en planes, programas o proyectos de otras instituciones, se sujetaran a lo siguiente: Notificar al presidente del consejo divisional correspondiente, el lugar, el plan, programa o proyecto y la fecha en que iniciara la prestación del servicio social. Esta notificación se hará con anticipación a la fecha que pretenda iniciar la prestación. Presentar al consejo divisional la constancia oficial que certifique que han cubierto ai menos 70% de los créditos del plan de estudios respectivo. Obtener la autorización del consejo divisional correspondiente. Para autorizar la presentación del servicio social en otras instituciones, los consejos divisionales deberán verificar que se satisfagan al menos los requisitos señalados en el presente reglamento. Los alumnos y egresados de la Universidad a quienes se les niegue la constancia de cumplimiento del servicio social, podrán interponer el recurso de reconsideración. El recurso de revision deberá interponerse por escrito ante el consejo divisional dentro de los diez días hábiles posteriores a la comunicación de la resolución del director de division. La decisión que emita el organo será inapelable atendiendo a las modalidades que el consejo divisional determine según el caso. DICCIONARIO DE DATOS ' ENTIDADES CONSEJERO : Contiene los datos de los miembros del Consejo Divisional : Nombre, clave de puesto, vigencia inicio y termino de los miembros. PUESTO : Esta conformada por la descripción de puestos del Consejo Divisional. SESIÓN : Contiene información de las sesiones de los Consejos Divisionales, tales como numero de sesion, fecha de la sesion, lugar y quorum. 6 ASISTENCIA : Contiene la asistencia de los miembros de Consejo Divisional a las sesiones. ACUERDOS Agrupa la información referente a los acuerdos generados durante las sesiones de los Consejos Divisionales. FORMAN COMISIÓN : Es una entidad generada a partir del diagrama entidad-relacion para ligar las entidades de acuerdos y comisiones. : : Se forma por los datos de las comisiones formadas en las sesiones de los Consejos Divisionales. COMISIONADOS: Contiene las claves de los miembros de las comisiones. I STATUS-COM: Guarda los diferentes status que adquieren los comisionados. TRAMITAN Es una entidad generada a partir del diagrama entidad-relacion para ligar las entidades de acuerdos y solicitudes. : SOLICITUDES: Contiene información de las solicitudes presentadas en las sesiones de los Consejos Divisionales. CLAVES-SOLIC: Contiene la descripción de las solicitudes. ATRIBUTOS clave Función : Distinguir a los Consejeros Aplicación: Como llave para conocer la asistencia, comisiones, nombre, puesto y demás datos personales de los consejeros. : La longitud del campo es de 8 caracteres y en ningún caso puede ser nulo y Reglas 4 además no debe contener caracteres alfabéticos ni especiales. nombre Función : Nombre del Consejero. Aplicación: Conocer el Nombre de los miembros del Consejo Divisional. Reglas : En ningún caso puede ser nulo y no se aceptan numeros ni caracteres especiales. cvequesto Definición : Clave de Puesto Aplicación : Identificar el puesto de los miembros del Consejo Divisional. : No se aceptan caracteres alfabéticos ni especiales. Reglas Las claves de puestos iniciales son: 1 - Presidente del Consejo 23 4 5 - - Secretario del Consejo Jefe de Departamento Personal Académico Alumno vig-ini Definición : Inicio de Vigencia del miembro del Consejo. Aplicación : Conocer la fecha en que asumieron el cargo los miembros del Consejo Divisional. vigterm Definición : Termino de Vigencia de los miembros del Consejo. Aplicación : Conocer la fecha de termino de vigencia de los miembros del Consejo Divisional. descrquesto Definición : Descripción del puesto de los miembros del Consejo. Aplicación : Descripción detallada del puesto para la generación de documentos y reportes formales. : Las mismas que en cvequesto reglas no-sesión Definición : Numero de Sesión Aplicación : Identificar las sesiones mediante un numero, el cual se ha venido usando desde la primera sesión del Organ0 Colegiado. Reglas : En ningún caso puede ser nulo y pueden existir varios numeros de sesión iguales en la tabla, dependiendo de la existencia de quórum. 6 Fecha-sesión Definición: Fecha de sesión del Consejo Divisional Aplicación: Conocer la fecha que sesionó el consejo para poder distinguir una sesión con quórum y sin quórum. Reglas : En ningún caso puede ser nula esta fecha. Lugar Definición: Lugar de sesión del Consejo Divisional. Aplicación: Para el uso de comunicados, reportes y listados. Reglas : No puede ser nulo. !j Quórum Definición : Quórum de las sesiones Aplicación: Conocer si existió quórum o no en cada sesión-fecha Reglas : Valor lógico de Falso o Verdadero I acuerdo Definición : Acuerdo del Consejo Divisional. Aplicación: Identificar los acuerdos tomados en cada sesión del Consejo. Reglas : El acuerdo de compone de la concatenación del numero de sesión y de la orden del día, es decir por ejemplo : En la sesión numero 123, la orden del día se conformo por los puntos O01 al 105, con lo cual los numeros de acuerdos quedan del 123001 al 123105. descr-acuerdo Definición : Descripción del acuerdo Aplicación: Conocer el objetivo de cada acuerdo en la sesión del Consejo Divisional. Reglas : Se aceptan únicamente caracteres alfanuméricos. dict-acuerdo Definición : Dictamen del acuerdo Aplicación: Conocer el dictamen final del Consejo Divisional respecto a cada punto en la I orden del día de cada sesión. Reglas : Únicamente caracteres alfanuméricos. no-comisión Función : Numero de Comisión Aplicación: Para distinguir las comisiones formadas por los Consejos Divisionales Reglas : Una cadena de caracteres que podrá ser la concatenación del numero de sesión y la orden del día. no-soli citud Función : Numero de Solicitud Aplicación: Para distinguir las solicitudes que se presentan en los Consejos Divisionales. Reglas : Una cadena de caracteres que podrá ser la concatenación del numero de sesión y la orden del día. objetivo Función : Objetivo de la Comisión Aplicación: Se utiliza para conocer el objetivo en forma resumida de la Comisión. Reglas : Cadena de caracteres alfanuméricos. com-inic Función : Fecha de inicio de la Comisión. Aplicación: Para conocer la fecha en que se formo la comisión Reglas : Tipo fecha comterm Función : Fecha de termino de la Comisión. Aplicación: Conocer la fecha en que finalizo la vigencia de la Comisión, y a sea por cancelación, porque ya se cumplieron los objetivos, etc. : Tipo fecha Reglas status Función : Status de la Comisión Aplicación: Conocer el status de la comisión, si esta cancelada, finalizada, suspendida por cualquier motivo, etc. Reglas : Cadena de un dígito. dictcomisión Función : Dictamen de la comisión. Aplicación: Veredicto final o conclusiones de la Comisión. : Cadena alfanumérica de 30 caracteres. Reglas matricula Función : Matricula Aplicación: Identificar al alumno que esta tramitando una solicitud Consejo o al alumno que se le solicita alguna sanción. Reglas : Numerica de 8 digitos enteros. cve-soli citud Función : Clave de Solicitud. Aplicación: Clave que determina una san ión o p-tición al Consejo Divisional. Reglas : Cadena de 2 dígitos no nula. descr-solicitud Función : Descripción de la Solicitud. Aplicación: Descripción de la sanción o petición al consejo. Reglas : Cadena de caracteres. NORMALIZACION La relación R con todos los atributos de la base es: R(N0-SE SION,FECHA,LUGAR,QUORUM,ACUERDO,DESCR-ACUERDO,DICTACU ERDO ,NO~COMISION,OBJETIVO,COM~INIC,COM~TE~,STATUS,DICTAMEN,NO~ SOLICITUD,MATRICULA,CVE~SOLICITUD,DESCR~SOLICITUD,CLAVE,NOMBR, PUEST0,VIG-INIC,VIG-TERM) Las dependencias funcionales son las siguientes: 8 NO-SESION ---> FECHA,LUGAR,QUORUM NO-SESION,ACUERDO --->DESCR-ACUERD0,DICT-ACUERDO NO-COMISION ---> OBJETIVO,COM~INIC,COM_TERM,STATUS,DICTAMEN NO-S OLICITUD ---> MATRICULA,CVE-SOLICITUD ,DESCR-S OLICITUD CVE-SOLICITUD ---> DESCR-SOLICITUD CLAVE ---> NOMBRE,CVE-PUEST0,VIG-INIC,VIG-TERM,DESCR-PUESTO CVE-PUESTO ---> DESCR-PUESTO Eliminando las dependencias parciales y transitivas, se generan las siguientes relaciones: R1(NO-SESION,FECHA,LUGAR,QUORUM) R2(NO-SESION,ACUERDO,DESCR-ACUERDO,DICT-ACUERDO) R3 (NO~COMISION,OBJETIVO,COM~INIC,COM_TERM,STATUS,DICTAMEN) R4(NO-SOLICITUD,MATRICULA,CVE-SOLICITUD) R5 (CVE-SOLICITUD,DESCR-SOLICITUD) R6(CLAVE,NOMBRE,CVE-PUEST0,VIG-INIC,VIG-TERM) R7(CVEPUESTO,DESCR_PUESTO) t Existen cuatro entidades débiles que relacionan R6 con R1 (ASISTENCIA), R6 con R2 (COMISIONADOS, con un par de atributos adicionales, status de la cornision y descripción del status de l a comision), R3 con R2 (TRAMITAN) y R4 con R2 (FORMAN): RS(CLAVE,NO-SESION) R9(CLAVE,NO-COMISION,STATUS-COMIS) R11(STATUS-COM,DESCR-ST-COM) R12(NO~SESION,ACUERDO,NO~COMISION) R 13(NO~SESION,ACUERDO,NO~SOLICITUD) Con l o cual, las siguientes entidades quedan en tercera forma normal: SESION(NO-SES ION,FECHA,LUGAR,QUORUM) ACUERDO S(NO-SESION,AC~ERDO.DESCR-ACUERDO,DICT-ACUER~O) COMISIONE S(NO~C~MLSION,OBJETIV~,C~M~IMC,C~M~TERM,STATUS,DICTA MEN) SOLICITUDES(NO-SOLICITUD,MATRICULA,CVE-SOLICITUD) CLAVES-SOLIC(CVE-SOLICITUD,DESCR-SOLICITUD) CON SEJEROS( CLAVE,NO~RE,CVE-PUESTO,VIG-INIC,VIG-TERM) PUESTO(CVE-PUESTO,DESCR-PUESTO) AS1STENCIA(CLAVE,NO-SESION) COMISIONADOS(CLAVE,NO-COMISION,STATUS-COMS) STATUS-COM(STATUS-COM,DESCR-ST-COM) TRAMITAN(NO-SESION,ACUERDO,NO-COMISION) FORMAN(NO-SESION,ACUERDO,NO-SOLICITUD) a REGLAS DE LAS ENTIDADES 1. No se permitirán dar de alta registros en la tabla ASISTENCIA cuyas CLAVES tengan vigencias de termino VIG-TERM mayores que la FECHA de la sesión. 2. AI dar de alta una CVE-PUESTO en la tabla CONSEJEROS, se debe verificar que exista en la entidad PUESTO. 3. La VIG-TERM debe ser mayor a la VIG-INIC en la entidad CONSEJEROS. 4. Al dar de alta un registro en la tabla SESION, si existe un NO-SESION igual, este debe tener QUORUM igual a cero. 5. La fecha de SESION no debe ser menor a X (X es la fecha de la primera sesion del consejo). 6. En la entidad ACUERDOS no se permiten parejas NO-SESION - ACUERDOS iguales,es decir ACUERDO no se repite en un mismo NO-SESION. 7. En la tabla COMISIONES la fecha de COM-INIC. b C M-TERM debe ser mayor a la fecha de 8. En la entidad COMISIONES, la fecha COM-INIC no puede ser menor que la FECHA se la SESION donde se determino formar esta comisión. 9. En la entidad COMISIONAD$S al dar de alta un registro, no se debe permitir dar de alta la CLAVE de un comisionado cuya fecha VIG-TERM sea menor que la fecha COM-INIC de la COMISION. v 10. Al dar de alta el campo STATUS-COM en la tabla COMISIONADOS,se debe verificar que este exista en la entidad STATUS-COM. 6 .. 11. En las entidades FORMAN y TRAMITAN se debe verificar que el NO-SESION y ACUERDO existan como pareja en la entidad ACUERDOS. 12. Al dar de alta un registro en COMISIONES, se debe verificar que el NO-COMISION exista en la tabla forman. 13. Al dar de alta un nuevo registro en SOLICITUDES, se debe verificar que el NO-SOLICITUD exista en @ tabla TRAMITAN. 14. NO se permite dar de alta una CVE-SOLICITUD en la entidad SOLICITUDES que no exista en la tabla CLAVES-SOLIC 15. En la entidad CONSEJEROS no se permite dar de alta VIG-INIC que sean kenores que la fecha X (X es la fecha de la primera sesion del Consejo Divisional). ESTRUCTURAS DE LAS TABLAS CREATE TABLE CONSEJEROS (CLAVE VARCHAR(8) NOT NULL /* KEY NOMBRE VARCHAR(30) NOT NULL CVE-PUESTO VARCHAR(2) NOT NULL VIG-INI DATETIME NOT NULL VIG-TERM DATETIME NOT NULL) Go CREATE TABLE PUESTO VARCHAR(2) NOT NULL /* KEY (CVE-PUESTO DESCR-PUESTO VARCHAR(30) NOT NULL) Go CREATE TABLE SESION VARCHAR(4) NOT NULL /* KEY (NO-SESION FECHA-SESION DATETIME NOT NULL /* KEY LUGAR VARCHAR(30) NOT NULL QUORUM BIT NOT NULL) Go CREATE TABLE ASISTENCIA VARCHAR(4) NOT NULL /* KEY (NO-SESION CLAVE VARCHAR(8) NOT NULL /* KEY Go CREATE TABLE ACUERDOS VARCHAR(4) NOT NULL /* KEY (NO-SESION ACUERDO VARCHAR(7) NOT NULL /* KEY DESC-ACUERDO VARCHAR(30) NOT NULL DICT-ACUERDO VARCHAR( 15) NOT NULL Go 6 CREATE TABLE FORMAN (NO-SESION VARCHAR(4) NOT NULL /* KEY ACUERDO VARCHAR(7) NOT NULL /* KEY NO-COMISION VARCHAR(7) NOT NULL /* KEY - .* . I CREATE TABLE TRAMlTAN VARCHAR(4) NOT NULL /* KEY (NO-SESION ACUERDO VARCHAR(7) NOT NULL /* KEY NO-SOLICITUD VARCHAR(7) NOT NULL) /* KEY CREATE TABLE COMISIONES (NO-COMISION VARCHAR(7) NOT NULL /* KEY OBJETIVO VARCHAR(30) NOT NULL COM-INIC DATETIME NOT NULL COM-TERM DATETIME NOT NULL STATUS VARCHAR( 15) NOT NULL /* DEFAULT 'TRAMITE' DICT-COMISION VARCHAR( 15) NULL) Go 1 CREATE TABLE COMISIONADOS (NO-COMISION VARCHAR(7) NOT NULL /* KEY CLAVE VARCHAR(8) NOT NULL /* KEY STATUS-COM VARCHAR(2) NOT NULL) Go CREATE TABLE SOLICITUDES (NO-SOLICITUD VARCHAR(7) NOT NULL /* KEY MATRICULA VARCHAR(8) NOT NULL CVE-SOLICITUD VARCHAR(3) NOT NULL) Go CREATE TABLE CLAVES-SOLIC (WE-SOLICITUD VARCHAR(3) NOT NULL /*KEY DESCR-SOLICITUD VARCHAR(30) NOT NULL) Go CREATE TABLE STATUS COM (STATUS-COM DESCR-ST-COM Go V A R C H A R ~ )NOT NULL /* KEY VARCHAR(20) NOT NULL) I P O z m r I1 z D O O I H 1 O m U H H m 8 UNIF'ACE Con uniface se pueden hacer muchas cosas, desde un simple programa que efectúe una tarea en especifico, hasta un sistema completo de información desde su total organizaciqn. El sistema completo de información contendrá muchos diferentes programas para ejecutar muchas diferentes tareas. Las aplicaciones software, son cualquier programa en el sistema de información (si fue desarrollado en UNIFACE), este es la menor parte independientemente ejecutable de cualquier software desarrollado con UNIFACE. Pueden haber muchas aplicaciones en el sistema completo de información. UNIFACE es además un sistema de tiempo corrido, cualquier aplicación desarrollada con este, corre bajo el control del sistema de tiempo corrido de UNIFACE. Esta es una de las mas importantes características, con lo cual se protege al hardware y software. UNIFACE tiene las siguientes características adicionales: - Corre en muchos diferentes sistemas operativos como UNIX, MS-DOS, OS/2, VAXNMS, etc. - Maneja muchas diferentes bases de datos y administradores de sistemas de archi;os (DBMS y FMS) en forma simultanea si se requiere. - Corre sin problemas en un numero diferente de ambientes de redes. - Completa funcionalidad con el uso de ventanas sobre todos los sistemas soportados. - Se pueden efectuar interfases gráficas de usuarios. - Maneja el modelo relaciona1 y muchos otros estandares. Con UNIFACE se tienen herramientas muy poderosas, pero la desventaja de esto, es que un desarrollador inexperto tiene acceso inmediato a mucha funcionalidad y flexibilidad, por lo que es muy fácil de desarrollar malas aplicaciones. UNIFACE es una aplicación de cuarta generación de sistema de tiempo corrido. El IDF es una herramienta para generar aplicaciones UNIFACE UNIFACE por ser de cuarta generación es mas poderoso que el software desarrollado en lenguajes de tercera generación. De las características de cuarta generación mas importantes de UNIFACE son: - Desarrollo de aplicaciones mas rápidas que con lenguajes de tercera generación. - No se necesita experiencia en lenguajes de tercera generación. - En lugar de definiciones se usan declarativas - Se pueden hacer pruebas y prototipos. - El sistema de tiempo corrido de UNIFACE es automáticamente incluido en las aplicaciones, por lo que no se necesita crear algunas cosas incluidas en el Sistema de tiempocorrido como la funcionalidad de las ventanas y el uso del editor (los cuales se pueden efectuar con el ID). - Un poderoso lenguaje de procedimientos que esta disponible para el desarrollo de definiciones de procesos (El lenguaje PROC). DEFINICIONES La parte mas importantes del desarrollo de aplicaciones son las definiciones globales o conceptuales de todos los casos que pueden usarse en las aplicaciones por medio de declarativas. Las ventajas de las declarativas en la generación de software son las siguientes: - Siempre define algunas cosas en el mismo camino - No se necesita estar escribiendo todo el tiempo las declarativas para implementar las definiciones, t - El ID almacena definiciones conceptuales centralizados en una base de datos de mas uso en sus aplicaciones. - Los valores de default son disponibles por algunas definiciones. - Los imprevistos de olvidos en algunas definiciones son minimizados. Cuando se hace una definición el ID almacena esta en la base de datos (llamada el diccionario de aplicación) y ya no es necesario hacerlo nuevamente. Cuando alguna vez sea necesario utilizar estas en el desarrollo de aplicaciones, el ID usara esta implícitamente. PROCEDIMIENTOS En el desarrollo de aplicaciones se puede usar el lenguaje de procedimientos PROC para definir algún proceso que no esta automáticamente implícito en las aplicaciones UNIFACE o cambios en los valores por default. Como simple ejemplo se puede declarar que dato debd aparecer por default en la pantalla en un bloque inverso y usar PROC para efectuar cálculos base en los valores en los campos. Usando PROC se puede además hacer que el campo parpadee si el valor que este contiene es negativo. Un ejemplo mas complicado puede ser el de dar mantenimiento a una base de datos por técnicas de documentación. Si se desea borrar un registro del documento, probablemente será necesario al mismo tiempo hacer una revisión de este. Este ejemplo es mas complicado pero relativamente simple. Se define una declarativa en el ID en el nivel conceptual del ID que la revisión debe ser borrado si el documento es borrado. Se necesita solamente estar seguro que la información acerca de ambos tipos de datos están presentes cuando la operación de borrado es llevada al cabo UNIFACE entonces borrara la revisión sin que usted necesite escribir código para efectuar esto. 4 APLICACIONES. Al efectuar aplicaciones UNIFACE se debe tomar en cuenta las siguientes cuestiones: - La rutina de comienzo de UNIFACE es la primera que corre. - La información de pantalla que gobierna cualquier cosa que aparezca en la terminal durante la - - sesión. La interface de software para manejar el DBMS, la red y el rnanejador de presentación. Algún lenguaje de tercer nivel que pueda ligar con la aplicación. Una rutina externa. Se puede usar el IDF para cambiar estos elementos. ESQUEMAS EXTERNOS Se pueden usar rutinas externas para mostrar los datos o usar la aplicación implícita del ID que contiene llamada "form paint tableau" donde se pueden mostrar los esquemas externos. Los esquemas externos contienen disparadores que son activados cuando cierto evento ocurre. Muchas de las cosas que se pueden mostrar en esquemas externos contienen herramientas disparadores. Se pueden definir códigos procesos gen esos disparadores y se pueden correr varios esquemas en la misma aplicación. INTERFASE VISUAL Es una interfase para mos rar los d tos n la pantalla, los implícitos de UNIFACE son: - Windowing - Scrolling - Scrolling within field frames - Zooming Todos a base de ventanas que resaltan cierta información en una aplicación. También para buscar, almacenar y manipular esta información. d ALTA DE LA BASE DE DATOS EN UNIFACE ' 1. En el menu principal de UNIFACE se elige la opcion de Esquema Conceptual (Conceptual Schema) y se escribe en nombre de este dando "DETAIL para pasar a la siguiente pantalla a definirlo. I UNIFACE Version Information engineering & Design Facility 7 7 Applicatlon conceptual Schema I Command Line 7 1 0 Dictionary listing 1 0 Central Defenitions I 0 ~~~worl<bench 1 0 Miscellaneous External Schema CONS-DIV Licence: Position the cursor & press ~DETAILÍ 2.En el menu de Definicion del Esquema Conceptual (Conceptual schema definition) se elige la opcion de Entity assignments para definir las entidades de la base de datos. Conceptual schema definition Conceptual schema name I CONS-DIV I I Relationship definitions Create Table utility I Field asignments Field definition Domain Definition Analyze schema CASE unload Global model definitions Field layout Field interface Field syntax Entity Interface 3. Se escriben los nombres de todas las entidades de la base de datos, asi como cual DMBS estan las tablas, en nuestro caso todas estan en Sybase extension SYB. Entiiy Assignmenti Entity 8 o f 12 - Entity is SYB Subtype Entity Assignments Entity -of12 12 - Entity SYB i s Conceptual schema I CONS DIV commentsField Reiships DBMS *n. Conceptual schema Comments I CONS-DlV Commensti( Subtype Field RelDEWS m n . ships Comments 1 4. En el menu de defhicion de esquema conceptual elegimos la opcion de field assignment, el sistema presenta la pantalla del punto anterior, en esta nos posicionamos en la columna field assignment y damos "DETAIL, el sistema presenta la siguiente pantalla donde tecleamos los campos de cada entidad, por ejemplo para la entidad SESION tenemos: I ~~ Conceptual schema definition Conceptual schema name Entity assignments Entity definition Relationship definitions Create Table utility I CONS DIV I I (Field asignments Field definition Domain Definition Analyze schema CASE load CASE unload '0 Global model definitions Field syntax Entity Interface Field layout Field interface Entity Key Nr I Key Typ SESION I Field Assignments Conc. schema Comments 7 Field names (separate wlth a coma ,) NO-S ES IO N FECHA Domain Db Typ Interface Syntax 5. Una vez dadas de alta todas las tablas, junto con los campos de cada uno de estas, lo siguiente es establecer las relaciones uno a muchos entre entidades. Ya que se determinaron estas relaciones, se debe ingresar a la opcion de Relationship definition y en la siguiente pantalla que muestra el sistema, escribir estas. Conceptual schema definition I Conceptual schema name Entity d g n m e n t s Entity definition lRelationship definitions Create Table utility I I I Field acignments Field definition Domain Definition Analyze schema CASE load CASE unload Global model deflnitions Field syntax Entily Interface Field layout Field interface Entity relationships I I CONS-DIV One entity to Conceptual schema Many entity I CONS-DIV Index Foreign key fiels in Key Constraints order of prim./cand. Number Del Upd CONSEJEROS CONSEJEROS ASISTENCIA SESION SESION ACUERDOS ACUERDOS FORMAN COMISIONES COMISIONAü( CONSEJEROS WE-PUESTO CLAVE NO-SESION NO-SESION NO-SESIONACUE NO-SESIONACUE NO-COMISION CLAVE RES RES RES RES RES RES RES RES 6 . Y a que terminamos de definir nuestro esquema conceptual, lo siguiente es crear los esquemas para capturar la informacion de las tablas. Para crear los esquemas externos ingresamos a la opcion de External schema del menu principal. UNIFACE Version Information engineering & Design Facility Application I 7 Conceptual Schema 7 External Schema I 0 Dictionaiylistings 1 0 Central Defenítions 1 0 SQL Workbench 0 Miscellaneous ESESION Command Lfne Licence: Position the cursor a press <DETAIL, & En el menu de External schema definition ingresamos a la opcion de Form paint tableau para crear nuestro esquema. External schema definition n o O 0I 0 Schema name ESESION I I ~opyForm-1 Form-level definitions View I Delete Proc listing Form paint tableau Delete protoiype data I I 7. En el menu de Frame Definition se escogio un frame tipo entidad (Entity) con un Borde, por ejemplo el esquema externo para la entidad sesion llamado ESESION, se creo de la siguiente forma: Frame Definition 7 Repetition - o OCC. I/I I Scroll bar pWfNtT/L/Wel Video bright IyIN] Video Invetse Iv/N] Video color lo531 Suppress empty Vil1 U Video underline Video blink r/N] E Dar "FRAME en Type para ingresar al FastForm, posteriormente a format y dar la opcion H (Horizontal) en el Code list Paint Tableau. o Fast Form I Ssq Format opcion H Description Field numero de sesion Fecha Lugar Quorum I I LUGAR QUORUM Width U Total Fields F Depth I L aI I 8. Finalmente el esquema externo ESESION de la entidad SESION queda de la siguiente forma. External schema definition 1 2 External schema name 3 4 5 ....5 .... o ....5 ....o ....5 ....o .... 5 .....o ....5 ....o ....5 . CAPTURA D E DATOS D E SESION NUMERO DE SESION FECHA LUGAR QUORUM ....5 ....o .... 5 .... o ....5 ....o ....5 .....o ....5 ....o ....5 . 1 2 3 4 5