Download documento SRS - Trabajos de Grado de la facultad de Ingeniería de

Document related concepts

Servidor wikipedia , lookup

Capa de abstracción de hardware wikipedia , lookup

QNX wikipedia , lookup

IDempiere wikipedia , lookup

Linux Lite wikipedia , lookup

Transcript
2013
PONTIFICIA UNIVERSIDAD
JAVERIANA
Daniel Warner
SmartGauge
[SRS – (SOFTWARE
REQUIREMENTS
SPECIFICATIONS)]
Especificación de Requerimientos de Software para la aplicación SmartGauge
PREFACIO
El objetivo fundamental de la ingeniería es dar soluciones a problemas y aportar
herramientas que colaboren con el desarrollo de la humanidad y le ofrezcan un
mejor estilo de vida a ésta. Pero para poder hablar de soluciones es indispensable
conocer y entender el problema o problemática en cuestión y así poder plantear
soluciones muy específicas a cada uno de sus componentes para así mismo ir
generando pequeñas soluciones, que bien abarcadas, cuestionadas y medidas
podrán juntarse para nacer como una solución, sino total, al menos parcial o
grande del problema.
En este contexto es donde nace la ingeniería de requerimientos. Ésta se dedica a
la identificación de esas necesidades, a la pregunta por cuáles son
específicamente los aspectos que deben implementarse para dar solución a un
problema. Y para ello se requiere de rigor, más allá de entender “por encima” las
necesidades de un sistema de software por medio de casos de uso o
estimaciones, se hace necesario tener un registro concreto de necesidades y
propuestas de solución que puedan ser monitoreadas, medidas y que se pueda
asegurar que son viables y realizables.
El documento SRS es aquel donde se asegura que se han tenido en cuenta todas
las necesidades y funcionalidades de un producto de software, definiendo los
mecanismos para hallarlos y plantearlos, y siendo una referencia para saber hasta
qué punto una solución de software es en verdad una solución óptima a una
problemática.
1
HISTORIAL DE CAMBIOS
Versión
Fecha de
Actualización
18/03/2013
0.1
0.2
20/03/2013
0.2.1
21/03/2013
0.2.2.
0.3.0.
0.3.1.
0.4.
0.4.1.
0.4.2.
0.4.3.
0.5.1.
22/03/2013
25/03/2013
26/03/2013
27/03/2013
30/03/2013
02/04/2013
03/04/2013
04/04/2013
2
2.1.
05/04/2013
06/04/2013
Descripción
Se incluye en el documento la Introducción
(Propósitos y alcance)
Se incluye parte del punto 2 (2.1., 2.2., y 2.3.)
Se corrige redacción del punto 1 y se modifica
punto 2.2.
Se modifica el punto 1.2.
Se incluyen el documento puntos 3 y 4.
Se modifican los puntos 2.3. y punto 4
Se agregan los puntos 2.4, 2.5 y 2.6.
Se modifica ortografía y redacción del documento
Se modifica el punto 4.4. y 4.5.
Se modifica el punto 3.10
Se modifica el punto 4 y se hace una revisión de
ortografía y redacción de todo el documento.
Se modifican puntos 2,3 y 4
Se modifica punto 3 y se hace revisión de
ortografía y redacción
Tabla 1 Historial de Cambios
2
Contenido
PREFACIO............................................................................................................................................. 1
HISTORIAL DE CAMBIOS ...................................................................................................................... 2
ILUSTRACIONES ................................................................................................................................... 5
TABLAS ................................................................................................................................................ 6
1.
2.
3.
INTRODUCCIÓN ........................................................................................................................... 7
1.1.
PROPÓSITOS ........................................................................................................................ 7
1.2.
ALCANCE .............................................................................................................................. 7
1.3.
ACRÓNIMOS Y ABREVIACIONES .......................................................................................... 8
1.4.
REFERENCIAS ....................................................................................................................... 9
ELABORACIÓN DE REQUERIMIENTOS ....................................................................................... 10
2.1.
OBTENCIÓN DE REQUERIMIENTOS ................................................................................... 11
2.2.
ESPECIFICACIÓN DE REQUERIMIENTOS ............................................................................ 12
2.3.
PRIORIZACIÓN DE REQUERIMIENTOS ............................................................................... 13
2.4
VALIDACIÓN DE REQUERIMIENTOS .................................................................................. 14
2.5.
TRAZABILIDAD DE LOS REQUERIMIENTOS ........................................................................ 15
DESCRIPCIÓN GLOBAL ............................................................................................................... 16
3.1.
DESCRIPCIÓN DEL PRODUCTO .......................................................................................... 16
3.1.1.
INTERFACES CON EL SISTEMA ................................................................................... 16
3.1.2.
INTERFACES CON EL USUARIO .................................................................................. 16
3.1.3.
INTERFACES CON EL HARDWARE .............................................................................. 17
3.1.4.
INTERFACES CON EL SOFTWARE ............................................................................... 18
3.1.5.
INTERFACES DE CONEXIÓN ....................................................................................... 19
3.1.6.
RESTRICCIONES DE MEMORIA .................................................................................. 19
3.1.7.
OPERACIONES............................................................................................................ 19
3.2.
FUNCIONES DEL PRODUCTO ............................................................................................. 20
3.3.
CARACTERISTICAS DEL USUARIO ....................................................................................... 21
3
4.
3.4.
RESTRICCIONES ................................................................................................................. 22
3.5.
SUPOSICIONES Y DEPENDENCIAS ...................................................................................... 23
REQUERIMIENTOS ESPECÍFICOS ................................................................................................ 24
4.1.
REQUERIMIENTOS DE INTERFACES EXTERNAS ................................................................. 24
4.1.1.
INTERFACES CON EL USUARIO .................................................................................. 24
4.1.2.
INTERFACES CON EL HARDWARE .............................................................................. 24
4.1.3.
INTERFACES CON EL SOFTWARE ............................................................................... 24
4.2.
CARACTERÍSTICAS DEL PRODUCTO DE SOFTWARE ........................................................... 25
4.3.
RESTRICCIONES DE DISEÑO ............................................................................................... 25
4.4.
ATRIBUTOS DEL SISTEMA DE SOFTWARE (NO FUNCIONALES) ......................................... 26
4.4.1.
CONFIABILIDAD ......................................................................................................... 27
4.4.2.
DISPONIBILIDAD ........................................................................................................ 27
4.4.3.
SEGURIDAD................................................................................................................ 27
4.4.4.
MANTENIBILIDAD ...................................................................................................... 28
4.4.5.
PORTABILIDAD........................................................................................................... 28
4.5.
REQUERIMIENTOS DE LA BASE DE DATOS ........................................................................ 28
4
ILUSTRACIONES
Ilustración 1 Actividades de elaboración de Requerimientos........................................................... 10
Ilustración 2 Clasificación de Requerimientos .................................................................................. 11
Ilustración 4 Descripción del producto (Interfaces de Usuario) ....................................................... 17
Ilustración 5 Funciones del Producto ................................................................................................ 20
Ilustración 6 Características del Usuario ........................................................................................... 21
Ilustración 8 Arquitectura de conexión. ............................................................................................ 24
Ilustración 9 Interfaces con el Software............................................................................................ 25
Ilustración 10 Atributos No Funcionales (CONFIABILIDAD) .............................................................. 27
Ilustración 11 Atributos No Funcionales (Mantenibilidad) ............................................................... 28
5
TABLAS
Tabla 1 Historial de Cambios ............................................................................................................... 2
Tabla 2 Especificación de Requerimientos ........................................................................................ 13
Tabla 3 Validación de Requerimientos.............................................................................................. 15
Tabla 4 Descripción del Producto (Interfaces con el Software) ........................................................ 19
Tabla 5 Restricciones ......................................................................................................................... 22
6
1. INTRODUCCIÓN
1.1.
PROPÓSITOS
El objeto principal de este documento es definir el proceso de recolección y
especificación de requerimientos junto al proceso del desarrollo del prototipo
de SmartGauge, de acuerdo a las necesidades identificadas dentro de GS1
Colombia. Dichos requerimientos serán la base para el desarrollo de las
funcionalidades del prototipo mencionado y de las subsecuentes fases del
proyecto.
Además se busca:



