[comp.lang.ada] Object oriented programming

4526P@NAVPGS.BITNET ("LT Scott A. Norton, USN") (12/17/86)

Thank you, Larry, for the clear explaination of OOP.  I would like to add
a few comments to address the design phase that preceeds OOP. These comments
are based on the work I've read of Dr. David Parnas.
   To enable OOP to "tend to produce programs that need little change or can
be easily changed," the objects that are defined should encapsulate those
aspects of the project likely to change.  Parnas calls these details the
secrets of the module that defines the objects.  Then, when a requirement
changes, the program change is isolated to that module.
   For object-oriented programming to be totally effective, the design
of the system must explicitly consider what design decisions are likely
to change, and use that as the criterion to define objects.  As Parnas found
in his study of the A-7 aircraft's tactical program, this design requires
significant amounts of research, and should not be a decision that the
programmer makes sitting at a terminal.  The designers must invest extra time
before coding starts.

LT Scott A. Norton, USN
Naval Postgraduate School
Monterey, CA 93943-5018
<4526P@NAVPGS.BITNET>