Вы находитесь на странице: 1из 12

1

Documentación Proyecto Empresa La Unión.

Autor
Juan Sebastián Sierra Castelblanco.

Versión de proyecto
1.0

Universidad Sergio Arboleda


Escuela de ciencias exactas e ingeniería.

Sistemas operativos

Bogotá, Colombia.
2019-02.
2

ÍNDICE

1. Definición y especificación de requerimientos. .................... 3

1.1. Definicion general del proyecto de software. ......................................................................... 3

1.2. Especificacion de requerimientos del proyecto..................................................................... 3

1.3. Procedimientos de instalación y prueba.................................................................................. 4

Guía básica de instalación y uso del software. ................................................. 5

2. Arquitectura del sistema. ........................................................ 6

2.1. Descripción general. ...................................................................................................................... 6

2.2. Resumen de funciones. ................................................................................................................ 6

2.3. Descripción individual de las funciones. ................................................................................. 7

2.4. Dependencias externas. ............................................................................................................. 10

2.5. Descripción de procesos............................................................................................................ 11


3

1. Definición y especificación de requerimientos.

En este apartado se presentan los aspectos informativos del sistema, describiendo los
servicios que ofrece el software y las restricciones asociadas a su funcionamiento.

1.1. Definición general del proyecto de software.

La funcionalidad del sistema es buscar el mayor y el menor valor dentro de una matriz, con
el objetivo de determinar la mejor y la peor combinación de materiales para la elaboración
de un nuevo material que provean cierto grado de dureza o resistencia a dicho material. El
programa está desarrollado para la empresa La unión, en el área de pruebas.

1.2. Especificación de requerimientos del proyecto.

Como requisitos generales del programa está el procesamiento o lectura de dos archivos de
texto, que contienen cada uno, una matriz cuadrada de valores reales, estas son dictadas
por el usuario como parámetros en el momento de la ejecución del programa. Una vez
almacenadas las matrices en memoria el programa debe realizar una multiplicación
convencional de matrices; posteriormente, en la matriz producto se debe buscar el valor
máximo y el valor minio, dentro de ella, finalmente el programa escribe la matriz c en un
fichero de texto.

Los servicios que el sistema proporciona son:

• Lectura de archivos de texto.


• Procesamiento y almacenamiento de matrices en memoria desde los ficheros.
• Multiplicación convencional de matrices de la forma 𝐶 = 𝐴 × 𝐵.
• Impresión de matriz 𝐶 en consola (Con restricción).
• Búsqueda de valor máximo y valor mínimo dentro de la matriz 𝐶.
• Escritura de la matriz 𝐶 en un archivo de texto.
4

Los alcances o limitaciones del desarrollo, de acuerdo a los objetivos del mismo son:

• El programa debe ser compilado en un compilador compatible con C99 o posterior.


• El usuario debe ingresar exactamente dos parámetros en la ejecución del programa,
dichos parámetros deben ser dos archivos de tipo texto.
• Los dos archivos deben ser almacenados en la carpeta “AyB”.
• Cada uno de los archivos debe contener una matriz cuadrada (número de filas igual
al número de columnas).
• Los valores de la matriz deben ser números reales positivos.
• Los valores de la matriz deben estar separados por un espacio, en el caso de las
columnas.
• Las filas deben estar una por línea del archivo.
• El programa imprime en consola la matriz 𝐶 solo y solo si la dimensión de la matriz
es menor o igual a 4.
• La matriz 𝐶 se almacena en un fichero de texto con nombre respectivo al número de
ejecución del programa de la manera “C00”.
• Las matrices 𝐶 se almacenan en la carpeta “C”.

Nota: El desarrollador del programa no se hace responsable de problemas y/o errores que pueda
presentar el sistema, debido al incumplimiento de las restricciones y limitaciones aquí mencionados.

1.3. Procedimientos de instalación y prueba.

El proyecto de software se encuentra desarrollado en lenguaje Ansi C. escrito, compilado y


ejecutado en el sistema operativo Linux, específicamente en la distribución Ubuntu 18.04.
Dentro de las herramientas empleadas para el desarrollo del sistema se encuentra el editor
de texto Atom; la terminal o consola del sistema operativo, para la compilación y ejecución
del programa; para la complicación del proyecto de emplea la herramienta gcc de las
distribuciones de Ubuntu.
5

Guía básica de instalación y uso del software.