1.2.
Aprender y poner en práctica algunas de las principales técnicas de
levantamiento de requerimientos.
Ser consecuentes en el seguimiento del plan trazado para el SRS
contemplado en el documento SPMP de la Fase I del proyecto.
Hacer un seguimiento de la trazabilidad de los requerimientos a fin de
facilitar el desarrollo del prototipo, su documentación y sus pruebas.
ALCANCE
El desarrollo de la Fase II del proyecto se basa principalmente en los
siguientes avances y entregas:




Las Correcciones de la Fase I.
Se prevé entregar, además, el Diagrama y la Especificación de Los
casos de uno ya refinados, que venían trabajándose desde la fase I.
Se entrega también el Modelo de Dominio del software que ayuda a
comprender los conceptos que maneja el usuario en el software e
identifica sus clases conceptuales (que no requieren necesariamente las
clases del diseño formal de software). A partir de éste se entrega
también una primera aproximación a lo que será el Diagrama de Clases
del sistema, previsto para la Fase III.
Para esta Fase se tiene contemplada también la entrega al cliente de los
requerimientos del sistema con su respectiva priorización, numeración,
descripción y demás atributos, además de su escalabilidad para el caso
7
de los requerimientos funcionales ya implementados en el software. Es
probable que sea necesario en el futuro hacer algunos cambios a los
requerimientos ya definidos (esto en parte también por las
observaciones del cliente) por lo que también se dispondrá de una
plantilla de solicitud de cambios y modificaciones de requerimientos.
1.3.












