lunes, 29 de mayo de 2017

COCOMO

COCOMO  (Constructive Cost Model) fue desarrollado por B. W. Boehm a finales de los 70 y comienzos de los 80. Es una jerarquía de modelos de estimación de costes de software que incluye submodelos básico, intermedio y detallado. En ese modelo se establecen ecuaciones matemáticas para describir la relación que existe entre el tamaño del software  y otros factores secundarios que buscan capturar ciertas características del producto, proceso, personas y plataforma. Estos factores se conocen como Cost Drivers.

Una de las principales virtudes de COCOMO II es ofrecer una estimación de plazo y esfuerzo, y a partir de estos sugerir el tamaño del equipo y no lo opuesto.


Para realizar dicha estimaciones del esfuerzo de desarrollo se debe usar la siguiente  ecuacion matemática la cual  tiene la forma: 
                                 E=aisbm(X)
donde: 

  • S es el número de miles de líneas de código fuente
  • m(X) es un multiplicador que depende de 15 atributos
En la siguiente tabla se muestran los coeficientes para los diferentes modos



Básico

Intermedio

              Modo
ai
bi
ai
bi
Orgánico
2.4
1.05
3.2
1.05
Semiencajado
3.0
1.12
3.0
1.12
Empotrado
3.6
1.2
2.8
1.2




El modelo básico: en este modelo se estima el coste del proyecto -pequeño o mediano- en función del número de líneas de código estimados. En su algoritmo establece varios criterios de desarrollo los cuales depende de las posibles dificultades que se pueden encontrar en el desarrollo o limitaciones del hardware usado en el desarrollo del software.



El modelo intermedio es mas utilizado cuando se trata de hacer estimaciones más complejas pues en este se incluyen 15 atributos dentro de 4 categorías que son los que determinaran el coste del proyecto.
Las cuatro categorías son las siguientes: 
  1. Atributos del Producto: se refiere a la garantía de funcionamiento requerida para la creación del software, el tamaño de la base de datos, entre otras cosas.
  2. Atributos del ordenador usado: incluye lo referente a la capacidad de almacenamiento, la rapidez del ordenador, versión del sistema operativo, etc.
  3. Atributos del personal: incluye lo que es la experiencia en el tipo de software a desarrollar, en el lenguaje en que se creará, etc.
  4. Atributos del proyecto: software usado para el desarrollo del proyecto, lenguaje necesario para la creación del software, entre otras cosas.

Todos atributos son tomados en cuenta para hacer la aproximación del coste estimado al real, lo máximo posible.


El modelo detallado se basa en incorporar las características del modelo intermedio ademas de que lleva acabo una evaluación del impacto de los atributos tomados en cuenta para el coste. Introduce 2 características principales
  1. Multiplicadores de esfuerzo sensitivos a la fase que van de acuerdo con cada atributo y de esta manera ayuda a determinar la asignación del personal para cada fase del proyecto.
  2. Jerarquía del producto a tres niveles los cuales son módulo, subsistema y sistema y la cuantificación se realiza al nivel que es más susceptible la variación.

Conclusiones sobre COCOMO.

El modelo COCOMO como ya lo hemos descrito es uno de los sistemas de estimación de costes mas utilizados en proyectos de desarrollo de software debido a que una una aproximación al coste real ademas de que es de fácil aplicación con una buena documentación.






"COCOMO" extraído el 28 de Mayo de 2017 desde la fuente:  https://www.ecured.cu/COCOMO_II

"El modelo COCOMO" extraído el 28 de Mayo de 2017 desde la fuente: http://www.sc.ehu.es/jiwdocoj/mmis/cocomo.htm

"El modelo COCOMO para estimar costes en un proyecto de software" extraído el 28 de Mayo de 2017 desde la fuente: http://www.eoi.es/blogs/cesaraparicio/2012/05/06/el-modelo-cocomo-para-estimar-costes-en-un-proyecto-de-software/

"Estimación de proyectos de software con COCOMO II: La métrica inmersa en un modelo de costos"
extraído el 28 de Mayo de 2017 desde la fuente http://www.fattocs.com/es/cursos/cocomo.html

domingo, 14 de mayo de 2017

¿QUÉ ES BIG DATA?

Se denomina Big Data al conjunto de datos que son tan grandes que no pueden ser manipuladas por una gestión de base de datos tradicional como las que suelen  usarse en los sistemas. Es por eso que los Big Data suelen distinguirse por las cuatro V para tener un mejor entendimiento, es decir, Velocidad, variedad, volumen y valor.



