Sunteți pe pagina 1din 16

ARQUITECTURA Y

DESARROLLO DE
SOFTWARE
Prof. Saidan Batista
UNIVERSIDAD TECNOLOGICA DE SANTIAGO
(UTESA)


David Junior Castro Quelix (1-09-3530)
Oliver Jams Luciano Bobadilla (2-08-5380)

14/03/2013
INTRODUCCION

En este trabajo trataremos varios puntos sobre un tema, denominado Arquitectura de Software,
en el cual conoceremos los antecedentes histricos, conceptos, definiciones, etc.
La arquitectura de software es la parte central o la parte organizacional de cmo est compuesto
un sistema con todos los componentes que integra y la interaccin o relacin entre ambos.
Entre los temas a tratar en el desarrollo de este trabajo se basan en:
1- Los antecedentes histricos
2- Los conceptos fundamentales
3- Importancia del proceso de desarrollo
4- Campos en lo que se aplica
5- Diferencia entre arquitectura y diseo
6- Procesos de desarrollo y arquitectura de software
7- Rol del arquitecto de software
8- Problemas sin resolver de la arquitectura de software
9- Relevancia
10- Estilos
11- Lenguajes de descripcin arquitectnica
Todos estos temas estn ligados al tema principal, que es la Arquitectura de Software, basados
desde los antecedentes histricos hasta los lenguajes de descripcin arquitectnicos.
Espero que este trabajo sea de su agrado y complete todos los espacios vacios que se desconocen
sobre estos temas.








INDICE

1) Antecedentes histricos de la Arquitectura de Software 3
2) Conceptos fundamentales de la Arquitectura de Software.. 4
3) Importancia dentro del Proceso de Desarrollo. 5
4) Campos de la Arquitectura de Software 5
5) Diferencia entre Arquitectura y Diseo. 6
6) Procesos de Desarrollo y Arquitectura de Software. 7
6.1) Relacin entre Procesos de Desarrollo y Arquitectura de Software.. 7
6.2) Identificacin de Involucrados (Stakeholders) 7
6.3) Uso de Escenarios 8
7) Rol del Arquitecto de Software... 8
8) Problemas Pendientes en Arquitectura de Software... 9
9) Relevancia de la Arquitectura de Software 9
10) Estilos de Arquitectura. 10
10.1) Definiciones de estilos.. 10
10.2) Clasificaciones de estilos arquitectnicos 10
10.3) Descripcin de estilos arquitectnicos.. 11
10.4) Estilos y patrones de arquitectura 12
10.5) Capas. 12
10.6) Pipes & Filters. 12
10.7) Arquitectura Orientada a Servicios. 13
11) Lenguajes de Descripcin Arquitectnica (ADLs). 13
11.1) Introduccin a los ADLs. 13
11.2) Criterios de Definicin de un ADL. 13
11.3) ADLs y Patrones. 14
11.4) Herramientas de Diseo y Anlisis Asociadas a ADLs... 14

ARQUITECTURA DE SOFTWARE

1) ANTECEDENTES HISTORICOS DE ARQUITECTURA DE SOFTWARE

La idea de la Arquitectura de Software surge en 1960 por algunos medios de investigacin
que tuvieron la idea en ese tiempo. Pero este concepto se hizo popular en 1990 despus
de haber reconocido el auge de la crisis del software.

Entre los antecedentes histricos destacables en todo ese tiempo tenemos:

