Sie sind auf Seite 1von 6

Pgina 1

Diseo y arquitectura de software

Docente: Elvia Snchez Magadan

Nombre del grupo: DS-DDRS-1702-B2-001

Alumno: Roberto Salas Hernndez

Matrcula: ES162008384

Correo: rob@nube.unadmexico.mx

Correo alterno: rsalas0691@gmail.com

Carrera: Ingeniera en Desarrollo de Software

Unidad y actividad: Unidad 2 Actividad 1

Huejotzingo, Puebla a 17 de octubre de 2017.

ROBERTO SALAS HERNNDEZ rob@nube.unadmexico.mx - ES162008384 DESARROLLO DE SOFTWARE


Pgina 2

Contenido
Introduccin ............................................................................................................. 3
Definicin estilos y patrones arquitectnicos ....................................................... 3
Estilo arquitectnico orientado a tecnologas mviles ............................................. 3
Caractersticas ..................................................................................................... 3
mbito de aplicacin ............................................................................................ 3
Importancia .......................................................................................................... 4
Principios ............................................................................................................. 4
Ventajas ............................................................................................................... 5
Desventajas ......................................................................................................... 5
Ejemplo de un caso orientado a componentes........................................................ 5
Referencias/Bibliografas ........................................................................................ 6

ROBERTO SALAS HERNNDEZ rob@nube.unadmexico.mx - ES162008384 DESARROLLO DE SOFTWARE


Pgina 3

Introduccin

El propsito de la siguiente actividad (as como de la unidad) es aplicar modelos a


la arquitectura de software para poder dar una solucin preliminar a un problema
sobre los distintos patrones de diseo en el software. A continuacin, veremos un
patrn enfocado a la tecnologa mvil.

Definicin estilos y patrones arquitectnicos


Los estilos y patrones arquitectnicos son una forma clara de plasmar la solucin
de un problema mediante el uso de la arquitectura de software, se usa tambin
para comunicar un diseo arquitectnico a las etapas posteriores de desarrollo de
software.

Estilo arquitectnico orientado a tecnologas mviles

El estilo arquitectnico que utilizara (que, en la actualidad, es altamente utilizado y


adoptado por nuevos frameworks/tecnologas para el desarrollo mvil) es el estilo
basado en componentes.

Esta arquitectura se enfoca en la descomposicin del diseo en componentes


funcionales o lgicos que expongan interfaces de comunicacin bien definidas.
Esto provee un nivel de abstraccin mayor que los principios de orientacin por
objetos y no se enfoca en asuntos especficos de los objetos como los protocolos
de comunicacin y la forma como se comparte el estado.

Caractersticas
El estilo de arquitectura basado en componentes tiene las siguientes
caractersticas:

Es un estilo de diseo para aplicaciones compuestas de componentes


individuales.
Pone nfasis en la descomposicin del sistema en componentes lgicos o
funcionales que tienen interfaces bien definidas.
Define una aproximacin de diseo que usa componentes discretos, los
que se comunican a travs de interfaces que contienen mtodos, eventos y
propiedades.

mbito de aplicacin
Como se menciona al inicio del tema, este tipo de arquitectura es altamente
adoptado por diferentes tecnologas, que van desde el desarrollo web, desarrollo
de escritorio, desarrollo mvil, etc. Por mencionar un ejemplo, muchos de los
programadores y creadores de libreras o frameworks para el desarrollo mvil
optan por este tipo de estilo arquitectnico pues muchos de los componentes que

ROBERTO SALAS HERNNDEZ rob@nube.unadmexico.mx - ES162008384 DESARROLLO DE SOFTWARE


Pgina 4

se crean son reutilizables (botones, formularios, accesos). En la siguiente imagen


podemos ver libreras que pueden ser utilizadas para el desarrollo mvil (con
tecnologa hbrida, conocido como cordoba/phonegap):

Ilustracin 1 - Ejemplo de componentes en distintas libreras para el desarrollo. Recuperado de:


https://31.media.tumblr.com/0437bb1d144b601349c2ec3d3e806fb2/tumblr_n1xj07sROa1qc0howo1_1280.png

