Beruflich Dokumente
Kultur Dokumente
unidad3ingenieradelsoftware:unidad3Arquitecturasdesoftware
1
Ms Siguienteblog
Crearunblog Acceder
unidad3ingenieradelsoftware
mircoles,8demayode2013
unidad3Arquitecturasdesoftware
Archivodelblog
2013(1)
mayo(1)
unidad3Arquitecturasdesoftware
Arquitecturas de software
Datospersonales
lelsieVite
Seguir
Enlosiniciosdelainformtica,laprogramacinseconsiderabaunarteyse
desarrollabacomotal,debidoaladificultadqueentraabaparalamayorade
las personas, pero con el tiempo se han ido descubriendo y desarrollando
formas y guas generales, con base a las cuales se puedan resolver los
problemas.Aestas,seleshadenominadoArquitecturadeSoftware,porque,
a semejanza de los planos de un edificio o construccin, estas indican la
estructura,funcionamientoeinteraccinentrelaspartesdelsoftware.
12
Vertodomiperfil
Interacciones
Entre los componentes de la arquitectura de software existe un conjunto de
interaccionesentrelasquesobresalen:
llamadasaprocedimientos.
comportamientodevariables.
protocolosclienteservidor.
transmicinasncronadeeventos.
Descomposicinmodular
Capacidad de empleo de componentes modulares. Si un mtodo de diseo
permite ensamblar los componentes de diseo (reusables) existentes en un
sistema nuevo, producir una solucin modular que no inventa nada ya
inventado.
http://ithuejutlalvf.blogspot.mx/2013/05/unidad3arquitecturasdesoftware.html
1/12
14/5/2015
unidad3ingenieradelsoftware:unidad3Arquitecturasdesoftware
Eldiseomodularesunametodologadedesarrollodeprogramascomplejos,
http://ithuejutlalvf.blogspot.mx/2013/05/unidad3arquitecturasdesoftware.html
2/12
14/5/2015
unidad3ingenieradelsoftware:unidad3Arquitecturasdesoftware
Objetivosdelospatrones
Lospatronesdediseopretenden:
Proporcionar catlogos de elementos reusables en el diseo de
sistemassoftware.
Evitar la reiteracin en la bsqueda de soluciones a problemas ya
conocidosysolucionadosanteriormente.
Formalizarunvocabulariocomnentrediseadores.
Estandarizarelmodoenqueserealizaeldiseo.
Facilitarelaprendizajedelasnuevasgeneracionesdediseadores
condensandoconocimientoyaexistente.
Asimismo,nopretenden:
Imponerciertasalternativasdediseofrenteaotras.
Eliminarlacreatividadinherentealprocesodediseo.
Noesobligatorioutilizarlospatrones,soloesaconsejableenelcasodetener
el mismo problema o similar que soluciona el patrn, siempre teniendo en
cuentaqueenuncasoparticularpuedenoseraplicable."Abusaroforzarel
usodelospatronespuedeserunerror".
Categorasdepatrones
Segnlaescalaoniveldeabstraccin:
Patrones de arquitectura: Aquellos que expresan un esquema
organizativoestructuralfundamentalparasistemasdesoftware.
Patronesdediseo:Aquellosqueexpresanesquemasparadefinir
estructuras de diseo (o sus relaciones) con las que construir
sistemasdesoftware.
Dialectos: Patrones de bajo nivel especficos para un lenguaje de
programacinoentornoconcreto.
Adems, tambin es importante resear el concepto de "antipatrn de
http://ithuejutlalvf.blogspot.mx/2013/05/unidad3arquitecturasdesoftware.html
3/12
14/5/2015
unidad3ingenieradelsoftware:unidad3Arquitecturasdesoftware
http://ithuejutlalvf.blogspot.mx/2013/05/unidad3arquitecturasdesoftware.html
4/12
14/5/2015
unidad3ingenieradelsoftware:unidad3Arquitecturasdesoftware
Arquitecturasdeobjetosdistribuidos.Paraestaarquitecturanohaydistincin
entreservidoresyclientes,yelsistemapuedeservistocomounconjuntode
objetos que interaccionan cuya localizacin es irrelevante. No hay distincin
entre un proveedor de servicios y el usuario de estos servicios. Ambas
arquitecturasseusanampliamenteenlaindustria,peroladistribucindelas
aplicacionesgeneralmentetienelugardentrodeunanicaorganizacin.
Sonmodelosdearquitecturaloscualessonespecficosparaalgndominiode
aplicacin.
Dostiposdemodelosdedominioespecficoson:
UnmodelodeCompiladoresunejemploconocidoatravsdeotrosmodelos
queexistenendominiosdeaplicacionesespecializadas:
http://ithuejutlalvf.blogspot.mx/2013/05/unidad3arquitecturasdesoftware.html
5/12
14/5/2015
unidad3ingenieradelsoftware:unidad3Arquitecturasdesoftware
AnalizadorLxico
TabladeSmbolos
AnalizadordeSintxis
AnalizadorSemntico
Generador/OptimizadordeCdigo
Un modelo de compilador genrico puede ser organizado de acuerdo a
diversosmodelosdearquitectura.
ARQUITECTURASDEREFERENCIA
Los modelos de referencias son derivados del estudio del dominio de una
aplicacin,enlugardelestudiodesistemasexistentes.
Puedenserutilizadoscomounabaseparalaimplementacindeunsistema
oparacompararsistemasdiversos.
Actan como un estndar, contra el cual los sistemas que pueden ser
evaluados.
El modelo OSI es un modelo en capas para sistemas de comunicacin, y
adems,esunmodelodereferencia.
Laarquitecturadesoftwareeslaresponsabledeladerivacindeunmodelo
desistemaestructural,unmodelodecontrolyunmodelodedescomposicin
ensubsistemas.
Lossistemasgrandesraravezconformanunmodelosimpledearquitectura.
Los modelos de estructuracin de un sistema incluyen modelos repositorios,
losmodelosclienteservidorylosmodelosdemquinaabstracta.
Losmodelosdecontrolincluyencontrolcentralizadoymodelosmanejadores
de eventos.Los modelos de descomposicin modular incluyen los modelos
orientadosaobjetosylosmodelosdeflujodedatos.
http://ithuejutlalvf.blogspot.mx/2013/05/unidad3arquitecturasdesoftware.html
6/12
14/5/2015
unidad3ingenieradelsoftware:unidad3Arquitecturasdesoftware
VENTAJAS
Eseconomica
Lascomputadorasparalelassoninherentesescalablespermitiendoactualizarlaspara
adecuarsealanecesidad
DESVENTAJAS
Puede ser limitante fisica, existen factores que limitan la velocidad maxima de
unprocesadorindependientedelfactoreconomico
Lasbarrerasfisicasinfranqueablestalescomolavelocidaddelaluz,efectosde
tamao,lacapacidad.
7/12
14/5/2015
unidad3ingenieradelsoftware:unidad3Arquitecturasdesoftware
lacomunicacin(dispositivomaestrooamo).
Esperayrecibelasrespuestasdelservidor.
Porlogeneral,puedeconectarseavariosservidoresalavez.
Normalmenteinteractadirectamenteconlosusuariosfinalesmediante
unainterfazgrficadeusuario.
Alcontratarunservicioderedes,sedebetenerencuentalavelocidadde
8/12
14/5/2015
unidad3ingenieradelsoftware:unidad3Arquitecturasdesoftware
procesamientodeinformacinsedistribuyesobrevariascomputadorasenvez
de estar confinado en una nica mquina. Obviamente, la ingeniera de
sistemas distribuidos tiene mucho en comn con la ingeniera de cualquier
otro software, pero existen cuestiones especficas que deben tenerse en
cuentacuandosediseaestetipodesistemas.
Seidentificanlassiguientesventajasdelusodeunaaproximacindistribuida
paraeldesarrolodesistemas:
1. Comparticinderecursos.Unsistemadistribuidopermitecompartirrecursos
hardwareysoftwarecomodicos,impresoras,ficherosycompiladoresque
seasocianconcomputadorasdeunared.
2.Apertura.Lossistemasdistribuidossonnormalmentesistemasabiertos,loque
significa que se disean sobre protocolos estndar que permiten combinar
equipamientoysoftwaredediferentesvendedores.
3. Concurrencia. En un sistema distribuido, varios procesos pueden operar al
mismo tiempo sobre diferentes computadoras de la red. Estos procesos
pueden (aunque no necesariamente) comunicarse con otros durante su
funcionamientonormal.
4.Escalabilidad.Almenosenprincipio,lossistemasdistribuidossonescalables
en tanto que la capacidad del sistema puede incrementarse aadiendo
nuevos recursos para cubrir nuevas demandas sobre el sistema. En la
prctica, la red que una las computadoras individuales del sistema puede
limitar la escalabilidad del sistema. Si se aaden muchas computadoras
nuevas,entonceslacapacidaddelaredpuederesultarinadecuada.
5.Toleranciaadefectos.Ladisponibilidaddevariascomputadorasyelpotencial
parareproducirinformacinsignificaquelossistemasdistribuidospuedenser
tolerantesaalgunosfallosdefuncionamientodelhardwareydelsofware.En
la mayora de los sistemas distribuidos, se puede proporcionar un servicio
degradadocuandoocurrenfallosdefuncionamientounacompletaprdidade
serviciosloocurrecuandoexisteunfallodefuncionamientoenlared.
1. Complejidad.Lossistemasdistribuidossonmscomplejosquelossistemas
centralizados.Estohacemsdifcilcomprendersuspropiedadesemergentes
y probar estos sistemas. Por ejemplo, en vez de que el rendimiento del
sistemadependadelavelocidaddeejcucindeunprocesador,dependedel
ancho de banda y de la velocidad de los procesadores de la red. Mover los
recursos de una parte del sistema a otra puede afectar de forma radical al
rendimientodelsistema.
2. Seguridad. Puede accederse al sistema desde varias computadoras
diferentes, y el trfico en la red puede estar sujeto a escuchas indeseadas.
Estohacemsdifcilelasegurarquelaintegridaddelosdatosenelsistema
semantengayquelosserviciosdelsistemanosedegradenporataquesde
denegacindeservicio.
3. Manejabilidad. Las computadoras en un sistema pueden ser de diferentes
tipos y pueden ejecutar versiones diferentes de sistemas operativos. Los
http://ithuejutlalvf.blogspot.mx/2013/05/unidad3arquitecturasdesoftware.html
9/12
14/5/2015
unidad3ingenieradelsoftware:unidad3Arquitecturasdesoftware
1.Arquitecturaclienteservidor.Enestaaproximacin,elsistemapuedeservisto
como un conjunto de servicio que se proporcionan a los clientes que hacen
uso de dichos servicios. Los servidores y los clientes se tratan de forma
diferenteenestossistemas.
2. Arquitecturas de objetos distribuidos. En este caso, no hay distincin entre
servidores y clientes, y el sistema puede ser visto como un conjunto de
objetos que interaccionan cuya localizacin es irrelevante. No hay distincin
entreunproveedordeserviciosyelusuariodeestosservicios.
Ambas arquitecturas se usan ampliamente en la industria, pero la distribucin
delasaplicacionesgeneralmentetienelugardentrodeunanicaorganizacin.
Ladistribucinsoportadaes,porlotanto,intraorganizacional.Aqutambinse
plantean dos tipos ms de arquitecturas distribuidas que son ms adecuadas
para la distribucin interorganizacional: arquitectura de sistemas peertopeer
(p2p)yarquitecturasorientadasaservicios.
Los componentes en un sistema distribuido pueden implementarse en
diferentes lenguajes de programacin y pueden ejecutarse en tipos de
procesadores completamente diferentes. Los modelos de datos, la
representacindelainformacinylosprotocolosdecomunicacinpuedenser
todos diferentes. Un sistema distribuido, por lo tanto, requiere software que
puedagestionarestaspartesdistintas,yasegurarquedichaspartessepuedan
comunicar e intercambiar datos. El trmino middleware se usa par hacer
referencia a ese software se sita en medio de los diferentes componentes
distribuidosdelsistema
Elmiddlewareesunsoftwaredepropstiogeneralquenormalmentesecompra
como un componente comercial ms que escribirse especialmente por los
desarrolladores de la aplicacin. Ejemplos de middleware son software para
gestionar comunicaciones con bases de datos, administradores de
transacciones,convertidoresdedatosycontroladoresdecomuniacin.
Los sistemas distribuidos se desarrollan normalmente utilizando una
aproximacin orientada a objetos. Estos sistemas estn formados por partes
independientes pobremente integradas, cada una de las cuales pueden
interaccionar directamente con los usuario o con otras partes del sistema.
Algunas partes del sistema pueden tener que responder a eventos
independientes.Losobjetossoftwarereflejanestascaractersticasporlotanto,
sonabstraccionesnaturalesparaloscomponenetesdesistemasdistribuidos.
10/12
14/5/2015
unidad3ingenieradelsoftware:unidad3Arquitecturasdesoftware
Elsoftwaredetiemporealestamuyacopladoconelmundoexterno,estoes,
el software de tiempo real debe responder al mbito del problema en un
tiempo dictado por el mbito del problema. Debido a que el software de
tiempo real debe operar bajo restricciones de rendimiento muy rigurosas, el
diseodelsoftwareestaconducidofrecuentemente,tantoporlaarquitectura
del hardware como por la del software, por las caractersticas del sistema
operativo,porlosrequisitosdelaaplicacinytantoporlosextrasdellenguaje
deprogramacincomoprospectosdediseo.
Lacomputadoradigitalsehaconvertidoenunamaquinaomnipresenteenal
vidadiariadetodosnosotros.Lascomputadorasnospermitenverjuegos,as
como contar el tiempo, optimizar el gasto de gasolina de nuestras ultimas
generacionesdecochesyprogramaranuestrosaparatos.
Todasestasinteraccionesconlascomputadorasseantilesointrusivasson
ejemplos de computacin de tiempo real. La computadora esta controlando
algo que interactua con la realidad sobre una base de tiempo de hecho, el
tiempoeslaesenciadelainteraccin.
Los sistemas de tiempo real generan alguna accin en respuesta a sucesos
externos. Para realizar esta funcin, ejecutan una adquisicin y control de
datos a alta velocidad bajo varias ligaduras de tiempo y fiabilidad. Debido a
que estas ligaduras son muy rigurosas, los sistemas de tiempo real estn
frecuentementededicadosaunanicaaplicacin.
Durante muchos aos, los principales consumidores de sistemas de tiempo
real eran militares. Sin embargo, hoy la significativa reduccin del coste del
hardware ha hecho posible para la mayora de las compaas, proporcionar
sistemas (y productos) de tiempo real para diversas aplicaciones, que
incluyencontroldeprocesos,automatizacinindustrial,investigacinmedicay
cientfica, grficos de computadoras, comunicaciones locales y de largo
alcance, sistemas aeroespaciales, prueba asistida por computadora y un
vastoabanicodeinstrumentacinindustrial.
ConsideracionesSobrelosSistemas
Como cualquier sistema basado en computadora, un sistema de tiempo real
debe integrar hardware, software, hombres y elementos de una base de
datos,parconseguiradecuadamenteunconjuntoderequisitosfuncionalesy
derendimiento.
El problema para los sistemas de tiempo real es realzar la asignacin
importante como la funcin, pero las decisiones de asignacin relativas al
rendimientosonfrecuentementedifcilesdehacerconseguridad.
Puede un algoritmo de procesamiento cumplir varias ligaduras de tiempo o
debeconstruirseunhardwareespecialparahacereltrabajo?
Puede un sistema operativo cumplir nuestras necesidades para un manejo
eficiente de interrupciones multitareas y comunicaciones, o especificado,
acoplado con el software propuesto, cumplir los criterios de rendimiento?
Estas y otras muchas preguntas deben ser respondidas por el ingeniero de
sistemasdetiemporeal
http://ithuejutlalvf.blogspot.mx/2013/05/unidad3arquitecturasdesoftware.html
11/12
14/5/2015
unidad3ingenieradelsoftware:unidad3Arquitecturasdesoftware
PublicadoporlelsieViteen14:44
+1 Recomendar esto en Google
4comentarios:
ITHJOSEleonel 9demayode2013,6:13
excelentetrabajomuybuenainformacin
Responder
lelsieVite
9demayode2013,6:16
graciascompaeroigualmentegraciasxtuaporteesmuybuentrabajo=)
Responder
humbertohernandezmartinez 9demayode2013,10:41
informacion precisa y exacta con esto nos damos cuenta que la arquitectura de
sofwareesdemuchaimportancia
Responder
MagdalyGarca 17demayode2013,22:24
MUY BUENA INFORMACION, ESTAN MUY BIEN DESCRITOS CADA UNO DE
LOSTEMAS
Responder
Introducetucomentario...
Comentarcomo:
Publicar
CuentadeGoogle
Vistaprevia
Pginaprincipal
Suscribirsea:Enviarcomentarios(Atom)
PlantillaWatermark.ConlatecnologadeBlogger.
http://ithuejutlalvf.blogspot.mx/2013/05/unidad3arquitecturasdesoftware.html
12/12