Capítulo 1

Arquitecturas de productos editoriales multimedia

1. Introducción

Dada la naturaleza interactiva de cualquier producto multimedia, las etapas previas de planificación y diseño cobran una importancia crucial para el buen desarrollo y resultado del proyecto al que se dirijan.

Por otro lado, podría estimarse que el mercado editorial dedicado a lo multimedia enfoca, generalmente, sus productos a un público amplio donde la naturaleza y la proximidad con las nuevas tecnologías del usuario final pueden ser muy diversas. Esta circunstancia, junto con la diversidad de plataformas actuales (ordenadores domésticos, portátiles, tablets, smartphones, etc.), hace que el desarrollo multimedia se enfrente con un abanico de retos, tanto de usabilidad como de hardware que pocas aplicaciones informáticas han sufrido hasta la fecha.

A todo esto hay que añadir, además, la fuerte vinculación que los productos multimedia actuales tienen con el uso de redes como Internet para mantener una constante actualización de sus datos y sus contenidos, puesto que un usuario que ya está acostumbrado a una continua actividad online a través de webs o redes sociales, dificultosamente acepta un producto multimedia cuyo contenido quede desfasado pronto.

En este sentido, unas nociones claras de en qué consiste un producto multimedia y cómo está compuesto permitirán un mejor acercamiento a la necesaria estructuración del producto.

2. Definición de arquitectura de un producto editorial multimedia

Se conoce como producto multimedia a aquel compuesto por la suma de varios medios de expresión —como pueden ser el texto tradicional, la imagen o el sonido— bajo un modelo de integración de todos ellos que permita el transmitir información. A partir de este presupuesto, hay que añadir que los niveles de complejidad o los elementos que integran ese multimedia pueden ser muy distintos y cambiantes según las necesidades del producto que se desea obtener o de la tecnología disponible en el momento de su desarrollo. Así pues, la integración de secuencias animadas o vídeo ha ido ganando presencia, por ejemplo, a medida que tales elementos resultaban más manejables, tanto para los diseñadores como para la potencia de procesado del hardware donde se pensara utilizar.

Al añadir el adjetivo editorial se alude a un planteamiento del producto donde en su concepción, desarrollo, finalización, distribución y, si cabe, financiación y comercialización aparece la figura de un editor, definido este como el coordinador de los distintos procesos necesarios para la obtención de la obra terminada.

Image

Actividades

1. Mencione tres productos editoriales multimedia dirigidos al ámbito doméstico. Un ejemplo puede ser un curso de cocina con vídeo tutoriales.

3. Estructura de los datos y la información a tratar

Gran parte del éxito en un producto multimedia depende de cómo se dispongan los datos que conformarán la información que se quiere transmitir al usuario final. Esa manera de ordenar dicha información permitirá realizar una catalogación de los proyectos multimedia.

3.1. Proyectos lineales y multimedia de baja complejidad

Su característica principal es que la estructura interna del producto solo permite al usuario un acceso horizontal a los datos contenidos, del mismo modo que se puede hacer en un libro tradicional. Esto es, se puede avanzar en su lectura o se puede volver atrás para leer de nuevo alguna página, pero no permite otras formas de navegación. Es una buena manera de mostrar información si se desea que el lector haya pasado previamente por un contenido concreto que ha de conocer antes de pasar al siguiente y comprenderlo, tal como ocurriría en un entorno educativo, por ejemplo. Los juguetes infantiles dirigidos a niños muy pequeños suelen presentar estas características de arquitectura lineal y de baja complejidad.

image

Los juguetes interactivos suelen presentar arquitecturas lineales (© Fotografía: Bill Bertram, vía web-CC BY-SA 2.5).

3.2. Proyectos multimedia complejos

En este tipo de proyectos la complejidad viene dada porque el usuario puede acceder a contenidos diversos sin necesidad de seguir un proceso lineal, como ocurría en el caso anterior.

Los proyectos multimedia complejos suelen presentar una jerarquía por niveles que pueden incluso mostrarse al usuario en forma de mapa de navegación y contenidos. Este modelo de estructuración compleja exige del usuario una familiaridad previa con modelos hipertextuales e iconos de navegación estandarizados. No solo están presentes estos modelos de arquitectura compleja en los ordenadores, sino en dispositivos tan usuales como el sistema de audio de un coche.

image

Arquitectura compleja de diseño multimedia en un autorradio (© Fotografía: UVOwiki vía web-CC BY-SA 3.0)

Image

Actividades

2. Durante el diseño de un juguete con capacidad multimedia dirigida a niños de entre tres y cinco años, el equipo desarrollador debe decidir si aborda un proyecto lineal o un modelo más complejo. ¿Qué estructura es la más indicada si el juguete pretende enseñar a contar hasta diez y luego hasta veinte?

3.3. Proyectos online y offline

El hecho de que los contenidos que recibe un usuario se encuentren almacenados en el propio dispositivo que maneja (offline) o disponibles mediante una conexión de red (online) —ya sea local o una red como Internet— constituye una gran diferencia de modelos de desarrollo, puesto que la capacidad de almacenamiento de los dispositivos locales o la capacidad de transmisión de la red influirán decisivamente en, por ejemplo, el tipo de formatos de imagen fija o vídeo que se utilice o el tamaño de los ficheros.

image

La empresa UpsideLearning ofrece proyectos de enseñanza online para dispositivos móviles.

3.4. Proyectos interactivos

Para esta tipología de proyectos, la capacidad del usuario final de establecer una comunicación donde la respuesta del software viene condicionada por la interacción humana determina la estructura y la programación del producto. Los contenidos, pues, se mostrarán a demanda de la actuación y el interés del usuario.

Image

Nota

El hecho de que un proyecto sea online implica que el canal de transmisión de datos habrá de ser tenido en cuenta a efecto del tamaño de los ficheros utilizados.

3.5. Proyectos para plataformas móviles

Representan una amplia variedad dado que comprenden desde teléfonos móviles hasta tablets pasando por ordenadores portátiles, receptores de GPS o incluso libros electrónicos. Habitualmente, este tipo de plataformas añaden a su funcionalidad la capacidad de interconexión a través de redes inalámbricas. Elementos como el tamaño de los ficheros, los entornos de programación, la ergonomía o los sistemas operativos que tales dispositivos ejecuten, influirán en gran medida en la rapidez, el éxito y la efectividad de estas plataformas móviles.

image

Un ejemplo de plataforma móvil multimedia: un GPS con conexión a Internet

Image

Actividades

3. Esboce brevemente dos proyectos multimedia que requieran una estructura lineal de baja complejidad y otro que requiera de un diseño complejo.

4. Estructura y selección del software a utilizar

A la hora de abordar las herramientas con las que se diseñarán los productos multimedia habrán de tenerse en cuenta numerosas variantes que pueden ir desde el dispositivo donde va a ser mostrado ese producto hasta el hardware que se empleará para su desarrollo.

Sin embargo, se podría establecer una primera división prácticamente de carácter legal que ayudará a elegir un software de producción u otro para, por tanto, ser más capaces de planificar y presupuestar los trabajos. Dependiendo del modelo de distribución y uso del software elegido por parte de sus desarrolladores originales, se estará ante un modelo de software propietario o ante un modelo de código abierto.

4.1. Software propietario

En una definición simple, se podría decir que el software propietario es aquel cuyo desarrollador, es decir, la persona física o jurídica que lo produjo, sigue detentando un control sobre su distribución, modificación o uso y obteniendo una rentabilidad final, habitualmente mediante la venta de licencias, de su producto. Esta dependencia puede afectar a casi toda la vida de dicho producto, ya que este modelo legal de software puede modificar o incluso hacer desaparecer elementos integrantes de un proyecto según las estrategias de mercado de las compañías que ostenten los derechos sobre, por ejemplo, formatos de fichero.

Son software propietario gran parte de las aplicaciones que estamos acostumbrados a ver en sistemas operativos comerciales como Microsoft Windows o Unix, entre otros. Dentro del software de desarrollo multimedia, un buen ejemplo de una aplicación englobable dentro del concepto de software propietario podría ser Adobe Director, dirigido a la creación de ejecutables multimedia y cuyos derechos de autor, distribución y uso recaen en la conocida empresa Adobe System Incorporated.

image

Adobe Director es todo un clásico en la creación de multimedia.

Image

Importante

Será necesario valorar si el proyecto multimedia puede ser desarrollado con formatos abiertos o propietarios, ya que estos marcarán la dependencia de terceras empresas para sus actualizaciones posteriores.

4.2. Freeware, software de código abierto

Se podría definir el software libre como aquel que, dependiendo del modelo de licencia bajo el que se difunda, permite su distribución sin limitaciones, su uso gratuito o incluso la modificación de su código fuente. Aunque no tiene que ser así, lo más habitual es que no sea necesario adquirir una licencia al desarrollador o desarrolladores originales para poder utilizarlo.

Esta gratuidad y accesibilidad lo convierten en el modelo de software más idóneo para escenarios donde el coste puede afectar tanto al desarrollo de aplicaciones como a su posible distribución por los pocos recursos económicos de sus usuarios. En muchos países en vías de desarrollo o subdesarrollados, el modelo de software libre está permitiendo que sus ciudadanos tengan un acceso a las nuevas tecnologías que sería del todo imposible si dependieran de la adquisición de productos dentro del mercado convencional del software propietario.

En la actualidad, dentro del movimiento open source, es sencillo encontrar aplicaciones alternativas a las de software propietario y prácticamente con las mismas funcionalidades. Así pues, una posible vía open source si se quiere usar un software de edición de imágenes fijas es optar por GIMP, un programa de código libre, distribución gratuita y en el que incluso se tiene la posibilidad de modificar algún aspecto de su programación para que realice tareas que convengan al proyecto multimedia.

image

GIMP es un excelente programa de código libre para el procesado de imágenes

Image

Aplicación práctica

Una ONG quiere desarrollar un producto multimedia para ordenadores personales que combine vídeos y animaciones pero que no contenga ningún idioma concreto, puesto que se distribuirá en muchos países diferentes del tercer mundo. El producto trata de los cuidados básicos de higiene del recién nacido y una de las exigencias de la ONG es que este software debe tener la máxima capacidad de distribución posible sin incurrir en problema legales de licencias.

¿Qué consejos podría darle para cumplir estos objetivos?

SOLUCIÓN

El software de código abierto es la clave bajo la que se planteará el producto. El uso de código abierto permite un marco legal donde no se encontrarán limitaciones de mercado impuestas por estrategias comerciales de las grandes compañías de software. Además, este uso de software libre asegura una libre distribución sin peligro de cometer ningún delito de copia ilegal sea cual sea la legislación del país donde se emplee.

5. Tipología y descripción de los equipos de producción y de usuario

Se puede establecer que el equipo de desarrollo básico y más habitual para la producción multimedia es el llamado ordenador personal, ya sea con una configuración de PC clónico o un modelo de los comercializados por la empresa Apple. También, dependiendo de la potencia de proceso requerida, se podrá optar por otros equipos comerciales de alto rendimiento como los ofrecidos por compañías como SGI (Silicon Graphics International). Esta amplia gama de ordenadores, con su correspondiente software, permitirá llevar a cabo todo tipo de producción multimedia y dirigirla al dispositivo final deseado.

Proyectos lineales y multimedia de baja complejidad

El hardware requerido para una estructura lineal de la información servida no precisa, salvo que maneje ficheros de gran tamaño, una potencia de proceso alta. Desde ordenadores domésticos hasta ordenadores dedicados (esto es, modelos muy básicos como pueden ser cajeros automáticos de banco) son susceptibles de ser utilizados con este fin.

Proyectos multimedia complejos

Una estructura de contenidos multimedia con una interfaz compleja suele requerir grandes potencias tanto de almacenamiento como de capacidad de proceso, aparte de un sistema de gráficos —como puede ser un monitor— que permita una calidad de visualización óptima.

Proyectos online y offline