ACRÓNIMOS Y ABREVIACIONES
SPMP: Software Project Management Plan.
Know How: Define los conocimientos académicos y capacidades de
una persona o colectivo.
SO: Sistema operativo.
Resolución de pantalla (en pixeles): Dimensiones de la matriz de
pixeles que se imprime en pantalla.
Pixel: Picture element. Unidad de color que forma una imagen digital.
NIC: Network Interface Card o Tarjeta de Red. dispositivo para
conectarse a redes e internet.
RAM: Random Access Memory: Memoria principal del computador
donde se cargan todas las aplicaciones y datos ya procesador y a ser
procesados.
Hardware: Componentes físicos del computador.
Software: Componentes lógicos del computador. Programas y
aplicaciones.
Firewall: Dispositivo de hardware o software que autoriza o desautoriza
la conexión o envío de datos de algún programa en un equipo hacia una
red o viceversa.
SRS: Software Requirements Specification.
SPMP: Software Project Management Plan.
8
1.4.
REFERENCIAS
[1] Bruegge, B. Ingeniería de Software Orientado a Objetos. Primera Edición.
México: Pearson Educación. S.A., 2002.
[2] Buenos Requerimientos. Franky, María Consuelo y Torres, Miguel. Clase
Análisis y Diseño O.O. Universidad Javeriana. 2009
[3] Sommerville and Sawyer. 1997.
[4] Brackett, John W. "Software Requirements". Software Engineering Institute
Education Program. Carnegie Mellon University.1990.
[5] Martínez, Nadina. Priorización de requerimientos de software utilizando una
estrategia cognitiva. Universidad Nacional del Comahue. Buenos Aires,
Argentina. http://ficcte.unimoron.edu.ar/wicc/Trabajos/III%20-%20isbd/678PriorizRequerimientos.pdf
[6] Information Science Institute. University of Southern California. Protocolo de
Control de Transmisión. 1981. Disponible en: http://www.rfc-es.org/rfc/rfc0793es.txt
9
2. ELABORACIÓN DE REQUERIMIENTOS
La elaboración de requerimientos es un proceso de actividades consecutivas
que se describen a continuación:
1. Obtención
2. Especificación
3. Priorización
4. Validación
5. Realización
6. Trazabilidad
Ilustración 1 Actividades de elaboración de Requerimientos
10
2.1.
OBTENCIÓN DE REQUERIMIENTOS
“Los requerimientos son una especificación de lo que debe ser implementado”.
[3]
En el siguiente gráfico se describe cómo y a partir de qué se realizó la
obtención de los requerimientos del sistema SmartGauge. Para su obtención
se hace uso del modelo FURPS+ para obtención de requerimientos de
software de calidad. Dichas herramientas son la definición de requerimientos
Funcionales y No Funcionales. Además dentro de los requerimientos
funcionales se hace una distinción entre aquellos restrictivos y permisivos,
siendo los primeros los requerimientos inversos. [2]
FUNCIONALES
•Aquellos
requerimientos que se
espera sean
funcionalidades
propías del sistema, su
funcionamiento lógico.
NO
FUNCIONALES
•Requerimeintos del
proyecto que no se
encuentran en la estructura
lógica del software, sino en
aquellos que permiten
conocer la operación del
sistema.
INVERSOS
•Requerimientos lógicos de la
aplicación, pero enfocados a lo
que no debe hacer o permitir
el sistema.
Ilustración 2 Clasificación de Requerimientos
11
El modelo de apoyo de levantamiento de requerimientos FURPS+ desarrollado
por Hewlet Packard, es usado a la hora de extraer requerimientos del sistema,
pero su uso no se documenta para mantener la clasificación de Funcionales,
no funcionales e inversos descrita anteriormente.
El uso de estas herramientas de levantamiento de requerimientos se hizo
sobre los casos de uso descritos en la Fase I y refinados en la Fase II del
proyecto [ver Casos de uso refinados]. El buen entendimiento de las reglas de
negocio y de las necesidades del cliente se logró mediante reuniones con el
mismo y acercamientos con el director del presente proyecto, de manera que
se lograra identificar necesidades y recibir retroalimentación y asesoría en la
definición formal de los requerimientos obtenidos.
2.2.
ESPECIFICACIÓN DE REQUERIMIENTOS
La especificación de los requerimientos busca para cada requerimiento
definido dar una descripción precisa de éste, su prioridad, clasificación,
trazabilidad, entre otros aspectos. Se decidió especificar cada requerimiento
por medio de los atributos que se muestran en la siguiente tabla. (ver plantilla
de especificación de requerimientos)
Código
Especificación
Justificación
Alcanzable
Prioridad
Tipo
Es un código
único y secuencial
que identifica a
cada requerimiento,
ya sea Funcional,
No Funcional o
Inverso. El formato
del código es de la
forma RQ-xxx con
xxx como número
de secuencia y RQ
identificando que es
el código de un
requerimiento.
Aquí se da la
descripción
formal del
requerimiento
y en qué
consiste. Para
los funcionales
se describe
qué debe
hacer el
sistema, para
los inversos
qué no debe
hacer o
permitir y para
los no
funcionales se
define el cómo
debe hacer el
trabajo el
sistema
además de
especificar
requerimientos
para el
usuario.
Este campo justifica
la necesidad del
requerimiento, por
qué es importante y
por qué debe
tenerse en cuenta.
Aquí se especifica si
el requerimiento es
o no alcanzable,
esto de acuerdo a
los recursos del
proyecto,
principalmente de
tiempo y de “know
How”.
Aquí se especifica el
grado de
importancia y
necesidad de
implementar el
requerimiento.
Clasificación
del
requerimiento
en funcional,
No Funcional
o
Inverso.
12
Tabla 2 Especificación de Requerimientos
La especificación de los requerimientos de SmartGauge puede consultarse en
la siguiente tabla: (ver tabla de especificación de requerimientos)
Dado que es probable que en las siguientes iteraciones del proyecto sea
necesario hacer alguna modificación o actualización en los requerimientos del
proyecto, se ha diseñado una plantilla para este fin, donde se especifica cuál
es el requerimiento a actualizar o modificar, se justifica ésta acción, y se
definen los cambios en las características y especificación de dicho
requerimiento. (ver plantilla Actualización/Cambios de requerimientos).
2.3.
PRIORIZACIÓN DE REQUERIMIENTOS
La estrategia de priorización de requerimientos se basa en algunas propuestas
de La Ingeniería Cognitiva, que propone un proceso de priorización basado en
3 etapas:



