Presentation is loading. Please wait.

Presentation is loading. Please wait.

CHAP-1 OBJECT ORIENTED SYSTEM DESIGN (IT-703)

Similar presentations


Presentation on theme: "CHAP-1 OBJECT ORIENTED SYSTEM DESIGN (IT-703)"— Presentation transcript:

1 CHAP-1 OBJECT ORIENTED SYSTEM DESIGN (IT-703)
Text Books: 1. Object Oriented System Development Ali Bahrami (TMH) 2. Object-Oriented Modeling & Design with UML Blaha & Rambaugh (Pearson) 3. Object-Oriented Analysis & Design using UML D Jeya Mala, S Geetha(TMH) 4. Object-Oriented Analysis, Design and Implementation Brahma Dathan, Sarnath Ramnath (University Press) OOSD- Introduction

2 An overview of object-Oriented Systems Development
OOSD- Introduction

3 Project estimation (under estimation) Time, effort estimation
Q. What major problems have you encountered during past software projects? Project estimation (under estimation) Time, effort estimation Premature implementation Quick prototyping the problem Feeling of understanding problem but really not Changing requirements (Waterfall model, Incremental model, Evolutionary development model, Agile model) OOSD- Introduction

4 System development activity consists of
Introduction Software development is dynamic 1. Always undergoes major changes Current and future practice will be different Anticipate the methods and tools to succeed Can not predict the future Today, vast number of tools and methodologies are available for systems development. System development activity consists of Systems analysis, modeling, design, testing, implementation, and maintenance. OOSD- Introduction

5 A software (SW) development methodology is a series of processes, if followed, can lead to the development of an application. Each process consists of number of steps and rules to be followed during development. Unified Approach is the methodology used by Dr. Ali Bahrami for learning OOSD. OOSD- Introduction

6 Two Orthogonal views of the SW
Object-Oriented systems development differs from Traditional development techniques. Traditional technique view the SW as a collection of programs (or functions) and isolated data. What is a program? Niklaus Writh, inventor of Pascal, sums it up Algorithm + Data Structure = Program A SW system is a set of mechanism for performing certain action on certain data There are two different ways to view software constructions either on functions or on data OOSD- Introduction

7 Data centered - data store (e. g
Data centered - data store (e.g. file or database) lies at the center of this architecture and is accessed frequently by other components that modify data

8 Data flow - input data is transformed by a series of computational or manipulative components into output data

9 Object-oriented - components of system encapsulate data and operations, communication between components is by message passing Layered - several layers are defined, each accomplishing operations that progressively become closer to the machine instruction set

10 The distinction between Traditional system development methodologies and newer Object-oriented methodologies lies in their primary focus. 1. Traditional approach focuses on the functions of the system – What is it doing ? 2. Data is free flowing. OOSD Methodology: Object-oriented system development centers on the object. Views software in the form of objects which are discrete and grouped. OOSD focuses on the object, which combines data and functionality 3. Primary focus is on data. 4. Data security is given utmost attention. OOSD- Introduction

11 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. (e.g. Window) 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. Don’t say “system is computing the payroll of employee”, you tell the employee object “ compute your payroll”. OOSD- Introduction

12 Why an Object Orientation?
O-O systems are : Easier to adapt to changing requirements Easier to maintain More robust and promote greater design Code reuse Say System, compute the payroll of this employee (Traditional way) Now tell the employee object Compute your payroll (In object orientation way) OOSD- Introduction

13 Object Orientation is appropriate
To develop complex systems Systems that are prone to change Systems with user interfaces Systems that are based on client/server model To build e-commerce / web based applications For enterprise application integration (EAI) OOSD- Introduction

14 Reasons why object orientation works:
Higher level of abstraction. (at object level) Traditional: Top down approach supports abstraction at function level) Data is now attributes and function is method 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, and creating a robust system. Encouragement of good programming technique. Promotion of reusability. Seamless approach reduces the level of complexity and redundancy and makes for clearer, more robust system development. OOSD- Introduction

15 Overview of the Unified Approach
The Unified Approach (UA) is a methodology for software development that is proposed by the author Dr. Ali Bahrami. (and used in this book of OOSD) The UA is based on methodologies by Grady Booch, James Rumbaugh & Ivar Jacobson. They tried to combine the best practices, processes & guidelines along with OMG’s(Object Management Group’s) UML. 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. OOSD- Introduction

16 Layered Architecture (LA)
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: i. View or UI (User Interfaces) Layer ii. Business Layer iii. Access Layer OOSD- Introduction

17 The Unified Approach Road Map
Analysis Design Identify the user 6. Apply design axioms Develop a simple to design classes business model 7. Design the access 3. Develop use case layer Interaction diagram 8. Design view layer Develop sequence diagrams classes Develop collaboration diagram Macro level UI design 5. Classification Micro level UI design Identify classes Usability and user satisfaction Identify relationships Refine and iterate Identify attributes Identify methods (Fig.1.1 pg.7, Ali Bahrami) OOSD- Introduction

18 The software development process Building high-quality software
Goals for OOSD The software development process Building high-quality software Object-oriented systems development Use-case driven systems development Prototyping OOSD- Introduction

19 Advantages of OOSD 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. OOSD- Introduction

20 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% to 50% of traditional cost of development. OOSD- Introduction

21 The Journey of OOSD begins....
Summary The OOSD is an iterative process and is divided into analysis, design, prototyping/implementation, and testing. The UA, Layered Architecture and UML are used by Dr. Ali Bahrami for OOSD. The Journey of OOSD begins.... OOSD- Introduction


Download ppt "CHAP-1 OBJECT ORIENTED SYSTEM DESIGN (IT-703)"

Similar presentations


Ads by Google