Software architecture (original) (raw)

About DBpedia

المعمارية البرمجية لنظام ما هي مجموعة الهيكليات التي نحتاجها كي نستوعب آلية عمل وبناء النظام. وهي تتضمن الأجزاء البرمجية والعلاقات التي تربط هذه الأجزاء ببعضها البعض، إضافة إلى خصائص هذه الأجزاء والعلاقات. يستعمل المصطلح أيضا لوصف عملية توثيق «معمارية البرمجيات». فتوثيقها يسهل التحاور والتفاهم بين جميع أصحاب الشأن. كما وأنها تبين القرارات التي اتخذت في مراحل تطوير النظام الأولى حول النظرة العامة لمعماريته. إضافة إلى ذلك، فهي تسهل عملية إعادة استخدام بعض النماذج والمكونات فيما بين المشاريع.

thumbnail

Property Value
dbo:abstract En els inicis de la informàtica, la programació es considerava un art i es desenvolupava com a tal, a causa de la dificultat que comportava per a la majoria de les persones, però amb el temps s'han anat descobrint i desenvolupant formes i guies generals, sobre la base de les quals es puguin resoldre els problemes. A aquestes, se'ls ha denominat 'Arquitectura de Programari, perquè, a semblança dels plànols d'un edifici o construcció, aquestes indiquen l'estructura, funcionament i interacció entre les parts del programari. En el llibre "An Introduction to Software Architecture", David Garlan i Mary Shaw defineixen que l'Arquitectura és un nivell de disseny que fa focus en aspectes "més enllà dels algorismes i estructures de dades de la computació; el disseny i especificació de l'estructura global del sistema és un nou tipus de problema". (ca) المعمارية البرمجية لنظام ما هي مجموعة الهيكليات التي نحتاجها كي نستوعب آلية عمل وبناء النظام. وهي تتضمن الأجزاء البرمجية والعلاقات التي تربط هذه الأجزاء ببعضها البعض، إضافة إلى خصائص هذه الأجزاء والعلاقات. يستعمل المصطلح أيضا لوصف عملية توثيق «معمارية البرمجيات». فتوثيقها يسهل التحاور والتفاهم بين جميع أصحاب الشأن. كما وأنها تبين القرارات التي اتخذت في مراحل تطوير النظام الأولى حول النظرة العامة لمعماريته. إضافة إلى ذلك، فهي تسهل عملية إعادة استخدام بعض النماذج والمكونات فيما بين المشاريع. (ar) Eine Softwarearchitektur ist einer der Architekturtypen in der Informatik und beschreibt die grundlegenden Komponenten und deren Zusammenspiel innerhalb eines Softwaresystems. Als spezialisierte Tätigkeit hat sich der Softwarearchitekt herausentwickelt, der für das High Level Design und die Planung neuer Softwareprodukte verantwortlich ist. (de) Softwarearen arkitektura Softwarearen Sistemaren funtsezko egitura eta hauek sortzeko erabiltzen diren diziplinen multzoa da. Software elementuak, hauen arteko erlazioak eta bi hauen ezaugarriak, egitura bakoitzaren menpekoak dira. Software sistemen arkitektura metafora bat da, eraikinen arkitekturarekin duen antzekotasunarengatik. Garatutako proiektuentzat eta sistemarentzat plano moduko bat da, eginbeharrak, diseinatutako moduan egin daitezen. Proiektuetan, behin eginik, aldatzeak kostu handia edukiko luketen erabakiak hartzean datza software arkitektura. Erabaki hauek, softwarearen diseinuaren hainbat egitura aukera barne ditzake. Adibidez, transbordadore espazial batean jaurtiketa kontrolatzeko sistemek, azkartasuna eta fidagarritasuna bermatu beharko dute. Beraz, denbora errealeko konputazio lengoaia egokia aukeratu beharko litzateke. Gainera, fidagarritasuna bermatu dezan, hartutako erabakiak hainbat kopia erredundante eta berain artean independenteki eginak izatea egin dezakegu. Gero, kopia hauek, hardware ezberdinetan exekutatzen jarri beraien emaitzak modu gurutzatuan kontrolatuz. Software arkitektura dokumentatuz, interes-taldeen arteko komunikazioa errazteaz gain, goi-mailako egiturari buruzko hasierako erabakiak jasotzen dira. Gainera, hainbat proiekturen artean, diseinu atazen berrerabilera ere ahalbidetzen dute. (eu) En los inicios de la Ingeniería de Software, el desarrollo de software se realizaba libremente, pero con el tiempo se han ido descubriendo y desarrollando nuevos modelos y estándares​, con base a las cuales se puedan resolver las problemáticas modernas. A estos, se les ha denominado arquitectura de software, porque, a semejanza de los planos de un edificio o construcción, estas indican la estructura, funcionamiento e interacción entre las partes del software.En el libro "An introduction to Software Architecture", David Garlan y Mary Shaw definen que la arquitectura es un nivel de diseño que hace foco en aspectos "más allá de los algoritmos y estructuras de datos de la computación; el diseño y especificación de la estructura global del sistema es un nuevo tipo de problema". (es) L’architecture logicielle décrit d’une manière symbolique et schématique les différents éléments d’un ou de plusieurs systèmes informatiques, leurs interrelations et leurs interactions. Contrairement aux spécifications produites par l’analyse fonctionnelle, le modèle d'architecture, produit lors de la phase de conception, ne décrit pas ce que doit réaliser un système informatique mais plutôt comment il doit être conçu de manière à répondre aux spécifications. L’analyse décrit le « quoi faire » alors que l’architecture décrit le « comment le faire ». (fr) Arsitektur perangkat lunak adalah struktur sistem dari suatu program atau sistem komputer yang terdiri dari komponen-komponen perangkat lunak, ciri yang tampak secara eksternal dari komponen-komponen tersebut, serta hubungan antar komponen tersebut. Istilah ini juga merujuk pada dokumentasi arsitektur perangkat lunak suatu sistem. (in) Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations. The architecture of a software system is a metaphor, analogous to the architecture of a building. It functions as a blueprint for the system and the developing project, which project management can later use to extrapolate the tasks necessary to be executed by the teams and people involved. Software architecture is about making fundamental structural choices that are costly to change once implemented. Software architecture choices include specific structural options from possibilities in the design of the software. For example, the systems that controlled the Space Shuttle launch vehicle had the requirement of being very fast and very reliable. Therefore, an appropriate real-time computing language would need to be chosen. Additionally, to satisfy the need for reliability the choice could be made to have multiple redundant and independently produced copies of the program, and to run these copies on independent hardware while cross-checking results. Documenting software architecture facilitates communication between stakeholders, captures early decisions about the high-level design, and allows reuse of design components between projects. (en) ソフトウェアアーキテクチャ(英: Software Architecture)は、ソフトウェアコンポーネント、それらの外部特性、またそれらの相互関係から構成される。また、この用語はシステムのソフトウェアアーキテクチャの文書化を意味することもある。ソフトウェアアーキテクチャの文書は開発依頼主とのコミュニケーションを容易にするもので、概要レベルの設計に関する早期の決定を促し、プロジェクト間でのコンポーネントとパターンの設計を再利用することを可能にする。 (ja) Een softwarearchitectuur is de structuur of set van structuren van een softwaresysteem, bestaande uit software-elementen, de relaties tussen deze software-elementen en de eigenschappen van beiden. Met de term softwarearchitectuur wordt ook vaak gedoeld op een samenhangende beschrijving waarin de voornoemde structuur is gedocumenteerd. Het documenteren van een softwarearchitectuur vergemakkelijkt het overleg met belanghebbenden (stakeholders), maakt fundamentele ontwerpbeslissingen inzichtelijk, en maakt hergebruik van elementen en patronen uit het ontwerp voor andere projecten mogelijk. Er zijn vele definities van het begrip softwarearchitectuur in omloop, maar tot op heden is geen daarvan algemeen erkend. De term applicatiearchitectuur wordt ook wel gebruikt als synoniem voor softwarearchitectuur, maar er zijn duidelijke verschillen. Waar een softwarearchitectuur het ontwerp van een enkele applicatie beschrijft, beschouwt een applicatiearchitectuur de samenhang tussen verschillende applicaties en informatiesystemen. Een softwarearchitectuur verschilt van het (systeem)ontwerp: de architectuur dient als basis voor het ontwerp. De softwarearchitectuur richt zich in de regel op de externe kenmerken van een software-element. Het ontwerp gaat meestal meer in op de interne kenmerken. Een eenduidige scheidslijn tussen softwarearchitectuur en (systeem)ontwerp ontbreekt echter. (nl) 소프트웨어 구조 또는 소프트웨어 아키텍처(software architecture)는 소프트웨어의 구성요소들 사이에서 유기적 관계를 표현하고 소프트웨어의 설계와 업그레이드를 통제하는 지침과 원칙이다. (ko) A arquitetura de software de um sistema consiste na definição dos componentes de software, suas propriedades externas, e seus relacionamentos com outros softwares. O termo também se refere à documentação da arquitetura de software do sistema. A documentação da arquitetura do software facilita: a comunicação entre os stakeholders, registra as decisões iniciais acerca do projeto de alto-nível, e permite o reúso do projeto dos componentes e padrões entre projetos. (pt) Architektura oprogramowania – podstawowa organizacja systemu wraz z jego komponentami, wzajemnymi powiązaniami, środowiskiem pracy i regułami ustanawiającymi sposób jej budowy i rozwoju. Opis architektury oprogramowania (ang. Software Architecture Description) postrzegany jest jako platforma porozumiewania się wszystkich osób zaangażowanych w proces wytwórczy systemów informatycznych. Architektura oprogramowania jest stosunkowo młodą dziedziną informatyki i choć w ostatnich dwóch dekadach dość mocno się rozwinęła i nawet osiągnęła poziom dojrzałości, to nadal trwają dyskusje nad jej miejscem w informatyce, a przede wszystkim nie ma zgody szerokiego gremium w zakresie określenia samej definicji architektury oprogramowania. Stąd SEI na swojej stronie publikuje definicje architektury oprogramowania różnych autorów. Na obecnym etapie rozwoju architektury oprogramowania systemów informatycznych duże nadzieje wiąże się z rozwojem odpowiednich języków opisu architektury, które pozwolą w łatwy sposób przekształcać opisy architektoniczne w modele analityczne, a nawet wygenerować kody źródłowe, co jest przedmiotem . Architektura sterowana modelem (MDA), wykorzystywana przez , obecnie nadal jest mocno związana z językiem modelowania UML, toteż rozwój tej dziedziny wiąże się z opracowaniem odpowiedniego języka opisu architektury, który w tym względzie zastąpiłby UML. Podobnie uważa Mary Shaw, twierdząc, że osoba proponująca nowy język opisu architektury, musi odpowiedzieć na pytanie „Czy ta propozycja ma jakieś szanse zastąpienia UML? Jakie narzędzia pozwolą to osiągnąć?”. Ponadto Mary Shaw w swoim artykule nakreśliła również pewne obiecujące obszary, które w najbliższym czasie mogą zmienić oblicze architektury oprogramowania m.in.: * rozwinięcie formalnych związków pomiędzy decyzjami architektonicznymi a atrybutami jakościowymi; * poszukiwanie odpowiedniego języka do opisu architektury; * poszukiwanie rozwiązań zapewniających zgodność architektury z kodem. (pl) Архитектура программного обеспечения (англ. software architecture) — совокупность важнейших решений об организации программной системы. Архитектура включает: * выбор структурных элементов и их интерфейсов, с помощью которых составлена система, а также их поведения в рамках сотрудничества структурных элементов; * соединение выбранных элементов структуры и поведения во всё более крупные системы; * архитектурный стиль, который направляет всю организацию — все элементы, их интерфейсы, их сотрудничество и их соединение. Документирование архитектуры программного обеспечения (ПО) упрощает процесс коммуникации между разработчиками, позволяет зафиксировать принятые проектные решения и предоставить информацию о них эксплуатационному персоналу системы, повторно использовать компоненты и шаблоны проекта в других. Общепринятого определения «архитектуры программного обеспечения» не существует. Так, сайт Института программной инженерии приводит более 150 определений этого понятия. (ru) 软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件架构會包括軟體組件、組件之間的關係,組件特性以及組件間關係的特性。软件架构可以和建筑物的架构相比拟。软件架构是构建计算机软件,開發系統以及計劃進行的基础,可以列出開發團隊需要完成的任務。 软件架构是在軟體的基礎架構上進行決策,決定後再做修改的代價很大。软件架构中的決策包括在軟體設計時的一些特殊結構性選項,例如要控制太空船登陸艇的系統需要快速而且可靠,因此需要選擇適合实时计算的語言,而且為了滿足可靠度的需求,程式需要有數個冗餘的複本,各複本運作在不同的硬體上,以便比對各程式的結果。 將軟體架構文档化有助於和之間的溝通,在高層設計時就可以提早進行決策,也可以在各專案之間復用設計組件。 (zh) Архітектура програмного забезпечення (англ. software architecture) — спосіб структурування програмної або обчислювальної системи, абстракція елементів системи на певній фазі її роботи. Система може складатись з кількох рівнів абстракції і мати багато фаз роботи, кожна з яких може мати окрему архітектуру. Дослідження архітектури програмного забезпечення намагається визначити як найкраще розбити систему на частини, як ці частини визначають та взаємодіють одна з одною, як між ними передається інформація, як ці частини розвиваються поодинці і як все вищеописане найкраще записати використовуючи формальну чи неформальну нотацію. Архітектура повинна будуватись щоб найкраще відповідати вимогам до системи що створюється, згідно принципу "". Згідно Perry та Wolf архітектурою є набір елементів що мають певну форму (властивості і обмеження що накладаються на елементи), і їх (англ. rationale). Обґрунтування фіксує мотиви вибору певного архітектурного стилю, елементів і обмежень. Рой Філдінг вважає що обґрунтування необхідне на етапі створення архітектури, і корисне надалі але не є невід'ємним її елементом. Тому що архітектура має набір властивостей що дозволяють їй задовольняти вимоги, і незнання цих вимог може призвести до змін що порушують архітектуру, але до архітектури входять властивості а не вимоги. Наприклад можна не знати що в "архітектуру" стола закладену вимогу стійкості, і тому він повинен мати більше двох ніжок. Не знаючи про цю вимогу, ми можемо відпиляти забагато ніжок і стіл впаде. Але це тому що ми порушили архітектурне обмеження "мати три чи більше ніжок". Терміном "Архітектура" також називають документування архітектури програмного забезпечення. Документування архітектури ПЗ спрощує процес комунікації між зацікавленими особами, дозволяє зафіксувати прийняті на ранніх етапах проєктування рішення про високорівневий дизайн системи і дозволяє використовувати компоненти цього дизайну і шаблони проєктування повторно в інших проєктах. (uk)
dbo:thumbnail wiki-commons:Special:FilePath/Software_Architecture_Activities.jpg?width=300
dbo:wikiPageExternalLink http://www.iasaglobal.org/ http://www.softwarearchitectureportal.org/ http://www.softwarearchitectures.com/ http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/2003/Pbk4p1.pdf https://web.archive.org/web/20060613222204/http:/www.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/2003/Pbk4p1.pdf https://web.archive.org/web/20150921170650/http:/resources.sei.cmu.edu/asset_files/WhitePaper/2003_019_001_29559.pdf http://www.methodsandtools.com/archive/archive.php%3Fid=85 https://www.infoq.com/architecture https://resources.sei.cmu.edu/asset_files/WhitePaper/2003_019_001_29559.pdf https://wiki.sei.cmu.edu/sad/index.php/The_Adventure_Builder_SAD http://www.sei.cmu.edu/architecture/start/definitions.cfm https://leanpub.com/software-architecture/%7Cpages=689 https://github.com/bp4you/sadd http://www.ibm.com/developerworks/rational/library/feb06/eeles/ http://www.ics.uci.edu/~fielding/pubs/dissertation/software_arch.htm http://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf%7Cjournal=
dbo:wikiPageID 48364 (xsd:integer)
dbo:wikiPageLength 48485 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1124520525 (xsd:integer)
dbo:wikiPageWikiLink dbr:Carnegie_Mellon_University dbr:Roy_Fielding dbr:Monolithic_application dbr:Melvin_Conway dbr:Blueprint dbr:David_Parnas dbr:Algorithm dbr:Anti-pattern dbr:Application_software dbr:ArchiMate dbr:Architectural_pattern dbr:Architectural_style dbr:Architecturally_significant_requirements dbr:Architecture_description_language dbr:Architecture_framework dbr:Architecture_tradeoff_analysis_method dbr:Patterns dbr:Representational_state_transfer dbr:Requirements dbr:Requirements_analysis dbr:DRDA dbr:University_of_California,_Irvine dbr:Jackson_Structured_Programming dbr:Requirement dbr:Requirements_management dbr:Reference_architecture dbr:Enterprise_architecture dbr:Fred_Brooks dbr:Conway's_law dbr:The_Mythical_Man-Month dbr:TOGAF dbr:Client–server_model dbr:Cloud_computing dbr:Computational_problem dbr:Computer_architecture dbr:Computer_memory dbr:Computer_science dbr:Zachman_Framework dbr:Client–server dbr:Software_architecture dbr:Systems_architecture dbr:Peer-to-peer dbr:Plug-in_(computing) dbr:Solution_space dbr:Spiral_model dbr:Stakeholder_(corporate) dbr:Static_program_analysis dbr:Synergy dbr:Technology dbr:Microservices dbr:Software_engineering dbr:Business dbr:C4_model_(software) dbr:Darwin_(ADL) dbr:Data_structure dbr:Data_validation dbr:Database-centric_architecture dbr:Distributed_Data_Management_Architecture dbr:Domain-specific_language dbr:Agile_software_development dbr:4+1_architectural_view_model dbc:Software_architecture dbr:Dynamic_systems_development_method dbr:Extensibility dbr:Central_processing_unit dbr:Diagram dbr:Knowledge_management dbr:Software_component dbr:Software_documentation dbr:Requirements_elicitation dbr:Real-time_computing dbr:Reverse_engineering dbr:Rule-based_system dbr:Attribute-driven_design dbr:Backward_compatibility dbr:Cost_overrun dbr:Cost_reduction dbr:Mary_Shaw_(computer_scientist) dbr:Requirements_engineering dbr:Shared_nothing_architecture dbr:Software_Requirements_Specification dbr:Architecture dbr:Abstraction_(computer_science) dbr:Big_Design_Up_Front dbr:System dbr:Wright_(ADL) dbr:Software_design dbr:Availability dbr:Bus_(computing) dbr:Software_Engineering_Institute dbr:Software_componentry dbr:Software_design_pattern dbr:Space_Shuttle dbr:Time-triggered_system dbr:Three-tier_(computing) dbr:Imperial_College_London dbr:Information dbr:O'Reilly_Media dbr:Carnegie_Mellon dbr:Maintainability dbr:Project_management dbr:Separation_of_concerns dbr:Service-oriented_architecture dbr:Software_Architecture_Analysis_Method dbr:Software_architect dbr:Space-based_architecture dbr:Software dbr:View_model dbr:Software_system dbr:Non-functional_requirements dbr:IEEE_1471 dbr:IEEE_Software dbr:IFIP_Working_Group_2.10 dbr:ISO/IEC_12207 dbr:ISO/IEC_15288 dbr:ISO/IEC_25010 dbr:ISO/IEC_42010 dbr:Implicit_invocation dbr:Software_intelligence dbr:Requirements_traceability dbr:Multilayered_architecture dbr:Event-driven_architecture dbr:Solution_architecture dbr:Sociotechnical_system dbr:Systems_design dbr:National_Sun_Yat-Sen_University dbr:Architectural_pattern_(computer_science) dbr:Architecture_analysis_and_design_language dbr:Fault-tolerance dbr:Systems_Development_Life_Cycle dbr:Blackboard_(computing) dbr:Quality_attributes dbr:Edsger_Dijkstra dbr:Formal_method dbr:Pipes_and_filters dbr:Reliability_(engineering) dbr:Addison-Wesley_Professional dbr:Ilities dbr:N-tier dbr:ATAM dbr:File:4+1_Architectural_View_Model.svg dbr:Acme_(ADL) dbr:ByADL_(ADL) dbr:File:Software_Architecture_Activities.jpg dbr:Reactive_architecture
dbp:wikiPageUsesTemplate dbt:Authority_control dbt:Cite_book dbt:Cite_journal dbt:Cmn dbt:Commons_category dbt:Cquote dbt:Main dbt:Reflist dbt:Rp dbt:Short_description dbt:Wikiquote dbt:Software_engineering dbt:Software_development_process
dcterms:subject dbc:Software_architecture
rdf:type owl:Thing
rdfs:comment المعمارية البرمجية لنظام ما هي مجموعة الهيكليات التي نحتاجها كي نستوعب آلية عمل وبناء النظام. وهي تتضمن الأجزاء البرمجية والعلاقات التي تربط هذه الأجزاء ببعضها البعض، إضافة إلى خصائص هذه الأجزاء والعلاقات. يستعمل المصطلح أيضا لوصف عملية توثيق «معمارية البرمجيات». فتوثيقها يسهل التحاور والتفاهم بين جميع أصحاب الشأن. كما وأنها تبين القرارات التي اتخذت في مراحل تطوير النظام الأولى حول النظرة العامة لمعماريته. إضافة إلى ذلك، فهي تسهل عملية إعادة استخدام بعض النماذج والمكونات فيما بين المشاريع. (ar) Eine Softwarearchitektur ist einer der Architekturtypen in der Informatik und beschreibt die grundlegenden Komponenten und deren Zusammenspiel innerhalb eines Softwaresystems. Als spezialisierte Tätigkeit hat sich der Softwarearchitekt herausentwickelt, der für das High Level Design und die Planung neuer Softwareprodukte verantwortlich ist. (de) En los inicios de la Ingeniería de Software, el desarrollo de software se realizaba libremente, pero con el tiempo se han ido descubriendo y desarrollando nuevos modelos y estándares​, con base a las cuales se puedan resolver las problemáticas modernas. A estos, se les ha denominado arquitectura de software, porque, a semejanza de los planos de un edificio o construcción, estas indican la estructura, funcionamiento e interacción entre las partes del software.En el libro "An introduction to Software Architecture", David Garlan y Mary Shaw definen que la arquitectura es un nivel de diseño que hace foco en aspectos "más allá de los algoritmos y estructuras de datos de la computación; el diseño y especificación de la estructura global del sistema es un nuevo tipo de problema". (es) L’architecture logicielle décrit d’une manière symbolique et schématique les différents éléments d’un ou de plusieurs systèmes informatiques, leurs interrelations et leurs interactions. Contrairement aux spécifications produites par l’analyse fonctionnelle, le modèle d'architecture, produit lors de la phase de conception, ne décrit pas ce que doit réaliser un système informatique mais plutôt comment il doit être conçu de manière à répondre aux spécifications. L’analyse décrit le « quoi faire » alors que l’architecture décrit le « comment le faire ». (fr) Arsitektur perangkat lunak adalah struktur sistem dari suatu program atau sistem komputer yang terdiri dari komponen-komponen perangkat lunak, ciri yang tampak secara eksternal dari komponen-komponen tersebut, serta hubungan antar komponen tersebut. Istilah ini juga merujuk pada dokumentasi arsitektur perangkat lunak suatu sistem. (in) ソフトウェアアーキテクチャ(英: Software Architecture)は、ソフトウェアコンポーネント、それらの外部特性、またそれらの相互関係から構成される。また、この用語はシステムのソフトウェアアーキテクチャの文書化を意味することもある。ソフトウェアアーキテクチャの文書は開発依頼主とのコミュニケーションを容易にするもので、概要レベルの設計に関する早期の決定を促し、プロジェクト間でのコンポーネントとパターンの設計を再利用することを可能にする。 (ja) 소프트웨어 구조 또는 소프트웨어 아키텍처(software architecture)는 소프트웨어의 구성요소들 사이에서 유기적 관계를 표현하고 소프트웨어의 설계와 업그레이드를 통제하는 지침과 원칙이다. (ko) A arquitetura de software de um sistema consiste na definição dos componentes de software, suas propriedades externas, e seus relacionamentos com outros softwares. O termo também se refere à documentação da arquitetura de software do sistema. A documentação da arquitetura do software facilita: a comunicação entre os stakeholders, registra as decisões iniciais acerca do projeto de alto-nível, e permite o reúso do projeto dos componentes e padrões entre projetos. (pt) 软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件架构會包括軟體組件、組件之間的關係,組件特性以及組件間關係的特性。软件架构可以和建筑物的架构相比拟。软件架构是构建计算机软件,開發系統以及計劃進行的基础,可以列出開發團隊需要完成的任務。 软件架构是在軟體的基礎架構上進行決策,決定後再做修改的代價很大。软件架构中的決策包括在軟體設計時的一些特殊結構性選項,例如要控制太空船登陸艇的系統需要快速而且可靠,因此需要選擇適合实时计算的語言,而且為了滿足可靠度的需求,程式需要有數個冗餘的複本,各複本運作在不同的硬體上,以便比對各程式的結果。 將軟體架構文档化有助於和之間的溝通,在高層設計時就可以提早進行決策,也可以在各專案之間復用設計組件。 (zh) En els inicis de la informàtica, la programació es considerava un art i es desenvolupava com a tal, a causa de la dificultat que comportava per a la majoria de les persones, però amb el temps s'han anat descobrint i desenvolupant formes i guies generals, sobre la base de les quals es puguin resoldre els problemes. A aquestes, se'ls ha denominat 'Arquitectura de Programari, perquè, a semblança dels plànols d'un edifici o construcció, aquestes indiquen l'estructura, funcionament i interacció entre les parts del programari. En el llibre "An Introduction to Software Architecture", David Garlan i Mary Shaw defineixen que l'Arquitectura és un nivell de disseny que fa focus en aspectes "més enllà dels algorismes i estructures de dades de la computació; el disseny i especificació de l'estructura g (ca) Softwarearen arkitektura Softwarearen Sistemaren funtsezko egitura eta hauek sortzeko erabiltzen diren diziplinen multzoa da. Software elementuak, hauen arteko erlazioak eta bi hauen ezaugarriak, egitura bakoitzaren menpekoak dira. Software sistemen arkitektura metafora bat da, eraikinen arkitekturarekin duen antzekotasunarengatik. Garatutako proiektuentzat eta sistemarentzat plano moduko bat da, eginbeharrak, diseinatutako moduan egin daitezen. (eu) Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations. The architecture of a software system is a metaphor, analogous to the architecture of a building. It functions as a blueprint for the system and the developing project, which project management can later use to extrapolate the tasks necessary to be executed by the teams and people involved. (en) Een softwarearchitectuur is de structuur of set van structuren van een softwaresysteem, bestaande uit software-elementen, de relaties tussen deze software-elementen en de eigenschappen van beiden. Met de term softwarearchitectuur wordt ook vaak gedoeld op een samenhangende beschrijving waarin de voornoemde structuur is gedocumenteerd. Het documenteren van een softwarearchitectuur vergemakkelijkt het overleg met belanghebbenden (stakeholders), maakt fundamentele ontwerpbeslissingen inzichtelijk, en maakt hergebruik van elementen en patronen uit het ontwerp voor andere projecten mogelijk. (nl) Architektura oprogramowania – podstawowa organizacja systemu wraz z jego komponentami, wzajemnymi powiązaniami, środowiskiem pracy i regułami ustanawiającymi sposób jej budowy i rozwoju. Opis architektury oprogramowania (ang. Software Architecture Description) postrzegany jest jako platforma porozumiewania się wszystkich osób zaangażowanych w proces wytwórczy systemów informatycznych. (pl) Архитектура программного обеспечения (англ. software architecture) — совокупность важнейших решений об организации программной системы. Архитектура включает: * выбор структурных элементов и их интерфейсов, с помощью которых составлена система, а также их поведения в рамках сотрудничества структурных элементов; * соединение выбранных элементов структуры и поведения во всё более крупные системы; * архитектурный стиль, который направляет всю организацию — все элементы, их интерфейсы, их сотрудничество и их соединение. (ru) Архітектура програмного забезпечення (англ. software architecture) — спосіб структурування програмної або обчислювальної системи, абстракція елементів системи на певній фазі її роботи. Система може складатись з кількох рівнів абстракції і мати багато фаз роботи, кожна з яких може мати окрему архітектуру. Архітектура повинна будуватись щоб найкраще відповідати вимогам до системи що створюється, згідно принципу "". (uk)
rdfs:label Software architecture (en) معمارية برمجيات (ar) Arquitectura de programari (ca) Softwarearchitektur (de) Arquitectura de software (es) Software arkitektura (eu) Arsitektur perangkat lunak (in) Architecture logicielle (fr) 소프트웨어 구조 (ko) ソフトウェアアーキテクチャ (ja) Softwarearchitectuur (nl) Architektura oprogramowania (pl) Arquitetura de software (pt) Архитектура программного обеспечения (ru) 软件架构 (zh) Архітектура програмного забезпечення (uk)
owl:sameAs freebase:Software architecture wikidata:Software architecture dbpedia-ar:Software architecture dbpedia-bg:Software architecture http://bn.dbpedia.org/resource/সফটওয়্যার_আর্কিটেকচার dbpedia-ca:Software architecture dbpedia-da:Software architecture dbpedia-de:Software architecture dbpedia-es:Software architecture dbpedia-eu:Software architecture dbpedia-fa:Software architecture dbpedia-fi:Software architecture dbpedia-fr:Software architecture dbpedia-gl:Software architecture dbpedia-he:Software architecture http://hy.dbpedia.org/resource/Ծրագրակազմի_ճարտարագիտություն dbpedia-id:Software architecture dbpedia-ja:Software architecture dbpedia-ko:Software architecture dbpedia-nl:Software architecture dbpedia-pl:Software architecture dbpedia-pt:Software architecture dbpedia-ru:Software architecture dbpedia-simple:Software architecture http://te.dbpedia.org/resource/సాఫ్ట్వేర్_ఆర్కిటెక్చర్ dbpedia-tr:Software architecture dbpedia-uk:Software architecture dbpedia-vi:Software architecture dbpedia-zh:Software architecture https://global.dbpedia.org/id/4zyjB http://d-nb.info/gnd/4121677-5
prov:wasDerivedFrom wikipedia-en:Software_architecture?oldid=1124520525&ns=0
foaf:depiction wiki-commons:Special:FilePath/4+1_Architectural_View_Model.svg wiki-commons:Special:FilePath/Software_Architecture_Activities.jpg
foaf:isPrimaryTopicOf wikipedia-en:Software_architecture
is dbo:knownFor of dbr:Alexander_L._Wolf
is dbo:service of dbr:Cigital
is dbo:wikiPageDisambiguates of dbr:Architecture_(disambiguation) dbr:SA
is dbo:wikiPageRedirects of dbr:History_of_software_architecture dbr:Software_Architectural_Style dbr:Software_Architecture dbr:Robust_software_architecture dbr:Program_architecture dbr:SoftwareArchitecture dbr:Software_architectural_style dbr:Software_ontology
is dbo:wikiPageWikiLink of dbr:Procedural_design dbr:Programming_in_the_large_and_programming_in_the_small dbr:End-user_computing dbr:Enterprise_architecture_framework dbr:Enterprise_service_bus dbr:Entity-control-boundary dbr:Entity_component_system dbr:Monolithic_application dbr:MACS3 dbr:MBASE dbr:Messaging_pattern dbr:Product-family_engineering dbr:Bonnie_E._John dbr:DevTernity_Conference dbr:AntiPatterns dbr:Application_lifecycle_management dbr:Architectural_decision dbr:Architectural_pattern dbr:Architecturally_significant_requirements dbr:Architecture_Analysis_&_Design_Language dbr:Architecture_description_language dbr:Architecture_domain dbr:Architecture_tradeoff_analysis_method dbr:History_of_software_architecture dbr:Juan_Pavón dbr:Julian_Lombardi dbr:List_of_Dutch_inventions_and_innovations dbr:PeopleTools dbr:Peter_Naur dbr:Representational_state_transfer dbr:Resource-oriented_architecture dbr:Ultra-large-scale_systems dbr:Unreal_Engine dbr:UrbanSim dbr:Day_of_the_Figurines dbr:Design_rationale dbr:DevOps dbr:Index_of_software_engineering_articles dbr:Intel_High_Definition_Audio dbr:Inversion_of_control dbr:Jamstack dbr:Jan_Bosch dbr:LexisNexis_Risk_Solutions dbr:OpenVanilla dbr:Publish–subscribe_pattern dbr:Requirement dbr:Software_architecture_recovery dbr:Software_quality dbr:Systems_integrator dbr:Commitment_ordering dbr:Maxine_Virtual_Machine dbr:Object-oriented_analysis_and_design dbr:Occasionally_connected_computing dbr:Open_Semantic_Framework dbr:Praxeme dbr:Reference_architecture dbr:Node_graph_architecture dbr:Software_design_description dbr:FreeMarker dbr:Minix dbr:Mira_Mezini dbr:The_Seam dbr:Thomas_Erl dbr:Eric_Nyberg dbr:Erik_Proper dbr:Open_architecture dbr:Open_implementation dbr:Apache_Ivy dbr:Apache_ZooKeeper dbr:Applications_architecture dbr:Aptitude_(software) dbr:Bauhaus_Project_(computing) dbr:Cactus_Framework dbr:Cadastre dbr:Common_Algebraic_Specification_Language dbr:Component-based_software_engineering dbr:Computer_architecture dbr:Computer_programming dbr:Feature-driven_development dbr:Frontend_and_backend dbr:Hardware_architect dbr:Software_architecture dbr:Systems_architect dbr:Systems_architecture dbr:PALLAS dbr:Personal_knowledge_base dbr:Pervasive_PSQL dbr:Pervasive_game dbr:Pointer_(computer_programming) dbr:Software_Peter_principle dbr:Software_peer_review dbr:Peltarion_Synapse dbr:Talisman_UUV dbr:Test-driven_development dbr:SIGSOFT dbr:Software_engineering dbr:C1_CMS dbr:ActivePresentation dbr:Data-intensive_computing dbr:Database-centric_architecture dbr:Whitacre_College_of_Engineering dbr:Whitewater_Interactive_System_Development_with_Object_Models dbr:Distributed_Computing_Environment dbr:Distributed_Data_Management_Architecture dbr:Distributed_operating_system dbr:Domain_analysis dbr:Dr._Dobb's_Excellence_in_Programming_Award dbr:Dualistic_Petri_nets dbr:Linker_(computing) dbr:List_of_Carnegie_Mellon_University_people dbr:Uncle_Roy_All_Around_You dbr:Software_factory dbr:3Pillar_Global dbr:Alexander_L._Wolf dbr:Amazon_Web_Services dbr:Dataflow dbr:Eben_Upton dbr:Extensibility dbr:Barry_Boehm dbr:Nintendo_Research_&_Engineering dbr:NorduGrid dbr:Capella_(engineering) dbr:Cigital dbr:Form_follows_function dbr:Gnits_standards dbr:Grammar-oriented_programming dbr:History_of_software_engineering dbr:Unified_Modeling_Language dbr:Legacy_system dbr:Legal_expert_system dbr:Len_Bass dbr:HICIT_in_Shorouk_Academy dbr:HOSxP dbr:HPCC dbr:Jeff_Sutherland dbr:Jeni_Tennison dbr:Mary_Shaw_(computer_scientist) dbr:Software_token dbr:Software_Architectural_Style dbr:Architecture dbr:API dbr:AUTOSAR dbr:Abstraction_(computer_science) dbr:Charles_E_Milander dbr:Lead_programmer dbr:Sysload_Software dbr:Systems_analysis dbr:Code_refactoring dbr:Code_smell dbr:Edinburgh_Parallel_Computing_Centre dbr:Efferent_coupling dbr:Herwig_Mannaert dbr:Wearable_computer dbr:Wright_(ADL) dbr:Software_analysis_pattern dbr:Service-orientation dbr:Software_design dbr:Douglas_Hofstadter dbr:Architecture_(disambiguation) dbr:C4_model dbr:Software_Architecture dbr:Software_as_a_service dbr:Klocwork dbr:Komeil_Bahmanpour dbr:Mercury_Interactive dbr:Message-oriented_middleware dbr:Michael_B._T._Bell dbr:Michael_Stal dbr:Minetest dbr:Brownfield_(software_development) dbr:NeXT dbr:Operating_system dbr:Oracle_Enterprise_Service_Bus dbr:Can_You_See_Me_Now? dbr:Carlo_Ghezzi dbr:Change_detection_and_notification dbr:Chaos_model dbr:Security-Enhanced_Linux dbr:Software_bug dbr:Software_bus dbr:Magic_(programming) dbr:Model-driven_architecture dbr:Rational_Unified_Process dbr:SA dbr:Self-contained_system_(software) dbr:Service-oriented_architecture dbr:Software_architect dbr:System_of_systems dbr:Winston_W._Royce dbr:Service_(systems_architecture) dbr:Staged_event-driven_architecture dbr:View_model dbr:Waterfall_model dbr:Web-oriented_architecture dbr:Newi dbr:Next-Generation_Secure_Computing_Base dbr:Software_system dbr:IBM_Research dbr:IEEE_1471 dbr:IEEE_Standards_Association dbr:IFIP_Working_Group_2.10 dbr:Implicit_invocation dbr:List_of_software_architecture_styles_and_patterns dbr:The_Journal_of_Object_Technology dbr:Low-level_design dbr:Software_intelligence dbr:Rider_Spoke dbr:Software_visualization dbr:STREAMS_Integrated_Intelligent_Transport_System dbr:Windows_Metafile_vulnerability dbr:Event-driven_architecture dbr:NIST_Enterprise_Architecture_Model dbr:Naming_convention_(programming) dbr:VP/MS dbr:Multitenancy dbr:Standard_data_model dbr:Software_architecture_description dbr:Software_architecture_analysis_method dbr:System_appreciation dbr:Service_granularity_principle dbr:Service_mesh dbr:Shibboleth_(software) dbr:Outline_of_computer_programming dbr:Outline_of_software_development dbr:Outline_of_software_engineering dbr:Semantic_architecture dbr:V-Model_(software_development) dbr:User_interface_management_system dbr:Target–action dbr:Robust_software_architecture dbr:Program_architecture dbr:SoftwareArchitecture dbr:Software_architectural_style dbr:Software_ontology
is dbp:knownFor of dbr:Alexander_L._Wolf
is rdfs:seeAlso of dbr:Software
is foaf:primaryTopic of wikipedia-en:Software_architecture