Selección de criterios de priorización: Pueden ser criterios de negocio o
técnicos.
Cada integrante del equipo propone una métrica de ordenamiento y
explica sus criterios de ordenamiento.
Determinar una métrica conjunta y definitiva.
Ésta estrategia está diseñada para organizaciones jerárquicas de varios
despachos y trabajadores, por lo que habla de asignar puntos a la persona
antes que al requerimiento, de acuerdo a su cargo e influencia en la
organización para, ahí sí, darle un peso en su calificación del requerimiento.
Los criterios de calificación de requerimientos se tuvieron en cuenta fueron:
1. La importancia funcional del requerimiento. Cómo éste es sustento de
otras funcionalidades menores.
2. El impacto negativo que tendría dentro del proyecto al no ser
implementado.
3. Una idea mental aproximada de cuántas líneas de código podría
requerir la implementación en el software dicho requerimiento de ser
13
funcional o inverso, y cuanto tiempo consumiría en el caso de los
requerimientos no funcionales.
De acuerdo a estos parámetros, se asignaron valores de ésta manera:
1. Prioridad Baja
2. Prioridad Media
3. Prioridad Alta
Los valores numéricos se utilizaron para poder calcular de manera más fácil la
media de la prioridad.
2.4
VALIDACIÓN DE REQUERIMIENTOS
Una responsabilidad del Director de Calidad y Gestión de Riesgos es validar
los requerimientos luego de definidos y antes de implementados con el fin de
corroborar su calidad y que no representará un problema a la hora del
desarrollo. Para ello se evalúan algunos aspectos del requerimiento mismo y
del requerimiento frente a los demás.
A continuación se describen los atributos de validación de un requerimiento: [2]
[5].
VALIDACIÓN DE REQUERIMIENTOS
No Ambiguo
Completo
Consistente
No Repetido
Verificable
No tiene varios significados o permite más de una interpretación.
Referencia a las cosas por su nombre, evitando el uso de pronombre
(el, ella, ellos, ellas, éstos, éstas, aquellos, aquellas, etc.)
No le hace falta información para ser entendido a cabalidad.
No contradice a otro u otros requerimientos.
No hay otro requerimiento que diga lo mismo, así sea en otros
términos.
Puede asegurarse que luego del desarrollo del sistema puede
verificarse que el requerimiento fue satisfecho.
14
Independiente del
El requerimiento especifica qué se hace y no cómo se hace.
diseño
Dado que muchos de los requerimientos son conocidos por medio
Escrito en Lenguaje del cliente y es importante que este los apruebe, el requerimiento
de
debe evitar estar escrito en un lenguaje técnico incomprensible para
el cliente.
Cliente
Trazable
Se puede verificar en el código o en la documentación dónde
fue implementado el requerimiento.
Tabla 3 Validación de Requerimientos
2.5.
TRAZABILIDAD DE LOS REQUERIMIENTOS
La trazabilidad de un requerimiento consiste en saber en qué parte o partes de
la documentación o del código del sistema puede verse implementado un
requerimiento, esto con la intención de poder hacer un seguimiento a todos los
requerimientos que van siendo implementados, saber cuál es su estado, cuáles
faltan por ser implementados, y al hacer las pruebas saber exactamente cuál
requerimiento está siendo probado y en qué parte del código.
Para el manejo de la trazabilidad de los requerimientos, se ha definido una
plantilla de trazabilidad, donde para evitar los comentarios sobre el código que
no son muy accesibles para su lectura, se ordena la información de
trazabilidad sobre una tabla donde se especifica el código del requerimiento
implementado, el método que lo implementa, la clase a la cual pertenece dicho
método y el atributo que realiza el llamado a dicho método o que sirve para
realizarlo. Ver plantilla de trazabilidad de los requerimientos.
Para los requerimientos que se han implementado hasta la fecha de la entrega
de la Fase II podemos ver su trazabilidad: Ver tabla de trazabilidad.
15
3. DESCRIPCIÓN GLOBAL
3.1.
DESCRIPCIÓN DEL PRODUCTO
3.1.1. INTERFACES CON EL SISTEMA
SmartGauge es un sistema nuevo que para la entrega final al cliente es
liberado en su primera versión, este interactúa las bases de datos internas de
GS1 Colombia, específicamente de su catálogo CABASnet para la
manipulación de la información de los productos a ser tomados como
elementos de prueba.
3.1.2. INTERFACES CON EL USUARIO
Para que el usuario pueda interactuar con el sistema SmartGauge, requiere de
las siguientes interfaces:
16
PANTALLA
TÁCTIL
• Interfaz de visualización de la aplicación
móvil. Los requerimientos de esta van de la
mano con las configuraciones del sistema
operativo que administra la presentación
gráfica. Para SmartGauge se recomienda
una resolución mínima de 1024 x 768
pixeles.
SISTEMA
OPERATIVO
• El usuario puede correr la aplicación móvil
sobre cualquier sistema operativo Android
superior a la versión 3.0. El equipo servidor
debe soportar como minimo un Sistema
Operativo Microsoft Windows XP para
compilar un archivo .exe
INTERFAZ
GRÁFICA
• La impresión en pantalla de SmartGauge
estará por defecto en una resolución de
1024 x 768 pixeles y la interfaz será
implementada usando las librerías gráficas
estándar de Android.
Ilustración 3 Descripción del producto (Interfaces de Usuario)
3.1.3. INTERFACES CON EL HARDWARE
Para la conexión remota con el sistema CABASnet, se requiere seguir sus
protocolos y reglas, que están definidas por el manejo adecuado de cuatro
campos esenciales en cada tabla de la base de datos:
17
CREATION_DATE: Indica la fecha en la que fue creado un registro en la BD.
CREATION_LOGIN: Indica qué usuario creó dicho registro.
MODIFICATION DATE: Indica la fecha en la cual se realizó la última
modificación de dicho registro.
MODIFICATION_LOGIN: Indica qué usuario fue el que realizó dicha
modificación.
Para la operación de la aplicación móvil, el usuario final debe contar con un
dispositivo móvil que utilice Android como sistema operativo, la versión mínima
requerida del mismo es la 3.0, que soporta tareas de red de manera asíncrona
para utilizar los Web Services colocados en un servidor de GS1 Colombia. El
dispositivo debe contar con cámara fotográfica de resolución VGA y
conectividad a Internet; este último requisito no es de carácter permanente,
pues puede haber tareas llevadas a cabo por un servidor en momentos
específicos.
3.1.4. INTERFACES CON EL SOFTWARE
INTERFACES CON EL SOFTWARE
PRODUCTO DE
SOFTWARE
DESCRIPCIÓN
Sistema operativo para arquitecturas de
32 y 64 bits. Es el normalmente utilizado
SO WINDOWS
por hogares y empresas y está muy bien
acoplado con funcionalidades web.
Android 3.0+
El sistema operativo líder en el mercado de
dispositivos Smartphone y Tablets,
compatible con gran variedad de marcas y
desarrollado sobre Java.
PROPÓSITO DE USO
Debido a las restricciones del IDE del
desarrollo del proyecto, la aplicación
analizadora de imágenes debe
compilarse para ser una aplicación local
en un sistema operativo Windows.
Permite un proceso de desarrollo de la
aplicación bastante efectivo y ágil
debido a los conocimientos del
desarrollador.
VERSIÓN
XP, Vista o 7
3.0+
18
Aplicación de desarrollo de software
especializada en construcción de
aplicaciones para el sistema operativo Windows.
Facilita la integración y el desarrollo de los
servicios web, así como también permite
desarrollar código reutilizable al interior de
la organización, pues allí se trabaja
exclusivamente con productos Microsoft.
Microsoft
Visual Studio
2010
10.0.4
Tabla 4 Descripción del Producto (Interfaces con el Software)
3.1.5. INTERFACES DE CONEXIÓN
Para la conexión entre los equipos cliente y servidor se utilizarán servicios web
SOAP, ya que al ser servicios que soportan múltiples plataformas, permiten
una mejor escalabilidad y mantenibilidad, pues tanto la aplicación móvil, como
las demás aplicaciones de escritorio harán uso de los mismos para acceder a
la base de datos y hacer consultas y modificaciones.
3.1.6. RESTRICCIONES DE MEMORIA
El equipo servidor, ya que maneja múltiples conexiones de los clientes debe
contar al menos con 2GB de RAM para asegurar la buena atención de todos
los procesos. Por otra parte los equipos Cliente necesitan 512MB de RAM que
asegura una buena fluidez en las interacciones de la interfaz gráfica.
3.1.7. OPERACIONES
3.1.7.1.
MODOS DE OPERACIÓN
Modo Precarga: El usuario debe hacer una precarga de datos de las
empresas que visitará y de los productos que necesitan actualización.
Modo Actualización: El usuario actualiza los datos de los productos que lo
requieran y el sistema en un momento posterior actualiza el catálogo
CABASnet con la nueva información.
19
3.2.
FUNCIONES DEL PRODUCTO
Estas funciones son las interacciones que el usuario debe poder tener con el
sistema, y la descripción de dichas interacciones. Todo esto está consignado
en la definición y refinamiento de Caos de Uso de SmartGauge. [ver casos de
uso]
Sin embargo algunas de las funciones principales son las siguientes:
Realizar la conexión del usuario.
Realizar una precarga de datos de empresas y
productos.
Sincronizar la información actualizada con la base de
datos.
subir imágenes a la base de datos para su posterior
análisis.
Analizar las imágenes de la base de datos para
calcular las dimensiones de sus correspondientes
productos.
Ilustración 4 Funciones del Producto
20
3.3.
CARACTERISTICAS DEL USUARIO
Las características del usuario de SmartGauge están descritas en sus
privilegios en el sistema, sus conocimientos técnicos y sus conocimientos
sobre la aplicación así:
CONOCIMIENTOS
TÉCNICOS
DESCRIPCIÓN
Es aquel que debe realizar
una visita a un
productor/fabricante con
ánimo de actualizar datos de
productos de consumo.
El usuarió debe tener nociones
básica sobre el uso de un
dispositivo móvil tales como
conocer sus interfaces de
comunicación humano-máquina
como lo son los la pantalla táctil
y sus botones de manejo,
además de saber desplazarse sin
mayores inconvenientes en un
sistema operativo de la máquina
(SOs Windows, Ubuntu , Mac OS,
etc).
PRIVILEGIOS
CONOCIMIENTOS
DE LA APLICACIÓN
MÓVIL
El usuario puede descargar la
información correspondiente a
las visitas que debe realizar en
una jornada laboral.
USUARIO
La aplicación se destaca por
su simplicidad de uso e
interacción, esto facilita que
las tomas de datos se hagan
de una manera eficiente y
poco agotadora.
Ilustración 5 Características del Usuario
21
3.4.
RESTRICCIONES
Las restricciones de desarrollo de SmartGauge son las siguientes:
RESTRICCIÓN
Lenguaje
Legales
DESCRIPCIÓN
El sistema está diseñado bajo el
paradigma Orientado a Objetos
por lo que debe usar un lenguaje
de programación pensado bajo
éste paradigma. Se ha elegido el
lenguaje Java.
La ejecución de la aplicación no
requerirá de licenciamientos
pagos, aunque serán utilizadas
algunas herramientas de diseño
en su versión de evaluación de 30
días.
Los dispositivos de entrada/salida
requeridos por el sistema para
ser
usado por el usuario son la
Interfaces de Usuario pantalla táctil y el
teclado virtual del dispositivo
móvil. El idioma de la aplicación
y su interfaz gráfica estarán en el
idioma Español de Colombia.
Las normas del cliente definidas
por éste al inicio del proyecto no
pueden ser cambiadas. El período
Cliente
de desarrollo establecido por el
cliente es del 4 de Febrero de
2013 al 21 de Mayo del mismo
año.
Arquitectura
El software implementará una
arquitectura Cliente-Servidor.
Tabla 5 Restricciones
22
3.5.
SUPOSICIONES Y DEPENDENCIAS
Las suposiciones y dependencias sobre las cuales se desarrollará el sistema
que puedan afectar los requerimientos especificados en el documento SRS,
son los listados a continuación:




La entrega al cliente se hará en las instalaciones de GS1 Colombia, una
semana después de hacer la sustentación correspondiente al presente
trabajo de grado.
El Cliente dará los principales requerimientos y pautas para el desarrollo
del proyecto y este se iniciará con dicha base. Luego de esta iniciación
no habrá cambios en dichas pautas y requerimientos.
El cliente no pedirá funcionalidades extra luego de iniciado el desarrollo
del proyecto.
SmartGauge representa la continuación de un proyecto a ser implantado
en un ambiente productivo real, por lo cual se tiene una alta
dependencia de interfaces externas.
23
4. REQUERIMIENTOS ESPECÍFICOS
4.1.
REQUERIMIENTOS DE INTERFACES EXTERNAS
4.1.1. INTERFACES CON EL USUARIO
Para la interacción entre el usuario y la aplicación móvil deben existir como
mínimo los siguientes dispositivos y características. (Ver sección 3.1.2.)
4.1.2. INTERFACES CON EL HARDWARE
Para que los usuarios puedan crear, unirse y participar en una partida se
utilizará una arquitectura cliente-servidor. Como ya fue especificado con
anterioridad en el SPMP.
Ilustración 6 Arquitectura de conexión.
4.1.3. INTERFACES CON EL SOFTWARE
Para el diseño, arquitectura, construcción y ejecución de SmartGauge es
necesario que se tenga como mínimo disponibilidad del software que se
muestra en la siguiente imagen con su respectiva versión:
24
Eclipse Juno
Visual Studio 2010
Entorno de desarrollo para
la aplicación móvil.
(Versión 4.2)
Entorno de desarrollo para
los servicios web y la
aplicación analizadora de
imágenes. (Versión 10.0.4)
WINDOWS XP
Sistema operativo
necesario (Pueden
utilizarce sistemas
operativos más recientes)
para ejecutar las
aplicaciones de escritorio y
los IDE.
Ilustración 7 Interfaces con el Software
4.2.
CARACTERÍSTICAS DEL PRODUCTO DE SOFTWARE
Los requerimientos funcionales muestran las acciones fundamentales que
debe realizar el sistema. Para el caso de SmartGauge, las características del
software son estas funcionalidades.
A partir de la especificación de requerimientos (ver Especificación de
Requerimientos) y los casos de uso refinados (ver casos de uso refinados)
realizados.
4.3.
RESTRICCIONES DE DISEÑO
Las restricciones de diseño que existen para SmartGauge se mencionarán en
los siguientes puntos.

