Object Oriented Systems Design

Slides:



Advertisements
Similar presentations
Software Engineering Key design concepts Design heuristics Design practices.
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Object-Oriented Analysis and Design
Chapter 1 Object-Oriented System Development
Introduction To System Analysis and Design
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
Object-Oriented Development By Linda M. Northrop vol. 1, chapter 5, pp Presented by: Gleyner Garden EEL6883 Software Engineering II.
UML and Object Oriented Concepts
Introduction To System Analysis and design
The Design Discipline.
CIS 321—IS Analysis & Design
Chapter 2: Approaches to System Development
Object Oriented Analysis & Design
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Unified Modeling Language, Version 2.0
Introduction To System Analysis and Design
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Systems Analysis and Design in a Changing World, 3rd Edition
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Object Oriented Modeling David Li CTO, DigitalSesame.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Business Applications with Object-Oriented Paradigm (Modeling Concepts) Professor Chen School of Business Gonzaga University Spokane, WA
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Basic Characteristics of Object-Oriented Systems
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
UA. Unified Approach ( UA ) It combines best practices, methods process, guidelines & methodology (Rumbaugh, Booch and Jacobson) along with UML notations.
CHAP-1 OBJECT ORIENTED SYSTEM DESIGN (IT-703)
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
 The Object Oriented concepts was evolved for solving complex problems. Object- oriented software development started in the 1980s. Object-oriented design.
Principles of Programming & Software Engineering
Introduction to UML.
Unit - 3 OBJECT ORIENTED DESIGN PROCESS AND AXIOMS
Chapter 1: Introduction to Systems Analysis and Design
UNIT 1.
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Evolution of UML.
Modern Systems Analysis and Design Third Edition
CHAPTER 5 GENERAL OOP CONCEPTS.
Object Oriented Analysis & Design
Systems Analysis and Design With UML 2
Introduction to Design Patterns
Principles of Programming and Software Engineering
Systems Analysis and Design With UML 2
Object Oriented Systems Development
The Object Oriented Approach to Design
Modern Systems Analysis and Design Third Edition
Chapter 20 Object-Oriented Analysis and Design
Object-Oriented Systems Development Life Cycle (CH-3)
Object oriented analysis and design
Need for the subject.
Modern Systems Analysis and Design Third Edition
An Introduction to Software Architecture
Review CSE116 2/21/2019 B.Ramamurthy.
Chapter 1: Introduction to Systems Analysis and Design
What Is Good Software(Program)?
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CS 2704 Object Oriented Software Design and Construction
Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

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

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

AN OVERVIEW OF OBJECT ORIENTED SYSTEMS DEVELOPMENT CHAPTER - 1 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. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY

1.1 Introduction (contd….) Systems development consists of: Analysis Design Modeling Implementation Testing & Maintenance 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. 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. 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. 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. 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. SCHOOL Of COMPUTER ENGINEERING, KIIT UNIVERSITY

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.

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

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

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.

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

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

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

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

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

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

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

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

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

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