In this paper, we define a number of tools that we think belong to the core of any toolkit for requirements engineers. The tools are conceptual and hence, they need precise definitions that lay down as exactly as possible what their meaning and possible us
ict ourselves to a formal analysis of the subsystem model. Whenever we speak of "the system" below we mean the subsystem that is modelled.3. The Information Model 3.1. Structure2. The Deliverables of the Shlaer-Mellor MethodThe Shlaer-Mellor method divides the system under development into domains that each pertains to one subject matter. Each domain is inhabited by its own set of objects that behave according to a closely related set of rules and policies. For example, two domains of a railroad control system would be railroad operations and user interfaces. Domains are further divided into subsystems such that each object exists in exactly one subsystem and never moves between subsystems. Example subsystems in the domain of railroad operations are train dispatch and track management. Each subsystem is a collection of interacting objects. For each subsystem, the following models are produced.The information model in OOA uses a variant of the Entity-relationship (ER) notation. Figure 1 gives an example of the notation used in the information model. 9 Each box in the diagram represents an object class. In OOA this is called an object and instances are called object occurrences. In order to reduce the gap with other methods and prepare for the addition of this notation to our toolbox, we talk of object classes and call occurrences objects. 9 Each object class has an identifier, defined in OOA as a collection of one or more attributes whose combination always has a unique value for each instance of the class. These attributes are marked by an asterisk. 9 All relationships in the information model are binary. They are represented by bidirectional arrows. Cardinalities are one-one, many-one, or many-many, with mandatory or conditional participation on either or on both sides. A single arrowhead on one side of an arrow means exactly 1 if that side has mandatory participation, and it means 0 or 1 if that side has conditional participation. A double arrowhead on one side of an arrow means >_ 1 if that side has1. The information model shows the classes of objects that make up the subsystem, and the relationships between these object classes. The information model uses an extension of the ER notation. 2. A state model represents the behaviour of all instances of a class. State models are only specified for classes whose instances have interesting behav-Formal Analysis of the Shlaer-Mellor Method109I1. HOME [H) * Address * Unit at address9 Square feet 9 Property tax feeowns/ / / f2. ~OWNER (HO)* Owner" name,Address ownedby3. OWNERSHIP (0) * Address (R1} * Unit at address [RI]* Owner name [t:11) , Date purchasedFig 1. An associative object class. [Object Lifecycles: Modeling the World in States by Schlaer & Melior 9 1991.Reprinted by permission of Prentice-Hall Inc., Upper Saddle River, NJ.]mandatory participation and it means _ _ 0 if it has _ conditional participation. Default participation is mandatory. Conditional