Está en la página 1de 10

Paso 1: DEFINICIÓN DEL PROYECTO

Proyecto: Diseño e implemención de un Sistema de vigilancia en tiempo real (Vigila


tu casa 24/7).

Hasta cuidar tu hogar puedes llegar a hacerlo, teniendo el control desde tu


smartphone. ¿Y qué necesitarás para ello? Pues de nuevo con la ayuda de
Arduino e instalando en tu móvil un módulo GSM al Arduino, un sensor y el
código de programación con ayuda de la tecnología IP, además de poder
seleccionar las herramientas que utilizarás para automatizar el proceso de
captura.

¿Qué es un sistema?

Conjunto ordenado de normas y procedimientos que regulan el funcionamiento de


un grupo o colectividad.

¿Qué es un sistema en Ingeniería Informática?

Un sistema informático (SI) es un sistema que permite almacenar y procesar


información; es el conjunto de partes interrelacionadas: hardware, software y
personal informático. El hardware incluye computadoras o cualquier tipo de
dispositivo electrónico, que consisten en procesadores, memoria, sistemas de
almacenamiento externo, etc. El software incluye al sistema operativo, firmware y
aplicaciones, siendo especialmente importante los sistemas de gestión de bases de
datos.

¿En qué consiste un sistema de videovigilancia?

El sistema de videovigilancia permite ver en tiempo real aquello que nos interesa
proteger, controlando lo que hace el personal o las diferentes dependencias o
rincones, sin tener que movernos y disponer de una visión global de todas nuestras
instalaciones.

Un sistema de videovigilancia en el hogar nos puede permitir controlar lo que están


haciendo nuestros hijos, o saber si han llegado a casa o si el personal del servicio
doméstico cumple con su horario o con su trabajo.

El sistema nos permite conectarnos a través del teléfono móvil en cualquier lugar y
ver lo que sucede en casa o en el negocio, dándonos la posibilidad de grabar
imágenes o vídeos y poder verlas cuando sea necesario.

¿Qué es un programador? Significado


Un programador es una persona que crea software (aplicaciones informáticas)
mediante instrucciones programáticas específicas. Por esta razón también se le
llama escribir software, pues se trata de la escritura de una serie de códigos que
dan como resultado la programación deseada.

La gran mayoría de los programadores son expertos en computación, así como


también en la codificación en diversos lenguajes y plataformas de programación,
como pueden ser SQL (lenguaje de consulta estructurado), XML (lenguaje de
marcado extensible), PHP, C, C++, Perl y Java entre otros.

Los programadores pueden tener conocimiento general que les sirve para trabajar
en cualquier ámbito, pero también pueden especializarse en diferentes ramas o
campos de la computación.

Por ejemplo, un programador puede especializarse en desarrollo de firmware o


software (aplicaciones para móviles y para computadores), o en bases de datos, en
seguridad, etc.

Los programadores son parte fundamental del desarrollo de la tecnología y la


computación ya que están permanentemente mejorando y ampliando la tecnología y
todo el campo de la computación.

¿Qué hace un programador?

Los programadores informáticos se encargan de crear el código que se utiliza para


el funcionamiento de los software, firmwares y sistemas operativos.

Este código lo crean siguiendo los lineamientos que les da un desarrollador de


software, quien es el que diseña (piensa) el programa y le entrega los lineamientos
al programador.

El programador luego escribe un código o serie de instrucciones capaces de ser


seguidas por el computador, para después proceder a probarlo, una y otra vez, para
corregir errores, eliminar sobrantes y añadir cosas nuevas hasta que el programa se
considere libre de errores y completamente terminado.

Una vez hecho esto el software, firmware o sistema operativo es lanzado para ser
usado. Durante este tiempo, el programador se mantiene evaluando el programa y
realizando las correcciones necesarias mediante actualizaciones y ajustes según le
parezcan necesarios.

¿De cuantas personas se requiere para trabajar?


Se requiere de 2 personas.

¿Se requiere tenga algún oficio o especialidad?

Si. La especialidad de cada persona que llevara a cabo el desarrollo del proyecto es
la siguiente:

Programador móvil o de apps: Esta clase de programadores se dedican a escribir


códigos para aplicaciones móviles para los sistemas Windows Phone, Android o
IOS. Para ello usan lenguajes nativos como el C++, Java y Objective-C.

Por otro lado, también escriben código para aplicaciones móviles utilizando
herramientas para aplicaciones híbridas. Estas pueden ser Corona SDK, Ionic,
jQuery, Lungo y otras más.

Aplicaciones móviles como Instagram, Vibe, el sistema operativo de Windows


Phone, Android e IPhone y muchas otras, son creadas por este tipo de
programadores.

Programador backend: El programador backend es aquel que trabaja en la parte


de la aplicación que se encarga del soporte base para la aplicación, como puede ser
el manejo de datos y el servidor, entre otros elementos.

Este tipo de programador desarrolla su actividad tanto en la infraestructura como en


la base de datos de la aplicación.

Esta clase de programador tiene la capacidad de crear aplicaciones desde cero,


entienden y conocen los beneficios del uso de frameworks y tienen amplia
experiencia en lenguajes de programación como lo son el Ruby, PHP, Java y
Python, entre otros.

