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 MethodEach 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 DomainUse of Domain Chart to depict these domains and their relationship.
Shlaer-Mellor MethodGeneral 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 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 MethodAnalyze 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 Shlaer- Mellor OOA.
Structure of the primary models of S-M Object- Oriented Analysis
Shlaer-Mellor MethodObject 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 MethodBuilding 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 MethodValidation 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