Kitabı oku: «Diseño funcional y de la interactividad de productos multimedia. ARGN0110», sayfa 3

Yazı tipi:

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:


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.


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.


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.


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.


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.


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.


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.



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.




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.


Sabía que...

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

Türler ve etiketler

Yaş sınırı:
0+
Hacim:
320 s. 84 illüstrasyon
ISBN:
9788417224561
Yayıncı:
Telif hakkı:
Bookwire
İndirme biçimi: