En este capítulo se procederá a comentar la Especificación de Requisitos Software utilizada en el desarrollo del proyecto CAMX. Esta especificación se ha estructurado intentando seguir la norma IEEE 830 en todos los apartados que sea posible.
El objetivo es la creación de un documento de especificación que sea completo y no contenga ambigüedades.
Esta especificación de requisitos está dirigida al usuario del sistema, así como a las personas que puedan utilizar las funcionalidades ya implementadas para continuar con el desarrollo de aplicaciones sobre la matriz y para profundizar en la automatización de ésta que tiene como objetivo la grabación de futuros eventos.
El ámbito del proyecto desarrollado abarca desde el proceso de ingeniería inversa en el que se estudia el protocolo utilizado por la matriz de vídeo y audio, hasta el desarrollo de una aplicación que utilice este protocolo controlando las aplicaciones básicas de esta matriz y sus periféricos asociados.
API
API son las siglas en inglés de Application Programming Interface y básicamente designan a un conjunto de funciones y procedimientos que los programadores de un sistema operativo pueden utilizar en sus propios programas.
Usando las API's conseguimos principalmente dos objetivos. Por un lado, el programador se ahorra un montón de trabajo al no tener que encargarse de desarrollar funciones ya creadas. Por otro lado, y más importante de cara al usuario, se consigue que los programas funcionen de una manera normalizada, proporcionando un aspecto similar, con comportamientos parecidos.
GPL
La GPL tiene como objetivo garantizar al usuario la libertad de compartir y cambiar software libre, es decir, asegurarse de que el software es libre para todos sus usuarios. Esta licencia Pública General es aplicable a la mayoría del software de la Free Software Foundation así como a cualquier otro programa cuyos autores se comprometan a usarlo.
LAN
Local Area Network o red de área local.
MINIX
un pequeño sistema Unix.
UNIX
UNIX es un sistema operativo de tiempo compartido (la computadora puede ser usada por varios usuarios al mismo tiempo).
Cada usuario de este sistema dispone de una pantalla y de un teclado (terminal), mientras que la información se procesa y almacena en la unidad central, que es de uso común a todos. Varios terminales conectados a una unidad central constituyen una red. De esta manera nos podremos intercomunicar con el resto de los usuarios.
La persona responsable del control de la red es el administrador del sistema. Para poder tener acceso a la red, el administrador, debe proporcionar a cada usuario un identificador (login) de entrada y una palabra de paso (password).
UNIX distingue las letras minúsculas de las mayúsculas; en DOS eran equivalentes. Cuando iniciamos una sesión en UNIX se nos pedirá que introduzcamos nuestro identificador y nuestra palabra de paso. Si los datos son correctos, aparecerá en pantalla un símbolo ($) llamado "prompt" que nos indica que hemos conseguido pasar la identificación y nos encontramos en nuestra cuenta de UNIX.
WAN
World Area Network o red de área extensa.
Widgets
Colección de herramientas de programación de alto nivel (por ejemplo botones, menús, cajas de texto..) con las que se construyen las interfaces gráficas de los programas.
Estas son las páginas que han sido útiles para la realización del proyecto CAMX:
http://www.diveintopython.org/
http://www.python.org/doc
http://glade.gnome.org/
http://www.linuxlots.com/
http://www.linuxlots.com/~barreiro/spanish/gtk/gtk_tut_12/gtk_tut_12.es.html#toc14
http://suburbia.sindominio.net/article.php3?id_article=33
http://www.oasis-open.org/
http://sjbrown.geeky.net/metagame-sector/tutorial.html
http://laguna.fmedic.unam.mx/~daniel/pygtutorial/pygtutorial/
http://www.pycage.de/coding.html
http://www.gtk.org/faq/
http://www.linuxgazette.com/issue78/krishnakumar.html
http://docs.linux.cz/docbook/docbook.html
El resto del documento describe de forma detallada los requisitos que se fueron construyendo en cada fase de la elaboración, así como su transformación al diseño. Todo ésto evitando cualquier tipo de ambigüedad, así como buscando claridad y simplicidad.