Unified Modeling Language (UML)

Size: px
Start display at page:

Download "Unified Modeling Language (UML)"

Transcription

1 1.17 Software Engineering Case Study: Introduction to Object Technology and the UML (Required) Object orientation A natural way of thinking about the world and computer programs Unified Modeling Language (UML) Graphical language that uses common notation Allows developers to represent object-oriented designs 1

2 1.17 Software Engineering Case Study (Cont.) Objects 2 Reusable software components that model realworld items Examples are all around you People, animals, cars, telephones, microwave ovens, etc. Have attributes Size, shape, color, weight, etc. Exhibit behaviors Babies cry, crawl, sleep, etc.; cars accelerate, brake,

3 1.17 Software Engineering Case Study (Cont.) Object-oriented design (OOD) Models real-world objects in software Models communication among objects Encapsulates attributes and operations (behaviors) Information hiding Communication through well-defined interfaces Object-oriented language Programming in object oriented languages is called object-oriented programming (OOP) C++ is an object-oriented language Programmers can create user-defined types called classes Contain data members (attributes) and member functions (behaviors) 3

4 1.17 Software Engineering Case Study (Cont.) Object-Oriented Analysis and Design (OOAD) Analyze program requirements, then develop solution Essential for large programs Plan in pseudocode or UML 4

5 2.8 (Optional) Software Engineering Case Study (Cont.) Requirements document New automated teller machine (ATM) Allows basic financial transaction View balance, withdraw cash, deposit funds User interface Display screen, keypad, cash dispenser, deposit slot ATM session Authenticate user, execute financial transaction 5

6 Fig Automated teller machine user 6 interface.

7

8 8 Fig ATM main menu.

9 9 Fig ATM withdrawal menu.

10

11 2.8 (Optional) Software Engineering Case Study (Cont.) Analyzing the ATM system 11 Requirements gathering Software life cycle Waterfall model Iteractive model Use case modeling Use case diagram Model the interactions between clients and its use cases

12 Fig Use case diagram for the ATM system from the user s perspective. 12

13 2.8 (Optional) Software Engineering Case Study (Cont.) UML diagram types Model system structure Class diagram Models classes, or building blocks of a system Screen, keypad, cash dispenser, deposit slot. 13

14 2.8 (Optional) Software Engineering Case Study (Cont.) Model system behavior Use case diagrams Model interactions between user and the system State machine diagrams Model the ways in which an object changes state Activity diagrams Model an object s activity during program execution Communication diagrams (collaboration diagrams) Model the interactions among objects Emphasize what interactions occur Sequence diagrams Model the interactions among objects Emphasize when interactions occur 14

15 3.11 (Optional) Software Engineering Case Study: Identifying the Classes in the ATM Requirements Document Identifying the classes in a system Key nouns and noun phrases in requirements document Some are attributes of other classes Some do not correspond to parts of the system Some are classes To be represented by UML class diagrams 15

16 Nouns and noun phrases in the requirements document bank money / fund account number ATM screen PIN user keypad bank database customer cash dispenser balance inquiry transaction $20 bill / cash withdrawal account deposit slot deposit balance deposit envelope Fig.3.18 Nouns and noun phrases in the 16 requirements document.

17 3.11 (Optional) Software Engineering Case Study: Identifying the Classes in the ATM Requirements Document (Cont.) Modeling classes with UML class diagrams 17 Top compartment contains name of the class Middle compartment contains attributes Bottom compartment contains operations An elided diagram Suppress some class attributes and operations for readability An association Represented by a solid line that connects two classes Association can be named Numbers near end of each line are multiplicity values

18 Fig.3.19 Representing a class in the UML 18 using a class diagram.

19 Fig.3.20 Class diagram showing an 19 association among classes.

20 Fig.3.22 Class diagram showing 20 composition relationships.

21 Fig.3.23 Class diagram for the ATM 21 system model

22 Fig.3.25 Class diagram for the ATM system model including class 22 Deposit.

23 4.13 (Optional) Software Engineering Case Study: Identifying Class Attributes in the ATM System Identifying and modeling attributes 23 Create attributes and assign them to classes Look for descriptive words and phrases in the requirements document Each attribute is given an attribute type Some attributes may have an initial value Example userauthenticated : Boolean = false» Attribute userauthenticated is a Boolean value and is initially false

24 Class Descriptive words and phrases ATM user is authenticated BalanceInquiry account number Withdrawal account number amount Deposit account number amount BankDatabase [no descriptive words or phrases] Account account number PIN balance Screen [no descriptive words or phrases] Keypad [no descriptive words or phrases] CashDispenser begins each day loaded with 500 $20 bills DepositSlot [no descriptive words or phrases] Fig Descriptive words and phrases from the 24 ATM requirements.

25 25 Fig Classes with attributes.

26 5.11 (Optional) Software Engineering Case Study: Identifying Object s State and Activities in the ATM System State Machine Diagrams 26 Commonly called state diagrams Model several states of an object Show under what circumstances the object changes state Focus on system behavior UML representation Initial state Solid circle State Rounded rectangle Transitions Arrows with stick arrowheads

27 Fig State diagram for the ATM 27 object.

28 5.11 (Optional) Software Engineering Case Study : Identifying Object s State and Activities in the ATM System (Cont.) Activity Diagrams Focus on system behavior Model an object s workflow during program execution Actions the object will perform and in what order UML representation Initial state Solid circle Action state Rectangle with outward-curving sides Action order Arrow with a stick arrowhead 28 Final state

29 Fig Activity diagram for a BalanceInquiry transaction. 29

30 Fig Activity diagram for a 30 Withdrawal transaction.

31 Fig Activity diagram for a Deposit 31 transaction.

32 6.22 (Optional) Software Engineering Case Study: Identifying Class Operations in the ATM System Operation 32 A service that objects of a class provide to their clients For example, a radio s operations include setting its station and volume Implemented as a member function in C++ Identifying operations Examine key verbs and verb phrases in the requirements document

