Software-Entwicklungsmodelle (SDLC) und Datenbankgrundlagen

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 5,43 KB

Überblick über Software-Entwicklungsmodelle (SDLC)

Ein Modell beschreibt den Rahmen für die Umsetzung, Usability-Tests, Entwicklung, Konstruktion, Analyse und Machbarkeitsstudie eines Systems.

Die Stufen des Software Development Life Cycle (SDLC)

  1. Projekt-Initialisierung
  2. Machbarkeitsstudie
  3. Logische Analyse und Design
  4. Entwicklung und Implementierung (Erwerb und Betrieb)
  5. Bewertung und Wartung

Spezifische Entwicklungsansätze

Prototyping

Ein Prototyp ist ein einfaches Beispiel eines Systems oder Produkts, das entweder verworfen (Einweg) oder weiterentwickelt werden kann.

Rapid Application Development (RAD)

RAD ist ein Ansatz, der den Lebenszyklus der Software verkürzt und eine schnellere Entwicklung ermöglicht.

Objektorientierte Entwicklung (OOD)

OOD erstellt eine Darstellung des realen Problembereichs, die auf den Anwendungsbereich der Softwarelösung abgestimmt ist.

End-User Development (EUD)

EUD (Entwicklung durch Endbenutzer) ermöglicht es dem Anwender, individuelle Änderungen an einem bereits entwickelten Programm vorzunehmen.

Das Spiralmodell

Das Spiralmodell ist ein systematisches und inkrementelles Entwicklungsmodell, das mehrere Zyklen (Regionen) von Aufgaben und Aktivitäten umfasst.

Vorteile und Nachteile des Spiralmodells

  • Vorteile:
    • Notwendige Interaktion zur Anforderungserfassung.
    • Die Validierung der Anforderungen ist nach der ersten vollständigen Definition einfacher.
    • Nur die letzte Interaktion ist gefährdet.
  • Nachteile:
    • Die fortlaufende Einbeziehung und Bewertung durch den Kunden ist schwierig.
    • Risikobewertung ist komplex.
    • Die Erstellung einer vollständigen Spezifikation nimmt viel Zeit in Anspruch.

Inkrementelles Modell

Ein Modell, das in mehreren auf- und/oder absteigenden Etappen entwickelt und schrittweise erweitert wird.

Das Wasserfallmodell (Cascade Model)

Es ist ein systematisches Modell, das in aufeinanderfolgenden und sequenziell absteigenden Stufen entwickelt wird.

Kritik am Wasserfallmodell

  • Es spiegelt den tatsächlichen Software-Entwicklungsprozess oft nicht realistisch wider.
  • Die Durchlaufzeit der Zyklen ist lang.
  • Wartung (Revisionen am Quellcode) ist komplex.
  • Sehr komplexe Projekte sind schwierig zu handhaben.

Dieses Modell bildet oft die Grundlage für eine Projektmanagement-Struktur. Das herkömmliche Modell ist oft das Upfront Planning (UP).

Anforderungsanalyse

Eingabeanforderungen (Input Requirements)

  • Woher stammen die Informationen?
  • Welche Informationen sind absolut notwendig für diesen Prozess?
  • Welche Daten werden eingespeist (Feeds)?

Ausgabeanforderungen (Output Requirements)

  • In welcher Form müssen die Daten dargestellt werden?
  • Sind Informationen auf Papier erforderlich?
  • Wie ist der Status der Berichte?
  • Gibt es Sperrgebiete (Zugriffsbeschränkungen)?

Prozessanforderungen

  • Was initiiert die Aktivität?
  • Wie lange dauert die Durchführung?
  • Welche Berechnungsmethoden werden verwendet?
  • Wie hoch ist die Frequenz des Prozesses?

Speicheranforderungen (Storage Requirements)

  • Wo werden die Informationen gespeichert?
  • Welche Speicherkapazität ist derzeit installiert?
  • Welche Sicherheitsstufe ist erforderlich?
  • Welcher Datenbank-Manager wird verwendet?

Grundlagen von Datenbanken und Datenstrukturen

Datei (File)

Eine Datei ist ein Element eines Informationssystems, das aus einer Reihe von Datensätzen besteht.

Probleme bei der Dateiverwaltung

  • Redundanz
  • Inkonsistenz
  • Sicherheit
  • Isolation

Datenbank

Eine Datenbank ist eine Gruppe von gespeicherten Daten, die auf einem Speichermedium abgelegt sind. Sie ermöglicht den direkten Zugriff und die Manipulation der Daten durch eine Reihe von Programmen.

Datenbankelemente

  • Tabelle oder Tupel: Eine Sammlung von Datensätzen, die Informationen desselben Typs enthalten.
  • Datensatz (Record): Eine Reihe von miteinander verknüpften Feldern, die durch einen Schlüssel identifiziert werden.
  • Feld (Bereich): Die kleinste Einheit, auf die sich ein Programm in einem Computer beziehen kann.

Schlüsselkonzepte

  • Primärschlüssel (Primary Key): Das Feld, das einen Datensatz innerhalb einer Tabelle eindeutig identifiziert. Dieses Feld kann innerhalb der Tabelle nicht wiederholt werden.
  • Fremdschlüssel (Foreign Key) oder Kandidatenschlüssel (Candidate Key): Ein Feld, das zwei Tabellen miteinander in Beziehung setzt.

Datenbank-Manager und Beziehungen

  • Datenbank-Manager (DBMS): Die Anwendung, die die Verwaltung, den Zugriff und die Wartung der Daten eines Systems oder einer Organisation ermöglicht (z. B. MySQL, Oracle, Access).
  • Beziehungen und Kardinalität: Beschreibt, wie zwei Tabellen in einem Modell miteinander in Beziehung stehen. Mögliche Kardinalitäten sind: 1:1 (Eins zu Eins), 1:N (Eins zu Viele) und N:M (Viele zu Viele).

Verwandte Einträge: