test moss ok

43
UNIVERSIDAD AUTONOMA METROPOLITANA / División de Ciencias Básicas e Ingeniería Iztapalapa Casa abierta al tiempo 4' Licenciatura en Computación PRESENTA: PROYECTO DE TITULACI~N s' " PSICOMÉTRICA MOSS " Elaborado por: Francisco Vera Mendoza Marcos Fco. Palomino Lara. Matricula. 91324628 Matricula. 9222 1 108 Asesor: M en C. Jorge Lo* Moreno. México.,D.F., Marzo de 1998. --

Upload: abelettt

Post on 13-Apr-2015

664 views

Category:

Documents


19 download

TRANSCRIPT

Page 1: Test Moss Ok

UNIVERSIDAD AUTONOMA METROPOLITANA / División de Ciencias Básicas e Ingeniería

Iztapalapa

Casa abierta al tiempo

4' Licenciatura en Computación

PRESENTA:

PROYECTO DE TITULACI~N s'

" PSICOMÉTRICA MOSS "

Elaborado por:

Francisco Vera Mendoza Marcos Fco. Palomino Lara.

Matricula. 91324628 Matricula. 9222 1 108

Asesor:

M en C. Jorge Lo* Moreno.

México.,D.F., Marzo de 1998. --

Page 2: Test Moss Ok

PsicoMétrica Q

Moss 1 .O Contenido

Contenido Págína

Capitulo 1 . Introducción

Marco teórico . Planteamiento del proyecto . Objetivos . Herramientas de desarrollo .

Capitulo 2 . Inttoduccicjn ai MOSS

MOSS de adaptabilidad . Calificación de la prueba MOSS .

Capitulo 3 . Desarrollo de la prueba MOSS

Análisis y diseño . Implementación

Bitácora de actividades . Problemas presentados y su solución

Capitulo 4 . Resultados

Capitulo 5 . Condusiona

Bibliografía

Anexo A . Diagrama de Contexto . Diagrama de flujo de datos . Diagrama de entidad - relación

Diagrama transición de estados . Anexo B .

Estructura de datos

Principales procedimientos y funciones .

.......... 2

.......... 2

.......... 3

.......... 4 ..... 4

.......... 5

.......... 5

.......... 6

.......... 8

.......... 8

.......... 10

.......... 11

.......... 13

.......... 15

.......... 17

.......... 18

Página I

Page 3: Test Moss Ok

PsicoMétrica @

Moss 1 .O Introducción

Capítulo

Introducción

Marco teórico Pocas veces los proyectos de investigación de la Licenciatura en Computación se enfocan a la resolución de problemas reales en otras áreas del conocimiento. Este proyecto es parte de una familia de proyectos que se han venido generando especialmente para tratar de entrar en soluciones informáticas en el área de la Psicología Industrial en base a la necesidad urgente de generar proyectos termi- nales de calidad para los estudiantes de las licenciaturas en Computación e Inge- niería Electrónica y a partir de la experiencia y relaciones con la industria de cómputo del Ing. Jorge Lozano Moreno, Profesor responsable del proyecto.

En el área de Reclutamiento y Selección de toda gran empresa comunmente se requiere de la aplicación de técnicas procedimentales y confiables para la con- tratación de sus recursos humanos, estas técnicas son lo que comúnmente se conoce como Exámenes Psicométricos. Normalmente los exámenes psico- métricos requieren un buen conocimiento de diversas técnicas de entrevista y evaluación, interpretación de gráficos y generación de documentos que definen características, conductas y comportamientos de la persona. Sin embargo, es ha- bitual que en nuestro país estos exámenes se apliquen por medios totalmente manuales: aplicación de grandes cuestionarios, calificación en base a diversos criterios, graficación de diversas escalas medidas, interpretación de gráficos y fi- nalmente: generación de reportes de evaluación.

En esto encontramos un terreno fértil, pues la mayoría de las tareas que realiza un reclutador se pueden mejorar substancialmente si se implanta el uso de mé- todos automatizados, a través del uso de la computadora personal, que además

Página 2 m

Page 4: Test Moss Ok

PsicoMétrica @

Moss 1.0 Introducción

se ha vuelto una herramienta habitual en toda área de recursos humanos, así, se encuentra que contamos con un área donde tenemos :

usuarios reales

proyectos viables

proyectos de aplicación inmediata

La idea es obtener un producto que implante la solución de alguna Prueba Psi- cométrica, que se habrá de agregar a la batería existente actualmente, que se ob- tuvo con otros 5 proyectos.

C P I

Cleaver

0 16FT

0 LG

Teman

Planteamiento del Proyecto A menudo las empresas tratan de contar con el personal idóneo, sin embargo resulta dificil elegir a la persona correcta para cada puesto. En muchas ocasiones se puede contar con empleados ejemplares, que con el tiempo van ascendiendo de nivel hasta ocupar puestos estratégicos para la empresa, pero, no es igual de- sempeñar un cargo en el cual una sola persona es la encargada de su propio tra- bajo, a un puesto en el que se deba coordinar a una serie de personas a su cargo.

Aigunas de las preguntas del personal de recursos humanos serían: <Sabrá ma- nejar a los empleados?, <Tendrá las características de un líder?, italvez sea un buen empleado pero no un buen supervisor!. Para tratar de responder a estas preguntas los psicólogos se basan en pruebas que tratan de ubicar al individuo dentro de un rango de liderazgo.

Por esta razón se decidió implementar un nuevo módulo a la batería de pruebas existentes. con el fin de conocer cual es el nivel de liderazgo del individuo en estudio. La prueba psicológica que se implemento fue “MOSS”, esta prueba se enfoca al análisis de liderazgo, consta de 30 preguntas las cuales involucran al in- dividuo en situaciones de decisión especifica, cada pregunta tiene cuatro posibles respuestas de las cuales solo una es la correcta.

Página 3

Page 5: Test Moss Ok

PsicoMétrica Moss 1 .O

introducción

Objetivos Los objetivos del proyecto son:

0 Generar una aplicación de utilidad general en un área de proyectos intere- sante, que permita la obtención de aplicaciones reales para el medio mexica- no.

0 Desarrollar aplicaciones en ambientes gráficos, utilizando técnicas de pro- gramación orientada a eventos y/o orientada a objetos.

0 Programar e implantar un sistema en Windows 95 usando Visual Basic 4.0 de 32 bits.

0 Obtener un producto terminado al 100%, siguiendo alguna metodología de Ingeniería de Software( Yourdon ), de manera que el sistema incluya un pro- ducto terminado y aprobado. Documentación técnica y de usuario, sistema de instalación, ayuda en línea, protección contra piratería, manejo de contra- señas, diseño gráfico de los iconos, pantallas, etc.

0 Preparar un proyecto de primer nivel con miras a participar en concursos de software nacionales, tratando de traer reconocimientos hacia la universidad.

0 Obtener un modulo más para el sistema PsicoMétrica.

Herramientas de desarrollo Conforme al objetivo de desarrollar una aplicación viable dentro del ámbito in- dustrial, se eligió el ambiente de desarrollo mas comercial: Windows 95. Así co- mo una de las herramientas de desarrollo orientadas al RAD de mayor uso hoy en día: Microsoft Visual Basic.

Para la generación de los reportes hemos aprovechado la interfaz de Word con Visual Basic, para generar los reportes en formato RTF. P c h t Text Format), dejando reportes de primera calidad tipográfica, y dejando el documento en ma- nos de psicólogo, para que lo manipule como desee dentro de Word.

Página 4

Page 6: Test Moss Ok

PsicoMétrica Q

Moss 1 .O Introducción al MOSS

Cap ít u lo

Introducción al MOSS

MOSS : Es una prueba que evalúa la Adaptabilidad y Juicio Social de una perso- na. Esto se logra a través de una serie de preguntas las cuales involucran al indi- viduo en situaciones de decisión especifica, cada pregunta tiene cuatro posibles respuestas de las cuales solo una es la correcta.

MOSS de Adaptabilidad

Es una prueba que tiene como objetivo primordial detectar hasta que grado una persona tiene habilidad para manejar las relaciones interpersonales, esto lo po- demos evaluar por medio de los siguientes aspectos:

0 Habilidad en Supervisión.

0 Capacidad de evaluar problemas.

0 Capacidad de tomar decisiones.

Habilidad para establecer relaciones.