En el caso de proyectos online, el elemento más importante a tener en cuenta es el método de conexión utilizado; mediante cable o por red inalámbrica, los diferentes protocolos de conexión disponibles y el hardware de red empleado determinarán los equipos que servirán para mostrar contenidos multimedia.

Proyectos interactivos

El proceso de interacción y cómo se produce esa interacción (por botones, por teclados, a través de un mouse, mediante un joystick, trackball, etc.) serán los elementos determinantes del modelo de ordenador que se disponga para la visualización de contenidos dirigida al usuario final.

Image

Actividades

4. Es siempre necesaria una alta capacidad de proceso en un dispositivo para ejecutar un proyecto de software multimedia?

Proyectos para plataformas móviles

La multiplicidad de plataformas móviles actuales (tablets, smartphones, e-readers, etc.) y sus diferentes sistemas operativos o configuraciones hacen prácticamente ilimitadas las posibilidades de estos dispositivos, siendo la conectividad un punto crucial a la hora de evaluar su uso para un proyecto.

Proyectos para pantallas táctiles

Criterios como la usabilidad o la ergonomía son piezas clave en estos dispositivos. La claridad de operación a la hora de ofrecer una interfaz a un usuario y tener en cuenta cómo tal usuario interactúa con la pantalla son la base para este tipo de hardware; no es lo mismo el diseño que se ha de emplear para la interfaz que vaya a ser usada por adolescentes que la interfaz que vaya a ser empleada por ancianos, por ejemplo, donde se necesitarían botones muy visibles, grandes y reconocibles. Dependiendo del entorno de uso se establecerá también la idoneidad de emplear pantallas resistivas, de mejor resultado en ambientes con polvo o suciedad como entornos industriales, o capacitivas, más indicadas para mayores necesidades de resolución gráfica o para propósitos generales.

Image

Nota

En un proyecto para pantallas táctiles es importante adaptar el hardware y el software al entorno físico donde se usará el dispositivo.

Image

Aplicación práctica

Una empresa de telefonía decide introducir en el mercado una tablet dirigida a ancianos que interactuará con un router inalámbrico instalado en sus domicilios. La tablet deberá proporcionar a estos usuarios videollamadas fáciles a cuatro números telefónicos prefijados, un sistema de slide-show de fotos cargadas remotamente en Internet por familiares, el acceso a una web que permite visualizar vídeos sobre temas de salud y un botón de aviso para emergencias médicas que conecta rápidamente al anciano con el sistema público de urgencias sanitarias y facilita el envío de asistencia inmediata.

¿Qué tipo de proyecto sería el más adecuado para esta aplicación?

SOLUCIÓN

Se debería optar por un proyecto multimedia online, ya que se conecta a Internet, que fuera interactivo, pero con un modelo lineal y de baja complejidad puesto que su público objetivo no está familiarizado con el uso de ordenadores. Tanto la capacidad visual del anciano, su memoria, como su habilidad táctil también deben considerarse cuando se diseñe el proyecto, habiéndose de basar muchos de los botones de la pantalla en imágenes fotográficas relativamente grandes.

6. Clasificación del producto por su entorno de utilización, tecnológico y de consumo

Aspectos como el ambiente de trabajo, el tipo de dispositivo donde se ejecutará o cuál es mercado final de un producto multimedia obligan a establecer numerosas premisas que harán decantarse por una u otra metodología de trabajo y de herramientas cuando se inicien las fases de diseño y desarrollo de un producto dado. Conocer estos dispositivos permitirá resultados más óptimos en rendimiento, ergonomía y usabilidad.

6.1. Monopuesto (CD-ROM, DVD, USB, HD móvil, etc.)

Son, quizá, los entornos más clásicos hacia donde se ha dirigido el software multimedia casi desde sus inicios. Desde un punto de vista netamente editorial, el mercado doméstico de los PC monopuesto constituyó el target de muchos productos multimedia que abarcaban desde enciclopedias hasta software educativo.

En la actualidad, aunque algunos de estos soportes como el CD-ROM o el DVD van perdiendo su cuota de mercado frente a productos de más capacidad como el Blu-ray, los pendrives o las unidades de estado sólido —la alternativa a los tradicionales discos duros del ordenador—, no han desaparecido y aún mantienen su nicho e incluso marcan necesidades de compatibilidad regresiva en los más modernos dispositivos de reproducción: por ejemplo, muchas de las actuales unidades lectoras de Blu-ray son capaces de leer los antiguos formatos de CD-ROM.

Como denominador común, sería posible establecer que, independientemente de su vigencia, todos estos dispositivos son tan solo de almacenamiento, sin que puedan ejecutar ningún fichero si no son conectados a otro dispositivo con capacidad de proceso como un ordenador o una tablet.

6.2. En red (intranet, Internet)

El rasgo de si va a ser ejecutado remotamente un producto multimedia sirviéndose de una estructura servidor-thin client —como se ve a veces en los sistemas de información al visitante de los museos—, o si se va ejecutar localmente tras recibir los ficheros a través de una red, cableada o inalámbrica, también determina el tipo de software y qué tipo de ficheros finalmente se usarán. En este caso, el tamaño de los archivos transmitidos y el tipo de protocolos de red que se empleen tendrán una gran influencia en el rendimiento del producto multimedia en cuestión.

Image

Actividades

5. Mencione tres modelos de red inalámbrica que usen dispositivos móviles. Un ejemplo pueden ser las redes de telefonía 4G.

6.3. Computadora/ordenador estacionario o portátil

A efectos de ejecución de software, la oposición entre PC estacionarios comunes o de sobremesa y portátiles es escasa, ya que en la actualidad tanto su potencia de proceso como su capacidad de almacenamiento es muy alta. Por otro lado, ambas modalidades de dispositivo pueden basar su funcionamiento en los mismos sistemas operativos sin que haya problemas reseñables de codecs en ninguna de las dos plataformas que pudieran hacer una u otra más propicia para productos multimedia.

Sin embargo, existe un elemento que sí debe ser considerado para el caso de los ordenadores portátiles. La mayoría del software editorial multimedia suele realizarse con un gran despliegue de capacidades gráficas, algo que, aun con las tarjetas y las pantallas gráficas más avanzadas, exige una capacidad de proceso alta con el consumo de energía que tal necesidad conlleva. Dado que las baterías de los portátiles son, por definición, limitadas e implican un tiempo de funcionamiento concreto, los productos multimedia dirigidos a ser mayoritariamente ejecutados en portátiles deberán tener en cuenta un uso racional y conservador de la energía.

image

El ordenador portátil va perdiendo terreno frente a la tablet (© Fotografía: Aka, vía web-CC BY-SA 2.5).

6.4. Móvil/PDA/smartphone/pantalla táctil

Dos son los elementos que un producto multimedia habrá de cuidar si este tipo de dispositivos son su marco de ejecución final. Por un lado, son tecnologías muy centradas en la recepción y la transmisión de datos, convirtiéndose en crucial un tamaño de fichero adecuado para el modelo de red que se emplee. Por otro lado, el método de entrada más común en la actualidad para estos dispositivos suele ser la pantalla táctil. Este elemento lleva implícita una serie de normas de usabilidad que difícilmente pueden ser obviadas: diseños intuitivos, alta capacidad de navegabilidad y botoneras adaptadas para ser usadas con un stylus o con los dedos.

image

La empresa Palm fue de las primeras en popularizar las agendas electrónicas.

En este sentido, el tamaño de los elementos que puedan ser considerados como un mecanismo de interacción (un icono o una imagen) habrá de atenerse a unos tamaños prácticamente estandarizados ya en muchos dispositivos y entornos; en el sistema operativo Android, por ejemplo, se aconseja en su guía para desarrolladores de aplicaciones que el módulo base debe ser de cuarenta y ocho dp (density-independent pixels), equivalentes a unos nueve milímetros y que aseguran una correcta usabilidad con el dedo.

Image

Importante

En dispositivos móviles, los proyectos multimedia han de tener en cuenta el consumo de batería que provocarían por un uso excesivo de proceso.

6.5. Lector de libro digital

El libro digital es un dispositivo de características muy especiales, ya que muchos de ellos son propietarios tanto en sus aspectos de hardware como de software. Esto implica que, en numerosas ocasiones, cualquier aplicación que vaya a desarrollarse para estos dispositivos ha de contar con la aprobación de la empresa propietaria, tanto del aparato como de los formatos de ficheros que emplee.

Hay que tener en cuenta también que los libros digitales más eficientes se basan en una tecnología de tinta electrónica cuya capacidad de reproducción multimedia es muy escasa, ya que solo pueden reproducir escalas de grises y no color. En otros libros electrónicos sí se encuentran unas ciertas capacidades multimedia, pero, en puridad, estos dispositivos están más cercanos a las PDA que a los libros electrónicos.

image

El libro electrónico es un dispositivo multimedia cada vez más aceptado.

Quizá el formato más extendido para software —de solo lectura pero con capacidad hipertextual— dirigido a libros electrónicos sea el formato EPUB, que, implementado por el International Digital Publishing Forum (IDPF), es un formato abierto que ha conseguido imponerse a otros formatos propietarios ampliamente utilizados como MOBI, usado en la actualidad por dispositivos de la serie Kindle.

6.6. Videoconsola

Este dispositivo ha evolucionado desde una simple máquina de juego hasta tener capacidades de red o reproducción de todo tipo de formatos de imagen y vídeo.

Tal como ocurre con los libros electrónicos, existe una fuerte protección legal para el desarrollo o la distribución de cualquier modo de software que pueda ser ejecutado en estos dispositivos. Las empresas con los derechos de explotación de este tipo de plataformas suelen proveer al desarrollador de software de una gran y detallada información a través de libros de estilo sobre cuáles son las características, tanto de contenidos como de uso de recursos, que habrá de contemplar todo software que pretenda dirigirse a este mercado.

6.7. Pizarra digital interactiva

Técnicamente, la pizarra digital interactiva no es más que un ordenador asociado a algún tipo de software que permite la visualización a gran escala de lo que bien podría ser mostrado en un monitor convencional. La característica especial es que este dispositivo también lleva una tecnología que permite la interacción con el usuario por medio de estrategias diversas según el tipo de pantalla táctil o proyección.

Un importante punto a considerar es que el gran tamaño de la superficie que utiliza conlleva unos requerimientos altos de resolución en formatos como la imagen fija o el vídeo.

Image

Actividades

6. Un cliente solicita un proyecto multimedia que deberá ejecutarse en una conocida consola de juegos de una multinacional japonesa. ¿Se debe contar con los permisos de esta multinacional?

6.8. Nuevas tendencias

Referente a las nuevas tendencias de los productos multimedia son múltiples los caminos que se abren, desde los llamados wearables (dispositivos integrados en la ropa o en accesorios de vestir) hasta la inclusión de dispositivos multimedia avanzados en automóviles pasando por conceptos como el de realidad aumentada (las famosas gafas de Google, por ejemplo, que añaden información del entorno a nuestra visión). La integración de los contenidos con los modelos organizados bajo el concepto de web 2.0, o la vinculación con las redes sociales y su capacidad de interoperatividad en tiempo real, compondrán muchas de las características de estos productos multimedia del futuro más inmediato.

Image

Importante

Los dispositivos multimedia son un campo en constante cambio ya que van apareciendo en el mercado cada vez más aparatos con capacidad multimedia. Conocer sus prestaciones y el tipo de público al que van dirigidos es esencial a la hora de diseñar nuevas aplicaciones.

7. Estándares de arquitectura

Uno de los elementos más importantes cuando se desarrolla un producto multimedia es integrar dentro de su concepción una serie de criterios que asegure la usabilidad para todo tipo de usuarios, así como que conserve una serie de normalizaciones establecidas por organismos internacionales que afectan tanto a su interconectividad a través de las distintas redes como a su estructura de software o de qué manera se dispone la información que pretende ser mostrada.

Cuando se habla de arquitectura en informática son tres los conceptos que se barajan: la arquitectura del hardware (cómo se estructuran y relacionan los componentes físicos de un ordenador), la arquitectura del software (el modo en que se programa un aplicación y cómo interaccionan entre sí las diferentes partes del código de esa aplicación) y la arquitectura de red, entendida como la forma en que distintos ordenadores se organizan para estar conectados entre ellos, independientemente de que sea una pequeña red de una oficina o todo Internet.

