marco teorico - jjvillavicencio/historias-clinicas-iess-loja GitHub Wiki

Marco Teórico

  1. Home
  2. Tema
  3. Objetivos
  4. Marco Teórico
  1. Descripción del problema
  2. Modelado de la base de datos
  3. Construcción de la Aplicación
  4. Conclusiones
  5. Recomendaciones
  6. Bibliografía
  7. Anexos

Para la realización del siguiente proyecto se utilizaron varias tecnologías aprendidas a lo largo del curso:

PostgreSQL

[Arriba]

PostgreSQL es un Sistema de gestión de bases de datos relacional orientado a objetos y libre, publicado bajo la licencia PosgreSQL, similar a la BSD o la MIT.

Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyados por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).

Características Algunas de sus principales características son, entre otra:

  • Alta concurrencia Mediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés) PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos. Cada usuario obtiene una visión consistente de lo último a lo que se le hizo commit. Esta estrategia es superior al uso de bloqueos por tabla o por filas común en otras bases, eliminando la necesidad del uso de bloqueos explícitos.

  • Amplia variedad de tipos nativos PostgreSQL provee nativamente soporte para:

  • Números de precisión arbitraria.
  • Texto de largo ilimitado.
  • Figuras geométricas (con una variedad de funciones asociadas).
  • Direcciones IP (IPv4 e IPv6).
  • Bloques de direcciones estilo CIDR.
  • Direcciones MAC.
  • Arrays.

Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que pueden ser por completo indexables gracias a la infraestructura GiST de PostgreSQL. Algunos ejemplos son los tipos de datos GIS creados por el proyecto PostGIS.

Django

[Arriba]

