domingo, 26 de abril de 2020

2.2 Creación de clases a partir de analisis

Para el programa de ejemplo propuesto una descomposición en clase quedaría un poco forzada y al que su nivel de complejidad no es tan elevado como para justificar.la
Aún así se podría optar por separar la parte visual de la parte lógica de modo que no se pudiera reutilizar la mayor cantidad posible de código en caso de que más adelante se creará otra versión del programa en un entorno gráfico o con cualquier tipo de interfaz. Para ello es posible crear una clase lista personas que se encargue de cargar y guardar datos así como de permitir el acceso de los mismos. De esta manera los datos de cada persona pasarían de ser en un struct hacer una clase que tendría los mismos campos pero añadiría método que permitirán obtener y fijar los valores de esos campos así como simplificar sus búsquedas.

ej 1

ej 2


1.5 DIAGRAMAS DE CASOS DE USOS

Un documento de especificación puede resultarle incomprensible a un cliente que no posea conocimientos de programación informática por ello es frecuente la labor elaborar diagramas que muestran los principales requisitos del programa de forma más visual. Uno de los más habituales es el diagrama de casos de uso.
En los diagramas de casos de uso el sistema se representa como un rectángulo, las acciones que pueden realizarse se incluye dentro de la elipse y se dibujan figuras para simbolizar a cada uno de los tipos de personas ,que pueden interactuar con el sistema para realizar las correspondientes acciones.

Por ejemplo una versión mejorada de programa de la agenda de contacto podría incluir al usuario normal, que tendría la capacidad de ver y manipular datos pero también, a un administrador que podrías consultar y añadir datos así como cambiar la contraseña de acceso al sistema.






Ej 2

Pues crearía un programa donde se pudiera gradar canciones en playlist y también que se pudieran crear. La información de las canciones sería el nombre de la canción, del artista que es, al álbum al que pertenece, y cuanto dura la canción. Permitiría  la busqueda de canciones, de artistas y de playlist ya creadas.
El usuario solo tendría acceso a escuchar dichas canciones y a seguir playlist ya creadas. Sin embargo, el adminsitradr tendría acceso a eliminar o crear canciones y también seria quien cambiaria la contraseña. Además, podría crear playlist.









2 DISEÑO

2.1 DESICIÓN DE TAREA A PARTIR DEL ANALISIS

Una vez analizados los requisitos que debe cumplir el programa el siguiente paso consiste en decidir las estructuras básicas que ponga emplearse para llevarlo a cabo
El programa propuesto es simple; podría 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 estructuras de datos usar y en qué función es descomponer el cuerpo del programa.

Lectura de los datos del del programa podría ser la siguiente:
-Cada to individual se almacena en struts para que se puedan guardar datos como se desee los struct individuales almacena gran en un vector.

Y las funciones en las que se queda en las que se descompondría podrían ser la siguiente:
-Mostrar menú muestra la lista de opciones disponibles conforme el prototipo visual

-Nueva ficha pide los datos de una nueva persona y los añade a la lista de contactos existentes

-Ver fichas muestra la pantalla la primera ficha .Al pulsar sobre ciertas teclas el usuario podrá elegir entre consultar la ficha anterior y la posterior modificar la actual o borrar la actual.

-Modificar pide los campos de la ficha que se indique como parámetro en caso de que se desee cambiar un dato se deberán volver a introducir el texto de los campos que se quieran modificar .Si no se desea cambiar de algún dato bastará con pulsar Intro para conservarlo como estaba.

-Intentar borrar solicita confirmación para borrar datos si el usuario confirma que desea borrarlos la ficha se eliminará de la lista.

-Buscar texto piden usuario el texto que desea buscar cuenta cuántas fichas lo contienen y finalmente las muestra de una en una .Tras tomar el resumen de una ficha de la opción de consultarla con mayor detalle continuar o volver a menú.

-Buscar cumple mes 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 20 datos el programa efectuará una pausa cada 20 datos y esperar a que el usuario pulse Intro.

