Download presentation
Presentation is loading. Please wait.
Published byAlbert Snow Modified over 6 years ago
1
Chapter 0 : Introduction to Object Oriented Design
2
The science of computing
Computer science is a science of abstraction – creating the right model for a problem and devising the appropriate mechanizable techniques to solve it. — A. Aho and J. Ullman 1/1/2019 Chapter 0
3
Objectives After studying this chapter you should understand the following: the nature of software systems; how abstraction and decomposition are used to deal with complexity in problems; the fundamental components of a program, data and functionality; objects, and object-oriented systems and their relationship to software systems in general. 1/1/2019 Chapter 0
4
Objectives Also, you should be able to:
identify basic components in complex structures; provide examples of abstraction levels from least abstract to more abstract; explain how composition and abstraction simplify the organization of a system; provide informal algorithms for common activities. 1/1/2019 Chapter 0
5
Nature of a software system
A software system is a temporary solution to a changing problem… with two fundamental characteristics: they are dynamic they are complex. 1/1/2019 Chapter 0
6
Dealing with complexity: composition and abstraction
Size of software system requires that … It must be broken down into manageable pieces It must be dealt with as a composite structure Its parts must interact together The more parts the more interaction System complexity is proportional to the number of parts 1/1/2019 Chapter 0
7
Dealing with complexity: composition and abstraction
- process of building a system using simpler parts or components 1/1/2019 Chapter 0
8
Dealing with complexity: composition and abstraction
Abstraction can deal with system components with no worry about details of how components are constructed Abstraction … process of ignoring details irrelevant to problem at hand emphasizes essential ones to abstract is to disregard certain differentiating details 1/1/2019 Chapter 0
9
Two aspects of a system: data and functionality
data – information program deals with data descriptions are fixed, individual data values may change each time program runs 1/1/2019 Chapter 0
10
Two aspects of a system: data and functionality
functionality – what the program does with data computation: a goal-directed sequence of actions performed by a processor algorithm: set of instructions describing pattern of behavior guaranteed to achieve a goal 1/1/2019 Chapter 0
11
Object-oriented systems
Use the Object Oriented approach for structuring systems Intended to produce systems that are ... composite modular built using abstraction organized around data 1/1/2019 Chapter 0
12
Object-oriented systems
Objects: abstractions used to describe the problem Functionality of system is distributed to the objects each object has algorithms to accomplish specific tasks 1/1/2019 Chapter 0
13
Summary Software systems are complex Software systems are dynamic
To address these difficulties … make extensive use of abstraction; build systems that are modular, and composite. 1/1/2019 Chapter 0
14
Summary To define a software system, we will include
a description of the data items to be manipulated by the system, and a collection of algorithms that provide the system’s functionality We adopt an object-based methodology that structures the system around the data 1/1/2019 Chapter 0
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.