• Keine Ergebnisse gefunden

Software- Engineering für langlebige Systeme

N/A
N/A
Protected

Academic year: 2022

Aktie "Software- Engineering für langlebige Systeme"

Copied!
18
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Thomas Ruhroth | Dortmund SoSe 2014

Software- Engineering für langlebige

Systeme

(2)

Thomas Ruhroth | Dortmund 2

 Nochmal zurückschauen und Verbindungen sehen

VL11 WarpUp

(3)

3

Was haben wir gesehen:

Übersicht Codeebene Modellebene Projektebene

ITIL

Anbindung von Altsystemen Updates

Technical Writing SWT

Programmieren

Psychologie

Formale Methoden

Projekt- Management

(4)

4

Softwareerosion

Quellen ...

(5)

5

Änderungen in der Systemumgebung

 Prozessoränderungen

Umstellung 8 → 16 → 32 → 64 Bit-Systeme (s. Übung)

Prozessorgeschwindigkeit (TurboPascal- Zählerüberlauf)

 Änderungen im Betriebssystem

Geänderte Zugriffsrechtesysteme

 Neue/Geänderte Schnittstellen

(6)

6

Verlust von Wissen

 Designentscheidungen können nicht mehr nachvollzogen werden

Wichtige Gründe werden bei Umbauten nicht bedacht

 Bedeutung von Magic Numbers geht verloren

 Funktionen werden außerhalb der vorgesehenen und geprüften Bereiche genutzt

(7)

7

Unterschiede in der Programmiererfahrung

 Code Anderer wird fehlinterpretiert

 „Verschlimmbessern“

 Unangemessene Verallgemeinerung/Vereinfachung

(8)

8

Fehler in der Arbeitsorganisation

 Programmierer wissen es besser als Designer

Design und Code passen nicht zusammen

Testcases passen nicht zur Code-Basis

 Schlecht designter Prototyp wird Produkt

 Häufiger Wechsel der Programmierer/ Designer

 Updatefähigkeit wird später ergänzt

Teilweise werden Veränderungen „zurückgebaut“

 Keine „deprecated“-Verwaltung

Viel alter Code bleibt im System

 Aufgabenteilung nicht gelebt

(9)

9

Schlechter Code

 Code nicht verständlich

 Wenn eine Stelle geändert wird, müssen viele (weit entfernte) Code-Stellen mit angepasst werden.

 Wenn der Code geändert wird, ergeben sich viele Folgefehler

Achtung:

 Schlechter Code ist Auswirkung und Quelle zugleich!

 Hier beginnt ein Teufelskreis

(10)

10

Schlechtes Design

Das Design ist zu komplex/zu einfach

Es existieren viele (unübersichtliche) Abhängigkeiten (s. Findbugs- Bsp)

Entscheidungen sind nicht dokumentiert

Verschiedene widersprüchliche Spezifikationen

Design für Zielsprache nicht angemessen/passend

Achtung:

 Schlechtes Design ist Auswirkung und Quelle zugleich!

 Hier beginnt ein Teufelskreis

(11)

11

Inkonsistenzen zwischen Artefakten

 Code

 Datenbank

 Design/Modell

 Dokumentation

 Tests

Achtung:

 Inkonsistenzen zwischen Artefakten sind Auswirkung und Quelle zugleich!

 Hier beginnt ein Teufelskreis

(12)

12

Beyond One-Shot Security:

Beyond One-Shot Security:

Keeping Information Systems Keeping Information Systems

Secure through Secure through

Environment-Driven Knowledge Environment-Driven Knowledge

Evolution

Evolution

(13)

13 Abschließende Bemerkungen

(14)

14

Mein Rat für weiteres Lernen

 Englisch

Alle wichtige Literatur kommt im Deutschen erst mit erheblicher Verspätung

Dokumentation

 Viel Programmieren in verschiedenen Sprachen

Es gibt nicht eine gute Sprache

Verschiedene Paradigmen

 Sozial- und Psychologie-Grundlagen

Verstehen der Effekte in einer Gruppe

 Interkulturelles Wissen

 Projekt-Management

(15)

15

Bachelorarbeiten in unserer Arbeitsgruppe

 Themen zu Sicherheit und Compliance

Sicherheit in der Cloud

Risiko-Management

 Softwareevolution und langlebige Systeme

 Webseite:

http://www-secse.cs.tu-

dortmund.de/secse/pages/teaching/thesis/index_de.shtml

(16)

16

(17)

17

Lehre nächstes Semester

 Vorlesung Softwarekonstruktion (2+1 SWS, INF-BSc-211)

 Vorlesung Sicherheit: Fragen und Lösungsansätze (2+1 SWS, INF- BSc-302)

 Fachprojekt „Werkzeuge für modellbasierte Sicherheitsanalysen für sicherheitskritische IT-Architekturen“

 Proseminar Werkzeugunterstützung für sichere Software

 Seminar Sicherheit und Softwareengineering (2 SWS)

 DiDo-Seminar Oberseminar (2 SWS)

(18)

18

Morgen: Prüfungsvorbereitung

Referenzen

ÄHNLICHE DOKUMENTE

 Termine werden im Juni bekannt gegeben (mind. drei Termine über die vorlesungsfreie

 Welche wahrnehmungspsychologische Aspekte werden durch die Pattern

 << Bitten Sie ihren Partner eines der genannten Prinzipien genauer zu erklären>>..  Was sind

 Erstellen Sie eine Operation zum Hinzufügen eines Elementes am Anfang der Liste.  Erstellen Sie eine Operation zum Entfernen des

 Eine Semantik für eine Sprache L ist ein Tupel (D, [[.]]) aus einer semantische Domäne und einer Abbildung [[.]]: L → D, der semantischen Abbildungsfunktion..  Die

 Native zeigt an, dass die Operation in einem geladenen Shared Object File gesucht werden soll (oder DLL)..  Die Namen werden für das Shared Object

 Bitte melden Sie sich durch Abgabe des leeren Protokolls spätestens zwei Wochen vor der Prüfung bei Frau Joschko an.

 Ein altes Programm muss angepasst werden..