33 Class ATM BalanceInquiry Withdrawal Deposit BankDatabase Account Screen Keypad CashDispenser DepositSlot Verbs and verb phrases executes financial transactions [none in the requirements document] [none in the requirements document] [none in the requirements document] authenticates a user, retrieves an account balance, credits a deposit amount to an account, debits a withdrawal amount from an account retrieves an account balance, credits a deposit amount to an account, debits a withdrawal amount from an account displays a message to the user receives numeric input from the user dispenses cash, indicates whether it contains enough cash to satisfy a withdrawal request receives a deposit envelope Fig Verbs and verb phrases for each 33 class in the ATM system.

34 Fig Classes in the ATM system with 34 attributes and operations.

35 Fig Class BankDatabase with 35 operation parameters.

36 Fig Class Account with operation 36 parameters.

37 Fig Class Screen with operation 37 parameters.

38 Fig Class CashDispenser with 38 operation parameters.

39 7.12 (Optional) Software Engineering Case Study: Collaboration Among Objects in the ATM System Collaborations 39 When objects communicate to accomplish task One object sends a message to another object Accomplished by invoking operations (functions) Identifying the collaborations in a system Read requirements document to find What ATM should do to authenticate a user What ATM should do to perform transactions For each action, decide Which objects must interact» Sending object» Receiving object

40 An object of class ATM BalanceInquiry Withdrawal Deposit BankDatabase sends the message displaymessage getinput authenticateuser execute execute execute getavailablebalance gettotalbalance displaymessage displaymessage getinput getavailablebalance issufficientcashavailable debit dispensecash displaymessage getinput isenvelopereceived credit validatepin getavailablebalance gettotalbalance debit credit to an object of class Screen Keypad BankDatabase BalanceInquiry Withdrawal Deposit BankDatabase BankDatabase Screen Screen Keypad BankDatabase CashDispenser BankDatabase CashDispenser Screen Keypad DepositSlot BankDatabase Account Account Account Account Account Fig.7.27 Collaborations in the ATM 40 system.

41 7.12 (Optional) Software Engineering Case Study: Collaboration Among Objects in the ATM System (Cont.) Interaction Diagrams Model interactions using UML Communication diagrams Also called collaboration diagrams Emphasize which objects participate in collaborations Sequence diagrams Emphasize when messages are sent between objects 41

42 7.12 (Optional) Software Engineering Case Study: Collaboration Among Objects in the ATM System (Cont.) Communication diagrams Objects Modeled as rectangles Contain names in the form objectname : classname Objects are connected with solid lines 42

43 (Optional) Software Engineering Case Study: Collaboration Among Objects in the ATM System (Cont.) Communication diagrams (Cont.) Messages are passed along these lines in the direction shown by arrows Synchronous calls solid arrowhead Sending object may not proceed until control is returned from the receiving object Asynchronous calls stick arrowhead Sending object does not have to wait for the receiving object Name of message appears next to the arrow

44 Fig.7.28 Communication diagram of the ATM executing a balance inquiry. 44

45 (Optional) Software Engineering Case Study: Collaboration Among Objects in the ATM System (Cont.) Communication diagrams (Cont.) Sequence of messages in a communication diagram Indicated by the number to the left of a message name Indicate the order in which the messages are passed Process in numerical order from least to greatest Nested messages are indicated by decimal numbering Example» First message nested in message 1 is message 1.1

46 Fig.7.29 Communication diagram of the ATM executing a balance inquiry. 46

47 7.12 (Optional) Software Engineering Case Study: Collaboration Among Objects in the ATM System (Cont.) Sequence diagrams Help model the timing of collaborations Lifeline Dotted line extending down from an object s rectangle Activation Represents the progression of time (top to bottom) Thin vertical rectangle on an object s lifeline Indicates that the object is executing 47

48 7.12 (Optional) Software Engineering Case Study: Collaboration Among Objects in the ATM System (Cont.) Sequence diagrams (Cont.) Sending messages Similar to communication diagrams Solid arrow with filled arrowhead indicates a message Points to the beginning of an activation Dashed line with stick arrowhead indicates return of control Extends from the end of an activation 48

49 Fig.7.30 Sequence diagram that models a 49 Withdrawal executing.

50 Fig.7.31 Sequence diagram that models a 50 Deposit executing.

51 9.12 (Optional) Software Engineering Case Study: Starting to Program the Classes of the ATM System Visibility of an object s attributes and operations Determined by access specifiers Data members normally have private visibility Member functions normally have public visibility Utility functions normally have private visibility UML Visibility Markers Placed before an operation or an attribute Plus sign (+) indicates public visibility Minus sign ( ) indicates private visibility 51

52 Fig Class diagram with visibility 52 markers.

53 (Optional) Software Engineering Case Study: Starting to Program the Classes of the ATM System (Cont.) UML Navigability Arrows Arrows with stick arrowheads in a class diagram Indicate in which direction an association can be traversed Based on the collaborations modeled in communication and sequence diagrams Help determine which objects need references or pointers to other objects Bidirectional navigability Indicated by arrows at both ends of an association or no arrows at all Navigation can proceed in either direction across the association

54 Fig Class diagram with navigability 54 arrows.

55 9.12 (Optional) Software Engineering Case Study: Starting to Program the Classes of the ATM System (Cont.) Implementing a class from its UML design Use the name located in the first compartment of a class diagram to define the class in a header file Use the attributes located in the class s second compartment to declare the data members Use the associations described in the class diagram to declare references (or pointers, where appropriate) to other objects Use forward declarations for references to classes (where possible) instead of including full header files Helps avoid circular includes» Preprocessor problem that occurs when header file for class A #includes header file for class B and vice versa Use the operations located in the class s third compartment to write the function prototypes of the class s member functions 55

56 1 // Fig. 9.22: Withdrawal.h 2 // Definition of class Withdrawal that represents a withdrawal transaction 3 #ifndef WITHDRAWAL_H 4 #define WITHDRAWAL_H 5 6 class Withdrawal 7 { 8 }; // end class Withdrawal 9 10 #endif // WITHDRAWAL_H #ifndef, #define and #endif preprocessor directives help Class prevent name multiple-definition is based on the errors top compartment of the class diagram Outline fig09_22.cpp (1 of 1) 56

