You are on page 1of 10

Informe Final Ingeniera de Software II

Etapas de diseo de Software Arquitectura, Datos, Interfaz -

Sistema alimentador remoto para el control de porciones y horarios de


alimentacin de mascotas, basado en el Raspberry Pi. (SARpi)

Objetivo General

Desarrollar un sistema alimentador remoto para el control de porciones y horarios de


alimentacin de mascotas.

Objetivos Especficos

Disear una interfaz, intuitiva para los usuarios y conforme a los requerimientos del
sistema.
Desarrollar un sistema de acceso remoto para el control de porciones y horarios de
alimentacin de las mascotas.
Integrar la aplicacin Web del sistema al dispositivo de alimentacin basado en el
Raspberry Pi.

Paula Cristina Velez Rincon


Ing. Software II
Arquitectura de SARpi

Paula Cristina Velez Rincon


Ing. Software II
Descripcin de la arquitectura

Capa 1 Presentacin
Es lo que el usuario ve.

Browser: Es el medio por el cual el usuario ingresa a la aplicacin web (Cliente)

Capa 2 Lgica
Funcionalidades

Templates: Las plantillas son las paginas HTML que visualiza el usuario, con algunas
etiquetas extras propias de Flask, para maquetar la interfaz de usuario (CSS, Javascript,
CSV, etc). Los plantillas reciben los datos de las views y luego los organiza para la
presentacin al browser. Esto permite que la lgica del sistema siga permaneciendo en la
vista. (Presentacin)

Views: Las vistas son las funciones en Python en donde estn implementadas las
funcionalidades de la aplicacin del sistema alimentador, all se determinara qu datos
sern visualizados. Usando el ORM (Object-Relational mapping) de Flask se escribe en
cdigo Python en lugar de SQL para hacer las consultas que necesitan en las vistas. En las
vistas tambin se valida la informacin a travs de formularios. (Datos / Lgica)

Para cada funcionalidad se manejaran vistas diferentes, para evitar repetir cdigos y
permitir una escalabilidad ms fluida en futuras mejoras del sistema alimentador.

Models: En los modelos se definen los datos almacenados por la aplicacin del sistema
alimentador, se encuentra en forma de clases de Python cada tipo de dato que debe ser
almacenado; por medio de mtodos se controla el comportamiento de los datos. (Acceso
a la base de datos). Adems, el ORM de Flask permite que se haga manejo de los modelos
de datos orientado a clases y objetos, simplificando su implementacin.

Schedule: Esta modelo manejar los datos relacionados con los horarios que los
usuarios programaran para la alimentacin de sus mascotas.
Owner: Este modelo manejar la informacin de los dueos de las mascotas, y
tendr los datos de acceso al sistema (username - password)
Pet: Este modelo maneja los datos principales de las macotas.

Capa 3 Base de Datos

DataBase: La base de datos seleccionada para manejar la persistencia de los datos del
sistema alimentador.

Paula Cristina Velez Rincon


Ing. Software II
Diseo del Modelo de Datos

Modelo del diseo de los datos y sus relaciones

Diagrama Entidad-Relacin - DBDesigner

Paula Cristina Velez Rincon


Ing. Software II
Explicacin Modelo de Datos

Modelo Descripcin Campos

idPet: Un cdigo alfanumrico para


identificar a la mascota.
Este modelo es el encargado de
name: cadena de string donde se
manejar la informacin detallada de
guarda el nombre de la mascota.
la mascota, su nombre, que tipo de
Pet
mascota es (perro - gato), y una url de type: tipo de mascota, all se
especifica si la mascota es un gato o
la imagen de la mascota que ser
un perro.
cargada a la aplicacin.
url_image: se guarda la direccin
donde se encuentra almacenada la
imagen de la mascota.
username: cadena de string para
guardar el nombre de usuario para
ingresar.
El modelo owner es el encargado de
password: campo con la contrasea
administrar la seguridad de acceso al
necesaria para ingresar a SARpi.
sistema SARpi, ya que para el ingreso
Owner name: nombre del dueo de la
es necesario un usuario y una
mascota quien se encargara de
contrasea para evitar el acceso de
administar los horarios y porciones de
personas mal intencionadas.
alimentacin de las mascotas.
email: cadena de string con el correo
de contacto del dueo.
idSchedule: numero consecutivo
para identificar los horarios.
description: cadena de string para
describir el horario programado.
date_start: Dia en el cual se va a
programar la alimentacin de la
mascota. (Sun Mon Tue Wed Thu Fri
Este es el modelo que consultar el Sat)
RaspberryPi para saber cundo time_start: hora exacta en la cual se
proporcionarle alimento a la mascota; debe abrir el alimentador, para
en esta tabla se guardan los horarios alimentar a la mascota.
Schedule creados por los dueos especificando portion: nmero que representa en
los datos de alimentacin de las segundos el tiempo que estar
mascotas. Bsicamente maneja abierto el alimentador, para
recordatorios, como el establecer la porcin de alimento que
funcionamiento de una alarma. se le entrega a la mascota.
executed: un campo bool que sirve
para administrar los horarios, es decir
por defecto esta en false, pero
cuando se cumple con el horario de
alimentacin se cambia a true, para
saber que el horario programado ya
fue cumplido.

Paula Cristina Velez Rincon


Ing. Software II
Los modelos de SARpi estn relacionados con Schedule, que se puede establecer con el
modelo principal, ya que este es el ms necesario para el funcionamiento del alimentador,
por lo que tanto Pet como Owner tienen una relacin uno a muchos con este, para
garantizar a que mascota y quien es el que establece el horario de alimentacin de la
mascota, por lo que en la informacin de cada horario programado est el id de la mascota
y el username de quien programo el horario de alimentacin.

