Softwarearchitectuur
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.
Zie ook
- Enterprisearchitectuur
- Informatiearchitectuur
- Applicatiearchitectuur
- Data-architectuur
Literatuurlijst
- Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Paulo Merson, Robert Nord, Judith Stafford: Documenting Software Architectures: Views and Beyond, Second Edition. Addison-Wesley, 2010, ISBN 0321552687. Dit boek beschrijft wat softwarearchitectuur is en laat zien hoe het te documenteren valt, gebruikmakend van UML en andere notaties.
- Len Bass, Paul Clements, Rick Kazman: Software Architecture in Practice, Second Edition. Addison Wesley, Reading 5/9/2003 ISBN 0-321-15495-9. Dit boek behandelt de fundamentele concepten van deze relatief jonge discipline. Het centrale thema van dit boek is het bereiken van kwaliteitsattributen van een systeem.
- Amnon H. Eden, Rick Kazman. Architecture, Design, Implementation.
Over het verschil tussen een architectonisch ontwerp en een detailontwerp.
- Philippe Kruchten: Architectural Blueprints—The “4+1” View Model of Software Architecture. In: IEEE Software. 12 (6) November 1995, p. 42-50. Ook online beschikbaar op ibm.com
- Tony Shan & Winnie Hua (2006). Solution Architecting Mechanism. Proceedings of the 10th IEEE International EDOC Enterprise Computing Conference (EDOC 2006), October 2006, p. 23-32.