Buscar este blog

jueves, 23 de abril de 2020

Diseño 2

2. 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.



Aquí os dejo un vídeo sobre como se podría hacer lo explicado anteriormente.

martes, 21 de abril de 2020

Diseño


1. Decisión de tarea a partir del análisis
Una vez analizados los requisitos que debe cumplir el programa, debemos decidir la estructura que llevará el programa. El programa propuesto de agenda de contactos es un programa simple y la estructura podría ser:
  •  Cada dato se almacena en un struct para guardar todos los datos deseados, los struct individuales se almacenarán en un vector
Las funciones del programa serían:
  • mostrar  menú: muestra las opciones disponibles conforme al prototipo ya realizado.
  • nuevaFicha: pide los datos de una nueva persona  y los añade a la lista.
  • verFichas: muestra la primera ficha y con las teclas se podrá elegir entre ver la ficha posterior, la interior, modificar la actual o borrarla.
  • modificar: pide los campos de la ficha, en los parámetros que se desee cambiar se volverá a escribir texto, sino basta con pulsar intro.
  • intentarBorrar: solicita confirmación para borrar datos, si el usuario la acepta se borrará.
  • buscarTexto: pide el texto que se desea buscar y muestra las fichas que lo contienen. Al mostrar la ficha resumen da la opción de mostrarla desarrollada, continuar consultando otras o volver al menú.
  • buscarCumpleMes: muestra fechas, nombres y apellidos de las personas que cumplen años en un cierto mes
  • guardar: vuelca todos los datos a fichero, reemplazando el contenido anterior de dicho fichero. Se debe llamar antes de salir del programa, para que los datos queden almacenados e. También es posible guardar los datos tras cada modificación.
  • cargar: lee todos los datos del fichero. Se llama automáticamente al comenzar el programa

lunes, 20 de abril de 2020

Análisis 3

5. Diagramas de casos de uso

El documento de especificación es probable que no sea comprensible para alguien sin conocimientos de programación. Por lo tanto, se elaboran diagramas que muestran los requisitos más importantes. Uno de los más importantes es el diagrama de datos de uso. En el, el sistema se presenta como un rectángulo y las acciones en un elipse utilizándose figuras para representar a las personas que pueden realizar las acciones e interactuar.

Por ejemplo, volvemos al ejemplo de la agenda, una versión mejorada incluiría al usuario normal que podría ver y manipular datos y al administrador que podría consultar y añadir datos además de cambiar la contraseña de acceso.

Os dejó un ejemplo de como sería el diagrama en un programa algo más complejo.



viernes, 17 de abril de 2020

Análisis 2

3. Refinamiento
En empresas de desarrollo de software suele existir la figura del analista, encargado de que el proceso de especificación sea lo más correcto. Sin embargo en empresas pequeñas esta figura no existe, y los programadores habituales no tienen tanta experiencia a la hora de identificar las necesidades del cliente. Por lo tanto una segunda lectura de la especificación ayuda a afinar los detalles. De manera que es cada vez más habitual repetir varias veces análisis- diseño-implementación-verificación, esto incluye varias reuniones para que los errores y carencias sean detectadas lo antes posible.
Veremos un ejemplo de como sería para el ejemplo propuesto en la entrada de análisis punto 1. En el podríamos detectar las siguientes carencias:
  • ¿ No se podrán consultar datos si no se hace la búsqueda?
  • ¿Qué datos de cada persona que cumpla años debe mostrarse?
  • ¿No será necesario modificar ni borrar datos?
  • ¿Los datos se guardaran automáticamente o se necesita una opción determinada?
  • ¿Las búsquedas deben distinguir entre mayúscula y minúscula?

4. Prototipos visuales
Consiste en la creación de maquetas de pantalla con las que se muestra al cliente una idea parecida de como va a ser el resultado. De esta manera se permite al usuario detectar si falta algún detalle, o error, si el vocabulario es el correcto,...

Veremos como sería para el ejemplo anterior: se podría crear el prototipo de la agenda de contactos, del menú, de visualizaciones de datos y de visualización de un resultado de la búsqueda.


Prototipos Visuales (Empresa) – Departamento de Crédito Y Cobranza


miércoles, 15 de abril de 2020

Análisis

Podemos definir el análisis como una de las etapas para crear un proyecto de software cuyo cometido es delimitar la función del programa.

1.Características del análisis de requisitos

Para crear un programa en un tiempo limitado y con unos costes limitados lo primero que se debe hacer es pensar que tareas debe realizar, este trabajo es más importante aun cuando el proyecto es para un cliente.
 Crear una lista con los requisitos que debe cumplir, favorece la orientación del trabajo y en ella se debe saber que tareas son más importantes y cuales no se deben hacer conociendo así cuando estará acabado.
Una vez estimado el tiempo y el presupuesto  las nuevas características que le cliente desee añadir se anotarán para una nueva versión posterior, lo que llevará volver a realizar los pasos anteriores.


2.Especificación

Es habitual elaborar un documento entre que recopile todos los requisitos que debe cumplir un programa. En ella es habitual distinguir entre los requisitos funcionales, lo que el programa hará y los requisitos técnicos, las limitaciones físicas.


Un ejemplo para un programa poco completo:
  •  Agenda de contactos que permita guardar datos de cada persona.
  •  De cada persona deberá almacenar el nombre, apellidos, fecha de nacimiento, domicilio, y correo electrónico siendo el único obligatorio el nombre
  •  Permitirá guardar grandes cantidades de datos.
  •  Los datos se deben guardar en un fichero para disponer de ellos siempre que se desee.
  •  Permitirá guardar datos a partir de cualquier palabra.
  •  Buscará las personas que cumplan años en los próximos 30 días
  •  Deberá haberse programado en html.