0 Sentido común y tacto para tratar personal.

rn Phglna 6

Page 7: Test Moss Ok

Psicohiétrica 8

Moss 1 .o Introducción al MOSS

Intervalo de respuestas correctas Nivel de Juicio Social I

Calificación de la Prueba MOSS

El Nivel deJztibo Social de una persona se interpreta a través de la siguiente escala:

D e 8 a l l

De 12 a 18

Pobre

Medio

D e l a 7 I Deficiente I I

De 19 a 23

De 24 a 30

Bueno

Superior

La tabla 2.1 muestra los cinco niveles de juicio social que puede obtener una persona de acuerdo al número de respuestas correctas.

Para determinar el porcentaje en cuanto a las Relaciones Hztmanas se necesita tener la prueba resuelta, sin omitir ninguna pregunta, una vez completada la prueba se procede a la calificación, la cual consiste en asignar un porcentaje a cada una de las respuestas contestadas correctamente, para cada una de las aptitudes se to- man diferentes porcentajes como lo muestran las siguientes tablas:

Habilidad en supervisión

Número de pregunta

Porcentaje

Capacidad de evaluar problemas

Número de pregunta

Porcentaje

2 3 16 18 24 30

17 34 50 67 84 100%

7 9 12 14 19 21 26 27

13 25 38 50 63 75 88 100%

Página 6 m

Page 8: Test Moss Ok

PsicoMétrica Q

Moss 1.0 Introducción ai MOSS

Capacidad de tomar decisiones

Número de pregunta

Porcentaje

4 6 20 23 29

20 40 60 80 100°/o

Habilidad para establecer relaciones

Número de pregunta 1 10 11 13 25

Porcentaje 20 40 60 80 100%

Sentido común y tacto para tratar personal

Número de pregunta 5 8 15 17 22 28

Porcentaje 17 34 50 67 84 100%

rn Página 7

Page 9: Test Moss Ok

PsicoMétnca Moss 1 .O

Desarrollo de la Prueba MOSS

Cap ít u lo

Desarrollo de la Prueba MOSS

Análisis y Diseño Dentro de la etapa de Análisis y Diseño del sistema MOSS 1.0 utilizamos la metodología de Yourdon, por lo que fue necesario modelar el sistema a partir de los siguientes diagramas:

0 Diagrama de Contexto.

0 Diagrama de Flujo de Datos.

0 Diagrama de Entidad - Relación

0 Diagrama de Transición de Estados.

Estos Diagramas aparecen en el Anexo de este Informe y se dará a continuación una breve descripción de cada uno de ellos.

Diagrama de Contexto

El diagrama A.l. presenta en forma general las entidades y dispositivos de alma- cenamiento que hteractúan con el sistema. Este es un primer acercamiento el cual nos proporciona la siguiente información: de la entidad empleado obtene- mos su información personal y sus repuestas de la prueba MOSS, la cual se en- cuentra representada dentro del diagrama por medio de un circulo, la entidad aplicador es el encargado obtener reportes y gráficas de las pruebas para que posteriormente puede hacer análisis con base a los resultados obtenidos.

m Página 8

Page 10: Test Moss Ok

PslcoMétrlca

Moss 1 .O Desarrollo de la Prueba MOSS

Diagrama de Flujo de Datos

El diagrama de flujo de datos A.2. nos muestra mas detalladamente la composi- ción interna de algunos procesos del sistema.

Para resolver una prueba es necesario capturar los datos del empleado y contes- tar la prueba. Con los resultados obtenidos el aplicador puede generar su reporte y gráfica correspondiente.

El diagrama de flujo de datos A.3. nos describe los pasos para evaluar las re- puestas de la prueba, como son validar la clave de acceso de aplicador, seleccio- nar el empleado a evaluar junto con sus respuestas para finalmente procesar di- chas respuetas.

Por ultimo el diagrama de flujo de datos A.4 se encarga de generar los resulta- dos de la prueba para que con ellos se puedan generar: la gráfica y el reporte lo- cal o en formato RFT.

Diagrama de Entidad relación

Debido a que el sistema no comprende el entorno general de la administración de recursos humanos; el cual involucra un manejo más completo de la informa- ción de empleados y aspirantes, para promociones y vacantes respectivamente.

El sistema solo incluye un almacenamiento de empleados y de respuestas de la prueba MOSS, no incluimos el almacenamiento de los resultados de la prueba.

No interactuamos con un historial de trabajo de empleados, solicitantes y de aplicadores de la prueba, en el Diagrama de Entidad Relación AS.

Diagrama de Transición de Estados

En base a los diagramas anteriores se elaboró el Diagrama de Transición de Es- tados A.6. el cual muestra la manera en que interactúan las entidades antes seña- ladas con el sistema, además de señalar más específicamente el flujo de informa- ción, el cual al ingresar a cada uno de los procesos, genera una salida correspon- diente al evento o información que se obtiene.

Página 9 m

Page 11: Test Moss Ok

PsicoMétrica @

Moss 1 .O Desarrollo de la Prueba MOSS

Implementación La fase de implementar cada uno de los procesos se detalla a continuación:

0 Tomando como base la información compuesta de preguntas, tabulaciones, normas, tiempos predeterminados y valores asociados al MOSS, se utilizaron registros y arreglos de registros del tipo adecuado para almacenar en memoria las preguntas los datos personales y respuestas del empleado, las respuestas de las pruebas para la obtención de la gráfica de barras. Se definieron las fun- ciones y los procedimientos necesarios para manipular dicha información en los aspectos de: validación, graficación manipulación de archivos para limpiar, guardar y recuperar información, así como los procedimientos que efectúan las manipulaciones de estos datos para que operen correctamente en la apli- cación MOSS. (ver Anexo B)

0 El siguiente paso fue la elaboración de una interfaz sencilla y amigable para el usuario.

1. Manejo de menú y barra de herramientas (fue necesario realizar el diseño de los iconos asociados a los botones de la barra).

2. Ventana de captura de la prueba la cual consta de dos partes. Un área para el llenado de los datos personales del empleado y otra para la resolución de la prueba.

3. Ventana en la cual se despliega gráficamente los resultados de la prueba MOSS.

4. Reporte de la prueba ya sea en pantalla o en archivo.

5. Cajas de dialogo para cambio de contraseña, definir directorios de Wordpad y Word, importar pruebas, abrir y recuperar prue- bas, definir rangos de evaiuación para las Relaciones Humanas.

6. Se realizaron los procedimientos y funciones que dan soporte al sistema, otra tarea importante fue el manejo de las llamadas a las funciones N I , las cuales permiten manipular funciones que pertenecen al sistema de Windows.

7. La etapa final y como complemento de la creación del sistema consistió en realizar los discos de instalación.

Página 10

Page 12: Test Moss Ok

PsicoMétrica * Moss 1 .O Desarrollo de la Prueba MOSS

Bitácora de actividades De acuerdo al calendario de planeación del desarrollo del sistema se tienen los siguientes puntos:

0 Investigación y estudio de la herramienta

Se decidió utilizar una herramientíi de programación orientada eventos conocida como Visual Basic 4.0, al cual ofrece una gran versatilidad para la realización de una interfaz de usuario amigable en ambiente Windows. Se ocuparon aproxima- damente 6 semanas.

Análisis de requerimientos de la prueba

En esta fase se desglosaron los objetivos y requerimientos de la prueba, como son:

1. Definición de la prueba misma: cQué mide?.

2. Las partes que la constituyen: tipos de preguntas.

3. La información que se desea obtener: rangos, calificaciones, etc.

4. Los medios para obtener dicha información: ventanas, archivos, etc.

5. Búsqueda de información para la generación de calificaciones, de rangos, etc.

Para la realización de esta etapa se ocuparon aproximadamente 4 semanas.

Diseño y programación.

1. Elaboración de los diagramas de flujo de datos, de entidad - relación y

2. Interfaz con el usuario: llenado de datos personales, presentación de pre- guntas y validación.

3. Interfaz con el aplicador: visualización de gráficas, calificación de la prue- ba, elaboración del reporte, manipulación de archivos, generación de pruebas nuevas dentro e un mismo archivo.

transición de estados.

4. Almacenamiento de información.

Captura.

Tomando como base que la prueba la constituyen tanto sus preguntas como la evaluación de estas, fue necesario capturar toda la documentación necesaria. Además se tuvo que implementar un sistema para la captación de información proveniente de éste, al momento de contestar la prueba. Para la realización de este proceso se llevó un tiempo aproximado de 4 semanas.

