Seite 1 von 1

Modular Composability vs. Decomposability

Verfasst: 6. Nov 2007 18:58
von Xaero
Hallo,
ich verstehe nicht den unterschied zwischen den beiden. Kann mir jemand da helfen???

Re: Modular Composability vs. Decomposability

Verfasst: 6. Nov 2007 19:25
von Evgeni
Xaero hat geschrieben:Hallo,
ich verstehe nicht den unterschied zwischen den beiden. Kann mir jemand da helfen???
Composability is often at odds with decomposability
%u2022 top-down design tends to produce modules that may not be
composed in the way desired
%u2022 top-down design leads to modules which fulfil a specific function,
rather than a general one
aus http://www.ee.ic.ac.uk/pcheung/teaching ... ctions.pdf

wobei top-down design ist eine der Möglichkeit decomposability anzuwenden

Verfasst: 7. Nov 2007 09:31
von marcel_b
Anders herum gefragt: Was verstehst du denn? Wo siehst du das beide Punkte das gleiche meinen? Für eine passende Antwort ist es gut, wenn du erstmal beschreibst, wo du genau ein Problem siehst.

Viele Grüße
Marcel

Verfasst: 7. Nov 2007 12:54
von Xaero
Also ich versteh es so. Das eine(Decomposability) ist in Komponenten zerlegen und das andere(composability) ist wieder zu einem zumachen,damit es funktioniert. Verstehe ich das richtig.

Verfasst: 7. Nov 2007 13:36
von marcel_b
Kurz gefasst:
Decomposability:
Decompose problem into smaller subproblems that can be solved separately
Example: Top-Down Design

Composability
Freely combine modules to produce new systems
Example: Math libraries, Unix command & pipes
Das eine sagt: eine Methode (das was oder worauf in ex2) unterstützt decomposibility, wenn sie es ermöglicht ein problem in kleine Teilprobleme zu zerlegen die getrennt voneinander bearbeitet werden können. Wie oben gesagt: Die Top-Down-Design-Method macht genau sowas.

Das andere sagt: eine Methode unterstützt modular composibility, wenn sie es ermöglicht (nahezu) beliebige Module miteinander zu kombinieren.
Beispiel Unix Pipes hier können beliebige Module (Befehle in der Shell wie z.b grep, tail etc) mit hilfe des Pipe-Operators (|) kombiniert werden um ein neues stück Software zu schreiben, das sooo vorher noch nicht da war. Das sind zwei unterschiedliche Situationen...