Edsger Dijkstra (1968)
o Ciencias de la computacin como rama aplicada a las matemticas.
o Distintos niveles de abstraccin (como son Stacks, abrazos mortales,
semforos y algoritmo de camino ms corto).
NATO (1968)
o F.L. Bauer Ingeniera de Software.
NATO (1969)
o P.I. Sharp, Arquitectura de Software.
C.R. Spooner (1971)
o Una arquitectura de Software para los aos 70.
o Referencia accidental
Niklaus Wirth (1970)
o Niveles de abstraccin (Stepwise Refinement).
DeRemer & Kron (1976)
o Programming in the large
Fred Brooks (1975)
o Diseador del OS/360, Premio Turing 2000
o Arquitectura como Interfaz de Usuario
o El arquitecto es una gente del usuario, igual que quien disea su casa
o Importancia de las estructuras de alto nivel y de decisiones tomadas al
principio
o Arquitectura: que hacer Implementacin: cmo hacerlo.
David Parnas
o Mdulos Ocultamiento de Informacin (1972).
o Estructuras de Software (1974).
o Familias de programas (rbol de decisin) Descomposicin Alternativa a
diagramas de flujo, propensin estructural (1976).
Lnea de Dijkstra-Parnas-Hoare
o Fundamentacin Matemtica
o Mtodos Formales
o Programa Fuerte
Lnea de Brooks
o Ambiente Humano
o Visin Cualitativa
o Pensamiento No Lineal
o Programa Critico y Heterodoxo
Dewayne Perry, Alexander Wolf (1992)
o Foundations for the study of software architecture
o La dcada de 1990 ser la dcada de la arquitectura de software. Usamos el
trmino arquitectura en contraste con diseo, para evocar nociones de
codificacin, de abstraccin, de estndares, de entrenamiento formal (de los
arquitectos de software) y de estilo. Es tiempo de re-examinar el papel de la
arquitectura de software en el contexto ms amplio del proceso de software y
de su administracin, as como sealar nuevas tcnicas que han sido
adoptadas.
Escuela de Carnegie Mellon (CMU-SEI)
o Sin conexin explicita con CMMI.
o Mary Shaw, David Garlan, Paul Clements, Robert Allen, Rick Kazman.

2) CONCEPTOS FUNDAMENTALES DE ARQUITECTURA DE SOFTWARE

Existen varios conceptos que definen la Arquitectura de Software; aunque no se tiene un
concepto definitivo. Entre los conceptos podemos encontrar:

Una arquitectura de software es la organizacin principal de un sistema en donde los
componentes y el ambiente se relacionan de manera satisfactoria para diversificar su
diseo y la evolucin estructural del sistema.

La arquitectura de software es la estructura en s del sistema, el cual abarca las relaciones
de todos los elementos del sistema, tanto visibles como no-visibles.

Otro, de tantos conceptos, es que la arquitectura de software es la parte central que
define todos los elementos estructurales que compone un sistema; el cual abarca la
evolucin progresiva de sistemas ms grandes con una estructura mayor.





3) IMPORTANCIA DENTRO DE UN PROCESO DE DESARROLLO

La sociedad ha cambiado deliberadamente en las formas de comunicarse, buscando
alternativas de establecer comunicacin de manera social. A nivel empresarial, las
empresas han usado la red para establecer una comunicacin cercana con los clientes
utilizando herramientas de gestin de informacin para aportar un mayor uso de los
recursos de informacin que poseen; no solamente las empresas, los usuarios usan estas
herramientas de informacin para las relaciones personales, tratando de adaptar sus
conocimientos con los dems, es decir, comparten de manera mutua parte del
conocimiento que obtienen.

La importancia dentro de un proceso de desarrollo, cuyo principal factor fuente es la
informacin. La informacin, actualmente, es la llave que todos desearan tener, pero
tambin conlleva su parte mala. La informacin es el principal factor que enriquece tanto
de manera personal como monetaria.

Uno de los ejemplos ms claro que podemos ver actualmente es el software; el software
es un conjunto de instrucciones que el programador utiliza para facilitar el manejo de este
al usuario final, y realiza una funcin especfica.

El software est desarrollado en un lenguaje que los desarrolladores puedan entender,
luego se traduce a cdigo binario donde solo el computador es capaz de interpretarlo. Es
difcil acceder al cdigo del software para entender la estructura del software, poder
modificarlo al gusto del desarrollador o aadir comentarios; Si el usuario no tiene acceso
a la parte estructural del software, solo podr usar el programa con la finalidad en que el
programa fue desarrollado.