Estas arquitecturas se rigen por un extenso número de regulaciones y normas —los estándares— emitidas por organismos, consorcios y empresas para lograr el mayor grado de compatibilidad. Por ejemplo, el popular tipo de módulos de memoria SDRAM —hoy presente en la mayoría de los ordenadores— fue regulado en sus aspectos físicos (forma, conexiones, tamaños, etc.) por JEDEC (Joint Electron Device Engineering Council), un organismo que aúna en USA a casi la totalidad de fabricantes y empresas de ingeniería electrónica y que establecieron en 1993 los estándares de hardware para ese modelo de módulos de memoria.

Los estándares —que pueden ser, por tanto, de hardware o de software— homogeneizan la estructura de componentes de un ordenador desde múltiples puntos de vista que van desde qué tipo de monitor debe incluir para ser considerado, por ejemplo, un portátil, hasta los tipos de conectores que deben llevar los teléfonos móviles para poder usar unos cascos de audio o conectarle un manos libres para el coche.

Los estándares de arquitectura también son importantes a la hora de definir el software de un dispositivo, ya que ayudan a los equipos de desarrollo a producir aplicaciones que se ajusten a los componentes internos de tal dispositivo aprovechando mejor su potencial y adaptándose al mercado al que se dirijan.

Image

Recuerde

Los estándares en la arquitectura informática facilitan tanto la integración del hardware como del software entre dispositivos, marcas y fabricantes.

8. Arquitecturas de red

Al igual que se habla de arquitectura de ordenador para especificar qué tipología de componentes ha de llevar un PC en sus diferentes configuraciones, también se habla de arquitectura de red para referirse al modelo de comunicación entre ellos que puede formar una serie de dispositivos entre sí para conformar una red.

Con arquitectura de red se engloba desde la parte más física (los ordenadores, las tarjetas de red, los routers, el cableado, etc.) hasta la parte más de programación como pueden ser los protocolos —los estándares— que la red va a utilizar para comunicarse y realizar determinadas tareas. Por ejemplo, existen protocolos para enviar y recibir e-mails, el llamado SMTP (simple mail transfer protocol) o protocolos para visitar páginas web con un navegador, el denominado HTTP (hypertext transfer protocol), entre muchísimos otros. Así, cuando se diseña una red, no hay que reinventar estas especificaciones, sino tan solo seguir estos modelos de arquitecturas y protocolos.

8.1. Separación de funciones. Modularidad

Dado que los cambios y las implementaciones en protocolos o hardware de red pueden ocurrir durante la vida de un proyecto cuando ya esté operativo en un dispositivo concreto, es importante planificar que nuestro producto pueda ser adaptado sin necesidad de que tales alteraciones impliquen un cambio de toda la programación del dispositivo cuando es amoldado a sus clientes finales.

Con este fin suele aplicarse el concepto de separación de funciones y modularidad, ya que permite asignar diversas tareas específicas a estructuras independientes —los módulos— dentro de una programación general. Este planteamiento asegura la posibilidad de cambios y actualizaciones de hardware de red, por ejemplo, sin que ello imposibilite el funcionamiento global del programa.

El módulo es, por tanto, una pieza de código dentro de la programación de una aplicación concreta que tiene una misión específica; por decirlo de un modo más informal, se podría definir como un trozo del programa que hace algo siempre de igual manera, tal y como un carburador realiza siempre la misma tarea dentro de un motor de explosión.

Image

Nota

El diseño modular facilita el análisis de procesos y la actualización de componentes de software.

Image

Actividades

7. Si un software necesita de constantes actualizaciones ya que varía el entorno donde se comercializa, ¿es buena idea usar pocos módulos que agrupen muchas funciones para mejorar su rapidez?

8.2. Conectividad de nodos

Cualquier estructura de red (de anillo, en estrella o en bus) se configura para obtener el mejor rendimiento de comunicación de datos entre sus nodos, siendo capaz de permitir la entrada de nuevos nodos o su eliminación sin que afecte a su funcionamiento objetivo como red.

A partir del concepto de conectividad se puede hablar de la topología de red, es decir, de la forma en que se organiza físicamente una red. En el estudio de arquitectura de redes se reconocen diversas estructuras de red, aunque las más utilizadas son las llamadas de línea, de anillo, de estrella, de bus o en malla. La siguiente imagen muestra estas estructuras:

image

La estructura en estrella es la topología de red más utilizada tanto en aplicaciones domésticas como de negocios actualmente. El uso de routers inalámbricos —los populares wifi de muchos hogares— ha hecho que la estructura en estrella haya ganado mucho terreno en ámbitos no profesionales, ya que es esta topología la que el wifi provee en una casa al conectar los diversos dispositivos que funcionan con posibilidad de conexión a Internet.

8.3. Seguridad

El aspecto de la seguridad es uno de los puntos más importantes en una red y en la arquitectura que se elija, ya que de él depende la integridad del flujo de datos. En este sentido, los nodos han de ser capaces de intercomunicarse entre ellos saltando otros posibles nodos que no funcionen adecuadamente y almacenando puntualmente los datos enviados o recibidos para evitar su pérdida. Este concepto se conoce como redundancia y asegura que la comunicación siempre se produzca entre los distintos dispositivos.

La teoría de redes, referente a la seguridad, establece que un modelo en malla donde cada nodo está interconectado a los demás es el modelo de red más efectivo, ya que la pérdida de uno de los nodos no implicaría dejar a otro nodo o a todo un conjunto de ellos aislados del resto de la red. De hecho, Internet es la evolución de ARPANET (Advanced Research Projects Agency Network), un modelo de red militar diseñada para que sus nodos tuvieran varias conexiones entre ellos y, en caso de fallos técnicos, no inhabilitaran la totalidad de la red.

Con la actual tendencia de dispositivos móviles con conexiones inalámbricas, la seguridad en red se está convirtiendo en un concepto cada vez más importante, ya que esa facilidad para conectarse a distintas redes que tiene, por ejemplo, un usuario (a la red de casa, a la del trabajo, a la de una cafetería, a la del autobús o el metro, a la de un centro comercial, etc.) implica tanto un riesgo para sus propios datos como para la red a la que se conecta. Pensemos en un usuario que se conecte con su tablet personal a la red de la oficina; puede que los ordenadores de la oficina mantengan sus sistemas antivirus actualizados, pero quizá la tablet no y seguramente esa tablet se conecte a varias redes más al cabo del día, con lo que un contagio de virus se convierte en un riesgo muy alto para esa red de la oficina. La seguridad en red representa uno de los aspectos con más inversión y desarrollo en la actualidad.

8.4. Compartición de recursos físicos y lógicos. Eficiencia

Las redes, en sus distintas topologías y protocolos usados, permiten obtener una mayor eficacia en el rendimiento de recursos compartidos, que pueden ir desde simples impresoras hasta el reparto de la potencia de proceso entre varios ordenadores, tal como ocurre en los modelos de computación distribuida, donde una gran cantidad de ordenadores funcionan interconectados por red y focalizan su capacidad de cálculo a tareas concretas.

Esta necesidad de compartir recursos viene dada por el natural incremento de dispositivos que trabajan en red y con posibilidades de usar recursos remotos a través de Internet. Un buen ejemplo de compartición de recursos físicos de gran aceptación en los últimos años es el uso de los llamados servicios en la nube (cloud computing); este concepto se basa en la utilización —de pago o gratuito— de servicios, por ejemplo, de almacenamiento de archivos o de editores de texto, hojas de cálculo, etc. En el caso del almacenamiento, consiste en ordenadores remotos accesibles vía Internet donde cada usuario, previo registro, tiene un espacio de disco duro para colocar allí los ficheros que desee y poder utilizarlos desde cualquier dispositivo. Este modelo de gestión de materiales presenta ciertas ventajas, ya que posibilita no tener diferentes versiones de un mismo archivo en distintos dispositivos, algo que evita errores de actualización de datos y, sobre todo, permite una mayor seguridad en el almacenaje de datos, ya que en estos servicios suele primar la estabilidad de sus sistemas informáticos, haciéndolos muy seguros ante ataques malintencionados por parte de piratas o espionaje industrial: es mucho más fácil que roben datos del ordenador de una oficina normal que sufrir ese mismo ataque en plataformas como Google Drive o Dropbox, las dos aplicaciones más extendidas en este campo del almacenamiento en la nube.

La contrapartida de estos modelos de compartición de recursos es la eficiencia, casi siempre medidos en velocidad y capacidad de la red. Las prestaciones de uso de los recursos compartidos siempre van a estar limitadas por el caudal que permita la red y su control para impedir que se sature o bien que su lentitud provoque un incapacidad del dispositivo y del recurso para ser utilizado, como ocurriría, por ejemplo, si se tuviera que introducir datos en un fichero de hoja de cálculo situado en un disco duro en la nube o en un servidor remoto y la red diera tan poca velocidad que no permitiera guardar esos datos con la velocidad suficiente. Se podría entender, entonces, que la eficacia de uso del recurso compartido es baja.

Image

Nota

La eficiencia de un sistema se mide en términos de velocidad de la red.

8.5. Administración y mantenimiento

Al ser la red un elemento casi autónomo de los dispositivos que interconecta, y dado que utiliza tanto software (protocolos de red) y hardware específicos (enrutadores, puentes, concentradores, etc.), la administración y el mantenimiento es una tarea básica dentro de cualquier arquitectura de red y suele ser llevada a cabo por personal especialmente cualificado como los administradores de red.

La tarea básica de la administración y el mantenimiento de la red es garantizar su eficiencia a nivel técnico, así como las políticas de control de usuarios en modelos de redes donde pudiera haber una interacción de estos o el funcionamiento de los sistemas conectados en el caso de que sean redes tan solo entre ordenadores sin tareas directas de usuario, como ocurre en los grandes servidores de Internet.

En la actualidad, son muy numerosas las herramientas que se utilizan para controlar el flujo y la seguridad de las redes, ya que son uno de los puntos más susceptibles de fallos por su complicación tanto física como de protocolos.

Image

Ejemplo

La simple conexión de un smartphone para acceder a una red social usa, a lo largo del camino que va desde el móvil a esa red social, desde redes wifi a fibra óptica pasando por cables submarinos y enlaces de microondas.

8.6. Funcionalidad y facilidad de uso

A pesar de la complejidad que representa cualquier modelo de red, es importante tener en cuenta que la propia red suele ser un objeto invisible para el usuario. El planteamiento de una estructura de red debe comprender premisas de navegación y conectividad que sean amigables para el usuario, incluso para aquellos poco familiarizados con las nuevas tecnologías.

En esto es en lo que se ha realizado un gran esfuerzo investigativo durante los últimos años debido a que cantidad de aplicaciones que se basan en la red actualmente no tienen interés en que la usabilidad de su software se vea mermada porque el usuario tenga que realizar complejas configuraciones para acceder a los servicios de red, ya que desde el punto de vista comercial sería contraproducente. La funcionalidad de la red en, por ejemplo, un producto multimedia no pasa por que el usuario sepa qué protocolos de conexión utiliza ni por saber configurar ningún otro aspecto de la red, sino por que esa red aporte la conectividad necesaria para el buen funcionamiento de la aplicación.

Image

Recuerde

Tanto el mantenimiento como la conectividad y la funcionalidad de la red no son tareas del usuario final sino de los operadores de sistema. La red debe ser “invisible” para el usuario.

8.7. Normalización

La adecuación de cualquier proyecto que utilice redes a las convenciones representadas por toda una serie de estándares y normalizaciones existentes permite una mayor capacidad de interconexión e integración entre dispositivos y servicios, así como un abaratamiento de los costes de desarrollo y posterior mantenimiento. La documentación de los estándares en uso provee de una valiosa fuente de información tanto a desarrolladores como a usuarios finales.

