Software Engineering

Theoriezusammenfassung Skript

Theoriezusammenfassung Skript


H. D.
Diese Lernkarten behandeln grundlegende Konzepte des Software Engineering auf Universitätsniveau, mit Fokus auf Prozessmodelle, Softwareentwicklung und Modelltheorie. Sie erklären Begriffe wie Tailoring, verschiedene Vorgehensmodelle (z.B. Spiralmodell, inkrementelle und iterative Entwicklung), sowie die Unterschiede zwischen Prozessinstanz und Prozessmodell. Zudem werden Modellmerkmale, Skalentypen und die Charakteristika von Software detailliert beschrieben. Diese Lernkarten eignen sich besonders für Studierende und angehende Softwareentwickler, die ein tiefes Verständnis der theoretischen Grundlagen und praktischen Anwendungen im Software Engineering erlangen möchten.
Cartes-fiches
26
Utilisateurs
3
Langue
Allemand
Catégorie
Informatique
Niveau
Université
Créé / Mis à jour
10.04.2015 / 17.06.2021

Cartes-fiches

Was ist Software? (1)

Was ist Software?

- Sammlung von Computerprogramme, Prozessen, Regeln, die dazugehörige Dokumentation & betreffende Daten die für die Operation benötigt werden

- Software-Software Produkt-Software System-Software Entwickler

 

Was ist Software? (1)

Was versteht man unter folgenden Begriffen: Produkt, Software-Produkt, System, Systemkomponente, Systemelemente?

- Produkt: - ein in sich abgeschlossenes Ergebnis, das für einen Auftraggeber im Rahmen eines Herstellungsprozesses erstellt wurde

- Software-Produkt: - ein Produkt, das aus Software besteht

- System: - Ausschnitt der realen oder gedanklichen Welt mit den enthaltenen Gegenständen und Beziehungen zwischen diesen (zB Maschinen, Person)

- Systemkomponente: - die Teil eines Systems werden als, ggf. weiter zerlegbare, Systemkomponenten bezeichnet

- Systemelemente: - nicht weiter zerlegbare Komponente

Was ist Software? (1)

Was versteht man unter folgenden Begriffen: Anwender, Benutzer?

- Anwender: - alle Mitglieder einer Organisation, die ein (Software-) system einsetzen

- Benutzer: - Anwender, die das System tatsächlich einsetzen und bedienen

Was ist Software? (1)

Charakteristika von Software

- immaterielles Produkt

- nicht auf Umsetzung physikalischer Gesetze beschränkt

- verschleißfrei

- einer Alterung ausgesetzt

- leichter und schneller änderbar als ein materielles Produkt

- schwer vermessbar

- Begriff des Ersatzteils ist im Software-Kontext nicht sinnvoll

- sehr komplex

- autonomer Betrieb

- werkstoffarmes Produkt

- Werkstoffe implizieren keine problemadäquate Struktur

- spiegelt die Realität wider

Was ist Software Engineering?

- umfasst sämtliche Prozesse und Produkte, die im Rahmen des Lebenslaufs von Software relevant sind

- jede Aktivität, bei der es um die Erstellung oder Veränderung von Software geht, soweit mit der Software Ziele verfolgt werden, die über die Software selbst hinaus gehen

SW-Entwicklung ist eine Herausforderung! Warum?

Ja ist es, da man mehrere Punkte beachten muss!

Eigenschaften des Software Engineering (1)

- mehr Handwerk als Kunst (tech. know how steht im Vordergrund)