Restricciones de Lenguajes de Programación.
La aplicación móvil será programada de acuerdo al paradigma de
programación orientada a objetos, utilizando Java para Android y el IDE
Eclipse. Por otra parte, las aplicaciones de escritorio que harán análisis
25
de imágenes serán desarrolladas en C# utilizando el IDE Visual Studio
2010.

Restricciones de Herramientas Case.
Para el diagrama de clases y el diseño de los casos de usos se utilizará
la herramienta Visual Paradigm.

Restricciones de Arquitectura Final del Sistema.
El sistema utilizará una arquitectura de cliente-servidor para la
comunicación.

Restricciones del Cliente.
El sistema debe ser desarrollado entre las fechas 4 de febrero de 2013 y
21 de Mayo de 2013.

Restricciones Generales.
La aplicación móvil debe poseer un manual de instrucciones en el cual
se le explique al usuario su funcionamiento y características. Dicho
manual estará escrito en el idioma Español de Colombia.
4.4.
ATRIBUTOS DEL SISTEMA DE SOFTWARE (NO FUNCIONALES)
SmartGauge dispondrá de diferentes atributos de calidad que se especificarán
a continuación según su categoría.
26
4.4.1. CONFIABILIDAD
MANEJO DE INFORMACIÓN
Se asegurará que la información en la base de datos sea almacenada
correctamente según los parámetros definidos como estándar por GS1
Colombia, de manera que se hará una validación interna dentro de la aplicación
antes de sincronizar datos.
OPERATIVIDAD DE LA APLICACIÓN MÓVIL
La aplicación podrá ser utilizada sin necesidad de conexión a Internet cuando se
haya precargado información, es decir, cuando se estén efectivamente
actualizando datos en cada uno de los establecimientos a visitar.
TOLERANCIA A FALLOS
En caso de que un cliente pierda la conexión con el servidor en medio de una
sincronización, los datos descargados serán borrados y se le pedirá que
reintente la operación.
Ilustración 8 Atributos No Funcionales (CONFIABILIDAD)
4.4.2. DISPONIBILIDAD
El uso de la aplicación móvil no estará limitado por la conectividad a internet
del dispositivo, pues los datos almacenados y actualizados serán persistidos
en el mismo usando una base de datos interna SQLite hasta el momento en el
que se cuente con una conexión a Internet y se decida hacer sincronización
con la base de datos.
4.4.3. SEGURIDAD
Los parámetros de seguridad en el manejo de usuarios estarán dados por las
reglas de negocio de acceso al catálogo CABASnet. Dichos parámetros serán
llevados a la aplicación móvil y serán factores clave a la hora de integrar
ambos sistemas.
27
4.4.4. MANTENIBILIDAD
CÓDIGO
Se documentará el código que se vaya implementando, para así
llevar un control de este y además que sea entendible por los
desarrolladores futuros que se dediquen a su mantenibilidad.
MÓDULOS
Ligar cada una de las clases al requerimiento correspondiente,
esto garantiza una trazabilidad adecuada.
Ilustración 9 Atributos No Funcionales (Mantenibilidad)
4.4.5. PORTABILIDAD
El sistema puede ser ejecutado en sistemas operativos Android en un rango de
versiones que van desde la 3.0 hasta la 4.2.2, mientras se cumpla con los
requerimientos de Hardware y Software descritos anteriormente (ver sección
4.1.1.).
4.5.
REQUERIMIENTOS DE LA BASE DE DATOS
28
Los requerimientos de la base de datos estarán dados por los protocolos de
seguridad y los modelos de datos utilizados actualmente dentro del catálogo
existente, llamado CABASnet.
29