Hello,
Your line of questions seem to be coursework related, so I'll direct
your answers along the same lines. At the University of Alberta, one
of the Computer Engineering courses is "Principles of Software
Implementation", and they discuss this fine distinction between two
terms at length of a lecture. The notes for this lecture are online,
and it is linked below. I have quoted the relevant parts though, so
you can see at a glance what the difference is.
Abstraction is:
"A view of a problem that extracts the essential information relevant
to a particular purpose and ignores the remainder of the information."
(IEEE, 1983).
Information Hiding is:
"The technique of encapsulating software design decisions in modules
in such a way that the module's interfaces reveal little as possible
about the module's inner workings; thus each module is a 'black box'
to the other modules in the system." (IEEE, 1983)
Abstraction vs. Information Hiding:
Abstraction can be (and often is) used as a technique for identifying
which information should be hidden. For example, in functional
abstraction we might say that it is important to be able to add items
to a list, but the details of how that is accomplished are not of
interest and should be hidden. Using data abstraction, we would say
that a list is a place where we can store information, but how the
list is actually implemented (e.g., as an array or as a series of
linked locations) is unimportant and should be hidden. (Berard, 1991)
For more detail and bibliography from which these quotes are taken,
please reference the full Powerpoint slide show linked at the bottom.
Search Strategy:
"abstraction vs. information hiding" on google:
://www.google.com/search?q=%22abstraction+vs.+information+hiding%22
Additional Links:
"A Closer Look At Design" Powerpoint slide show:
http://www.ee.ualberta.ca/~charmi/Courses/2001/CMPE210W2001/Restricted/A%20Closer%20Look%20at%20Design.ppt
Thank you for the opportunity to answer your question, if you require
more information, please clarify the question, or if you find this
answer satisfactory, please feel free to rate it. Thank you!
skermit-ga |