1 Chapter 2 (Cont.) The BA’s Perspective on Object Orientation.

Slides:



Advertisements
Similar presentations
Design by Contract.
Advertisements

Systems Analysis and Design 8th Edition
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Unified Modeling Language
Ch 12: Object-Oriented Analysis
UML Class Diagram. UML Class Diagrams2 Agenda What is a Class Diagram? Essential Elements of a UML Class Diagram Tips.
Object-Oriented Analysis and Design
Department of Computing
Using Diagrams to Represent Program Structure OMT and UML Some pictures and material are from “Design Patterns” by Gamma et al.
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter Chapter 1 Introduction to Object-Oriented Programming and.
Slide 1 Chapter 7 Structural Modeling. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 1 Introduction to Object-Oriented Programming.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
Use Case Diagram (UCD) Yong Choi BPA.
PRJ566: PROJECT PLANNING AND MANAGEMENT Class Diagrams.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter Chapter 1 Introduction to Object-Oriented Programming and.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 1: Introduction to Object-Oriented Programming.
1 A Student Guide to Object- Orientated Systems Chapter 4 Objects and Classes: the basic concepts.
© 2005 course technology1 1 University Of Palestine UML for The IT Business Analyst A practical guide to Object Oriented Requirement Gathering Hoard Podeswa.
Unified Modeling Language, Version 2.0
1 UML for The IT Business Analyst A practical guide to Object Oriented Requirement Gathering Hoard Podeswa Instructor: Mrs. Eman ElAjrami 2008 University.
R McFadyen Chapter 7 Conceptual Data Modeling.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Faculty of Computer & Information Software Engineering Third year
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Object-Oriented Software Development F Software Development Process F Analyze Relationships Among Objects F Class Development F Class Design Guidelines.
Faculty of Computer & Information
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Systems Analysis & Design 7 th Edition Chapter 5.
Systems Analysis and Design 8 th Edition Chapter 6 Object Modeling.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
BCS 2143 Object Oriented Design Using UML. Objectives Objects Interactions Finding Classes Relationship Between Classes Attribute and Operation Class.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
Design Model Lecture p6 T120B pavasario sem.
Class Modeling Design Class diagram. Classes The term “class ” refers to a group of objects that share a common attributes and common behaviour (operations).
Object-Oriented Analysis and Design CHAPTERS 9, 31: DOMAIN MODELS 1.
Scenario A scenario is a sequence of steps describing an interaction between a user and a system. Use case is a set of scenarios tied together by a common.
Encapsulation ◦ Blackbox concept Data and method(s) Hidden details InterfaceEffect(s) methods called class.
CS212: Object Oriented Analysis and Design Lecture 33: Class and Sequence Diagram.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
UML (Unified Modeling Language)
McGraw-Hill/Irwin© 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 17 Object-Oriented Design and Modeling Using the UML.
1 SWE Introduction to Software Engineering Lecture 14 – System Modeling.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
CHAPTER 6 OBJECT ANALYSIS.
UML CSE 470 : Software Engineering. Unified Modeling Language UML is a modeling language to express and design documents, software –Particularly useful.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Object-Oriented Analysis and Design
Unified Modeling Language
OO Domain Modeling With UML Class Diagrams and CRC Cards
Subclasses Chapter 11 Copyright © 2000 W. W. Norton & Company.
Software Engineering System Modeling Chapter 5 (Part 2) Dr.Doaa Sami
Software Engineering System Modeling Chapter 5 (Part 2) Dr.Doaa Sami
CSC 205 Java Programming II
OO Domain Modeling With UML Class Diagrams and CRC Cards
Chapter 10 Defining Classes. Chapter 10 Defining Classes.
Object Oriented Analysis and Design
Domain Class Diagram Chapter 4 Part 2 pp
UML Class Diagram.
Object Oriented Analysis and Design
Copyright 2007 Oxford Consulting, Ltd
Chapter 5.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

1 Chapter 2 (Cont.) The BA’s Perspective on Object Orientation

2 OO Concept: Relationships We often define one class in terms of another class. For example, a Car is a kind of a Vehicle. Both Car and Vehicle are classes. The phrase “a kind of ” describes a relationship between the two classes. The UML defines a number of types of relationships that are useful to the BA: generalization, association, aggregation, and composition.