Página 11

Page 13: Test Moss Ok

PsicoMétrica Moss 1 .O

Desarrollo de la Prueba MOSS

Seguridad.

Medio de protección del sistema desde el momento de inicio de su ejecución como en el transcurso de su utilización se tomaron en cuenta los siguientes as- pectos.

1. Definición de un método de verificación de Hardware que permita la eje-

2. Uso de una contraseña por parte del aplicador para el manejo confiable

3. Elaboración de mensajes para la prevención del manejo erróneo del sis-

cución del sistema.

de la información.

tema

Grafkación

Para elaborar la gráfica de la prueba las respuestas son previamente calificadas de una manera transparente para el usuario. Se muestra el porcentaje obtenido en cada Relación Humana, el número de respuestas correctas y el nivel de Juicio Social.

0 Generación del Reporte

Como complemento ideal para el aplicador se encuentra la fase de reporte , la cual permite, de una manera muy sencilla tener un panorama particular del em- pleado en cuanto a su nivel de liderazgo.

El reporte se puede obtener de diferentes maneras, ya sea hacia pantalla o archi- vo, y para dos procesadores de texto como: Wordpad y Word. También se cuenta con una opción alternativa que es le reporte local, que nos permite la transportación del texto hacia algún otro procesador de palabras. Lo anterior tiene como principal ventaja que el aplicador pueda modificar dicha información de acuerdo a su criterio y a la entrevista con el usuario, con el objetivo de reali- zar un reporte final completo y más particularizado.

0 Instalación

La fase de instalación comprende los siguientes pasos:

1.

2.

3.

Inicio de la instalación desde un disco que posee ciertas características es- peciales, las cuales permiten que dicha instalación se lleve acabo única- mente con este disco.

Solicitud de la información referente a la unidad en la que se instalará el sistema. Se lleva acabo la copia de archivos en el directorio que el usuario a definido, así como en el directorio “System” de Windows

Finalmente se graba la información personal del usuario (password para el sistema) en el archivo moss.ini, que pantizará el correcto fünciona- miento del sistema.

Página 12

Page 14: Test Moss Ok

PsicoMétrlca Moss 1 .O

Desarrollo de la Prueba MOSS

0 Documentación

En el transcurso del análisis, diseño y programación del sistema se fue elabo- rando la documentación correspondiente en cada una de fases mencionadas.

0 Ayudaenlínea

Se elaboró el archivo de ayuda ayumoss.hlp que muestra los diferentes temas de mayor y principal interés para el usuario, con el cual se puede resolver dudas acerca del funcionamiento del sistema

0 Manual de usuario

Para tener una consulta más detallada acerca del sistema y de cada una de las funciones de sus componentes se elaboró un manual que contiene un apéndice y una serie de capítulos que se describen a continuación:

Apéndice: compendio de órdenes del menú principal de MOSS.

Capitulo 1: Introducción a Psicométrica.

Capitulo 2: Introducción al MOSS.

Capitulo 3: Instalación de MOSS.

Capitulo 4: Uso del sistema.

Capitulo 5: Gráfica.

Capitulo 6: Reportes.

Capitulo 7: Ayuda.

Pruebasfinales

Se llevaron acabo diversas pruebas que sometieron al sistema a diferentes cir- cunstancias tanto de operación por parte del usuario final, cuidando que no se rompiera la lógica de operación debido a las manipulaciones que el usuario pu- diera realizar, como de software del ambiente Windows, buscando el ambiente suficiente y necesario para el correcto funcionamiento de la prueba MOSS.

Problemas presentados y su solución Básicamente nos enfrentamos a dos problemas: en la exportación del reporte en formato RTF y en la construcción de la ayuda en línea.

El primer problema consistió en que la anterior versión de Windows 95 (Windows 3.11) se hacia uso de la función SendKey de Visual Basic para la ma- nipulación de aplicaciones bajo Windows como son: Write y Word, sin embargo

Página 13

MA

Page 15: Test Moss Ok

PsicoMétrica 8

Moss 1.0 Desarrollo de la Prueba MOSS

en Windows 95 no causa el mismo efecto, ejemplo: cuando la aplicación Word ya esta abierta y se quiere mandar un reporte desde el sistema MOSS lo co- rrecto es que se active Word para desplegar el reporte, pero no se cumple este Último paso. E s por esto que optamos por abrir la aplicación Word cada vez que sea necesario.

El segundo problema se presentó en la construcción de la ayuda en línea. Cuan- do ya teníamos casi por completo el archivo de ayuda, este se daño por el virus CAP que detectamos tiempo después y entre ese lapso de tiempo h e imposible generar el archivo de ayuda.

Página 14 m

Page 16: Test Moss Ok

Capítulo

Resu I tados

Tomando como meta cubrir los objetivos propuestos a iniciar el proyecto MOSS, se llegó a obtener un producto final terminado en todas sus etapas, que son:

0 La obtención de una prueba Psicométrica por medio de computadora que mide y evalúa el Juicio Social y las relaciones interpersonales del individuo en estudio.

0 Tener una aplicación interesante y de utilidad específicamente en el área de selección de personal, que permite la resolución de problemas reales en el medio industrial mexicano.

0 Una aplicación en ambiente gráfico, utilizando técnicas de programación orientada a eventos con la hehamienta Visual Basic 4.0.

Desarrollo de una herramienta aplicativa a partir del análisis de los requeri- mientos, como fue la generación de un ambiente gráfico amigable para el usuario, hasta la producción y puesta en marcha de la misma con una fase de instalación de software totalmente personalizada, pasando por la documenta- ción técnica y de usuario indispensables para el correcto manejo y explota- ción de la prueba.

0 Finalmente, contar con una aplicación en ambiente Windows que @iza de manera extrema todos los procesos que cualquier Psicólogo experimentado cubriría en un tiempo mucho mayor que con la aplicación MOSS, además de ser capaz de:

Página 15 m

Page 17: Test Moss Ok

PsicoMétrica Q

Moss 1 .O Resultados

1. Presentar un ambiente amigable e informativo del cómo iniciar y con- testar la prueba MOSS, considerando que se trata de un usuario que des- conoce por completo su manejo y parámetros que mide.

2. Proveer de una gama de accesos ripidos por medio de una barra de he- rramientas, para la realización fácil y rápida de ciertos procesos que se ocupan con mayor frecuencia tales como: la generación e impresión de reportes y gráficas, así como el manejo de archivos.

3. Poder almacenar en un sólo archivo más de una prueba, esto con la fina- lidad de tener una mejor organización en el manejo de información co- rrespondiente a un grupo de evaluados que pueden tener algunas caracte- rísticas en común, ejemplo la solicitud de un puesto en especial.

4. Tener la ventaja de poder manejar los reportes de la prueba en cualquiera de los dos procesadores de palabras (YVordPad y Word), los cuales per- miten realizar todas las modificaciones tanto de eliminación y agregado de información como de cambios en el formato de párrafos o el tipo y tamaño de letra.

Página 16 m

Page 18: Test Moss Ok

PsicoMétrica @

Moss 1 .o Conclusiones

Capítulo

Conclusiones

El desarrollo de aplicaciones reales nos permite introducirnos al mercado actual que viene desarrollándose desde hace algunos años y que no habíamos tenido la oportunidad de ingresar a este, pudimos constatar que las aplicaciones informá- ticas tienen un amplio campo de trabajo no solo en el área científica sino tam- bién en el ámbito industrial.

Obtuvimos los conocimientos teórico prácticos necesarios para el desarrollo de un producto comercial, que incluye el conocimiento de una herramienta de programación, análisis y diseño de sistemas, programación, elaboración de ayuda en línea y manuales.

En el caso particular del sistema que desarrollamos, el cual se encuentra dentro del campo de la Psicología Industrial, comprobamos que la aplicación MOSS es una buena herramienta para ayudar en el trabajo tedioso en la selección de per- sonal del departamento de recursos humanos, pudiendo agilizar y controlar de manera más efectiva el flujo de información.

Página 17 rn

Page 19: Test Moss Ok

PoicoMétrica Moss 1 .O Bibliografía

Bi bl i og rafía 0 Titulo: Programmer’s Guide o f Visual Basic 4.0

Autor: Microsoft.

Editorial: Microsoft.

