OOAD MATERIALS FOR BCA
UNIT - I
Syllabus: The
Object Model-The Evolution of the Object Model: The generations of programming
languages, the topology of Programming languages. Foundations of the Object
Model: Object Oriented Analysis, Object Oriented design, Object Oriented Programming.
Elements of the Object Model: Programming Paradigm(programming style), The
Major and Minor Elements of the Object Models, Abstraction, Encapsulation,
Modularity, Hierarchy(single inheritance, multiple inheritance, Aggregation),
Static and Dynamic Typing, Concurrency, Persistence.
The object
model:
Object-oriented technology is built on a sound
engineering foundation, whose elements we collectively call the object model of
development or simply the object model. The object model encompasses the principles
of abstraction, encapsulation, modularity, hierarchy, typing, concurrency, and
persistence.
The evaluation
of the Object Model:
In this section we will examine the evolution of the
tools of our profession to help us understand the foundation and emergence of
objectoriented technology.
The Generations
of Programming Languages
Wegner has classified some of the more popular
high-order programming languages in generations arranged according to the
language features they first introduced.
■ First-generation
languages (1954–1958):
FORTRAN I Mathematical expressions
ALGOL 58 Mathematical
expressions
Flowmatic Mathematical
expressions
■
Second-generation languages (1959–1961)
FORTRAN II Subroutines, separate
compilation
ALGOL 60 Block
structure, data types
COBOL Data
description, file handling
Lisp List
processing, pointers, garbage collection
■ Third-generation
languages (1962–1970)
PL/1 FORTRAN
+ ALGOL + COBOL
ALGOL 68 Rigorous
successor to ALGOL 60
Pascal Simple
successor to ALGOL 60
Simula Classes,
data abstraction
■ The generation gap (1970–1980)
C Efficient;
small executables
FORTRAN 77 ANSI
standardizatio
■ Object-orientation boom (1980–1990)
Smalltalk 80 Pure object-oriented
language
C++ Derived
from C and Simula
Ada83 Strong
typing; heavy Pascal influence
Eiffel Derived
from Ada and Simula
■ Emergence
of frameworks (1990–today)
Visual Basic Eased development of
the graphical user interface (GUI) for Windows applications
Java
Successor to Oak; designed for portability Python Object-oriented scripting language
J2EE Java-based framework for enterprise computing
.NET Microsoft’s
object-based framework
Visual C# Java competitor for
the Microsoft .NET Framework
Visual Basic .NET Visual
Basic for the Microsoft .NET Framework
Topologies of Programming languages:
The Topology of
First- and Early SecondGeneration Programming Languages
Let’s consider the structure of each generation of
programming languages. In below Figure, we see the topology of most first- and early
second-generation programming languages. By topology, we mean the basic
physical building blocks of the language and how those parts can be connected.
In this figure, we see that for languages such as FORTRAN and COBOL, the basic
physical building block of all applications is the subprogram (or the
paragraph, for those who speak COBOL).
·
Applications
written in these languages exhibit a relatively flat physical structure,
consisting only of global data and subprograms.
·
The
arrows in this figure indicate dependencies of the subprograms on various data.
During design, one can logically separate
different kinds of data from one another, but there is little in these
languages that can enforce these design decisions.
Comments