Para el administrador de redes, la tarea de actualizar los protocolos de red de acuerdo a las normalizaciones y sus posibles mejoras es una obligación, ya que de estas indicaciones en los estándares dependen, por ejemplo, muchos aspectos de la seguridad de las transmisiones.

A efectos de crear y servir de garantía sobre la normalización son diversos los organismos internacionales que existen, pero quizá sean de referencia obligada el ETSI (European Telecommunications Standards Institute), el IEEE (Institute of Electrical and Electronics Engineers) y el ANSI (American National Standards Institute) para el hardware así, como la Internet Society (ISOC) para conceptos como protocolos de comunicaciones.

8.8. Administración de datos. Conectividad mejorada

Una parte de las comunicaciones soportadas por las redes son el trasvase de datos desde una base a otra. El desarrollo de modelos de datos, formatos de importación fuertes que puedan soportar su manejo a través de redes y una estructura de conexión mejorable mediante escalabilidad son desafíos constantes de las modernas arquitecturas de red.

Los nuevos modelos de administración de datos prestan una gran atención a los riesgos derivados sobre todo de la seguridad, ya que este servicio es el que más preocupa a las empresas respecto a los datos que almacenan.

La simplificación de sistemas de almacenamiento y red respecto a los vigentes hasta hace escasas fechas es una de las estrategias tanto para minimizar fallos informáticos como para poder controlar de un modo más efectivo los posibles ataques externos e internos que pudiera sufrir el sistema. Esta simplificación también redunda en una mayor eficacia de la red al ser menos complicado su mantenimiento y gestión.

Gran parte de la industria de las telecomunicaciones está basando su desarrollo en la mejora de la conectividad, ya que es una inversión segura en un mundo donde cada vez más dispositivos son online y las bases de datos de las empresas se han convertido en uno de sus más preciados bienes a proteger.

Image

Nota

El cumplimiento de los estándares vigentes asegura el éxito del producto multimedia y su capacidad de conexión con otros productos.

8.9. Interfaces persona-máquina, persona-programa y programa-programa

La interfaz representa el vínculo entre los varios elementos constitutivos de un dispositivo. Por un lado, las relaciones persona-máquina y persona-programa se han definido en los últimos tiempos por criterios denominados como diseño centrado en el usuario, tendente a que el provecho del dispositivo y la experiencia del usuario tengan el mayor rendimiento posible.

Para el desarrollo de estos sistemas es la observación de los comportamientos de las personas al interactuar con una interfaz el elemento que da la clave sobre el nivel de usabilidad que alcanza el software en ese punto. Los psicólogos especializados en analizar estos modelos de interactuación hombre-máquina apuntan a que se debe partir siempre del desarrollo de interfaces desde la intuición del usuario; el esquema más funcional es aquel en que el usuario ya sabe qué tiene que hacer sin necesidad de una formación previa. Este planteamiento no solo afecta al posible binomio persona-software, sino que la relación entre el hardware, la máquina y la persona debe basar su criterio ergonómico también en la intuición. A partir de este planteamiento, el producto multimedia ha de tener en cuenta quién será su usuario final para aplicar el modelo de interfaz más apropiado a la persona que utilizará el software: no sería lo mismo crear una interfaz para que la emplearan adolescentes familiarizados con la tecnología que una interfaz destinada a ser manejada por ancianos.

image

Una interfaz persona-programa dirigida a ancianos desarrollada por la empresa PointerWare

Por otro lado, las interfaces entre programas son conjuntos de órdenes estandarizadas y de protocolos que facilitan la intercomunicación entre módulos de programa o entre programas distintos. Este proceso permite que un determinado flujo de datos pueda ser usado, intervenido o modificado por varios paquetes de software diferentes.

9. Arquitecturas software

Al igual que ocurre con el diseño de edificaciones, el desarrollo de software requiere de una planificación general y de la creación de estructuras que funcionan a distintos niveles, todo ello siguiendo patrones y estandarizaciones ya establecidos según el tipo de software sobre el que se trabaje. Este modelo de construcción donde se realizan estructuras conceptuales sobre qué debe hacer un programa y cómo debe hacerlo es lo que se denomina arquitectura del software.

La arquitectura del software no es, por tanto, la programación, el código de la aplicación, sino el esquema, a grandes trazos, de los requerimientos abstractos que tal aplicación necesita para realizar una tarea, así como la interconexión de esas tareas para alcanzar objetivos mayores.

Son numerosas las arquitecturas de software que se pueden aplicar a la hora de realizar estas estructuras, pero los estilos más habituales son la arquitectura monolítica, donde la aplicación se diseña en un bloque sin estructuras internas definidas como los módulos y sin contacto con otras aplicaciones, y las arquitecturas llamadas cliente-servidor, en las que unas estructuras del software —los clientes— le solicitan peticiones de tareas a otras partes del software —los servidores—. Este modelo se aplica a configuraciones dentro del mismo programa localmente o de varios programas entre sí que interactúan remotamente para formar piezas de software mayores, como ocurre con las bases de datos a través de Internet.

9.1. Sistema, subsistemas, módulos y componentes

La división en sistema, subsistemas, módulos y componentes es uno de los abordajes más típicos cuando se trata de desarrollar software, puesto que permite dividir las tareas precisas para el objetivo de un programa concreto en estructuras más pequeñas, los subsistemas, que a su vez separan sus necesidades en módulos.

Este modelo encaja muy bien, por tanto, con el concepto de arquitectura del software, ya que conforma un modelo de construcción en que diversas capas —componentes, módulos, subsistemas y sistemas— se van superponiendo para crear aplicaciones.

Los subsistemas también representan un modelo de categorización según la importancia o prioridad que tenga una tarea para el desempeño de la función a la que se dedica el programa en sí. A los diferentes elementos que son utilizados por los módulos para ejecutar sus procesos se les suele denominar componentes.

Image

Ejemplo

Las librerías gráficas o los drivers de una impresora son un buen ejemplo de componentes.

Esta arquitectura permite, además, una división que facilita crear colas de importancia cuando el programa necesita que determinada tarea se realice antes que otra, así el procesado adquiere un mayor rendimiento y un mejor aprovechamiento de los recursos.

9.2. Árbol estructural

El modelo en árbol constituye una de las estructuras más ampliamente utilizadas en la arquitectura y el diseño de software dado que permite un movimiento de datos muy distinto a las estructuras lineales. Esta no linealidad comporta un sistema de relación entre los nodos o elementos que componen el árbol, donde es sencillo jerarquizar tareas que se ejecuten paralelamente. De este modo, se multiplican las tareas simultáneas en distintos planos y cuyos resultados pueden ser dirigidos o recuperados por distintos nodos a través de las ramas o los conductos de interconexión que los relacionan.

image

Image

Nota

La jerarquización de tareas en sistemas y subsistemas permite un mejor aprovechamiento de la capacidad de proceso de un dispositivo.

9.3. Modelos de construcción de software: en cascada y en V

Cuando se aborda un proyecto de desarrollo de software es posible optar por distintas metodologías de trabajo y planteamiento, siendo dos de las más utilizadas la llamada en cascada y la conocida como método-V.

El enfoque en cascada se presenta como un flujo lineal en el que no se puede pasar al siguiente estadio de desarrollo hasta que no se haya completado el previo. Desde un punto de vista actual, y aunque sigue siendo utilizado, se considera anticuado por diversos motivos; entre otros, por su escasa flexibilidad para ser empleado por equipos de desarrolladores y por lo dificultoso de volver a etapas anteriores en caso de que sea necesario durante el proceso de construcción del software. Sin embargo, para programaciones simples y llevadas a término por un solo programador, la metodología en cascada no es del todo desestimable pese a su antigüedad.

El modelo en V o método-V representa una mejora sustancial del planteamiento en cascada, ya que aporta una metodología de control y calidad a los procesos de desarrollo de software. La gráfica en V hace que, mientras que uno de los ramales de la V, el izquierdo, se establece como una cascada implicada en los procesos intrínsecos a las tareas de desarrollo, el ramal derecho de la V representa los procesos propios de control sobre el trabajo realizado en el otro ramal y su validación e implementación dentro del proceso global.

image
image

Image

Actividades

8. Trate de diseñar el mismo diagrama de software aplicando un sistema de cascada y otro acorde con el método-V.

9.4. Gestión de proyectos

Para que un proyecto de software se finalice consiguiendo los objetivos que previamente se proponían, es necesaria una adecuada gestión de dicho proyecto; aspectos como el cumplimiento de los tiempos de programación estipulados, la división en diversas fases de desarrollo, el control de costes económicos, el manejo de los recursos humanos o que se ajuste el trabajo a los diversos estándares de protocolos o hardware son tareas que competen a la dirección de proyectos para lograr un satisfactorio resultado final.

9.5. Ciclo de vida de un producto

Desde la concepción hasta la comercialización y el posterior mantenimiento de un software dado, se va disponiendo una serie de fases que comprenden puntos tales como el establecimiento de objetivos, la programación, la integración de los diversos elementos de software, la validación del conjunto, su implementación y las posibles correcciones de errores o mejoras en el producto ya en funcionamiento.

En algunos casos, incluso se establecen criterios de eliminación de un producto por necesidades de mercado, por lo poco rentable que sería su actualización ante nuevas necesidades de los usuarios finales o por lo dificultoso de su adaptación a normalizaciones más recientes.

Image

Sabía que...

Un modelo de diseño en V permite un mayor control del producto desarrollado y de su calidad.

10. Arquitecturas hardware

Al igual que ocurre con cualquier otro producto devenido del diseño industrial, en el desarrollo de los ordenadores —desde los modestos PC domésticos a las supercomputadoras de los centros de cálculo— concurren una serie de filosofías, normas y concepciones que permiten el abordaje de su construcción desde premisas muy distintas.

10.1. Arquitectura abierta y arquitectura cerrada. Características

Una de las primeras variantes que atañen al diseño de un ordenador, sea cual sea su potencia, es si los elementos físicos que lo integran, el hardware, responden a un modelo de arquitectura abierta o cerrada.

Arquitectura abierta

Por arquitectura abierta se entiende un diseño donde dicho hardware se concibe y fabrica permitiendo el cambio o la selección de unos elementos integrantes frente a otros, permitiéndose así distintas configuraciones aplicables a entornos y funciones diferentes, aparte de una constante capacidad de actualización. Un ejemplo de este planteamiento industrial es el PC clónico, un modelo que compartía —en principio— las características de arquitectura del lBM Personal Computer y que terminaría imponiéndose desde la década de los ochenta como estándar hasta la actualidad dentro del mercado doméstico. Su posibilidad de sustituir o añadir distintos elementos (procesadores, tarjetas de sonido, tarjetas de red, módulos de memoria, etc.) provenientes de distintos fabricantes permite una versatilidad y un abanico de costes muy apreciados por numerosos consumidores domésticos y profesionales.

Arquitectura cerrada

La visión opuesta a esta filosofía de diseño sería la arquitectura cerrada, donde el modelo de ordenador está protegido legal y funcionalmente para que no exista posibilidad de cambios o adaptaciones fuera de lo dispuesto por el fabricante casi desde la línea de montaje. Esta idea de diseño fue relativamente popular en los inicios del mercado del ordenador personal y muchas marcas famosas en aquel tiempo (Atari, Commodore, Sinclair, Amstrad, Spectravideo o incluso Apple, entre otras) concebían sus modelos como objetos de consumo cerrado donde el usuario no tenía capacidad de adaptar o elegir configuraciones. Más modernamente, ordenadores dirigidos a ámbitos específicos de la industria o a propósitos muy concretos se siguen fabricando bajo esta condición de arquitectura cerrada.

Frente a esta escasa versatilidad, cuentan con la ventaja de que el software desarrollado para estas máquinas se ajusta perfectamente a las capacidades de los componentes que las integran, dado que los programadores conocen de antemano las características del hardware, y el rendimiento es, por consiguiente, muy alto. Dispositivos como los IPAD de Apple Inc. responden en la actualidad a esta filosofía cerrada de diseño.

Image

Nota

Las arquitecturas cerradas son normalmente protegidas por fuertes sistemas de patentes y se necesitan permisos legales para cualquier desarrollo dirigido a ellas.

