Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ESTUDIO DE VIABILIDAD
DEL SISTEMA
ÍNDICE
1
DOCUMENTO III. ESTUDIO DE VIABILIDAD DEL SISTEMA.......................................... ..........1
HISTORIA................................................................................................................. ....................5
1 INTRODUCCIÓN................................................................................................ ........................6
1.1 Identificación del proyecto................................................................. ............................6
1.2 Visión general del documento.......................................................................... ..............6
2
ÍNDICE DE ILUSTRACIONES
FIGURA 1: USUARIOS PARTICIPANTES Y ESQUEMA DE TAREAS
.............................................................................................................................. .........................10
3
HISTORIA
4
1 Introducción
5
2 Ámbito y Alcance del Proyecto.
6
En este documento se estudia la necesidad planteada para el presente proyecto,
concretamente en dotar a la aplicación Stochan 0.4 de un interfaz gráfico intuitivo, funcional y
portable para facilitar su utilización por parte del usuario
2.1.1 Contexto.
El presente proyecto se encuadra dentro del marco de la Investigación Operativa. Más
concretamente en la parte de análisis estocástico de sistemas en tiempo real. Se trata de un
analizador estocástico de línea de comandos preferentemente de sistemas en tiempo real
ejecutándose sobre monoprocesador, que resuelve el último problema. Proporciona una
información completa acerca de probabilidades sobre missing deadlines, distribución de tiempo
de respuesta, distribuciones backlog, e incluso resultados intermedios del análisis usando sus
opciones de depuración.
Las tareas de ejecución con parámetros, definición del sistema a analizar, supervisión del
análisis y observación de resultados se llevan a cabo respectivamente vía línea de comandos, a
través de la edición de un fichero de texto, o, en los dos últimos casos mediante la consulta de
ficheros de texto y de formato binario. Son métodos poco intuitivos, incómodos, susceptibles a
errores y poco claros.
La aplicación Stochan 0.4 está desarrollada para entornos Windows y Linux en 32 bits.
• En primer lugar se debe permitir ejecutar la aplicación Stochan 0.4 desde el interfaz
con los parámetros deseados.
7
• Se debe mantener actualizada la información sobre el progreso del análisis en una
representación gráfica intuitiva.
• Finalmente, los resultados obtenidos al término del análisis deberán mostrarse por
pantalla también mediante gráficas de probabilidad.
• Información acerca de la tarea en curso: tarea actual, hyperperiodo, bdiff, rdiff, maxbdiff,
maxrdiff, operación actual, “current time”, “current job release time”, “current job absolute
deadline”.
• Gráficas de evolución de “Current task backlog difference” (bdiff) y “Current task response
time difference” (rdiff).
• Visualizar durante el transcurso del análisis los parámetros elegidos en la ejecución del
programa Stochan 0.4.
2.3.2.1 Rendimiento.
• No se especificaron detalles.
8
2.3.2.2 Frecuencia de tratamiento.
• No se han especificado.
2.3.3 Prioridades.
Es importante que el sistema muestre la información lo más actualizada posible, tanto en la
representación de la evolución del proceso como en las gráficas.
9
3 Lista de Usuarios Participantes.
Consulta de resultados
10
4 Descripción del Sistema Actual.
Consulta de
resultados
Consulta del
progreso del
análisis
Ejecución de la
Definición del herramienta
sistema
C:> stochan –
dir=”C:\System1”
C:> |
Análisis
Finalización
11
12
4.1.1 Descripción del diagrama físico.
En el sistema actual, la aplicación Stochan 0.4 no dispone de interfaz gráfica. Se trata de
una aplicación de consola que dispone de versión para Windows y para Linux.
En el momento de realizar un nuevo análisis, es preciso editar un fichero de texto con las
características del sistema a analizar. Este proceso hay que realizarlo a mano, con el riesgo de
cometer errores introduciendo las variables y los datos.
Finalmente, los resultados quedan registrados en los ficheros .dat, en formato binario, que
contienen las tablas-resumen. Para una información más detallada, acudir a la documentación
sobre Stochan 0.4 en el anexo.
13
4.1.2 Ficheros utilizados.
1. system.txt.
ntasks = 2
priority = 1
period = 40
phase = 16
maxjitter = 1
deadline = 30
maxbdiff = 1e-4
maxrdiff = 1e-10
exectime =
1 0.5
2 0.5
blocktime =
1 0.25
2 0.75
14
2. progress.txt
Fichero de progreso. Durante el análisis este fichero es sobrescrito por Stochan 0.4 con los
valores instantáneos del análisis.
15
Current task response time difference: diferencia entre el tiempo de
respuesta de la tarea en este hyperperiodo y del anterior.
3. log.txt
Fichero de log. En él se escriben los eventos que tienen lugar en la aplicación Stochan 0.4
con su fecha y hora.
•Fecha y hora.
•Evento.
16
4. Ficheros de probabilidad .dat
Ficheros binarios con las tablas de probabilidades que representan los resultados del
análisis. Tienen la siguiente estructura:
Current hyperperiod.
Minimum time.
Maximum time.
Truncation.
Difference.
Array de probabilidades.
Los ficheros generados tienen el siguiente nombre (donde task es tarea). Para más
información acerca de su contenido, dirigirse al Anexo del documento Memoria.
o prob_miss_deadline-task.dat
o avrg_response_task.dat .
o backlog_task.dat
o response_task.dat
o avrg_response_curr_task.dat
17
4.2 Problemas
A continuación se enumeran los problemas y necesidades encontrados en el sistema actual.
18
5 Catálogo de Requisitos del Sistema y Prioridades.
19
5.2 Requisitos no funcionales.
5.2.1 Rendimiento.
• No se especificaron detalles.
• Teclado y ratón.
20
6 Análisis de Alternativas.
Los requerimientos se han especificado de manera muy concreta, el único aspecto en el que
pueden aparecer diferentes alternativas es en el lenguaje de programación en el que se va a
implementar el interfaz gráfico para la aplicación Stochan 0.4.
Alternativas estudiadas:
6.1.1.1 Java
6.1.1.2 C++
6.1.1.3 Phyton
6.1.1.4 C#
Java es portable, interpretado y orientado a objetos. Es muy sencillo, ya que omite muchas
características complejas como los punteros y la liberación de memoria. Lleva mucho tiempo en
circulación y tiene mucha documentación y librerías ya escritas. Sun proporciona una amplia
documentación sobre todos los paquetes java, además de tutoriales gratuitos.
21
C++ no es portable, y sí orientado a objetos. Existe código y documentación abundante,
pero su programación es mucho más compleja, ya que incorpora punteros, referencias,
redefinición de tipos, macros y la necesidad de liberar memoria. Al no ser portable habría que
realizar dos versiones compiladas, una para Windows y otra para Linux.
6.3.2 Características.
• Portabilidad: más allá de la portabilidad por ser de arquitectura independiente, Java
implementa otros estándares de portabilidad para facilitar el desarrollo. Por ejemplo,
los enteros son siempre enteros de 32 bits en complemento a 2. Además, Java
construye sus interfaces de usuario a través de un sistema abstracto de ventanas de
forma que éstas puedan ser implantadas en entornos Linux o Windows.
22
• Orientado a objetos: Java implementa la tecnología básica de C++ con algunas
mejoras y elimina aspectos concretos para mantener la simplicidad del lenguaje. Java
trabaja con sus datos como objetos y con interfaces a esos objetos. Soporta las tres
características propias del paradigma de la orientación a objetos: encapsulación,
herencia y polimorfismo. Las plantillas de objetos son llamadas, como en C++ clases,
y sus copias, instancias. Estas instancias necesitan ser construidas y destruidas en
espacios de memoria
• Simplicidad: Java ofrece toda la funcionalidad de un lenguaje potente, pero sin las
características menos usadas y más confusas de éstos. Elimina muchas de las
características de otros lenguajes como C++, para mantener reducidas las
especificaciones del lenguaje y añadir características muy útiles como el “garbage
collector”. No es necesario liberar memoria y se limita la fragmentación de la
memoria. Se han eliminado además la aritmética de punteros, las referencias, los
registros, la definición de tipos y las macros.
6.3.3.1 NetBeans
6.3.3.2 JBuilder
6.3.3.3 Eclipse
23
Los tres entornos integrados de desarrollo son muy completos y casi idénticos. Con la
salvedad de que el JBuilder es de pago, salvo la versión denominada Foundation, que es una
versión con capacidades básicas para iniciarse en el desarrollo de aplicaciones java y que de
momento es de libre uso. Como tenemos alternativas gratuitas y libres con la funcionalidad
plena, se descarta el JBuilder.
En este caso se seleccionó el NetBeans por venir conjuntamente con el JDK de Java, y por
la amplia experiencia en este entorno.
24