La importancia dentro del proceso de desarrollo de un software es conocer la estructura
del mismo, limitar o dar acceso a la informacin estructural del software o tener el
privilegio de redisear o reestructurar el software.

4) CAMPOS DE LA ARQUITECTURA DE SOFTWARE

La Arquitectura de Software conlleva una cobertura extensa en distintos campos donde se
aplica. La Arquitectura de Software comenz no investigando las relaciones en las que se
vinculaba con otros requerimientos, ni donde estaba el origen para comenzar a componer
el diseo.

En las reas que la Arquitectura de Software es aplicable, gracias a David Garlan y
Dewayne Perry en su introduccin al volumen de abril de 1995 de IEEE, llamado
Transactions on Software Engineering, podemos observar las distintas reas que la
Arquitectura de Software se basa, como lo explican, son:

Tcnicas de anlisis arquitectnicas
Estudios de casos
Codificacin y gua arquitectnica
Recuperacin y reutilizacin de arquitectura
Mtodos de desarrollo basados en arquitectura
Fundamentos formales de la Arquitectura de Software
Herramientas y ambientes de diseo arquitectnico

La visin de Clements y Northrop es un poco distinta a la de David Y Dewayne, pero con
aspectos similares. Para Clements y Northrop, la Arquitectura de Software proporciona
marcos estructurales de informacin reutilizables.

Paul Clements define cinco temas fundamentales que abarca la Arquitectura de Software,
entre los que temas que define, podemos observar:

Diseo o seleccin de la arquitectura: crear una arquitectura basado en los
requerimientos finales.
Representacin de la arquitectura: Comunicar la arquitectura.
Evaluacin y anlisis de la arquitectura: Tomar todo el beneficio que la arquitectura
puede ofrecer.
Desarrollo y evolucin basados en arquitectura: Definicin y desarrollo de una
arquitectura que resuelva el problema de un software.
Recuperacin de la arquitectura: Mantener la arquitectura exacta a pesar de que sta
evolucione.

5) DIFERENCIAS ENTRE ARQUITECTURA Y DISEO

El trmino de arquitectura y diseo difieren uno de otros; no hay que tomarlo como si
fueran similares o parecidos. Las diferencias que existen entre arquitectura y diseo,
podemos observar:

La arquitectura de software analiza los componentes que lo integran, las propiedades
visibles de esos componentes y la relacin existente entre ambos. El diseo de software
est construido con la finalidad de resolver problemas y planificar una solucin de un
software en especfico.

La Arquitectura abarca diferentes aspectos como son: seleccin de tecnologas,
requerimientos no funcionales, manejo de riesgos, etc. Mientras que el diseo abarca los
requerimientos funcionales, el diseo detallado de componentes entre otros.

Otra de las diferencias es que la Arquitectura engloba o abarca la parte del diseo, ya que
en la arquitectura toman alternativas como manejo de riesgos, re-utilizacin de
componentes, factores favorables, etc. Pero el diseo tiene su grado de importancia, en el
diseo se desarrollan los procedimientos algortmicos, pseudocodigos de bajo nivel pero
requeridos para iniciar la arquitectura.

6) PROCESOS DE DESARROLLO Y ARQUITECTURA DE SOFTWARE

El Proceso de Desarrollo de Software, tambin llamado Ciclo de Vida del Desarrollo de
Software, es una estructura del desarrollo de un software; El proceso de desarrollo consta
de varias etapas que deben ser cumplidas de manera sistemtica y cada una de manera
satisfactoria.

La Arquitectura de Software es la parte central o estructural de un software, el cual abarca
todos los componentes que el software conlleva y la relacin entre ambos.

6.1) Relacin entre Procesos de Desarrollo y Arquitectura de Software

