Definition About Object Oriented Programming, Design, and Analysis

Object-oriented Programming

What, then, is object-oriented programming (OOP)? We define it as follows:

Object-oriented programming is a method of implementation in which programs are organized as cooperative collections of objects, each of which represents an instance of some class, and whose classes are all members of a hierarchy of classes united via inheritance relationships.

There are three important parts to this definition: (1) Object-oriented programming uses objects, not algorithms, as its fundamental logical building blocks (the “part of” hierarchy we introduced in Chapter 1); (2) each object is an instance of some class; and (3) classes may be related to one another via inheritance relation-ships (the “is a” hierarchy we spoke of in Chapter 1). A program may appear to be object-oriented, but if any of these elements is missing, it is not an object-oriented program. Specifically, programming without inheritance is distinctly not object-oriented; that would merely be programming with abstract data types.

About Object Oriented in Programming

By this definition, some languages are object-oriented, and some are not. Strous-trup suggests that “if the term ‘object-oriented language’ means anything, it must mean a language that has mechanisms that support the object-oriented style of programming well. . . . A language supports a programming style well if it provides facilities that make it convenient to use that style. A language does not support a technique if it takes exceptional effort or skill to write such programs; in that case, the language merely enables programmers to use the techniques” [33]. From a theoretical perspective, one can fake object-oriented programming in non-object-oriented programming languages like Pascal and even COBOL or assembly language, but it is horribly ungainly to do so.

Object-Oriented Design

The emphasis in programming methods is primarily on the proper and effective use of particular language mechanisms. By contrast, design methods emphasize the proper and effective structuring of a complex system. What, then, is object-oriented design (OOD)? We suggest the following:

Object-oriented design is a method of design encompassing the process of object-oriented decomposition and a notation for depicting both logical and physical as well as static and dynamic models of the system under design.

There are two important parts to this definition: object-oriented design (1) leads to an object-oriented decomposition and (2) uses different notations to express different models of the logical (class and object structure) and physical (module and process architecture) design of a system, in addition to the static and dynamic aspects of the system.

The support for object-oriented decomposition is what makes object-oriented design quite different from structured design: The former uses class and object abstractions to logically structure systems, and the latter uses algorithmic abstractions. We will use the term object-oriented design to refer to any method that leads to an object-oriented decomposition.

Object-oriented Analysis

The object model has influenced even earlier phases of the software development lifecycle. Traditional structured analysis techniques, best typified by the work of DeMarco [35], Yourdon [36], and Gane and Sarson [37], with real-time extensions by Ward and Mellor [38] and by Hatley and Pirbhai [39], focus on the flow of data within a system. Object-oriented analysis (OOA) emphasizes the building of real-world models, using an object-oriented view of the world:

Object-oriented analysis is a method of analysis that examines requirements from the perspective of the classes and objects found in the vocabulary of the problem domain.

How are OOA, OOD, and OOP related? Basically, the products of object-oriented analysis serve as the models from which we may start an object-oriented design; the products of object-oriented design can then be used as blueprints for completely implementing a system using object-oriented programming methods.

Subscribe to receive free email updates:

3 Responses to "Definition About Object Oriented Programming, Design, and Analysis"

  1. Informasi yang sangat bagus dan berguna. Ditunggu untuk informasi berikutnya. Thanks gan

    Silahkan berkunjung di intanqq

    ReplyDelete
  2. Informasi yang sangat bagus dan berguna. Ditunggu untuk informasi berikutnya. Thanks gan

    Silahkan berkunjung di intanqq

    ReplyDelete
  3. kristalpoker merupakan Situs Judi Bandar Poker Dan Bandar sakong Terpercaya Di Indonesia

    kristalpoker menyediakan 7 GAME dalam 1 Web dan hanya dengan 1 ID,

    Game yang di sediakan oleh kristalpoker :
    - Sakong (New Game)
    - Bandar Poker (New Game)
    - BandarQ (Hot Game)
    - Poker
    - Domino
    - Capsa Online
    - AduQ

    Kelebihan Bermain Di kristalpoker :
    - BONUS TURNOVER 0.3% SETIAP HARI
    - BONUS XTRA TURNOVER SETIAP MINGGUNYA
    - BONUS REFERAL 10% +10% SEUMUR HIDUP!!
    - MIN DEPO IDR 15.000 dan Proses super cepat 1 menit.
    - Bisa dimainkan di Smartphone Versi Android dan Iphone.

    Info Lebih Lanjut Bisa Hub kami Di

    pin bbm : 2AE18F26
    facebook : kristalpoker99@gmail.com
    phone : +855969692742
    we chat : kristalpoker

    ReplyDelete

Silahkan berikan komentar anda dengan dipostingan ini. Mimin pasti akan mengunjungin balik blog kalian. Salam blogger !