57 1 // Fig. 9.23: Withdrawal.h 2 // Definition of class Withdrawal that represents a withdrawal transaction 3 #ifndef WITHDRAWAL_H 4 #define WITHDRAWAL_H 5 6 class Withdrawal 7 { 8 private: 9 // attributes 10 int accountnumber; // account to withdraw funds from 11 double amount; // amount to withdraw 12 }; // end class Withdrawal #endif // WITHDRAWAL_H Data members are based on the attributes in the middle compartment of the class diagram Outline Withdrawal.h (1 of 1) 57

58 1 // Fig. 9.24: Withdrawal.h 2 // Definition of class Withdrawal that represents a withdrawal transaction 3 #ifndef WITHDRAWAL_H 4 #define WITHDRAWAL_H 5 6 #include "Screen.h" // include definition of class Screen 7 #include "Keypad.h" // include definition of class Keypad 8 #include "CashDispenser.h" // include definition of class CashDispenser 9 #include "BankDatabase.h" // include definition of class BankDatabase class Withdrawal 12 { 13 private: 14 // attributes 15 int accountnumber; // account to withdraw funds from 16 double amount; // amount to withdraw // references to associated objects 19 Screen &screen; // reference to ATM s screen 20 Keypad &keypad; // reference to ATM's keypad 21 CashDispenser &cashdispenser; // reference to ATM's cash dispenser 22 BankDatabase &bankdatabase; // reference to the account info database 23 }; // end class Withdrawal #endif // WITHDRAWAL_H Outline #include preprocessor directives for classes of associated objects References are based on the associations in the class diagram Withdrawal.h (1 of 1) 58

59 1 // Fig. 9.25: Withdrawal.h 2 // Definition of class Withdrawal that represents a withdrawal transaction 3 #ifndef WITHDRAWAL_H 4 #define WITHDRAWAL_H 5 6 class Screen; // forward declaration of class Screen 7 class Keypad; // forward declaration of class Keypad 8 class CashDispenser; // forward declaration of class CashDispenser 9 class BankDatabase; // forward declaration of class BankDatabase class Withdrawal 12 { 13 private: 14 // attributes 15 int accountnumber; // account to withdraw funds from 16 double amount; // amount to withdraw // references to associated objects 19 Screen &screen; // reference to ATM s screen 20 Keypad &keypad; // reference to ATM's keypad 21 CashDispenser &cashdispenser; // reference to ATM's cash dispenser 22 BankDatabase &bankdatabase; // reference to the account info database 23 }; // end class Withdrawal #endif // WITHDRAWAL_H Forward declarations of classes for which this class has references Outline Withdrawal.h (1 of 1) 59

60 1 // Fig. 9.26: Withdrawal.h 2 // Definition of class Withdrawal that represents a withdrawal transaction 3 #ifndef WITHDRAWAL_H 4 #define WITHDRAWAL_H 5 6 class Screen; // forward declaration of class Screen 7 class Keypad; // forward declaration of class Keypad 8 class CashDispenser; // forward declaration of class CashDispenser 9 class BankDatabase; // forward declaration of class BankDatabase class Withdrawal 12 { 13 public: 14 // operations 15 void execute(); // perform the transaction 16 private: 17 // attributes 18 int accountnumber; // account to withdraw funds from 19 double amount; // amount to withdraw // references to associated objects 22 Screen &screen; // reference to ATM s screen 23 Keypad &keypad; // reference to ATM's keypad 24 CashDispenser &cashdispenser; // reference to ATM's cash dispenser 25 BankDatabase &bankdatabase; // reference to the account info database 26 }; // end class Withdrawal #endif // WITHDRAWAL_H Member functions are based on operations in the bottom compartment of the class diagram Outline Withdrawal.h (1 of 1) 60

61 1 // Fig. 9.27: Account.h 2 // Account class definition. Represents a bank account. 3 #ifndef ACCOUNT_H 4 #define ACCOUNT_H 5 6 class Account 7 { 8 public: 9 bool validatepin( int ); // is user-specified PIN correct? 10 double getavailablebalance(); // returns available balance 11 double gettotalbalance(); // returns total balance 12 void credit( double ); // adds an amount to the Account 13 void debit( double ); // subtracts an amount from the Account 14 private: 15 int accountnumber; // account number 16 int pin; // PIN for authentication 17 double availablebalance; // funds available for withdrawal 18 double totalbalance; // funds available + funds waiting to clear 19 }; // end class Account #endif // ACCOUNT_H Outline Account.h (1 of 1) 61

62 13.10 (Optional) Software Engineering Case Study: Incorporating Inheritance into the ATM System UML model for inheritance The generalization relationship The base class is a generalization of the derived classes The derived classes are specializations of the base class Pure virtual functions are abstract operations in the UML Generalizations and abstract operations are written in italics Transaction base class Contains the functions and data members BalanceInquiry, Withdrawal and Deposit have in common execute function accountnumber data member 62

63 Fig Attributes and operations of classes BalanceInquiry, 63 Withdrawal and Deposit.

64 Fig Class diagram modeling generalization relationship between base class Transaction and derived classes BalanceInquiry, 64 Withdrawal and Deposit.

65 Fig Class diagram of the ATM system (incorporating inheritance). Note that 65 abstract class name Transaction appears in italics.

66 13.10 (Optional) Software Engineering Case Study: Incorporating Inheritance into the ATM System (Cont.) Incorporating inheritance into the ATM system design If class A is a generalization of class B, then class B is derived from class A If class A is an abstract class and class B is a derived class of class A, then class B must implement the pure virtual functions of class A if class B is to be a concrete class 66

67 67 Fig Class diagram after incorporating inheritance into the system.

68 1 // Fig : Withdrawal.h 2 // Definition of class Withdrawal that represents a withdrawal transaction 3 #ifndef WITHDRAWAL_H 4 #define WITHDRAWAL_H 5 6 #include "Transaction.h" // Transaction class definition 7 8 // class Withdrawal derives from base class Transaction 9 class Withdrawal : public Transaction 10 { 11 }; // end class Withdrawal #endif // WITHDRAWAL_H Outline Withdrawal.h (1 of 1) Class Withdrawal inherits from Transaction 68

