home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / object / 3362 < prev    next >
Encoding:
Internet Message Format  |  1992-09-01  |  2.8 KB

  1. Path: sparky!uunet!sun-barr!cs.utexas.edu!swrinde!gatech!hubcap!ncrcae!ncrlnk!psinntp!wrldlnk!usenet
  2. From: p00058@mail.psi.net (Ronald C. Schultz)
  3. Newsgroups: comp.object
  4. Subject: Object-Oriented Methodologies - Class Specifications
  5. Message-ID: <715276480.1.p00058@mail.psi.net>
  6. Date: 31 Aug 92 12:56:09 GMT
  7. Sender: usenet@worldlink.com
  8. Organization: Berard Software Engineering, Inc.
  9. Lines: 53
  10. Nntp-Posting-Host: 127.0.0.1
  11. X-Mailer: PSILink (3.01)
  12.  
  13. I am continuing work on completing a methodology comparison of ten OO 
  14. analysis and design methodologies, and I am now in the process of 
  15. comparing methods for issues such as object coupling.
  16.  
  17. Object Coupling - In order to better support reuse, objects should be as 
  18. decoupled as possible from any specific application, so that they may be 
  19. reused in as many applications as possible.  In Rumbaugh's OMT text he 
  20. provides a class specification for a circle on page 290.  I quote:
  21.  
  22. ---- start of quote -------------------------
  23. Class Description
  24. Class Name: Circle
  25. Version: 1.0
  26. Description: Ellipse whose major and minor axes are equal
  27. Super Classes: Ellipse
  28. Features:
  29.     Public Attributes:
  30.         center: Point - location of its center
  31.         radius: Real - its radius
  32.     Public Methods: 
  33.         draw (Window) - draws a circle in the window
  34.         intersectLine (Line): Set of Points - finds the 
  35. intersection of a line and a circle, returns set 0-2 points
  36.         area(): Real - calculates area of circle
  37.         perimeter(): Real - calculates circumference of circle
  38.     Private Methods: none
  39. ---- end of quote --------------------------
  40.  
  41. This class specification screams of unnecessary object coupling.  Why, 
  42. for instance, should a circle need to be aware of the existence of 
  43. lines? or of the existence of windows?  To me, this class violates the 
  44. very concept of a circle as defined in any geometry text.    
  45.  
  46. My question - can someone please explain to me why they feel this class 
  47. is legitimate, (or illegitimate for that matter).  Why isn't the draw 
  48. operation and intersectLine operation more appropriately assigned to the 
  49. drawing application itself, rather than the circle?  Rumbaugh's OMT as 
  50. well as some other OO methods seem to directly oppose long-term reuse of 
  51. the method's analysis and design products.  Are others encountering the 
  52. same issues?
  53.  
  54. Thanx for any assistance.
  55.  
  56. ------------------------------------------------------------------------------
  57. Ron Schultz 
  58. Berard Software Engineering, Inc.
  59. Columbus, Ohio Office                   Headquarters
  60. 5634 Claire Court                       101 Lakeforest Blvd.
  61. Dublin, Ohio 43017-2440                 Gaithersburg, Md.  20877
  62. (614) 798-0295 Phone                    (301) 417-9884 Phone
  63. (614) 798-0296 FAX                      (301) 417-0021 FAX
  64. ron@bse.com                             info@bse.com
  65. ------------------------------------------------------------------------------
  66.