10.2. Estándares

Una de las consecuencias del crecimiento de la industria del hardware y de la diversidad de componentes disponibles para los distintos tipos de dispositivos y usuarios, ha sido la necesidad de que la propia industria haya tenido que establecer una serie de normativas tendentes a facilitar la compatibilidad de sus productos entre sí.

Un ordenador suele estar integrado por piezas fabricadas por distintas empresas y, por tanto, esas empresas necesitan unas regulaciones comunes para que las piezas encajen entre sí a la hora de construir el ordenador. Esas regulaciones a las que las empresas se atienen son los llamados estándares de hardware.

Es imposible hablar de un número cerrado de estándares vigentes, ya que su número está en constante cambio debido a la rápida evolución del hardware, pero esta industria contempla en la actualidad cerca de cien estándares directos, esto es, concernientes al ordenador en conjunto y no a sus diferentes piezas por separado. Podría decirse que, tan solo de hardware, un simple ordenador de sobremesa tiene que cumplir más de sesenta o setenta estándares que regulan desde el voltaje al que trabaja el microprocesador hasta el tipo de material del que debe estar hecha la parte metálica de la antena wifi o la anchura que debe tener la ranura donde se inserta una tarjeta de memoria como las que usan las cámaras fotográficas digitales.

Estas normas o estándares han sido, en algunos casos adoptados mediante acuerdo entre los distintos fabricantes de un mismo dispositivo, tal como ocurrió con el popular modelo de conector conocido como USB: a mediados de los años noventa varios “grandes” de la industria informática (IBM, INTEL, Nortel, Microsoft, Compaq y DEC) atisbaron el gran problema para el mercado de los periféricos del PC que representaba la enorme multitud de conectores que se utilizaban por aquel entonces. Conexiones tipo PS/2, DE-9, DIN, Mini-DIN o DA-15 entre otras convivían en la parte trasera de los ordenadores personales dificultando el desarrollo de nuevos dispositivos compatibles y dificultando el abaratamiento de costes para los diferentes mercados, así que la creación de un estándar como el Universal Serial Bus o USB vino a paliar en parte esa situación, considerándose, por tanto, un estándar consensuado o de iure dentro del abanico de conectores disponibles al que la mayoría de los fabricantes se acogen.

Un planteamiento distinto es el de los estándares de facto, esto es, las normativas que no nacen del acuerdo entre distintas compañías, sino que terminan imponiéndose entre los fabricantes porque uno de los modelos posibles termina acaparando el mercado, que fue lo que ha ocurrido en la disputa entre las soluciones de almacenamiento de alta capacidad en disco óptico, donde el estándar Blu-ray de la multinacional Sony se ha impuesto por razones de mercado al HD-DVD propuesto mayormente por la empresa Toshiba, sin que haya ventajas técnicas claras de uno sobre otro.

Image

Actividades

9. Reflexione sobre por qué son necesarios los estándares de hardware para los fabricantes de las diferentes partes de un ordenador.

10.3. Portabilidad

Una de las grandes preocupaciones de la arquitectura de software en la actualidad es el desarrollo de dispositivos susceptibles de ser llevados sin esfuerzo por el usuario. Esta exigencia, que podemos ver materializada en las tablets, las PDA o los smartphones, conlleva un despliegue de ingeniería muy avanzada alrededor para hacerla posible.

Procesadores con una alta capacidad gráfica, modernas pantallas táctiles o memorias estáticas de gran poder de almacenamiento —todo ello combinado en un entorno donde el ahorro y el aprovechamiento de las baterías son esenciales— constituyen los criterios de portabilidad a la hora de diseñar un dispositivo.

Por otra parte, el hecho de la portabilidad lleva casi intrínsecamente asociado que tales dispositivos tengan un espectro muy amplio de posibilidades de conexión ya sea a redes telefónicas, entornos WIFI o de recepción de señales de geolocalización.

Image

Nota

La portabilidad entre dispositivos en esencial en la actualidad para el software multimedia.

10.4. Lenguajes de programación disponibles

El listado de lenguajes de programación es casi inagotable ya que responde a criterios muy dispares. Así pues, es posible encontrar lenguajes muy generales y ampliamente utilizados como Python, distribuido bajo una licencia open source o lenguajes de gran implantación como Java, desarrollado para poder ser integrado en cualquier arquitectura de hardware al basarse en una máquina virtual.

La funcionalidad a la que se dirigen es también un criterio cuando se selecciona un lenguaje de programación u otro. En el caso de que se necesite, por ejemplo, un dispositivo tanto de hardware como de software capaz de generar páginas web dinámicas, la mejor solución sería optar por PHP (PHP Hypertext Pre-processor) bajo un concepto de CMS (Content Management System) y si lo que se buscara fuera un lenguaje orientado a la gestión de bases de datos, el más indicado debiera ser SQL. En el caso de dispositivos móviles es Javascript el lenguaje de referencia junto con diferentes variantes del lenguaje C; el popular sistema operativo Android se basa en C junto con partes en JavaScript.

Una categoría aparte pero también de gran uso serían los llamados “lenguajes de marcas” (Markup Languages) como HTML5 o XML, que no son per se lenguajes de programación pero que se han convertido en los lenguajes de uso de numerosos dispositivos móviles o entornos multimedia.

10.5. Conectividad e integración en redes

Dada la gran diversidad de plataformas de hardware y sistemas operativos, así como la exigencia de conectividad de los usuarios y mercados actuales, la integración en redes comporta un elemento muy a tener en cuenta dentro del desarrollo de arquitecturas para nuevos dispositivos.

Por conectividad se entiende la capacidad de un dispositivo para formar parte operativa de un grupo de dispositivos más o menos extenso que formen una red, indistintamente de la topología de dicha red, así como la posibilidad de transmitir datos a otro dispositivo que no forme parte de una red, tal y como ocurre con dos teléfonos móviles que intercambian fotografías con una conexión tipo Bluetooth.

Esta conectividad se articula en dos planos, uno de hardware y otro de software. En el plano de hardware, la conectividad depende de los elementos físicos que un dispositivo emplee para conectarse a una red, como una tarjeta wifi en el caso de una red inalámbrica o un conector con su correspondiente cable que se inserta en una tarjeta de red Ethernet (las más habituales en las redes por cable) para conectarse a un red cableada. En el plano del software, el dispositivo atenderá a toda una serie de estándares de programación (muy variables según el tipo de red y el cometido) que permitirán que las aplicaciones sean capaces de acceder y usar la red; por ejemplo, para conectarse a Internet, un dispositivo tendrá que usar protocolos como TCP/IP para conectarse a Internet, http para las páginas web, ftp para enviar y recibir ficheros, pop y smtp para el e-mail, etc.

A partir de estos planteamientos de conectividad puede hablarse de integración a redes: cuando un dispositivo cuenta con los elementos de hardware (una tarjeta de red o un módulo wifi) y los protocolos pertinentes (TCP/IP, por ejemplo) se dice que ese dispositivo tiene capacidad de integración a redes, es decir, la posibilidad de enlazarse con otros dispositivos interconectados.

La problemática de la integración a redes es un tópico muy presente desde hace más de una década ya que muchas soluciones —con mayor o menor fortuna— han convertido el uso de la red, ya sea una red local o el propio Internet, en un recurso de su funcionamiento.

Esta interconectividad se produce en un entorno heterogéneo de plataformas que ha necesitado de grandes procesos de normalización en lo referente a protocolos (como el actual IPv6, presente en la mayoría de dispositivos que se conectan a Internet), iniciativas como SAMBA, que permite la integración y la compartición de archivos entre sistemas de Microsoft Windows y sistema tipo UNIX o soluciones de hardware como los más recientes switches y routers, capaces de interactuar con la capa de enlace de datos establecida en el modelo OSI (el marco referencial vigente para la interconexión de sistemas abiertos).

Image

Aplicación práctica

Si deseara crear una página web dinámica para la venta de música online y que además ofreciera vídeos musicales e integrara la información generada en blogs por los fans proveniente de las redes sociales, ¿por qué tipo de lenguaje de programación y estructura se debería optar? ¿Sería adecuado usar un gestor de contenidos (CMS) y una base de datos SQL?

SOLUCIÓN

Bajo una consideración técnica, la web que se pretende crear es una página de contenido dinámico basada en un modelo CMS, ya que habrá que manejar un contenido en constante actualización. Para la generación del entorno web, se utilizará PHP dada la excelente documentación existente y la base de conocimiento que supone que sea uno de los lenguajes de programación más utilizados.

Referente a los contenidos, el código PHP que se emplee tomará los datos de una base de datos, con lo que SQL es el lenguaje más indicado para este cometido.

10.6. Mantenimiento

La necesidad de un mantenimiento sostenible y que no merme la rentabilidad de un producto forma parte integral del desarrollo de cualquier tipo de hardware en la actualidad. Esto se hace especialmente patente en dispositivos que han de trabajar en entornos difíciles (un terminal público de información multimedia en un museo, por ejemplo) o en un simple smartphone, que por definición no ha de necesitar ningún tipo de mantenimiento de hardware fuera de una posible reparación.

Caso aparte dentro del capítulo de mantenimiento son las actualizaciones, que, aunque habitualmente afectan a las aplicaciones, existen algunas de ellas que implican a las librerías que permiten el mejor aprovechamiento del hardware presente en un dispositivo, como ocurre con las conocidas actualizaciones de los chipsets integrados en las placas madre de los ordenadores personales.

Cualquiera de estas actuaciones de mantenimiento pueden ser realizadas desde dos conceptos diferentes pero complementarios: el mantenimiento correctivo, que elimina posibles fallos o errores que se van descubriendo durante la vida útil del dispositivo, y el mantenimiento preventivo, destinado al mantenimiento físico del aparato en aras de que se encuentre siempre en las condiciones más idóneas de funcionamiento.

Image

Nota

El uso y el mantenimiento de un producto deben estar presentes desde el primer momento de su desarrollo.

10.7. Integración de subsistemas de información

Dentro de las estructuras de red y de los datos que se transmiten por ellas, cobran una gran importancia los dispositivos, tanto físicos como lógicos, que permiten el análisis o el uso de esos datos y su interacción con otros dispositivos o con humanos. Estos son los conocidos como subsistemas de información, unos elementos de hardware que permiten dicha operatividad y que pueden englobar desde simples PC hasta mainframes de alto rendimiento.

Dentro de los subsistemas de información cabe contemplar hoy en día tecnologías como el cloud computing, que posibilita el uso de grandes sistemas de cálculo basados en subsistemas de proceso distribuido o los subsistemas de almacenamiento remoto basados en la misma filosofía.

Puesto que estos subsistemas constituyen una parte importante de las modernas arquitecturas de red en uso, la integración de esos subsistemas en sistemas mayores compuestos por plataformas heterogéneas es uno de los desafíos constantes de los organismos de normalización y estandarización tanto de hardware como de procedimientos y protocolos de software.

Image

Importante

Los recursos “en la nube” (cloud computing) son considerados por los expertos como el futuro de muchos sistemas informáticos.

Image

Actividades

10. ¿Es posible que un dispositivo sin conexión wireless utilice recursos de cloud computing? Razonar la respuesta.

11. Arquitecturas de información

En cualquier software se trabaja, básicamente, con información, por lo que organizarla, darle una forma y presentarla adecuadamente es una tarea fundamental cuando se trata de estructurar cómo funciona una aplicación.

La arquitectura de la información ayuda a los desarrolladores a tener una aproximación teórica sobre el modo en que deben analizarse los datos en un software para acometer con efectividad tareas tan importantes como el diseño de la navegación y la interactividad con el usuario, la usabilidad de la aplicación o cómo esos datos se indexan para ser usados por otras aplicaciones.

En muchas aplicaciones, esta organización de los datos cobra una gran importancia, ya que son precisamente esos datos el material de trabajo de la aplicación; en, por ejemplo, el software que gestione las consultas a los fondos de una biblioteca o una posible aplicación que haga inventario de las obras de un museo, será una base de datos la estructura sobre la que pivotará todo el software, al contrario de una aplicación multimedia que tan solo ofreciera al visitante de ese museo un entorno audiovisual de cómo es el edificio del museo.

