Está en la página 1de 14

DISEO DE SISTEMAS

DISEO DE INTERFAZ
El diseo de interfaz o ingeniera de la interfaz es el diseo de computadoras, aplicaciones,
mquinas, dispositivos de comunicacin mvil, aplicaciones de software, y sitios web enfocado
en la experiencia de usuario y la interaccin.
Normalmente es una actividad multidisciplinar que involucra a varias ramas es decir al diseo y
el conocimiento como el diseo grfico, industrial, web, de software y la ergonoma; y est
implicado en un amplio rango de proyectos, desde sistemas para computadoras, vehculos
hasta aviones comerciales.
Su objetivo es que las aplicaciones o los objetos sean ms atractivos y adems, hacer que la
interaccin con el usuario sea lo ms intuitiva posible, conocido como el diseo centrado en el
usuario. En este sentido las disciplinas del diseo industrial y grfico se encargan de que la
actividad a desarrollar se comunique y aprenda lo ms rpidamente, a travs de recursos como
la grfica, los pictogramas, los estereotipos y la simbologa, todo sin afectar el funcionamiento
tcnico eficiente.

ARQUITECTURA
Es el diseo o conjunto de relaciones entre las partes que constituyen un sistema.
Existen mltiples definiciones para arquitectura de sistemas:
* Es la organizacin fundamental de un sistema, que incluye sus componentes, las relaciones
entre s y el ambiente, y los principios que gobiernan su diseo y evolucin. (del From
ANSI/IEEE 1471-2000).
* Es una descripcin del diseo y contenido de un sistema de computadora. Puede incluir
informacin como el hardware y software que contiene, y la capacidad de la red.

* Descripcin formal de un sistema o un plan detallado del sistema a nivel componente como
gua para su implementacin.

La arquitectura de un sistema es una representacin de un sistema existente o a crear y el


proceso y disciplina para efectivamente implementar el diseo como un sistema.
Es una representacin porque la arquitectura es usada para transportar informacin abstracta
sobre el sistema, las relaciones entre sus elementos y las reglas que gobiernan esas
relaciones.
Es un proceso porque es una secuencia de pasos para producir un sistema o cambiar la
arquitectura del sistema o disear el sistema.

MVC modelovistacontrolador (MVC)


es un patrn de arquitectura de software que separa los datos y la lgica de negocio de una
aplicacin de la interfaz de usuario y el mdulo encargado de gestionar los eventos y las
comunicaciones. Para ello MVC propone la construccin de tres componentes distintos que son
el modelo, lavista y el controlador, es decir, por un lado define componentes para la
representacin de la informacin, y por otro lado para la interaccin del usuario. 1 2 Este patrn
de arquitectura de software se basa en las ideas dereutilizacin de cdigo y la separacin de
conceptos, caractersticas que buscan facilitar la tarea de desarrollo de aplicaciones y su
posterior mantenimiento

Descripcin del patrn

Una tpica colaboracin entre los componentes de un MVC


De manera genrica, los componentes de MVC se podran definir como sigue:

El Modelo: Es la representacin de la informacin con la cual el sistema opera, por lo


tanto gestiona todos los accesos a dicha informacin, tanto consultas como actualizaciones,
implementando tambin los privilegios de acceso que se hayan descrito en las
especificaciones de la aplicacin (lgica de negocio). Enva a la 'vista' aquella parte de la
informacin que en cada momento se le solicita para que sea mostrada (tpicamente a un
usuario). Las peticiones de acceso o manipulacin de informacin llegan al 'modelo' a
travs del 'controlador'.

El Controlador: Responde a eventos (usualmente acciones del usuario) e invoca


peticiones al 'modelo' cuando se hace alguna solicitud sobre la informacin (por ejemplo,
editar un documento o un registro en una base de datos). Tambin puede enviar comandos
a su 'vista' asociada si se solicita un cambio en la forma en que se presenta el 'modelo' (por
ejemplo, desplazamiento o scroll por un documento o por los diferentes registros de una
base de datos), por tanto se podra decir que el 'controlador' hace de intermediario entre la
'vista' y el 'modelo' .

La Vista: Presenta el 'modelo' (informacin y lgica de negocio) en un formato adecuado


para interactuar (usualmente la interfaz de usuario) por tanto requiere de dicho 'modelo' la
informacin que debe representar como salida.

Interaccin de los componentes


