1 / 24

O bject O riented S ystems D esign

School of Computer Engineering , KIIT University. O bject O riented S ystems D esign. “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

nbordner
Download Presentation

O bject O riented S ystems D esign

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. School of Computer Engineering, KIIT University. ObjectOriented Systems Design

  2. “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 SCHOOL Of COMPUTER ENGINEERING KIIT UNIVERSITY Some Great Thoughts !! Who gave QUICKSORT & DINING PHILOSOPHERS PROBLEM

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

  4. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY 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.

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

  6. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY 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.

  7. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY 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.

  8. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY 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.

  9. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY 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.

  10. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY 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.

  11. 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. OO APPROACH

  12. 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 OO Paradigm

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

  14. 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. object-orientation

  15. 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 object-orientEd METHODS

  16. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY 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

  17. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY 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.

  18. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY 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.

  19. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY 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.

  20. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY 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

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

  22. 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 Advantages of Object-Oriented Development

  23. 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 Advantages of Object-Oriented Development

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

More Related