0 Titulo: Language Reference o f Visual Basic 4.0

Autor: Microsoft.

Editorial: Microsoft.

0 Titulo: Professional Features Book 1 o f Visual Basic 4.0

Autor: Microsoft.

Editorial: Micro s o ft .

Página 18 m

Page 20: Test Moss Ok

Anexo

A Anexo tLA''

Diagrama de Contexto.

Diagrama de flujo de datos,

Diagrama de entidad = relación,

Diagrama de transición de estados,

Page 21: Test Moss Ok

APLICADOR n

Datos del Ernp I eado

EMPLEADO

Datos de empleado + Identificación del Respuestas prueba MOSS Ap I i cador

Resul tados Prueba MOSS

Prueba MOSS

EMPLEADOS RESPUESTAS DE PRUEBA MOSS

Respuestas Prueba MOSS

Diagrama Al : Diagrama de Contexto.

b REPORTE DE RESULTADOS Resultados FORMATO RTF Prueba MOSS

APLICADOR

Diagrama A2: Diagrama de f l u j o de Datos

Page 22: Test Moss Ok

( 3 ) 3 RESPUESTAS

REPORTE DE RESULTADOS FORMATO RFT

APL I CADOR

Respuesta de Validación

Resultados Prueba MOSS

RESPUESTA DE

Identificación del Ap I i cador

Habi I i tar Procesar

Resultados Prueba MOSS

EMPLEADOS

I

RESPUESTAS DE PRUEBA MOSS

Respuestas Prueba MOSS

RESPUESTA DE

Ernp I eado

Diagrama A3: Evaluar Respuetas.

Page 23: Test Moss Ok

( 3 . 4 ) 4R RESPUESTAS DEL EMPLEADO

Resultados Gráficos

Habi I i tar Procesar

Reporte de Resultados Loca I

b APLICADOR

Reporte de Resultados Formato RTF

4

Resul tados Prueba MOSS

REPORTE DE RESULTADOS FORMATO RFT

Diagrama A4: Procesar repuestas del empleado.

Page 24: Test Moss Ok

DER MOSS

Empleado Respuestas

- L

Nombre Sexo Ocupación Edad

Nombre Fecha

Diagrama A5 : Diagrama de Entidad Relación.

Page 25: Test Moss Ok

fn i enza

ibi I i tar lnsul ta

INICIO

Comienza I Habi I i tar Captura

v CAPTURAR DATOS DE EMPLEADO

Datos Capturados

Habi I i tar Prueba

PRUEBA MOSS Prueba Conc I ui d:

Habi I i tar s i g. Purebi

Prueba Resue I ta

Habilitar Consulta

I

VAL I DAR IDENTIFICACION DEL APLICADOR

I Ident i f i cac íon val ida

SELECCIONAR EMPLEADO

Emp I eado se I ecc i onado I I ~~

Habi I i tar Carga de respuestas

CARGAR RESPUESTAS DE

EMPLEADO

Respuestas de Empleado!

i Habi I i tar Procesar respuestas

GENERAR RESULTADOS

Resultados Obtenidos

Procesar Reportes

GENERAR REPORTE GENERAR REPORTE

Habilitar Selección de Emp I eado

Reporte Gráfico generado

Habi I i tar sig. Prueba

Reporte Loca I generado

Habi I i tar sig. Prueba

GENERAR REPORTE

Reporte Fto. RTF. generado

Habi I i tar sig. Prueba

I Diagrama A6: Diagrama de transición de Estados.

Page 26: Test Moss Ok

Anexo

B Anexo “B”

Estructura de datos-

Procedimientos y funciones-

Page 27: Test Moss Ok

Estructura de Datos para almacenar la pruebas

Tipo Empleado version: Cadena de 10 caracteres nombre: Cadena de 40 caracteres edad: Como entero sexo: Cadena de 1 caracter ocupacion: Cadena de 30 caracteres fecha: Cadena de 9 caracteres RESPUESTAS: Arreglo de ( 1 a 30) como entero

Fin Tipo

Procedimientos y funciones

'*El modulo mndyuda hace referencia a caL- una de las *

Private Sub Mnuayuda-Click (Index As Integer) '* opciones del menú Ayuda del sistema Moss *

Dim ayu As Integer

Select Case Index case 1

case3 ayu = WinHelpA(moss.hWnd, AppPath + "\ayumoss.hlp", &H3, CLng(0))

Screen.MousePointer = 11 Acerca.Show 1

End Select End Sub

'*El modulo mnuGenerar hace referencia a cada una de las *

Private Sub mnuGenerar-Click (Index As Integer) Dim Msg As String, i As Integer

'* opciones del menú Generar del sistema Moss *

Select Case Index 'Generar gráfíca case 1 IfForms.Count > 1 Then

If Existe-forma("grafíca") Then grañca.Show: GoTo continua

End If End If Fori= 1To30 If resp_emp(i) = O Then

Msg = "iNo se puede generar la gráfica!'' + nl Msg = Msg + "Necesita la prueba terminada" MsgBox Msg, 48, "Moss 1.0": Exit Sub

End If Next i Screen.MousePointer = 11 grafica. Show

case 3

Page 28: Test Moss Ok

IfForms.Count > 1 Then If Existe-fom("Rephcal") Then

RepLocal.Show: GoTo continua End If

End If Fori= 1To30

If resp-emp(i) = O Then Msg = I'iNo se puede generar el reporte !I* + ni Msg = Msg + "Necesita la prueba terminada" MsgBox Msg, 48, "Moss 1.0" Exit Sub

End If Next i Screen.MousePointer = 11 Tiporep.Show 1

continua: End Select End Sub

'*El modulo mnuopciones hace referencia a cada tina de las *

Private Sub MnuOpciones-Click (Index As Integer) Select Case Index

'* opciones del menú Opciones del sistema Moss *

Case 1 'Definir texto del reporte Screen.MousePointer = 11 Textorep.Show 1

Screen.MousePointer = 11 Rangos.Show 1

Screen.MousePointer = 11 DirWord.Show 1

Case 6 'Cambiar contraseña Tip = 2 Screen.MousePointer = 11 Clave.Show 1

Case 2 'Definir rangos

Case 4 Deñnir ruta de Wordpad

End Select End Sub

'*El modulo mnuPruebas hace referencia a cada una de las *

Private Sub MnuPruebas-Click (Index As Integer) '* opciones del menú Pruebas del sistema Moss *

Dim seleccionado As String, Msg As String, totqru As Integer Dim arch-rem As String, tot-imp As Integer

Select Case Index Nueva prueba

Case1 Screen.MousePointer = 11 If Forms. Count > 1 Then

If Existe-forma("Pnieba") Then Unload Prueba If Not descargajrueba Then

End If Screen.MousePointer = O: Exit Sub

End If Prueba.Show: Cargarhestos 'Llena combo de puestos

Page 29: Test Moss Ok

Presentaqrueba 1 : moss.CommonDialog1 .FileName = "" archivoqrueba = 'I1'

'Recupera prueba case 2

If Deq-dialogo( 1) Then If moss.CommonDialog1.FileName O '"' Then

If FileL,en(moss.CommonDialog 1 .FileName) = O Then Msg = "El archivo MsgBox Msg, 48, "MOSS 1.0": moss.CommonDialog1.FileName = archivoqrueba

Screen.MousePointer = 11 arch-rem = moss.CommonDialog1 .FileName: moss.CommonDialog1 .FileName = archivoqrueba IfForms.Count > 1 Then

+ moss.CommonDialog1.FileName + "' esta vacio"

Else

if Exiuste-forma("Prueba") Then Unload Prueba If Not descargaqrueba Then

End If If Existe-forma("grañCa") Then Unload grafka If Existe-forma("RepLocai") Then Unload RepLocal

Screen.MousePointer = O: Exit Sub

End If moss.CommonDialog1 .FileName = arch-rean Rempera.Show 1

End If End If

End If Guarda prueba

case3 If Not Campos-validos Then Exit Sub If moss.CommonDialog1 .FileName = "" Then

If Deq-dialogo(2) Then If moss.CommonDialog1 .FileName 0 "" Then

Guardar-como "guardar como", True archivoqrueba = moss.CommonDialog1 .FileName

End if End If

Guardar-como 'guardar", True Else

End If 'Guarda como case4

