Sei sulla pagina 1di 7

Universidad Nacional José Faustino Sánchez Carrión

FACULTAD DE INGENIERIA
PROYECTO UMovil
Tema: Desarrollando Emprendimiento
Escuela:
Curso:
Docente Mg. Adolfo Galindo Santiago Fecha:
Apellidos y Nombres

Proyecto de Emprendimiento
Desarrollo de aplicativo Movil –“UMóvil”
UMóvil es una la iniciativa de un proyecto de emprendimiento que implica el desarrollo de una
aplicación para dispositivos móviles (celulares y/o tabletas) que permita el control de asistencia,
toma de controles de lecturas y exposiciones en vivo de los estudiantes universitarios como
herramienta de apoyo a los docentes de la universidad nacional y privada.

Objetivos
Generar aplicación móvil para las universidades ubicadas en ciudad de Huacho y Huaura que
posteriormente puedan ser replicada en otras universidades.

Oportunidad
Existe un crecimiento geométrico del desarrollo de las aplicaciones móviles evidenciados en la
cantidad y calidad de productos disponibles a través de las diferentes plataformas: Apple Store,
Google Play entre otras, en ese contexto una aplicación móvil para la docentes universitarios
potenciara los servicios ofrecidos a los estudiantes agregando el componente de movilidad para
permitir un mejor flexibilidad y optimización de tiempos en tareas complementarias para rubricas
de evaluación del estudiante.

Alcance
Desarrollo de una aplicación móvil para tecnologías Android y Apple iOS comprendido por el
siguiente alcance:
1. Registro de Usuario
a. Registro y validad de cuenta de usuario
2. Registro de asistencia:
a. Registro de información de alumnos
b. Importación de información de alumnos (archivos Excel o texto)
c. Toma de asistencia en tiempo real
d. Notificación de faltas a alumnos vía WhatsApp y Messenger
e. Récord de asistencia estudiante
f. Exportación de archivos
3. Toma de controles de lectura y evaluaciones con alternativas
a. Registro de Banco de preguntas
b. Importación de Banco de preguntas (archivos Excel o Texto)
c. Generación de evaluaciones
d. Calificaciones de evaluaciones en tiempo real
e. Exportación de archivos
4. Exposiciones en vivo
a. Interfases de video en vivo
b. Videos off line
c. Evaluación de exposiciones
d. Exportación de archivos
Arquitectura
La arquitectura del sistema consta de dos partes:
1. La primera incluye una serie de servicios web que consultan información de un servidor
web donde se encuentre la información requerida por el sistema. Estos servicios estarán
desarrollados en las plataformas que se definirá posteriormente de acuerdo al sistema
que consulten y la funcionalidad que deba implementar cada uno.
2. La segunda incluye una aplicación móvil que ejecutará en plataformas Android y Apple
iOS, con el desarrollo de clientes de los servicios web y actividades específicas para
proveer la funcionalidad antes mencionada.

Se Pide

Considerando los aspectos del alcance y objetivos del proyecto realice su recomendación del lenguaje
de programación, framework y/o IDE, Base de datos, Sistemas operativos y otros componentes que su
Equipo Propone para el desarrollo del proyecto. Para esto deberá efectuar un análisis comparativo para
evaluar 3 alternativas para cada caso. Considere el formato presentado a continuación.
Tecnología Características Ventajas Desventajas
Lenguaje de .Gran extensión de . Declaraciones en el . Como es un lenguaje
programación documentación. espacio de nombres. que se interpreta en
. Variedad de . Tipos de datos. ejecución para ciertos
herramientas. usos puede resultar un
1. PHP . orientado a objetos inconveniente que el
. Propiedades.
.Se puede separar de código fuente no pueda
. Control de versiones.
estructura. ser ocultado.
. Vista previa en vivo. . Autocompletado de . Lo primero que nos
Framework y/o IDE texto.
. Brackets muestra las encontramos al instalar
. Sistema automatizado Brackets es un
rutas de archivos para administración. inconveniente y es que se
. Posibilita añadir asocia con archivos de
1. BRACKETS . Previsualización de
soporte para Scripts. extensión PHP sin dar
colores e imágenes
. Permite portabilidad y opción al usuario a decidir
directamente desde el
estabilidad. si quiere establecer esta
código
. Desarrollo activo asociación o no
. Procesamiento de
. Facilidad de soporte . Contiene gran cantidad
Base de Datos
de transacciones. de memoria RAM.
transacciones en línea
(OLTP) en memoria. . La relación calidad –
1. SQL SERVER . Operaciones en línea . Estabilidad, seguridad precio está muy debajo de
escalabilidad. Oracle.
mejoradas.
. Administración de los . Permite el uso de
recursos E/S.
comando DDL y DML. . Tiene bloqueos a nivel
de página.
. Asistente de
implementación.
. Limitaciones en la
Sistemas Operativos . Evolución constante. . Reutilización de conectividad.
. Soporte para discos código al ejecutar . Ineficaces en control de
virtuales. programas. seguridad.
. Fácil manejo e . Tiempo de respuesta
. Rendimiento mejorado instalación en los para corregir errores es
en procesadores. dispositivos. malo.
. Mejor rendimiento en . El más popular en el . El costo por versiones,
1. WINDOWS arranque del sistema. mundo y cuanta con un es más.
soporte técnico
. Soporte para sistemas excelente.
que utilizan múltiples
tarjetas gráficas.
LENGUAJES DE PROGRAMACIÓN