Toda la información que se ha ido acumulando es debido a la que almacenan las compañías para hacer transacciones o para tener la información personal de clientes, proveedores, operaciones, entre otras cosas.
Es por eso que si queremos usar los BigData debemos saber a que se refiere esto.

Volumen: Se refiere a la cantidad de datos. Los Big Data requieren procesar altos volúmenes de datos no estructurados y de baja densidad, es decir, datos con un valor desconocido, de este modo lo Big Data son encargados de convertir estos datos en información valiosa.

Velocidad: Se refiere al ritmo con el que se reciben los datos y se ponen en práctica. Esto es importante pues normalmente los datos que cuentan una velocidad alta fluyen a la memoria en lugar de escribirse en el disco.Es por eso que las experiencias de aplicaciones móviles tienen una mayor cantidad de usuarios, un mayor tráfico de red y la expectativa de una respuesta inmediata.

Variedad: Esta característica hace referencia a los nuevos tipos de datos no estructurados. Debemos entender que los datos no estructurados o semiestructurados como texto, audio y video requieren de un procesamiento adicional para extraer la información y los metadatos de respaldo. Una vez hecho esto los datos no estructurados cuentan con muchos de los requisitos de los datos estructurados como resumen, linaje, auditabilidad  y privacidad. Se debe tomar en cuenta que los cambios de esquema frecuentes o en tiempo real son una carga enorme para los entornos de transacción y análisis 

Valor: Existe una gran variedad de técnicas cuantitativas y de investigación para extraer el valor de los datos; desde descubrir una preferencia u opinión del consumidor o identificar una pieza del equipo que este a punto de fallar. Sin embargo el valor también requiere nuevos procesos de descubrimiento que involucran a analistas, usuarios empresariales y ejecutivos inteligentes.





Como podemos ver con el crecimiento de la tecnología debemos estar al día con las nuevas formas de almacenar datos y pues un ejemplo claro son los Big Data, pues representan un desafío real el cual es aprende a hacer las preguntas correctas, reconocer patrones, formular hipótesis  y predecir comportamiento algo que pues realmente no es sencillo pero con la práctica será fácil de manejar.















"La base de la innovación de datos" extraído el 13 de mayo de 2017 desde la fuente: https://www.oracle.com/lad/big-data/index.html

"¿Qué es el Big Data?" extraído el 13 de mayo de 2017 desde la fuente: http://www.analiticaweb.es/que-es-big-data/

 "¿Qué es BigData?" extraído el 13 de mayo de 2017 desde la fuente: https://www.ibm.com/developerworks/ssa/local/im/que-es-big-data/


domingo, 7 de mayo de 2017

MODELADO WEB

El modelado web nos sirve para garantizar la funcionalidad y calidad en nuestro sitio, prácticamente se basa en tomar en cuenta 3 puntos: Diseño de interfaz, Mapa de navegación y la distribución de contenidos y de que tipo son, es por eso que vamos a analizar 5 sitios web para entender un poco más a lo que se refiere el modelado web.




Sitios Web
Diseño de Interfaz
Mapa de Navegación
Contenidos


El diseño con el que cuenta es muy simple pues con tan solo un scrollbar de lado derecho podemos encontrar lo deseamos, además de que cuenta con un buscador.
Es muy simple pues es fácil de navegar en la página sin tener que andar regresando al inicio ni nada que se le parezca.
Los contenidos están muy bien ordenados y es fácil de encontrar lo que se quiere.


Tiene un carrusel de imágenes que hace más atractivo el sitio, además de que a pesar de que su fondo es blanco no satura tanto sus páginas pues tiene distribuido todo de forma organizada
Se puede visualizar que la manera en que se desarrolló la página fue muy bien estructurada pues es sencillo navegar en esta, puedes visualizar los diferentes contenidos sin perderte, pues está separado por secciones.
Los contenidos están muy bien organizados pues te permite visualizar la información de cada celular, la seguridad, diferentes tipos de tablets entre otras cosas.



Al ser una página visitada por muchos usuarios esta trata de ser amigable aunque su principal atractivo son los videos que muestra en inicio de la página.
Podemos observar que la manera en que distribuyeron los contenidos es muy fácil de entender pues se puede visualizar otras secciones sin salirte de la página de Inicio.
Tiene la información necesaria para que el usuario entienda como hacer uso de este sitio, la divide por secciones según las tendencias, los canales a los que estés suscrito, entre otras cosas.


