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

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