Monday

Abstraction

  • Abstraction is a tool that permits a designer to consider a component at an abstract level without worrying about the details of the implementation of the component.
  • An abstraction of a component describes the external behavior of that component without bothering with the internal details that produce the behavior.
  • Abstraction is an indispensable part of the design process and is essential for problem partitioning.
  • There are two common abstraction mechanisms for software systems:
        - Functional abstraction, a module is specified by the function it performs.
  • For example, a module to compute the log of a value can be abstractly represented by the function log.
  • Similarly, a module to sort an input array can be represented by the specification of sorting.
       - Functional abstraction is the basis of partitioning in function-oriented approaches. The decomposition of the system is in terms of functional modules.

       - Data abstraction, any entity in the real world provides some services to the environment to which it belongs.

       - Data is not treated simply as objects, but is treated as objects with some predefined operations on them. The operations defined on a data object are the only operations that can be performed on those objects.

       - Data abstraction forms the basis for object-oriented design.

2 comments:

  1. Navigating through the shadowy lands of Lordran feels like uncovering secrets buried in time. The Dark Souls Map reveals paths you never noticed before, making each journey feel brand new.

    ReplyDelete