Object-Oriented Systems Development: Using the Unified Modeling Language. Chapter 1: An Overview of Object- Oriented Systems Development

Similar documents
Object Oriented Analysis and Design: An Overview

Object-Oriented Systems Development: Using the Unified Modeling Language

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

Object-Oriented Systems Development: Using the Unified Modeling Language

KINGS COLLEGE OF ENGINEERING

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

Object-Oriented Systems Development: Using the Unified Modeling Language

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY

CS 1042 OBJECT ORIENTED ANALYSIS AND DESIGN. UNIT 1 INRODUCTION 1.1 An Overview of Object Oriented System and Development

Darshan Institute of Engineering & Technology for Diploma Studies

THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9)

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 14 - Course Review

SEZ6C/SEE6C/PED2A OBJECT ORIENTED ANALYSIS AND DESIGN. Unit : I -V

Architectural Blueprint

Object-Oriented Systems Development:

LESSON PLAN SUB NAME : OBJECT ORIENTED ANALYSIS AND DESIGN UNIT SYLLABUS

Importance of Rational ROSE in Software Development Process Models

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

Object-Oriented Systems Development: Using the Unified Modeling Language

OBJECT ORIENTED ANALYSIS AND DESIGN

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

CSC Advanced Object Oriented Programming, Spring Overview

Header Description: This use case describes how the ATM user withdraws cash from the ATM.

Chapter 1: Programming Principles

Unified Modelling Language

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator.

SEZ6C/SEE6C/PED2A OBJECT ORIENTED ANALYSIS AND DESIGN. Unit : I -V

Chapter 1: Principles of Programming and Software Engineering

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering

Software Development Methodologies

10조 이호진 이지 호

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

UML Is Not a Methodology

UNIT-I Introduction of Object Oriented Modeling

OBJECT-ORIENTED MODELING AND DESIGN. Introduction

Chapter 4. Sahaj Computer Solutions Object Oriented Systems Development 1

Model-based Transition from Requirements to High-level Software Design

Object-Oriented Systems. Development: Using the Unified Modeling Language

Introduction to Object Oriented Analysis and Design

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

CS 451 Software Engineering

CASE TOOLS LAB VIVA QUESTION

Object Oriented Methods with UML

Static Modeling. SWE 321 Fall2014

1 OBJECT-ORIENTED ANALYSIS

Today s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading:

Object-Oriented Static Modeling of the Banking System - I. Lecture # 31

Outline of Unified Process

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1.

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

CHAPTER 9 DESIGN ENGINEERING. Overview

VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Systems Analysis & Design

Systems Analysis and Design in a Changing World, Fourth Edition

Software Development. Modular Design and Algorithm Analysis

OO design. Classes, Responsibilities, Collaborations (CRC) 13/9/1999 COSC

A Tutorial on Agent Based Software Engineering

Design and Evolution of an Agent-Based CASE System for OOAD

Steps in Using COMET/UML

History of object-oriented approaches

MC9244 OBJECT ORIENTED ANALYSIS AND DESIGN L T P C UNIT I INTRODUCTION

Lecture Chapter 2 Software Development

CSCU9T4: Managing Information

Software Design And Modeling BE 2015 (w. e. f Academic Year )

UNIT-I CHAPTER-1. An Overview of Object Oriented Systems Development

OO Analysis and Design with UML 2 and UP

Object-Oriented Software Engineering Practical Software Development using UML and Java

Presenter: Dong hyun Park

1. BlueJ bank example with subclasses of BankAccount 2. Transparency of UML diagram for BankAccount class hierarchy

ATM Use Cases. ID: CIS Title: Check Balance Description: Customer aims to know the balance in his/her account

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Session 8: UML The Unified Modeling (or the Unstructured Muddling) language?

UNIT-V SOFTWARE QUALITY AND USABILITY CHAPTER 12. VIEW LAYER: Designing Interface Objects. At the end of this chapter, students should be able to

What is Software Architecture

3.0 Object-Oriented Modeling Using UML

Module Outline. What is Object-Oriented? Some Possible Definitions. Why Object-oriented? Fundamentals of Object Orientation

Object-Oriented Analysis, Design and Implementation. Case Study Part II

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

Object-Oriented Introduction

Semantics-Based Integration of Embedded Systems Models

Components Based Design and Development. Unit 3: Software Design Quick Overview

Agile Model-Driven Development with UML 2.0 SCOTT W. AM BLER. Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE. gile 1.

