sábado, 25 de abril de 2020

UD 7. DECISIÓN DE TAREAS A PARTIR DEL ANÁLISIS

2.1 DECISIÓN DE TAREAS A PARTIR DEL ANÁLISIS
Una vez analizados los requisitos que debe cumplir el programa, el siguiente paso consiste en decidir las estructuras básicas que van a emplear para llevarlo a cabo.
El programa propuesto (la agenda de contactos) es simple; podrías ser realizado en pocas horas por un programador experto, de modo que la fase de diseño en este caso podría reducirse a decidir que estructuras de datos usar y en que funciones descomponer el cuerpo del programa.
Más adelante se estudiará na versión algo más elaborada del programa, en la que se plantea como una serie de objetos que colabora entre ellos, con la ayuda de un diagrama de clases.
La estructura de datos del programa podría ser la siguiente:
  • Cada dato individual se almacena en un struct. Para que se puedan guardar tantos datos como se desee, los struct individuales se almacenaran en un vector.
Las funciones en las que se descompondría serían las siguientes:
  • mostrarMenu: muestra la lista de opciones disponibles conforme al prototipo visual.
  • nuevaFicha: pide datos de una nueva persona y los añade a la lista de contactos existentes.
  • verFichas: muestra en pantalla la primera ficha. Al pulsar sobre ciertas teclas, el usuario podrá elegir entre consultar la ficha anterior (si existe), la posterior (si existe), modificar la actual (llamando a una función adicional) o borrar la actual (llamando a otra función).
  • modificar(n): pide los campos de la ficha que se indique como parámetro. En caso de que se desee cambiar un dato, se deberá volver a introducir el texto de los campos que se quieran modificar. Si, por el contrario, no se desea cambiar algún dato, bastará con pulsar intro para conservarlo como estaba.
  • intentarBorrar(n): solicita confirmación para borrar datos. Si el usuario confirma que desea borrarlos, la ficha se eliminará de la lista.
  • buscarTexto: pide al usuario el texto que desea buscar, cuenta cuántas fichas lo contienen y, finalmente, las muestra de una en una. Tras mostrar el resumen de una ficha, da la opción de consultarla con mayor detalle, contiene (mostrando la siguiente, si existe) o volver al menú. Si no existe una siguiente ficha, la opción Continuar no aparecerá.
  • buscarCumpleMes: muestra las fechas de nacimiento y los nombres y apellidos de las personas que cumplen años en un cierto mes. En caso de haber más de una veinte datos, el programa efectuará una pausa cada veinte datos y esperará a que el usuario pulse intro. En esta primera versión, no es necesario que los datos aparezcan ordenados por fecha.
  • guardar: vuelca todos los datos a fichero, reemplazando el contenido anterior de dicho fichero. Se debe llamar automáticamente antes de salir del programa, de modo que los datos queden almacenados para la siguiente sesión. También es posible guardar los datos tras cada modificación, de manera que el contenido del fichero siempre esté actualizado.
  • cargar: lee todos los datos desde el fichero. Se debe llamar automáticamente al principio del programa.

No hay comentarios:

Publicar un comentario