Software Engineering Die Entwicklung von Software mit professionellen Methoden

Soft­ware Engi­nee­ring ist eine wich­ti­ge Dis­zi­plin, die ver­schie­de­ne Teil­be­rei­che zur Ent­wick­lung von Soft­ware­sys­te­men umfasst.

Wo kann ich Sie unter­stüt­zen?
Falls ihr Soft­ware­pro­jekt auf­ge­setzt oder gestar­tet wer­den muss, so steht kann ich mein Know-how rund um die Ent­wick­lung von Soft­ware­sys­te­men ein­brin­gen, ins­be­son­de­re was den kon­kre­ten Ein­satz von Vor­ge­hens­mo­del­len oder den Ein­satz von Sys­tem-Model­lie­run­gen (bei­spiels­wei­se mit der BPMN oder der → UML) anbe­trifft.

1. Einleitung und Grundlagen

Hier wer­den zunächst eini­ge Defi­ni­tio­nen zur Soft­ware­ent­wick­lung vor­ge­stellt. Der Begriff Soft­ware­ent­wick­lung wird zumeist durch den (über­ge­ord­ne­ten) Begriff Soft­ware­tech­nik ersetzt, da die Soft­ware­ent­wick­lung (zunächst) kei­ne (sys­te­ma­ti­sche) Vor­ge­hens­wei­se vorgibt.

1.1 Definition Softwaretechnik

In Bal­zert wird defi­niert /Balzert08/:
“Die Soft­ware­tech­nik beschäf­tigt sich mit der ziel­ori­en­tier­ten Bereit­stel­lung und sys­te­ma­ti­schen Ver­wen­dung von Prin­zi­pi­en, Metho­den und Werk­zeu­gen für die arbeits­tei­li­ge, inge­nieur­mä­ßi­ge Ent­wick­lung und Anwen­dung von umfang­rei­chen Softwaresystemen.” 

Die Soft­ware­tech­nik umfasst eine gro­ße Anzahl von Teil­ge­bie­ten (auch aus ande­ren Dis­zi­pli­nen), die auf die­ser Web­site vor­ge­stellt wer­den, wie das → Geschäfts­pro­zess­ma­nage­ment, das Pro­jekt­ma­nage­ment oder auch das → Requi­re­ments Engi­nee­ring.

2. Vorgehensmodelle

Vor­ge­hens­mo­del­le defi­nie­ren die Her­an­ge­hens- und Bear­bei­tungs­wei­se an ein → Pro­blem (zur Erstel­lung eines Soft­ware­sys­tems). Je nach Grö­ße oder Schwie­rig­keits­grad wer­den bei der Soft­ware­tech­nik unter­schied­li­che Vor­ge­hens­mo­del­le ver­wen­det – fol­gen­de Soft­ware-Vor­ge­hens­mo­del­le sind in der Pra­xis zu finden:

  • Das Was­ser­fall­mo­dell
  • Das → V‑Modell (in der neu­es­ten Fas­sung XT)
  • Inkre­men­tel­le Modelle
  • Ite­ra­ti­ve Model­le (wie RUP)
  • Evo­lu­tio­nä­re Modelle
  • Model­le unter Ein­satz agi­ler Methoden

In der kon­kre­ten Umset­zung fin­den Sie dann wie­der­um Misch­for­men aus den Vor­ge­hens­mo­del­len, ange­rei­chert mit Spe­zi­al­merk­ma­len und oft­mals wie­der­um mit eige­nen Begriff­lich­kei­ten ver­se­hen (aspekt­ori­en­tiert, OO-Modelle).

Wel­ches Vor­ge­hens­mo­dell ist nun am bes­ten ein­zu­set­zen? Die­se Fra­ge kann nur bei der Betrach­tung der Auf­ga­ben­stel­lung beant­wor­tet wer­den. Wäh­rend bei gro­ßen kom­ple­xen Sys­te­men ohne­hin umfang­reich doku­men­tiert wer­den muss, ist eine Steue­rung über die Doku­men­te sinn­voll – hier bie­ten sich dann das Was­ser­fall- (rein sequen­ti­ell) oder das V‑Modell (sequen­ti­ell mit Inkre­men­ten) an.

Charakterisierung von Vorgehensmodellen, (C) Peterjohann Consulting, 2006-2021

Abbil­dung 2.1: Eine Cha­rak­te­ri­sie­rung der Vor­ge­hens­mo­del­le nach /Ebert14/

3. Softwarearchitektur

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.

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

4. Testen von Softwaresystemen

Ein erheb­li­cher Teil des Gesamt­auf­wands zur Erstel­lung von Soft­ware wird für das Tes­ten ver­wen­det: Unter­su­chun­gen gehen von 20 bis 50 % des Gesamt­auf­wands aus. Daher soll­te ein sys­te­ma­ti­sches Vor­ge­hen für das Tes­ten selbst­ver­ständ­lich sein, denn nur so kann der Nut­zen gewähr­leis­tet werden.

Die Beschrei­bung des Soft­ware­tests erfolgt hier auf einer eige­nen Webseite.

5. Grafiken zur Softwaretechnik

Eini­ge Gra­fi­ken zur Soft­ware­tech­nik – Zur Groß­dar­stel­lung bit­te auf die jewei­li­ge Abbil­dung klicken.

Zeit und Tätigkeiten bei den Vorgehensmodellen, (C) Peterjohann Consulting, 2006-2021 Von der Analyse zum Betrieb, (C) Peterjohann Consulting, 2006-2017 Vom Geschäftsprozess zum Softwaresystem, (C) Peterjohann Consulting, 2006-2021

Abb. 5.1: Zeit und Tätig­kei­ten bei Vorgehensmodellen

Abb. 5.2: Von der Ana­ly­se zum Betrieb

Abb. 5.3: Das Wasserfallmodell

Das Teufelsquadrat nach Sneed, (C) Peterjohann Consulting, 2006-2021 Grad der Formalisierung bei Vorgehensmodellen, (C) Peterjohann Consulting, 2006-2021

Abb. 5.4: Das Teu­fels­qua­drat nach Sneed

Abb. 5.5: Grad der For­ma­li­sie­rung bei Vorgehensmodellen

A. Präsentationen, Literatur und Weblinks

A.1 Meine öffentliche SE-Präsentation

InhaltVer­si­onStandSei­tenGrö­ßeTyp
Requi­re­ments Engi­nee­ring: Spe­zi­fi­ka­tio­nen – Eine Übersicht

1.5012/2016440,3 MB pdf

A.2 Literatur

Alle Bücher zur Soft­ware­ent­wick­lung auf­zu­füh­ren wür­den zu einer sehr lan­gen → Lis­te füh­ren; daher wer­den hier nur eini­ge “Stan­dard­wer­ke” genannt.

  1. /Balzert08/ Hel­mut Bal­zert: Lehr­buch der Soft­ware­tech­nik: Soft­ware­ma­nage­ment, Spek­trum Aka­de­mi­scher Ver­lag, Hei­del­berg 2. Auf­la­ge 2008, ISBN 978–3‑8274–1161‑7
  2. /Balzert09/ Hel­mut Bal­zert: Lehr­buch der Soft­ware­tech­nik: Basis­kon­zep­te und Requi­re­ments Engi­nee­ring, Spek­trum Aka­de­mi­scher Ver­lag, Hei­del­berg 3. Auf­la­ge 2009, ISBN 978–3‑8274–1705‑3
  3. /Balzert11/ Hel­mut Bal­zert: Lehr­buch der Soft­ware­tech­nik: Ent­wurf, Imple­men­tie­rung, Instal­la­ti­on und Betrieb, Spek­trum Aka­de­mi­scher Ver­lag, Hei­del­berg 3. Auf­la­ge 2011, ISBN 978–3‑8274–1706‑0
  4. /Moore06/ James W. Moo­re: The Road Map to Soft­ware Engi­nee­ring: A Stan­dards-Based Gui­de, John Wiley & Sons, Hobo­ken, New Jer­sey 2006, ISBN 978–0‑471–68362‑9
  5. /Ludewig13/ Jochen Lude­wig, Horst Lich­ter: Soft­ware Engi­nee­ring. Grund­la­gen, Men­schen, Pro­zes­se, Tech­ni­ken, dpunkt, Hei­del­berg 3. Auf­la­ge 2013, ISBN 978–3‑864–90092‑1
  6. /Oesterreich12/ Bernd Oes­te­reich: Ana­ly­se und Design mit UML 2.5, Olden­bourg, Mün­chen 10. Auf­la­ge 2012, ISBN 978–3‑486–71667‑2
  7. /Rupp12/ Chris Rupp: UML 2 glas­klar: Pra­xis­wis­sen für die UML-Model­lie­rung, Han­ser, Mün­chen 4. Auf­la­ge 2012, ISBN 978–3‑446–43057‑0
  8. /Sommerville15/ Ian Som­mer­vil­le: Pear­son Edu­ca­ti­on, Lon­don, 10th Edi­ti­on 2015, ISBN 978–1‑292–09613‑1
  9. /Sommerville18/ Ian Som­mer­vil­le: Soft­ware Engi­nee­ring , Pear­son Stu­di­um, Mün­chen 10. Auf­la­ge 2018, ISBN 978–3‑86894–344‑3
  10. /Sommerville19/ Ian Som­mer­vil­le: Engi­nee­ring Soft­ware Pro­ducts: An Intro­duc­tion to Modern Soft­ware Engi­nee­ring, Pear­son, Lon­don 2019, ISBN 978–0‑13–521064‑2
  11. /Sommerville20/ Ian Som­mer­vil­le: Moder­nes Soft­ware-Engi­nee­ring: Ent­wurf und Ent­wick­lung von Soft­ware­pro­duk­ten, Pear­son Stu­di­um, Mün­chen 2020, ISBN 978–3‑86894–396‑2
  12. /SWEBOK14/ Pierre Bour­que, Richard E. Fair­ley: Gui­de to the Soft­ware Engi­nee­ring Body of Know­ledge, IEEE Com­pu­ter Socie­ty Press, Los Ala­mi­tos, Cali­for­nia 3rd Edi­ti­on 2014, ISBN 978–0‑7695–2330‑9
  13. /Winter05/ Mario Win­ter: Metho­di­sche objekt­ori­en­tier­te Soft­ware­ent­wick­lung: Eine Inte­gra­ti­on klas­si­scher und moder­ner Ent­wick­lungs­kon­zep­te, dpunkt, Hei­del­berg 2005, ISBN 978–3‑89864–273‑6

A.2.1 Literatur zum Schätzen und Messen von Software(projekten)

Nach­dem das Schät­zen und Mes­sen in den 80er Jah­ren nicht die erhoff­ten Erfol­ge brach­te, erlebt die­ses Gebiet seit eini­gen Jah­ren wie­der eine Renais­sance. Hier sind daher eini­ge Bücher aufgeführt.

  1. /Bundschuh04/ Man­fred Bund­schuh, Axel Fab­ry: Auf­wand­schät­zung von IT-Pro­jek­ten, mitp, Bonn 2. Auf­la­ge 2004, ISBN 978–3‑8266–0864‑3
  2. /Bundschuh08/ Man­fred Bund­schuh, Carol Dek­kers: The IT Mea­su­re­ment Com­pen­di­um: Esti­ma­ting and Bench­mar­king Suc­cess with Func­tio­n­al Size Mea­su­re­ment, Sprin­ger, Hei­del­berg 2008, ISBN 978–3‑540–68187‑8
  3. /Cohn05/ Mike Cohn: Agi­le Esti­ma­ting and Plan­ning, Pren­ti­ce Hall Inter­na­tio­nal, Upper Sadd­le River, New Jer­sey 2005, ISBN 978–0‑13–147941‑8
  4. /DeMarco08/ Tom DeMar­co: Was man nicht mes­sen kann … kann man nicht kon­trol­lie­ren, mitp, Bonn 2. Auf­la­ge 2008, ISBN 978–3‑8266–1488‑0
  5. /Ebert04/ Chris­tof Ebert, Rei­ner Dum­ke, Man­fred Bund­schuh, Andre­as Schmie­ten­dorf: Best Prac­ti­ces in Soft­ware Mea­su­re­ment: How to Use Metrics to Impro­ve Pro­ject and Pro­cess Per­for­mance, Sprin­ger, Hei­del­berg 2004, ISBN 978–3‑540–20867‑9
  6. /Ebert07/ Chris­tof Ebert, Rei­ner Dum­ke: Soft­ware Mea­su­re­ment: Estab­lish, Extract, Eva­lua­te, Exe­cu­te, Sprin­ger, Ber­lin 2007, ISBN 978–3‑540–71648‑8
  7. /Hummel11/ Oli­ver Hum­mel: Auf­wands­schät­zun­gen in der Soft­ware- und Sys­tem­ent­wick­lung kom­pakt, Spek­trum Aka­de­mi­scher Ver­lag, Hei­del­berg 2011, ISBN 978–3‑8274–2751‑9
  8. /Hürten04/ Robert Hür­ten: Func­tion-Point Ana­ly­sis – Theo­rie und Pra­xis. Die Grund­la­ge für moder­nes Soft­ware­ma­nage­ment, Expert Ver­lag, Ren­nin­gen 2004, ISBN 978–3‑8169–2398‑5
  9. /McConnell06/ Ste­ve McCon­nell: Auf­wand­schät­zung bei Soft­ware­pro­jek­ten, Micro­soft Press, Mün­chen 2006, ISBN 978–3‑86645–612‑9
  10. /Parthas07/ M. A. Partha­sa­ra­thy: Prac­ti­cal Soft­ware Esti­ma­ti­on. Func­tion Point Methods for Insour­ced and Out­sour­ced Pro­jects, Addi­son-Wes­ley Long­man, Bos­ton, Mas­sa­chu­setts 2007, ISBN 978–0‑321–43910‑9
  11. /Plewan11/ Hans-Jür­gen Ple­wan, Ben­ja­min Poens­gen: Pro­duk­ti­ve Soft­ware­ent­wick­lung: Bewer­tung und Ver­bes­se­rung von Pro­duk­ti­vi­tät und → Qua­li­tät in der Pra­xis, dpunkt, Hei­del­berg 2011, ISBN 978–3‑89864–686‑4
  12. /Poensgen12/ Ben­ja­min Poens­gen: Die Func­tion-Point-Ana­ly­se. Ein Pra­xis­hand­buch, dpunkt, Hei­del­berg 2. Auf­la­ge 2012, ISBN 978–3‑89864–762‑5

