Kurs:Wirtschaftsinformatik SS09/SE1/Lernskript/SW-Sichten

Aus Wikiversity


Produktionssicht[Bearbeiten]

In der Produktionssicht wird die Entwicklung von Software aus der gleichen Sicht, wie der der Entwicklung von Massengütern betrachtet. Die Entwicklung der Software wird in die Vorentwicklung (kreativer Anteil) und in den Produktionsprozess unterteilt. Die Kosten für die Software richten sich wie bei Massengütern nach den Produktionsmitteln und Personalkosten. Spätere Anpassungsmöglichkeiten an die Software werden fest definiert (als Parameter).

SE ähnelt der Entwicklung von Massengütern (Software Factory): Entwurf ist der kreative Anteil, anschließend beginnt der Produktionsprozess (welcher strikt arbeitsteilig organisiert wird), Kosten werden durch Produktionsmittel und Personalkosten bestimmt, Anpassung der Produkte nur über fest definierte Parameter

  • ähnelt Massengüterproduktion
  • Teilung in Planungs- und Produktionsphase
  • Kosten durch Personal und Produktionsmittel
  • Spätere Anpassung fest definiert (Parametrisierung)
Vorteile Nachteile
Spezialisten für Tätigkeiten Wissenstransfer unvollständig
Trennung Planung & Produktion Fehlendes Anwendungswissen führt später zu Fehlentscheidungen
Fortschrittkontrolle
Anwendungswissen nur zu Beginn


Ingenieurssicht[Bearbeiten]

Softwareentwicklung wird mit dem Bau von Brücken gleich gesetzt. Planung und Produktion werden nicht so stark wie bei der Produktionssicht getrennt. Zur Entwicklung werden (Konstruktions-)Prinzipien bzw. Patterns verwendet, die allgemein gültig sind. Nach dem Entwurf ist es nicht mehr möglich Anpassungen vorzunehmen.

SE ähnelt dem Bau von Brücken: Weniger strikte Trennung von Planung und Produktion (auch während des Baus noch (stark eingeschränkte) Entwurfsanpassungen möglich), Ver- wendung von allgemein akzeptierten Prinzipien, so gut wie keine Anpassungsmöglichkeiten nach Fertigstellung des Entwurfs.

  • ähnelt Bau von Brücken
  • schwache Trennung von Planungs- und Produktionsphase
  • Verwendung bewährter Konstruktionsprinzipien (Patterns)
  • Keine späteren Anpassungsmöglichkeiten
Vorteile Nachteile
Handhabbarkeit Abstraktionen fehlen
Eingeschränkte Flexibilität Keine Massenproduktion
Kosten vorhersehbar


Juristensicht[Bearbeiten]

Softwareentwicklung wird über Verträge geregelt, was bedeutet, dass die Aufgaben in möglichst kleine Teilaufgaben unterteilt werden und spätere Erkenntnisse nicht mehr verarbeitet werden.

SE ist so handzuhaben, dass sie auf Grund von Verträgen kontrollierbar ist: Aufteilung in klar überprüfbare Teilaufgaben, Verzug muss bewertbar sein und Konsequenzen nach sich ziehen, späte Anforderungen werden ausgeklammert.

  • Verträge
  • Aufteilung in Teilaufgaben
  • Spätere Anforderungen nicht berücksichtigt
Vorteile Nachteile
Juristische Eindeutigkeit Kein Erkenntnisgewinn während Entwicklung
Produkt muss vollständig geplant sein führt nicht zu nützlicher Software


Kreativsicht[Bearbeiten]

Software wird wie ein Kunstwerk gesehen, bei dem keine Trennung zwischen Planung und Produktion vorgenommen wird, dafür aber eine sehr breite Kommunikation zwischen den Beteiligten stattfindet da diese in ihrer eignen Kreativität handeln und die Software weiterentwickeln.

Die Organisation eines Software – Prozesses braucht alle vier Sichten erfordert. So müssen die Verträge (J – Sicht) den Fertigstellungstermin eines Software – Projektes festlegen, die grundlegenden Entwurfsentscheidungen müssen zwischen allen Beteiligten diskutiert werden (K – Sicht), das Produkt muss ingenieurmäßig (I – Sicht) entworfen werden und letztendlich mit Berücksichtigung weniger Variabilität anhand des Entwurfs stur programmiert werden. Eine zweite Schlussfolgerung ist, dass die einzelnen Aspekte in verschiedenen Projekten unterschiedlich stark vertreten sein können, so ist z.B. die K – Sicht in einem Studentenprojekt (wie z.B. dem SEP) wichtiger als z.B. bei der Entwicklung einer Anlagenbuchhaltung für einen Kunden. Eine letzte Schlussfolgerung ist, dass für jedes Projekt entschieden werden muss, wie wichtig welche Sicht ist, um zu entscheiden, welche Maßnahmen getroffen werden müssen, um ein Projekt erfolgreich abzuschließen.