If Not Campos-vaüdos Then Exit Sub If Deq-dialogo(2) Then Ifmoss.CommonDialog1.FileName O ''I' Then

Guarda-como "guarda como", True archivoqrueba = moss.CommonDialog1 .FileName

End If

'Importar pruebas case 5

End If

moss.CommonDialog1 .FileName = "" If Dew-dialogo(3) Then If moss.CommonDialog1 .FileName O "" Then If FileLen(moss.CommonDialog1 .FileName) = O Then

Msg = "El archivo "' + moss.CommonDialog1.FileName + "' esta vacio" MsgBox Msg, 48, "Moss 1.0" moss.CommonDialog1 .FileName = archivoqrueba

Screen.MousePointer = 1 1 : tot-imp = O Else

Page 30: Test Moss Ok

If Impomqruebas(moss. CommonDialog 1 .FileName, tot-imp) Then Msg = "Pruebas capturadas: 'I & tot-imp & Chr$( 10) & 'I ¿Desea guardarlas?" IfMsgBox@ísg, 36, "Moss 1.0") = 6 Then 'Selección "Si" moss.CommonDialog1.FileName = archivoqrueba If moss.CommonDialog1 .FileName = "" Then

If Desp-dialogo(2) Then If moss.CommonDialog1 .FileName C. Then

archivoqrueba = moss. CommonDialogl .FileName Copiaqruebas tot-imp Guardar-como "guardar como", False

End If

moss.CommonDialog1 .FileName = archivoqrueba Else

End If

Copiaqruebas tot-imp Guardar-como "guardar", False

Else

End If

moss.CommonDialog1.FileName = archivoqrueba Else

End If

moss. CommonDialogl .FileName = archivo-prueba Else

End If Screen.MousePointer = O

End If End If

moss.CommonDialog1 .FileName = archivoqrueba Else

End If

Case 6 'Limpia pruebas

Nombre") Then Exit Sub If Pmeba.Nombre.ListCount = O And (Prueba.Nombre.Text 0 'It' Or Prueba.Nombre.Text 0 "Sin

IfMsgBox("¿Confirma la eliminación de las pruebas?", 36, "Moss 1.0") = 6 Then If Limpiaqruebas(totqru) Then

MsgBox "Pruebas borradas: 'I & totqru & I* I*, 48, "MOSS 1.0" Pmeba.Nombre. Clear PmebasTot = O: PruebasIdx = O Presentaqrueba 3

End If End If

If mnd?ruebas(7).Caption = "Cambiar a &modo Supervisor" Then case 7

Tip = 3 Clave.Show 1

Modo-Moss "usuario" mnuPruebas(7).Caption = "Cambiar a &modo Supervisor" modosuper = False

Else

End If

Imprime-ca

Unload moss

Case 9 'Imprimir

case 1 1 'Salir

End Select End Sub

Page 31: Test Moss Ok

'*El modulo mnuventana hace referencia a cada una de las * '* opciones del menú Ventana del sistema Moss Private Sub mnuVentana-Click (Index As Integer)

*

Select Case Index Case 1

Case2

case 3

Case 4

End Select

moss.Arrange O 'CASCADE

moss.Arrange 1 'TILE-HORIZONTAL

moss. Arrange 2 'TILE-VERTICAL

moss.Arrange 3 'ARRANGE-ICONS

End Sub

'* Llena el arreglo de preguntas con el texto del archivo pregmoss * Private Sub Preguntas-moss () Dim archivo As String, i As Integer, linea As String

archivo = AppPath + "\pregmoss.íxt" 'archivo de preguntas On Error GoTo ñn Open archivo For Input Lock Read As #1 Len = 32767 Line Input #1, linea If Trim$(linea) = "kguntas para la prueba MOSS" Then 'Verifica archivo i = 1 Do While Not EOF( 1) Line Input #1, linea If Trim$(linea) O "" Then

'Carga las preguntas del archivo al arreglo

Questions(i) = Trim$(linea) i = i + l

End If LOOP

Else: GoTo fin End If Close #1 Exit Sub

MsgBox 'I Error en el archivio de preguntas de la prueba MOSS" fín:

End Sub

' *Llena el arreglo de repuestas con el texto del archivo respmos * Private Sub Respuestas-moss 0 Dim archivo As String, i As Integer, j As Integer, linea As String

archivo = AppPath + "bespmoss.txt" ' archivo de respuestas On Error GoTo ñn Open archivo For Input Lock Read As #1 Len = 32767 ' archivo Line Input #1, linea IfTrim$(linea) = "Respuestas para la prueba MOSS" Then

i = 1 Do While Not EOF( 1)

Line Input #1, linea If Trim$(iinea) O "" Then

'Carga las preguntas del archivo al m e g o

Forj = 1 To4 If Not EOF( 1) Then

,

Page 32: Test Moss Ok

Line Input #1, linea respuesta& j) = Trim$(linea)

End If Next j

End If

Else: GOTO fin End If Close #1 Exit Sub

MsgBox "Error en el archovo de respuestas de la prueba MOSS"

i = i + l

LOOP

ñn:

End Sub

'*Llena la lista de Relaciones Humanas (Adaptabilidad) * '* con sus respectivos rangos los cuales son personalizados *

Private Function Presenta-rangos (archivo As String) '*por el usuario. *

Dim reg As Rel-Humanas, i As Integer, num As Integer

Presenta-rangos = False On Error GOTO hqresenta num = FreeFile Open archivo For Random Access Read Lock Read As #num Len = Len(ranusu) If FileLen(archiv0) = O Then Exit Function 'Introduce los rangos de Relaciones Humanas en un arreglo temporal For i= 1To5

Get # n u i, reg Relaciones(i) = reg

Next i Close #num Presenta-rangos = True idxrel = 1 Carga-rangos

finqresenta: Exit Function End Function

'*Llena la lista de Relaciones Humanas ' *y presenta el texto asociado para cada una de estas. * '* Este texto es personalizado por el usuario y es utilizado *

Private Function Presenta-texto (archivo As String, num-re1 As Integer, nom-nivel As String)

*

'* en la generación del reporte. *

Dim reg As Rel-Humanas, i As Integer, Msg As String, num As Integer Dim linea As String

Presenta-texto = False On Error GOTO fin-arch num = FreeFile Open archivo For Input Access Read Lock Read As #num Len = 32767 If FileLen(archiv0) = O Then Exit Function 'Introduce texto de Relaciones Humanas Do Until EOF(num)

Line Input #nun, linea

Page 33: Test Moss Ok

If Trim$(linea) = Trim$(Rel-Hum.List(num-re1 - 1)) Then Do While Not EOF(num)

Line Input hum, linea If Trim$(linea) = nom-nivel Then

Carga-texto (num): GoTo cont End If

LOOP End If

LOOP

Close h u m Presenta-texto = True

fin-arch: Exit Function End Function

a n t :

'* Reporte-local, presenta el reporte de la persona que * '* resolvío la prueba dentro de la aplicaci6n Moss, * '* utilizando los textos definidos previamente '* en el modulo Texto del reporte.

* *

Sub Reporte-local (tipo-reporte) Dim SexoL As String, i As Integer, Texto As String

Screen.MousePointer = 11 'Se asigna el texto según niveles reporte-moss = '"' If tipo-reporte = O Then 'Breve

F o r i = 1 T o 5

Next i

If Not Presenta-texto(AppPath + "\Textosrh.M") Then

reporte-moss = reporte-moss + nombres(i - 1) & 'I & Caliñcaciones(i - 1) & ' I % & nl + ni

Else

MsgBox "No se puede accesar el archivo: "*' + AppPath + "\Textosrh.txt" + '11111, 48, "Moss 1.0" reporte-moss = reporte-moss + nl + nl

End If End If RepL0cal.Textorep = datos() & "CALIFICACION DEL, MOSS" & nl & nl & nivel-moss(1) & reporte-moss RepLocai.Show Screen.MousePointer = O End Sub

'* Reporte- Word, presenta el reporte de la persona que * '* resolvío la prueba en la el editor de texto Word, * '* utilizando los textos definidos previamente '* en el modulo Texto del reporte.

* *

Private Sub Reporte-Word @a As Integer, report As Integer) Dim Num-file As Integer, archivo As String, Texto As String, i As Integer Dim Msg As String Screen.MousePointer = 1 1 : reporte-moss = "" If report = O Then 'Breve

For i= 1 T o 5

Next i

