Arquitetura de software

La arquitetura de software dun sistema cunsiste na defeniçon de ls cumponentes de software, sues propiadades sternas, i sous relacionamientos cun outros softwares. L termo tamien se refire a la documentaçon de l'arquitetura de software de l sistema. La documentaçon de l'arquitetura de l software facelita: la quemunicaçon antre ls stakeholders, registra las decisones eniciales acerca de l porjeto d'alto-nible, i permite l reuso de l porjeto de ls cumponentes i padrones antre porjetos.

 Antroduçon 
L campo de la ciéncia de la cumputaçon ten lidado cun porblemas associados, cumo la cumplexidade de l'anformaçon, zde sue criaçon. Ls purmeiros porblemas de cumplexidade fúrun resolbidos puls zambolbedores atrabeç de la scolha de la estrutura de dados, de l zambolbimiento de algoritmos i pula aplicaçon de cunceitos de separaçon de scopos. Ambora l termo arquitetura de software seia relatibamente nuobo na andústria, ls percípios fundamentales deste campo bénen sendo aplicados sporadicamente pula angenharie de software zde l'ampeço de ls anhos 80. Las purmeiras tentatibas de caturar i splicar l'arquitetura de software de l sistema fúrun amprecisas i desorganizadas – frequentemente caratelizadas por un cunjunto de diagramas. Durante l decorrer de la década de 90 houbo un sfuorço cuncentrado para defenir i codificar ls aspetos fundamentales desta deciplina. Einicialmente un cunjunto de padrones de porjeto, stilo, melhores práticas, çcriçon de lenguaiges, i lógica formal fúrun zambolbidas durante este período.

La deciplina d'arquitetura de software ye centrada na eideia de la reduçon de la cumplexidade atrabeç de l'abstraçon i separaçon d'antrisses. L glossairo de l site oufecial SOFTWARE ENGINEERING INSTITUTE (Anstituto de Angenharie de Software)  çcribe qu'arquitetura de software ye la strutura ó estruturas dun sistema, cun todos ls eilemientos de software bendo i tenendo sues propiadades bistas por todos ls outros eilemientos i relacionamientos.

Sendo l'arquitetura de sistema ua deciplina an maturaçon, sin regras claras, l'açon de l'arquiteto ye inda ua cumposiçon d'arte i ciéncia. Ls aspetos de arte de l'arquitetura de software son debidos al fato que ls sistemas de software comerciales suportan alguns aspetos dun negócio ó misson. Assi cumo l direcionamiento de negócio chabe pa l suporte ls sistemas son çcritos ne ls cenairos cumo requesitos nó-funcionales de sistema, tamien coincidos cumo atributos de culidade, que detreminan cumo un sistema eirá se cumportar. Cada sistema ye único debido a la natureza de l negócio qu'el suporta, tal que l nible de ls atributos de culidade eisigidos dun sistema cumo cumpatibelidade, stensibelidade, cunfiabelidade, manutenabelidade,  çponibelidade, sigurança, usabelidade, dentre outros – eiran bariar para cada aplicaçon sendo zambolbida.

Para trazer la perspetiba de l'usuairo para drento de l'arquitetura de software, puode-se dezir qu'essa deciplina dá la direçon de ls passos que seran tomados i las tarefas ambolbidas an cada ária de specialidade i antresse de l'usuairo, por eisemplo, lsstakeholders de sistemas de software, ls zambolbedores de software, l grupo de suporte al software de l sistema ouperacional, ls testadores i ls usuairos de negócio final. Neste sentido, l'arquitetura de software se torna la ligaçon de las múltiplas perspetibas qu'un sistema traç nel ambutido. L fato de qu'estas bárias perspetibas defrentes puodan ser postas juntas nua arquitetura de software padron justifica i balida la necidade de criaçon de l'arquitetura de software antes de l zambolbimiento de l software para que l porjeto alcance la maturidade.

 Stória 
L'ourige de l'arquitetura de software cumo un cunceito fui purmeiramente eidantificado ne l trabalho de pesquisa de Edsger Dijkstra an 1968 i David Parnas ne l'ampeço de 1970. Estes cientistas anfatizórun l'amportança de las struturas dun sistema de software i la criticidade de l'eidantificaçon de la sue strutura. L studo deste campo oumentou de popularidade zde l'ampeço de 1990 culs trabalhos de pesquisa cuncentrando-se ne ls padrones de stilo d'arquitetura, lenguaiges de çcriçon d'arquitetura, documentaçon d'arquitetura, i métodos formales. Muitas anstituiçones de pesquisa tales cumo la Carnegie Mellon University i la University of California, Irbine stában rializando muitas pesquisas ne l campo de l'arquitetura de software. Mary Shaw i David Garlan de la Carnegie Mellon screbírun un libro antitulado Software Architeture: Perspetibes on an Eimerging Decipline an 1996, l qual trazie a tona cunceitos de l'arquitetura de software, tales cumo cumponentes, conexones, stilos, etc. Ls sfuorços de l UCI's (Anstitute fur Software Research) na pesquisa de l'arquitetura de software fúrun einicialmente direcionados pa ls stilos d'arquitetura, çcriçones de lenguaiges d'arquitetura, i arquiteturas dinámicas.

ANSI/IEEE 1471-2000: Recommended Pratice fur Architeture Çcrition of Software-Antensibe Systems fui la purmeira norma padron na ária d'arquitetura de software, i fui recentemente adotada pul ISO cumo ISO/IEC DIS 25961.

 Çcribendo arquiteturas 
 Lenguaige de çcriçon d'arquitetura 
Las Lenguaiges de çcriçon d'arquitetura (LDAs) son ousadas para çcrebir l'arquitetura de software. Bárias LDAs çtintas fúrun zambolbidas por defrentes ourganizaçones, ancluindo Wright (zambolbido por Carnegie Mellon), Acme (zambolbido por Carnegie Mellon), xADL (zambolbido por UCI), Darwin (zambolbido por Amperial College London), DAOP-ADL (zambolbido pula University of Málaga). Eilemientos quemuns dua LDA son cumponente, conexon i cunfiguraçon.

 Bisones 
L'arquitetura de software ye normalmente ourganizada an bisones, las quales son análogas als defrentes tipos de plantas outelizadas ne l stablecimiento de la arquitetura. Na Ontologie establecida pula ANSI/IEEE 1471-2000, bisones son anstáncias de puntos de bista, adonde cada punto de bista eisiste para çcrebir l'arquitetura na perspetiba dun cunjunto de stakeholders i sous cunsurtes.

Alguas possibles bisones son:
 Bison funcional/lógica
 Bison de código.
 Bison de zambolbimiento/strutural
 Bison de cuncorréncia/porcesso/thread
 Bison física/eibolutiba
 Bison d'açon de l'usuairo/retorno

Bárias lenguaiges para çcriçon de l'arquitetura de software fúrun ambentadas, mas nanhun cunsenso fui inda alcançado an relaçon la qual cunjunto de simblos ó sistema de repersentaçon debe ser adotado. Alguns acraditan que la UML eirá stablecer un padron para repersentaçon d'arquitetura de software. Outros acraditan que ls zambolbimientos efetibos de software dében cuntar cula cumprenson única de las restriçones de cada porblema, i notaçones tan ounibersales son cundenadas a un final anfeliç porque cada ua probé ua notaçon defrenciada que necessariamente torna la notaçon inútil ó peligrosa para alguns cunjuntos de tarefas. Eilhes apuntan la proliferaçon de lenguaiges de porgramaçon i la sucesson de tentatibas falhas para ampor ua simples 'lenguaige ounibersal' na porgramaçon, cumo ua proba de la tendéncia de l software pa la dibersidade i nun pa ls padrones.

 Padrones d'arquitetura 
 DODAF 
 MODAF 
 TOGAF 
 Zachman framework 
 Federal Enterprise Architeture 

 Eisemplos d'arquitetura 
Hai muitas formas quemuns de porjetar módulos de software de cumputador i sues quemunicaçones, antre eilhas:
 Cliente-Serbidor
 Cumputaçon çtribuída
 P2P
 Quadro Negro
 Criaçon amplícita
 Pipes i filtros
 Plugin
 Aplicaçon monolítica
 Modelo an trés camadas
 Analise de sistema struturada (baseada an módulos, mas usualmente monolíticas an drento de ls módulos)
 Arquitetura ourientada la serbício
 Arquitetura ourientada la busca


 Padrones de porjeto de software
 Antipadrones de software
 Modelaiges de dados padrones
 Matriç de strutura de dependéncia
 Arquitetura de negócio
 Arquitetura de dados
 Arquitetura de porcesso
 Arquiteto de software


Software architeture defenitiones at Carnegie Mellon University Software Anginering Anstitute
 Software architeture bs. software zeign 
 Worldwide Anstitute of Software Architets 
 .com/architeture/andex.jsp Grady Boch's Handbook of Software Architeture porjet
 .com SoftwareArchitetures .com Andependent resource of anformation on the decipline
 Anternational Association of Software Architets
 Microsoft Architeture Journal
 Pangea - Professional and Academic Network to the Growing and Eibolution of Architeture (Pertuese) 
 .com/t-br/ Blog de la OCTO Technology Brasil, ampresa de cunsultoria an Arquitetura de Sistemas de Anformaçon

Catadorie:Angenharie de software