Está en la página 1de 12

ESTRUCTURA DEL SOFTWARE

¿Qué es la arquitectura software?


La arquitectura del software es el diseño de más alto nivel de la estructura de un
sistema. Consiste en un conjunto de abstracciones que forman el “marco” del software.
La arquitectura se diseña en la fase posterior a la de requisitos, la llamada fase de
diseño.

Arquitectura en tres capas


La arquitectura en tres capas es un tipo de arquitectura usada en la gran mayoría de
sistemas. Se suele usar en sistemas que implementan un modelo de negocio como
podría ser una tienda online, una aplicación para gestionar ciertos datos, etc. Sin
embargo no es recomendable usarla en sistemas de tiempo real como los de los coches o
aviones.

Todo sistema que gestiona datos tendrá una base de datos para guardar esos datos y una
interfaz de usuario que será con la que interactúan los usuarios. Además, una parte del
sistema se encargará de procesar los datos y gestionar lo que se hace con ellos. La
arquitectura en tres capas lo que hace es dividir el sistema en tres partes diferenciadas,
de tal forma que cada capa solo se comunique con la inferior. Esas tres capas se
denominan:

Interfaces: Es la que se encarga de que el sistema interactúe con el usuario y viceversa,


muestra el sistema al usuario, le presenta la información y obtiene la información del
usuario en un mínimo de proceso. En el mundo de la informática es conocida como
interfaz gráfica y debe tener la característica de ser amigable, o sea, entendible y fácil de
usar para el usuario. Esta capa se comunica únicamente con la capa intermedia o de
negocio.

Funcionalidad: Es donde residen las funciones que se ejecutan, se reciben las


peticiones del usuario, se procesa la información y se envían las respuestas tras el
proceso. Se denomina capa de negocio o capa de lógica del negocio, porque es aquí
donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la
de presentación, para recibir las solicitudes y presentar los resultados, y con la capa de
acceso a datos, para solicitar al gestor de base de datos almacenar o recuperar datos de
él.

Base de Datos: Esta capa es la encargada de almacenar los datos del sistema y de los
usuarios. Su función es almacenar y devolver datos a la capa de negocio, aunque para
esto también es necesario en algunos casos, que tengan procedimientos almacenados y
funciones dentro de la capa. En una arquitectura de tres capas, esta capa es la única que
puede acceder a los mismos. Está formada por uno o varios sistemas gestores de bases
de datos, localizados en un mismo servidor o en varios.

Para finalizar os mostraré un ejemplo de una aplicación sencilla y seguro que lo


entenderéis todo mucho mejor.
Ejemplo de arquitectura en tres capasDiagrama de componentes que muestra una
arquitectura en tres capas

Este diagrama muestra el diseño arquitectónico de una aplicación para gestionar el


impuesto de circulación de los vehículos registrados en un ayuntamiento. Cabe destacar
que es una aplicación muy sencilla y de ejemplo, una aplicación real con el mismo
propósito sería más compleja.

Como podéis ver está dividida en tres capas con dos componentes en cada capa. Los
componentes finalizados en DAO son los de la capa de persistencia y se encargan de
guardar los vehículos y los contribuyentes. Los componentes de gestión son los que
realizan la llamada a los DAO para obtener, editar, crear y borrar vehículos y
contribuyentes. Además será donde se calcule el precio que tiene que pagar cada
contribuyente en función de ciertos parámetros. Eso es lo que llamamos lógica de
negocio. Finalmente tenemos la capa de presentación que en este caso tiene una vista
web a la que accederá el funcionario y un servicio web. Los componentes se comunican
mediante interfaces y como podéis ver la capa de presentación no se relaciona con
persistencia, solo lo hace con la de negocio y esta a su vez con la de persistencia.

1. Interfaces
Una interfaz de usuario moderna es algo complejo que se compone de texto, formas,
colores y animaciones formadas en última instancia por píxeles individuales de la
pantalla del dispositivo que estás usando. Al empezar a diseñar una interfaz de usuario,
la gran cantidad de opciones puede ser abrumadora

Para ello presentaremos las siguientes interfaces:

a. Pantalla de carga:
La pantalla de carga es la primera que aparecerá al abrir nuestro aplicativo, la cual nos
presentara el logo de la compañía. Además de ello, tiene una duración de 5 segundos
antes de acceder a nuestro aplicativo.
b. Login:
Interfaz donde nuestro usuario ingresara su nombre de acceso y su contraseña par que
pueda ser verificado por nuestro sistema. El usuario puede ingresar letras, números o
caracteres especiales para su correo, según como se halla registrado, y si aún no se ha
registrado, puede hacerlo en la opción que dejamos en la parte inferior del botón
registró
c. Pantalla de Registro:
En esta interfaz nuestro cliente podrá ingresar sus datos para que pueda quedar
registrado en nuestro sistema. Tendrá que ingresas los datos que son requeridos por
nuestro sistema para que pueda acceder. Estos datos viene a ser el nombre del cliente,
su DNI, el Email, su nombre de usuario y su contraseña, también se le pide repetir su
contraseña. Luego el usuario tiene que pulsar el botón de registrar y ya estaría registrado
en nuestro sistema.
d. Menú de Opciones:
En el menú de opciones podremos encontrar tres opciones especiales, las cuales son:
Datos de usuario, el cual la podremos utilizar para que el usuario pueda ver su perfil;
categorías, donde encontraremos las categorías de todos los productos de la tienda, ya
sea tecnología, música, deportes, etc.; y otras opciones para que el usuario pueda
solicitar ayuda en nuestra aplicación y además la opción para que pueda cerrar su
sesión.
e. Registrar Nuevo Producto:
En esta interfaz podrá el encargado de la tiendo ingresar los productos más novedoso
que le estrés trayendo. Se ingresa la categoría del producto, el nombre del producto, la
descripción del producto y el precio del producto, para que se pueda guardar en nuestra
base de datos.
f. Reporte de Productos:
Esta interfaz nos muestra todos los productos según la categoría que hayamos
seleccionado, de cada producto nos mostrara su categoría, nombre, descripción y costo
del producto.