Una mascota tiene muchos horarios de alimentacin.


Un dueo establece horarios de alimentacin para la mascota.

Diseo de Interfaces

Wireframe

Wireframe realizado en FluidUI

SARpi es una aplicacin con pocas interfaces ya que sus funcionalidades son especficas,
pero con la idea de ampliarlas en el futuro, a continuacin la explicacin de algunas de
las interfaces ms significativas de SARpi, con un diseo Mobile First por lo cual los diseos
a continuacin ser la versin mobile.

Paula Cristina Velez Rincon


Ing. Software II
Interfaces

1. Login a la aplicacin web de SARpi

Para ingresar al alimentador se necesita la ip


publica del Raspberry Pi para ingresar a la
aplicacin es necesario un login inicial para
autentificar a los usuarios, e impedir que extraos
ingresen a la aplicacin.

2. Pgina Inicial de SARpi

En esta interfaz, se reflejan las funcionalidades de


SARpi; por un lado, usando el botn de Feed Me! Se
alimenta inmediatamente a la mascota y el
alimentador se mantiene abierto mientras se
mantenga presionado el botn, el cual mostrara un
timer para indicarle al usuario el tiempo que lleva
abierto y as este puede controlar la porcin.

Tambin est el botn de SCHEDULE, este guiara al


usuario hacia la interfaz donde puede programar los
horarios de alimentacin de la mascota.

Y por ltimo se muestran los horarios programados


en el da.

Paula Cristina Velez Rincon


Ing. Software II
3. Calendario de Programacin

El calendario marcara los das con horarios


programados, los cuales identificaran al da
resaltndolos en un color azul.

En la parte inferior mostrara el da seleccionado y si


este ya tiene programado el horario, es posible tanto
agregar como editar los horarios desde esta interfaz
por medio del botn Programas

4. Programacin de Horarios

En el da seleccionado se agregaran los horarios


deseados, ingresando una descripcin corta del
horario, la porcin en segundos o minutos de
acuerdo al usuario y luego se agregaran las horas de
alimentacin las cuales estn separadas en
intervalos de 15 minutos; se pueden agregar tantas
horas como desee el usuario.

Paula Cristina Velez Rincon


Ing. Software II
5. Calendario de programacin con horarios

Si en el da seleccionado se encuentran programados


horarios, en la parte inferior se mostraran con
detalles haciendo posible deshabilitarlos por medio
del switch o editarlos por medio del botn
programar que lo redirigir a la interfaz de
programacin para editar la informacin ingresada
anteriormente.

6. Perfil del Usuario

A este se ingresa por medio de la foto de usuario en


la parte superior de la aplicacin, en esta se
mostraran la informacin de la mascota (Foto,
nombre, tipo) y el nombre del usuario que est
conectado actualmente.

Desde esta interfaz se cierra la sesin (Log Out)

Paula Cristina Velez Rincon


Ing. Software II
Conclusiones

La aplicacin encargada para la programacin y manejo de horarios de alimentacin de


SARpi, es una aplicacin que aunque no requiere de muchos datos para su funcionamiento,
son necesarios datos puntuales los cuales especifican los horarios y porciones que son
programados por los dueos de las mascotas para la alimentacin de las mismas, cuando
estos no lo pueden hacer de forma presencial. Adems la aplicacin no requiere de muchas
interfaces de usuario, ya que su poder est radicado en la programacin de los horarios a
distancia para manejar el alimentador de mascotas en casa, lo cual hace necesario de la
verificacin de los datos de entrada para la programacin de usuarios, ya que estos son la
materia prima para el funcionamiento de todo el sistema.

Por otra parte el funcionamiento de SARpi, se puede relacionar con el de una alarma, o
un calendario con recordatorios, que en vez de sonar acciona al alimentador para que le
proporcione el alimento a la mascota, y fue por esto que para la construccin del modelo
de datos se tuvo en cuenta la forma en que un calendario guarda las actividades de un
usuario; por esta razn las interfaces de la aplicacin de SARpi se asemeja mucho al diseo
de un calendario con recordatorios, que nicamente maneja horarios, los cuales activan
una alarma para que el alimentador arroje la porcin de la mascota.

A partir del primer diseo en mobiles este se ira expediento dependiendo del dispositivo
y se ajustara adecuadamente al display del usuario, permitindole navegar cmodamente
desde cualquier dispositivo con acceso a internet.

Se espera que con este modelo en un futuro, si las funcionalidades del SARpi crecen el
modelo sea lo suficientemente escalable para permitir el manejo de las nuevas
funcionalidades, sin tener que crear desde cero el modelo de datos del sistema.

Trabajo Futuro

Luego de la terminacin de esta etapa de diseo, se har una recoleccin y verificacin


de la informacin, con el fin de mejorar toda la etapa de diseo y a su vez actualizar
algunos criterios. Luego continuar a la etapa de desarrollo y pruebas las cuales se
enfocaran principalmente en la interaccin del usuario y la aplicacin.

Una vez la aplicacin esta lista ser hora de integrarla con el prototipo alimentador y
probar su funcionamiento con usuarios reales de diferentes edades y con diferentes
mascotas.

SARpi est pensado de forma que un futuro sea un sistema completo de vigilancia y
cuidado de las mascotas, por lo que se espera que sus funciones se amplen como la
integracin de cmaras y parlantes para que el usuario pueda interactuar con su mascota
desde la aplicacin y tambin se quiere adicionarle el manejo de agua para que la mascota
no se quede sin agua en la ausencia de su dueo.

Paula Cristina Velez Rincon


Ing. Software II

You might also like