3 OO Concept: Generalization Generalization: A taxonomic relationship between a more general classifier and a more specific classifier. Each instance of the specific classifier is also an indirect instance of the general classifier. Thus the specific classifier indirectly has features of the more general classifier. When an object belongs to a specialized class (for example, Samsung camera phone), this automatically implies that it belongs to a generalization of that class (for example, mobile phone.) Furthermore, any attribute or operation that applies to the generalized class also applies to the specialized class.

4 Other terms in use: Generalized Class Specialized Class Super class Subclass Base class Derived class Parent Child The idea that a specialized class automatically adopts the attributes and operations of its generalized class is given a special name in OO— inheritance.

5 Inheritance: Inheritance: The mechanism by which more specific elements incorporate structure and behavior of more general elements. That means: Inheritance refers to the mechanism by which a specialized class adopts—that is, inherits—all the attributes and operations of a generalized class.

6 Inheritance Example: class BankAccount{ protected: char* Name; char* SSNum; char* AccountNum; float Balance; public: BankAccount (char* name, char* ssnum); void Deposit (float amount, char* accnum); void Withdraw(float amount, char* accnum); void PrintBalance(char* accnum); } The base class BankAccount has four variables: Name, SSNum,AccountNum, Balance

7 Inheritance Example: (cont.) We therefore derive two subclasses that inherit from the above parent class. They are SavingsAccount and Checking Account. class SavingsAccount: public BankAccount{ private: float InterestRate; float MinimumBalance; } class CheckingAccount: public BankAccount{ private: float MonthlyFee; } Sub Class, Child Class Sub Class, Child Class

8 The BA Perspective on Generalization & Inheritance You look for classes of business objects that are subtypes of a more general type For example, Chequing Account and Savings Account are two kinds (specialized classes) of Accounts. Then you document which attributes and operations apply to all Accounts, which apply only to Chequing Accounts, and which to Savings Accounts. By structuring your requirements this way, you only have to document rules common to all account types once.

9 Use Cases and Scenarios A use case is a description of how end-users will use a software code. It describes a task or a series of tasks that users will accomplish using the software, and includes the responses of the software to user actions. Use cases may be included in the Software Requirements Document (SRD) as a way of specifying the end-users' expected use of the software

10 Other Definition of Use Case: A use case is a set of scenarios that describing an interaction between a user and a system. A use case diagram displays the relationship among actors and use cases. The two main components of a use case diagram are use cases and actors. An actor is represents a user or another system that will interact with the system you are modeling. A use case is an external view of the system that represents some action the user might perform in order to complete a task.

11 Use Cases and Scenarios (cont.) Scenario: A specific sequence of actions that illustrates behaviors. A scenario may be used to illustrate an interaction or the execution of a use-case instance. For example, the Make bill payment use case may play out in one of the following ways: Scenario 1: Attempt to make a payment and succeed in doing so. Scenario 2: Attempt to make a payment from an account and fail because there is a hold on the account.

12 How to Draw Use Cases Diagrams?? Start by listing a sequence of steps a user might take in order to complete an action. For example a user placing an order with a sales company might follow these steps: 1. Browse catalog and select items. 2. Call sales representative. 3. Supply shipping information. 4. Supply payment information. 5. Receive conformation number from salesperson.

13 How to Draw: Use Cases Diagrams??

14 The BA Perspective on Use Case: During dynamic analysis, you identify and document the use cases of the system—what the users want to do with it. You do this by identifying and describing its scenarios—all the ways it could play it. These use cases and scenarios are your user requirements.

15 Business and System Use Cases Over time, practitioners began to distinguish between two kinds of use cases: business use cases and systems use cases. A use case (unqualified) refers to an interaction with any type of system. The question is, what type of system is being referring to? A business use case is an interaction with a business system. For example, Process Claimمطالبة is a business use case describing an interaction with an insurance company.

16 Business and System Use Cases (cont.) A system use case is an interaction with an IT system. For example, system use cases that support the above business use case are Record Claim, Validate Coverage, Assign Adjuster, and so on. Each of these describes an interaction between a user and the computer system.

17 The BA Perspective on Business and System Use Cases 1. Early in a project, you identify and describe the business use cases that the IT project will impact. 2. Next, you analyze each business use case, looking for activities that will the IT project will cover. You group these activities into system use cases, taking care to ensure that each system use case gives the user something of real benefit. These system use cases then drive the whole development process.