The Shlaer-Mellor Method

-Sumant Kulkarni

Shlaer-Mellor Method
  

An approach to develop industrial grade s/w. Software system is initially split up into domains. Domains broken down into subsystems to be analyzed in depth. Comprehensive coverage for the analysis, design and implementation.

Shlaer-Mellor Method
Each Domain is:
  

Independent of the each other. Has a subject matter. Divided into multiple subsystems to provide coherent and manageable work.

Shlaer-Mellor Method

Partition the system into domains
   

Application Domain Service Domain Architecture Domain Implementation Domain

Use of Domain Chart to depict these domains and their relationship.

Shlaer-Mellor Method
General process of applying the S-M method:

Partition the system into domains Analyze application domain Verify the analysis using static and dynamic verification. Extract the requirements for the service domains. Analyze the service domains. Specify the components of the architectural domain. Build the architecture components. Translate the models of each domain using the architectural components.

Shlaer-Mellor Method

Domains are organized in client-server like architecture. Domain Bridges.

Domain Chart is also supported by fair textual description for each domain and each bridge.

Shlaer-Mellor Method
Domain Chart:

Shlaer-Mellor Method

When domain is too large, it is partitioned into a set of subsystems. Each subsystem must be small enough to analyze as a whole by a small team of analysts. The subsystems can be represented using:
– – – Subsystem Relationship Model Subsystem Communication Model, and Subsystem Access Model

These models show data relationship, event communication and data access between subsystems.

Shlaer-Mellor Method
Analyze the Application Domain

We build application domain using:
– – – Object information Model State Models Process Models (Action Specification Model)
• Action Data Flow Diagram.

They are separate but integrated parts of ShlaerMellor OOA.

Structure of the primary models of S-M ObjectOriented Analysis

Shlaer-Mellor Method
Object Information Model
 

Based on Relational Model (E-R) of data Some behavioral features are also seen.

Shlaer-Mellor Method

State Models are:
– – Deterministic Finite State Machines Usually Moore representation is used.

Action Specification shows sequence and conditionality.

Shlaer-Mellor Method

The Models can be mathematically transformed into other forms. ---- How???? State Models can be joined, split and repackaged. ---How??? While analyzing application domain, we do not worry about design details. Analysis requires analysts to know only:
– – – What data is required When something is to be done, and What exactly needs to be done

Shlaer-Mellor Method
Building OOA models in order:
– – –

Object Information Model – Objects State Model – Behavior Process Model – Processing

Very little iteration is required to settle on the three models for an experienced person. -- Why?

Shlaer-Mellor Method

There are also a set of derived models to support the three models. They are:

Shlaer-Mellor Method
Validation of the Analysis

The three models together define the data, behavior and processing required in the domain. To pass static verification, a set of 72 rules should be complied by these models!!!! Formalism for the models is well defined and the models can be executed (Not clear yet).
– – – Data is processed as OIM. Sequence in which processing takes place – State Model The processing is specified by Action Specifier.

Shlaer-Mellor Method

For dynamic verification can be done as below:
– – – – Establish the desired initial state of the system in data values in object Information Model. Initiate the desired behavior by sending an event to State Model. Execute the processing as specified by the Action Specification and as sequenced by State Model. Evaluate the outcome against expected.

Shlaer-Mellor Method

Requirements Generated by Application Domain

Shlaer-Mellor Method

Requirements for Service Domain
– – Abstracted issues of Application Needs of Application

Analyze Service Domain
– – Application is the client and Service is server. Sufficiently analyze application domain first.

Architecture domain – Design related.
– Application Independent but Efficient for the Application.

References

Peter Biggs. A Survey of Object-Oriented Methods

http://www.smartdraw.com/resources/tutorials/shlaer-mellor-diagrams/#/resources/tutorials/Cla http://ooatool.blogspot.com/ Sally Shlaer and Stephen J. Mellor. The Shlaer-Mellor Method. 1996 Rodney C. Montrose. Object-Oriented Development Using the Shlaer-Mellor Method. 1995 Neil Lang. Shlaer-Mellor Object-Oriented Analysis Rules. 1993 http://www.smartdraw.com/resources/tutorials/shlaer-mellor-diagrams/ http://homepages.feis.herts.ac.uk/~comqmw/SDD/OO/shlaer-mellor/SH-MELL.html R.J. Wieringa and G. Saake. Formal Analysis of the Shlaer-Mellor Method: Towards a Toolkit of Formal and Informal Requirements Specification Techniques, 1996

Shlaer-Mellor Method

SHLAER, S. AND MELLOR, S. 1988. Object Oriented Systems Analysis: Modeling the World in Data. SHLAER, S. AND MELLOR, S. 1989. An object-oriented approach to domain analysis. SHLAER, S. AND MELLOR, S. 1992. Object Lifecycles: Modeling the World in States

Sign up to vote on this title
UsefulNot useful