Importancia
La importancia de este tipo de arquitectura radica en sus principios y ventajas, que
como se mencionarn ms adelantes, promueven la reusabilidad de los mismo,
ahorrando tiempos de desarrollo en otros proyectos, permitiendo programar una
sola vez y utilizarlo en diferentes situaciones.

Principios
Un componente es un objeto de software especficamente diseado para cumplir
con cierto propsito. Los principios fundamentales cuando se disea un
componente es que estos deben ser:

Reusable: Los componentes son usualmente diseados para ser utilizados en


escenarios diferentes por diferentes aplicaciones, sin embargo, algunos
componentes pueden ser diseados para tareas especficas.

Sin contexto especfico: Los componentes son diseados para operar en


diferentes ambientes y contextos. Informacin especfica como el estado de los
datos deben ser pasadas al componente en vez de incluirlos o permitir al
componente acceder a ellos.

Extensible: Un componente puede ser extendido desde un componente existente


para crear un nuevo comportamiento.

Encapsulado: Los componentes exponen interfaces que permiten al programa


usar su funcionalidad. Sin revelar detalles internos, detalles del proceso o estado.

ROBERTO SALAS HERNNDEZ rob@nube.unadmexico.mx - ES162008384 DESARROLLO DE SOFTWARE


Pgina 5

Independiente: Los Componentes estn diseados para tener una dependencia


mnima de otros componentes. Por lo tanto, los componentes pueden ser
instalados en el ambiente adecuado sin afectar otros componentes o sistemas.

Ventajas
Facilidad de Instalacin: Cuando una nueva versin est disponible, usted
podr reemplazar la versin existente sin impacto en otros componentes o
el sistema como un todo.
Costos reducidos: El uso de componentes de terceros permite distribuir el
costo del desarrollo y del mantenimiento.
Facilidad de desarrollo: Los componentes implementan una interface bien
definida para proveer la funcionalidad definida permitiendo el desarrollo sin
impactar otras partes del sistema.
Reusable: El uso de componentes reutilizables significa que ellos pueden
ser usados para distribuir el desarrollo y el mantenimiento entre mltiples
aplicaciones y sistemas.
Mitigacin de complejidad tcnica: Los componentes mitigan la
complejidad por medio del uso de contenedores de componentes y sus
servicios.

Desventajas
No recomendable usar cuando el sistema sea muy complejo y/o no se tiene
mucho tiempo para su desarrollo.
Si no se tiene bien definido los requerimientos, ser difcil crear.
El componente, generalmente, responde a un problema en especfico.

Ejemplo de un caso orientado a componentes

Actualmente tenemos como ejemplo el desarrollo mvil (un ejemplo puede ser
para Android) en donde la misma tecnologa hace referencia al desarrollo de
componentes, en donde se programa una sola vez y se reutiliza en futuras
interfaces/proyectos. En la siguiente imagen podemos apreciar que el
programador, en base al desarrollo en componentes, cre distintos componentes
para su aplicacin y lo reutiliz, por ejemplo: para mostrar la imagen de los
usuarios, nicamente crea un componente y en base al componente solamente
ser necesario cambiar unos cuntos parmetros para que se muestre diferente
sin tener que crear uno por uno.

ROBERTO SALAS HERNNDEZ rob@nube.unadmexico.mx - ES162008384 DESARROLLO DE SOFTWARE


Pgina 6

Ilustracin 2 - Imagen de la ilustracin UI recuperada de:


https://cdn.dribbble.com/users/310943/screenshots/1894097/health-app-android-ui.png

Referencias/Bibliografas

UNADM. (s.f.). Unidad 2. Elementos de diseo de la arquitectura de software.


Recuperado el da 16/10/2017 de:
https://unadmexico.blackboard.com/bbcswebdav/institution/DCEIT/2016_S1-
B2/DS/04/DDRS/U2/Unidad_2_elementos_de_diseno_de_la_arquitectura_de_soft
ware.pdf

ROBERTO SALAS HERNNDEZ rob@nube.unadmexico.mx - ES162008384 DESARROLLO DE SOFTWARE

Das könnte Ihnen auch gefallen