Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object Oriented Systems Design

Similar presentations


Presentation on theme: "Object Oriented Systems Design"— Presentation transcript:

1 Object Oriented Systems Design
School of Computer Engineering, KIIT University.

2 Some Great Thoughts !! “Measuring programming progress by lines of code is like measuring aircraft building progress by weight.” – Bill Gates “Before software can be reusable it first has to be usable.” – Ralph Johnson “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -C.A.R. Hoare Who gave QUICKSORT & DINING PHILOSOPHERS PROBLEM SCHOOL Of COMPUTER ENGINEERING KIIT UNIVERSITY

3 AN OVERVIEW OF OBJECT ORIENTED SYSTEMS DEVELOPMENT
CHAPTER - 1 SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY

4 1.1 Introduction Software development is dynamic and always undergoes major changes. Vast number of Tools & Methodologies are available for systems development. Systems Development refers to all activities that goes into producing an information systems solution. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY

5 1.1 Introduction (contd….)
Systems development consists of: Analysis Design Modeling Implementation Testing & Maintenance SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY

6 1.1 Introduction (contd….)
A Software development methodology is a series of processes that, if followed can lead to the development of an application. The s/w processes describe how the work is to be carried out to achieve the goal based on system requirements. Each process consists of a number of steps and rules that should be performed during development. Unified Approach is the methodology used in OOSD. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY

7 1.2 Two Orthogonal Views of the Software
OOSD Methodology: Views software in the form of objects which are discrete and grouped. OOSD focuses on the object, which combines data and functionality Primary focus is on data. Data security is given utmost attention. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY

8 1.2 Two Orthogonal Views of the Software (contd….)
Traditional Development Technique: Views software as collection of programs or functions and isolated data. Algorithm + Data Structure = Program It focuses on the functions of the system – What is it doing ? Primary focus is on function. Data is free flowing. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY

9 1.3 OOSD Methodology OOSD is a way to develop software by building self-contained modules or objects that can be easily replaced, modified and reused. OOSD encourages views of the world as a system of cooperative and collaborating objects. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY

10 1.3 OOSD Methodology (contd….)
In an O-O environment software is a collection of discrete objects that encapsulate their data as well as the functionality, to model real-world entity. In an O-O system everything is an object and each object is responsible for itself. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY

11 OO APPROACH We live in a world of objects
Object-Oriented view is an abstraction that models the world in ways that help us to better understand and navigate it OO approach was first proposed in the late 1960s As time passes, object technologies are replacing classical software development approaches. Why? Object technologies lead to reuse, OO software is easier to maintain, to adapt, and to scale.

12 OO Paradigm For many years, the term OO was used to denote a software development approach that used one of a number of OO programming languages(e.g. Ada 95, C++, Eiffel, Smalltalk) Today, the OO paradigm encompasses a complete view of software engineering Although any one of process models, could be adapted for use with OO, the best choice would be an evolutionary process model

13 OO Concepts Classes and class hierarchies Objects Messages Instances
Inheritance Abstraction and hiding Objects Attributes Methods Encapsulation Polymorphism Messages

14 object-orientation Using object-orientation as a base, we model a system as a number of objects that interacts. Object-oriented Methods enable us to create sets of objects that work together synergistically to produce software that better model their problem domains than similar systems produced by traditional techniques.

15 object-orientEd METHODS
A technique for system modelling A technique to manage complexity inherent in analysis, design, and implementation For the analysis and design of system Provide integrated view of hardware and software Provide a methodology for system development

16 1.4 Why an Object Orientation ?
O-O systems are : Easier to evolve (adapt to changing requirements) Easier to maintain Directly related to reality - semantic gap More robust & promote greater design & Code reuse Systems can be developed more rapidly at a lower cost SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY

17 1.4 Why an Object Orientation ? (contd….)
Reasons why object orientation works: Higher level of abstraction. (At object level) Seamless transition among different phases of software development. O-O uses same language like UML(Unified Modeling Language) to talk about all phases of software development. It reduces complexity, redundancy, & creating a robust system. Encouragement of good programming technique. & Promotion of reusability. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY

18 1.5 Overview of the UNIFIED APPROACH
The Unified Approach(UA) is a methodology for software development The UA is based on methodologies by Grady Booch, Rumbaugh & Ivar Jacobson, tries to combine the best practices, processes & guidelines along with OMG’s (Object Management Group’s) UML. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY

19 1.5 Overview of the UNIFIED APPROACH (contd….)
The heart of UA is Jacobson’s use-case. Use case represents a typical interaction between a user and a computer system to capture the user’s goals and needs. This book of OOSD uses a Layered Architecture(LA) to develop applications. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY

20 1.5 Overview of the UNIFIED APPROACH (contd….)
LA is an approach to software development that allows us to create objects, that represents tangible elements of the business, independent of how they are represented to the user through an interface or physically stored in a database. Layered Approach consists of: View or UI (User Interfaces) Layer Business Layer Access Layer SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY

21 Goals for OOSD The software development process
Building high-quality software Object-oriented systems development Use-case driven systems development Prototyping SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY

22 Advantages of Object-Oriented Development
Code and design reuse Increased productivity Ease of testing (?) and maintenance Better understandability Elegant design: Loosely coupled, highly cohesive objects: Essential for solving large problems. SCHOOL Of COMPUTER ENGINEERING KIIT UNIVERSITY

23 Advantages of Object-Oriented Development
Initially incurs higher costs After completion of some projects reduction in cost become possible Using well-established OO methodology and environment: Projects can be managed with 20% -- 50% of traditional cost of development. SCHOOL Of COMPUTER ENGINEERING KIIT UNIVERSITY

24 The Journey of OOSD begins....
SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY


Download ppt "Object Oriented Systems Design"

Similar presentations


Ads by Google