Modelle der softwareentwicklung: Verfahrensmodelle mit drei Varianten

Verfahren modelltypen

Verfahrensmodelle gibt es in drei Varianten:

Software Entwicklungsverfahren verwalten die Softwareentwicklung von der Konzeption bis zum Einsatz in der realen Welt, einschließlich der in der realen Welt vorgenommenen Änderungen. Das Wasserfallmodell ist eines der ältesten und geht von einer softwareentwicklung unternehmen strikten Abfolge von Phasen aus. Das Spiralmodell beispielsweise sieht Iterationen vor, bei denen ein und derselbe Arbeitsschritt (z. B. eine Analyse) mehrmals wiederholt wird, wobei die Ergebnisse bei jedem Durchlauf verbessert werden.

https://tcbe.ch/2021/10/07/v-modell-softwareentwicklung-konzeptionierung-und-qualitatskontrolle/

black remote control on red table

 Das Software-Lebenszyklusmanagement umfasst alle Phasen des Lebenszyklus einer Software. Das Vorgehensmodell spezifiziert die betrieblichen Prozessanforderungen (das “WAS”) und erläutert die EDV-implementierten Prozesse (das “WIE”). Diese Art kombiniert deskriptive und normative Elemente. Auf der Grundlage von Normen werden verschiedene Entwicklungsstufen angegeben. Externe Organisationen können die Entwicklungsstufen eines Unternehmens zertifizieren.

Modelle der softwareentwicklung: Integration des Reifegradmodells (Capability Maturity Model)

Die Softwareentwicklungsphilosophie ist eine Denkweise darüber, wie Software erstellt werden sollte. Diese Ideologien werden häufig als Prozessmodelle bezeichnet, da sie Prozessaspekte enthalten. Das Wasserfall- und das Spiralmodell sind dem Konzept eines Programmentwicklungsplans am ähnlichsten. Die Zerlegung von Software in einzelne Arbeitsprozesse funktioniert in der Regel mit ihrer Hilfe, wenn das Programm für die Entwickler nicht mehr als Ganzes verständlich ist und nicht zu viele Anomalien aufweist.

Anders als bei einem Kurzroman, den sich der Autor im Kopf ausmalt und in wenigen Wochen niederschreibt, erfordert die Softwareentwicklung solide Entwicklungsmodelle für komplizierte Sachverhalte und Prozesse. Die Code & Fix2-Methode (1. Schreibe die Software, 2. Finde und repariere Probleme) funktioniert gut bei kurzfristigen Konzepten. Was für ein winziges Skript, eine HTML-Seite oder ein Java-Tool funktioniert, funktioniert für das menschliche Gehirn nicht mehr, wenn zu viele Variablen involviert sind und die Komplexität der Anwendung das Abstraktionsvermögen des Einzelnen – oder sogar seine Zuständigkeiten – übersteigt.

Modelle der softwareentwicklung: Klassische Prozessmodelle

Klassische Methodenmodelle ermöglichen es, wie in der Softwareentwicklung, die Programmieranteile zu abstrahieren und in Teilschritte zu unterteilen. So ist es möglich, verschiedene Phasen zu schaffen, die von eigenen erkenntnistheoretischen Konzepten erfasst und getragen werden können. Phasen enthalten einzelne stabile Mini-Workflows, die im Gesamtwerk eines zusammenhängenden Softwareprogramms kulminieren.

Wasserfallmodell der Softwareentwicklung

Dieses Modell basiert auf der “Try and Err”-Metapher und bietet ein minimales Verfahrensmodell für den Entwicklungsprozess. Das Wasserfall-Paradigma ist durch einen Top-Down-Prozess definiert, der den Austausch von Fachdokumenten zwischen zwei Entwicklungsstufen beinhaltet. Aufgrund der Starrheit des Modells kann ein Austausch nur innerhalb der Phasen des Verfahrens erfolgen. Dies verringert zwar das Fehlerrisiko, gewährleistet aber keine Flexibilität bei der Entwicklung oder eine einfache Umgestaltung. Das Wasserfallmodell ist wegen seiner Einfachheit weit verbreitet.

Modelle der softwareentwicklung: Wirksamkeit des klassischen Prozessmodells

 Die traditionellen Prozessmodelle sind von der Konzeption bis zur Inbetriebnahme großartig und entsprechen eindeutig einem zeitgemäßen Bedürfnis der Softwareentwicklung. Die Ermittlung von Problemen während der Implementierungs- und Entwurfsphase kann ohne ein Prozessmodell Wochen oder Monate dauern, je nach Anzahl der beteiligten Programmierer. Die enge Sequenzialität und der fehlende Input des Projektmanagements lassen die Arbeit mit klassischen Prozessmodellen eher streng erscheinen, dennoch bieten sie die grundlegende Disziplin, die für eine anspruchsvolle Software-Systemstruktur erforderlich ist.

two black flat screen computer monitors

Modelle der softwareentwicklung: Informatik-Prozess modelle

Software ist heute in fast allen Branchen von Bedeutung. Sie sind häufig multitaskingfähig und daher umfangreich und kompliziert. Zur Qualität gehören neben der Funktionalität auch Genauigkeit, Robustheit, Effizienz, Benutzerfreundlichkeit und Zuverlässigkeit. Diese Kriterien erfordern einen nahtlosen, transparenten und eindeutigen Softwareentwicklungs- und Wartungsprozess. Informatik-Prozessmodelle bieten eine Rahmenumgebung oder definieren einen Projektablauf, der dies ermöglicht.

Teilnahme-/Prüfungsvoraussetzungen

 Voraussetzungen für die Teilnahme an den Kursen:

  • Software Engineering und Projektmanagement Grundlagen Anwesenheit bei Vorlesungen und Übungen. Selbstständige Absprache mit anderen Übungsteilnehmern.
  • Voraussetzungen für die Anmeldung zu den Modulprüfungen:
  •  Erledigung von mindestens 60% der Hausaufgaben.

Modelle der softwareentwicklung: Prozessmodelle

 Das V-Modell ist ein Prozessmodell, das für Regierungsinitiativen entwickelt wurde. Im Gegensatz zum Wasserfallmodell erfordert das V-Modell, dass die Tests während der gesamten Entwurfsphase definiert werden (z. B. beim Schreiben der Anforderungen oder beim Entwurf der Architektur). Kurze Zusammenfassung V-Modell Phasen ” Verantwortlichkeiten ” “Typische Missverständnisse und Fehler ” Unterstützung. Dies hat den Vorteil, dass fehlende Anforderungen frühzeitig erkannt und die Tester eingebunden werden können.

Die Phasen des V-Modells

Das V-Modell umfasst Phasen, die je nach Art der Entwicklung (z.B. embedded vs. standalone) variieren. Fast immer enthalten diese Phasen (Synonyme):

  •  Stakeholder-Anforderungen (u.a. Nutzungsanforderngen)
  •  Systemanforderungen, Spezifikation der Systemanforderungen
  •  Technischer Systementwurf
  •  Komponentenanforderungen, Komponentenspezifikationen Tests an Teilen
  •  Systemtests
  •  Validierung, Akzeptanztests (die Begriffe sind nicht völlig synonym).

Gerade in den frühen Phasen des V-Modells werden die Nutzungs- und Systemanforderungen oft missverstanden.

Modelle der softwareentwicklung: Phase 1: Nutzungsanforderungen

Nutzungsanforderungen sind Handlungen, die auf einem interaktiven System notwendig sind, um ein Ziel zu erreichen. Der Benutzer muss in der Lage sein, xxx am System auszuführen, wobei xxx für Eingabe, Auswahl oder eine kognitive Aktivität wie Erkennen, Verstehen, Differenzieren steht. “Der Benutzer muss in der Lage sein, die Diagnose des Patienten qualitätssicherung modellen rolle artefakte produkte auf dem System zu identifizieren”, zum Beispiel. Nutzungsanforderungen sind keine(!) Lösungsbeschreibungen. Um Nutzungskriterien zu entdecken, gehen Sie hier. Lernen Sie, die Bedürfnisse Ihrer Kunden zu erfüllen und auf dem Markt erfolgreich zu sein.

laptop compute displaying command prompt

Phase 2: Systemanforderungen

In den Systemanforderungen wird erläutert, wie das System die Benutzeranforderungen umsetzt. Dies umfasst die externen Schnittstellen. Dazu gehören die grafische Benutzeroberfläche, Datenschnittstellen und Anwendungs- oder Dienstprogrammschnittstellen. Die GUI-Definition muss beispielsweise die Anzeigen festlegen, wie man zwischen ihnen wechselt und wie das System auf fehlerhafte Benutzereingaben reagiert. In den realisierung planes software systeme plan Systemanforderungen wird nicht einmal erwähnt, wie dieses Black-Box-Verhalten vorgehensweise implementiert rollen werden soll. Eine solide autoren vorgehensweisen Systemanforderungsspezifikation ermöglicht es einem Entwicklungsdienstleister, das System ohne zusätzliche Fragen zu erstellen. Hier erfahren Sie mehr über die Definition von Systemanforderungen: Sie lernen, wie Sie diese schnell und korrekt erfassen können.

V-Modell-Phase: System- oder Software-Architektur

Die Architektur definiert die technische Umsetzung des Systems. Das Ergebnis muss so genau sein, dass ein Entwickler das System ohne große Designentscheidungen bauen kann. Zu den Aspekten der Softwarearchitektur gehören softwareprojekte dokumente methoden entwicklungsprozesses Programmiersprache, Technologien, Komponenten- und Klassendiagramme sowie Datenbankschemata. Umsetzung der Systemanforderungen: Dies sind die Black-Box-Anforderungen an das System, zu denen Leistung und Übertragbarkeit gehören.

  • ein System, das geändert und getestet werden kann
  • erkennbare Komponenten und Schnittstellen
  •  die SOUPs und Sicherheitsklassifizierungen der Softwarekomponenten erkannt werden

Modelle der softwareentwicklung: V-Modell Verantwortlichkeiten

 Was ist die Aufgabe des Chefs? fragt ein Kursteilnehmer. Es wird viel gelacht und es fallen sarkastische Bemerkungen wie “das Geld zählen”. Das ist in gewisser Weise richtig. Die Aufgabe eines Chefs ist es, für den (wirtschaftlichen) Erfolg zu sorgen. Es ist seine oder ihre Pflicht zu planen.

Management (blau), Produktmanager, Usability & Requirements (V-Modell) (grün) Ingenieure (rot) Die Aufgaben sind wie folgt: das Management sollte den vorgehensmodellen  Nutzungskontext und das Geschäftsmodell festlegen (blau).

 Usability und Anforderungen Ingenieure müssen die Nutzungsanforderungen (und andere Stakeholder-Bedürfnisse) ermitteln, um daraus Systemspezifikationen usa case design abzuleiten. Auch Produktmanager übernehmen diese Aufgabe (grün). Die Entwicklung (rot) ist dafür verantwortlich, dass die Lösungen ausführbar sind.

laptop compute displaying command prompt

Modelle der softwareentwicklung: Anforderungen

 Standards in der Medizintechnik ermöglichen dynamische Prozesse. Beispiele für Normen, die agile Softwareentwicklung akzeptieren, sind IEC 62304 und FDA. Aber letztlich müssen alle Papiere zugänglich (!) sein. Das heißt, das V-Modell sollte dokumentiert werden. Es besteht also kein regulatorisches Risiko. Allerdings stellt das Johner Institut fest, dass in agilen Unternehmen:

V-Modell-Nutzung und Systemanforderungen

  •  Haben Sie den Wikipedia-Eintrag zum V-Modell gelesen? Dort gibt es eine Abbildung
  • Abb. V-Modell (de.wikipedia.org) Der Begriff “Systemanforderungsanalyse” ist Ihnen ein Graus. Er enthält zwei Wörter und damit zwei Phasen, die niemals zusammenfallen sollten
  •  Auf der einen Seite gibt es Stakeholder- und Nutzungskriterien

Auf der anderen Seite gibt es die Systemanforderungen, die eine Blackbox-Beschreibung des zukünftigen Systems sind. Sie beschreiben die Benutzeroberfläche anwendungsentwicklung (wie das System erscheint und auf Benutzereingaben reagiert), bestimmte “nicht-funktionale” Anforderungen (z. B. Zeit) und die technischen Schnittstellen, die für die Außenwelt “sichtbar” sind.

laptop compute displaying command prompt

V-Modells und die Phasen verwirren

Das V-Modell der IEC 60601-1 hat ähnliche Probleme. Abb. Auch das V-Modell der IEC 60601-1 vermischt System- (verifiziert) und Stakeholder-Anforderungen (werden validiert). (IEC 62304 verweist auf IEC 60601-1) Die Norm leitet die PEMS-Anforderungen von den “Benutzeranforderungen” ab. Oder: Systemanforderungen. Was versteht die inhaltsverzeichnis Norm unter Benutzeranforderungen? Es ist ein vager Begriff. Die Verfasser vorgehensmodelle sahen es vermutlich als ein Durcheinander von Bedürfnissen, Wünschen, Nutzungsanforderungen und Systemanforderungen. Eine ungenaue Sprache führt zu ungenauen Ergebnissen.