Aunque es un sitio el cual suele ser visitado por muchas personas su diseño de interfaz se basa en una barra donde muestra la cuenta de la persona que lo está usando y pequeñas imágenes miniaturas de las películas/series/caricaturas que ofrece
El mapa de navegación es demasiado simple pues los contenidos principales se encuentran en una sola página de manera en que puedes navegar en las diferentes secciones sin ningún problema.
Gracias a que divide los contenidos por diferentes secciones es fácil saber dónde podemos encontrar lo que requerimos.


Es un sitio que tiene muy mal diseño pues los colores utilizados en lugar de atraer, lastiman. No se entiende de que es la página y está muy saturada de pequeñas publicaciones
No es sencillo navegar debido a que hay muchas publicaciones, apartados y es difícil saber cómo regresar al inicio o como llegar a lo que la página ofrece.
Los contenidos están un poco organizados pero se tarda mucho en cargarlos debido a todo lo que hay en este sitio, es poco entendible.


Como podemos notar es muy importante analizar el diseño que llevará nuestro sitio web, así como la distribución de los contenidos, pues nuestro sitio web tiene que ser amigable y entendible para el usuario de modo que sea sencillo para él entender que es lo que estamos ofreciendo, sea atractivo a la vista y de esta manera podremos llegar a mas audiencia.

sábado, 29 de abril de 2017

CALIDAD DE LA APLICACIÓN WEB


Existen 5 características principales de calidad  que se toman en cuenta para el desarrollo de las aplicaciones web, el ejemplo para analizar si cumple con todas estas características es: 

https://www.netflix.com

Característica
Descripción
Ejemplo
Facilidad de uso
Hace referencia a que tan navegable es la aplicación de modo que se entienda donde esta cada función, tomando en cuenta factores como la estética, la consistencia y la documentación. Se debe analizar el contenido que va a tener y la audiencia a la que va dirigido.
La página de Netflix al ser consultada por diferentes usuarios, desde niños pequeños hasta adultos debe ser lo suficientemente navegable para que sea fácil encontrar lo que se requiere sin estar batallando con la búsqueda de esto.
Funcionalidad
Se refiere al conjunto de capacidades y características que ofrece la aplicación, lo que esta puede hacer.
Netflix ofrece a los usuarios la facilidad de encontrar el tipo de películas, series caricaturas que desees ordenándolas por géneros, las novedades que hay, según tus gustos mostrándote una vista más personalizada.
Confiabilidad
Se debe evaluar respecto a la frecuencia y gravedad de las fallas, el tiempo que tarda para que ocurra una falla nueva y la capacidad de recuperación ante ésta, contemplando que tan fácil y rápido se soluciona.
Debido a que para el acceso a este servicio se hace uso de la información de la tarjeta de crédito que uses, Netflix debe ser confiable pues de otro modo ocasionaría una gran problema por cargos a cuentas que no sean las correctas
Eficiencia
Se mide con base en la
velocidad con que se puede hacer una tarea, el uso de recursos pues con menos se debe tratar de tener la misma calidad.
No puede tardarse mucho en el tiempo de respuesta al cargar lo que se desea ver, pues al ser consultada por varios usuarios y que principal atractivo sea que puedes ver películas y demás, tiene que actuar con “eficiencia”.
Facilidad de mantenimiento
Se refiere a que tan susceptible es la aplicación de ser corregida, ampliable o adaptable según sea el caso.
La página debe funcionar lo más rápido posible pues si queda mucho tiempo inservible se vería reflejado en la pérdida de clientes.


Como podemos darnos cuenta estas son las principales características que los desarrolladores deben tomar en cuenta para el desarrollo de las aplicaciones web si desean que estas tengan calidad para que así el contenido de estas sea atractivo y llegué una  mayor audiencia.




"Definición de facilidad de mantenimiento" extraído el 29 de abril de 2017 desde la fuente:
http://albertolacalle.com/hci/funcionalidad-usabilidad.htm


"Desarrollo de una aplicación web " extraído el 29 de abril de 2017 desde la fuente: http://bibdigital.epn.edu.ec/bitstream/15000/2158/1/CD-1450%282008-05-21-01-07-04%29.pdf