Django es un framework de desarrollo web de código abierto, escrito en Python, que respeta el patrón de diseño conocido como Modelo–vista–controlador. Fue desarrollado en origen para gestionar varias páginas orientadas a noticias de la World Company de Lawrence, Kansas, y fue liberada al público bajo una licencia BSD en julio de 2005. La meta fundamental de Django es facilitar la creación de sitios web complejos. Django pone énfasis en el re-uso, la conectividad y extensibilidad de componentes, el desarrollo rápido y el principio No te repitas (DRY, del inglés Don't Repeat Yourself). Python es usado en todas las partes del framework, incluso en configuraciones, archivos, y en los modelos de datos.

  • Arquitectura Aunque Django está fuertemente inspirado en la filosofía de desarrollo Modelo Vista Controlador, sus desarrolladores declaran públicamente que no se sienten especialmente atados a observar estrictamente ningún paradigma particular, y en cambio prefieren hacer "lo que les parece correcto".

  • Características:

  • Un mapeador objeto-relacional.
  • Aplicaciones "enchufables" que pueden instalarse en cualquier página gestionada con Django.
  • Una API de base de datos robusta.
  • Un sistema incorporado de "vistas genéricas" que ahorra tener que escribir la lógica de ciertas tareas comunes.
  • Un sistema extensible de plantillas basado en etiquetas, con herencia de plantillas.
  • Un despachador de URLs basado en expresiones regulares.
  • Un sistema "middleware" para desarrollar características adicionales.
  • Soporte de internacionalización, incluyendo traducciones incorporadas de la interfaz de administración.

Html con Bootstrap

[Arriba] HTML, sigla en inglés de HyperText Markup Language (lenguaje de marcas de hipertexto), hace referencia al lenguaje de marcado para la elaboración de páginas web. Es un estándar que sirve de referencia del software que conecta con la elaboración de páginas web en sus diferentes versiones, define una estructura básica y un código (denominado código HTML) para la definición de contenido de una página web, como texto, imágenes, videos, juegos, entre otros. Es un estándar a cargo del World Wide Web Consortium (W3C) o Consorcio WWW, organización dedicada a la estandarización de casi todas las tecnologías ligadas a la web, sobre todo en lo referente a su escritura e interpretación. Se considera el lenguaje web más importante siendo su invención crucial en la aparición, desarrollo y expansión de la World Wide Web (WWW). Es el estándar que se ha impuesto en la visualización de páginas web y es el que todos los navegadores actuales han adoptado.

El lenguaje HTML basa su filosofía de desarrollo en la diferenciación. Para añadir un elemento externo a la página (imagen, vídeo, script, entre otros.), este no se incrusta directamente en el código de la página, sino que se hace una referencia a la ubicación de dicho elemento mediante texto. De este modo, la página web contiene solamente texto mientras que recae en el navegador web (interpretador del código) la tarea de unir todos los elementos y visualizar la página final. Al ser un estándar, HTML busca ser un lenguaje que permita que cualquier página web escrita en una determinada versión, pueda ser interpretada de la misma forma (estándar) por cualquier navegador web actualizado.

Bootstrap, es un framework originalmente creado por Twitter, que permite crear interfaces web con CSS y JavaScript, cuya particularidad es la de adaptar la interfaz del sitio web al tamaño del dispositivo en que se visualice. Es decir, el sitio web se adapta automáticamente al tamaño de una PC, una Tablet u otro dispositivo. Esta técnica de diseño y desarrollo se conoce como “responsive design” o diseño adaptativo.

El beneficio de usar responsive design en un sitio web, es principalmente que el sitio web se adapta automáticamente al dispositivo desde donde se acceda. Lo que se usa con más frecuencia, y que a mi opinión personal me gusta más, es el uso de media queries, que es un módulo de CSS3 que permite la representación de contenido para adaptarse a condiciones como la resolución de la pantalla y si trabajás las dimensiones de tu contenido en porcentajes, puedes tener una web muy fluida capaz de adaptarse a casi cualquier tamaño de forma automática.

Google Maps

[Arriba]

Google Maps es un servidor de aplicaciones de mapas en la web que pertenece a Alphabet Inc. Ofrece imágenes de mapas desplazables, así como fotografías por satélite del mundo e incluso la ruta entre diferentes ubicaciones o imágenes a pie de calle con Google Street View.

Existe una variante a nivel entorno de escritorio llamada Google Earth que ofrece Alphabet Inc. también de forma gratuita. En 2014, los documentos filtrados por Edward Snowden revelaron que Google Maps es parte y víctima del entramado de vigilancia mundial operado por varias agencias de inteligencia occidentales y empresas tecnológicas.

Google Maps ofrece la capacidad de realizar acercamientos y alejamientos para mostrar el mapa. El usuario puede controlar el mapa con el mouse o las teclas de dirección para moverse a la ubicación que se desee. Para permitir un movimiento más rápido, las teclas "+" y "-" pueden ser usadas para controlar el nivel de zoom. Los usuarios pueden ingresar una dirección, una intersección o un área en general para buscar en el mapa.

Los resultados de la búsqueda pueden ser restringidos a una zona, gracias a Google Local. Por ejemplo, si alguien quiere consultar por "Waffles in Ottawa" (en español, gofres en Ottawa) para encontrar restaurantes que sirven ese plato cerca de la ciudad. Las búsquedas pueden encontrar una amplia gama de restaurantes, hoteles, teatros y negocios generales.

Como otros servicios de mapa, Google Maps permite la creación de pasos para llegar a alguna dirección. Esto permite al usuario crear una lista paso a paso para saber cómo llegar a su destino, calculando el tiempo necesario y la distancia recorrida entre las ubicaciones.

Los desarrolladores pueden aplicar nuevas formas de ver el mundo gracias a estas APIS.

HighCharts

[Arriba]

La necesidad de construir gráficas con JavaScript cada día aumenta más y es importante poder elegir un framework sencillo y a la vez potente para poder realizar estas tareas con seguridad. HighCharts es uno de los frameworks más conocidos el sector. Entre sus características principales destacan:

  • Esta creado con JavaScript que es uno de los lenguajes más utilizados por parte de los desarrolladores.
  • La compatibilidad es máxima ya que soporta incluso Explorer 6 adecuándose a todos los navegadores y soportando un fuerte cross browsing.
  • Otra de las cosas que más destaca de HighChart es el amplio soporte de gráficas de todo tipo que tienen permitiéndonos abordar la mayor parte de las casuísticas que nos encontremos.
  • Por último destacar es que un framework muy sencillo de utilizar con el cual el desarrollador en poco tiempo podrá ser productivo.

DataTables

[Arriba]

El objetivo declarado de DataTables es "Para mejorar la accesibilidad de los datos en las tablas HTML". Con el fin de lograr este reconocemos que DataTables tiene dos categorías de usuarios que interactúan con las interfaces de software tiene:

  • Los usuarios finales - los que utilizan la interfaz del navegador que se crea con DataTables
  • Los desarrolladores - a sí mismo y los otros desarrolladores que trabajan con DataTables para crear su aplicaciones, sitios, servicios, etc.

Los usuarios finales tienen que ser capaces de obtener información útil de las tablas lo más rápido posible y para ello DataTables se ha construido en características tales como la solicitud, la búsqueda y la paginación. Su objetivo de asegurar los datos en tablas HTML se puede acceder y se consume lo más rápida y eficientemente como sea posible.