IGIS

Grundlagen der industriellen Softwaretechnik

Grundlagen der industriellen Softwaretechnik


M. S.
Diese Lernkarten behandeln fortgeschrittene Themen des Software Engineering und Projektmanagements auf Universitätsniveau. Sie konzentrieren sich auf verschiedene Prozessmodelle wie Scrum, RUP und V-Modell XT, sowie auf Rollen und Aktivitäten im Softwareentwicklungsprozess. Die Karteikarten eignen sich für Studierende und Berufstätige, die sich mit Softwareprozessmodellen, Projektmanagement und der Erstellung von Softwarearchitekturen vertraut machen möchten.
Cartes-fiches
135
Utilisateurs
4
Langue
Allemand
Catégorie
Mathématiques
Niveau
Université
Créé / Mis à jour
18.10.2015 / 06.09.2023

Cartes-fiches

Standards für Zeichendarstellung?

z.B. ASCII, UTF-8 oder Unicode

Berechnung einer Dezimalzahl?

Eimgabe -> Umwandlung in eine Binärzahl -> Berechnung -> Umwandlung des Ergebnisses in eine Dezimalzahl -> Ausgabe

Physikalische & elektronische Möglichkeiten zur Darstellung des Binärsystems?

-Lichtschalter (ein & aus)

-Lampe (ein & aus)

-CD / DVD / BluRay (Wechsel zwischen hoch & tief)

-Magnetische Bereiche die in zwei unterschiedliche Zustände gebracht werden können

Boollsche Operatoren?

UND, ODER, NICHT

Von-Neumann-Architektur?

Speicher, Ein-/Ausgabe, Bus, CPU (ALU & Steuerwerk)

Allgemeines Konzept zur Konstruktion von universellen Rechnern

Ablauf von Berechnungen in der Von-Neumann-Architektur?

Befehler werden von dem Steuerwerk aus dem Speicher in die ALU geladen und dort ausgeführt

Nach Ausführung lädt das Steuerwerk den nächsten Befehl

Verteiltes Softwaresytem?

Ein System das nur im Zusammenspiel mehrerer über ein Kommunikationsnetz verbundener Rechner genutzt werden kann

Typische Elemente eines verteilten Softwaresystem?

-Server (bietet an)

-Client (fragt an)

-Kommunikationsnetz (Kabel, Wellen, Router, etc.)

-Netzwerkschnittstelle

-Nachricht (wird in Datenpakete zerlegt)

Referenzmodelle für Kommunikationsnetze?

Diese beschreiben über mehrere Schichten wie eine Nachrichtenaaustausch abzulaufen hat. Diese Netzwerkarchitekturen als Gerüst ermöglichen den Austausch von Nachrichten plattformübergreifend möglich zu machen.

z.B. OSI-Referenzmodell oder TCP-/IP-Referenzmodell

Protokolle? (Kommunikationsnetze)

Protokolle sind Funktionen die für das Codieren & Decodieren von Nachrichten in einer Sdchicht eingesetzt werden.

OSI-Referenzmodell?

-allgemeingültiges Referenzmodell für Netzwerkarchitekturen

-besteht aus 7 Schichten:

 -Anwendungsschicht

 -Darstellungsschicht

 -Sitzungsschicht

 -Transportschicht

 -Vermittlungsschicht

 -Sicherungsschicht

 -Bitübertragungsschicht

TCP-/IP-Referenzmodell?

-In der Praxis häufig verwendetes Referenzmodell für Netzwerkarchitekturen

-besteht aus 4 Schichten:

 -Anwendungsschicht

 -Transportschicht

 -Internetschicht

 -Host-zu-Netz-Schicht

Transportschicht?

Die Schicht in der die eigentlich Übertragung zwischen Server & Client stattfindet und überprüft wird

Vermittlungsschicht?

Schicht auf der die technische Komponenten der Datenvermittlung arbeiten

Betriebliche Informationssysteme?

ein gewerblich eingesetztes Software-System:

-Kommunikationssysteme

-Querschnittsysteme (eingesetzte Standardsoftware)

-Operative Systeme (unterstützen gezielt Geschäftsprozesse & Aktivitäten)

-Dispositive Systeme (unterstützen Planungs- & Entscheidungsprozesse)

Einfluss auf die Anforderungen eines Softwaresystems?

-Stakeholder

-rechtliche Vorgaben

-technologische Entwicklungen

-Marktsituation

 

->sich ändernde und widersprechende Anforderungen

Hinsichten der Komplexität eines industriellen Softwaresystems?

-vielfältige Funktionen

-komplexe Anwendungslandschaft mit viele Schnittstellen

-viele Anwender

-vielfältige Geräte / OS

-soll erweiterbar sein

-viele an der Erstellung Beteiligte

-viele Komponenten & Teilsysteme

-immateriell

Von Softwaresystemen geforderte Eigenschaften?

-Wartbarkeit

-Korrektheit

-Usability

-Zuverlässigkeit

-Performance

-Robustheit -> Keine Fehler / Falschausgaben bei falscher Handhabe

-Wiederverwendbarkeit