'Se asigna el texto según niveles If Not Presenta-texto2(AppPath + "\Textosrh.txt") Then

reporte-moss = repofle-moss & titulo3(nombres(i - I) & 'I " & Calificaciones(i - 1) & "%")

Else

Page 34: Test Moss Ok

MsgBox "No se puede accesar el archivo: 'I" + AppPath + "\Textosrh.txt" + 111"1, 48, "Moss 1.0" End If

End If

If pa = 2 Then 'Pantalla

Else 'Archivo archivo = AppPath + "mrtes\" + Trim$(Prueba.Nombre.Text) + ".doc"

Graba-Archivo archivo, 6 If archivo = ''" Then

End If Screen.MousePointer = O: Exit Sub

End If On Error GOTO fin-rep Num-ñle = FreeFile Open archivo For Output As #Num-file Print #Num-file, REPHeader(Format!$(Prueba.Nombre.Text)) Print #Num-file, titulol("DAT0S PERSONALES") Print #Num-ñle, datoswo Print #Num-ñle, titulol("CALIFICACI0N DEL MOSS") Print #Num-ñle, nivel-moss(0) Print #Num-file, reporte-moss Print #Num-file, FinREP Close #Num-file If pa = 2 Then 'Pantalla

WordPantalla archivo End If Screen.MousePointer = O: Exit Sub fb-rep: IfErr= 70 Then

Msg = "Acceso denegado de: "" + archivo + ""." Msg = Msg + ni + "El archivo puede estar abierto." MsgBox Msg, 48, "Moss 1.0"

End If Screen.MousePointer = O: Exit Sub End Sub

'* Reporte- WordPad, presenta el reporte de la persona que * '* resolví0 la prueba dentro del editor de WordPad, * '* utilizando los textos definidos previamente '* en el modulo Texto del reporte.

* *

Private Sub Reporte-WordPad (pa As Integer, report As Integer) Dim Num-file As Integer, archivo As String, i As Integer, Msg As String Screen.MousePointer = 1 1 : reporte-moss = "" If report = O Then 'Breve

Fori= 1To5

Next i

'Se asigna el texto según niveles if Not Presenta_text02(AppPath + "\Textosrh.txt") Then

End If

reporte-moss = reporte-moss & titulo3(nombres(i - 1) & I' 'I & Calificaciones(i - 1) & "YO")

Else

MsgBox "No se puede accesar el archivo: "" + AppPath + "\Textosrh.txt" + 111"', 48, "Moss 1.0"

End If

If pa = O Then 'Pantalla

Else 'Archivo archivo = AppPath + "beportes\" + Trim$(Pmeba.Nombre.Text) + ".doc"

Page 35: Test Moss Ok

Graba-Archivo archivo, 4 If archivo = '"' Then

End If Screen.MousePointer = O: Exit Sub

End If On Error GOTO fin-rep Nun-file = FreeFile Open archivo For Output As #Nun-file Print #Nun-file, REPHeader(Format$(Prueba.Nombre. Text)) Print #Nun-file, titulol("DAT0S PERSONALES") Print #Nun-file, datomo Print #Num-ñle, titulol("CALIFICACI0N DEL MOSS") Print #Num-fíle, nivel-moss(0) Print #Num-ñle, reporte-moss Print #Nun-fíle, FinREP Close #Num-file If pa = O Then 'Pantalla

End If Screen.MousePointer = O: Exit Sub

ifErr = 70 Then

WordPadPantalla archivo

ñn_rep:

Msg = "Acceso denegado de: "" + archivo + ''''.'' Msg = Msg + nl + "El archivo puede estar abierto." MsgBox Msg, 48, "Moss 1.0"

End If Screen.MousePointer = O: Exit Sub End Sub

' * Califica la prueba de acuerdo con, * ' * la tabla de calificación de la prueba Moss * Sub califica-moss (acumula, Hab-sup, Capqrb, Cap-clec, Hab-rel, Sent-com)

Dim resp-correct As Variant Dim i As Integer

resp-correct = Array( ARREGLO CON LAS RESPUETAS CORRECTAS)

Fori= 1To30 Select Case i Case 2,3, 18,24 'Habilidad en supervisión If resp-emp(i) = resp-correct(i) Then

End If

If resp-emp(i) = resp-correct(i) Then

End If

If resp-emp(i) = resp-correct(i) Then

End If

If resp-emp(i) = resp-correct(i) Then

End If

If resp-emp(i) = resp-cnrrect(i) Then

acumula = acumula + 1: Hab-sup = Hab-sup + 17

Case 16,30

acumula = acumula + 1: Hab-sup = Hab-sup + 16

Case 7, 12, 19,26 'Capacidad de evaluar problemas

acumula = acumula + 1: Capqrb = Capqrb + 13

Case 9, 14,21,27

acumula = acumula + 1: Capqrb = Capqrb + 12

Case 4,6,20,23,29 'Capacidad de evaluar problemas

Page 36: Test Moss Ok

acumula = acumula + 1: Cap-dec = Cap-dec + 20 End If

If resp-emp(i) = resp-correct(i) Then

End If

If resp-emp(i) = resp-correct(i) Then

End If

If resp-emp(i) = resp-correct(i) Then

End If End Select

Next i End Sub

Case 1, 10, 11, 13,25 'Habilidad para establecer relaciones

acumula = acumula + 1: Hab-re1 = Hab-re1 + 20

Case 5,8, 17,22 'Sentido común y tacto para tratar personal

acumula = acumula + 1: Sent-com = Sent-com + 17

Case 15,28

acumula = acumula + 1: Sent-com = Sent-corn + 16

'* La funcibn Importaqruebas, importa pruebas que se * '* encuentran en formato texto de acuerdo con un formato *

Function Importaqruebas (Arch-Imp, tot-imp) '* de captura previamente establecido *

Dim pos As Integer, i As Integer, Msg As String, fecha, res Dim archivo As String, linea As String, j As Integer

ReDim Arreglo-Aux( 1 To MAX-PRUEBA) As Empleado Importaqruebas = False On Error GoTo fin-arch Open Arch-Imp For Input Lock Read As #1 Len = 32767

tot-imp = O: Line Input #1, linea IfTrim$(linea) = "Captura automática de la prueba MOSS" Then

i = 1 Do Until EOF( 1) If i > MAX-PRUEBA Then

MAX-PRUEBA = MAX-PRUEBA + 15 ReDim Preserve Arre&o-Aux( 1 To MAX-PRUEBA) As Empleado

End If Line Input # 1, linea If Trim$(linea) O "" Then

Arreglo-Aux(i).Nombre = Trim$(Mid(linea, 2,40)) IfVal(Mid(linea, 45,2)) > O Then

Else

End If IfMid(linea, 50, 1) = "MI' Or Mid(linea, 50, 1) = "F" Then

Else

End If Arreglo-Aux(i).ocupacion = Trim$(Mid(linea, 54,30)) res = DatePart("m", Mid(linea, 88, 9)) Arreglo-Aux(i).fecha = Mid(linea, 88, 9)

Arreglo-Aux(i).edad = Val(Mid(linea, 45, 2))

GoTo fin-arch

Arreglo-Aux(i).sexo = Mid(linea, 50, 1)

GoTo fin-arch

End If Line Input #1, linea If Trim$(linea) o "*' Then

pos=2

Page 37: Test Moss Ok

For j = 1 To 30 If Val(Mid(linea, pos, 2)) = O Then GOTO fin-arch Ifj = 6 And Val(Mid(linea, pos, 2)) > 2 Then GOTO fin-arch Arre@o-Aux(i).RESPUESTAS~) = Val(Mid(linea, pos, 2)) pos=pos+3

Next j End If i = i + l

LOOP tot-imp = i - 1: Impomqruebas = True

GoTo fin-arch Else

End If Close # 1 : Exit Function

fin-arch: MsgBox "!Error al importar las pruebas! 'I, 48, "Moss 1.0" On Error Resume Next Close #1: Screen.MousePointer = O End Function

'*De acuerdo a los rangos establecidos en el modulo '*Definir rangos, se asignan los niveles Bajo, Medio o Alto * '* en los textos determinados para la generación del reporte. * Sub niveles-moss () 'De a d o a los porcentajes se determina el nivel Dim i As Integer, num As Integer, Calificaciones As Variant 'Introduce los rangos de Relaciones Humanas If Not rangos-moss(AppPath + "\rangos.txt") Then