El programa es distribuido en una carpeta comprimida, que contiene la presente
documentación y el proyecto en su interior. Para la instalación de programa siga los
siguientes pasos.

1. Descomprima la carpeta “proyecto1” en un lugar conocido.


2. Desde la terminal ingrese a la carpeta “programa” ubicada dentro de la carpeta
“proyecto1”.
3. Dentro de la carpeta “programa ubique el ejecutable “multm”.
4. En caso de que no se encuentre o no funcione el ejecutable “multm”, compile el fichero
“multm.c” usando el siguiente comando en la terminal:
“gcc multm.c -o multm”.

Una vez realizados los pasos anteriores, puede hacer uso del programa desde la terminal
de Ubuntu. Para la ejecución del programa siga los siguientes pasos:

1. Ingrese los archivos que contienen la matriz 𝐴 y la matriz 𝐵 en la carpeta “AyB”


ubicada dentro del directorio “programa”. (verifique las limitaciones del programa para
la escritura de las matrices)
2. En la terminal de Ubuntu digite el siguiente comando:
./multm <m1> <m2>
Donde:
./multm es el comando para la ejecución del ejecutable “multm”.
<m1> es el nombre del archivo que contiene los datos de la matriz 𝐴.
<m2> es el nombre del archivo que contienen los datos de la matriz 𝐵.
3. Si desea revisar los archivos que contienen los datos de las matrices 𝐶 diríjase a la
carpeta “C”, que se encuentra en el directorio “Programa”.
4. En caso de que se presente algún error al ejecutar el paso 2, verifique y diríjase al
paso 4 de la instalación del programa.
5. Si el problema persiste verifique que haya ubicado correctamente los archivos <m1>
<m2> en la carpeta “AyB”.

En caso de inconvenientes comuníquese con el correo: juan.sierra01@correo.usa.edu.co


6

2. Arquitectura del sistema.

En este apartado se describe como está diseñado el programa, informando sobre las partes
que lo componen y como se encuentran interconectadas entre ellas. Igualmente, se explica
el proceso que realiza el programa para cumplir su objetivo.

2.1. Descripción general.

El sistema está diseñado con una estructura monolítica, conteniendo así; diferentes
funciones o métodos para cada uno de los cálculos y requerimientos que el programa debe
emplear, igualmente cuenta con un programa principal main donde se ejecutan y relacionan
cada una de las funciones del programa.

2.2. Resumen de funciones.

Modificador y Función y descripción


tipo
int main(int argc, char* argv[])
función principal del programa.
int verificarDimension(char archivo[])
Lee la matriz del archivo y verifica que sea una matriz cuadrada.
void leerMatriz(char archivo[], int dim, float[][dim])
Leer y almacena la matriz del archivo.
void multMatrices(int dim, float ma[][dim], float mb[][dim], float [][dim])
Realiza multiplicación de la matriz 𝐴 y la matriz 𝐵.
void imprimirMatriz(int dim, float matriz[][dim])
Imprime en consola la matriz 𝐶.
float vmax(int dim. float matriz[][dim])
Busca el valor máximo de la matriz 𝐶.
float vmin(int dim, float matriz[][dim])
Retorna el valor mínimo de la matriz 𝐶.
void escribirMatriz(char archivo[], int dim, float matriz[][dim])
escribe la matriz 𝐶 en un archivo de texto.
int numeroArchivo()
determina el número de archivo para el nombre del archivo que
almacena la matriz 𝐶.
7

2.3. Descripción individual de las funciones.

main
int main(int argc, char* argv[])
Función principal donde se ejecutan las demás funciones del programa.

Parámetros:
argc – contiene el número de argumentos introducidos.
argv – array de punteros o caracteres.

Retorna:
Valor entero personalizado.

verificarDimension
Int verificarDimension(char archivo[])

Lee los datos de la matriz que se encuentran en el archivo y verifica que la matriz tenga el mismo
numero de filas y de columnas.

Parámetros:
archivo – nombre del archivo el cual contiene la matriz a leer.

Retorna:
La dimensión de la matriz, o -1 si la matriz no es una matriz cuadrada.

leerMatriz
void leerMatriz(char archivo[], int dim, float matriz[][dim])

Procesa los valores de la matriz en el archivo y los almacena en memoria.

Parámetros:
archivo – nombre del archivo el cual contiene la matriz a leer.
dim – la dimensión de la matriz (número de filas, número de columnas).
matriz– arreglo bidimensional.
8