La relacin que existe entre el Proceso de Desarrollo y la Arquitectura de Software, es que
el proceso de desarrollo es una derivada de la arquitectura de software, ambas con el
mismo propsito de desarrollar, documentar, probar un software existente o un nuevo
software. Ambos con la finalidad de perfeccionar el software manteniendo la arquitectura
original a pesar de sus evoluciones.

6.2) Identificacin de Involucrados (Stakeholders)

Los stakeholders son los participantes, accionistas, inversores o usuarios que participan en
un proyecto de desarrollo de software o algn producto final con la finalidad de impactar
en ellos.

Los Stakeholders son todos los actores sociales que pueden ser afectados, de manera
positiva o negativa, por medio de las decisiones u objetivos de una empresa.

Existen dos tipos de Stakeholders, dependiendo de ciertos factores, pueden ser:

Primarios: Estos stakeholders son aquellos actores sociales que, de una manera u
otra, tienen relacin econmica con la empresa o negocio. Estos usuarios se conocen
como accionistas o inversores.
Secundarios: Estos stakeholders son los usuarios que no participan de manera directa
con la empresa o negocio, pero que si pueden verse afectados dependiendo de las
decisiones o cambios estratgicos que la empresa realice, estos usuarios se conocen
como, usuarios pblicos o usuarios finales.

6.3) Uso de Escenarios

Todo grupo de trabajo debe buscar o debe seleccionar un ambiente adecuado para el
desarrollo de software. El ambiente o marco de trabajo es el que permite a los
desarrolladores tener una visin clara y un ambiente pacfico en el cual van a trabajar.

El uso de escenarios permite tambin adaptarse o adaptar el software dirigindose a
diferentes grupos.

Un uso de escenario errneo puede provocar una prdida de tiempo del margen de
trabajo y as mismo provocar un problema futuro una vez desarrollado.

7) ROL DEL ARQUITECTO DE SOFTWARE

El arquitecto de software es la persona o grupo de personas encargada de estructurar,
definir o reutilizar cada uno de los componentes que estarn asociados con el software
final y que sean acordes para un buen manejo con el usuario final.

Otro de los temas destacables es el rol que debe componer el arquitecto de software. El
arquitecto de software realiza debe tener aspectos o requerimientos destacables para
llevar a cabo su rol con eficiencia, al igual que realizar algunas tareas al momento de llevar
a practica sus conocimientos. Entre las tareas que el arquitecto debe hacer son:

El arquitecto debe definir los puntos de vistas de alto nivel de la arquitectura del
software.
El arquitecto debe tener un concepto claro y llevar a prctica el concepto definido.
El arquitecto debe componer la arquitectura acorde a los requerimientos del software
final.
El arquitecto debe tener una visin estratgica y poltica a la hora de estructurar de
manera satisfactoria el software.
El arquitecto debe crear documentos que faciliten la comprensin y el uso del
software a realizar o realizado.
El arquitecto adems de estructurar los componentes y la relacin que existe entre los
componentes y el software, debe dar soporte tcnico a los desarrolladores y clientes.


8) PROBLEMAS PENDIENTES EN ARQUITECTURA DE SOFTWARE

La arquitectura de software tiene problemas pendientes que debe resolver o que debe
minimizar ese grado de problemas que conlleva, actualmente, consigo mismo. No
abarcaremos todos los problemas pendientes que tiene actualmente, pero nos
enfocaremos en los ms primordiales o los que mayor auge hacen. Entre los que podemos
mencionar tenemos:

Falta de criterio unificado, es decir, existen distintos puntos de vista que conlleva a
tomar decisiones dependiendo del punto de vista o de las necesidades del software
final, lo cual conlleva ms tiempo en tomar el criterio final o criterio definitivo en el
grupo de trabajo.
No existe un modelo de proceso definitivo de punta a punta.
No hay un gran nmero de herramientas y lenguajes de modelado arquitectnico de
alto nivel, sino que se debe adaptar las herramientas existentes para desarrollar una
arquitectura de software eficiente.
Se debe desarrollar en paralelo conceptos no coordinados (como son Mtodos agiles,
Metodologas de ciclo de vida, y patrones, estilos y tcticas).