A.2.2 Literatur zur Softwarearchitektur

  1. /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
  2. /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
  3. /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
  4. /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
  5. /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
  6. /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
  7. /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
  8. /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
  9. /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
  10. /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
  11. /Starke21/ 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 2021, ISBN 978–3‑44646380–6
  12. /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
  13. /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 2. Auf­la­ge 2020, ISBN 978–3‑446–46004‑1
  14. /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.2.3 Literatur zum Softwaretest / Testen von Software(projekten)

Dem Tes­ten kommt in der Soft­ware­ent­wick­lung eine enor­me Bedeu­tung zu. Aus der Viel­zahl der Bücher zu die­sem Gebiet hier eine Auswahl.

  1. /Crispin08/ Lisa Cris­pin, Janet Gre­go­ry: Agi­le Tes­ting: A Prac­ti­cal Gui­de for Tes­ters and Agi­le Teams, Addi­son-Wes­ley Long­man, Ams­ter­dam 2008, ISBN 978–0‑321–53446‑4
  2. /Crispin14/ Lisa Cris­pin, Janet Gre­go­ry: More Agi­le Tes­ting: Lear­ning Jour­neys for the Who­le Team, Addi­son-Wes­ley Long­man, Ams­ter­dam 2014, ISBN 978–0‑321–96705‑3
  3. /Linz16/ Tilo Linz: Tes­ten in → Scrum-Pro­jek­ten. Leit­fa­den für Soft­ware­qua­li­tät in der agi­len Welt. Aus- und Wei­ter­bil­dung zum ISTQB Cer­ti­fied Agi­le Tes­ter – Foun­da­ti­on Exten­si­on, dpunkt, Hei­del­berg 2. Auf­la­ge 2016, ISBN 978–3‑86490–414‑1
  4. /Spillner17/ Andre­as Spill­ner, Mario Win­ter, Andrej Pietsch­ker: Test, Ana­ly­se und Veri­fi­ka­ti­on von Soft­ware – ges­tern, heu­te, mor­gen, dpunkt, Hei­del­berg 2017, ISBN 978–3‑86490–470‑7
  5. /Spillner19/ Andre­as Spill­ner, Tilo Linz: Basis­wis­sen → Soft­ware­test: Aus- und Wei­ter­bil­dung zum Cer­ti­fied Tes­ter – Foun­da­ti­on Level nach IST­QB-Stan­dard, dpunkt, Hei­del­berg 6. Auf­la­ge 2019, ISBN 978–3‑86490–583‑4
  6. /Stauffer13/ Her­bert Stauf­fer, Beat Hon­eg­ger, Hans­pe­ter Gisin: Tes­ten von Data-Wareh­ouse- und Busi­ness-Intel­li­gence-Sys­te­men: Vor­ge­hen, Metho­den und Kon­zep­te, dpunkt, Hei­del­berg 2013, ISBN 978–3‑86490–072‑3
  7. /Thaller02/ Georg Erwin Thal­ler: Soft­ware-Test: Veri­fi­ka­ti­on und Vali­da­ti­on, Hei­se, Han­no­ver 2. Auf­la­ge 2002, ISBN 978–3‑88229–198‑8

A.3 Weblinks

Fol­gen­de Web­links lie­fern wei­te­re hilf­rei­che Infor­ma­tio­nen zum Soft­ware Engineering:

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

Scroll to Top