- wirkt auf ein globales Optimum hin (Zusammenhänge zwischen Methoden, Aufgaben, Modulen etc. müssen erforscht werden

- wirkt defensiv (soll Schaden vermeiden)

- bringt eine Vielzahl von Problemen (Interdependenzen)

- verändert das Verhalten (neue Erkenntnisse lassen sich nur bedingt durch Werkzeuge transportieren- Schulung von Entwickler)

- als "Großes Gescäft"

Welche besonderen Bedeutungen haben Modelle im Software Engineering?

 

- Softwareprozessmodell ist ein Modell

- Pflichtenheft

 Diagramm

- Programm

Was ist ein Modell?

 

- Bild der Realität

- Funktion

  • 𝑓: 𝐴 → 𝐵  bildet Elemente der Menge A auf Elemente der Menge B ab

  • die abgebildete Teilmenge von A wird URBILD genannt

  • Teilmenge von B auf die abgebildet wird, heißt Bild

  • jeweilige Modell ist weder das einzige Modell, noch die Realität

Modeltheorie (1)

Deskriptive Modelle

              - beschreibend "Was ist?"

              - Bsp. Fotografie

 

Präskriptive Modelle

              - vorschreibend "Was soll sein?"

              - Bsp. Bauplan, nach dem ein Haus errichtet werden soll

 

 

Modelltheorie (2)

- präterierte Attribute: Attribute, die bei der Abbildung des Originals auf das Modell verloren gehen

- abundante Attribute: Oft werden modellseitig zusätzlich Attribute eingeführt, die im Original nicht vorhanden sind

Modellmerkmale

1. Abbildungsmerkmal (existiert ein vorhandenes, fiktives, geplantes Original

2. Verkürzungsmerkmal (Attribute gehen verloren oder werden zusätzlich aufgenommen)

3. Pragmatisches Merkmal

Entwicklung und Validierung von Modellen

1. Entwurf des Modells (basiert auf Beobachtungen, Intuitionen oder Analogieschlüsse)

2. Validierung des Modells (nur anhand von Resultaten von Beobachtungen möglich

Welche Skalentypen gibt es?

- Nominalskala: - ungeordnete Menge von Namen, auf die Objekte der realität abgebildet werden Bsp.: Menge aller Familiennamen in Deutschland; - Nachteil: geringer Nutzen, keine Ordnung zwischen den Elementen definiert ist

- Ordinalskalen: - geordnete Menge von Namen, auf die Objekte der realität abgebildet werden; Reihemfolge angegeben, jedoch keine Abstände (Bsp. 1,2,3 bei einem Marathon)

- Intervallskalen: - ermöglicht das Rechnen mit ihren Elementen Bsp: Kalender

- Rationalskalen: - ist eine Intervallskala, die zusätzlich einen Nullpunkt einführt; Nullpunkt ist also  ein ausgewiesenes Referenzelement Bsp: Distanz, zwischen Sonne und den einzelnen Planeten

- Absolutskalen: - ist eine Rationalskala, die Merkmalsausprägungen in Zahlenform festlegt Bsp: Anzahl der Studiengänge

(Auflistung der Skalentypen von schwach zu stark)

Nutzen&Kosten von Software

Definition von Software-Nutzen

Software-Nutzen ist der durch Anwendung von Software erzielbare Vorteil.

Dieser wird bestimmt durch

- Grad der Übereinstimmung der Produkteigenschaften mit den tatsächlichen Anforderungen

- weitere Leistungen, Komfort und Flexibilität

Definition von Software-Kosten

Sind sämtliche Software-spezifischen, betriebswirtschaftlich relevanten Aufwände, die im Laufe des Lebens einer Software auftreten

- Herstellungskosten

- Betriebskosten

Der Software-Lebenslauf lässt sich als was Beschreiben?

-Projekt

-kontinuierlicher Prozess

Software Development Process (2)

Unterscheidung zwischen Prozessinstanz und Prozessmodell

Prozessinstanz

- das Objekt sozusagen

- ein einzelnes Projekt, in dem reale Handlungen stattfinden und das ein greifbares Ergebnis liefern soll

 

Prozessmodell

- die Klasse sozusagen

- Eine Schablone für eine Menge von Projekten, die alle nach dem gleichen Schema ablaufen sollen

Prozessmodelle Klassen/ Vorgehensmodelle

 

Wasserfallmodell

Prozessmodelle Klasse/ Vorgehensmodell

Wasserfallmodell

Prozessmodelle Klasse/ Vorgehensmodell (2.3)

Hinterfragung der Validation und Verifikation

Prozessmodelle Klasse/ Vorgehensmodell (3.1)

Prototyping

Prozessmodelle Klasse/ Vorgehensmodell (4)

Iterative SW-Entwicklung

Iterative SW-Entwicklung

- beschreibt allgemein einen Prozess mehrfachen Wiederholens gleicher oder ähnlicher Handlungen zur Annäherung einer Lösung oder eines bestimmten Ziels

Prozessmodelle Klasse (5)

Inkrementelle SW-Entwicklung

- beschreibt einen Prozess der kontinuierlichen Verbesserung, der häufig in kleinen oder sogar kleinsten Schritten vollzogen wird

- der Endzustand steht bei der inkrementellen Verbesserung meistens nicht fest, Projekt wächst organisch

Prozessmodelle Klasse (6.1)

Spiralmodell

- ein generisches Vorgehensmodell ( generisch: ist die Eigenschaft, nicht auf Spezifisches, also auf Unterscheidende Eigenschaften Bezug zu nehmen, sondern im Gegenteil sich auf eine Klasse, Gattung oder Menge anwenden zu lassen) und daher offen für bereits existierende Vorgehensmodelle

- basiert auf risikogetriebenem Verhalten, d.h. Wiederholung des Projektes bis es erfolgreich abgeschlossen ist oder gescheitert

-Vorteil: Probleme werden schnell erkannt, nach Behebung der Probleme, stabilisiert sich das Projekt sehr schnell

Was versteht man unter Tailoring?

Ergänzung eines generischen (Prozess-)Modells durch Projekttyp-spezifische Elemente. Ziel: Gezoelte Prozessausprägung

Étudier