1 / 14

Chapter 0 : Introduction to Object Oriented Design.

Chapter 0 : Introduction to Object Oriented Design. 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. Objectives.

chere
Download Presentation

Chapter 0 : Introduction to Object Oriented Design.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 NH-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. NH-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. NH-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. NH-Chapter 0

  6. Dealing with complexity: composition and abstraction • Size of software system • must be broken down into manageable pieces • Must be dealt with as a compositestructure. • Parts must interact together. • The more parts the more interaction. • System complexity is proportional to the number of parts. NH-Chapter 0

  7. Dealing with complexity: composition and abstraction • composition: process of building a system using simpler parts or components NH-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. NH-Chapter 0

  9. Two aspects of a system: data and functionality • data –information program deals with • data descriptions are fixed, • individual data values change each time program runs NH-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. NH-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. NH-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. NH-Chapter 0

  13. Summary • Software systems are complex; and • Systems change over time. • To address these difficulties, • make extensive use of abstraction; • build systems that are modular, and composite. NH-Chapter 0

  14. Summary • To define a software system, include • a description of the data items to be manipulated by the system, and • a collection of algorithms that provide the system’s functionality. • The object-based methodology we adopt structures the system around the data. NH-Chapter 0

More Related