miércoles, 28 de mayo de 2014

PRACTICA 3



1.- Introducción


Muchas veces es difícil interactuar con un automóvil cuando se están realizando diferentes acciones, actividades como abrir las puertas, puede tornarse complicadas por muchos factores que se den en cierta situación, es por eso que se desarrollara una aplicación capaz de controlar puertas, cofre y cajuela y demás funciones de un automóvil de forma remota, con ayuda de un dispositivo móvil que puede estar al alcance de todos.

1.1- Visión general del Documento


En este documento se encuentra el análisis de la creación de la aplicación, detalles de sus funciones y los requerimientos del usuario, así como el objetivo y las metas a alcanzar.

·         Introducción: En este apartado se encuentra la definición de él ¿Por qué? y ¿Para qué? se realizara el análisis y desarrollo del software contiene una breve explicación, objetivos y metas que se pretenden alcanzar con el software.


·         Descripción general: Se encontraran perspectivas y funciones del producto, así como la descripción de los usuarios  quienes va dirigido el software, además de contener todas las restricciones y requisitos futuros del mismo para su buen funcionamiento.


·         Requisitos: Esta sección contiene los requisitos a un nivel de detalle suficiente como para permitir a los diseñadores perfilar un sistema que satisfaga estos requisitos.

1.2- Propósito


El siguiente documento tiene como fin definir y especificar requisitos y características funcionales y no funcionales del sistema de una aplicación cuyo objetivo es el control de puertas de un automóvil, gracias a una conexión remota entre un Smartphone y un automóvil.

1.3- Alcance del sistema


·         Diseño, desarrollo e implementación de la aplicación Thru Car


·         La aplicación será capaz de controlar ciertas funciones físicas de un automóvil tales como:

-Abrir y cerrar puertas (conductor, copiloto y pasajeros).

-Abrir y cerrar cajuela del vehículo (en caso de contar con ella).

-Abrir y cerrar cofre del vehículo.

·         Los beneficiados con esta aplicación serán las personas que necesiten de un asistente personal, o que necesiten la ayuda de un control remoto para el control de las funciones básicas de su automóvil.

·         El objetivo que se pretende alcanzar con la aplicación es ayudar a las personas a tener una mejor interacción con su automóvil.

1.4- Definiciones, acrónimos y abreviaturas.


-Modelo 3D: Representación gráfica de un objeto de la vida real de manera virtual con la ayuda de los ejes x, y, z.

-Dispositivo móvil: Aparatos de pequeño tamaño con algunas capacidades de procesamiento y con conexión permanente o intermitente a una red, algunos ejemplos son (teléfonos celulares, tablets, phablets, GPS’s, laptops, etc.).

-Aplicación: Programa informático diseñado como herramienta para permitir a un usuario realizar una cierta función.

-Conexión remota: Operación de conectarse a una red o computadora desde un punto lejano o ajeno a esa red, usando la conectividad de redes de Internet y consiguiendo las mismas prestaciones y funciones que si se tratase de una conexión local.
La conexión remota se refiere a conexión de largo alcance.

2.- Descripción general


2.1- Perspectiva del producto


Thru Car podrá procesar órdenes como abrir o cerras puertas o la cajuela y el cofre por separado, la aplicación trabajara únicamente con el automóvil designado por el usuario, la aplicación trabajara momentáneamente con el sistema de viaje del automóvil.

2.2- Funciones del producto
Thru Car será capaz de


·         Abrir o cerrar puerta de conductor.

·         Abrir o cerrar puerta de copiloto.

·         Abrir o cerrar puertas de pasajeros (en caso de contar con ellas).

·         Abrir o cerrar cajuela del automóvil (en caso de contar con ella).

·         Abrir o cerrar el cofre del automóvil.

·         La aplicación se conectara por medio de Bluetooth.

·         Antes de iniciar la aplicación, la misma solicitara el registro de tu huella digital.

2.3- Características de los usuarios


 La aplicación Thru Car cuenta únicamente con un tipo de usuario el cual será de tipo usuario.

Usuario: lo conforman todos aquellos que tengan la aplicación en su Smartphone, no requiere un nivel de estudios o conocimientos en computación, únicamente necesitan el conocimiento básico del uso de interfaces táctiles.