-Guardar vuelca todos los datos a un fichero reemplazando el contenid anterior de dicho fichero se debe llamar automáticamente antes de salir del programa de modo que los datos que vengan almacenados para la siguiente sesión.

-Cargar lee todos los datos desde el fichero se debe llamar automáticamente al principio del programa.

domingo, 19 de abril de 2020

1 ANALISIS (2)

1.3 Refinamiento

En las empresas de desarrollo de software suelen existir la figura del analista experto encargado de hablar con el cliente observar la forma en que se trabaja y formular las preguntas adecuadas para que el proceso de especificación sea lo más correcto posible.
En las empresas pequeñas es posible que no exista la figura del analista y es habitual que los programadores independientes no tengan tanta experiencia a la hora de identificar las necesidades del cliente. En este caso una segunda lectura pormenorizada de la especificación puede contribuir al final lo detalla inicialmente ambiguo.Para el programa del apartado anterior se podría detectar la siguiente carencias:
-¿No se podrán consultar los datos si no se hace una búsqueda?
-¿Qué datos de cada persona que se encuentra a través de la búsqueda del texto debe mostrarse
-¿Qué datos de cada persona que cumplan años debe mostrarse?
-¿Los datos se guardarán automáticamente?
-¿Es necesario guardar los datos en el fichero usando algún formato específico o no van a compartirse con ninguna otra aplicación?
-¿No será necesario modificar ni borrar datos?

Así en la realización de un proyecto real es cada vez más habitual repetir varias veces la secuencia análisis diseño-implementación-verificación proceso que incluye reuniones con el cliente entre una secuencia y otra con el fin de que los errores y las carencias del programa pueden ser detectadas cuanto antes.

1.4 Prototipos visuales

Una herramienta que puede resultar útil para la contribuir a la detección de errores o malentendidos en la especificación de requisitos solo prototipo visuales estos consisten en la creación de maquetas de pantalla con la que se muestra el cliente una idea aproximada de cómo va a ser el resultado a nivel visual.
Así los prototipos virtuales permiten a los usuarios detectar si falta algún detalle o si el vocabulario es incorrecto. Por ejemplo para la agencia de contactos los ejemplos del margen podría constituir prototipos visuales de pantalla de menú de visualización de datos y de visualización de un resultado de búsqueda

1. ANALISIS

1.1 Características del análisis de requisitos

Si se desea crear un programa en un tiempo limitado y con unos costes limitados, el primer paso consiste en pensar que tareas debe realizar. En el caso de una aplicación este se convierte en un paso muy importante.
Crear una lista con s requisitos que debe cumplir el programa favorece la orientación del trabajo, la determinación de que tareas son mas importantes y de cuáles no debe hacerse , así como el establecimiento del momento en el que el proyecto se podrá  dar por terminado.

1.2 Especificación

Es habitual elaborar un documento en el que se recopilen los requisitos que debe cumplir el programa. En una primera aproximación , los requisitos deben de ser una lista de cosas que el preograma debe de hacer. Por ejemplo para un programa no no muy complejo podría partir de una lista como la siguiente:
-El programa será una agencia de contactos que permitirá guardar datos de personas para poder consultarlos más adelante
-Deberá almacenar el nombre, los apellidos, la fecha de nacimiento, el domicilio y el correo electrónico .El único dato obligatorio será el nombre el resto de datos serán opcionales
-Permitirá guardar una cantidad elevada de datos
-Los datos deberán guardarse de fichero para que no se pueda disponer de ellos cada vez que se acceda al programa.
-Permitirá buscar datos a partir de cualquier palabra introducida en la búsqueda
-Buscar a las personas que cumplan años en los próximos 30 días
-El programa deberá ser haberse creado en c ++  y permitirá trabajar trabajar en modo de texto de forma que se pueda compilar tanto para Windows como para Linux

2.2 Creación de clases a partir de analisis

Para el programa de ejemplo propuesto una descomposición en clase quedaría un poco forzada y al que su nivel de complejidad no es tan elevad...