69 1 // Fig : Withdrawal.h 2 // Definition of class Withdrawal that represents a withdrawal transaction 3 #ifndef WITHDRAWAL_H 4 #define WITHDRAWAL_H 5 6 #include "Transaction.h" // Transaction class definition 7 8 class Keypad; // forward declaration of class Keypad 9 class CashDispenser; // forward declaration of class CashDispenser // class Withdrawal derives from base class Transaction 12 class Withdrawal : public Transaction 13 { 14 public: 15 // member function overriding execute in base class Transaction 16 virtual void execute(); // perform the transaction 17 private: 18 // attributes 19 double amount; // amount to withdraw 20 Keypad &keypad; // reference to ATM's keypad 21 CashDispenser &cashdispenser; // reference to ATM's cash dispenser 22 }; // end class Withdrawal #endif // WITHDRAWAL_H Outline Withdrawal.h (1 of 1) Class Withdrawal inherits from Transaction 69

70 1 // Fig : Transaction.h 2 // Transaction abstract base class definition. 3 #ifndef TRANSACTION_H 4 #define TRANSACTION_H 5 6 class Screen; // forward declaration of class Screen 7 class BankDatabase; // forward declaration of class BankDatabase 8 9 class Transaction 10 { 11 public: 12 int getaccountnumber(); // return account number 13 Screen &getscreen(); // return reference to screen 14 BankDatabase &getbankdatabase(); // return reference to bank database // pure virtual function to perform the transaction 17 virtual void execute() = 0; // overridden in derived classes 18 private: 19 int accountnumber; // indicates account involved 20 Screen &screen; // reference to the screen of the ATM 21 BankDatabase &bankdatabase; // reference to the account info database 22 }; // end class Transaction #endif // TRANSACTION_H Transaction is an abstract class, contains a pure virtual function Outline Transaction.h (1 of 1) Declare pure virtual function execute 70

71 ATM Requirements Document-1

72 ATM Requirements Document-2

73 ATM Requirements Document-3

74

75

76

77

78

79

80

81

82

83

84

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

Object-Oriented Analysis, Design and Implementation. Case Study Part II Object-Oriented Analysis, Design and Implementation Case Study Part II Assoc. Prof. Marenglen Biba MSc in Computer Science, UoG-UNYT Foundation Programme (C) 2010 Pearson Education, Inc. All 3-1 Further

More information

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba Dr. Marenglen Biba In Chapters 12 13, you design and implement an object-oriented automated teller machine (ATM) software system. Concise, carefully paced, complete design and implementation experience.

More information

Introduction to Classes and Objects Pearson Education, Inc. All rights reserved.

Introduction to Classes and Objects Pearson Education, Inc. All rights reserved. 1 3 Introduction to Classes and Objects 2 You will see something new. Two things. And I call them Thing One and Thing Two. Dr. Theodor Seuss Geisel Nothing can have value without being an object of utility.

More information

Introduction to Classes and Objects

Introduction to Classes and Objects 1 2 Introduction to Classes and Objects You will see something new. Two things. And I call them Thing One and Thing Two. Dr. Theodor Seuss Geisel Nothing can have value without being an object of utility.

More information

470 C h a p ter 2 A T M C a s e S tu dy, P a rt : O b jec t-o riented D es ign w ith th e U M L 2. C ase S tud y Introd uction 2.2 E xam ining the R e

470 C h a p ter 2 A T M C a s e S tu dy, P a rt : O b jec t-o riented D es ign w ith th e U M L 2. C ase S tud y Introd uction 2.2 E xam ining the R e A T M C a s e S tu dy, P a rt : O b jec t-o riented D es ign w ith th e U M L 2 Action speaks louder than words but not nearly as often. Mark Twain Always design a thing by considering it in its next larger

More information

Unified Modeling Language (UML) Class Diagram

Unified Modeling Language (UML) Class Diagram 1 / 10 Unified Modeling Language (UML) Class Diagram Miaoqing Huang University of Arkansas Spring 2010 2 / 10 Outline 1 2 3 / 10 Class Diagram Class diagrams show the static structure of the classes that

More information

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A G R A M S ) WHAT IS CLASS DIAGRAM? A class diagram

More information

Introduction to C++ Programming Pearson Education, Inc. All rights reserved.

Introduction to C++ Programming Pearson Education, Inc. All rights reserved. 1 2 Introduction to C++ Programming 2 What s in a name? that which we call a rose By any other name would smell as sweet. William Shakespeare When faced with a decision, I always ask, What would be the

More information

Control Statements: Part Pearson Education, Inc. All rights reserved.

Control Statements: Part Pearson Education, Inc. All rights reserved. 1 5 Control Statements: Part 2 5.2 Essentials of Counter-Controlled Repetition 2 Counter-controlled repetition requires: Control variable (loop counter) Initial value of the control variable Increment/decrement

More information

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch Class diagrams Modeling with UML Chapter 2, part 2 CS 4354 Summer II 2015 Jill Seaman Used to describe the internal structure of the system. Also used to describe the application domain. They describe

More information

Object Oriented Methods with UML

Object Oriented Methods with UML Object Oriented Methods with UML Introduction to Class Diagram Lecture -3 Presented By Dr.A.Bazila Banu What is a class? Central feature of C++ that supports OOP. It combines data representation and methods

More information

UML. By Somenath Mukhopadhyay.

UML. By Somenath Mukhopadhyay. UML By som@som-itsolutions.com What is the UML? Stands for unified modelling language Is the successor of OOAD methods It unifies the methods of Booch, Rumbaugh and Jacobson Now a standard with Object

More information

Chapter 10 Object-Oriented Design Principles

Chapter 10 Object-Oriented Design Principles Chapter 10 Object-Oriented Design Principles Dr. Supakit Nootyaskool Faculty of Information Technology King Mongkut s Institute of Technology Ladkrabang Outline Object-oriented design: bridging from analysis

More information

UML Is Not a Methodology

UML Is Not a Methodology UML COSC 4354 1 UML Is Not a Methodology UML is an acronym for Unified Modeling Language UML is a language A language is simply a tool for communication and exchanging ideas UML is a notation, not a methodology

More information

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification Object Oriented Design Part 2 Analysis Design Implementation Program Design Analysis Phase Functional Specification Completely defines tasks to be solved Free from internal contradictions Readable both

More information

Practical UML - A Hands-On Introduction for Developers

Practical UML - A Hands-On Introduction for Developers Practical UML - A Hands-On Introduction for Developers By: Randy Miller (http://gp.codegear.com/authors/edit/661.aspx) Abstract: This tutorial provides a quick introduction to the Unified Modeling Language

More information

Chapter 1: Principles of Programming and Software Engineering

Chapter 1: Principles of Programming and Software Engineering Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without

More information

Interactions A link message

Interactions A link message Interactions An interaction is a behavior that is composed of a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message specifies the communication between

More information

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

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering Module UFC016QM Object-Oriented Design and Programming O-O Design Unit 2: Objects and Classes Faculty of Computing, Engineering and Mathematical Sciences Schedule Quick recap on Use Case diagrams UWE Flix

More information

1st Semester MTCE 601A COMPUTER SYSTEM SOFTWARE

1st Semester MTCE 601A COMPUTER SYSTEM SOFTWARE 1st Semester MTCE 601A COMPUTER SYSTEM SOFTWARE LECTURE-1 Syllabus Introduction 1.1 Introduction to Object Oriented 1.2 Introduction to UML 1.3 Software Process and OOA&D 1.4 Component and CBSD 1.5 Patterns

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Subject Code: 17630 Model Answer Page No: 1 /32 Important Instructions to examiners: 1) The answers should be examined by keywords and not as word-to-word as given in the model answer scheme. 2) The model

More information

Practical UML : A Hands-On Introduction for Developers

Practical UML : A Hands-On Introduction for Developers Borland.com Borland Developer Network Borland Support Center Borland University Worldwide Sites Login My Account Help Search Practical UML : A Hands-On Introduction for Developers - by Randy Miller Rating:

More information

Object-Oriented Systems Analysis and Design Using UML

Object-Oriented Systems Analysis and Design Using UML 10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand

More information

Lecture 7: Classes and Objects CS2301

Lecture 7: Classes and Objects CS2301 Lecture 7: Classes and Objects NADA ALZAHRANI CS2301 1 What is OOP? Object-oriented programming (OOP) involves programming using objects. An object represents an entity in the real world that can be distinctly

More information

Unified Modeling Language

Unified Modeling Language jonas.kvarnstrom@liu.se 2015 Unified Modeling Language A Brief Introduction History In the early 1990s, three common OO modeling approaches James Rumbaugh's Object-modeling technique (OMT) 2 Grady Booch's

More information

C++ Spring Break Packet 11 The Java Programming Language

C++ Spring Break Packet 11 The Java Programming Language C++ Spring Break Packet 11 The Java Programming Language! Programmers write instructions in various programming languages, some directly understandable by computers and others requiring intermediate translation

More information

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain

More information

Computer Science for Engineers

Computer Science for Engineers Computer Science for Engineers Lecture 5 Object Orientation part 3 Prof. Dr. Dr.-Ing. Jivka Ovtcharova Dipl. Wi.-Ing. Dan Gutu 27 th of November 2009 Aggregation and Composition (1) A special case of an

More information

UML Tutorial. Unified Modeling Language UML Tutorial

UML Tutorial. Unified Modeling Language UML Tutorial UML Tutorial Unified Modeling Language UML Tutorial A Unified Modeling Language is a language for specifying, constructing, visualizing and documenting the software system and its components. UML is a

More information

LABORATORY 1 REVISION

LABORATORY 1 REVISION UTCN Computer Science Department Software Design 2012/2013 LABORATORY 1 REVISION ================================================================== I. UML Revision This section focuses on reviewing the

More information

Sofware Requirements Engineeing

Sofware Requirements Engineeing Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (Requirements Specification).

More information

Chapter 1: Programming Principles

Chapter 1: Programming Principles Chapter 1: Programming Principles Object Oriented Analysis and Design Abstraction and information hiding Object oriented programming principles Unified Modeling Language Software life-cycle models Key

More information

Object Orientated Analysis and Design. Benjamin Kenwright

Object Orientated Analysis and Design. Benjamin Kenwright Notation Part 2 Object Orientated Analysis and Design Benjamin Kenwright Outline Review What do we mean by Notation and UML? Types of UML View Continue UML Diagram Types Conclusion and Discussion Summary

More information

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L 2 0 1 5 Introduction UML Unified Modeling Language Very well recognized specification for modeling architectures, use cases, etc. UML

More information

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling

More information

A A B U n i v e r s i t y

A A B U n i v e r s i t y A A B U n i v e r s i t y Faculty of Computer Sciences O b j e c t O r i e n t e d P r o g r a m m i n g Week 4: Introduction to Classes and Objects Asst. Prof. Dr. M entor Hamiti mentor.hamiti@universitetiaab.com

More information

UNIT-II Introduction to UML

UNIT-II Introduction to UML UNIT-II Introduction to UML - P. P. Mahale UML OVERVIEW OF UML :- We need a Modeling Language! We will use the Unified Modeling Language, UML), Provides a standard for artifacts produced during development

More information

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved. Assoc. Prof. Dr. Marenglen Biba Laboratory Session: Exercises on classes Analogy to help you understand classes and their contents. Suppose you want to drive a car and make it go faster by pressing down

More information

OBJECT ORIENTED PROGRAMMING USING C++ CSCI Object Oriented Analysis and Design By Manali Torpe

OBJECT ORIENTED PROGRAMMING USING C++ CSCI Object Oriented Analysis and Design By Manali Torpe OBJECT ORIENTED PROGRAMMING USING C++ CSCI 5448- Object Oriented Analysis and Design By Manali Torpe Fundamentals of OOP Class Object Encapsulation Abstraction Inheritance Polymorphism Reusability C++

More information

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

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD Slides by: Shree Jaswal What is UML? 2 It is a standard graphical language for modeling object oriented software. It was developed in mid 90 s by collaborative

More information

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram Modeling with UML A language or notation intended for analyzing, describing and documenting all aspects of the object-oriented software system. UML uses graphical notations to express the design of software

More information

Interaction Modelling: Sequence Diagrams

Interaction Modelling: Sequence Diagrams Interaction Modelling: Sequence Diagrams Fabrizio Maria Maggi Institute of Computer Science (these slides are derived from the book Object-oriented modeling and design with UML ) Interaction Modelling

More information

The Object-Oriented Design Process

The Object-Oriented Design Process The Object-Oriented Design Process Part 1: Techniques & Tools OOdesignProcess 1 Program development In theory, 3 phase development process: Analysis: figure out the problem Design: develop the solution

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) 1 / 45 Unified Modeling Language (UML) Miaoqing Huang University of Arkansas 2 / 45 Outline 1 Introduction 2 Use Case Diagram 3 Class Diagram 4 Sequence Diagram 3 / 45 Outline 1 Introduction 2 Use Case

More information

Using the Xcode Debugger

Using the Xcode Debugger g Using the Xcode Debugger J Objectives In this appendix you ll: Set breakpoints and run a program in the debugger. Use the Continue program execution command to continue execution. Use the Auto window

More information

Inheritance. Inheritance Reserved word protected Reserved word super Overriding methods Class Hierarchies Reading for this lecture: L&L

Inheritance. Inheritance Reserved word protected Reserved word super Overriding methods Class Hierarchies Reading for this lecture: L&L Inheritance Inheritance Reserved word protected Reserved word super Overriding methods Class Hierarchies Reading for this lecture: L&L 9.1 9.4 1 Inheritance Inheritance allows a software developer to derive

More information

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML Objectives: 1. To introduce the notion of dynamic analysis 2. To show how to create and read Sequence

More information

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

ATM Use Cases. ID: CIS Title: Check Balance Description: Customer aims to know the balance in his/her account ID: CIS375-01 Title: Login Description: Customer logs into the system by inserting the card and entering pin code. Preconditions: Customer has a bank account and an ATM Card. Postconditions: Customer logged

More information

UNIT-4 Behavioral Diagrams

UNIT-4 Behavioral Diagrams UNIT-4 Behavioral Diagrams P. P. Mahale Behavioral Diagrams Use Case Diagram high-level behaviors of the system, user goals, external entities: actors Sequence Diagram focus on time ordering of messages

More information

BUSINESS ADVANTAGE USER GUIDE

BUSINESS ADVANTAGE USER GUIDE Table of Contents Getting Started... Account Summary...5 Navigation Tools...6 Account History...8 Quick Reference Guide...9 Frequently Asked Questions... Need Help?... Getting Started. Visit.. In the Online

More information

final Methods and Classes

final Methods and Classes 1 2 OBJECTIVES In this chapter you will learn: The concept of polymorphism. To use overridden methods to effect polymorphism. To distinguish between abstract and concrete classes. To declare abstract methods

More information

Administrivia. IBM Info Session Date: Wed,, Jan 13 Time: 5:30 7 pm Location: Wesbrook 100

Administrivia. IBM Info Session Date: Wed,, Jan 13 Time: 5:30 7 pm Location: Wesbrook 100 Department of Computer Science Undergraduate Events Events this week Drop-In Resume Edition Date: Mon. Jan 11 Time: 11 am 2 pm Location: Rm 255, ICICS/CS Industry Panel Speakers: Managers from IBM, Microsoft,

More information

1. Introduction to Object Oriented Software Development

1. Introduction to Object Oriented Software Development 1. Introduction to Object Oriented Software Development a) Object: A set of data together with some operations that can be performed on that data. Eg. Bank Account. Data can be account number, name of

More information

How to engineer a class to separate its interface from its implementation and encourage reuse.

How to engineer a class to separate its interface from its implementation and encourage reuse. 1 3 Introduction to Classes and Objects 2 OBJECTIVES In this chapter you ll learn: What classes, objects, member functions and data members are. How to define a class and use it to create an object. How

More information

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

Today s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading: CompSci 280 S2 2107 Introduction to Software Development Today s Agenda Topics: Introduction Activity Diagram Object interaction Sequence Diagram Reading: Booch G.,The Unified Modeling Language User Guide,

More information

Notation Part 1. Object Orientated Analysis and Design. Benjamin Kenwright

Notation Part 1. Object Orientated Analysis and Design. Benjamin Kenwright Notation Part 1 Object Orientated Analysis and Design Benjamin Kenwright Version Control Example Team Princess 3 Members 3 Github Users e.g., Elva1997, michelle0924hhx, KimJaeHwang Each user can join and

More information

Object-oriented design. More UML

Object-oriented design. More UML Object-oriented design More UML Interfaces An interface is a language construct specific to Java Java does not support multiple inheritance Interfaces provide some of the same functionality A Java class

More information

Basic Structural Modeling. Copyright Joey Paquet,

Basic Structural Modeling. Copyright Joey Paquet, Basic Structural Modeling Copyright Joey Paquet, 2000 1 Part I Classes Copyright Joey Paquet, 2000 2 Classes Description of a set of objects sharing the same attributes, operations and semantics Abstraction

More information

9.1 Introduction. Integrated Time class case study Preprocessor wrapper Three types of handles on an object. Class functions

9.1 Introduction. Integrated Time class case study Preprocessor wrapper Three types of handles on an object. Class functions 1 9 Classes: A Deeper Look, Part 1 OBJECTIVES In this chapter you ll learn: How to use a preprocessor p wrapper to prevent multiple definition errors caused by including more than one copy of a header

More information

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

Header Description: This use case describes how the ATM user withdraws cash from the ATM. Use Case: Withdraw Cash Use Case #: UC1 Author: Iteration: JAD Team Detailed Header Description: This use case describes how the ATM user withdraws cash from the ATM. Business Trigger(s): Customer needs

More information

Object-Oriented Programming: Polymorphism Pearson Education, Inc. All rights reserved.

Object-Oriented Programming: Polymorphism Pearson Education, Inc. All rights reserved. 1 10 Object-Oriented Programming: Polymorphism 2 A Motivating Example Employee as an abstract superclass. Lots of different types of employees (well, 4). Executing the same code on all different types

