Shlaer Mellor Method

A method based on the construction of models which can then be "translated" into code using a CASE tool.

The method originated from experience designing Real Time systems (although they claim their method works with all kinds of systems).

Publications

images.amazon.com

Sally Shlaer and Steve Mellor, Object Life Cycles: Modelling the World in States, [ISBN0-13-629940-7]

images.amazon.com

Sally Shlaer and Steve Mellor, Modelling the World in Data, [ISBN 013629023X]

See also


Comparison with RDD

There's a case study that compares Shlaer-Mellor with responsibility-driven design:

Sharble R. S. and Cohen S., The Object Oriented Brewery: A comparison of two OO development methods, ACM SIGSOFT, 18(2),1994

(According to their judgement of "good" design, SM compares unfavourably.)

Event Driven Approach

The dynamic behaviour aspect of Shlaer-Mellor modelling depends on sending an event to an object. Each object performs only one event at a time. Performing an event effectively means executing a flat Dataflow Diagram (which can perform computations, evaluate its attributes and even "write" into the attributes of other objects). Some translation models involve synchronized event queues for each object that has behaviour - this is very similar to Dataflow Programming. - See "What Is An Event"

Object Identity

Shlaer-Mellor differs from most approaches because their class definitions contain the notion of an object identifier - a subset of attributes that uniquely identify an instance.

Distributed Applications

I think with the difficulties concerning distributed objects expressed by those including Martin Fowler I suspect patterns and concepts authored by S/M could be very useful in distributed systems (e.g. wormholes, bridges, transfer vectors, etc.)


See original on c2.com