9) RELEVANCIA DE LA ARQUITECTURA DE SOFTWARE

La Arquitectura de Software ha favorecido las necesidades en general en la reduccin de
costos, evitando errores, descubriendo fallos e implementando sistemas crticos. La
arquitectura de software facilita la comunicacin entre individuos y facilita el
entendimiento mutuo.

La arquitectura de software facilita la decisin del diseo de un sistema, lo cual provoca
una mayor ventaja para el resto del desarrollo del sistema, el tiempo que esta decisin
conlleva y la vida de mantenimiento.

La arquitectura de software proporciona una margen de trabajo y las restricciones de la
arquitectura. La arquitectura de software indica el espacio y la disponibilidad de los
componentes y la dependencia entre ellos.

La arquitectura de software permite la reutilizacin de los componentes previamente
utilizados o que se reutilizaran en un futuro. La arquitectura de software crea un modelo o
un diseo pequeo de cmo un sistema se estructura y sus componentes se entienden
entre s.

La arquitectura de software permite la evolucin estructural de un sistema manteniendo
todos los componentes y sus dimensiones establecidos

La arquitectura de software permite el anlisis de todos los componentes y de la
estructuras de ambos con atributos de calidad, anlisis de dependencias y anlisis
especficos de dominio y negocios.

La arquitectura de software demuestra que todo proyecto exitoso es considerado como
una arquitectura a punta y es el logro clave del proceso de desarrollo. El anlisis crtico de
la arquitectura de software permite una visin y una comprensin ms clara de los
requerimientos, las estrategias de implementacin y los riesgos.

La arquitectura de software todava tiene mucho camino por recorrer, es decir, se
encuentra en formacin. Sus teoras se deben definir de manera clara y precisa.

10) ESTILOS DE ARQUITECTURA

Cuando se refiere a estilos de arquitectura o una arquitectura en tres etapas, se est
hablando de un campo de posibilidades distintivos.

Los estilos son descripciones que definen la arquitectura de una organizacin, en este
caso, definen la arquitectura de un sistema, los componentes que contiene y la
comunicacin entre ambos. Cada arquitectura conlleva un estilo de ensamblaje o de
construccin que facilita la comunicacin de l mismo.

10.1) Definiciones de estilo

Una definicin clara y precisa es que los estilos describen o definen la arquitectura de una
organizacin.

Otra definicin clara es que los estilos conllevan todos los componentes, elementos,
patrones, configuraciones, etc. Que definen una estructura.

10.2) Clasificacin de estilos arquitectnicos

No existe un nico estilo arquitectnico para crear grandes sistemas, por tanto, se puede
utilizar varios estilos para crear diferentes partes de un sistema y acoplarlos todos para
crear una estructura uniforme entre cada estilo utilizado en las partes establecidas. Existe
gran variedad clasificacin de estilos como son:

Sistemas basados en flujo de datos:
o Filtro-Tubera
o Secuencial por Lotes
Sistemas Call/Return (Llamada/Retorno)
o Sistema Modular
o Arquitectura orientada a objetos
o Capas
o Componentes
o Model-View-Controller (MVC)
Estilos Peer-to-Peer
o Procesos en Comunicacin
o Sistemas de Eventos
o Arquitectura Orientadas a Servicios
o Arquitectura Basadas en Recursos
Maquinas Virtuales
o Interpretes
o Sistemas basados en conocimientos (Knowledge Based System)
Sistema de Control
o Lazo Abierto o Cerrado
Sistema Centrado en Datos
o Bases de Datos
o Sistemas de Hipertexto
o Modelo REST
o Arquitectura de Pizarra
Todos estos estilos estn clasificados a la hora de disear partes de la estructura de un
software, de manera que combinndolos se crea una estructura unificada con el uso de
cada clasificacin de estilos.
10.3) Descripcin de estilos arquitectnicos
La descripcin de los estilos arquitectnicos de los que hablaremos a continuacin no han
logrado todo lo que se han propuesto, pero si han logrado las metas ms representativas y
vigentes, es decir, cada estilo se puede utilizar de mltiples formas. Entre los que
hablaremos:
Estilo de Flujo de Datos: Este estilo es utilizado en sistemas con datos variables y que
siempre estn manejando mucha informacin.
Estilo centrado en Datos: Este estilo es utilizado en sistemas que almacenen gran
cantidad de informacin.
Estilo de Llamada y Retorno: Este estilo es el ms utilizado en sistema de gran escala,
ya que se basan en la peticin y retorno de informacin.
Estilo de Cdigo Mvil: Este estilo es utilizado en sistemas de portabilidad de
informacin, aquellos sistemas que utilizan datos fuera de su estructura de almacn
de informacin.
Estilo Peer-to-Peer: Este estilo es utilizado en sistemas independientes o en entidades
que se comunican a travs de mensaje. Cada entidad puede enviar mensajes
directamente a otras entidades pero no controlarlas a su gusto.
10.4) Estilos y patrones de arquitectura
En la arquitectura y diseo de un software, los patrones solo definen una de las partes de
los paradigmas, marcos o formas del diseo arquitectnico. Los patrones son pasos a
seguir o etapas que se deben cumplir a la hora de disear un sistema. Estas etapas deben
ser claras y haberse realizado de manera sistemtica sin faltar ninguna etapa en su
elaboracin. Los estilos de la arquitectura tienen como requisitos patrones que deben ser
utilizados y completados satisfactoriamente para realizar una estructura eficiente.
10.5) Capas
La arquitectura basada en capas asigna roles o responsabilidades en sus diferentes capas.
El rol influye en el tipo y en la forma de interaccin con otras capas, y la responsabilidad
indica que funcin conlleva cada una.
Para identificar el estilo de arquitectura basado en capas es necesario identificar:
La interaccin entre capas solo ocurre con capas cercanas o capas vecinas.
La interaccin entre capas y sus componentes solo ocurre por medio de interfaces
definidas.
Este estilo es reutilizable, ya que cada capa asigna responsabilidad sobre otra.
Las capas pueden estar en una misma mquina fsica o puede estar ubicado en
diferentes maquinas.
10.6) Tubera y Filtros (Pipes & Filters)
La arquitectura de tubera y filtros conlleva un conjunto de entradas y conjunto de salidas.
Cada componente obtiene datos en las entradas y produce flujo de datos en las salidas.
Las tuberas son conectores cuya funcionalidad es de conducto entre filtros.
Los filtros son transformadores de secuencia de datos. Los filtros utilizan puertos de
entrada y puertos de salida para la gestin de la informacin.


10.7) Arquitectura Orientada a Servicios
La arquitectura orientada a servicios (en ingles, Service Oriented Architecture) est basada
en la relacin que existe entre los componentes de una estructura de software. La
arquitectura orientada a servicios tiene como caractersticas:
Una interfaz definida o contrato de servicio
Componentes reutilizables
Una estructura desacoplada en donde cada componente depende en lo mnimo de
otro servicio.

11) LENGUAJES DE DESCRIPCION ARQUITECTONICA (ADLs)

Los lenguajes de descripcin arquitectnicos (ADLs) es un lenguaje descriptivo focalizado
en la estructura de alto nivel del sistema, en vez de los detalles de los componentes que
conlleva. Los ADLs actuales han mostrado un margen de error en su desarrollo o no han
sido aplicados al mercado.

11.1) Introduccin a los ADLs

Despus que el arquitecto conocer los requerimientos, es momento de pasar a establecer
la estrategia en donde se convalidan las caractersticas que llevara integrado el sistema en
un sistema de modelado o en una grafica.