Software als gemeinschaftliches Kunstwerk: keine Trennung zwischen Planung und Produk- tion, Kreativität muss in allen Phasen berücksichtigt werden, Kommunikation soll so wenig wie möglich reglementiert werden und muss beliebig breit möglich sein

  • ähnelt Kunstwerk
  • keine Trennung von Planungs- und Produktionsphase
  • Kommunikation
  • Kreativität
Vorteile Nachteile
Kommunikation verhindert Missverständnisse Unvorhersehbarkeit
Jeder hat Chance Lösung einzubringen Unplanbarkeit
Unwirtschaftlichkeit
Kaum Wartung möglich


Schlussfolgerung aus Sichten:[Bearbeiten]

  • Berücksichtigung von Aspekten aus allen vier Sichten; Festlegung, welche Sicht welchen Stellenwert besitzt und welche Maßnahmen erforderlich sind, um diese Sicht im Projekt ausreichend zu berücksichtigen
  • Verträge müssen die Eckdaten (z.B. Kosten für die nächsten Phasen) festlegen, sie müssen

Termine und Formate von Ergebnisdokumenten sowie die Mitwirkungspflicht des Anwenders definieren (J-Sicht, Juristen)

  • Grundlegende Entwurfsentscheidungen (spartenübergreifende Anwendung oder Spezialisierung) müssen zwischen allen Beteiligten abgestimmt werden (K-Sicht, Workshops und informale Kommunikationskanäle)
  • das Produkt muss ingenieurmäßig entworfen werden, z.B. kann nach Festlegung von Objekttypen die Datenbankzugriffsschicht an ein DB-Team weitergeleitet werden (I-Sicht, Software-Ingenieure und Domänenexperten)
  • Software muss anhand von Vorgaben stur programmiert und systematisch getestet werden (P-Sicht, Produktmanager und Marktstrategie)
  • Rollenbasierte Software-Entwicklung: Monokausale Begründungen für die Probleme bei der

Entwicklung von Software reichen nicht aus, deshalb Unterstützung der Einzeltätigkeiten durch passende Methoden, Werkzeuge und Sprachen unter Berücksichtigung von Organisation, Technologie, Psychologie und des Kontextes, in dem Einzeltätigkeiten stattfinden.

  • Entwicklung von Software durch enge Interaktion von Personen mit unterschiedlichen Aufgaben und Zielsetzungen, Beziehungen zwischen diesen Personen und die Wechselwirkungen zwischen den Aufgaben sind vielfältig und tragen maßgeblich zum Erfolg/Misserfolg einer Software Entwicklung bei. Zielkonflikte zwischen den Aufgaben beteiligter Personen (Projektkaufmann ¨ Projektleiter, Projektleiter ¨ Software-Entwickler, QS-Verantwortlicher ¨ Projektkaufmann)
  • Grundannahme: Projekte funktionieren, wenn die richtigen Leute unter Verwendung der geeigneten Methoden, Sprachen und Werkzeuge vernünftig miteinander arbeiten. Die Sicherstellung dieser Rahmenbedingung ist eine wesentliche Aufgabe in der Software Entwicklung.
  • Rolle: beschreibt eine Menge von zusammengehörigen Aufgaben und Befugnissen/Qualifikationen, eine Rolle wird von Personen wahrgenommen (n-m-Beziehung), es treten in einer Software Entwicklung nicht immer alle Rollen auf
  • Alle Sichten müssen berücksichtigt werden (J – Sicht = Verträge, K – Sicht = Entwurfsentscheidungen, I – Sicht = ingenieurmäßiger Entwurf, P – Sicht = Vorgaben stur programmieren)
  • Einzelaspekte spielen je nach Art des Projektes einer mehr oder weniger wichtige Rolle
  • Für jedes Projekt muss entschieden werden welche Rolle wie wichtig ist und welche Maßnahmen erforderlich sind

Wichtig für Klausur, für jede Projektart ein Beispiel zurecht legen