2.4- Restricciones


·         Políticas de desarrollo:
-La aplicación se desarrollara mediante licencia de software de código cerrado por lo tanto se deberá pagar por su uso y aceptando previamente las políticas de uso de la aplicación.


·         Limitaciones del hardware:
-iPhone 5s (ya que cuenta con touch ID).
-Automóvil de último modelo (2014 o posterior).
-Automóvil con computadora de viaje de modelos 2014 o posteriores con conexión Bluetooth 3.0.


·         Limitaciones de Software:
-IOS 7.0 o versiones superiores.


·         Interfaces con otras aplicaciones:
-La aplicación no necesita el uso de interfaces con otras aplicaciones.


·         Funciones de control:
-La aplicación debe ser capaz de controlar las puertas del automóvil por separado o en conjunto según lo desee el usuario.


·         Requisitos de lenguaje:
-Todo el material que se realice para el usuario y la aplicación debe de estar en multilenguaje (español, inglés, alemán, Italiano).


·         Requisitos de fiabilidad:
-La información correspondiente a los registros de los automóviles, deben estar ajustados a la realidad para evitar desorganización.


·         Credibilidad de la aplicación:
-Para garantizar una buena credibilidad del sistema deberá ser sometido a una serie de pruebas para establecer que se encuentra acorde a los requerimientos que se plasman en el documento en tanto a la consistencia de datos como al rendimiento de la aplicación tales como tiempos de respuesta.


·         Consideraciones de seguridad:
-EL usuario necesitara autenticación táctil mediante su huella digital para verificar que únicamente el dueño del automóvil tendrá acceso al control de su automóvil.

2.5- Suposiciones y dependencias:


Se necesitara una conexión cifrada mediante Bluetooth para garantizar la seguridad al usar la aplicación.

No necesita realizarse ninguna capacitación para el uso de la aplicación.

2.6- Requisitos futuros:


·         Reconocimiento por voz

·         Reconocimiento de rostro

·         Comandos por voz

3.- Requisitos


3.1.- Interfaces Externas


La aplicación Thru Car no tendrá interconexión con otros sistemas de información por lo tanto no es necesario la utilización de interfaz alguna, únicamente necesitara una conexión bluetooth con la computadora del automóvil para la identificación del automóvil y sus partes de interacción

La interfaz final deberá ser intuitiva y muy fácil de usar pues el objetivo de la aplicación es que ayude en la interacción con el automóvil, será sencilla y atractiva para el usuario.

3.2 Requisitos Funcionales


RF1.- Registro de Usuario: La aplicación necesitara la verificación del usuario mediante su huella dactilar por lo que si no tiene registrada ninguna huella o es un usuario nuevo, se le solicitara el registro, para que posteriormente el usuario pueda acceder únicamente colocando su dedo en la aplicación Thru Car.

RF2.- Registro de vehículo: La aplicación deberá solicitar los siguientes datos del automóvil, marca, modelo, placas con el fin de identificar que vehículo controlara la aplicación.

RF3.- Sincronización: El usuario al sincronizar su dispositivo móvil tendrá que introducir una clave generada por el bluetooth para lograr una conexión entre la computadora de viaje y su Smartphone que aparecerá únicamente en la computadora de viaje del automóvil seleccionado.

RF5.- Cambio de datos del vehículo: El usuario será capaz de cambiar los datos de un registro previamente hecho, para esto necesitara acceder al apartado de cambio de auto y después se abrirá la ventana del registro del automóvil donde podrá introducir los nuevos datos, marca, modelo, placas y guardar los cambios.

3.3 Requisitos No Funcionales.


RNF1.- Interacción con el modelo 3D: La aplicación mostrara un modelo 3D del automóvil con el cual el usuario podrá interactuar ya sea desplazando el automóvil o seleccionando la puerta que desea abrir o cerrar.

RNF2.- Interfaz: El usuario tendrá un acceso a las opciones Cambio de auto, salir y ayuda que se mostraran en la misma interfaz que el modelo 3D colocando únicamente 3 botones para diferenciar cada función y su interacción con estos será por medio de gestos táctiles.

RNF3.- Diseño de Interfaz: Todas las interfaces dentro de la aplicación mostraran un diseño tipo flat para facilitar mejor la usabilidad de la aplicación.

RNF4.- Seguridad: Se le solicitara su huella de acceso al usuario para poder ingresar a la aplicación.

RNF5.- Ayuda: La aplicación contara con un apartado de Ayuda y preguntas frecuentes para que el usuario pueda entender el uso de la aplicación.

3.4- Atributos del sistema

 


·         Seguridad:

-
La seguridad de la aplicación estará garantizada por el lector de huellas digitales del dispositivo IPhone 5s, además de que la conexión bluetooth entre el dispositivo y el automóvil será de manera cifrada y codificada, también al ingresar la clave de sincronización del automóvil garantizara una sincronización con el automóvil correcta.

·         Fiabilidad


La interfaz  de Thru Car será bastante intuitiva y sencilla de usar, ya que tendrá un diseño minimalista en el cual solo se manejaran los datos que el usuario necesite, y contara con el modelo 3D del automóvil para una interacción más rápida y fluida.

·         Disponibilidad

La aplicación Thru Car se podrá utilizar únicamente en dispositivos IPhone 5s y sistemas operativos IOS 7 y sus versiones posteriores.

·         Manteneabilidad

El sistema Thru Car contara con una documentación fácilmente actualizada y de fácil consulta, en la página oficial de la aplicación que le permitirá al usuario realizar operaciones de mantenimiento con el menor esfuerzo posible.

La interfaz estará complementada con un buen sistema de ayuda de esta manera la administración puede recaer en personal con poca experiencia en el uso de aplicaciones informáticas.

·         Portabilidad

La aplicación será implantada bajo la plataforma IOS 7.

4.- Apéndices

Estándar IEEE 830-1998
IEEE 830
Modelado 3D
http://abc.mitreum.net/wp-content/uploads/clase2-parte1-teoria.pdf
Diseño de interfaces Humano-Computadora
http://trevinca.ei.uvigo.es/~jrodeiro/Teaching/diu/DIU-Tema1.pdf
CarPlay
http://www.apple.com/ios/carplay/
SolidWorks
http://www.solidworks.com/sw/docs/Instructor_WB_2011_ESP.pdf
Flash Player
http://help.adobe.com/es_ES/flash/cs/using/flash_cs5_help.pdf
Bluetooth in car
http://content.jawbone.com/static/www/pdf/manuals/jambox/jawbone-jambox-manual.pdf


miércoles, 21 de mayo de 2014

CLI, GUI Y NUI

CLI (Command Line Interface) (CLI [interfaz de línea de comandos])

Utilidad que ofrece un método alternativo para ejecutar comandos ESM en entornos de UNIX y Windows NT. Se admiten en CLI (del inglés Command Line Interface) casi todos los comandos ESM disponibles en la consola de ESM. Asimismo, es posible crear registros de agente, eliminar módulos o ejecutar archivos por lotes que contengan comandos CLI desde la interfaz de línea de comandos.

GUI (Graphical User Interface) (GUI [interfaz gráfica de usuario])

Es un programa informático que actúa de interfaz de usuario, utilizando un conjunto de imágenes y objetos gráficos para representar la información y acciones disponibles en la interfaz. Su principal uso, consiste en proporcionar un entorno visual sencillo para permitir la comunicación con el sistema operativo de una máquina o computador

NUI (Natural User Interface) (NUI [interfaz natural de usuario])

Es aquella en las que se interactúa con un sistema, aplicación, etc. sin utilizar sistemas de mando o dispositivos de entrada de las GUI como sería un ratón, teclado alfanumérico, lápiz óptico, Touchpad, joystick etc. y en su lugar, se hace uso de movimientos gestuales tales como las manos o el cuerpo es el mismo mando de control, en el caso de pantallas capacitivas multitáctiles la operación o control es por medio de la yemas de los dedos en uno o varios contactos, también se está desarrollando control de sistemas operativos por medio de voz humana y control cercano a la pantalla pero sin tocarla.


METODOLOGÍAS DE DESARROLLO DE SOFTWARE (CASCADA, ESPIRAL Y DCU)

MODELO EN CASCADA

En Ingeniería de software el desarrollo en cascada, también llamado modelo en cascada, es el enfoque metodológico que ordena rigurosamente las etapas del proceso para el desarrollo de software, de tal forma que el inicio de cada etapa debe esperar a la fiscalización de la etapa anterior.1
Un ejemplo de una metodología de desarrollo en cascada es:
1.           Análisis de requisitos.
2.           Diseño del Sistema.
3.           Diseño del Programa.
4.           Codificación.
5.           Pruebas.
6.           Implantación.
7.           Mantenimiento.
De esta forma, cualquier error de diseño detectado en la etapa de prueba conduce necesariamente al rediseño y nueva programación del código afectado, aumentando los costos del desarrollo. La palabra cascada sugiere, mediante la metáfora de la fuerza de la gravedad, el esfuerzo necesario para introducir un cambio en las fases más avanzadas de un proyecto.
Si bien ha sido ampliamente criticado desde el ámbito académico y la industria, sigue siendo el paradigma más seguido al día de hoy.


MODELO EN ESPIRAL

El desarrollo en espiral es un modelo de ciclo de vida del software definido por primera vez por Barry Boehm en 1986, utilizado generalmente en la Ingeniería de software. Las actividades de este modelo se conforman en una espiral, en la que cada bucle o iteración representa un conjunto de actividades. Las actividades no están fijadas a ninguna prioridad, sino que las siguientes se eligen en función del análisis de riesgo, comenzando por el bucle interior.
Este modelo fue propuesto por Boehm en 1988. Básicamente consiste en una serie de ciclos que se repiten en forma de espiral, comenzando desde el centro. Se suele interpretar como que dentro de cada ciclo de la espiral se sigue un Modelo Cascada, pero no necesariamente debe ser así. El Espiral puede verse como un modelo evolutivo que conjuga la naturaleza iterativa del modelo MCP con los aspectos controlados y sistemáticos del Modelo Cascada, con el agregado de gestión de riegos.
En cada vuelta o iteración hay que tener en cuenta:
·                     Los Objetivos: qué necesidad debe cubrir el producto.
·                     Alternativas: las diferentes formas de conseguir los objetivos de forma exitosa, desde diferentes puntos de vista como pueden ser:
1.           Características: experiencia del personal, requisitos a cumplir, etc.
2.           Formas de gestión del sistema.
3.           Riesgo asumido con cada alternativa.
4.           Desarrollar y Verificar: Programar y probar el software

Si el resultado no es el adecuado o se necesita implementar mejoras o funcionalidades:
Se planificaran los siguientes pasos y se comienza un nuevo ciclo de la espiral. La espiral tiene una forma de caracola y se dice que mantiene dos dimensiones, la radial y la angular:
1.           Angular: Indica el avance del proyecto del software dentro de un ciclo.
2.           Radial: Indica el aumento del coste del proyecto, ya que con cada nueva iteración se pasa más tiempo desarrollando.



COMPARACIÓN CON LA DCU.



DCU
CASCADA
ESPIRAL
·         El diseño está basado en el usuario, sus tareas y entorno.
·         Los usuarios están involucrados durante el diseño y el desarrollo.
·         El diseño es dirigido y refinado por evaluaciones de los usuarios.
·         Su proceso es iterativo.
·         El diseño está dirigido a la experiencia del usuario.
·         El equipo de diseño incluye habilidades multidisciplinarias.
·        Enfoque metodológico que se ordena en etapas.
·        Para iniciar una etapa se tiene que esperar a que termine la anterior.
·        Su metodología se basa en: Análisis de requisitos, Diseño del sistema, Diseño del Programa, Codificación, Pruebas, Implantación y Mantenimiento
·        Las actividades de este modelo se conforman en una espiral, en la que cada bucle o iteración representa un conjunto de actividades.
·        Las actividades no se fijan por prioridad, se eligen en función del análisis de riesgos.
·        En cada vuelta o iteración se toman en cuenta los objetivos y las alternativas.