Mostrando entradas con la etiqueta análisis. Mostrar todas las entradas
Mostrando entradas con la etiqueta análisis. Mostrar todas las entradas

domingo, 26 de abril de 2020

CREACIÓN DE CLASES A PARTIR DE ANÁLISIS

En el tema anterior vimos las pautas de seguir para descomponer un programa como una serie de clases que se relacionan entre sí. Sin embargo, para el programa de la agenda una descomposición en clases sería muy forzada debido a la poca complejidad del programa.

Pero se puede optar por separar la parte visual (aplicación principal) y la parte lógica (lista de personas) para reutilizar la mayor cantidad posible de código por si se creara otra versión del programa en el entorno gráfico o con otra interfaz. Para ello es posible crear una clase lista de personas que cargue y guarde datos permitiendo el acceso a ellos. Así los datos pasarían de se un struct a una clase con los mismos campos pero con métodos que permitieran obtener y fijar los valores de los campos al igual que simplificar la búsqueda.



DECISIÓN DE TAREAS A PARTIR DEL ANÁLISIS

Una vez realizados todos los requisitos tenemos que decidir las estructuras básicas que se van a emplear.
El programa propuesto es simple y podría realizarse en pocas horas, de modo que la fase de diseño podría reducirse a decidir qué estructuras usar.
Después se estudiará una versión más elaborada del programa, planteándolo como una serie de objetos que colaboran entre ellos.
La estructura de datos del programa podría ser:


  • Cada dato se almacena en un struct, y cada struct se almacenará en un vector.


Y las funciones en las que se descompondría podrían ser estas:


  • mostrarMenu: muestra la lista de opciones disponibles.
  • nuevaFicha: pide los datos de una nueva persona y los añade a la lista.
  • verFichas: muestra la primera ficha. Al pulsar sobre algunas teclas el usuario puede elegir si consultar la ficha anterior, modificar la actual o elegir otra.
  • modificar(n): pide los campos de la ficha que se indique como parámetro. Si se desea cambiar un dato, se vuelve a introducir el texto. Si no se desea cambiar, bastará con pulsar Intro.
  • intentarBorrar(n): si el usuario confirma que desea borrarlos, la ficha se elimina.
  • buscarTexto: pide al usuario el texto que quiere buscar, cuenta las fichas y las muestra de una en una. Tras ver todas las fichas, se puede ir pasando de una en una. Si no existen más, la opción de continuar no aparece.
  • buscarCumplesMes: muestra las fechas de nacimiento y los nombres y apellidos de las personas que cumplen en un cierto mes.
  • guardar: vuelca todos los datos a fichero, reemplazando todo lo anterior a lo que actualmente estás guardando.
  • cargar: lee todos los datos desde fichero. Se debe llamar automáticamente al principio del programa.

viernes, 17 de abril de 2020

ANÁLISIS

CARACTERÍSTICAS DEL ANÁLISIS DE REQUISITOS

Si queremos crear un programa en un tiempo limitado y con costes limitados, primero debemos pensar de forma rigurosa qué tareas realizará. En un programa realizado para uso propio, este se convierte en un paso de mucha relevancia.
Crear una lista con los requisitos que debe cumplir el programa favorece la orientación del trabajo, la determinación de qué tareas son más importantes y de cuáles no deben hacerse, así como el establecimiento del momento en el que el proyecto se podrá dar por terminado. Este último aspecto es muy importante pues permite que el programa crezca indefinidamente.
Una vez estimado el tiempo necesario y aprobado el presupuesto, el cliente debe pedir características nuevas para la realización de una versión posterior.

ESPECIFICACIÓN

Es habitual elaborar un documento en el que se recopilen los requisitos que debe cumplir un programa. Podrían reflejarse en una lista de cosas que el programas debe hacer. No obstante, es habitual distinguir entre requisitos funcionales y técnicos.
Por ejemplo: para un programa no muy complejo, se podría partir de una lista como la siguiente:

  • El programa será una agenda de contactos que permita guardar datos.
  • Deberá almacenar nombre, apellidos, fechas, domicilio y correo electrónico por persona, siendo obligatorio solo el nombre.
  • Permitirá guardar una gran cantidad de datos.
  • Dichos datos deberán guardarse en fichero para que se pueda disponer de ellos.
  • Permitirá buscar datos de cualquier palabra.
  • Buscará a las personas que cumplan años en los próximos treinta días.
  • El programa deberá haberse creado en C++ y permitirá trabajar en modo texto, para que se pueda compilar tanto en Windows o LliureX o para otra versión de Linux.