1. C#

A. CARACTERÍSTICAS

 Gran extensión de documentación


Ya sea creada de manera oficial como por los usuarios, PHP tiene la ventaja de ser
usado por millones de usuarios en muchos proyectos. De cara al nuevo programador
es una gran ventaja porqué no hay nada mejor que un lenguaje con una gran
comunidad detrás, sobre todo para los no tan afines al idioma anglosajón

 Variedad de herramientas para aprender


Tenemos varios métodos para iniciarnos: podemos contratar un servidor remoto para
subir nuestros archivos, como haríamos con cualquier web, lo cual tiene lógica ya
que si tenéis vuestro sitio en la red ya tenéis este recurso con vosotros; podemos
crear un servidor local con una máquina virtual, o lo más popular entre los alumnos:
descargar la herramienta libre WAMP (XAMP o LAMP en función de si es para Mac
OSX o Linux). Esta herramienta simula que vuestra máquina local es un servidor
web para poder ejecutar los ficheros PHP. Es decir, sea cual sea vuestra situación,
es imposible que os quedéis fuera, sobretodo teniendo en cuenta que no requiere un
entorno de desarrollo complejo, como ocurre con Titanium

 Módulos externos para mejorar la aplicación web


Gracias a esto, podréis implementar funcionalidades que de por sí no existen, siendo
una gran solución a vuestras necesidades. Por ejemplo, en vez de programar de
cero una pantalla de registro, podéis usar un módulo ya hecho. Esto no sería posible
si no fuese orientado a objetos, como menciono en el punto anterior

 Se puede separar la estructura


Con esto quiero decir que podéis tener de manera independiente el código que se
encarga de mover los datos del que se enlaza a la interfaz. Esto se conoce como
Modelo Vista/Controlador (MVC). Gracias a esta característica, no “contaminaremos”
código con líneas innecesarias y lo mantendremos limpio y ordenado

 Orientado a objetos
C# como lenguaje de última generación, y de propósito general, es orientado a
objetos. C# no permite la inclusión de funciones ni variables globales que no estén
incluidos en una definición de tipos, por lo que la orientación a objetos es más pura y
clara que en otros lenguajes como C++. Además, C# soporta todas las
características del paradigma de la programación orientada a objetos, como son la
encapsulación, la herencia y el polimorfismo.

 Orientado a componentes
La propia sintaxis de C# incluye elementos propios del diseño de componentes que
otros lenguajes tienen que simular. La sintaxis de C# incluye por ejemplo formas de
definir propiedades, eventos o atributos.

 Recolección de basura
Como ya se comentó, todo lenguaje incluido en la plataforma .NET tiene a su
disposición el recolector de basura del CLR. Esto implica que no es necesario incluir
instrucciones de destrucción de objetos en el lenguaje.
 Seguridad de tipos
C# incluye mecanismos de control de acceso a tipos de datos, lo que garantiza que
no se produzcan errores difíciles de detectar como un acceso a memoria de ningún
objeto, por ejemplo. Para ello, el lenguaje provee de una serie de normas de
sintaxis, como por ejemplo no realizar conversiones entre tipos que no sean
compatibles. Además, no se pueden usar variables no inicializadas previamente, y
en el acceso atablas se hace una comprobación de rangos para que no se excedan
ninguno de los índices de la misma. Se puede controlar así mismo los

B. VENTAJAS

 Declaraciones en el espacio de nombres: al empezar a programar algo, se


puede definir una o más clases dentro de un mismo espacio de nombres.

 Tipos de datos: en C# existe un rango más amplio y definido de tipos de datos