11.1. Estructura de datos: organización, métodos de acceso, grado de asociatividad y alternativas de procesamiento

Como paso anterior al diseño de cualquier aplicación, es fundamental el análisis de la estructura que más acorde se ajustará al objetivo final que haya sido planteado. En este sentido, la organización de los datos dependerá de criterios tales como el modo en que van a ser utilizados por el programa —por orden alfabético, cronológicamente, por tags, etc.—, o también pueden ser agrupados bajo una estructura de contenido que permita una modularización e indexación tendente a agilizar los procesos posteriores que requiera la aplicación y, por tanto, a mostrar al usuario final los resultados más rápidamente. La modularización es la base de cualquier supraestructura que vaya a implementarse, ya que convierte el sistema global en menos complejo al dividir la información en secuencias categorizadas y favorece, además, que la aplicación pueda procesar al mismo tiempo diferentes cadenas de datos.

Cuando se organizan dichos datos, sea cual sea su volumen y naturaleza, para ser utilizados más tarde es crucial que se establezcan categorías entre ellos que permitan un rápido acceso. El establecimiento de etiquetas que designen estos conjuntos de información —es decir, la asignación de unos metadata o etiquetas a los módulos— facilitará, a su vez, el desarrollo de interfaces simples y mejorará la usabilidad del producto independientemente de cuáles sean los métodos de acceso empleados.

En resumen, podría decirse que el fin de esta organización de datos que se realiza en la arquitectura de la información es disponerlos y clasificarlos de tal manera que su búsqueda y recuperación posterior sea lo más sencilla posible para el usuario.

La recuperación de los datos puede realizarse mediante numerosos métodos de acceso, ya que dependerá en gran medida de la tipología de base de datos que se emplee o de cómo se registren los datos con etiquetas, así como del modo en que se pretenda presentar la información. En la actualidad es el entorno web manejado por un gestor de contenidos (un CMS, content management system) uno de los métodos de acceso más habituales, ya que permite diseñar de una manera muy simple y basada en plantillas prefabricadas interfaces adaptables a cualquier necesidad multimedia. Como norma general para los métodos de acceso, sería posible indicar que cualquier gestor accede a ellos de dos modos básicos: el acceso secuencial y el acceso directo.

Por acceso secuencial se entiende aquel que debe seguir un orden de cómo los datos están catalogados, sin poder saltar de uno a otro. Esto es, para llegar al dato “d”, se debe pasar por el dato “a” primero, luego por el “b”, más tarde por el “c”, para acceder finalmente al “d”. En el acceso directo no es necesario seguir esta secuencia, sino que la aplicación gestora podría llegar al dato d sin pasar por otros.

Por otra parte, el diseño de la estructura de datos tiene una influencia clara en cómo pueden los módulos relacionarse entre sí —el grado de asociatividad— y la capacidad de aplicar distintos métodos de acceso de datos, tal como se hablaba en el párrafo anterior. Al aumentar los vínculos de cada módulo con el resto de ellos se incrementan las posibilidades de éxito en procesos como las búsquedas o la ejecución de procesos paralelos, ya que la vinculación de unos registros con otros permite una mayor rapidez en la gestión de los datos.

Por otra parte, la indexación de los registros asociados a los datos permite diferentes alternativas de proceso, ya que la aplicación que gestiona los contenidos indexados puede acceder a estos datos tomando como referencia diferentes registros —esto es, distintas etiquetas— sobre un mismo dato o conjunto de datos, por lo que se establecen varios caminos para recuperar y operar con esos datos, algo que determinan las distintas alternativas de procesamiento con las que un programa puede trabajar.

Image

Importante

Un correcto etiquetado de los datos presentes en una base de datos posibilita tanto una mejor recuperación como el establecimiento de diferentes alternativas de procesado.

11.2. Procedimientos: especificación del procesamiento, secuencia de sucesos y nodos bifurcación de decisiones

Una vez se ha diseñado una estructura de datos modularizada y se han asignado las correspondientes etiquetas que posibiliten distintos grados de asociatividad entre los módulos es posible establecer una serie de procedimientos que se realizarán con esos datos. Estos procedimientos se representan mediante un diagrama de flujo que describe los distintos procesos que inciden sobre los datos a través de los diferentes nodos o pasos que componen la aplicación, entendiéndose este flujo como una secuencia de sucesos diseñada para obtener una salida concreta solicitada por el software a partir, por ejemplo, de la interacción con el usuario o por la petición de otro subsistema del mismo software.

Las especificaciones de procesamiento que afectan a ese diagrama de flujo dependerán, pues, de los resultados que se pretendan obtener y consistirán en el conjunto de instrucciones que se aplicarán a los módulos desde una aplicación dada para obtener un elemento de salida determinado que puede, a su vez, interactuar con otros módulos y procesos. Esas especificaciones se deciden según lo que la aplicación pretenda; así, una aplicación que gestione una base de datos sobre alumnos en un colegio establecerá un procedimiento para descartar o incluir alumnos cuando se le solicita, por ejemplo, un listado de alumnos mayores de ocho años y que tengan notas superiores a notable.

Ese proceso de descartar un dato a favor de otro (que el alumno tenga ocho años o menos de ocho años) se logra gracias al proceso llamado decisión, que establece una bifurcación, es decir, un paso dentro de la estructura de nodos que compone el flujo de datos donde los datos siguen un camino u otro dependiendo de que exista o no una condición en el registro (mayor de ocho años o menor de ocho años). A medida que el flujo de datos va tomando las diversas bifurcaciones presentes en diferentes nodos se va obteniendo el resultado requerido por la aplicación.

Por tanto, durante ese procesamiento, al emplear las instrucciones que lo rigen, se irá avanzando a través de los distintos nodos de la estructura de datos que se haya diseñado para el sistema (por ejemplo, una estructura en árbol) y, teniendo en cuenta las variables que se introduzcan —las decisiones—, el proceso llegará a una acción o salida específica.

11.3. Acceso privativo mediante red de módulos independientes

Una de las estrategias aplicables a la hora de diseñar un producto de software donde exista la necesidad de procurar distintos niveles de acceso en función, por ejemplo, del usuario que se conecte al sistema, es crear subsistemas de módulos independientes.

Este acceso privativo, aparte del protocolo de permisos y privilegios que se establezca, puede tener un reflejo en la estructuración de los módulos, creando grupos de módulos con tareas concretas que, aunque pueden interactuar con otros módulos, se encuentran independientes para preservar la integridad de una parte del sistema frente al acceso de otros procesos no deseados en esa parte de la estructura diseñada.

Image

Nota

Los elementos modulares privativos permiten gestionar los privilegios de los diferentes usuarios de un sistema.

11.4. Diagramas de estructuras. Diseño modular

Para representar la estructura de datos y procesos que se producen en un sistema se suelen utilizar diagramas. Tales diagramas facilitan la tarea de diseño al permitir la visualización de los diferentes elementos y las relaciones que se establecen entre ellos; se podría decir que un diagrama representa el flujo, con sus bifurcaciones, que seguirá el procesamiento para que desde una entrada o petición realizada por un usuario (o por otra parte del software) se llegue a una salida que represente un solución a lo solicitado.

Por otra parte, el modelo más estandarizado para el diseño de software y la gestión de información es el uso de módulos, ya que permiten una división de la complejidad que supone una aplicación informática en diversas entidades más pequeñas y manejables que se compilan por separado. El uso de módulos posibilita, además, un diseño reutilizable, ya que se pueden usar de nuevo grupos de módulos que realicen tareas específicas cuando sean necesarios en distintos puntos del diagrama de la estructura diseñada.

Aunque es posible utilizar distintas figuras cuando se trata de realizar las representaciones en diagrama de una estructura, se considera una convención usar rectángulos para los módulos y flechas para las relaciones funcionales entre ellos.

11.5. Acoplamiento y cohesión

Estos dos conceptos no deben confundirse a pesar de que hagan referencia a elementos de coherencia dentro de la estructura de información.

Con el término cohesión se define el grado de efectividad de un módulo compilado para contener una serie de instrucciones que impliquen una función concreta y particular, un solo proceso. Dentro del modelo de diseño estructurado, un módulo tiene más calidad cuanto mayor cohesión interna representa por su capacidad de ejecutar una tarea simple.

A efectos de la operatividad global de un software, unos módulos con una mala cohesión acarrean una mayor necesidad de implicar más módulos para una tarea compleja, no optimizándose así el uso de los recursos por parte del sistema.

Estas relaciones que se establecen externamente de unos módulos con otros son lo que se conoce como acoplamiento. Para que un software funcione de un modo más rentable y equilibrado es necesario mantener un número bajo de acoplamiento, es decir, de conexiones entre los módulos, ya que una estructura con excesivas conexiones entre los módulos posibilita que los errores en un módulo sean más difíciles de localizar y aislar, creando lo que se conoce como efecto onda al influir los fallos de un módulo a otros.

Image

Nota

El diseño de módulos con excesivas funciones dificulta su posterior integración en programa y provoca incluso iteraciones de procesos.

Image

Actividades

11. ¿Puede un módulo ser “coherente” pero no tener un buen nivel de acoplamiento? Explique su respuesta brevemente.

12. Plataformas: compatibilidad e interoperabilidad

Uno de los grandes requisitos dentro del panorama actual de dispositivos es la capacidad de estos para comunicarse e interactuar entre sí. Las tendencias del mercado marcan unas líneas muy basadas en lo móvil y su apoyo en aplicaciones en la nube tanto de proceso como de almacenamiento sincronizado multiplataforma.

Sin embargo, y a pesar de la constante renovación de dispositivos a la que obliga la mercadotecnia, suelen encontrarse tanto dispositivos como sistemas operativos incapaces de ejecutar las últimas versiones de muchos tipos de ficheros o no que tienen las mismas prestaciones que, como ocurre con los móviles, dispositivos un poco más antiguos. Por ejemplo, ahora es relativamente fácil encontrar muchos software para smartphones que basan bastante de su funcionamiento en el uso de mapas y, por tanto, en el empleo de GPS; algo así convierte en inoperativa la aplicación para móviles que no tengan dicho receptor GPS.

Esta posibilidad debe estar presente al diseñar el software, sobre todo multiplataforma, puesto que no todos los usuarios actualizan sus sistemas ni dispositivos con la frecuencia que el mercado solicita; un proyecto multimedia que contuviera vídeos codificados con los más recientes algoritmos de compresión (los de vídeo en alta resolución, por ejemplo) seguramente no puedan ser visualizados en dispositivos de tan solo con dos años de antigüedad. Este sería un caso claro de incompatibilidad de software.

12.1. Requisitos de interoperabilidad del proyecto

En todo proyecto se ha de tener en cuenta si la aplicación que se desarrolla será ejecutada en un solo tipo de dispositivo —por ejemplo, un smartphone que funcione bajo el sistema operativo Android— que se comunicará solo con dispositivos de las mismas características, o que bien se trata de una aplicación que genera un flujo de datos susceptible de ser remitido a otras aplicaciones que funcionen incluso con distintas plataformas o sistemas operativos.

Cada proyecto, pues, contará con unos requisitos de interoperatividad diferentes y a medida según sean las necesidades de la aplicación a la que se refiera ese proyecto y de la salida de datos que pretenda comunicar e intercambiar con otros sistemas. Así pues, un programa que maneje datos obtenidos de un GPS tendrá unos criterios de interoperatividad (que los datos estén en el formato estandarizado NMEA —National Marine Electronics Association—, por ejemplo) para que un software que presenta al usuario mapas pueda utilizarlos.