-Portierbarkeit

-Interoperabilität

Softwaretechnik?

die strukturierte & methodische Planung, Erstellung & Weiterentwicklung von Softwaresystemen, sowie deren Betrieb.

Softwarekrise?

Aufgrund der immer mächtigeren Hardware entstand das Problem, dass die Software immer komplexer werden musste und viele Projekte scheiterten. Gelöst wird diese Problematik durch die Entwicklung neuer Methoden & Strategien zur Erstellung von Softwaresystemen.

Patterns?

organisatorische & technische Strukturen, die sich über mehrere Projekte hinweg bewährt haben.

Grenzen der Softwaretechnik?

Kaum natürliche, physikalische Grenzen wie z.B. Schwerkraft, Widerstand oder Reibung.

Die größten Einschränkungen liegen bei der Abstraktions- & Kommunikationsfähigkeit der beteiligten Personen.

Gründe für die steigende Komplexität von Softwaresystemen?

-leistungsfähigere Hardware

-ausdrucksmächtigere Programmiersprachen

-Mobilisierung von Rechnersystemen

-steigende Vernetzung von Rechnersystemen

Unterschied zwischen Software Engineering & anderen Ingeneursdisziplinen?

kaum natürliche Einschränkungen, hauptsächlich Einschränkungen bei den beteiligten Personen

Risiken die zum Abbruch vor der Fertigstellung führen können?

-Zentrale Anforderungen sind nicht realisierbar

-Kosten laufen völlig aus dem Rahmen, keine belastbaren Angaben zu erwartenden Kosten

-Streitigkeiten zwischen Beteiligten des Projekts, welche eine konstruktive Zusammenarbeit nicht mehr möglich machen

Risiken die dazu führen können, dass ein ausgeliefertes System nicht eingesetzt werden kann?

-Fachfunktionen fehlen oder sind falsch umgesetzt

-geforderte Qualitätseigenschaften wurde nicht erfüllt

-Anwender lehnen das System ab

Risiken die dazu führen, dass bei der Wartung / Weiterentwicklung mehr Fehler erzeugt, als Probleme gelöst werden?

-Mangelnde Dokumentation verhindert abschätzbare Handlungen

-interne Struktur des Systems ist degeneriert und fordert enormen Aufwand, selbst bei kleinen Änderungen

-Mangelndes Wissen über im System eingesetzte Technologien

Wesentlicher Einflussfaktor für Projektrisiken neben Komplexität und Immaterialtät.

Software Engineering ist ein stark erkenntnisgetriebener Prozess.

Problem der Plurabilität von Stakeholdern?

Die viele Stakeholder haben oft konkurrierende Wünsche & Erwartungen an das System.

Technologiezentriertheit?

Es wird ein zu starker Fokus auf die technische Aspekte gelegt, statt auf Anforderungen & Fachfunktionen. (fehlendes Fachwissen der Entwickler)

Bedeutung eines ausgeprägten Kommunikationsmanagements?

-Management von unterschiedlichen Zielvorstellungen, bedeutsam damit wichtige Entscheidungen rechtzeitig getroffen werden.

-Persönliche Konflikte dürfen sich nicht auf das Projekt auswirken

Wesentliche Herausforderungen im Software Engineering?

-Wirtschaftliche Ungewissheit

-Technologische Ungewissheit

-Kommunikation

-Zielkonflikte

-Komplexität

Wirtschaftliche Ungewissheit?

-"Cone of Uncertainty"

-Erst im Verlauf eines Projektes lassen sich genaue Abschätzungen über das Projekt abgeben

-je früher die Kosten geschätzt werden, desto weiter weicht die Schätzung von den tatsächlichen Kosten ab

Technologische Ungewissheit?

-Vergleichbar mit der wirtschaftlichen Ungewissheit, lediglich im Bezug auf die Schätzung wie das System hinterher aussieht

-Die Realisierung des Systems entwickelt sich im Verlauf des Projekts

Herausforderungen im Software Engineering:

Kommunikation

Viele Beteiligte / Stakeholder und deren Wünsche müssen unter einen Hut gebracht werden

Herausforderungen im Software Engineering:

Zielkonflikte

-das "magische Dreieck"

-Qualität, Termin, Kosten

-nur zwei lassen sich umsetzen

Herausforderungen im Software Engineering:

Komplexität

Viele technische Komponenten, Schnittstellen zu anderen Systemen und implementierte Funktionen, sowie die Immaerialität stellt Anforderungen an das menschliche Abstraktionsvermögen

Phasen des Software-Lebenszyklus?

Planung

Entwicklung

Betrieb

Wartung

Abschaltung

Nutzung des Modells des Softwarelebenszyklus?

-für mittel- und langfristige Projektplanung

-Basis für Personal-, Ressourcen-, & Investitionsplanung

-Bestimmung phasentypischer Aktivitäten

Bedarfsermittlung für ein Softwaresystem? Typische Anlässe?

-Ablösung bestehender Altsysteme

-Nachfrage der Fachabteilungen

-Technologische Weiterentwicklungen

Étudier