Unified Modeling Language (UML)

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I

Topic : Object Oriented Design Principles

NOORUL ISLAM COLLEGE OF ENGINEERING, KUMARACOIL DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING SEVENTH SEMESTER

Design First ITS Instructor Tool

Introduction... ix. Chapter 1: Exploring Fundamental Programming Concepts... 1

Lecture 2: Software Engineering (a review)

CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam

Object Oriented System Development

Lesson 06. Requirement Engineering Processes

Introduction to Unified Modelling Language (UML)

Transcription:

Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 1: An Overview of Object- Oriented Systems Development

Goals The object-oriented philosophy and why we need to study it. The unified approach.

Introduction Object-Oriented (OO) systems development is a way to develop software by building selfcontained modules that can be more easily: Replaced Modified and Reused.

What is a Software development methodology? Practices, procedures, and rules used to develop software.

Systems Development Methodologies Systems development methodology is a way to develop system. A comprehensive system development methodology utilizes sets of tools as well as the style in which they are to be used.

Traditional Systems Development Methodology Traditional or Structured approach is based on the idea that a system can be thought of as a collection of modules or subsystems. It is much easier to work with a smaller cohesive module than a complex system.

Object-Oriented Systems Development Methodology In an O-O environment, software is a collection of discrete objects. These objects encapsulate their data and functionalities to model real world "objects."

Object-Oriented Systems Development Methodology (Con t) An object-oriented life cycle encourages a view of the world as a system of cooperative and collaborating agents.

Benefits of Object Orientation Faster development, Reusability, Increased quality, and easier maintenance.

OO Benefits (Con t) Object technology emphasizes modeling the real world and provides us with the stronger equivalence of the real world s entities (objects) than other methodologies. Raising the level of abstraction to the point where application can be implemented in the same terms as they are described.

Unified Approach The unified approach (UA) is a methodology for software development that is used in this book. The UA, based on methodologies by Booch, Rumbaugh, Jacobson, and others, tries to combine the best practices, processes, and guidelines.

Unified Approach (Con t) UA utilizes the unified modeling language (UML) which is a set of notations and conventions used to describe and model an application.

Layered Architecture UA also uses a layered architecture to develop applications. The layered approach consists of view or user interface, business, and access layers.

Layered Architecture (Con t) This approach reduces the interdependence of the user interface, database access, and business control. Therefore, it allows for a more robust and flexible system.