multMatrices
void multMatrices(int dim, float ma[][dim], float mb[][dim], float [][dim])

Multiplica los valores de la matriz 𝑨 (ma) y la matriz 𝑩 (mb) en la forma 𝑨 × 𝑩 = 𝑪; almacena el


producto en la matriz 𝐶 (mc).

Parámetros:
ma – arreglo bidimensional que contiene los valores de la matriz 𝑨.
mb – arreglo bidimensional que contiene los valores de la matriz 𝑩.
mc – arreglo bidimensional que va a contener los valores de la matriz 𝐶.

imprimirMatriz
void ImprimirMatriz(int dim, float matriz[][dim])

Recorre e imprime la matriz en consola.

Parámetros:
dim – dimensión de la matriz.
matriz– arreglo bidimensional.

vmax
float vmax(int dim, float matriz[][dim])

busca y retorna el valor máximo que se encuentra en la matriz.

Parámetros:
dim – dimensión de la matriz.
matriz– arreglo bidimensional.

Retorna:
El valor máximo de la matriz.
9

vmin
float vmin(int dim, float matriz[][dim])

busca y retorna el valor mínimo que se encuentra en la matriz.

Parámetros:
dim – dimensión de la matriz.
matriz– arreglo bidimensional.

Retorna:
El valor mínimo de la matriz.

escribirMatriz
void escribirMatriz(char archivo[], int dim, float matriz[][dim]))
crea y escriben en un archivo de texto la matriz 𝐶.

Parámetros:
archivo[] – nombre y dirección del archivo donde se almacena la matriz.
dim – dimensión de la matriz.
matriz– arreglo bidimensional.

numeroArchivo
int numeroArchivo()
Cuenta el número de archivos que se encuentran en la carpeta “C”, para determinar el número
que se le debe asignar al archivo que va a almacenar la matriz 𝑪.

Retorna:
El número más uno de archivos en la carpeta “C”.
10

2.4. Dependencias externas.

Las dependencias externas son las bibliotecas o servicios externos que utiliza el programa
para el funcionamiento de sus métodos, y del mismo. Las bibliotecas que usa el sistema
son:

• <stdio.h>
Proporciona compatibilidad con la operación de archivos genéricos y proporciona
funciones con capacidades de entrada y salida de caracteres.

• <stdlib.h>
Biblioteca estándar de propósito general del lenguaje de programación C.

• <string.h>
Proporciona compatibilidad con la operación de cadenas de caracteres, y algunos
procedimientos para manejar memoria.

• <dirent.h>
Proporciona compatibilidad con la operación de directorios, para la apertura y cierre
de ficheros con llamadas al sistema.
11

2.5. Descripción de procesos.

En este apartado se describen los procesos que realiza el programa para cumplir con su
objetivo, así como las relaciones y orden en la ejecución de las funciones que componen el
desarrollo. Para tal objetivo se presenta un diagrama de flujo, que permite la comprensión
de los procesos que implementa el programa.

Los procesos que ejecuta el programa son:

1. Ejecución del programa comando ./multm <m1> <m2>.


2. Lectura del archivo que contiene la matriz 𝐴 y verificar que sea una matriz cuadrada.
a. Si la matriz 𝐴 es cuadrada, sigue al paso 3.
b. Si la matriz 𝐴 no es cuadrada, mensaje de error en consola y fin del programa.
3. Procesamiento y almacenamiento de los valores de la matriz 𝐴 en memoria.
4. Lectura del archivo que contiene la matriz 𝐵 y verificar que sea una matriz cuadrada.
a. Si la matriz 𝐵 es cuadrada, sigue al paso 4.
b. Si la matriz 𝐵 no es cuadrada, mensaje de error en consola y fin del programa.
5. Procesamiento y almacenamiento de los valores de la matriz 𝐵 en memoria.
6. Multiplicación de la matriz 𝐴 y la matriz 𝐵de la forma 𝐴 × 𝐵 = 𝐶
7. Verificar la dimensión de la matriz 𝐶.
a. Si la dimensión de la matriz es menor a cinco, imprimir matriz 𝐶 en consola.
8. Buscar el valor máximo dentro de la matriz 𝐶.
9. Buscar el valor mínimo dentro de la matriz 𝐶.
10. Escribir y almacenar la matriz 𝐶 en un archivo de texto.
12

Ilustración 1. Diagrama de flujo, procesos del programa.

Вам также может понравиться