More information

PART A : MULTIPLE CHOICE Circle the letter of the best answer (1 mark each)

PART A : MULTIPLE CHOICE Circle the letter of the best answer (1 mark each) PART A : MULTIPLE CHOICE Circle the letter of the best answer (1 mark each) 1. An example of a narrowing conversion is a) double to long b) long to integer c) float to long d) integer to long 2. The key

More information

ATM Case Study, Part 2: Implementing an ObjectOriented Design

ATM Case Study, Part 2: Implementing an ObjectOriented Design 3 ATM Case Study, Part 2: Implementing an ObjectOriented Design You can t work in the abstract. I. M. Pei To generalize means to think. Georg Wilhelm Friedrich Hegel We are all gifted. That is our inheritance.

More information

Developing Shlaer-Mellor Models Using UML

Developing Shlaer-Mellor Models Using UML Developing Shlaer-Mellor Models Using UML Stephen J. Mellor Neil Lang Project Technology, Inc. 10940 Bigge Street San Leandro, California 94577 (510) 567-0255 http://www.projtech.com This position paper

More information

What is use case modeling? 10 - UML Overview. Use-Case diagrams CMPSCI520/620. Rick Adrion 2003 (except where noted) 1

What is use case modeling? 10 - UML Overview. Use-Case diagrams CMPSCI520/620. Rick Adrion 2003 (except where noted) 1 What is use case modeling? 10 - UML Overview use case model a view of a system that emphasizes the behavior as it appears to outside users. A use case model partitions system functionality into transactions

More information

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams in UML

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams in UML CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams in UML Objectives: 1. To introduce the notion of dynamic analysis 2. To show how to create and read Sequence Diagrams 3. To show

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) MODEL ANSWER

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) MODEL ANSWER Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate

More information

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae CS350 Lecture 2 Requirements Engineering Doo-Hwan Bae bae@se.kaist.ac.kr Contents Overview of Requirements Engineering OO Analysis: Domain modeling, Use-case, sequence, class Structured Analysis: Dataflow

More information

Object-Oriented Design and Modeling Using the UML

Object-Oriented Design and Modeling Using the UML Design Classes Object-Oriented Design and Modeling Using the UML Based on Chapter 18 of Whitten, Bentley, and Dittman: Systems Analysis and Design for the Global Enterprise (7th Ed). McGraw Hill. 2007

More information

UML UNIFIED MODELLING LANGUAGE EXEMPLIFIED ON BLACKJACK. Object Oriented Programming (Samy Zafrany)

UML UNIFIED MODELLING LANGUAGE EXEMPLIFIED ON BLACKJACK. Object Oriented Programming (Samy Zafrany) UML UNIFIED MODELLING LANGUAGE EXEMPLIFIED ON BLACKJACK 1 Theoretically, before we write object-oriented code for solving a problem, we need to design an abstract model which depicts the essential features

More information

STUDENT LESSON A5 Designing and Using Classes

STUDENT LESSON A5 Designing and Using Classes STUDENT LESSON A5 Designing and Using Classes 1 STUDENT LESSON A5 Designing and Using Classes INTRODUCTION: This lesson discusses how to design your own classes. This can be the most challenging part of

More information

UML (Unified Modeling Language)

UML (Unified Modeling Language) UML (Unified Modeling Language) UML Outline Software Institute of Nanjing University 2009 Instructor 刘嘉 (Liu Jia) Email : liujia@software.nju.edu.cn ext : 509 Office : 705 2 References [1] The Unified

More information

Chapter3: Introduction to Classes and Objects

Chapter3: Introduction to Classes and Objects Chapter3: Introduction to Classes and Objects Classes and Objects: Definitions Objectives What is an object What is a class UML representation of a class Objects and Instance variables Primitive types

More information

HSBC Talking ATMs. Instructions and Guidance Handbook

HSBC Talking ATMs. Instructions and Guidance Handbook HSBC Talking ATMs Instructions and Guidance Handbook This document provides detailed instructions and guidance on the use of our Talking ATMs. What is a Talking ATM? A Talking ATM is self-service machine

More information

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved.

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved. Java How to Program, 10/e Education, Inc. All Rights Reserved. Each class you create becomes a new type that can be used to declare variables and create objects. You can declare new classes as needed;

More information

Nextgen Transactions. Import Transactions. Local Government Corporation Resource /11/2014

Nextgen Transactions. Import Transactions. Local Government Corporation Resource /11/2014 Nextgen Transactions Presented by Bridget Clayton Local Government Corporation Resource 2014 Transaction Menu Options Import Transactions Transaction Batches Transactions Transaction Templates Post Transactions

More information

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak CSE 403: Software Engineering, Spring 2015 courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams Emina Torlak emina@cs.washington.edu Outline Designing classes Overview of UML UML class diagrams

More information

The Unified Modeling Language. Asst.Prof.Dr. Supakit Nootyaskool IT-KMITL

The Unified Modeling Language. Asst.Prof.Dr. Supakit Nootyaskool IT-KMITL The Unified Modeling Language Asst.Prof.Dr. Supakit Nootyaskool IT-KMITL UML: requirement VS. Design models Identify 2 All the classes or things Elementary business process Necessary step to carry out

More information

Inheritance and Polymorphism

Inheritance and Polymorphism Object Oriented Programming Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. Al-Azhar University Website: eaymanelshenawy.wordpress.com Email : eaymanelshenawy@azhar.edu.eg

More information

Defining Classes and Methods

Defining Classes and Methods Defining Classes and Methods Chapter 4 Chapter 4 1 Basic Terminology Objects can represent almost anything. A class defines a kind of object. It specifies the kinds of data an object of the class can have.

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies REQUIREMENTS GATHERING AND ANALYSIS The analyst starts requirement gathering activity by collecting all information that could be useful to develop system. In practice it is very difficult to gather all

More information

COMP 354: INTRODUCTION TO SOFTWARE ENGINEERING

COMP 354: INTRODUCTION TO SOFTWARE ENGINEERING COMP 354: INTRODUCTION TO SOFTWARE ENGINEERING Introduction to UML d_sinnig@cs.concordia.ca Department for Computer Science and Software Engineering 28-May-14 Unified Modeling Language Structural Diagrams