que los que se encuentran en C, C++ o Java.

 Atributos: cada miembro de una clase tiene un atributo de acceso del tipo
público, protegido, interno, interno protegido y privado.
 Control de versiones: C# permite mantener múltiples versiones de clases en
forma binaria, colocándolas en diferentes espacios de nombres. Esto permite
que versiones nuevas y anteriores de software puedan ejecutarse en forma
simultánea.

 Propiedades: un objeto tiene intrínsecamente propiedades, y debido a que las


clases en C# pueden ser utilizadas como objetos, C# permite la declaración de
propiedades dentro de cualquier clase.

C. DESVENTAJAS

 Las desventajas que se derivan del uso de este lenguaje de programación son
que en primer lugar se tiene que conseguir una versión reciente de Visual Studio
.NET.

 Por otra parte, se tiene que tener algunos requerimientos mínimos del sistema
para poder trabajar adecuadamente tales como contar con Windows NT 4 o
superior, tener alrededor de 4 gigas de espacio libre para la pura instalación, etc.

FRAMEWORK Y/O IDE

1. IDE BRACKETS

A. CARACTERÍSTICAS

 Vista previa en vivo.


Es una característica que me ha impresionado y con la que podemos no solo
visualizar el resultado del código HTML+CSS+Javascript, sino que podemos
modificar en tiempo real cualquier parte del código y se verán reflejados
instantáneamente los cambios en la ventana de previsualización. Por el momento la
vista previa en vivo está disponible únicamente con el navegador Chrome, pero ya
están trabajando para implementarla en otros navegadores.

 Edición del código CSS directamente desde el código HTML.


El título puede sonar un confuso pero me explico, esta característica de Brackets
consiste en permitir editar el archivo CSS que sirve de hoja de estilos a un
documento HTML directamente desde el propio código HTML sin tener que abrir el
archivo CSS, Brackets combina todo en la misma ventana. Para entenderlo mejor,
en la siguiente imagen vemos como podemos modificar el estilo de la etiqueta
HTML H1 cuya hoja de estilo es main.css directamente desde la ventana con el
código HTML.
 Previsualización de colores e imágenes directamente desde el código.
Cuando desde el código se hace referencia a una imagen o a un color, si
pasamos el cursor por encima de la ruta de la imágen o por encima del valor
del color, se nos muestra un cuadro en el que previsualizar la imagen o el
color en cuestión.

 Brackets muestra las rutas de archivos.


Otra de las grandes ventajas de Brackets es que nos muestra los directorios de
nuestro proyecto para localizar la ruta del recurso que queremos emplear, ya sean
imágenes, fuentes, etc… Esta opción se nos muestra cuando empleamos una
propiedad HTMl o CSS que haga uso de un archivo externo.

B. VENTAJAS

 Está en español.
Brackets está completamente en español y soporta otros 24 idiomas por el
momento. Para los usuarios más noveles esto puede ser una ventaja.
o Es gratuito y de código abierto.
Brackets es de código abierto y está disponible en GitHub el código fuente. Es un
editor totalmente gratuito y sin coste alguno para el usuario.
o Es multiplataforma.
Está disponible para Windows, Linux y Mac OS X. Hay que decir que la versión de
Linux tiene un desarrollo más lento que la versión para Windows.
o Autocompletado de texto.
Cómo buen editor para aplicaciones web soporta autocompletado para HTML, CSS
y Javascript. Una cosa que me ha llamado la atención, es que a la hora de usar el
autocompletado no se emplea la tecla Tabulador para seleccionar el elemento del
autocompletado, sino que se emplea la tecla Enter, esto puede ser costumbre mía
ya que en Visual Studio y Sublime Text el autocompletado funciona con Tabulador.
o Desarrollo activo.
Brackets tiene un desarrollo muy activo y cada mes o mes y medio sale una versión
nueva con corrección de bugs o nuevas características. Este es un punto importante
ya que el editor seguirá evolucionando para dar mejores prestaciones a los
programadores.

C. DESVENTAJAS

 Lo primero que nos encontramos al instalar Brackets es un inconveniente y es


que se asocia con archivos de extensión PHP sin dar opción al usuario a decidir
si quiere establecer esta asociación o no.

 Brackets dispone de un visor de imágenes que incluye una cruceta con


coordenadas x e y, útil para crear sprites o seleccionar coordenadas pero el
visualizador de imágenes no dispone de zoom para un posicionamiento de la
cruceta más fino.

 Algo que me ha sorprendido es que no soporta code folding (plegado de código),