Aunque se pueden encontrar diferentes implementaciones de MVC, el flujo de control que se
sigue generalmente es el siguiente:
1. El usuario interacta con la interfaz de usuario de alguna forma (por ejemplo, el usuario
pulsa un botn, enlace, etc.)
2. El controlador recibe (por parte de los objetos de la interfaz-vista) la notificacin de la
accin solicitada por el usuario. El controlador gestiona el evento que llega,
frecuentemente a travs de un gestor de eventos (handler) o callback.
3. El controlador accede al modelo, actualizndolo, posiblemente modificndolo de forma
adecuada a la accin solicitada por el usuario (por ejemplo, el controlador actualiza el
carro de la compra del usuario). Los controladores complejos estn a menudo
estructurados usando un patrn de comando que encapsula las acciones y simplifica su
extensin.
4. El controlador delega a los objetos de la vista la tarea de desplegar la interfaz de
usuario. La vista obtiene sus datos del modelo para generar la interfaz apropiada para el
usuario donde se reflejan los cambios en el modelo (por ejemplo, produce un listado del
contenido del carro de la compra). El modelo no debe tener conocimiento directo sobre
la vista. Sin embargo, se podra utilizar el patrn Observador para proveer cierta
indireccin entre el modelo y la vista, permitiendo al modelo notificar a los interesados
de cualquier cambio. Un objeto vista puede registrarse con el modelo y esperar a los
cambios, pero aun as el modelo en s mismo sigue sin saber nada de la vista. Este uso
del patrn Observador no es posible en las aplicaciones Web puesto que las clases de
la vista estn desconectadas del modelo y del controlador. En general el controlador no
pasa objetos de dominio (el modelo) a la vista aunque puede dar la orden a la vista para
que se actualice.

5. La interfaz de usuario espera nuevas interacciones del usuario, comenzando el ciclo


nuevamente.
MVC y bases de datos
Muchos sistemas informticos utilizan un Sistema de Gestin de Base de Datos para gestionar
los datos que debe utilizar la aplicacin; en lneas generales del MVC dicha gestin
corresponde al modelo. La unin entre capa de presentacin y capa de negocio conocido en el
paradigma de la Programacin por capas representara la integracin entre la Vista y su
correspondiente Controlador de eventos y acceso a datos, MVC no pretende discriminar entre
capa de negocio y capa de presentacin pero si pretende separar la capa visual grfica de su
correspondiente programacin y acceso a datos, algo que mejora el desarrollo y mantenimiento
de la Vista y el Controlador en paralelo, ya que ambos cumplen ciclos de vida muy distintos
entre s.
Uso en aplicaciones Web
Aunque originalmente MVC fue desarrollado para aplicaciones de escritorio, ha sido
ampliamente adaptado como arquitectura para disear e implementar aplicaciones web en los
principales lenguajes de programacin. Se han desarrollado multitud de frameworks,
comerciales y no comerciales, que implementan este patrn (ver apartado siguiente
"Frameworks MVC"); estos frameworks se diferencian bsicamente en la interpretacin de
como las funciones MVC se dividen entre cliente y servidor.

Los primeros frameworks MVC para desarrollo web planteaban un enfoque de cliente ligero en
el que casi todas las funciones, tanto de la vista, el modelo y el controlador recaan en el
servidor. En este enfoque, el cliente manda la peticin de cualquier hiperenlace o formulario al
controlador y despus recibe de la vista una pgina completa y actualizada (u otro documento);
tanto el modelo como el controlador (y buena parte de la vista) estn completamente alojados
en el servidor. Como las tecnologas web han madurado, ahora existen frameworks
como JavaScriptMVC, Backbone o jQuery que permiten que ciertos componentes MVC se
ejecuten parcial o totalmente en el cliente (vase AJAX).

N CAPAS
es una arquitectura cliente-servidor en el que el objetivo primordial es la separacin de la
lgica de negocios de la lgica de diseo; un ejemplo bsico de esto consiste en separar la
capa de datos de la capa de presentacin al usuario.

