Wiederverwendung - Institut für Informatik - Freie Universität Berlin
Wiederverwendung - Institut für Informatik - Freie Universität Berlin Wiederverwendung - Institut für Informatik - Freie Universität Berlin
Prinzip: Modularisierung • Mache ein System mit einer großen Zahl von Funktionsteilen konstruierbar, indem Du • das gedachte Ganze zerlegst in nichttriviale Teile ("Module") • so dass jedes Modul einen klar beschriebenen Zweck erfüllt ("Schnittstelle", "Interface"). • Das Verstehen und Benutzen eines Moduls von außen einfacher ist als das Verstehen aller seiner inneren Teile (Komplexitätsreduktion) • und ein Modul auf möglichst wenig Eigenschaften anderer Module angewiesen ist ("geringe Kopplung", "Trennung von Belangen"). • ! Modularisierung ist ein Spezialfall von Hierarchisierung und von Abstraktion • Beispiel: • Batterie: Interface sind Bauform und Spannung; Innereien sind Bauart (z.B. Alkali, NiMH, etc.) und Kapazität Stephan Salinger, salinger@inf.fu-berlin.de [23+24] 26 / 84
Prinzip: Lokalität • Versammle alle Informationen, die zum Verstehen eines Teils oder einer Eigenschaft nötig sind, möglichst an einem Ort • Beispiele: • Javadoc (Code und Dokumentation an einem Ort) • Java (versus C++: Klassendeklaration und Implementierung in einer Datei) Stephan Salinger, salinger@inf.fu-berlin.de [23+24] 27 / 84
- Seite 1 und 2: Vorlesung "Softwaretechnik" Wiederv
- Seite 3 und 4: Wo sind wir?: Wiederverwendung •
- Seite 5 und 6: Arten der Wiederverwendung (2): Geg
- Seite 7 und 8: Risiken der Produkt-Wiederverwendun
- Seite 9 und 10: Hindernisse für Wiederverwendung W
- Seite 11 und 12: Ist die Produktivität wirklich ang
- Seite 13 und 14: Wiederverwendung von bewährten Kom
- Seite 15 und 16: Wiederverwendung von bewährten Anf
- Seite 17 und 18: Wiederverwendung von bewährten Wer
- Seite 19 und 20: Arten von Mustern • Anforderungen
- Seite 21 und 22: Prinzipien in der Softwaretechnik
- Seite 23 und 24: Anmerkung: Beschreibungsform • Um
- Seite 25: Prinzip: Hierarchisierung • Schaf
- Seite 29 und 30: Prinzip: Angemessenheit • Bei der
- Seite 31 und 32: Notationen Auch Notationen (z.B. UM
- Seite 33 und 34: Analysemuster • Im Rahmen der Anf
- Seite 35 und 36: Beobachtung 2: Organisationen sind
- Seite 37 und 38: Organisationshierarchie (Bei dieser
- Seite 39 und 40: Ausdifferenzierte Organisationshier
- Seite 41 und 42: Verallgemeinerte Hierarchien: Veran
- Seite 43 und 44: Verantwortlichkeiten mit Regeln •
- Seite 45 und 46: Verallgemeinerung: Metadaten • Di
- Seite 47 und 48: Benutzbarkeitsmuster I: Anforderung
- Seite 49 und 50: Benutzbarkeitsmuster I: Anforderung
- Seite 51 und 52: Benutzbarkeitsmuster I: Anforderung
- Seite 53 und 54: Benutzbarkeitsmuster I: Anforderung
- Seite 55 und 56: Taxonomie von Benutzbarkeits-Maßna
- Seite 57 und 58: USAP: Abbruch von Operationen • M
- Seite 59 und 60: Prozessmuster • Prozessmuster las
- Seite 61 und 62: Muster: Baue Prototypen (build prot
- Seite 63 und 64: Muster: Beobachte den Liefertermin-
- Seite 65 und 66: Muster: Gemeinsame Zustimmung zum n
- Seite 67 und 68: Muster für Unterbrechungen (2) •
- Seite 69 und 70: Anmerkung zu den Prozessmustern •
- Seite 71 und 72: Mustersprachen (Pattern Languages)
- Seite 73 und 74: Nachbemerkung: Anti-Muster • Anti
- Seite 75 und 76: Beispiele für Anti-Muster (2) •
Prinzip: Modularisierung<br />
• Mache ein System mit einer großen Zahl von Funktionsteilen<br />
konstruierbar, indem Du<br />
• das gedachte Ganze zerlegst in nichttriviale Teile ("Module")<br />
• so dass jedes Modul einen klar beschriebenen Zweck erfüllt<br />
("Schnittstelle", "Interface").<br />
• Das Verstehen und Benutzen eines Moduls von außen einfacher ist als<br />
das Verstehen aller seiner inneren Teile (Komplexitätsreduktion)<br />
• und ein Modul auf möglichst wenig Eigenschaften anderer Module<br />
angewiesen ist ("geringe Kopplung", "Trennung von Belangen").<br />
• ! Modularisierung ist ein Spezialfall von Hierarchisierung und<br />
von Abstraktion<br />
• Beispiel:<br />
• Batterie: Interface sind Bauform und Spannung;<br />
Innereien sind Bauart (z.B. Alkali, NiMH, etc.) und Kapazität<br />
Stephan Salinger, salinger@inf.fu-berlin.de<br />
[23+24] 26 / 84