End If

*

MsgBox "No se puede accesar el archivo: "" + AppPath + "\rangos.txt" + '''''', 48, "Moss 1.0"

acumula = O Hab-sup = O: Capgrb = O: Cap-dec = O: Hab-rel= O: Sent-com = O califica-moss acumula, Hab-sup, Capqrb, Cap-dec, Hab-rel, Sent-com 'Asigna los niveles a las Relaciones Humanas ReDim Niveles( 1 To 5 ) W c a c i o n e s = hy(Hab-sup, Capjrb, Cap-dec, Hab-rei, Sent-cam) F o r i = 1 T o 5

If Calificaciones(i - 1) >= O And Calificaciones(i - 1) < Relaciones(i).nivel-medioi Then

ElseIf Calificaciones(i - 1) > Relaciones(i).nivel-bajo And Calificaciones(i - 1) < Relaciones(i).nivel-alto Niveles@ = "Bajo"

Then Niveles(i) = "Medio"

Niveles(i) = "Alto" Else

End If Next i

End Sub

* Para cada una de las preguntas, se presenta de * *forma visual la resolución de la prueba Moss *

Sub Pregunta-respuestas (numjreg As Integer) Dim i As Integer

Prueba.Preguntas.Text = Questions(numqreg) 'Carga preguntas For i= 1 T o 4

Prueba.Resp(i). Caption = respuesta(numqreg, i) 'Carga respuestas Next i

Page 38: Test Moss Ok

'Marca una de las cuatro respuestas o las limpia del anterior If resp-emp(nmjreg) O O Then

Else Prueba.Resp(resp-emp(nmjreg)). Value = True

Fori= 1To4 'Si no contestado limpia

Next i End If Prueba.contador.Text = numqreg Ifnumqreg = 1 Then

Else

End If If n u j r e g = 30 Then

Else

End If If numqreg = 6 Then

Prueba.Resp(i).Value = False

'Contador de pregunta 'Valida anterior

Prueba.anterior.Enab1ed = False: Prueba.anterior.TabStop = False

Prueba.anterior.Enabled = True: Prueba.anterior.TabStop = True

Prueba.Siguiente.Enab1ed = False: Prueba. Siguiente.'TabStop = False

Prueba. Siguiente.Enabled = True: Prueba.Siguiente.TabStop = True

'Presenta opciones pregunta 6 Prueba.Resp(3).Visible = False: Prueba.Resp(3).TabStop = False Prueba.Resp(4).Visible = False: Prueba.Resp(4).TabStop = False

Prueba.Resp(3).Visible = True: Prueba.Resp(3).TabStop = True Prueba.Resp(4).Visible = True: Pnieba.Resp(4).TabStop = True

Else

End If End Sub

'* Se presenta la prueba en pantalla de acuerdo *

Sub Presentagrueba (ind As Integer) '* a los diferntees casos. *

Dim i As Integer, j As Integer, Porcent As Integer ReDim Preserve Pruebas( 1 To MAX-PRUEBA) As Empleado

On Error GOTO finqresenta Screen.MousePointer = 11 Select Case ind Case 1 'NuevaPrueba

PruebasTot = 1: PruebasIdx = 1 Prueba.Nombre = "Sin Nombre": Prueba.fecha.Text = Format$(Now, "dd-mmm-yy") Prueba.eúad.Text = "20": Prueba.sexo(O).Value = True Prueba.ocupacion.Text = '"'

Fori=lTo30 resp-emp(i) = O 'Respuestas del empleado Prueba.Comp(i).Caption = "Xi': Prueba.Comp(i).ForeColor = &HFF&

Next i

*Llena los datos generales del empleado Prueba.Nombre.Text = RTrim$(Pniebas(PruebasIdx).Nombre) Prueba.edad.Text = Str$(Pruebas(PruebasIdx).edad) If UCase$(Pruebas(PniebasIdx).sexo) = "M" Then

Else

End If Prueba.ocupacion.Texi = RTrim$(Pruebas(PruebasIdx).ocupacion)

case 2

Prueba.sexo(O).Value = True

Pruebasexo( l).Value = True

Page 39: Test Moss Ok

Prueba.fecha.Text = Pruebas(PruebasIdx).fecha

Fori= 1To30 resp-emp(i) = Pruebas(PruebasIdx).RESPUESTAS(i) If resp-emp(i) O O Then Porcent = Porcent + 1 Prueba.ProgressBar1 .Value = Porcent Prueba.Comp(i).ForeColor = &HFFOOOO: Prueba.Comp(i).Caption = i

Prueba.Comp(i).ForeColor = &HFF& Else

End If Next i Prueba.HScroll1 .Value = 1

Prueba.Nombre = "Sin Nombre": Prueba.fecha.Text = Format$(Now, "dd-mmm-yy") Prueba.edad.Text = "20": Prueba.sexo(O).Value = 'True Prueba.mpacion.Text = ""

Case 3 'Nueva prueba dentro de la forma prueba

Fori= 1To30 resp-emp(i) = O 'Respuestas del empleado Prueba.Comp(i).Caption = "X'? Prueba.Comp(i).ForeColor = &€IFF&

Next i Pmeba.HScroll1 .Value = 1 Prueba.ProgressBarl.Value = O PruebasTot = PruebasTot + 1 : PruebasIdx = PruebasTot

Fori= 1To30 case4

resp-emp(i) = O 'Respuestas del empleado Prueba.Comp(i).Caption = '*Xi': Prueba.Comp(i).ForeColor = &HFF&

Next i Prueba.HScrolil.Value = 1 Prueba.ProgressBar1.Value = O

Fori= 1To30 case 5

resp-emp(i) = O 'Respuestas del empleado Prueba.Comp(i).Caption = "Xi': Prueba.Comp(i).ForeColor = &HFF&

Next i Prueba.ProgressBar1.Vaiue = O

'Llena los datos generales del empleado Prueba.edad.Text = Str$(Pruebas(PruebasIdx).edad) If UCase$(Pruebas(PruebasIdx).sexo) = "Mf Then

Else

End If Pruebamupacion. Text = RTnm$(Pruebas(PruebasIdx).ocupacion) Prueba.fecha.Text = Pruebas(PruebasIdx).fecha

Prueba.sexo(O).Value = True

Prueba.sexo(l).Value = True

Fori= 1To30 resp-emp(i) = Pruebas(PruebasIdx).F¿ESPUESTAS(i) Ifresp-emp(i) 0 O Then Porcent = Porcent + 1 Prueba.ProgressBar1 .Value = Porcent Prueba.Comp(i).ForeColor = &HFFOOOO: Prueba.Comp(i).Caption = i

End If Next i Prueba.HScrolll.Value = 1

Page 40: Test Moss Ok

,

End Select numero = 1 Pregunta_respuestas (1) Prueba.Nombre. SelStart = O: Prueba.Nombre.SelLength = Len(Prueba.Nombre.Text) Prueba.Nombre. SetFocus nombre-actual = Prueba.Nombre: cambiado = False Screen.MousePointer = O: Exit Sub

Screen.MousePointer = O: MsgF3ox La prueba no se pudo cargar ñnqresenta:

End Sub

'* Carga la clave de autorización de uso del sistema * '* así como la del cambio de modo Sub Cargarclave (1 Dim i%, Contraseña$, IpFileNameS, lpAppName$, lpKeyName$, lPDefadt$, lPReturnStnng$ Dim encontrado&, Size&, Valid&, Msg As String Dim Company$, user$, Compania$, Usuario$, Numbers, NumeroAuth$, mmero$, fecha$

*

'Obtener el Número de Autorización lpFileName$ = AppPath + "Unoss.ini" lpAppName$ = TONTRASEÑAII lpKeyName$ = "Autorizacion": lpDefault$ = "'? lpReturnString$ = Space$(l5): Size& =

Len(lpReturnString$)

Valid& = GePrivateProñleStringA(lpAppName$, lpKeyName$, lpDefault$, lpReturnString$, Size&,

Number$ = Trim$(Left$(lpReturnString$, Size&)) If Valid& = O Then GoTo Copia-No-Autorizada IfRight$(Number$, 1) < Chr$(33) Or Right$(Number$, 1) > Chr$(255) Then

Else

End If 'Obtener la Compañia lpFileName$ = AppPath + "Unoss.ini" lpAppName$ = i i ~ ~ ~ ~ ~ Ñ ~ i i IpKeyName$ = "Compañia": lpDefault$ = "": lpReturnString$ = Space$(SO): Size& =

Valid& = GetPrivateProfileStringA(lpAppName$, lpKeyName$, lpDefault$, lpReturnString$, Size&,

Company$ = Trim$(Left$(lpReturnString$, Size&)) encontrad& = Valid& 'Obtener el Usuario lpKeyName$ = "Usuario": lpDefault$ = "": lpReturnSiring$ = Space$(SO): Size& = Len(lpReturnString$) Valid& = GetPrivateProfileStringA(lpAppName$, lpKeyName$, lpDefault$, IpReturnStringS, Size&,

user$ = Trim$(Left$(lpReturnString$, Size&))

IpFileNameS)

NumeroAuth = Left$(Number$, Len(Number) - 1)

NumeroAuth = Number$

Len(lpReturnString$)

lpFileName$)

lpFileName$)

