Download presentation
Presentation is loading. Please wait.
Published byClaire Johnston Modified over 9 years ago
1
An Introduction to Programming and Object Oriented Design using Java 2 nd Edition. May 2004 Jaime Niño Frederick Hosch Chapter 0 : Introduction to Object Oriented Design
2
1May 2004NH-Chapter 0 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
3
2May 2004NH-Chapter 0 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.
4
3May 2004NH-Chapter 0 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.
5
4May 2004NH-Chapter 0 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.
6
5May 2004NH-Chapter 0 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
7
6May 2004NH-Chapter 0 Dealing with complexity: composition and abstraction composition: Process of building a system using simpler parts or components
8
7May 2004NH-Chapter 0 Dealing with complexity: composition and abstraction abstraction: Allows one to deal with system components with no worry about details of how components are constructed
9
8May 2004NH-Chapter 0 Dealing with complexity: composition and abstraction abstraction … process of ignoring details irrelevant to problem at hand emphasizes essential ones to abstract is to disregard certain differentiating details
10
9May 2004NH-Chapter 0 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
11
10May 2004NH-Chapter 0 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
12
11May 2004NH-Chapter 0 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
13
12May 2004NH-Chapter 0 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
14
13May 2004NH-Chapter 0 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.
15
14May 2004NH-Chapter 0 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.