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

  1. Newsgroups: comp.object
  2. Path: sparky!uunet!mole-end!mat
  3. From: mat@uunet.uu.net!mole-end
  4. Subject: Thoughts on the Progression from SA/SD Models to OO Models
  5. Message-ID: <1992Jul25.190829.5508@uunet.uu.net!mole-end>
  6. Organization: :
  7. Date: Sat, 25 Jul 1992 19:08:29 GMT
  8. Lines: 121
  9.  
  10. In comparing the SA/SD models to the Object Model(s), I find that certain
  11. things in one set correspond to certain things in the other set in a
  12. straightforward way.  What may be more interesting are the correspondences
  13. that are absent.
  14.  
  15. A brief review on SA/SD.  During analysis (SA) three models are developed:
  16.  
  17.     The Data (or Information) Model, which is based on Entity-
  18.     Relationship (E/R) diagrams (or some equivalent).  E/R
  19.     diagrams describe the existential relationships between
  20.     entities that exist in the system.
  21.  
  22.     The Process Model, which is based on Data Flow Diagrams (DFDs).
  23.     DFDs describe the processing steps which use and create data,
  24.     the data which must be stored, and the data flow between steps
  25.     and between steps and data stores.
  26.  
  27.     The Dynamic (State) Model, which is based on some form of state
  28.     machine and which expresses the sequencing of processing steps
  29.     in response to various inputs.
  30.  
  31. During Structured Design, the three analysis models are abandoned in favor
  32. of a Structure Chart, which represents modules (generally corresponding to
  33. processes from the DFD) and synchronous, message-like communication between
  34. them.
  35.  
  36. Objects, Entities, and S.C. Modules
  37. ===================================
  38.  
  39. In the Object world, there is usually a Class-Relationship or
  40. Object-Relationship diagram depicting the existential relationships
  41. between them, and usually the Inheritance relationships as well.  This
  42. corresponds pretty closely to the E/R diagram of the data model.
  43.  
  44. There is also an Object-Communication diagram depicting the message
  45. communication between objects.  This corresponds more or less closely
  46. to the Structure Chart.  (There are differences; in some O-C models, input
  47. signals may occur in many places; in the S.C. input control flows enter at
  48. the top and input data flows at the bottom of the tree hierarchical S.C.)
  49.  
  50. But an Object can only communicate to an Object whose identity is known to
  51. it.  One Object can know another if
  52.  
  53.     a) the Known Object is global, or
  54.     b) the Knowing Object has a relationhip to the Known Object, or
  55.     c) another Known Object creates an acquiantanceship with the
  56.         Known Object (see Rumbaugh)
  57.  
  58. Case (a) is deprecated and can be ignored.  Case (c) creates short-term
  59. `shortcuts' across the relationships, but does not actually create new
  60. pathways.  Case (c) often involves temporary or temporal objects
  61. (`temporalities') which may not appear on the C-R diagram, but which
  62. could and perhaps ought to appear on a subordinate C-R diagram.
  63.  
  64. Thus the C-R diagram is a superset of the available communication pathways,
  65. and provides the framework on which the O-C diagram must lie.  In that,
  66. it corresponds to both the E/R Diagram and the Structure Chart.
  67.  
  68.  
  69.         E/R ====\
  70.         DFD     \\
  71.         S.M.     =====> C-R (O-C)
  72.             //
  73.         S.C.====/
  74.  
  75. Objects and Informational Clusters
  76. ==================================
  77.  
  78. Another view holds that the Object is a refinement of the Informational
  79. Cluster, which is a loosely defined `module' containing Entities and
  80. the Processes that manage them.  We can illustrate this viewpoint thus:
  81.  
  82.         E/R ====\
  83.         DFD ====\\
  84.         S.M.     \\===> C-R (O-C)
  85.  
  86.         S.C.
  87.  
  88. Integrating the Views
  89. =====================
  90.  
  91. If we simply overlay the correspondence diagrams of the two viewpoints,
  92. we get something this:
  93.  
  94.         E/R ====\
  95.         DFD ====\\
  96.         S.M.     =====> C-R (O-C)
  97.             //
  98.         S.C.====/
  99.  
  100. What's Left Out
  101. ===============
  102.  
  103. Notice that the Dynamic Model, represented by the State Machine, has
  104. no clear correspondence to the Object Model.
  105.  
  106. The SA/SD Dynamic Model tends to be unstable.  The smallest change in
  107. the DFD will upset the entire machine, resulting in wildly disproportionate
  108. changes in the State Machine.
  109.  
  110. For the OO, Schlaer and Mellor have attempted to produce stable state
  111. machines by identifying stable state-features in the problem.  It's an
  112. interesting approach; I'm not convinced that it is as valuable as Schlaer
  113. and Mellor make it out to be.  Nevertheless, it does not have any close
  114. correspondence with the SA/SD state machine, which is intimately tied to
  115. the structure of the Process Model.
  116.  
  117. Speculation
  118. ===========
  119.  
  120. It appears we need something better than the current S.M. approach, if
  121. only because the S.M. isn't well integrated into the other models.
  122. The hierarchical nature of most operations, combined with the need to
  123. tie relationships with temporalities to their operations, suggests that
  124. some combination of Warnier-Orr diagrams with Object-Communication
  125. Diagrams might do the job.
  126. -- 
  127.  (This man's opinions are his own.)
  128.  From mole-end                Mark Terribile
  129.  
  130.  uunet!mole-end!mat, Somewhere in Matawan, NJ
  131.