"Facilidad de uso en sitios web" extraído el 29 de abril de 2017 desde la fuente: 
http://www.visibilidadweb.unam.mx/docs_index/FacilidadDeUso.pdf

"Fiabilidad, disponibilidad y facilidad de mantenimiento (funciones RAS)" extraído el 29 de abril de 2017 desde la fuente: 
https://docs.oracle.com/cd/E19455-01/816-0289-10/6m6pmlk9b/index.html

Pressman, R.. (2010). Conceptos de Diseño. En Ingeniería del Software(p.183). New York: Mc Graw Hill. 

domingo, 9 de abril de 2017

Formulación de Sistemas Basados en Web

La formulación de sistemas y aplicaciones basados en web representa una secuencia de acciones de Ingeniería Web, comienza con la identificación de las necesidades del negocio y de esta manera define las características y funciones ademas de realizar la recopilación de requisitos para al final hacer un modelo de análisis.
Gracias a la formulación es mas sencillo establecer un conjunto de metas en común, entre el cliente y el equipo de ingeniería Web, para la construcción de la WebApp.




Primeramente para iniciar la etapa de formulación se recomienda hacer una serie de preguntas las cuales son:
  • ¿Cuál es la motivación principal para la WebApp?
  • ¿Por qué es necesaria la WebApp?
  • ¿Quién va a utilizar la WebApp?
Ademas se tratan dos categorías de metas en esta etapa:
  • Metas Informativas: indican una intención de proporcionar contenido y/o información específica al usuario final.
  • Metas aplicables: indican la habilidad para realizar alguna tarea dentro de la WebApp.


Después necesitamos trabajar la recopilación de requisitos para WebApps.
En esta parte se tratan algunos objetivos como:
  • Identificar requisitos de contenido.
  • Identificar requisitos funcionales.
  • Definir escenarios de interacción para diferentes de clases de usuarios.
Es por eso que tenemos algunos pasos que seguir para lograr dichos objetivos tales son:
  1. Pedir a los clientes que definan las categorías de usuario y describan cada categoría.
  2. Comunicarse con los clientes para definir los requisitos básicos de la WebApp.
  3. Definir los casos de usuario que describan escenarios de interacción para cada clase de usuario.

Luego de terminar con estas dos etapas debemos seguir con la definición de las categorías de usuario.
La definición de una categoría requiere que primero formulemos un conjunto de preguntas fundamentales como:
  • ¿Cual es el objetivo global del usuario cuando usa la WebApp?
  • ¿Cuáles son los antecedentes y la practica del usuario en relación con el contenido y la funcionalidad de la WebApp?
  • ¿Cómo llegará el usuario a la WebApp?
  • ¿Qué características genéricas de la WebApp le gustan o disgustan al usuario?.
Debemos tener en cuenta que conforme se avanza en la recopilación de requisitos cada diferente clase de usuario debe encuestarse para obtener datos.

Comunicación con los clientes y usuarios finales
Como es de esperarse, la mayoría de las WebApps tiene una amplia población de usuarios finales por lo cual no es recomendables que se emplee información recopilada de una o dos personas como base para la formulación o el análisis, se deben considerar mas puntos de vista.
La comunicación se puede lograr aprovechando alguno de estos mecanismos
  • Grupo muestral tradicional.
  • Grupo muestral electrónico.
  • Entrevistas iterativas.
  • Entrevista de exploración.
  • Construcción de escenarios.

Análisis de la información recopilada
Así como vamos recopilando la información se categoriza en clase usuario y tipo de transacción y luego se valora según su relevancia. El objetivo de realizar esto es desarrollar listas de objetos de contenido, operaciones que aplican a los objetos de contenido dentro de una transacción de usuario específica, requisitos funcionales que aportara la WebApp al usuario final y requisitos no funcionales que sobresalgan en las actividades de comunicación.


Desarrollo de casos de uso.

Los casos de uso tiene la función de describir como se la interacción de la WebApp con una categoría de usuario específica  (llamada actor) y de este modo lograr una acción específica.
Los casos de uso describen la interacción desde el punto de vista del usuario.
  • Proporcionan el detalle necesario para crear un modelo de análisis efectivo.
  • Ayudan a dividir en comportamientos el trabajo de la Iweb
  • Ofrecen una guía importante para quienes deben probar la WebApp




Podemos concluir con que gracias a estas primeras etapas de formulación nos es posible abstraer cual es el negocio, saber de lo que trata pues se analizan a detalle los requisitos específicos de la WebApp que serán modelados a través de los casos de uso y notación UML.






"3.5 Formulación de Sistemas basados en la Web" extraído el 07 de Abril de 2017 desde la fuente: https://sites.google.com/site/talleringesoftware/unidad-3/3-5-formulacion-de-sistemas-basados-en-la-web

"Formulación y planeación para ingeniería Web" extraído el 07 de Abril de 2017 desde la fuente: http://dianaelizabethceliyaguachi.blogspot.mx/

"Formulación y planeación para ingeniería Web" extraído el 07 de Abril de 2017 desde la fuente: https://es.slideshare.net/dfcelix/exp-ingenieria-web

"Ingeniería Web" extraído el 07 de Abril de 2017 desde la fuente:http://navabautista.wikispaces.com/file/view/Wiki.pdf






miércoles, 5 de abril de 2017

MEJORES PRACTICA DE LA INGENIERÍA WEB

La Ingeniería Web es un proceso utilizado para crear , implantar y mantener aplicaciones y sistemas web de alta calidad. Es por eso que para la construcción de estas aplicaciones web se debe aplicar un conjunto de buenas practicas en donde se toman en cuenta los modelos que expone la ingeniería de software.

Algunos ejemplos de estas buenas practicas son:


  • Describir cómo interactuarán los usuarios con la WebApp aplicando un enfoque basado en escenarios.
  • Revisar la consistencia y calidad de los modelos.
  • Utilizar herramientas y tecnología que permitan construir el sistema con tantos componentes reutilizables.
  • No apoyarse en usuarios anteriores para depurar la WebApp pues estarán acostumbrados a la primera versión de la aplicación esperando que funcione de la misma manera
  • Asignar el tiempo necesario para comprender las necesidades del negocio y los objetivos del producto, y colocar especial atención cuando los detalles de las webApps son ligeros, si éstos no  se logran completar el resultado puede ser un buen trabajo técnico pero no ser lo que el usuario precisa
  • .Desarrollar un plan del proyecto, incluso si es muy breve, debe ser exacta, por los plazos cortos, muchas veces el proyecto debe planearse y rastrearse diariamente.
  •  Asignar un tiempo adecuado para el modelado.


Concluyendo con el tema, es necesario que sean  tomadas en cuenta estas "buenas practicas" si es que deseamos que nuestras aplicaciones sean de calidad y sean muy bien acogidas por los usuarios.




García, R.. (2017). GUÍA TÉCNICA DE INGENIERÍA WEB. Abril 5, 2017 Sitio web: http://www.academia.edu/8126688/Gu%C3%ADa_t%C3%A9cnica_de_ingenier%C3%ADa_web

Quelal, B.. (2011). Sistema Web De Información De Pacientes Para La Clínica "Santa Fé". Abril 5, 2017, de Escuela Politécnica Nacional Sitio web: http://bibdigital.epn.edu.ec/bitstream/15000/3879/1/CD-3631.pdf

Pressman, Roger S. Ingeniería del Software. Ed. McGraw Hill. Sexta edición. México. 2005. 

domingo, 2 de abril de 2017

SCRUM

Entre as metodologías ágiles que existen se encuentra una que suele ser muy utilizada la cual es SCRUM.
SCRUM fue desarrollada por Ken Schwaber, Jeff Sutherland y Mike Beedle, Esta especialmente diseñada para proyectos con requisitos que suelen cambiarse de manera rápida. Se caracteriza por realizar el desarrollo de software mediante iteraciones denominadas sprints así como las reuniones a lo largo del proyecto para la coordinación e integración del trabajo. 
También se utiliza cuando no se entrega al cliente lo que necesita en tiempo y forma así como cuando los costes se disparan o la calidad no es la que se esperaba.  


Teniendo esto en claro podemos proseguir para definir como es el proceso que se lleva a cabo en SCRUM



Primeramente se hacen las historias de usuario, que ne base a ellas se realizará el Product Backlog donde se priorizara que se hará primero con el fin de tener un objetivo para el Sprint.
Después se encuentra la planificación donde se decidirá como alcanzar el objetivo del Sprint para así después crear el Sprint Backlog el cual se basara en el Product Backlog, 
en este se identifican las tareas a realizar ademas de darles una estimación (1-16 horas)

Seguidamente se hacen las reuniones diarias las cuales no pueden durar mas de 15 minutos y sirven para ver el avance por equipo, en estas reuniones solo pueden hablar los miembros del equipo, ScrumMaster y Product Owner. Es así que luego viene el Sprint Review en donde el equipo presenta lo realizado durante el Sprint y todo el equipo participa.

Finalmente se hace el Sprint retrospective en donde se revisa que es lo que funciona y no, lo que se va a seguir haciendo así como lo que se va a dejar de hacer. Se realiza después de cada Sprint, todo el equipo participa y dura de 15 a 30 minutos.
 
Cabe resaltar que la duración de los Sprint suele ser de 2 a 4 semanas y no hay cambios en estos.


Podemos concluir que Scrum se centra más en la funcionalidad del sistema, va más orientado a lo que viene siendo la administración del proyecto además de que durante el proceso aunque se tata de seguir el orden de las iteraciones según como las priorizó el Product owner, si el equipo de trabajo se da cuenta que es mejor modificar el orden lo harán para avanzar en el proyecto.

Grafeuille, E. (2008) Una Introducción a Scrum [Diapositivas PowerPoint] Febrero 25, 2017 Sitio Web: https://www.mountaingoatsoftware.com/.../Spanish-Redistributable-Intro-Scrum.ppt

“¿Qué es Scrum?” extraído el 25 de Febrero de 2017 desde la fuente https://proyectosagiles.org/que-es-scrum/

Letelier, P., Sánchez,E.. (2003). Metodologías Ágiles en el Desarrollo de Software. [PDF File] Febrero 25, 2017, de Grupo ISSI Sitio web: http://issi.dsic.upv.es/archives/f-1069167248521/actas.pdf

WEBAPP

Para empezar a explicar lo que son las WebApps debemos entender lo que es la Ingeniería Web.

Con el gran desarrollo de Internet, la mayoria de proyectos y sistemas estan enfocados para las aplicaciones basadas en la Web(WebApps). Es por que se introduce el concepto de Ingeniería Web que es un proceso utilizado para crear, implantar y mantener aplicaciones y sistemas web de alta calidad.

Es así que podemos definir la WebApp como una aplicación que tiene lugar en el navegador web, pues puede ser visualizada en cualquier dispositivo movil, pues funcionan en todos los sistemas operativos y terminales que cuentan con los navegadores web que las soportan (en general todos los navegadores actuales).


Teniendo en claro esos 2 conceptos podemos comenzar por explicar los atributos de la WebApp

WEBAPPS
Atributos
Definición
Ejemplo (Netflix)
Intensidad de la red
Las aplicaciones Web residen en una red y debe satisfacer las necesidades de una variada comunidad de clientes, por lo que puede permitir una comunicación mundial.
Netflix es un claro ejemplo que muestra este atributo pues varios clientes hacen uso de esta aplicación.
Concurrencia
Un gran número de usuarios puede tener acceso a la WebApp al mismo tiempo.
Diferentes usuarios pueden tener acceso a la aplicación, al estar viendo películas, series, entre otras cosas  al mismo tiempo.
Carga impredecible
Se refiere a que la carga de estas aplicaciones puede variar debido al número de usuarios que accedan, pues un día puede haber más visitantes y otros no tanto.
Debido a que el mismo número de usuarios es igual todos los días a veces la carga de las películas o series es más rápida.
Desempeño
Si un usuario espera demasiado para que se despliegue la información que requiere, propiciará a que se vaya a cualquier otra parte.
El desempeño de la aplicación es bastante bueno pues es rápido y no te distraes con cualquier cosa.
Disponibilidad
Algunos usuarios demandan disponibilidad para accesos a la WebApp
La disponibilidad que presenta dicha aplicación podría decirse que puede hacer a través de una PC o como es debido a través de un móvil
Gobernada por los datos
Se refiere al uso de hipermedia para presentar contenidos de texto, gráficos, audio, video al usuario final.
Esta aplicación es un claro ejemplo al mostrar audio y video pues es una aplicación que tiene películas, series, etc.
Sensibilidad del contenido
La calidad estética del contenido.
El contenido está organizado de acuerdo al usuario que lo esté viendo (Sea un niño o Adulto).
Evolución Continua
Las aplicaciones Web evolucionan de manera continua. Por lo que su crecimiento debe de realizarse de forma controlada y consistente
Con lo que va de la aplicación esta ha ido evolucionando, esto se puede ver por las actualizaciones que se tiene respecto al contenido.
Inmediatez
La WebApp debe estar en el momento en que la requieran los usuarios. El tiempo que se tarda en comercializar un sitio Web completo puede ser cuestión de días o semanas.
La manera de navegar y cargar los contenidos es bastante veloz y es muy comercializable por  lo que encuentras en esta aplicación.
Seguridad
Se deben de implementar fuertes medidas de seguridad a lo largo de la infraestructura que sustenta una WebApp para proteger la confidencialidad de los datos.
La seguridad de la aplicación se basa en un usuario y una contraseña pero aun así le falta un poco más de seguridad.
Estética
La WebApp debe contar indudablemente con una buena presentación y buena disponibilidad de sus elementos.
La interfaz con la que cuenta Netflix es un tanto sencilla pero fácil de navegar en ella por la disponibilidad de sus elementos.

