RelatoriaMóduloII (LeonardoContreras)
RelatoriaMóduloII (LeonardoContreras)
RelatoriaMóduloII (LeonardoContreras)
Barinas, 16/01/2021.
INTRODUCCIÓN
A través del uso e implementación de dicha metodología clásica que se utiliza a modo de
referencia, se espera plasmar de manera implícita cada uno de los procesos llevados a
cabo durante el desarrollo y creación del programa informático siguiendo los niveles
jerárquicos de la metodología mencionada anteriormente.
METODOLOGIA CLASICA:
Fase I - Requerimientos
Esta fase fundamental para que la estrategia informática encaje dentro de las metas
de la empresa, ya que en ella se cumplen las funciones del modelaje del negocio y
planificación de sistemas; esto con el fin de proyectar las estrategias del negocio y
determinar de esta forma sus requerimientos de información.
• Los sistemas que requiere el área del negocio, así como sus bases de datos y la
información que intercambiaran o compartieran.
• Descripción detallada de cada sistema y aplicación incluyendo sus objetivos
funcionales y sus bases de diseño.
• Todo hardware y software que serán utilizados para el funcionamiento requerido
por el área de negocio (incluyendo las redes).
• Métodos de desarrollo para cada sistema como lo es adquisición de paquetes,
nuevo desarrollo o actualizaciones.
• Esquema de los problemas actuales del área de negocio y de las posibles mejoras
que se puedan realizar en cada sistema.
• Análisis de los beneficios que se espera derivar de los sistemas que conforman la
arquitectura.
• Desarrollo de infraestructura
• Adaptación de paquetes
Las actividades de esta sub.-fase tienen como objetivo central desarrollar todos los
procedimientos administrativos que rodearán y gobernarán la utilización de los
componentes computarizados desarrollados en la fase de diseño detallado y construcción.
Fase IV - Pruebas
Esta fase, da inicio luego de que las diferentes unidades de diseño han sido
desarrolladas y probadas por separado. Durante su desarrollo, el sistema se emplea de
forma experimental para asegurar que el software no falle, es decir que funcione de
acuerdo a sus especificaciones y a la manera que los usuarios esperan que lo haga, y de
esta forma poder detectar cualquier anomalía, antes de que el sistema sea puesto en
marcha y se dependa de él. Para evaluar el desenvolvimiento del sistema, en esta fase
se llevan a cabo varios niveles de prueba:
• De Sistema: Prueba desde el punto de vista de los niveles de calidad del sistema
y de desempeño.
“Una vez que un sistema pasa a formar parte de la vida diaria de la empresa, cada
programa, cada procedimiento y cada estructura de datos se convierte en una pieza del
negocio que, como tal, deberá funcionar en forma constante, exacta y confiable. L a
operación del negocio ahora dependerá del funcionamiento del sistema, por lo que las
tareas de mantenimiento cobran vital importancia.
• Producción
• Mantenimiento
Fase I – Requerimientos
Requerimientos de funcionamiento:
Turbo C++
O cualquier otro entorno que sea compatible con el lenguaje de programación c++
• 64 MB RAM
Figura 2
Figura 3
4. Elegimos el directorio donde se desea instalar. Se puede dejar el que viene por
defecto pinchando en “Instalar” (Figura 4). El software de instalación copiará los
archivos en el directorio elegido y para terminar la instalación pinchamos en
“Terminar” (Figura 5).
Figura 4
Figura 5
Figura 7
Figura 8
4. “Herramientas”- “Opciones del editor”- “Visualización”- “Número de línea”
para ver las líneas de código numeradas en una secuencia que aparece a la
izquierda de la ventana de texto (Figura 9).
}
do {
cout << endl;
system (CLEAR_SCREEN);
cout << "MEN\351" << endl;
cout << "1.- Registrar Contacto" << endl;
cout << "2.- Consultas" << endl;
cout << "3.- Actualizar Contactos" << endl;
cout << "4.- Eliminar Contacto" << endl;
cout << "5.- Mostrar en el orden del primero al ultimo agregado" << endl;
cout << "6.- Mostrar sin orden" << endl;
cout << "7.- Mostrar en el orden del ultimo al primero agregado" << endl;
cout << "8.- Salir" << endl;
cout << "Seleccione una opci\242n: ";
do
El código fuente del sistema, se divide en varias partes que ejecutan determinadas
funciones.
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string>
#ifdef __linux__
#include <termios.h>
#include <unistd.h>
#define CLEAR_SCREEN "clear"
int _getch ();
#else
#include <conio.h>
#define CLEAR_SCREEN "cls"
#endif
3. Declaración de las funciones que usara el respectivo sistema. Estas son las
funciones que permiten al sistema verificar, contar, comparar y retornar.
void pause_screen
void Contacto
static void print
static void preorder
static void inorder
static void postord
int main ()
{
BinaryTree<Contacto> *root=NULL;
Contacto *datum, contacto;
int counter=0, main_option, suboption;
char field[255];
ifstream file_stream (path);
if (file_stream!=NULL)
{
while (read_field (file_stream, field, '\t'))
{
contacto.alias = field;
read_field (file_stream, field, '\t');
contacto.telefono_fijo = field;
read_field (file_stream, field, '\t');
contacto.telefono_movil = field;
read_field (file_stream, field, '\n');
contacto.correo_electronico = field;
root = BinaryTree<Contacto>::insert (root, contacto);
}
file_stream.close();
}
5. Declaración de variables
string alias;
string telefono_fijo;
string
telefono_movil;
string
correo_electronico;
Contacto() {}
~Contacto() {}
if (main_option<'5')
{
contacto.alias = read_str ("Ingrese el Alias del contacto");
datum = BinaryTree<Contacto>::search (root, contacto);
if (datum!=NULL)
{
cout << endl;
Contacto::print (*datum, &counter);
}
}
if (main_option=='1' && datum!=NULL)
cout << "El registro ya existe." << endl;
else if (main_option>='2' && main_option<='4' && datum==NULL)
cout << endl << "Registro no encontrado." << endl;
else switch (main_option)
{
case '1':
contacto.telefono_fijo = read_str ("Ingrese el telefono fijo");
contacto.telefono_movil = read_str ("Ingrese el telefono movil");
contacto.correo_electronico = read_str ("Ingrese el correo
electronico");
root = BinaryTree<Contacto>::insert (root, contacto);
cout << endl << "Registro agregado correctamente." << endl;
break;
case '3':
cout << "Men\243 de actualizaci\242n de campos" << endl;
cout << "1.- telefono fijo" << endl;
cout << "2.- telefono movil" << endl;
cout << "3.- correo electronico" << endl;
do {
suboption = read_integer ("Seleccione el n\243mero de
campo a modificar");
if (suboption<1 || suboption>3)
printf ("Opci\242n incorrecta\n");
} while (suboption<1 || suboption>3);
switch (suboption)
{
case 1:
datum->telefono_fijo = read_str ("Ingrese el nuevo
telefono fijo");
break;
case 2:
datum->telefono_movil = read_str ("Ingrese el nuevo
telefono movil");
break;
case 3:
datum->correo_electronico = read_str ("Ingrese el nuevo
correo electronico");
break;
}
cout << endl << "Registro actualizado correctamente." << endl;
break;
case '4':
root = BinaryTree<Contacto>::remove (root, *datum);
cout << "Registro eliminado correctamente." << endl;
break;
case '5':
counter = 0;
BinaryTree<Contacto>::preorder (root, &counter,
(void(*)(Contacto&,void*))Contacto::print);
cout << "Total de registros: " << counter << "." << endl;
break;
case '6':
counter = 0;
BinaryTree<Contacto>::inorder (root, &counter,
(void(*)(Contacto&,void*))Contacto::print);
cout << "Total de registros: " << counter << "." << endl;
break;
case '7':
counter = 0;
BinaryTree<Contacto>::postorder (root, &counter,
(void(*)(Contacto&,void*))Contacto::print);
cout << "Total de registros: " << counter << "." << endl;
break;
}
if (main_option!='8')
pause_screen ("");
} while (main_option!='8');
ofstream output_stream (path);
if (output_stream!=NULL)
{
BinaryTree<Contacto>::inorder (root, &output_stream,
(void(*)(Contacto&,void*))Contacto::print_on_file);
output_stream.close();
}
return EXIT_SUCCESS;
}
De esta forma el usuario interactúa con el sistema al ingresar sus datos, para que este
automáticamente le muestre su respectivo nombre, apellido y el salario que cobrara.
Además de mostrar la nómina total de la empresa. - Desarrollo de unidades de diseño
interactivas:
En esta sección, se muestran los captures durante la ejecución del programa,
notaremos el proceso interactivo de ingreso de datos por parte del usuario y
recepción de datos y/o resultados por parte del sistema, el usuario elige la segunda
opción para consultar los datos de un contacto almacenado.
Aquí podemos constar como el usuario hace uso de la opción 3 para actualizar o
modificar los datos de un contacto preexistente.
En este capture se aprecia como el usuario hace uso de la opción 4 para eliminar un
contacto almacenado.
- Sintaxis completa en general del Código en C++ (Clases, Templates, Funciones
con variables enteras):
Desarrollo de unidades de diseño Batch:
Flujo grama de forma vertical, según Gómez Cejas Guillermo, año 1997.
Según Gómez Cejas, Guillermo. Año 1.997; El Flujo grama o Fluxo grama, es un
diagrama que expresa gráficamente las distintas operaciones que componen un
procedimiento o parte de este, estableciendo su secuencia cronológica. Según su
formato o propósito, puede contener información adicional sobre el método de
ejecución de las operaciones, el itinerario de las personas, las formas, la distancia
recorrida el tiempo empleado, etc.
Mostrar
Contacto:
1- Registrar Contacto
2- Consultas
3- Actualizar Contacto Ejecutar la
4- Eliminar Contacto opción
5- Mostrar en el orden
del primero al elegida
ultimo
6- Mostrar en el orden
del ultimo al
primero
7- Mostrar sin orden
8- Salir
9- Seleccione una
opción
Hay
Opción
SI
No
FIN
- Desarrollo de unidades de diseño manuales:
Fase IV – Pruebas
• Funcional:
Cabe destacar, que el usuario final mide la calidad del software según lo que
tenga o no, es en ese sentido que la calidad del software depende de quien la
juzgue. El hecho de que una empresa tenga certificación en calidad de software no
garantiza que su software sea de calidad.
• De Sistema:
Esta prueba se determinó por medio del atributo de calidad ISO 9126:
- Portabilidad: este sistema está capacitado para adaptarse a los cambios que
puedan suscitarse en el ambiente o los requerimientos del sistema.
De Aceptación Técnica:
• Producción
• Mantenimiento
Una vez que este sistema está siendo operado, le hacemos seguimiento para
ver cómo está marchando, y evaluamos constantemente su funcionamiento, ya que
de esta forma se pueden solventar necesidades que surjan y si es necesario realizar
algún cambio se procede a hacerlo.
Conclusión
Para finalizar el siguiente trabajo escrito, se puede destacar y hacer mención que se puso
en práctica el uso de las metodologías clásicas dentro del ciclo de vida de los sistemas.
Específicamente se hizo foco en la metodología propuesta por Llorens Fábregas del año
1991, acerca del ciclo de vida de los sistemas de información, la cual consta de 5 fases,
donde cada una de ellas fue implementada y desarrollada de acuerdo al sistema y/o
programa en C++ denominado “Agenda de Contacto” que se elaboró, para la clase final
del sub-proyecto algoritmo y programación I.
REFERENCIAS BIBLIOGRÁFICAS