En este sentido, la correcta redacción de una serie de especificaciones que constituirán los requisitos de interoperatividad será de vital importancia, ya que implicará la selección de unos formatos de intercambio de datos concretos (formatos de ficheros, estructura interna de esos ficheros, etc.), así como la decisión de que el software desarrollado se atenga a una serie de normativas y protocolos de comunicación en red ya estandarizados y de constante uso. Algunos de estos estándares y protocolos vienen incluso marcados por las legislaciones nacionales vigentes cuando se trata de software desarrollados para entidades públicas cuyo manejo de datos ha de ser necesariamente interplataformas. Un ejemplo de ello es el llamado EIF (European Interoperability Framework), que regula las directrices que han de seguir las estructuras informáticas de las administraciones públicas electrónicas en la Unión Europea.

Image

Importante

En trabajos para clientes sujetos a normativas legales específicas es crucial comprobar la vigencia de la legislación a la que se debe atener el proyecto.

Image

Aplicación práctica

A su gabinete de desarrollo ha llegado un cliente que quiere encargar un producto multimedia que permita una visita virtual en vídeo de alta resolución a los hoteles más cercanos que un smartphone con GPS designe. El posible cliente le dice que una parte de la imagen de su empresa es la modernidad y la constante búsqueda de estar al tanto en las últimas tendencias de hardware, así que centra gran parte de las especificaciones del producto en capacidades de los más recientes smartphones del mercado.

Enumere dos consejos que debiera darle para obtener un mayor éxito de su producto multimedia.

SOLUCIÓN

Para tener un mayor éxito e implantación de su producto debiera replantear su estudio de mercado para abarcar un nicho de clientes más extenso con móviles que no fueran solo de última generación. En lo tocante a aspectos de diseño de software, convendría comentarle dos requisitos que limitan su producto:

  1. Dependencia del GPS: aunque ya son muchos los teléfonos móviles que incorporan el módulo de GPS, son numerosos los dispositivos que no lo presentan integrado, con lo que el programa es inservible para estos dispositivos menos actuales.
  2. Algoritmos de vídeo: obligar al uso de vídeo de alta resolución implica una capacidad de proceso y recepción de datos que limita la interoperatividad y que solo es posible con codificaciones de vídeo muy recientemente actualizadas. El proyecto multimedia tendría, por tanto, problemas de compatibilidad de software con numerosas versiones de sistemas operativos un poco más anticuadas, algo que suele ser habitual en muchos dispositivos ya que sus usuarios no saben o no se preocupan de actualizar.

12.2. Verificación de componentes

Sea cual sea el modelo de hardware que haya sido elegido para la ejecución de un proyecto específico, es necesaria la comprobación y la verificación de componentes no solo en su integridad y buen funcionamiento por separado, sino en la capacidad de esos componentes de hardware para interactuar juntos y con el sistema operativo que los vertebra.

Esta verificación de componentes de hardware e incluso de software dentro de una plataforma se lleva a cabo partiendo de la certificación emitida habitualmente por la propia empresa desarrolladora en primera instancia y, cuando es exigido por el cliente, por laboratorios de verificación externos. Las certificaciones que se emplean para la verificación de componentes suelen estar emitidas por organismos, empresas y asociaciones supranacionales que establecen regulaciones para lograr la máxima compatibilidad de los componentes. Por ejemplo, la empresa Microsoft mantiene un tipo de lista llamada HCL (hardware compatibility list) que permite verificar si un elemento de hardware como una tarjeta de vídeo o un módulo de memoria funciona correctamente con el sistema operativo Windows.

Esta cuestión es más importante de lo que pueda parecer ya que, casi por definición, un entorno multimedia —sobre todo si gestiona vídeo— conlleva un gran uso de recursos y eso obliga a que los componentes estén seleccionados teniendo en cuenta que cumplan unos grados de compatibilidad altos. Un ejemplo de ello podría ser que existen placas madre en PC domésticos incapaces de gestionar más de una cantidad concreta de memoria RAM o discos duros de gran potencia y rapidez pero que necesitan ser instalados con sistemas de refrigeración propios por el calor que desprenden si tienen un uso intensivo.

12.3. Verificación de cumplimiento de especificaciones

Cuando se desarrollan entornos multimedia para organismos, empresas o instituciones determinadas suelen indicarse en las tareas previas al proyecto una serie de especificaciones que el resultado final ha de cumplir necesariamente. Estas especificaciones pueden ser de diversos tipos: protocolos de comunicación, calidad del hardware, tipos de licencias del software o incluso certificaciones de seguridad de determinados componentes. Un paradigma de estas especificaciones podría ser que el dispositivo para el que se vaya a desarrollar una aplicación vaya a ser utilizado en un ambiente donde pudieran producirse explosiones por la emisión de señales de radiofrecuencia (una mina, por ejemplo); en este caso, el hardware debería estar verificado para cumplir las especificaciones del estándar establecido por la comisión IECEX (International Electrotechnical Commission System for Certification to Standards Relating to Equipment for Use in Explosive Atmospheres), el organismo internacional que se ocupa de establecer normativas sobre frecuencias de radio en entornos potencialmente peligrosos.

La verificación del cumplimiento de las especificaciones y su concordancia con las posibles certificaciones que se apliquen en cada caso es una tarea que recae en el cliente, ya que es este el que habrá de manifestar si el producto suministrado por la empresa desarrolladora se ajusta a los requerimientos de funcionalidad que se establecieron en las primeras reuniones. También suele ser usual que el cliente contrate los servicios de empresas de análisis de software o hardware externas que concluyan si la aplicación se atiene a lo esperado.

En este sentido, es una buena práctica establecer listas de control donde pueda comprobarse y acompañarse con las certificaciones debidas cualquier aspecto que hubiera sido descrito en un pliego previo de condiciones. Si estas comprobaciones son satisfactorias, el cliente tendrá que firmar un acta de aceptación del software, evidenciando de este modo que la aplicación desarrollada está en condiciones de funcionamiento y que realiza las tareas para las que se diseñó.

Image

Actividades

12. Si un cliente solicita un programa multimedia que debe utilizar Internet para manejar alguno de sus recursos web, ¿puede el equipo desarrollador inventar sus propios protocolos de red para usar navegadores de amplia implantación en el mercado?

12.4. Pruebas de aceptación

Una vez desarrollada una aplicación dada, es imprescindible enfrentarla con el que va a ser su ambiente de uso habitual, y para esto se debe implementar un entorno donde pueda testarse a fin de encontrar los posibles fallos que los usuarios potenciales pudieran provocar o encontrar, o bien fuera posible observar cómo la aplicación interactúa con otros programas o sistemas.

En este sentido, es el cliente el que debe, junto con los desarrolladores de software o hardware, establecer unos criterios que permitan un acuerdo a partir del cual se verifica positiva o negativamente el comportamiento global, por componentes o por ambientes de trabajo, del proyecto encomendado.

Estas pruebas de aceptación permiten, en sus fases primeras, introducir mejoras que conduzcan a una validación y aceptación del producto por parte del cliente antes de su entrega y puesta en marcha y, por ende, una garantía de que la calidad obtenida es acorde con las especificaciones exigidas.

12.5. Conectividad con sistemas externos

El primer paso para lograr un objetivo de conectividad con sistemas externos habría sido el cumplimiento de los estándares de red (protocolo TCP/ IP, por ejemplo) establecidos por las condiciones del proyecto y la verificación de que el hardware empleado es compatible en sus diversos aspectos (conectores, ranuras de expansión, cableados, radiofrecuencias, etc.) con el que utilicen los sistemas con los que ha de establecerse la conectividad.

Al igual que ocurre con los componentes que integran un equipo, la conectividad con posibles sistemas externos se verificará ante el cliente con una prueba de aceptación dentro de un escenario diseñado para que simule el entorno donde la aplicación programada cumpla las expectativas de calidad especificadas en los pliegos de requisitos.

Image

Nota

La conectividad de una aplicación es casi obligada en un mercado como el actual y debe ser verificada para que alcance un alto grado de calidad en su funcionamiento.

12.6. Formato de archivos y almacenamiento

Son múltiples las posibilidades de elección de archivos y modelos de almacenamiento, dependiendo, por tanto, esta decisión de los formatos exigidos por la tipología de aplicación que se desarrolle. Literalmente, son cientos los tipos de archivos utilizables según el tipo de datos que contengan. En multimedia, los formatos más usuales son los que codifican audio, vídeo, imagen o texto, siendo por tanto verdaderamente elevada la variedad de ellos; tan solo de imagen fija digital no vectorial y contando únicamente con los principales formatos, el listado alcanzaría con facilidad la treintena. Cada aplicación usará, por tanto, unos formatos de ficheros u otros según sean sus necesidades. Por ejemplo, una aplicación usará el formato de imagen TIFF en lugar de JPEG si lo que pretende es una gran calidad gráfica.

Ya se trate de texto, imagen fija o en movimiento, sonido o cualquier otro tipo de datos, se habrá de tener en cuenta su comportamiento dentro del hardware o el software que se vaya a utilizar. Así pues, un dispositivo con poca capacidad de memoria y ejecución como pudiera ser un GPS trabajará más rápidamente con formatos de mapas basados en vectores —por su escaso tamaño— que con imágenes geográficas basadas en mapas de bits, tal como pudieran ser fotografías aéreas georreferenciadas de alta resolución. Por otro lado, la posible descarga de ficheros que lleve a cabo el dispositivo o la subida de ellos a cualquier tipo de red debería ser otro criterio importante a la hora de optar por un tipo de fichero u otro, y también la calidad, por ejemplo, de la imagen contenida en caso de que fuera un fichero gráfico.

El almacenamiento, entendido como la cantidad de datos que son posibles de recopilar y la rapidez que el dispositivo de almacenamiento es capaz de permitir a la hora de escribirlos o recuperarlos, es otro factor a tener en cuenta; un dispositivo de escasa capacidad de almacenamiento o lento cuando debe gestionar datos no debe trabajar con ninguna aplicación que necesite emplear archivos de gran tamaño. En este sentido hay que citar la posibilidad de usar formatos de archivos comprimidos como los tipo zip, rar o tar. Estos ficheros utilizan un algoritmo de compresión que permite disminuir el peso de un fichero nuevo respecto al fichero original, siendo posible su restauración posterior sin ninguna pérdida de datos.

Image

Actividades

13. ¿Está relacionado el tamaño de un fichero de imagen con la resolución de la imagen que contiene? ¿Es necesario usar siempre la mayor calidad de imagen posible?

12.7. Formatos multimedia: de imagen, de vídeo, de audio y de creación multimedia y tratamientos de datos

El extenso campo de los formatos dedicados a lo multimedia es un aspecto del software en constante desarrollo y evolución puesto que cada vez son más los dispositivos que integran capacidades multimedia dirigidas a cualquier cometido; desde una pizarra electrónica hasta un smartphone basan su operatividad en su envoltura multimedia.

En la actualidad, sería posible restringir el uso de algunos de estos formatos a estándares de facto que han ido imponiéndose en el mercado, tanto por guerras comerciales de las grandes compañías propietarias legales de esos formatos como por las preferencias generales de los usuarios. Un ejemplo de este escenario pueden representarlo dos populares formatos de imagen fija: el formato propietario JPEG frente al formato PNG, que fue creado originalmente como respuesta de código abierto al formato GIF, que utilizaba un algoritmos de compresión —el LZW— protegido hasta 2003 por las oficinas de patentes de diversos países.

En la actualidad, los formatos que se detallan a continuación serían los más empleados en aplicaciones multimedia.

Formatos de imagen

Los formatos de imagen han tenido una gran evolución en el campo de lo multimedia en los últimos años, obteniéndose cada vez una mejor relación entre la calidad y el peso de los ficheros. En la actualidad, estos son los de más amplio uso en multimedia:

  1. JPG (joint photographic experts group): es casi un estándar ya en Internet dado su buen algoritmo de compresión o su flexibilidad de licencias de uso. A pesar de que la imagen pierde un poco de calidad cuando adopta este formato, la relación peso/calidad es muy alta si estos ficheros se van a usar en red. No es el formato ideal si lo que se pretende es una alta resolución de imagen.
  2. TIF (tagged image file format): es la opción de calidad frente al JPG. El formato TIF tiene el inconveniente de su gran peso dada la enorme profundidad de color que puede almacenar, siendo el formato más usado para almacenar imágenes a alta resolución o para tareas de impresión.
  3. PNG (portable network graphic): es el último de los formatos en popularizarse y de características similares al JPG a efectos de calidad y compresión. Cuenta con la ventaja de ser un formato libre, es decir, no estar sujeto a ningún algoritmo de compresión que posea ninguna compañía, por lo que su uso y distribución no presenta problemas legales.

Image

Nota

El peso de un fichero es crucial para la industria multimedia, ya que numerosas aplicaciones ahora en uso requieren poder transmitir archivos por redes inalámbricas.

Formatos de vídeo

Los formatos de vídeo constituyen uno de los campos de más investigación en el desarrollo de algoritmos de compresión, ya que la industria requiere de formatos de gran calidad y poco peso para poder enviar vídeo por redes como las de telefonía móvil usadas por smartphones o tablets. Los formatos más usuales son:

  1. AVI (audio vídeo interleaved): aunque un poco desplazado desde hace tiempo por el formato MPEG, el formato AVI es una garantía de uso, ya que ha sido el estándar de almacenamiento de vídeo durante años. Los ficheros que crea son pesados en caso de que se elija una compresión de vídeo que dé calidad, pero, como contrapartida, casi la totalidad de dispositivos pueden reproducir este formato sin problemas. El único inconveniente es que, dado el peso de los archivos, no es el formato más indicado para su uso en red.
  2. MPEG (moving pictures expert group): es casi el nuevo estándar de vídeo por su versatilidad y su excelente relación entre peso y calidad. Esto ha hecho que una gran parte del vídeo que se transmite por Internet haya tomado como base el MPEG para obtener menores tiempos de descarga.
  3. MOV (movie): es el formato desarrollado por Apple para Mac aunque también es compatible con Windows. Durante unos años se consideraba como un formato de calidad y fue muy empleado en plataformas como DVD interactivos. Su nivel de calidad puede graduarse para conseguir buenas relaciones de peso/calidad pero se ha visto desplazado por el MPG ya que no todas las aplicaciones pueden ejecutar MOV. Habitualmente se necesita un software de Apple llamado QuickTime para visionar este formato.

Image

Importante

Cuando se programa multimedia se debe buscar una buena compatibilidad de archivos para ser usados en distintas plataformas y la mejor opción es emplear formatos muy conocidos en lugar de formatos excesivamente modernos de menor implantación.

Formatos de audio

El sonido ha sido tradicionalmente uno de los elementos que más formatos distintos ha tenido en la historia de la informática, ya que la reproducción de música o el uso de sonido de fondo en aplicaciones como los juegos ha estado presente desde los primeros momentos de desarrollo de software.

Estos son los formatos con mayor implantación en la actualidad:

  1. WAV (waveform audio file): el formato WAV ha sido, junto con el AVI para vídeo, la base de muchísimas aplicaciones multimedia, sobre todo aquellas que se realizaron para ser distribuidas en CD o DVD. WAV fue desarrollado por Microsoft y tiene una estupenda calidad de sonido aunque los ficheros que genera son pesados y poco susceptibles de ser empleados para estructuras de red como Internet. Este es uno de los motivos por los que está siendo desplazado por MP3, aunque la cuota de mercado de WAV es todavía muy amplia ya que su versatilidad es enorme y pocos son los dispositivos que no pueden reproducirlo.
  2. MP3 (MPEG 1 layer 3): es el nuevo estándar de audio con una implantación enorme dado que su algoritmo de compresión permite una calidad más que aceptable con poco peso de fichero. Este hecho lo ha convertido en el formato más usado para la transmisión de ficheros de audio por Internet. Su versatilidad es muy alta, ya que desde un reproductor de bolsillo hasta un equipo de música de sobremesa pasando por todo tipo de ordenadores y smartphones pueden reproducirlo.

Formatos de bases y tratamiento de datos

Los datos que se almacenan o se procesan en una base de datos también han generado una serie ingente de formatos de archivos específicos, pero, a diferencia de los formatos de imagen, vídeo o audio, suelen estar muy vinculados a las aplicaciones que los gestionan. Así pues, formatos de bases de datos con extensión “db”, asociados a las bases de datos Paradox de la empresa Corel Corporation y al sistema de gestión de bases de datos SQLite, suelen ser los más populares actualmente junto con los formatos SQL, de bastante uso en páginas web que emplean sistemas de gestión de contenidos (CMS). SQL es un formato abierto respecto a sus licencias de uso y no depende, por consiguiente, de marcas comerciales que limiten su empleo o distribución.

Creación de multimedia

El software con el que se desarrolla y programa un determinado producto es también motivo de la elección de uno u otro formato final. Esto ocurre tanto con las bases de datos como con los ficheros que podrían llamarse de multimedia en un sentido más estricto; durante mucho tiempo ha sido casi un estándar la producción de animaciones para el entorno web mediante el uso de ficheros con formato SWF, ya que era el formato que generaba la popular herramienta Adobe Flash Professional y Shockwave.

En la actualidad, el mercado ha cambiado drásticamente y es difícil hablar de formatos multimedia al estilo de SWF, ya que lo que se emplea ahora para generar multimedia son, principalmente, los formatos de audio, vídeo e imagen descritos anteriormente y se articulan como multimedia a través de aplicaciones programadas en lenguajes como XHTML.

Image

Importante

Si en un software multimedia se va a emplear una base de datos es muy importante comprobar que esta base de datos pueda funcionar en el dispositivo final que se emplee.

12.8. Compresión de archivos

Tal y como se refleja en los apartados anteriores, el aspecto de conexión a diversas redes del que actualmente disfrutan muchos de los dispositivos capaces de ejecutar productos multimedia hace que el tema de la transmisión de datos mediatice numerosos ámbitos de la programación del software. La necesidad de archivos que puedan contener multimedia (audio, vídeo, animaciones vectoriales, etc.) pero con el menor tamaño posible y que pueda transmitirse con rapidez es uno de los grandes objetivos de la industria.

En este sentido, la compresión de datos constituye uno de los elementos diferenciadores entre muchos formatos contenedores de multimedia y son múltiples las compañías que durante las últimas tres décadas han invertido grandes esfuerzos humanos y económicos para desarrollar algoritmos de compresión que faciliten una reducción de los datos contenidos pero sin una merma de calidad apreciable en la información que portan.

Como ejemplo puede servir el conocido formato de imagen JPEG. Este formato aplica a sus datos un modelo, un algoritmo, de compresión que se basa en la eliminación o pérdida de parte de la información de color en una fotografía para hacer el fichero menos pesado, ya que el ojo humano tiende a obviar ese tipo de información en favor de la luminancia que muestre un objeto fotografiado en alguna de sus partes. Este algoritmo de compresión permite diversos grados de calidad dependiendo del volumen de datos que se requiera; procesos parecidos se emplean en formatos de audio (los formatos MP3, por ejemplo) e incluso en la codificación de vídeo con el popular formato MPG4.

Image

Nota

Las versiones de todo tipo de ficheros han de ser comprobadas para evitar problemas de compatibilidad de software.

13. Resumen

En este primer capítulo se han definido conocimientos clave sobre el diseño de productos multimedia, tanto en sus aspectos de software como de hardware.

Como primer paso en el desarrollo de una aplicación multimedia es necesario un modelo claro que gestione en abstracto las diferentes etapas por las que el software en proceso de creación tendrá que ir pasando. Estos tiempos y labores se formulan bajo unos modelos de arquitectura de software, en cascada y el método V, que permitirán la inclusión de criterios de calidad en todo momento del proceso de elaboración de las aplicaciones.

La extensa variedad de dispositivos de hardware, móviles, portátiles, tablets, ordenadores de sobremesa, etc., marcan, además, numerosos planteamientos editoriales que, más tarde, requerirán determinadas arquitecturas de software para lograr un mayor rendimiento de la aplicación.

En la arquitectura del software es el modelo basado en el módulo el más rentable a efectos de procesado para cualquier tipo de producto multimedia, ya que la programación por módulos y su organización interna por sistemas y subsistemas hacen fácil su adaptación a proyectos que exijan una compatibilidad entre distintos dispositivos, por un lado, y también favorece un mejor capacidad de la programación para amoldarse a los criterios de funcionalidad, interoperatividad y usabilidad que las modernas interfaces de usuario exigen.

Así pues, la planificación conceptual de las arquitecturas del hardware y el software, junto con un control exhaustivo que verifique cada uno de los pasos en el desarrollo de un producto multimedia, son elementos tan fundamentales como su posterior programación y diseño gráfico.

Image

Ejercicios de repaso y autoevaluación

1. Para que un producto se considere multimedia debe contener...

  1. ... imágenes.
  2. ... solo imágenes y audio.
  3. ... hipertexto.
  4. ... debe integrar diferentes medios de expresión.

2. Ordene los siguientes soportes de almacenamiento por su orden de antigüedad.

  1. Tarjeta de memoria SD
  2. DVD
  3. Disquete de 3,5 pulgadas
  4. Blu-ray
  5. Pendrive USB
  6. CD-ROM

3. Un producto multimedia presenta una estructura de datos lineal cuando...

... permite al usuario un acceso __________ a los __________ contenidos, del mismo modo que puede hacerse en un __________ tradicional.

4. Un producto multimedia es interactivo cuando...

  1. ... se conecta con Internet.
  2. ... el usuario puede incorporar su propio material.
  3. ... el software responde de un modo u otro a la acción del usuario.
  4. Todas las opciones anteriores son incorrectas.

5. Una vez comprada la licencia de un programa que funcione bajo el modelo de software propietario se puede modificar ese programa a conveniencia alterando su código. ¿Verdadero o falso?

  1. Verdadero
  2. Falso

6. Se podría definir el software libre como aquel que...

... dependiendo del modelo de __________ bajo el que se difunda permite su __________ sin limitaciones, su uso gratuito o incluso la modificación de su __________ fuente.

7. Para que un fichero sea compatible debe...

  1. ... poderse ejecutar en cualquier plataforma.
  2. ... no tener conflictos de versiones con el programa al que está asociado.
  3. ... caber en un antiguo disquete.
  4. Todas las opciones anteriores son incorrectas.

8. Un diseño se considera “modular” cuando...

  1. ... se le pueden intercambiar componentes al hardware donde se ejecuta.
  2. ... está compuesto de varios archivos
  3. ... está escrito su código estableciendo funciones sencillas separadas de otras pero que se relacionan entre sí.
  4. Todas las opciones anteriores son incorrectas.

9. Con el término “cohesión” se define...

... el grado de __________ de un __________ compilado para contener una serie de __________ que impliquen una función concreta y particular, un solo proceso.

10. ¿Cuál de los siguientes modelos de construcción de software no existe?

  1. En cascada.
  2. En cruz.
  3. En V.
  4. Todas las opciones anteriores son incorrectas.

11. Para que un dispositivo se conecte a Internet se deben escribir los protocolos de conexión.

  1. Verdadero, es parte de la programación de cualquier software con capacidades de red.
  2. Falso, ya existen protocolos estándar para esa tarea.

12. ¿Cuáles de estos nombres no se corresponden a topologías de red?

  1. En estrella.
  2. En malla.
  3. En bus.
  4. En serie.
  5. En router.

13. ¿Qué formato de imagen posee mayor peso pero da una calidad de imagen con mayor profundidad de color?

  1. PNG.
  2. TIF.
  3. JPG.
  4. Todas las opciones anteriores son incorrectas.

14. Los archivos de datos comprimidos solo se deben usar cuando van a ser transmitidos a través de una red.

  1. Sí, porque facilita un rápida conexión de datos.
  2. No, la compresión de datos no está relacionada con la conectividad.

15. La interoperatividad consiste en que...

  1. ... varios usuarios puedan operar con el mismo software a la vez.
  2. ... un programa pueda pasar sus datos a otros que estén correctamente instalados en el mismo ordenador.
  3. ... un software utilice formatos susceptibles de ser utilizados en distintas plataformas y programas.
  4. Todas las opciones anteriores son incorrectas.