Softwarearchitektur Die Definition und Beschreibung von Softwarearchitekturen mit professionellen Methoden

Die Soft­ware­ar­chi­tek­tur beschreibt den Auf­bau eines Soft­ware­sys­tems und unter­stützt die Ent­wick­lung von Softwaresystemen.

Die Soft­ware­ar­chi­tek­tur eines Soft­ware­sys­tems ist ent­schei­dend für die Lauf­fä­hig­keit und Akzep­tanz eines Sys­tems. Nur “gute Soft­ware­ar­chi­tek­tu­ren” tra­gen ein Sys­tem durch den gesam­ten Lebenszyklus.

1. Einleitung und Grundlagen

Hier wer­den zunächst eini­ge Defi­ni­tio­nen zur Soft­ware­ar­chi­tek­tur vorgestellt. 

1.1 Definitionen

In der Wiki­pe­dia steht zur Soft­ware­ar­chi­tek­tur /#Wiki-Softwarearchitektur/:
“Eine Soft­ware­ar­chi­tek­tur ist einer der Archi­tek­tur­ty­pen in der Infor­ma­tik und beschreibt die grund­le­gen­den Kom­po­nen­ten und deren Zusam­men­spiel inner­halb eines Softwaresystems.”

Star­ke nimmt Bezug auf die IEEE 1471 und defi­niert /Starke20/:
“Soft­ware­ar­chi­tek­tur: Die grund­sätz­li­che Orga­ni­sa­ti­on eines Sys­tems, ver­kör­pert durch des­sen Kom­po­nen­ten, deren Bezie­hung zuein­an­der und zur Umge­bung sowie die Prin­zi­pi­en, die für sei­nen Ent­wurf und sei­ne → Evo­lu­ti­on gelten.”

Architektur und andere 
Entwicklungsaufgaben, (C) Peterjohann Consulting, 2020-2024

Abbil­dung 1.1: Archi­tek­tur und ande­re Ent­wick­lungs­auf­ga­ben nach /Starke20/

2. Vorgehen beim Architekturentwurf

Nach /Gharbi16/ kann der Archi­tek­tur­ent­wurf in vier gleich­be­rech­tig­ten Tätig­kei­ten erfol­gen, die nicht unbe­dingt hin­ter­ein­an­der, son­dern jeder­zeit durch­ge­führt können:

  1. Anfor­de­run­gen und Rand­be­din­gun­gen analysieren
  2. Archi­tek­tur­sich­ten und tech­ni­sche Kon­zep­te entwerfen
  3. Archi­tek­tur- und Ent­wurfs­ent­schei­dun­gen bewerten
  4. Umset­zung beglei­ten und → prü­fen

3. Die Sichten auf die Softwarearchitektur

Fol­gen­de Sich­ten auf eine / die Soft­ware­ar­chi­tek­tur sind mög­lich (Abbil­dung 3.1):

  1. Logi­sche Sicht (Logi­cal View)
  2. Pro­zess­sicht (Pro­cess View)
  3. Ent­wick­lungs­sicht (Deve­lo­p­ment View, auch: Implementierungssicht)
  4. Phy­si­ka­li­sche Sicht (Phy­si­cal View)

Das +1 bezieht sich auf die “über­ge­ord­ne­ten” Sze­na­ri­en (→ Use Case & Szenarien).

Das 4+1-Sichtenmodell der Softwarearchitektur, (C) Peterjohann Consulting, 2022-2024

Abbil­dung 3.1: Das 4+1‑Sichtenmodell der Softwarearchitektur

A. Präsentationen, Literatur und Weblinks

A.1 Meine öffentliche Software-Engineering-Präsentation

Inhalt Typ
Requi­re­ments Engi­nee­ring: Spe­zi­fi­ka­tio­nen – Eine Übersicht
pdf

A.2 Literatur

Die Anzahl der Bücher zur Soft­ware­ar­chi­tek­tur ist über­schau­bar. Aller­dings erfah­ren die “Stan­dard­wer­ke” regel­mä­ßig Updates.

  1. /Bass22/ Len Bass, Paul Cle­ments, Rick Kaz­man: Soft­ware Archi­tec­tu­re in Prac­ti­ce, Addi­son Wes­ley, Bos­ton, Mas­sa­chu­setts 4th Edi­ti­on 2022, ISBN 978–0‑13–688609‑9
  2. /Ciceri22/ Chris­ti­an Cice­ri, Dave Far­ley, Neal Ford, Andrew Har­mel-Law, Micha­el Kee­ling: Soft­ware Archi­tec­tu­re Metrics. Case Stu­dies to Impro­ve the Qua­li­ty of Your Archi­tec­tu­re, O’Reil­ly Media, Sebas­to­pol, Cali­for­nia 2022, ISBN 978–1‑0981–1223‑3
  3. /Ford21/ Neal Ford, Mark Richards, Pra­mod Sada­la­ge, Zha­mak Dehgha­ni: Soft­ware Archi­tec­tu­re: The Hard Parts. Modern Trade­off Ana­ly­sis for Dis­tri­bu­ted Archi­tec­tures, O’Reil­ly Media, Sebas­to­pol, Cali­for­nia 2021, ISBN 978–1‑4920–8689‑5
  4. /Ford22/ Neal Ford, Rebec­ca Par­sons, Patrick Kua, Pra­mod Sada­la­ge: Buil­ding Evo­lu­tio­na­ry Archi­tec­tures. Auto­ma­ted Soft­ware Gover­nan­ce, O’Reil­ly Media, Sebas­to­pol, Cali­for­nia 2022, ISBN 978–1‑4920–9754‑9
  5. /Friberg22/ Phil­ipp Fri­berg: Soft­ware­ar­chi­tek­tur prag­ma­tisch. Der Weg von der Soft­ware- in die Unter­neh­mens-Archi­tek­tur, Han­ser, Mün­chen 2022, ISBN 978–3‑446–47370‑6
  6. /Gast23/ Hol­ger Gast: Soft­ware­ar­chi­tek­tur für Dum­mies, Wiley-VCH, Wein­heim 2023, ISBN 978–3‑527–72001‑9
  7. /Gharbi16/ Mah­bou­ba Ghar­bi, Arne Koschel, Andre­as Rausch, Ger­not Star­ke: Basis­wis­sen für Soft­ware­ar­chi­tek­ten. Ein Über­blick, dpunkt, Hei­del­berg 2. Auf­la­ge 2016, Art-Nr. 077.95735
  8. /Gharbi17/ Mah­bou­ba Ghar­bi, Arne Koschel, Andre­as Rausch, Ger­not Star­ke: Basis­wis­sen für Soft­ware­ar­chi­tek­ten. Aus- und Wei­ter­bil­dung nach iSAQB-→ Stan­dard zum Cer­ti­fied Pro­fes­sio­nal for Soft­ware Archi­tec­tu­re – Foun­da­ti­on Level, dpunkt, Hei­del­berg 3. Auf­la­ge 2017, ISBN 978–3‑86490–499‑8
  9. /Gharbi20/ Mah­bou­ba Ghar­bi, Arne Koschel, Andre­as Rausch, Ger­not Star­ke: Basis­wis­sen für Soft­ware­ar­chi­tek­ten. Aus- und Wei­ter­bil­dung nach iSAQB-Stan­dard zum Cer­ti­fied Pro­fes­sio­nal for Soft­ware Archi­tec­tu­re – Foun­da­ti­on Level, dpunkt, Hei­del­berg 4. Auf­la­ge 2020, ISBN 978–3‑86490–781‑4
  10. /Gharbi23/ Mah­bou­ba Ghar­bi, Arne Koschel, Andre­as Rausch, Ger­not Star­ke: Basis­wis­sen für Soft­ware­ar­chi­tek­ten. Aus- und Wei­ter­bil­dung nach iSAQB-Stan­dard zum Cer­ti­fied Pro­fes­sio­nal for Soft­ware Archi­tec­tu­re – Foun­da­ti­on Level, dpunkt, Hei­del­berg 5. Auf­la­ge 2023, ISBN 978–3‑86490–984‑9
  11. /Hruschka17/ Peter Hrusch­ka, Ger­not Star­ke: Knig­ge für Soft­ware­ar­chi­tek­ten – Rel­oa­ded, entwickler.press, Frank­furt 3. Auf­la­ge 2017, ISBN 978–3‑86802–806‑5
  12. /Lilienthal17/ Caro­la Lili­en­thal: Lang­le­bi­ge Soft­ware-Archi­tek­tu­ren. Tech­ni­sche Schul­den ana­ly­sie­ren, begren­zen und abbau­en, dpunkt, Hei­del­berg 2. Auf­la­ge 2017, ISBN 978–3‑86490–494‑3
  13. /Lilienthal20/ Caro­la Lili­en­thal: Lang­le­bi­ge Soft­ware-Archi­tek­tu­ren. Tech­ni­sche Schul­den ana­ly­sie­ren, begren­zen und abbau­en, dpunkt, Hei­del­berg 3. Auf­la­ge 2020, ISBN 978–3‑86490–729‑6
  14. /Starke15b/ Ger­not Star­ke, Peter Hrusch­ka: arc42: Prag­ma­ti­sche Hil­fe für Soft­ware­ar­chi­tek­ten, Han­ser, Mün­chen 2015, ISBN 978–3‑446–44528‑4
  15. /Starke16/ Ger­not Star­ke, Peter Hrusch­ka: arc42 in Akti­on: Prak­ti­sche Tipps zur Archi­tek­tur­do­ku­men­ta­ti­on, Han­ser, Mün­chen 2016, ISBN 978–3‑446–44801‑8
  16. /Starke17/ Ger­not Star­ke: Effek­ti­ve Soft­ware­ar­chi­tek­tu­ren. Ein prak­ti­scher Leit­fa­den, Han­ser, Mün­chen 8. Auf­la­ge 2017, ISBN 978–3‑446–45207‑7
  17. /Starke19/ Ger­not Star­ke, Micha­el Simons, Ste­fan Zör­ner, Ralf D. Mül­ler: arc42 by Exam­p­le. Soft­ware archi­tec­tu­re docu­men­ta­ti­on in prac­ti­ce, Packt Publi­shing Limi­t­ed, Bir­ming­ham, Gre­at Bri­tain 2019, ISBN 978–1‑83921–435‑6
  18. /Starke20/ Ger­not Star­ke: Effek­ti­ve Soft­ware­ar­chi­tek­tu­ren. Ein prak­ti­scher Leit­fa­den, Han­ser, Mün­chen 9. Auf­la­ge 2020, ISBN 978–3‑446–46376‑9
  19. /Starke22/ Ger­not Star­ke, Peter Hrusch­ka: arc42 in Akti­on. Prak­ti­sche Tipps zur Archi­tek­tur­do­ku­men­ta­ti­on, Han­ser, Mün­chen 2. Auf­la­ge 2022, ISBN 978–3‑44646380–6
  20. /Toth15/ Ste­fan Toth: Vor­ge­hens­mus­ter für Soft­ware­ar­chi­tek­tur. Kom­bi­nier­ba­re Prak­ti­ken in Zei­ten von → Agi­le und Lean. Ide­al für das ISAQB Modul AGILA, Han­ser, Mün­chen 2. Auf­la­ge 2015, ISBN 978–3‑446–44395‑2
  21. /Toth20/ Ste­fan Toth: Vor­ge­hens­mus­ter für Soft­ware­ar­chi­tek­tur. Kom­bi­nier­ba­re Prak­ti­ken in Zei­ten von Agi­le und → Lean. Ide­al für das ISAQB Modul AGILA, Han­ser, Mün­chen 3. Auf­la­ge 2020, ISBN 978–3‑446–46004‑1
  22. /Zörner15/ Ste­fan Zör­ner: Soft­ware­ar­chi­tek­tu­ren doku­men­tie­ren und kom­mu­ni­zie­ren. Ent­wür­fe, Ent­schei­dun­gen und Lösun­gen nach­voll­zieh­bar und wir­kungs­voll fest­hal­ten, Han­ser, Mün­chen 2. Auf­la­ge 2015, ISBN 978–3‑446–44348‑8

A.3 Weblinks

Fol­gen­de Web­links lie­fern wei­te­re hilf­rei­che Infor­ma­tio­nen zur Softwarearchitektur:

Legen­de zu den Weblinks
/ / Ver­weis auf eine Web­site (all­ge­mein)
/*/ Ver­weis auf eine Web­site, die als Ergän­zung zu einem Buch dient
/#/ Ver­weis auf ein ein­zel­nes The­ma auf einer Website
/#V/ Ver­weis auf ein Video auf einer Website