CSC102 - Top-Down Design, Object Oriented Design-1
CSC102 - Top-Down Design, Object Oriented Design-1
FACULTY OF COMPUTING
DEPARTMENT OF COMPUTER SCIENCE
ALGORITHM DEVELOPMENT METHODOLOGIES: TOP-DOWN DESIGN, OBJECT ORIENTED DESIGN
BY:
ISA, ADAM MUHAMMAD
Email: [email protected]
TOP-DOWN DESIGN, OBJECT-ORIENTED DESIGN
TOP-DOWN-DESIGN
• Top-down design is a braking down a system into small sub-system
and breaking these sub-system down into smaller sub-systems until
each sub-system performs one task.
• This is a method of breaking down a problem into smaller problems.
• Doing this allows several programmers to work on different sub-
system; thus making the design process more efficient.
TOP-DOWN-DESIGN
In older high level languages (like C), data items, data structures, programming constructs, and
algorithms were all parts of the language. The keywords and identifiers formed a long list of
unrelated commands. This could be quite confusing, because a procedure name could look like a
variable name. From it's beginning as a development language for the Unix operating system in
the early 1970’s, C grew into a confusing collection of data type and function identifiers with
very little structure.
A decade later, it was rationalized with the creation of C++ by Bjarne Stroustrup. C++ extended
C by adding classes and objects. but it retained all of the C commands, so programs were still
complex and confusing. but the availability of classes and objects in C++ made it the preferred
language for developers in the 1980's and enabled long-term development of software projects
like Microsoft windows, Ms office, and other large, complex applications.
Between 1991 and 1995, James Gosling and a group of sun programmers created Java, which is a
"pure" object-oriented programming language. In Java everything (almost) is a class or an object.
Java's big advantages over C++ :
• Java is cross-platform, so developers can write one program and it runs on windows, Linux, the Mac,
and other platforms - this is not true for C++.
• Java has a very small set of standard keywords (under 100 compared to many hundreds for C++).
everything else is classes and objects, so programs are easier to read and modules (classes) are widely
re-usable
• Java was created with web programming facilities in mind, and is one of only a few languages with
these facilities
• Java is "safer" than C++, because it no longer contains lower level commands (like C). The memory
management in Java is automated (with automatic garbage collection), and low level pointer
commands (memory allocation and deallocation) are no longer permitted. faulty memory-
management is responsible for many of the bugs in C++ based software.
WHAT IS OBJECT ORIENTED COMPUTING?