Svetlana Skljarskij, Johannes Nold - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Svetlana Skljarskij, Johannes Nold

Description:

Svetlana Skljarskij, Johannes Nold. Clemens Szyperski ... Svetlana Skljarskij, Johannes Nold 15.02.2000. Properties of components Properties of objects ... – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 28
Provided by: Sula9
Category:

less

Transcript and Presenter's Notes

Title: Svetlana Skljarskij, Johannes Nold


1
  • Svetlana Skljarskij, Johannes Nold
  • Clemens Szyperski
  • Component Software - Beyond Object-Oriented
    Programming (1999)
  • und
  • B. Meyer
  • Object-Oriented
  • Software Construction

2
  • Gliederung
  • I
  • 1. Einleitung / Motivation
  • 2. Modularität
  • 2.1. Fünf Kriterien
  • 2.2. Fünf Regeln
  • 2.3. Fünf Prinzipien
  • 3. Modul
  • 4. Komponenten vs. Objekten

3
  • Fünf Kriterien
  • Zerlegbarkeit
  • Kombinierbarkeit
  • Verständlichkeit
  • Stetigkeit
  • Schutz

4
  • Zerlegbarkeitskriterium

5
Zerlegbarkeitskriterium BEISPIEL Top-down
Hierarchie
6
  • Kombinierbarkeitskriterium

7
  • Stetigkeitskriterium

8
  • Fünf Regeln
  • Direct Mapping
  • Few Interfaces
  • Small interfaces (weak coupling)
  • Explicit Interfaces
  • Information Hiding

9
wenige Schnittstellen
10
explizite Schnittstellen
11
  • Fünf Prinzipien
  • The Linguistic Modular Units principle.
  • The Self-Documentation principle.
  • The Uniform Access principle.
  • The Open-Closed principle.
  • The Single Choice principle.

12
  • Properties of components Properties of objects
  • A component is a unit of independent
    deployment - An object is a unit of
    instantiation
  • it has a unique identity.
  • A component is a unit of third-party composition
    - An object has state this state can be a
    persistent state.
  • A component has no persistent state - An object
    encapsulates ist state and behavior.

13
A definition software component A software
component is a unit of composition with
contractually specified interfaces and explicit
context dependencies only. A software component
can be deployed independently and is subject to
composition by third parties.
14
  • Gliederung
  • II
  • 5 Interfaces
  • Direkte und indirekte Interfaces
  • Versionen von Interfaces
  • Interfaces als Contracts
  • ...
  • 6 Callbacks und contracts
  • 7 Polymorphismus
  • 8 Aspekte der Skalierung und der Granularität
  • 9 Patterns, frameworks, architectures

15
Interfaces
  • Marktorientierte Betrachtung
  • access points
  • services
  • contracts
  • 3 wichtige nicht-technische Aspekte
  • Technische Betrachtung
  • Set of named operations
  • jede operations semantic ist spezifiziert
  • direkte Interfaces

16
  • Direkte und indirekte Interfaces
  • Direkte (prozedurale) Interfaces
  • Indirekte (Objekte) Interfaces
  • late binding

Word processing component
Grammar checking component
Grammar checker class
Word processor class
4
has-a
1
3
has-a
has-a
implements
2
Checker interface
Text service class
has-a
Text service mediator component
17
  • Versionen von Interfaces
  • aufsteigende Versionsnummer bzw. fallende
    Versionsnummer
  • Versionen checken
  • andere Version anderes Interface

18
  • Interfaces als Contracts
  • Contracts als Interface-Spezifikationen
  • Preconditions und Postconditions
  • Contracts und nicht-funktionale Requirements
  • Auswirkungen von Performanceänderungen
  • Was gehört zu einem Contract?

19
  • Sicherheit und Progress
  • leads-to Operator
  • Bsp. model update leads-to notifier calls
  • statement specifications
  • keine formale Verifikation

20
  • Callbacks und Contracts
  • Was ist ein callback?
  • Callbacks - up-calls
  • Valid Status ohne und mit callbacks

21
  • Beispiel zu callbacks
  • Ein gebrochener contract
  • PROCEDURE AddEntry (IN n Name f Files.file)
  • ( pre n ? and f ? NIL )
  • ( post ThisFile(n) f )

directory display
client
directory
RegisterNotifier(Notifier)
AddEntry(Untitled,f)
Notifier(Untitled)
ThisFile(Untitled)
RemoveEntry(Untitled)
Notifier(Untitled)
ThisFile(Untitled)
Notifier returns
RemoveEntry returns
Notifier returns
AddEntry returns
22
  • Polymorphismus
  • Definition
  • subtype oder inclusion
  • polymorphismus

Interface View void close () void
restore (int left, int top, int right, int
bottom) interface TextView extends View
int caretPos () void setCaretPos (int
pos) interface GraphicsView extends View
int curserX () int curserY () void
setCursorXY (int x, int y)
23
  • Polymorphismus
  • ad-hoc polymorphismus
  • (overloading)
  • usw.

Interface View ... // wie vorher Model
getModel () interface TextView extends View
... // wie vorher TextModel getModel
() interface GraphicsView extends View
... // wie vorher GraphicsModel getModel ()
24
  • Aspekte der Scalierung und der Granularität
  • Units of abstraction
  • Units of accounting
  • Units of analysis
  • Units of compilation
  • Units of delivery
  • Units of dispute
  • Units of extension
  • Units of fault containment

25
  • Aspekte der Scalierung und der Granularität
  • Units of instantiation
  • Units of loading
  • Units of locality
  • Units of maintenance
  • Units of system management

26
  • Patterns, frameworks, architectures
  • Sharing consistency programming languages
  • Sharing concrete solution fragments libraries
  • Sharing individual contracts interfaces
  • Sharing individual interaction architectures
    patterns

27
  • Patterns, frameworks, architectures
  • Sharing architectures framework
  • Sharing overall structure system architectures
Write a Comment
User Comments (0)
About PowerShow.com