Por otro lado, los programadores especializados en backend, conocen las bases de
datos SQL Server, MySQL, PostgreSQL, Apache, nginx y otras.

Programador frontend: Si el programador backend trabaja en la parte de “atrás” de


la aplicación, el programador frontend trabaja en la parte “delantera” de las
aplicaciones. Esto significa que esta clase de programador trabaja con la parte de la
aplicación de cara al usuario final.

El programador frontend escribe el código informático que muestra los datos de las
aplicaciones a los usuarios, es decir, trabaja con el envío y recepción de datos
desde y hacia el backend.
Esta clase de programadores están ampliamente familiarizados con lenguajes como
el JavaScript, HTML, CSS, JSON, XML, API y muchos otros. Además de esto, son
capaces de escribir su propio código desde cero.

Estos programadores, además, son capaces de conocer y comprender los


beneficios del uso de preprocesadoras como Coffescript o frameworks y librerías
como Ember.
Paso 2: LISTA DE ACTIVIDADES

No. Actividad Descripción de la actividad


1 Alcance En el alcance del proyecto definiremos los
procesos necesarios para asegurarnos que
el proyecto incluya todo el trabajo
necesario para finalizarlo con éxito, es
decir, indicaremos que se incluye y que no
se incluye en el proyecto.

2 Planificación Se presenta el esquema de


(Esquema de descomposición del descomposición del trabajo junto con la
trabajo). explicación de cada tarea.

3 Exclusiones del trabajo En esta sección se han listado todas las


tareas que no se han realizado en este
proyecto, pero que si serían necesarias
realizar o estudiar en el caso de que el
sistema tuviera que salir al mercado.

4 Aspectos legales El sistema desarrollado en este proyecto,


guarda información de carácter personal en
el servidor, ya que el usuario tiene la
opción de incluir números de teléfono. Para
tratar estos datos adecuadamente es
necesario aplicar todos los pasos indicados
en la ley orgánica de protección de datos.

5 Tareas relacionadas con la Estas tareas, representan todo el trabajo


seguridad necesario a realizar para que el sistema no
tenga vulnerabilidades ante un posible
atacante o fallo inevitable.

6 Elecciones y tecnologías a usar En este capítulo se presentan las


tecnologías usadas para cada parte del
proyecto, además se estudian y se
comparan con otras también disponibles
hoy en día. Para empezar, veremos las
tecnologías relacionadas con el hardware,
para después pasar a ver las del servidor y
finalmente las de la aplicación Android.

7 Tecnologías del sistema de El sistema de adquisición de datos es el


adquisición de datos que interacciona con el entorno, ya sea
recibiendo datos de sensores o actuando
en el entorno mediante actuadores, se
encarga de tomar datos del mundo real y
digitalizarlos para que un ordenador sea
capaz de entenderlos. En primer lugar,
veremos la plataforma Arduino y después
la tecnología usada para las
comunicaciones.
8 Programar el Arduino Para programar el microcontrolador de las
tarjetas, existen múltiples entornos de
desarrollo, pero en este proyecto se
utilizará el IDE oficial de Arduino. El
lenguaje que utilizaremos es el propio de
Arduino, siendo este una combinación de
los lenguajes C y C++ con algunas
características añadidas y otras reducidas.

91. Pruebas (o validación) Las pruebas de software son parte esencial


del proceso de desarrollo del software.
Esta parte del proceso tiene la función de
detectar los errores de software lo antes
posible.

10 Despliegue (o instalación) El despliegue comienza cuando el código


ha sido suficientemente probado, ha sido
aprobado para su liberación y ha sido
distribuido en el entorno de producción.

11 Mantenimiento. El mantenimiento o mejora de un software


con problemas recientemente desplegado,
puede requerir más tiempo que el
desarrollo inicial del software. Es posible
que haya que incorporar código que no se
ajusta al diseño original con el objetivo de
solucionar un problema o ampliar la
funcionalidad para un cliente.
Paso 3: MATRIZ DE SECUENCIAS

No. Actividad 0 1

1 Alcance 1

2 Planificación 2
(Esquema de descomposición del
trabajo).

3 Exclusiones del trabajo 3

4 Aspectos legales 4

5 Tareas relacionadas con la seguridad 5

6 Elecciones y tecnologías a usar 6


7 Tecnologías del sistema de 7
adquisición de datos

8 Programar el Arduino 8

92. Pruebas (o validación) 9

10 Despliegue (o instalación) 10

11 Mantenimiento 11

Paso 4: T = (O + 4M + P) / 6

No. Actividad O M P T (DÍAS)

1 Alcance 1 9 14 20 15

2 Planificación 2 7 12 16 12
(Esquema de
descomposición del trabajo).

3 Exclusiones del trabajo 3 5 9 13 9

4 Aspectos legales 4 18 24 30 24

5 Tareas relacionadas con la 5 18 24 30 24


seguridad

6 Elecciones y tecnologías a 6 10 13 17 14
usar

7 Tecnologías del sistema de 7 12 15 19 16


adquisición de datos

8 Programar el Arduino 8 4 8 13 9

9 Pruebas (o validación) 9 14 17 20 17

10 Despliegue (o instalación) 9 14 17 20 17

11 Mantenimiento 9 14 17 20 17

También podría gustarte