home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / object / 3031 < prev    next >
Encoding:
Text File  |  1992-07-27  |  5.8 KB  |  128 lines

  1. Newsgroups: comp.object
  2. Path: sparky!uunet!projtech!sally
  3. From: sally@projtech.com (Sally Shlaer)
  4. Subject: Thoughts on the Progression from SA/SD Models to OO Models
  5. Message-ID: <1992Jul28.021455.3322@projtech.com>
  6. Organization: Project Technology, Inc., Berkeley, CA
  7. Date: Tue, 28 Jul 1992 02:14:55 GMT
  8. Lines: 118
  9.  
  10. I would like to submit a clarification to the posting by Mark Terribile on 27 July.
  11. The posting does not identify the OO method that is being discussed,
  12. and may therefore be confusing to some readers.
  13. I am not intimately familiar with all OO methods, but
  14. can comment on Shlaer-Mellor OOA, the OMT of Rumbaugh et al.,
  15. and the Coad-Yourdon method.
  16.  
  17. > In the Object world, there is usually a Class-Relationship or
  18. > Object-Relationship diagram depicting the existential relationships
  19. > between them, and usually the Inheritance relationships as well.  This
  20. > corresponds pretty closely to the E/R diagram of the data model.
  21. Quite right.  The Object-Relationship diagram is called an
  22.     Information Model in Shlaer-Mellor
  23.     Object Model in Rumbaugh.
  24.     Class-and-Object model in Coad-Yourdon
  25.  
  26. > There is also an Object-Communication diagram depicting the message
  27. > communication between objects.
  28.  
  29. There is an Object Communication Model in Shlaer-Mellor OOA.  The
  30. Object Communication Model depicts asynchronous communication
  31. between objects.  There is also a Object Access Model in Shlaer-Mellor.
  32. The OAM depicts *synchronous* communication between objects.
  33.  
  34. There is no model corresponding to the Object Communication Model or 
  35. Object Access Model in the Rumbaugh method.  There is an informal
  36. sketch called the Event Trace that presents a subset of such information,
  37. but this is described more as an initial mind-jogger for
  38. the analyst, and not as a work product for the method.
  39.  
  40. There is no model in Coad-Yourdon that shows message
  41. communication between objects.
  42.  
  43. > Notice that the Dynamic Model, represented by the State Machine, has
  44. > no clear correspondence to the Object Model.
  45. In Shlaer-Mellor a state machine corresponds to an object
  46. or a relationship on the Information Model.
  47.  
  48. A special "Assigner" state model is used to manage relationships
  49. that express competition or contention.
  50.  
  51. In Rumbaugh, there is one state model for each object appearing
  52. on the Object Model.  Rumbaugh does not have state models for
  53. relationships, and does not propose a scheme for dealing with 
  54. contention.
  55.  
  56. Coad-Yourdon allow you to have a state model for an object
  57. from the Classes-and-Instances diagram.
  58. This is presented with little detail, since it is described as a
  59. "secondary strategy" in this method.
  60.  
  61.  
  62. > For the OO, Schlaer and Mellor have attempted to produce stable state
  63. > machines by identifying stable state-features in the problem.  It's an
  64. > interesting approach; I'm not convinced that it is as valuable as Schlaer
  65. > and Mellor make it out to be.  Nevertheless, it does not have any close
  66. > correspondence with the SA/SD state machine, which is intimately tied to
  67. > the structure of the Process Model.
  68.  
  69. Correct.  In SA/SD (here I assume you mean Ward-Mellor or Hatley-Pirbhai)
  70. the state machines are used to turn the processes on and off.  As Mark
  71. points out (earlier in the posting), this kind of state machines are
  72. tightly coupled with the process models -- they are unstable together,
  73. if you will (less so in Ward-Mellor, but the point is well taken.)
  74.  
  75. Shlaer_Mellor state machines model the lifecycles of objects.
  76. These state machines are much more stable, since they are based on the
  77. semantics of the problem, and are not connected with any kind of
  78. arbitrary decision an analyst must make -- here I am referring to
  79. the kinds of arbitrary decisions one makes in doing a functional
  80. decomposition in the classical DeMarco SA.
  81.  
  82.  
  83. > It appears we need something better than the current State Model approach, if
  84. > only because the State Model isn't well integrated into the other models.
  85.  
  86. The three methods (Shlaer-Mellor, Rumbaugh, and Coad-Yourdon exhibit very
  87. different degrees of integration, as follows:
  88.  
  89. In Shlaer-Mellor, there are state models for each object and
  90. relationship on the Information Model.
  91. The actions of the State Models are then broken down into
  92. elementary processes (no functional decomp -- the objects and actions
  93. have already partitioned the problem along object lines).
  94. Each action is depicted on a separate small Action Data Flow
  95. Diagram.
  96. There are strong guidelines for partitioning the
  97. action into the processes, and rules by which the processes
  98. are assigned to the objects on the Information Model.  
  99. In addition, all the data on the Action DFD must correspond
  100. to the attributes shown on the Information Model.
  101. So there is a very high degree of integration.  In fact,
  102. there is a sufficient degree of definition and integration
  103. that **the analysis models are entirely executable**.
  104.  
  105. In the Rumbaugh method, there are state models for each object
  106. (but not relationship) on the information model.  The Process
  107. Model is built by successive decomposition, so you get a deeply layered
  108. set of DFDs.  I did not find guidelines for decomposing the 
  109. processes or associating them with objects, but the processes do
  110. turn into methods on the Object Model.
  111. It is asserted that the State Models in this method tell you
  112. when the processes run, but I have been unable to work out exactly
  113. what the rules are on that.  Perhaps someone else out there in
  114. netland can explain that aspect of the integration.
  115.  
  116. Coad-Yourdon does not have a Process Model.  They
  117. encourage the analyst to identify the required methods and
  118. put them on the Classes-and-Instances diagrams, but don't
  119. provide a lot of guidance as to how to do that.  They do show
  120. one state model in the book, but it isn't discussed much --
  121. only two pages, and it doesn't appear in the index, either.
  122. So this method appears to have a bit less in the way of
  123. integration.
  124.  
  125. Sally Shlaer         sally@projtech.com
  126.