More information

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

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1. Outline of UML and Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule Feb. 27th 13:00 Scope and Goal 14:30 Basic Concepts on Representing the World (object, class, association,

More information

UML Component Diagrams A.Y 2018/2019

UML Component Diagrams A.Y 2018/2019 UML Component Diagrams A.Y 2018/2019 Component diagrams Component diagrams are integral to building your software system. Drawn out with UML diagramming software, they help your team understand the structure

More information

CS1004: Intro to CS in Java, Spring 2005

CS1004: Intro to CS in Java, Spring 2005 CS1004: Intro to CS in Java, Spring 2005 Lecture #13: Java OO cont d. Janak J Parekh janak@cs.columbia.edu Administrivia Homework due next week Problem #2 revisited Constructors, revisited Remember: a

More information

OBJECT ORIENTED MODELLING & DESIGN 1

OBJECT ORIENTED MODELLING & DESIGN 1 OBJECT ORIENTED MODELLING & DESIGN 1 Contents 1. OBJECT ORIENTED CONCEPTS... 6 OBJECT... 6 CLASS... 6 CLASS vs OBJECT... 6 WHAT IS OBJECT ORIENTED?... 6 OBJECT ORIENTED METHODOLOGY... 7 ADVANTAGES OF OBJECT

More information

Allenhouse Institute of Technology (UPTU Code : 505) OOT Notes By Hammad Lari for B.Tech CSE V th Sem

Allenhouse Institute of Technology (UPTU Code : 505) OOT Notes By Hammad Lari for B.Tech CSE V th Sem UNIT-1 ECS-503 Object Oriented Techniques Part-1: Object-Oriented Programming Concepts What Is an Object? Objects are key to understanding object-oriented technology. Look around right now and you'll find

More information

CASH MANAGEMENT HOW-TO

CASH MANAGEMENT HOW-TO Vision Municipal Solutions CASH MANAGEMENT How-To Guide Contents Set-Up... 4 Changing Your Default Period... 4 How to Change Your Default Period... 4 Payment Centers... 4 Adding a Payment Center... 4 Drawers...

More information

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 11 - DtildSft Detailed Software Design

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 11 - DtildSft Detailed Software Design SWE 621: Software Modeling and Architectural Design Lecture Notes on Software Design Lecture 11 - Detailed Software Design Hassan Gomaa Dept of Computer Science George Mason University it Fairfax, VA Copyright

More information

Models are used for several purposes. We believe that some of the most important are:

Models are used for several purposes. We believe that some of the most important are: Course: Objekt orientated programming, extending course Supervisor: Authors: Marc Mikael Karlsson, Sandberg Fredrik Fahlman and Martin Mileros Mälardalens Högskola, spring-2000 UML Contents 1. Introduction...

More information

Introduction to OOP Using Java Pearson Education, Inc. All rights reserved.

Introduction to OOP Using Java Pearson Education, Inc. All rights reserved. 1 1 Introduction to OOP Using Java 2 Introduction Sun s implementation called the Java Development Kit (JDK) Object-Oriented Programming Java is language of choice for networked applications Java Enterprise

More information

The Final Exam Paper. Duration: 2 hours Reading: 15 minutes Total marks: 65 Hurdle: 32.5

The Final Exam Paper. Duration: 2 hours Reading: 15 minutes Total marks: 65 Hurdle: 32.5 Review Lectures 1 The Final Exam Paper Duration: 2 hours Reading: 15 minutes Total marks: 65 Hurdle: 32.5 2 The Structure Sections Questions Marks Multiple Choice Short Answer Long Answer Total 22 6 3

More information

ECE 462 Object-Oriented Programming using C++ and Java. Flickering and Double Buffering

ECE 462 Object-Oriented Programming using C++ and Java. Flickering and Double Buffering ECE 462 Object-Oriented Programming g using C++ and Java Flickering and Double Buffering Yung-Hsiang Lu yunglu@purdue.edu d YHL Double Buffering 1 Flickering YHL Double Buffering 2 No Flickering YHL Double

More information

University of Swaziland Department OfComputer Science Main Examination December 2016

University of Swaziland Department OfComputer Science Main Examination December 2016 University of Swaziland Department OfComputer Science Main Examination December 2016 Title of paper : C under Linux Course number : CS344 Time Allowed : Three (3) hours Instructions: Answer ALL Questions

More information

12/22/11. Java How to Program, 9/e. public must be stored in a file that has the same name as the class and ends with the.java file-name extension.

12/22/11. Java How to Program, 9/e. public must be stored in a file that has the same name as the class and ends with the.java file-name extension. Java How to Program, 9/e Education, Inc. All Rights Reserved. } Covered in this chapter Classes Objects Methods Parameters double primitive type } Create a new class (GradeBook) } Use it to create an object.

More information

In this Lecture you will Learn: Object Design. Information Sources for Object Design. Class Specification: Attributes

In this Lecture you will Learn: Object Design. Information Sources for Object Design. Class Specification: Attributes In this Lecture you will Learn: Object Design Chapter 14 How to apply criteria for good design How to design associations The impact of integrity constraints on design How to design operations The role

More information

CS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class

CS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class CS112 Lecture: Defining Classes Last revised 2/3/06 Objectives: 1. To describe the process of defining an instantiable class Materials: 1. BlueJ SavingsAccount example project 2. Handout of code for SavingsAccount

More information

Introduction to Object-Oriented Programming

Introduction to Object-Oriented Programming Introduction to Object-Oriented Programming Objects and classes Abstract Data Types (ADT). Encapsulation OOP: Introduction 1 Pure Object-Oriented Languages Five rules [Source: Alan Kay]: Everything in

More information

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-Oriented Systems Development: Using the Unified Modeling Language Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 8: Identifying Object Relationships, Attributes, and Methods Goals Analyzing relationships among classes. Identifying association.

More information

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Modeling Applications using Language Mappings Programmer s Reference Manual How to use this Reference Card: The consists of a set of fundamental modeling elements which appear

More information