Title: The Shlaer Mellor Object Orientated Methodology
1The Shlaer Mellor Object Orientated Methodology
2Background
- Sally Shlaer
- Stephen L. Mellor
- Produced the Shlaer-Mellor Method through
experience gained while developing computer
systems in the 1980s - It is designed to aid engineers in modelling the
requirements of the system using a formal and
structured manor
3Working outside your area of expertise
- A programmer is generally not an expert in the
proposed system - To implement efficiently, a programmer must
become an expert in the real-time system
4Solution
- Firstly, identify the objects involved within the
system - An object is an abstraction of a real world
thing - Class of PASSENGER AIRCRAFT
- Used to make instances of PASSENGER AIRCRAFT
5Solution Cont.
- Identify the attributes
- An attribute is a abstraction of a
characteristic possessed by all instances of an
object - Shlaer, Mellor (1988) Object-Oriented Systems
Analysis Modeling the World in Data Yourdon
Press
Aircraft Aircraft ID Name No. of
Passengers Speed
6Solution Example Objects
- Aircraft
- Aircraft ID
- Pilot ID (R)
- Name
- No. of Passengers
- Speed
-
Pilot Pilot ID Name Licence No
Is flown by
- This will help to structure the learning process
for the programmer by identify the areas that
need to be understood
7Multiple Vocabularies
- Discrepancies within vocabulary definitions
between project teams. - an order in the Shipping Department is quite
different from an order in sales -
- Shlaer, Mellor (1988) Object-Oriented Systems
Analysis Modeling the World in Data Yourdon
Press
8Solution
- The Shlaer Mellor method controls this
misinterpretation by producing an Object
Specification Document. - This is produced using three sets of stringent
rules including - Description Guidelines
- Domains
- Naming conventions
9Solution Object Descriptions
- Object description is a short informative
statement describing the objects role, this must
include - Inclusion Criteria
- Exclusion Criteria
- Context of Object
- Background Information.
10Solution - Domains
- A domain is the restriction on an attribute and
must conform to one of the following - enumeration domain
- citation domain
- acceptance rule
- range domain
- Same As domain
11Solution Naming Conventions
- The naming of objects within the model should
remain constant with the real world objects.
These must conform to one of the following - Common names
- Strong names
- Precise names
- Names base on essential nature
12Changing information
- All instances of dynamic objects must be
accommodated for. -
- this pattern of change is a reality that needs
to be accommodated in our software development
process - Shlaer, Mellor (1988) Object-Oriented Systems
Analysis Modeling the World in Data Yourdon
Press
13Solution Modelling Relationships
- Shlaer-Mellor method deals with this by using the
following relationships. - There are three main types of relationships
- One-to-One (11)
14Solution Modelling Relationships
- One-to-Many (1M)
- Many-to-Many (MM)
15Solution Correlation
16Solution - Conditional Relationships
- Not all instances have to partake in the
relationship
a
b
a
a
b
a
b
17Solution Supertypes Subtypes
- Aircraft
- Aircraft ID
- Name
- No. of Passengers
- Speed
-
is a
Helicopter Helicopter ID Rotor
Diameter Vertical Lift
Jet Fighter Jet Fighter ID Armament Ejector
seat model
Jumbo Jet Jumbo Jet ID Luggage Toilets
18Uncertainty
- The lack of understanding of system elements that
you are expected to know. - If a programmer is uncertain about aspect of the
system, they wont ask for clarification in-case
he/she is expected to know this information.
19Solution Object Testing
- By testing the object there should be no
uncertainty in the description of the objects or
attributes. This method has been successful - Team Members also found that the OOA models made
it easier to communicate with the various
developers and within other groups and users of
the system - Use In the Real World online Available
- (www.nrt.se/nrt/uml/WhitePapers/UsedInTheRealWorld
.pdf) 1999
20Solution - Object Testing
- Object Testing includes
- Uniformity test
- More-than-a-name test
- The OR test
- More-than-a-list test
21Solution Attribute Testing
- Attribute testing is broken down into three
procedurals. - First rule One instance of an object has one
value for each attribute - Second rule Attributes must contain no
internal structure - Third rule Each attribute that is not part of
an identifier must represent a characteristic of
the instance named by the identifier and not a
characteristic of some other non-identifier
attribute
22Faulty Expert Knowledge
- This problem occurs when all the information on
the real-time system is collected from one source
- The identifying and testing of the objects in the
Object Specification Document and Information
Structure Diagram ensures that this will not
happen
23Solution - Information Structure Diagram
- Order
- Order ID
- Date
- Delivery Date
- Dispatch Date
- Total
-
Product Product ID Name Price
Customer Customer ID Name Address Payment
Details
Aircraft Aircraft ID Name No. of
Passengers Speed
Trade Customer TC ID Licence VATcode
Retail Customer RC ID Loyalty Points
24Shlaer Mellor Method
- Thank-You for listening
- If there are any questions please ask them now.