g. Interfaz de Opciones de Compra:


Este interfaz es accesible a través de un icono mostrado anteriormente y sirve para
agregar uno o varios productos al carrito de pedido que se queremos comprar.

INSERTE IMAGEN XXX

2. Funcionalidades
Las funciones de las aplicaciones móviles ofrecen posibilidades infinitas. El mundo de
las aplicaciones móviles está en continua expansión, cada día se crean aplicaciones con
todo tipo de funciones y todo lo relacionado con estos y los Smartphone están en pleno
auge. Desde que en 2007 se presentaron los primeros dispositivos de bolsillo que podían
realizar funciones parecidas a los ordenadores de sobremesa
Para este caso hemos determinado la funcionalidad de cada una de nuestras interfaces
de la siguiente manera

a. Ingresar a la aplicación:
En la Interfaz del Login, donde nuestro usuario ingresara su nombre de acceso y su
contraseña par que pueda ser verificado por nuestro sistema.

Teniendo en cuenta estos 2 datos ingresados, nuestro Login permitirá o denegara el


acceso hacia la aplicación.

Cabe la posibilidad de que nuestro cliente no este afiliado a nuestra tienda, así que podrá
contar con una opción para que pueda registrarse como un cliente nuevo.

b. Registrar un nuevo cliente:


Si un cliente desea ingresar a nuestra aplicación, primero tiene que ingresar sus datos
para que pueda quedar registrado en nuestro sistema. Tendrá que ingresas los datos que
son requeridos por nuestro sistema para que pueda acceder.
c. Seleccionar una categoría:
Para que nuestro cliente pueda revisar nuestro catálogo de productos, lo primero que
debe hacer es seleccionar una categoría del producto que desea adquirir, ya sea de la
categoría tecnología, música, etc. Estas opciones las podrá encontrar en el menú de
opciones de nuestra aplicación

d. Registrar Nuevo Producto:


El encargado de la tienda podrá ingresar los productos para exhibirlos en el catálogo y
así los clientes puedan ver sus principales características y costo del mismo.
e. Productos del catálogo
Esta interfaz nos muestra todos los productos según la categoría que hayamos
seleccionado, de cada producto nos mostrara su categoría, nombre, descripción y costo
del producto.
3. Base de datos
La plataforma Android proporciona dos herramientas principales para el
almacenamiento y consulta de datos estructurados:

 Bases de Datos SQLite


 Content Providers

SQLite es un motor de bases de datos muy popular en la actualidad por ofrecer


características tan interesantes como su pequeño tamaño, no necesitar servidor, precisar
poca configuración, ser transaccional y por supuesto ser de código libre.

Android incorpora de serie todas las herramientas necesarias para la creación y gestión
de bases de datos SQLite, y entre ellas una completa API para llevar a cabo de manera
sencilla todas las tareas necesarias. Sin embargo, en este primer artículo sobre bases de
datos en Android no vamos a entrar en mucho detalle con esta API. Por el momento nos
limitaremos a ver el código necesario para crear una base de datos, insertaremos algún
dato de prueba, y veremos cómo podemos comprobar que todo funciona correctamente.

En Android, la forma típica para crear, actualizar, y conectar con una base de datos
SQLite será a través de una clase auxiliar llamada SQLiteOpenHelper, o para ser más
exactos, de una clase propia que derive de ella y que debemos personalizar para
adaptarnos a las necesidades concretas de nuestra aplicación.

La clase SQLiteOpenHelper tiene tan sólo un constructor, que normalmente no


necesitaremos sobrescribir, y dos métodos abstractos, onCreate() y onUpgrade(), que
deberemos personalizar con el código necesario para crear nuestra base de datos y para
actualizar su estructura respectivamente.

Como ejemplo, nosotros vamos a crear una base de datos muy sencilla llamada
BDUsuarios, con una sola tabla llamada Usuarios que contendrá sólo dos campos:
nombre e email. Para ellos, vamos a crear una clase derivada de SQLiteOpenHelper que
llamaremos UsuariosSQLiteHelper, donde sobrescribiremos los métodos onCreate() y
onUpgrade() para adaptarlos a la estructura de datos indicada:
El método onCreate() será ejecutado automáticamente por nuestra clase
UsuariosDBHelper cuando sea necesaria la creación de la base de datos, es decir,
cuando aún no exista. Las tareas típicas que deben hacerse en este método serán la
creación de todas las tablas necesarias y la inserción de los datos iniciales si son
necesarios. En nuestro caso, sólo vamos a crear la tabla Usuarios descrita anteriomente.
Para la creación de la tabla utilizaremos la sentencia SQL ya definida y la ejecutaremos
contra la base de datos utilizando el método más sencillo de los disponibles en la API de
SQLite proporcionada por Android, llamado execSQL(). Este método se limita a
ejecutar directamente el código SQL que le pasemos como parámetro.

También podría gustarte