La ventaja principal de este estilo es que el desarrollo se puede llevar a cabo en varios niveles
y, en caso de que sobrevenga algn cambio, solo se ataca al nivel requerido sin tener que
revisar entre cdigo mezclado. Un buen ejemplo de este mtodo de programacin sera
el modelo de interconexin de sistemas abiertos.
Adems, permite distribuir el trabajo de creacin de una aplicacin por niveles; de este modo,
cada grupo de trabajo est totalmente abstrado del resto de niveles, de forma que basta con
conocer la API que existe entre niveles.
En el diseo de sistemas informticos actual se suelen usar las arquitecturas multinivel o
Programacin por capas. En dichas arquitecturas a cada nivel se le confa una misin simple,
lo que permite el diseo de arquitecturas escalables (que pueden ampliarse con facilidad en
caso de que las necesidades aumenten).
El ms utilizado actualmente es el diseo en tres niveles (o en tres capas).
Capas y niveles
1. Capa de presentacin: la que ve el usuario (tambin se la denomina "capa de
usuario"), presenta el sistema al usuario, le comunica la informacin y captura la

informacin del usuario en un mnimo de proceso (realiza un filtrado previo para


comprobar que no hay errores de formato). Tambin es conocida como interfaz grfica y
debe tener la caracterstica de ser "amigable" (entendible y fcil de usar) para el
usuario. Esta capa se comunica nicamente con la capa de negocio.
2. Capa de negocio: es donde residen los programas que se ejecutan, se reciben las
peticiones del usuario y se envan las respuestas tras el proceso. Se denomina capa de
negocio (e incluso de lgica del negocio) porque es aqu donde se establecen todas las
reglas que deben cumplirse. Esta capa se comunica con la capa de presentacin, para
recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al
gestor de base de datos almacenar o recuperar datos de l. Tambin se consideran aqu
los programas de aplicacin.
3. Capa de datos: es donde residen los datos y es la encargada de acceder a los mismos.
Est formada por uno o ms gestores de bases de datos que realizan todo el
almacenamiento de datos, reciben solicitudes de almacenamiento o recuperacin de
informacin desde la capa de negocio.
Todas estas capas pueden residir en un nico ordenador, si bien lo ms usual es que haya una
multitud de ordenadores en donde reside la capa de presentacin (son los clientes de la
arquitectura cliente/servidor). Las capas de negocio y de datos pueden residir en el mismo
ordenador, y si el crecimiento de las necesidades lo aconseja se pueden separar en dos o
ms ordenadores. As, si el tamao o complejidad de la base de datos aumenta, se puede
separar en varios ordenadores los cuales recibirn las peticiones del ordenador en que resida
la capa de negocio.
Si, por el contrario, fuese la complejidad en la capa de negocio lo que obligase a la separacin,
esta capa de negocio podra residir en uno o ms ordenadores que realizaran solicitudes a una
nica base de datos. En sistemas muy complejos se llega a tener una serie de ordenadores
sobre los cuales corre la capa de negocio, y otra serie de ordenadores sobre los cuales corre la
base de datos.

En una arquitectura de tres niveles, los trminos "capas" y "niveles" no significan lo mismo ni
son similares.
El trmino "capa" hace referencia a la forma como una solucin es segmentada desde el punto
de vista lgico:

Presentacin. (Conocida como capa Web en aplicaciones Web o como capa de usuario
en Aplicaciones Nativas)

Lgica de Negocio. (Conocida como capa Aplicativa)

Datos. (Conocida como capa de Base de Datos)

En cambio, el trmino "nivel" corresponde a la forma en que las capas lgicas se encuentran
distribuidas de forma fsica. Por ejemplo:

Una solucin de tres capas (presentacin, lgica del negocio, datos) que residen en un
solo ordenador (Presentacin+lgica+datos). Se dice que la arquitectura de la solucin es
de tres capas y un nivel.

Una solucin de tres capas (presentacin, lgica del negocio, datos) que residen en dos
ordenadores (Presentacin+lgica por un lado; lgica+datos por el otro lado). Se dice que la
arquitectura de la solucin es de tres capas y dos niveles.

MODULO
En programacin un mdulo es una porcin de un programa de ordenador. De las varias tareas
que debe realizar un programa para cumplir con su funcin u objetivos, un mdulo realizar,
comnmente, una de dichas tareas (o varias, en algn caso).
En general (no necesariamente relacionado con la programacin), un mdulo recibe como
entrada la salida que haya proporcionado otro mdulo o los datos de entrada
al sistema (programa) si se trata del mdulo principal de ste; y proporcionar una salida que, a

su vez, podr ser utilizada como entrada de otro un mdulo o bien contribuir directamente a la
salida final del sistema (programa), si se retorna al mdulo principal.
Particularmente,

en

el

caso

de

la programacin,

los

mdulos suelen

estar (no

necesariamente) organizados jerrquicamente en niveles, de forma que hay un mdulo


principal que realiza las llamadas oportunas a los mdulos de nivel inferior.
Cuando un mdulo es convocado, recibe como entrada los datos proporcionados por otro del
mismo o superior nivel, el que ha hecho la llamada; luego realiza su tarea. A su vez este
mdulo convocado puede llamar a otro u otros mdulos de nivel inferior si fuera necesario;
cuando ellos finalizan sus tareas, devuelven la salida pertinente al mdulo inmediato llamador,
en secuencia reversa, finalmente se contina con la ejecucin del mdulo principal.
Caractersticas de un mdulo
Cada uno de los mdulos de un programa idealmente debera cumplir las siguientes
caractersticas:

Tamao relativamente pequeo.- Esto facilita aislar el impacto que pueda tener la
realizacin de un cambio en el programa, bien para corregir un error, o bien por rediseo
del algoritmo correspondiente.

Independencia modular.- Cuanto ms independientes son los mdulos entre s ms


fcil y flexiblemente se trabajar con ellos, esto implica que para desarrollar un mdulo no
es necesario conocer detalles internos de otros mdulos. Como consecuencia de
la independencia modular un mdulo cumplir:

Caractersticas

de caja

negra,

es

decir abstraccin (ver abstraccin

en

programacin orientada a objetos).

Aislamiento de los detalles mediante encapsulamiento (ver encapsulamiento en


programacin orientada a objetos).

La independencia modular mejora el rendimiento humano, pudiendo realizarse


programacin en equipo y desarrollar mdulos paralelamente. Tambin contribuye a
la reutilizacin de software.

CLASES
Las clases se utilizan para representar entidades o conceptos, como los sustantivos en el
lenguaje. Cada clase es un modelo que define un conjunto de variables -el estado, y mtodos
apropiados para operar con dichos datos -el comportamiento. Cada objeto creado a partir de la
clase se denomina instancia de la clase.
Las

clases

son

un

pilar

fundamental

de

la programacin

orientada

objetos

Permiten abstraer los datos y sus operaciones asociadas al modo de una caja negra. Los
lenguajes de programacin que soportan clases difieren sutilmente en su soporte para diversas
caractersticas relacionadas con clases. La mayora soportan diversas formas de herencia.
Muchos lenguajes tambin soportan caractersticas para proporcionar encapsulacin, como
especificadores de acceso.
Una clase tambin puede tener una representacin (metaobjeto) en tiempo de ejecucin, que
proporciona apoyo en tiempo de ejecucin para la manipulacin de los metadatos relacionados
con la clase.
UML
En UML, una clase es representada por un rectngulo que posee tres divisiones:

En donde:

Superior: Contiene el nombre de la Clase

Intermedio: Contiene los atributos (o variables de instancia) que caracterizan a la Clase


(pueden ser private, protected o public).

Inferior: Contiene los mtodos u operaciones, los cuales son la forma como interacta el
objeto con su entorno (dependiendo de la visibilidad: private, protected o public).

Ejemplo:
Una Cuenta Corriente que posee como caracterstica:
Balance
Puede realizar las operaciones de:
Depositar
Girar
y Balance
El diseo asociado es:

TIPOS DE SISTEMAS

SISTEMA CERRADO

Esquema que representa las partes de un sistema fsico, el sistema ser cerrado si la frontera
no permite ningn tipo de interaccin con los alrededores.
Un sistema cerrado es un sistema fsico que no interacta con otros agentes fsicos situados
fuera de l y por tanto no est conectado casualmente ni relacionado con nada externo a el.
Una propiedad importante de los sistemas cerrados es que las ecuaciones de evolucin
temporal, llamadas ecuaciones del movimiento de dicho sistema slo dependen de variables y
factores contenidos en el sistema. Para un sistema de ese tipo por ejemplo la eleccin del
origen de tiempos es arbitraria y por tanto las ecuaciones de evolucin temporal son invariantes
respecto a las traslaciones temporales. Eso ltimo implica que la energa total de dicho sistema
se conserva; de hecho, un sistema cerrado al estar aislado no puede intercambiar energa con
nada externo a l.
El universo entero considerado como un todo es probablemente el nico sistema realmente
cerrado, sin embargo, en la prctica muchos sistemas no completamente aislados pueden
estudiarse como sistemas cerrados con un grado de aproximacin muy bueno o casi perfecto.
Ejemplo: el equipo de fro de un refrigerador domstico.

SISTEMA ABIERTO
Un sistema abierto es un sistema fsico (o qumico) que interacta con otros agentes qumicos,
por lo tanto est conectado correccionalmente con factores externos a l.
Una propiedad importante de los sistemas abiertos es que las ecuaciones de evolucin
temporal, llamadas "ecuaciones del movimiento" de dicho sistema no dependen de variables y
factores contenidas en el sistema. Para un sistema de ese tipo por ejemplo la eleccin del
origen de tiempos es exacta.
Sistema de informacin abierto es mucho ms importante que el cerrado porque de l pueden
depender otras plataformas del sistema, las cuales pueden necesitar cdigos o informacin que
estn introducidas en el mismo. En pocas palabras el sistema abierto es circunferencial en
otros sistemas del sistema por completo.
Para un sistema de ese tipo por ejemplo la eleccin del origen de tiempos es exacta por lo
tanto est conectado correccionalmente con factores externos a l.
Adems se sabe que la clula tambin es considerada como un sistema abierto, ya que
interacta con su medio externo mediante su membrana celular.
Ejemplo: automvil (entra combustible, aceite, aire. Salen gases de escape, desechos, se
produce energa)

También podría gustarte