Return Book? Go to counter Yes and return the book Borrow Yes Books? No Perform Research? No Read newspaper /books No Inter Inter Library Libray Loan Section, Yes Loan? check out book 1 No Yes Yes 1 1.. * Search for the book in the library Do Research on the topic Sit somewhere quiet and read newspaper, books, etc. * 1 1 Checking Done? Yes out Books? Go to counter and check out the book Bank Client ATM Machine Account Request Kind Enter Kind Request Amount Enter Amount Process Transaction Withdraw Checking Account Transaction succeed Withdraw Successful Dispense Cash Request Take Cash Take Cash Request Continuation Terminate Print Receipt Checking Account Access Class(es) ViaNet Bank ATM Sytem Account CheckingAccount #savings : Account +withdraw() 1 insufficient funds BankClient #firstname : String #lastname :String #cardnumber : String #pinnumber : String #account : Account +verifypassword() #updateaccount() #createtransaction() 1.. * Account #number: String #balance : float * Account- #bankclient: BankClient Transaction #transaction: Transaction 1 +deposit() +withdraw() #retrieveaccount() Savings- Checking 1 SavingsAccount #checking : Account ATMMachine #address : String #state : String Transaction #transid : String #transdate : Date #transtime : Time #transtype : String #amount :float #postbalance : float #account : Account CheckingAccount::+withdraw (anamount:float):returncode:string Withdraw using Account class Account.withdraw (anamount) method BankDB +retrieveclient() +updateclient() +retrievesavingsaccount() +updatesavingsaccount() sufficient funds returncode = "OK" +retrievecheckingaccount() +updatecheckingaccount() sufficient funds Business Classes withdraw using SavingsAccount method account Doesn't have savings acount has savings account insufficient funds SavingsAccount.withdraw SavingsAccount.balance - (anamount - CheckAccount.balance)) returncode ="Insufficient funds" BankClient ATMMachine #firstname : String #address : String #lastname :String #state : String #cardnumber : String #pinnumber : String #account : Account #bankdb: BankDB +verifypassword() Has 1 1.. Transaction * Account #transid : String #number: String Account- #transdate : Date #balance : float * Transaction #transtime : Time #bankclient: BankClient #transtype : String #transaction: Transaction 1 #amount :float #bankdb: BankDB #postbalance : float #account : Account +deposit() +withdraw() #createtransaction() #retrieveaccount() #updateaccountt() CheckingAccount #savings : Account +withdraw() -retrieveaccount() -updateaccountt() BanK 1 Savings- Checking SavingsAccount #checking : Account 1 -retrieveaccount() -updateaccountt() How do you rate the ViaNet Bank ATM Kiosk Interface? Is easy to operate: 10 9 8 7 6 5 4 3 2 1 Very easy to use Buttons are right size and easily can be located: 10 9 8 7 6 5 4 3 2 1 Is efficient to use: Is Fun to use: Is visually pleasing: Very appropriate Very efficient Very Very pleasing 10 9 8 7 6 5 4 3 2 1 10 9 8 7 6 5 4 3 2 1 10 9 8 7 6 5 4 3 2 1 Provides easy recovery from errors: 10 9 8 7 6 5 4 3 2 1 Comments: Very easy recovery I have more to say, I would like to see you. Very Hard to use Not appropriate Very inefficient Not Fun at all Not pleasing Not at all Analysis Design Prototyping and Testing 1. Identify the users/actors (Chapter 6): Who is (or will be) using the system? 2. Develop a simple business process model The advantage of developing a business process model is that it familiarizes you with the system and therefore the user requirements 3. Develop the use case (Chapter 6): What are (or will be) the users are doing with the system? Use cases provide comprehensive documentation of the system under study Use cases capture the goal of the users and the responsibility of the system to its users Member comes in Business process modeling using activity diagram Use case diagrams 4. Interaction diagrams (Chapter 7) 4.1 Develop sequence diagrams 4.2 Develop collaboration diagrams. 4.3 Iterate and refine collaboration diagram 5. Classification (Chapter 8) 5.1 Identify Classes 5.2 Identify Relationships 5.3 Identify Attributes 5.4 Identify Methods 5.5 Iterate and refine. Class diagram The process of creating sequence or collaboration diagrams is a systematic way to think about how a use case can take place, and by doing so, it forces you to think about objects involves in your application Sequence diagram 6. Apply design axioms to design classes, their attributes, methods, associations, structures, and protocols (Chapter 9) 6.1. Refine and complete the static UML class diagram (object model) by adding details to the UML class diagram (Chapter 10) 6.1.1 Refine attributes 6.1.2 Design methods and protocols by utilizing UML activity diagram for representation of method algorithm 6.1.3 Refine (if required) associations between classes 6.1.4 Refine (if required) class hierarchy and design with inheritance 6.2 Iterate and refine (reapply Design axioms). 7.0 Design the access ayer (Chapter 11) 7.1. Create maccess layer classes by mirroring the business classes 7.2. Define relationships 7.3. Simplify classes and structures 7.3.1 Eliminate redundant classes 7.3.2 Eliminate method classes 7.4 Iterate and refine Refine UML Class diagram Design methods by utilizing UML Activity Diagram UML Class diagram with added access and view classes 8. Designing view layer classes (Chapter 12) 8.1 Macro-level UI design Process- Identifying View layer Objects 8.2 Micro-level UI design activities: 8.2.1 Designing the view layer objects by applying design axioms and corollaries 8.2.2 Prototyping the view layer interface. 8.3. Usability and user satisfaction testing (Chapter 14): 8.4 Iterate and refine 9. Iterate and refine the design/analysis: If needed repeat the preceding steps Create User Interface controls Associate actions to the User Interface controls and their events Test/Debug Done Enter title here Cancel OK Create the forms and controls Enter title here Cancel Add Actions Enter title here Cancel Test the UI Prototype user interface Usability and user satisfaction testing OK OK

Summary In an object-oriented environment, software is a collection of discrete objects that encapsulate their data and the functionality to model real-world objects.

Summary (Con t) An object orientation produces systems that are easier to evolve, more flexible, more robust, and more reusable than other traditional approaches.

Summary (Con t) This book is organized around the unified approach. The UA, based on methodologies by Booch, Rumbaugh, Jacobson, and others, tries to combine the best practices, processes, and guidelines along with the Object Management Group's Unified Modeling Language (UML).