MinisterioDefensa.pdf

6
APLICACIÓN DE CONTROL DE SOLDADOS 1. OBJETIVOS Y OBSERVACIONES PRELIMINARES. 1.1. Objetivos. Utilización e integración en un solo programa de los conocimientos adquiridos a lo largo del curso académico. Utilizar las técnicas de programación orientada a objetos. Desarrollar los programas necesarios para crear al completo, un pequeño proyecto software, utilizando para ello los conocimientos adquiridos anteriormente. 1.2. Observaciones preliminares. El código se deberá escribir lo más elegantemente posible, de forma tabulada en bloques e insertando los comentarios suficientes para su correcta comprensión. Cada función irá precedida de un comentario de 3 ó 4 líneas indicando que hace y la fecha de inicio y de la última modificación. De la forma siguiente: /*---------------------------------------------------------------------------------- FUNCION QUE INSERTA ENTRADA EN EL FICHERO CORRESPONDIENTE Fecha inicio: 18/05/2013 Última modificación: 01/06/2013---------------------------------------*/ Todo el programa debe ser escrito en módulos generando un proyecto. El programa deberá seguir los criterios de modularidad explicados. Cada tarea será realizada por una función, de forma que haya el menor código repetido posible.

Transcript of MinisterioDefensa.pdf

  • APLICACIN DE CONTROL DE SOLDADOS

    1. OBJETIVOS Y OBSERVACIONES PRELIMINARES.

    1.1. Objetivos. Utilizacin e integracin en un solo programa de los conocimientos adquiridos a lo largo del curso acadmico.

    Utilizar las tcnicas de programacin orientada a objetos. Desarrollar los programas necesarios para crear al completo, un pequeo proyecto software, utilizando para ello los conocimientos

    adquiridos anteriormente.

    1.2. Observaciones preliminares. El cdigo se deber escribir lo ms elegantemente posible, de forma tabulada en bloques e insertando los comentarios suficientes

    para su correcta comprensin. Cada funcin ir precedida de un comentario de 3 4 lneas indicando que hace y la fecha de inicio y de la ltima modificacin. De

    la forma siguiente: /*----------------------------------------------------------------------------------

    FUNCION QUE INSERTA ENTRADA EN EL FICHERO

    CORRESPONDIENTE

    Fecha inicio: 18/05/2013

    ltima modificacin: 01/06/2013---------------------------------------*/

    Todo el programa debe ser escrito en mdulos generando un proyecto. El programa deber seguir los criterios de modularidad explicados. Cada tarea ser realizada por una funcin, de forma que haya el

    menor cdigo repetido posible.

  • De la misma forma el interface de usuario, as como los mensajes a pantalla deben ser claros y precisos, dentro de las limitaciones tcnicas que pueda haber derivadas del nivel de conocimientos que se pide en este curso (Puedes utilizar entorno visual o de consola).

    Los mensajes de error sern igualmente claros alertando al usuario de una forma precisa de lo ocurrido. . En todas aquellas situaciones que se requiera la entrada de datos por parte del usuario, se deber controlar que solo es posible

    aceptar las entradas realmente prevista, emitiendo errores para todas las entradas no vlidas. As por ejemplo, ante una peticin de una entrada de un men numrico con opciones del 1 al 5 no se permitir la entrada de cadenas ni caracteres que no sean los del rango [1,5]. Para ello deberemos hacer uso de las excepciones y las expresiones regulares.

    Se tendr en cuenta cualquier opcin adicional que el alumno quiera implantar en el programa, siempre que las opciones obligatorias se hayan realizado.

    Cualquier opcin parmetro o situacin que no quede aclarada lo suficientemente en este documento quedar abierta a la libre interpretacin del alumno, quien podr determinar cual es la mejor solucin para llevar a cabo su propia implementacin del programa previa justificacin. Cualquier ambigedad podr ser consultada en clase para una mayor aclaracin.

    En ningn caso el programa podr entrar en una situacin de error que provoque su bloqueo, prdida o error de datos o inestabilidad del sistema, debiendo tener prevista todas y cada una de las posible interacciones con el usuario u con la propia lgica del sistema para evitar dichas situaciones.

    2. ENUNCIADO. El Ministerio de Defensa desea disear una aplicacin para llevar un cierto control de los soldados.. Los datos significativos a tener en cuenta son:

    Un soldado se define por su cdigo de soldado nico, su nombre y apellidos y su graduacin.

    Existen varios cuarteles, cada uno se define por su cdigo de cuartel, nombre y ubicacin.

    Hay que tener en cuenta que existen diferentes Cuerpos del Ejrcito (Infantera, Artillera, Armada,..), y cada uno se define por un cdigo de Cuerpo

    y denominacin, la denominacin deber pertenecer a un tipo Enumerado que crears para este fin.

    Los soldados estn agrupados en compaas, siendo significativa para cada una de stas, el nmero de compaa y la actividad principal que realiza.

    Se desea controlar los servicios que realizan los soldados (guardias, imaginaras, cuarteleros, ), y se definen por el cdigo de servicio y descripcin.

    Consideracin de diseo:

    Un soldado pertenece a una nica compaa, durante todo el servicio militar. A una compaa pueden pertenecer soldados de diferentes cuerpos, no

    habiendo relacin directa entre compaa y cuerpos.

  • Los soldados de una misma compaa pueden estar destinados en diferentes cuarteles, es decir una compaa puede estar ubicada en varios cuarteles,

    y en un cuartel puede haber varias compaas. Eso s, un soldado slo est en un cuartel.

    Un soldado realiza varios servicios a lo lardo de la milicia. Un mismo servicio puede ser realizado por ms de un soldado (con independencia de la

    compaa), siendo significativa la fecha de realizacin.

    2.1. Inicio de la aplicacin Cuando arranque nuestra aplicacin, aparecer una ventana pidindonos login y password.

    Dependiendo del permiso de acceso del usuario introducido, podremos:

    - Administrador. Dispondr de todas las opciones. - Visualizacin. Solo podr tener acceso a la opcin de bsqueda de cuarteles y compaas.

    2.1. Interfaz de usuario.

    Como se ha dicho el interfaz de usuario debe ser lo ms claro posible tanto en sus mensaje como en la visualizacin de los datos y

    dems elementos que existan en la aplicacin.

    El ejemplo que se propone a continuacin es solo una muestra de lo que se puede hacer, dejando a criterio del alumno la eleccin final

    que prefiera implantar. No obstante se debe tener en cuenta al menos las siguientes premisas:

    a) Las opciones de men deben estar claramente accesibles con nmeros o letras y no se permitirn valores no visibles en el men.

    b) Se deber mostrar durante toda la ejecucin del programa, las posibles opciones de acceso desde la parte de la aplicacin en que nos encontremos. Es decir, el usuario no deber sentirse perdido en ningn momento de la aplicacin.

    c) Todas los submens internos tendrn la opcin de volver al men anterior.

    CONTROL DE SOLDADOS

    Login: Administrador

    Password: ********

  • d) Deber aparecer un lugar claro para la lnea de comandos, donde se visualizarn los mensajes de error y las aclaraciones. Ejemplo de pantalla principal:

    [C]uarteles C[o]mpaias So[l]dados S[e]rvicios Realizados Con[f]iguracin [S]alir

    LINEA DE COMANDOS C

    3. ESPECIFICACIN FUNCIONAL.

    VENTANA APLICACIN [B]uscar cuartel

    [A]adir cuartel

    [E]liminar cuartel

    [M]odificar cuartel

    SUBMENU

  • 3.1. MENS.

    3.1.1 Configuracin. En este tem del men se visualizar un submen con las siguientes entradas.

    3.1.1.1 Administrador. La ventana de la aplicacin nos permitir cambiar el password del administrador por uno nuevo. Esta opcin solo se activar

    cuando hayamos entrado en la aplicacin con el login y password del administrador.

    Del administrador guardaremos el password .

    La informacin del administrador se guardara en un fichero llamado admin.pas, que existir con una nica entrada desde el inicio

    de la aplicacin.

    3.1.1.2 Usuarios. Al seleccionar esta opcin se desplegar un submen en la ventana de submens con las opciones de:

    3.1.1.2.1 Alta usuario. Nos permitir introducir un nuevo usuario con acceso a nuestra aplicacin. 3.1.1.2.2 Baja usuario. Borra un usuario existente.

    Las altas y bajas de usuarios solo las podr realizar el administrador, cada usuario constar de:

    un login, un password, una descripcin de usuario y su permiso correspondiente char ([V]isualizacin, [A]dministrador).

    Los datos de usuarios se guardaran en el fichero usuarios.pas, que existir vaco desde el inicio de la aplicacin.

    3.1.1.3 Cuerpos del ejercitos. Nos permitir introducir o eliminar un nuevo cuerpo,

    3.1.1.4 Servicios Igual que para los cuerpos, debern pertenecer a una enumeracin

    3.1.2 Salir Aplicacin. Pedir al usuario que confirme esta opcin y de ser as terminar la ejecucin del programa.

    3.1.3 Cuarteles. Esta opcin nos permite administrar las entradas de los cuarteles en la aplicacin, que se guardarn en el fichero cuartel.dat. Dar

    paso al siguiente submen.

  • 3.1.3.1 Aadir cuartel. La ventana de la aplicacin se activar con los campos necesarios para aadir un cuartal nuevo a nuestro fichero de datos.

    3.1.3.2 Modificar cuartel. Permitir modificar cualquiera de los datos del cuartel que se desee, la bsqueda para la modificacin se realizar con el nombre del cuartel.

    3.1.3.3 Bsqueda de cuartel. A partir del nombre mostrar todos los datos de todas las entradas que coincidan con ese nombre

    3.1.3.4 Eliminar cuartel Permitir eliminar un cuartel que coincida completamente con el nombre introducidos. para esto se puede usar un fichero auxiliar.

    Para el resto de entradas del men se trabajar igual que para el cuartel, pero se deber tener en cuenta las relaciones existentes entre

    las clases. Es decir, cuando se aadan soldados a la relacin PerteneceCompaia la compaa deber existir y los soldados tambin.

    4. FASES DE DESARROLLO DEL PROGRAMA

    4.1. Desarrollo de mens. Desarrollo del men principal y de los posibles submens. Para ello se utilizarn las estructuras de control correspondientes: do while,

    switch, etc.

    En esta primera fase al pulsar cualquier opcin de los menes, la ejecucin de cada opcin se limitar a mostrar un mensaje en

    pantalla diciendo: Opcin no implementada.

    Conforme se vayan realizando las distintas opciones, se irn sustituyendo los mensajes correspondientes por las funciones que

    realicen dichas opciones.

    4.2. Generacin de tipos de datos y almacenamiento de datos. Se generarn como mnimo las clases ms importantes siguiendo las consideraciones de diseo del enunciado del punto 2. Se aconseja

    crear primero el UML y mostrarlo a la profesora para que pueda supervisarlo y en caso necesario, dar la opcin correcta.

    Como no tenemos conocimientos para realizar esta aplicacin con bases de datos, vamos a utilizar ficheros y serializacin para guardar

    toda la informacin.