esto es algo básico y muy útil, sobre todo en proyectos extensos.
 A la hora de abrir/guardar archivos no permite seleccionar la codificación de
caracteres, sólo trabaja con UTF-8.

BASE DE DATOS

1. SQL SERVER

A. CARACTERÍSTICAS

 Procesamiento de transacciones en línea (OLTP) en memoria: Proporciona


capacidades de OLTP en memoria integradas en el núcleo de la base de datos de
SQL Server para mejorar significativamente el rendimiento de la base de datos de su
aplicación. El OLTP en memoria se instala con el equipo con SQL Server 2014 sin
necesitar medidas adicionales y ofrece beneficios de rendimiento en memoria sin
tener que reescribir la aplicación de su base de datos o actualizar su hardware. Las
mejoras de SQL Server 2014 CTP2 incluyen soporte AlwaysOn, mayor superficie de
área TSQL y la capacidad de migrar objetos existentes al OLTP en memoria.

 Operaciones mejoradas de base de datos en línea: Incluye una reconstrucción de


índice en línea de una única partición y administración de prioridad de bloqueo para
movimientos entre particiones de tablas, lo que reduce el impacto de inactividad por
mantenimiento.

 Administración de los recursos E/S: Los agrupamientos de recursos ahora


admiten la configuración de IOPS mínimo y máximo por volumen, lo que permite
controles de aislamiento de recursos más completos.

 Asistente de implementación: Implemente fácilmente bases de datos internas de


SQL Server a Windows Azure.

B. VENTAJAS

 Contiene la facilidad de soporte de transacciones.


 Contiene escalabilidad estabilidad y seguridad
 También puede Soportar procedimientos almacenados
 Es útil para manejar y obtener datos de la red de redes.
 Puede Incluir también un potente entorno gráfico de administración, que
permite el uso de comandos DDL y DML gráficamente.

C. DESVENTAJAS

 La principal desventaja seria que contiene una gran cantidad de memoria RAM para
la instalación y utilización del software.

 La relación de calidad- precio está muy debajo comparado con Oracle.


 Es imposible utilizar para prácticas porque se prohíben muchas cosas.

 Tiene muchos bloqueos a nivel de página con un tamaño de página fijo y demasiado
pequeño.

SISTEMAS OPERATIVOS

1. WINDOWS

A. CARACTERÍSTICAS
 A lo largo de los años Microsoft fue presentando diferentes versiones mejoradas de
Windows, con distintos cambios evolutivos. A continuación, un repaso de las
distintas versiones, desde Windows 1 hasta Windows 10.
 Soporte para discos duros virtuales.
 Rendimiento mejorado en procesadores multinúcleo.
 Mejor rendimiento de arranque del sistema.
 Soporte para sistemas que utilizan múltiples tarjetas gráficas (multi-GPU).
 Ampliación de funciones y rediseño de la Calculadora (Estadística y Programación).

B. VENTAJAS

 Reutilización de código al ejecutar programas, uso eficiente de tareas y


transparencia en la ejecución de procesos.

 Fácil manejo e instalación de dispositivos y gran compatibilidad con hardware


existente en el mercado.

 Es el sistema operativo más popular en el mundo y además cuenta con un excelente


soporte técnico a nivel mundial.

C. DESVENTAJAS

 Los sistemas operativos de clase Windows, tienen limitaciones en cuanto a


conectividad y a la adhesión a estándares se refiere. En otras palabras, son
sistemas propietarios y cerrados. Si bien hay mejoras de versión a versión, el costo
de propiedad y de actualización de dichas versiones es sumamente alto.

 En relación a seguridad, los sistemas operativos de Microsoft se destacan por ser


ineficaces, al ser sujetos a daños por muy diversas razones (virus, correos
electrónicos destructivos -gusanos, troyanos, etc.-, puertas abiertas para acceso de
intrusos al sistema, etc.).

 El tiempo de respuesta del fabricante para corregir problemas de seguridad es


históricamente malo e inclusive no se considera, en muchos de los casos, que hay
una reacción adecuada y a la altura de las circunstancias cuando llega a haber
respuesta, dejando a los usuarios de Windows en situaciones de alto riesgo.

 Otro punto relevante en relación a los sistemas operativos Windows (especialmente


en versiones para servidores) es el costo de licenciamiento por usuario cayendo así
en un esquema de incremento de costos cada vez que crece la planta de
trabajadores que requieren utilizar los sistemas de cómputo.

Potrebbero piacerti anche