Otro punto que debemos saber son las categorías en las que se dividen las WebApps

Categorías
Definición
Ejemplo
Informativa
Se proporciona un contenido solo de lectura con navegación y enlaces simples.
http://www.excelsior.com.mx/
Permite al usuario consultar noticias.
De descarga
Un usuario descarga la información desde el servidor apropiado.
http://www.youtube-mp3.org/
Permite al usuario descargar música 
De entrada del usuario
El usuario personaliza el contenido a sus necesidades específicas.
https://www.blogger.com/
Permite al usuario crear
su propio blog a su gusto.


De interacción
La comunicación entre una comunidad de usuarios ocurre mediante un espacio chat (charla), tablones de anuncios o mensajería instantánea; entrada del usuario: la entrada basada en formularios es el mecanismo primario de la necesidad de comunicación.
www.elforo.com/

Permite la comunicación de
diferentes usuarios mediante
comentarios o mensajes para
resolver dudas.




Orientada a Servicios
Aplicación  proporciona un servicio al usuario, por ejemplo, ayuda al usuario a determinar un pago de hipoteca.
http://www.mitareanet.com/ayutar.htm
Ayuda a los usuarios con tareas
escolares.
Orientada a transacciones
El usuario hace una solicitud (por ejemplo, la realización un pedido) que es cumplimentado por la WebApp;
www.ticketmaster.com.mx/

Permite al usuario comprar
boletos.
De portal
La aplicación canaliza al usuario llevándolo a otros contenidos o servicios Web fuera del dominio de la aplicación del portal.

https://www.trivago.com.mx/

Permite al usuario comparar
hoteles de diferentes lugares 
llevándolos a las respectivas 
paginas de los hoteles.
De acceso a base de datos
El usuario consulta en una base de datos grande y extrae información.
https://consultas.curp.gob.mx/ 
permite consultar la información 
de una persona introduciendo la CURP.
De almacenamiento de datos.
Permite al usuario consultar una conexión a base de datos para almacenar información.
https://mega.nz/
Permite al usuario almacenar información que después le 
es posible consultar.

Podemos concluir que hoy en día son mas utilizadas las WebApps y que quizás la mayoría de lo que usamos en la actualidad son WebApps aunque ni siquiera sabíamos en que clasificación entraba o mucho menos que características debían de cumplir. Por eso mismo ahora somos consientes de los requisitos que se deben cumplir y como es que funcionan estas aplicaciones.





Palacios, I.. (2016). Los Atributos de Aplicaciones Basadas en WEB.. Marzo 31, 2017  Sitio web: https://sites.google.com/site/talleringenieriasoftwareivan/unidad---uno/3-1-atributos-de-los-sistemas-y-aplicaciones-basados-en-web

1&1 Digital Guide. (2016). Conceptos básicos: definición de web app y ejemplos. Marzo 31, 2017  Sitio web: https://www.1and1.mx/digitalguide/paginas-web/desarrollo-web/que-es-una-web-app-y-que-clases-hay/

Ferreira, R.. (2016). “Atributos de aplicaciones basadas en WEB”. Marzo 31, 2017
Sitio web: “http://www.xumarhu.net/isw_1_1_atributos_de_aplicaciones_basadas_en_web.pdf”

"Atributos de las webapps", extraído el 1 de abril de 2017 desde la fuente:
https://es.scribd.com/document/63602470/Atributos-de-Web-App