Archivos para 16 abril 2010

Qué es un modelo?

Llamamos modelo a toda representación simplificada de la realidad, donde se han conservado aquellos elementos considerados importantes y se han descartado todo lo demás.

Los modelos son importantes dentro de la industria del software, y son utilizados para toda suerte de fines. Es posible apoyarse en el uso de modelos para entender y comunicar una enorme variedad de aspectos de nuestros productos de software e incluso, de los proyectos en si mismos.

En general, ya sea dentro de la industria del software o no, los modelos vienen a ayudar la comprensión de la realidad, al presentarnos solo aquellos aspectos o características de la situación que sean relevantes en un momento dado.

Pongamos un ejemplo. El New Beetle es un producto muy conocido de la compañía alemana Volkswagen y es el automóvil que podemos ver en la primera imagen. En este caso, es un automóvil de color negro.

Automóvil Volkswagen New BeetleFig 1. Volkswagen New Beetle.

Es posible decir mucho de este automóvil. Podemos indicar cualidades obvias, como que tiene cuatro ruedas, dos puertas, un volante, que su techo es curvo o cualquier otra que se nos pueda ocurrir. Aunque también es posible indicar cualidades más sutiles, como el hecho que el automóvil de la foto no tiene placa. Hemos de recordar que después de todo, el producto no es solo muy conocido, sino que lo que tenemos ante nosotros es una foto y por lo tanto, tenemos muchos detalles a la vista.

Es posible sin embargo, que en un momento dado lo que nos interese decir sobre el automóvil sean sus medidas. Si este el caso hemos de construir un modelo en el cual se eliminen todas estas cualidades observadas y se queden solo aquellas que permitan ver con claridad las medidas del automóvil.

Naturalmente siempre podremos comunicar nuestra versión simplificada del automóvil por medio de una imagen, quizás una imagen como la siguiente.

Esquema del Volkswagen New BeetleFig 2. Esquema del Volkswagen New Beetle.

Nuestra segunda imagen resalta el aspecto de interés: las medidas del automóvil. Al hacerlo nos presenta una vista inusual del producto real, quizás una que no tendremos ocasión de ver jamás en el mundo físico, pero que comunica en forma muy directa lo que necesitamos.

Un modelo es pues, definido como para el glosario:

Modelo: toda construcción hecha con información de una situación, idea o fenómeno real, en la cual hayamos resaltado ciertos aspectos de interés al tiempo que hemos ocultado todo lo demás.

Para construir modelos no hace falta necesariamente recurrir a diagramas e imágenes, pero es definitivamente una forma popular de hacerlo. Además de los planos o diagramas como los que se ilustran en el ejemplo del Volkswagen, contamos con herramientas más propias de nuestra profesión, como el lenguaje de construcción de modelos UML.

De esta forma, cuando se trate de aplicaciones de software, lo más común será encontrar modelos construidos y presentados por medio del uso del UML, actividad para la cual contamos con una gran variedad de herramientas útiles disponibles hoy en día, tanto comerciales como libres.

Anuncios

2 comentarios

Requisitos legales

Se le llama requisitos legales a aquellas condiciones, impuestas por ley, que deban ser cumplidas por el proyecto, ya sea en la ejecución del proyecto como tal o en la funcionalidad provista por el sistema terminado. Los requisitos legales nacen de las leyes vigentes y que apliquen a nuestro proyecto de desarrollado ya sea por su naturaleza o por la jurisdicción bajo la cual se encuentra nuestra empresa.

Los requisitos legales surgidos por la naturaleza de nuestro proyecto, son aquellas obligaciones legales que puedan existir para ciertos tipos de aplicaciones. Son ejemplos comunes: las aplicaciones bancarias, los sistemas electorales y aquellos sistemas que manejen información privada del publico.

Las aplicaciones bancarias se encuentran sometidas a una amplia gama de requisitos legales. Tanto de confidencialidad como de confiabilidad en las transacciones. Se suele incluir en la legislación de muchos países aspectos tales como los registros de las operaciones, la interoperatividad de los sistemas, la criptografía a utilizar y las garantías de correcto funcionamiento.

Un poco más recientes, son las aplicaciones para sistemas electorales. En algunos países de la región así como en algunas jurisdicciones locales en los Estados Unidos, se han comenzado a utilizar sistemas de voto electrónico, ya sea en sustitución de las votaciones manuales o como complemento de estas en casos específicos. Como es natural esperar, los procesos de votación electrónica han de contar con gran cantidad de partes interesadas o stakeholders, razón esta por la cual hay grandes requerimientos de transparencia, confiabilidad y exactitud exigidos a estos sistemas por la ley y los reglamentos respectivos.

Incluso en aplicaciones más comunes pueden existir requisitos legales a considerar. Aquellos sistemas que recojan información de sus usuarios y que a la vez, permitan el registro del publico general como usuarios de las mismas, suelen estar sometidas a regulaciones sobre la seguridad de los datos.

Una variación también muy común es la de restringir el registro de menores de edad, por así requirlo las leyes de defensa de los niños u otros grupos protegidos.

Los requisitos legales surgidos por la jurisdicción son una matería de amplia discusión en estos días de Internet. En los viejos días era fácil identificar la jurisdicción competente, pues esta coincidia con el área geografica en que se ubicaba nuestra empresa. Hoy en día en cambio, es necesario considerar jurisdicciones adicionales, ya que nuestros productos pueden ser utilizados en otros países con más facilidad que nunca antes, y el incumplir con los eventuales requisitos legales de otras jurisdicciones pueden causar problemas con la comercialización de nuestras aplicaciones.

Todo esto significa que en aplicaciones de gran escala es conveniente obtener asesoría legal de parte de un escritorio juridico o abogado, tomando lo que este nos indique como requisitos funcionales o no funcionales, según sea el caso.

, , , , , ,

3 comentarios