{"id":3677,"date":"2022-08-03T16:36:18","date_gmt":"2022-08-03T19:36:18","guid":{"rendered":"https:\/\/programathor.com.br\/blog\/?p=3677"},"modified":"2022-08-03T16:36:20","modified_gmt":"2022-08-03T19:36:20","slug":"arquitetura_de_software","status":"publish","type":"post","link":"https:\/\/programathor.com.br\/blog\/arquitetura_de_software\/","title":{"rendered":"Arquitetura de software: voc\u00ea sabe o que \u00e9?"},"content":{"rendered":"\n<p>Quem \u00e9 da \u00e1rea de tecnologia costuma saber quantas coisas envolvem um sistema bem desenvolvido e, dentre elas, existe a arquitetura de software.<\/p>\n\n\n\n<p>Quando falamos de arquitetura, logo vem \u00e0 mente constru\u00e7\u00f5es f\u00edsicas e edifica\u00e7\u00f5es, certo? Mas se tratando de sistemas, como ser\u00e1 que a arquitetura funciona? Pois bem: \u00e9 isso que voc\u00ea aprender\u00e1 aqui! Continue a leitura e tire as suas d\u00favidas!<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\"><strong>O que \u00e9 arquitetura de software?<\/strong><\/h2>\n\n\n\n<p>Enquanto a arquitetura de edifica\u00e7\u00f5es consiste em algo s\u00f3lido, ou seja, que pode ser visto, de fato, em uma constru\u00e7\u00e3o f\u00edsica, a arquitetura de software \u00e9 um conceito abstrato, pois, se refere \u00e0 \u201cmontagem\u201d de um software, no que diz respeito a sua organiza\u00e7\u00e3o e as tecnologias e solu\u00e7\u00f5es envolvidas e necess\u00e1rias para o seu funcionamento.<\/p>\n\n\n\n<p>Dessa forma, a arquitetura de software \u00e9 o que define quais componentes far\u00e3o parte de um sistema, bem como as caracter\u00edsticas, fun\u00e7\u00f5es e a intera\u00e7\u00e3o entre cada uma dessas partes e, tamb\u00e9m, a intera\u00e7\u00e3o com outros sistemas.<\/p>\n\n\n\n<p>De maneira pr\u00e1tica, quando pensamos em uma arquitetura f\u00edsica, ou seja, de um im\u00f3vel por exemplo, visualizamos o desenho desse im\u00f3vel com seus c\u00f4modos, corredores, portas e janelas; e detalhes de \u201cacabamento\u201d como telhado, revestimentos etc.<\/p>\n\n\n\n<p>J\u00e1 se tratando da arquitetura de software, a visualiza\u00e7\u00e3o na verdade tende a ser de um diagrama, ou seja, um desenho no qual conste todos os itens que fazem parte da intera\u00e7\u00e3o do sistema: m\u00f3dulos do software, banco de dados, processos, outros sistemas com o qual o software interage, <a href=\"https:\/\/programathor.com.br\/blog\/o-que-e-api\/\">APIs<\/a> etc. E as intera\u00e7\u00f5es s\u00e3o representadas por setas, como em um fluxograma.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Por que usar a arquitetura de software?<\/strong><\/h2>\n\n\n\n<p>O conceito surgiu em 1960, sob a necessidade de estruturar um sistema antes de seu desenvolvimento, a fim de entender mais facilmente atrav\u00e9s da visualiza\u00e7\u00e3o, a intera\u00e7\u00e3o realizada pelo sistema. Al\u00e9m disso, observou-se que o desenho da arquitetura do software seria um bom documento do sistema, seja para entendimento de outras pessoas sobre o seu funcionamento ou para planejar evolu\u00e7\u00f5es e melhorias do mesmo.<\/p>\n\n\n\n<p>No entanto, para que esse entendimento fosse padronizado e difundido, foi necess\u00e1rio criar estilos e modelos arquiteturais para basear o desenvolvimento de softwares; ent\u00e3o a primeira norma padr\u00e3o conhecida como ISO\/IEEE 1471-2000, surgiu.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/programathor.com.br\/jobs\/?utm_source=blog&amp;utm_medium=arquitetura_de_software\"><img decoding=\"async\" width=\"700\" height=\"380\" src=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/vaga-desenvolvedor-1-2.jpg\" alt=\"Vagas ProgramaThor - arquitetura de software\" class=\"wp-image-2279\" srcset=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/vaga-desenvolvedor-1-2.jpg 700w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/vaga-desenvolvedor-1-2-300x163.jpg 300w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/vaga-desenvolvedor-1-2-676x367.jpg 676w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Para que a arquitetura de software serve?<\/strong><\/h2>\n\n\n\n<p>Hoje \u00e9 comum que as empresas de tecnologia possuam uma \u00e1rea ou time exclusivamente dedicado para a arquitetura de software, dada a sua import\u00e2ncia. Esse time ou \u00e1rea fica ent\u00e3o como respons\u00e1vel pela an\u00e1lise dos escopos dos sistemas existentes ou em desenvolvimento, a fim de definir a melhor estrat\u00e9gia quanto aos componentes envolvidos, possibilitando o desenvolvimento de solu\u00e7\u00f5es mais vi\u00e1veis e robustas.&nbsp;<\/p>\n\n\n\n<p>Nessa an\u00e1lise, alguns aspectos essenciais s\u00e3o levados em conta, como por exemplo:&nbsp;<\/p>\n\n\n\n<ul><li>Desempenho do sistema<\/li><li>Escalabilidade<\/li><li>Interoperabilidade<\/li><li>Compatibilidade<\/li><li>Seguran\u00e7a (um sistema bem arquitetado evita <a href=\"https:\/\/programathor.com.br\/blog\/ameacas_digitais\/\">amea\u00e7as digitais<\/a>)<\/li><li>Reaproveitamento<\/li><li>Performance<\/li><\/ul>\n\n\n\n<p>Al\u00e9m disso, a arquitetura de software deve considerar e compreender diferen\u00e7as entre as linguagens, entre os sistemas operacionais e, tamb\u00e9m, ambientes, como o caso dos ambientes de <a href=\"https:\/\/programathor.com.br\/blog\/tipos-de-ambiente-para-computacao-em-nuvem\/\">computa\u00e7\u00e3o na nuvem<\/a>. Tudo isso \u00e9 fundamental para definir os aspectos listados acima e que, consequentemente, influenciar\u00e3o na defini\u00e7\u00e3o final da solu\u00e7\u00e3o arquitetural.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Arquitetura de software e o neg\u00f3cio<\/strong><\/h2>\n\n\n\n<p>Pensando no neg\u00f3cio, a arquitetura de software \u00e9 essencial para alinhar o desempenho do sistema com os objetivos estrat\u00e9gicos do neg\u00f3cio, atrav\u00e9s de a\u00e7\u00f5es como:<\/p>\n\n\n\n<ul><li>Defini\u00e7\u00e3o da melhor estrutura para o sistema pensando em custo-benef\u00edcio<\/li><li>Apoio aos processos que impactam o planejamento estrat\u00e9gico<\/li><li>Garantia da padroniza\u00e7\u00e3o estrutural dos projetos<\/li><li>Apoio a otimiza\u00e7\u00e3o e escalabilidade do neg\u00f3cio<\/li><\/ul>\n\n\n\n<p>Por isso, o arquiteto de softwares deve ter sempre o senso cr\u00edtico de avaliar as melhores maneiras de desenvolver e estabelecer tecnologias, dando sugest\u00f5es e influenciando diretamente as melhores estrat\u00e9gias arquiteturais.&nbsp;<\/p>\n\n\n\n<p>Na pr\u00e1tica, isso acontece atrav\u00e9s da sele\u00e7\u00e3o dos componentes mais adequados e de intera\u00e7\u00f5es fundamentais para que a tecnologia funcione da melhor forma, atendendo aos requisitos de seu desenvolvimento.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>A arquitetura de software \u00e9 a planta do sistema?<\/strong><\/h2>\n\n\n\n<p>Podemos dizer que sim! Pois, a arquitetura de software \u00e9 o planejamento que garante o melhor desempenho para execu\u00e7\u00e3o do sistema, j\u00e1 que envolve a escolha de algoritmos, a estrutura\u00e7\u00e3o de dados, defini\u00e7\u00f5es sobre as estruturas que formar\u00e3o o sistema, protocolos de comunica\u00e7\u00e3o, sincroniza\u00e7\u00e3o e acesso a dados, divis\u00e3o em <a href=\"https:\/\/programathor.com.br\/blog\/beneficios_microsservicos\/\">microsservi\u00e7os<\/a>, distribui\u00e7\u00e3o f\u00edsica dos elementos, escalabilidade e desempenho e muito mais; tudo isso registrado em desenho com fluxos de intera\u00e7\u00e3o.<\/p>\n\n\n\n<p>Se voc\u00ea tiver d\u00favidas, sugest\u00f5es ou coment\u00e1rios sobre o tema, escreva aqui!<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/programathor.com.br\/?utm_source=blog&amp;utm_medium=arquitetura_de_software\"><img decoding=\"async\" width=\"1024\" height=\"171\" data-id=\"2280\" src=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/LOGO-PROGRAMATHOR-1024x171-1.jpg\" alt=\"ProgramaThor - arquitetura de software\" class=\"wp-image-2280\" srcset=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/LOGO-PROGRAMATHOR-1024x171-1.jpg 1024w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/LOGO-PROGRAMATHOR-1024x171-1-300x50.jpg 300w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/LOGO-PROGRAMATHOR-1024x171-1-768x128.jpg 768w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/LOGO-PROGRAMATHOR-1024x171-1-676x113.jpg 676w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Consiga um emprego!<\/h2>\n\n\n\n<p>Est\u00e1 procurando por uma oportunidade de trabalho como desenvolvedor? Voc\u00ea pode encontrar seu pr\u00f3ximo emprego aqui na ProgramaThor, uma plataforma focada em vagas para desenvolvedores. Basta\u00a0<a href=\"https:\/\/programathor.com.br\/users\/sign_up\/?utm_source=blog&amp;utm_medium=post&amp;utm_campaign=texto.final\">se cadastrar\u00a0<\/a>e completar seu perfil para come\u00e7ar a se candidatar \u00e0s vagas que mais combinam com voc\u00ea! Veja nossas\u00a0<a href=\"http:\/\/www.programathor.com.br\/jobs\/?utm_source=blog&amp;utm_medium=post&amp;utm_campaign=texto.final\">vagas.<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quem \u00e9 da \u00e1rea de tecnologia costuma saber quantas coisas envolvem um sistema bem desenvolvido e, dentre elas, existe a arquitetura de software. Quando falamos de arquitetura, logo vem \u00e0 mente constru\u00e7\u00f5es f\u00edsicas e edifica\u00e7\u00f5es, certo? Mas se tratando de sistemas, como ser\u00e1 que a arquitetura funciona? Pois bem: \u00e9 isso que voc\u00ea aprender\u00e1 aqui! [&hellip;]<\/p>\n","protected":false},"author":15,"featured_media":3678,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41],"tags":[243,13],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Arquitetura de software: voc\u00ea sabe o que \u00e9? - ProgramaThor<\/title>\n<meta name=\"description\" content=\"Voc\u00ea sabe o que \u00e9 arquitetura de software? Nesse artigo, a ProgramaThor explicou como ela funciona. Vem conferir e tirar suas d\u00favidas!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/programathor.com.br\/blog\/arquitetura_de_software\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Arquitetura de software: voc\u00ea sabe o que \u00e9? - ProgramaThor\" \/>\n<meta property=\"og:description\" content=\"Voc\u00ea sabe o que \u00e9 arquitetura de software? Nesse artigo, a ProgramaThor explicou como ela funciona. Vem conferir e tirar suas d\u00favidas!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/programathor.com.br\/blog\/arquitetura_de_software\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog ProgramaThor\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ProgramaThorBr\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-03T19:36:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-08-03T19:36:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2022\/08\/Capa-Artigo-Template-11.png\" \/>\n\t<meta property=\"og:image:width\" content=\"676\" \/>\n\t<meta property=\"og:image:height\" content=\"366\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Priscila Esperandio Ferrari\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ProgramaThor\" \/>\n<meta name=\"twitter:site\" content=\"@ProgramaThor\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Priscila Esperandio Ferrari\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Arquitetura de software: voc\u00ea sabe o que \u00e9? - ProgramaThor","description":"Voc\u00ea sabe o que \u00e9 arquitetura de software? Nesse artigo, a ProgramaThor explicou como ela funciona. Vem conferir e tirar suas d\u00favidas!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/programathor.com.br\/blog\/arquitetura_de_software\/","og_locale":"pt_PT","og_type":"article","og_title":"Arquitetura de software: voc\u00ea sabe o que \u00e9? - ProgramaThor","og_description":"Voc\u00ea sabe o que \u00e9 arquitetura de software? Nesse artigo, a ProgramaThor explicou como ela funciona. Vem conferir e tirar suas d\u00favidas!","og_url":"https:\/\/programathor.com.br\/blog\/arquitetura_de_software\/","og_site_name":"Blog ProgramaThor","article_publisher":"https:\/\/www.facebook.com\/ProgramaThorBr\/","article_published_time":"2022-08-03T19:36:18+00:00","article_modified_time":"2022-08-03T19:36:20+00:00","og_image":[{"width":676,"height":366,"url":"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2022\/08\/Capa-Artigo-Template-11.png","type":"image\/png"}],"author":"Priscila Esperandio Ferrari","twitter_card":"summary_large_image","twitter_creator":"@ProgramaThor","twitter_site":"@ProgramaThor","twitter_misc":{"Escrito por":"Priscila Esperandio Ferrari","Tempo estimado de leitura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/programathor.com.br\/blog\/arquitetura_de_software\/","url":"https:\/\/programathor.com.br\/blog\/arquitetura_de_software\/","name":"Arquitetura de software: voc\u00ea sabe o que \u00e9? - ProgramaThor","isPartOf":{"@id":"https:\/\/programathor.com.br\/blog\/#website"},"datePublished":"2022-08-03T19:36:18+00:00","dateModified":"2022-08-03T19:36:20+00:00","author":{"@id":"https:\/\/programathor.com.br\/blog\/#\/schema\/person\/3237651d54471592184af43c29cd01de"},"description":"Voc\u00ea sabe o que \u00e9 arquitetura de software? Nesse artigo, a ProgramaThor explicou como ela funciona. Vem conferir e tirar suas d\u00favidas!","breadcrumb":{"@id":"https:\/\/programathor.com.br\/blog\/arquitetura_de_software\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/programathor.com.br\/blog\/arquitetura_de_software\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/programathor.com.br\/blog\/arquitetura_de_software\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/programathor.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Dicas","item":"https:\/\/programathor.com.br\/blog\/category\/dicas\/"},{"@type":"ListItem","position":3,"name":"Arquitetura de software: voc\u00ea sabe o que \u00e9?"}]},{"@type":"WebSite","@id":"https:\/\/programathor.com.br\/blog\/#website","url":"https:\/\/programathor.com.br\/blog\/","name":"Blog ProgramaThor","description":"A plataforma de recrutamento  para programadores pensada por programadores. Entenda melhor o mundo da programa\u00e7\u00e3o, a cria\u00e7\u00e3o de uma vaga eficiente, dicas de entrevista, as linguagens do momento, o mercado de desenvolvimento e muito mais!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/programathor.com.br\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-PT"},{"@type":"Person","@id":"https:\/\/programathor.com.br\/blog\/#\/schema\/person\/3237651d54471592184af43c29cd01de","name":"Priscila Esperandio Ferrari","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/programathor.com.br\/blog\/#\/schema\/person\/image\/","url":"https:\/\/programathor.com.br\/blog\/wp-content\/litespeed\/avatar\/9e41beffa38a8bf1b4277036434e2736.jpg?ver=1780496900","contentUrl":"https:\/\/programathor.com.br\/blog\/wp-content\/litespeed\/avatar\/9e41beffa38a8bf1b4277036434e2736.jpg?ver=1780496900","caption":"Priscila Esperandio Ferrari"},"url":"https:\/\/programathor.com.br\/blog\/author\/priscila-esperandio-ferrari\/"}]}},"_links":{"self":[{"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/posts\/3677"}],"collection":[{"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/comments?post=3677"}],"version-history":[{"count":1,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/posts\/3677\/revisions"}],"predecessor-version":[{"id":3679,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/posts\/3677\/revisions\/3679"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/media\/3678"}],"wp:attachment":[{"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/media?parent=3677"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/categories?post=3677"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/tags?post=3677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}