El modelado arquitectnico de un sistema se asemeja al trabajo grafico favorecidos de
prestaciones que convalidan todos los requisitos que se conocen.

11.2) Criterios de definicin de un ADL

Un ADL o Lenguaje de Descripcin Arquitectnico es una entidad que consta de cuatro
variables, que son: componentes, configuraciones, conectores y restricciones.

Otra definicin de un ADL, es que debe soportar varios conceptos. Entre los conceptos que
deben soportar tenemos:

Los componentes
Las conexiones
Los paradigmas de computacin
Los modelos formales subyacentes
La composicin automtica de cdigo aplicativo
La abstraccin de componentes
La abstraccin de comunicacin
La composicin jerrquica
La capacidad de modelar arquitecturas dinmicas
La integridad de la comunicacin
La relatividad
11.3) ADLs y Patrones
Existen distintos tipos de patrones que van asociados a los lenguajes de descripcin
arquitectnicos, entre los que podemos conocer estn: patrones de anlisis, patrones
organizacionales, patrones pro cedulares y patrones de diseo.
Los ADLs tienen una mayor relacin con los patrones de diseo, ya que los ltimos estn
basados en el diseo de software y sistemas, la relacin que existe entre sus componentes
y las tcnicas de relacin entre familias y estilos.
11.5) Herramientas de diseo y anlisis asociadas a ADLs
Existen algunas herramientas que facilitan el desarrollo del diseo y del anlisis asociado a
los Lenguajes de Descripcin Arquitectnica, entre los que podemos encontrar:
Lenguajes de Especificacin (LARCH, z)
Lenguajes de Prototpico (Modechart, PSDL)
Lenguajes de Modelado (UML)
Lenguajes de Programacin (CODE, Ada)
Herramientas para definicin de ciclo de vida (UNAS/SALE)










CONCLUSION

En conclusin, la arquitectura de software es la parte central, la parte estructural del sistema con
abarca todos los componentes asociados y la relacin que existe entre ambos.
La idea de la Arquitectura de Software surge en 1960 basado en las ideas que tuvieron en esa
poca.
El factor importante en el proceso de desarrollo es la informacin. El manejo de la informacin ha
sido uno de los puntos clave en la sociedad. Un ejemplo es un programa, si no se conoce los datos
primarios del desarrollo, solo se puede usar el programa como tal. Pero si se conocen los datos
primarios del desarrollo se puede conocer como est desarrollado la estructura del sistema, como
se le pueden aadir comentarios, modificar los datos fuentes, etc.
El diseo y la arquitectura deben considerarse conceptos diferentes ya que la arquitectura abarca
la parte del diseo, en donde se hace referencia es que la arquitectura de software est basado en
los componentes que integra el sistema y la relacin que existe entre cada componente; mientras
que el diseo de software est basado en la resolucin de problemas o en la planificacin de un
problema por resolver.
El rol del arquitecto de software es proporcionar el plan estratgico, las definiciones claras de los
componentes que integrara la estructura, la reutilizacin de esos componentes, establecer los
estilos de la arquitectura que se implementara en cada parte del sistema para combinarlos todos y
establecer una estructura decisiva en el sistema.
El rol del arquitecto de software abarca ms que todo esto y es que el arquitecto debe servir de
intermediario entre la comunicacin con el cliente.
Existen problemas pendientes que la arquitectura de software necesita resolver. Estos problemas
no permiten una definicin clara y unos conceptos definidos en la estructura de software. Impide
la unificacin de todos los elementos de la estructura.
Existen distintos estilos de arquitectura que pueden ser aplicados a distintas partes del sistema,
como son el estilo basados en datos, el estilo mvil, el estilo peer to peer, estilos de llamada y
retorno, etc.
Espero que este trabajo cumpla con las expectativas deseadas y aclare todos los puntos en los
cuales se tena duda o un conocimiento no tan abastecidos.

S-ar putea să vă placă și