Ifencontradoa O O And Valid& O O Then IfRight$(Company$, 1) < Chr$(33) Or Right$(Company$, 1) > Chr$(255) Then

Else

End If IfRight$(user$, 1) < Chr$(33) Or Right$(user$, 1) :> Chr$(255) Then

Else

Compania$ = Left$(Company$, Len(Company) - 1)

Compania$ = Company$

Usuario$ = Left$(user$, Len(user$) - 1)

Page 41: Test Moss Ok

Usuario$ = user$ End If

'Version Demo: obtener la fecha lpAppName$ = "DEMO" lpKeyName$ = "Fecha": lpDefault$ = "? lpRetumString$ = Space$(SO): Size& = Len(lpReturnString$) Valid& = GetPrivateProfileStringA(lpAppName$, lpKeyName$, lpDefault$, lpReturnString$, Size&,

fecha$ = Trim$(Left$(lpReturnString$, Size&)) If Valid& o O Then

lpFileName$)

IfRigñt$(fecha$, 1) < Chr$(33) Or Right$(fecha$, 1) > Chr$(255) Then

End If fecha$ = encripta(Left$(fecha$, Len(fecha$) - 1))

End If

'Version Demo numero$ = CalculaNumero(Compania$ + fecha$, Usuario$ + fecha$)

'Version Comercial 'numero$ = CalculaNumero(Compania$, Usuario$)

If numero$ o NumeroAuth$ Then

End If

GOTO Copia-No-Autorizada

GoTo Copia-No-Autorizada

Else

End If

Version Demo: obtener numero de accesos 'If ObtenerNumAcasos(fecha$) = False Then

'End If &To Copia-No-Autorizada

ClaveGR = ""

'Obtener la Contraseña IpFileName$ = AppPath + "\moss.ini lpAppName$ = **CONTRASEÑA~~ lpKeyName$ = "Password": lpDefault$ = "": lpRetuniString$ = Space$(lO): Size& =

Valid& = GetPrivateProfileStringA(lpAppName$, IpKeyNames, lpDefault$, lpReturnString$, Size&,

ContraSeña$ = Trim$(Left$(lpReturnString$, Size&)) encontrado& = Valid&

Len(lpReturnSíring$)

lpFileName$)

Ifencontrado& 0 O Then IfRight$(ContraSeña$, 1) < Chr$(33) Or Right$(ContraSeña$, 1) > Chr$(255) Then

Else

End If 'Entra en modo usuario Modo-Moss iiusuario"

ClaveGR =

Msg = "No ha sido definida la ContraSeña" + Chr( 13) + Chr( 10) Msg = Msg + "Si no la define no se podrá continuar con la ejecución de Moss 1.0" + Chr(l3) + Chr(l0) Msg = Msg + "Vuelva a instalar Moss 1.0 para definir la ContraSeña."

ClaveGR = encripta(Left$(ContraSeña$, Len(ContraSeña) - 1))

ClaveGR = encripta(ContraSeña$)

Else

Page 42: Test Moss Ok

MsgBox Msg, 16, "Moss 1.0" End

End If Exit Sub

Copia-No-Autorizada: Msg = "Copia no Autorizada de Moss 1 .O" + Chr( 13) + Chr( 10) Msg = Msg + "No se puede continuar con la ejecución." + Chr( 13) + Chr( 10) Msg = Msg + "Si desea una copia autorizada comuniquese a:" + Chr(l3) + Chr( IO) Msg = Msg + "Ventas: 6584778" + Chr( 13) + Chr(l0) Msg = Msg + "Soporte Técnico: 658-3705" + Chr(l3) + Chr(l0) Msg = Msg + "e-mail: [email protected]. mx" MsgBox Msg, 16, "Moss 1.0" End

End Sub

'* Se despliengan las dijerentes cajas de dialogo '* usadaspor windows para abrir y guardar archivos .* Function Desp-dialogo (Caso As Integer)

On Error GoTo ñn-dialogo Const OFN-HIDEREADONLY = &H4& Const OFN-PATHMüSTEXIST = &HSOO& Const OFN-EXTDIF = &H400& Desp-dialogo = True Select Case Caso

Abrir prueba Moss

moss.CommonDialog1 .DiaiogTitle = "Abrir" moss.CommonDialog1 .InitDir = App.Path moss.CommonDialog1.Filter = "Moss (*.mos)l*.moslTodos los archivos (*.*)I*.*" moss.CommonDialog1 .nags = OFN-HIDEREADONLY Or OFN-PATHMUSTEXIST Or

moss.CommonDialog1 .ShowOpen Saivar prueba Moss

moss.CommonDialog1 .DialogTitle = "Guardar como" moss.CommonDialog1 .InitDir = App.Path moss. CommonDiaiog 1 .Filter = "Moss (* .mos)l* .mos" moss.CommonDialog1 .DefadtExt = ".mos" moss. CommonDiaiog 1 .Flags = OFN-HIDEREADONLY Or OFN-PATHMüSTEXIST Or

moss.CommonDiaiog1. ShowSave

*

case 1

Om-EXTDIF

Case 2

OFN-EXTDIF

'Abrir archivo Texto Case 3

moss. CommonDiaiog 1 .DiaiogTitle = "Importar pruebas" moss.CommonDiaiog1.InitDir = App.Path moss.CommonDialog1 .Filter = "Texto (*.txt)l*.txtlTodos los archivos ( * . * ) I * . *" moss.CommonDialog1 .Flags = OFN-HIDEREADONLY Or OFN-PATHMUSTEXIST Or

moss.CommonDialog1. ShowOpen

moss.CommonDialog1 .DialogTitie = "Guardar como" moss.CommonDialog1 .InitDir = AppPath + Yreportes" moss.CommonDialog1 .FileName = Trim$(Prueba.Nombre.Text) moss.CommonDiaiog1 .Filter = "Archivos WordPad DOC (*.doc)l*.doc" moss. CommonDialog 1 .DefaultExt = 'I. doc"

OFN-EXTDIF

Case 4 'Guardar Como, archivo WordPad

Page 43: Test Moss Ok

moss.CommonDialog1 .Flags = OFN-HIDEREADONLY Or Om-PATHMUSTEXIST Or

moss.CommonDialog1. ShowSave

moss. CommonDialog 1 .DialogTitie = "Limpiar pruebas" moss.CommonDialog1.IniíDir = App.Path moss. CommonDialog 1 .Filter = "Moss (*.mos)l* .mos" moss.CommonDialog1 .Flags = OFN-HIDEREADONLY Or OFN-PATHMUSTEXIST Or

moss.CommonDiaiog1. ShowOpen Case 6 'Guardar Como, archivo Word moss.CommonDialog1.DialogTitle = "Guardar como" moss.CommonDialog1 .InitDir = AppPath + Yreportes" moss. CommonDialogl .FileName = Trim$(Prueba.Nombre.Text) moss.CommonDialog1.Filter = "Archivos Word DOC (*.doc)l*.doc" moss.CommonDialog1 .DefaultExt = ".doc" moss. CommonDialog 1 .Flags = OFN-HIDEREADONLY Or OFN-PATHMUSTEXIST Or

moss.CommonDialog1. ShowSave

OFN-EXTDIF

Case 5 'Limpiar pruebas Moss

OFW-EXTDIF

OFN-EXTDIF

End Select Exit Function

fin-dialogo: If Err = 32755 Then

End If End Function

Err.Clear: Deq-dialogo = False: Exit Function