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

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design- IT0207 III Semester UNIT-IV.
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
CS487 Software Engineering Omar Aldawud
Chapter 2 Approaches to System Development
Ch 3 System Development Environment
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Introduction To System Analysis and Design
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Systems Analysis and Design in a Changing World, Fifth Edition
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
Introduction To System Analysis and design
The Design Discipline.
CIS 321—IS Analysis & Design
Chapter 2: Approaches to System Development
1 Introduction Chapter 1. 2 Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding the organization.
INFO415 Approaches to System Development: Part 2
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Chapter 1 The Systems Development Environment
CSCI-383 Object-Oriented Programming & Design Lecture 9.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
An Introduction to Software Architecture
Chapter 1: Introduction to Systems Analysis and Design
Topic 1: Approaches to System Development
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
Introduction To System Analysis and Design
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Methodologies of the SDLC Traditional Approach to SDLC Object-Oriented Approach to SDLC CASE Tools.
Systems Analysis and Design in a Changing World, 3rd Edition
The Systems Development Life Cycle
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
2 Systems Analysis and Design in a Changing World, Fifth Edition.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
Object-Oriented Analysis and Design. Lesson 1: Introduction to Software Engineering.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
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,
Internet and Intranet Protocols and Applications Lecture 5a: HTTP Client-Server Design and Implementation February 15, 2005 Arthur Goldberg Computer Science.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Methodology Review Chapter 7 Part 2: Design Methodology Object-Oriented Modeling and Design Byung-Hyun Ha
Slide 1 Objectives Understand the basic characteristics of object-oriented systems. Be familiar with the Unified Modeling Language (UML),V.2.0.
Basic Characteristics of Object-Oriented Systems
UA. Unified Approach ( UA ) It combines best practices, methods process, guidelines & methodology (Rumbaugh, Booch and Jacobson) along with UML notations.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Object Oriented Systems Design
UNIT 1.
Systems Analysis and Design With UML 2
Systems Analysis and Design With UML 2
Object Oriented Systems Development
University of Houston-Clear Lake
Introduction to UML.
Need for the subject.
An Introduction to Software Architecture
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:

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

An overview of object-Oriented Systems Development OOSD- Introduction

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

System development activity consists of Introduction Software development is dynamic 1. Always undergoes major changes 2. Current and future practice will be different 3. Anticipate the methods and tools to succeed 4. 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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