SlideShare a Scribd company logo
Object Oriented Software Modeling and Design  CE 350 Abdel-Karim Al-Tamimi, Ph.D. [email_address] http://faculty.yu.edu.jo/altamimi Al-Tamimi 2011 ©
Overview Documenting a Use-case Diagram Developing a Use-case Diagram Al-Tamimi 2011 ©
Documenting Use-Cases A use-case is a description of what a system is used for, and who uses it,  without providing details  of how it performs its functions  A use-case description serves as an agreed description between the user and the system designer on the flow of events that would happen when a use case is invoked A use-case description is explained and elaborated through  scenarios  (a set of sequences of actions)  Each of these scenarios is simply  an instance of the use-case Use-cases are text documents not diagrams Al-Tamimi 2011 ©
Documenting Use-Cases Al-Tamimi 2011 ©
Documenting Use-Cases Al-Tamimi 2011 ©
Importance of Use-Cases The use case model is not only useful for requirements specification but also for  planning  the work in different phases of the system development life cycle Since the use case model should be understandable by both the system developer and the user, it is quite natural to plan the development of the system by  scheduling  the completion dates of the use cases in the use case model Al-Tamimi 2011 ©
Use-Case Formats Use-cases are written in different formats and levels of formality: Brief : usually a one paragraph summary, usually the main success scenario Casual : informal paragraph format. Multiple paragraphs that cover various scenarios Fully dressed : all steps and variations are written in detail, and there are supporting sections, such as preconditions and success guarantees Al-Tamimi 2011 ©
Use-Case Template Example Part 1 Al-Tamimi 2011 © Use case name Name of the use case Use case ID ID of the use case Super use case The name of the generalized use case to which this use-case belongs Actor(s) The name of the actor(s) who participates in the use case Brief description A description showing how this use case adds value to the organization, that is, what the  purpose or role  of this use case is in enabling the actors to do their job Preconditions The conditions that must be satisfied before this use case can be invoked Post-conditions The conditions that will be established as a result of invoking this use case sucessfully
Use-Case Template Example Part 2 Al-Tamimi 2011 © Flow of events A step-by-step description of the  interactions  between the actor(s) and the system, and the  functions  that must be performed in the specified sequence to achieve a user goal Alternative flows and exceptions Major alternatives or exceptions that may occur in the flow of events Priority The development priority of this use case Non-behavioral requirements The  non-functional requirements  of the system such as hardware and software platform requirements, performance, security, … etc Assumptions All the assumptions made about the use case Issues All outstanding issues regarding the use case Source Reference materials relevant to the use case
Use-Cases Prioritization The following factors typically increase the priority ranking of a use case: Architectural significance of the use case Use of new and untested technologies Problems which require substantial research effort Great improvement in efficiency (or revenue) of the business process; and Use cases that support major business processes Al-Tamimi 2011 ©
Al-Tamimi 2011 ©
Packages Packages should be used where appropriate to make the use-case diagram more easily understood  Use cases that form a natural grouping should be organized into packages Al-Tamimi 2011 ©
Developing an initial use case model Developing the problem statement Identifying the major actors and use-cases Creating an initial use-case diagram Describing briefly the use-cases (with initial descriptions) Identifying/refining candidate business (domain) classes using textual analysis Refining the use case model Developing base use-case descriptions Structuring Use-Cases :  Iteratively elaborating on the base use-case descriptions and determining the  extend ,  include  and  generalization  relationships Developing instance scenarios Prioritizing use-cases Developing Use-Cases Steps Al-Tamimi 2011 ©
Developing An Initial Use-Case Model Developing the problem statement Identifying the major actors and use-cases Creating an initial use-case diagram Describing briefly the use-cases (with initial descriptions) Identifying/refining candidate business (domain) classes using textual analysis
Step 1 : Developing the Problem Statement The chief executive officer of a  mail order company  is interested in computerizing the company’s business process in order to improve operational efficiency. The major business activities of the company can be briefly described as follows: A  customer   registers  to become a member by  filling in the membership form and mailing it  to the company. A member who has not been active (no transactions) for a period of one year will be removed from the membership list and he/she needs to apply for  reinstatement  of the lapsed membership Al-Tamimi 2011 ©
Step 1 : Developing the Problem Statement A member should  inform  the company of any change in personal details, such as home address, telephone numbers, etc A member can  place an order  by filling out a sales order form and faxing it to the company or by phoning the  Customer Service Assistant  with the order details The  Customer Service Assistant checks the validity  of membership and then  enters  the sales order  information  into the system Al-Tamimi 2011 ©
Step 1 : Developing the Problem Statement The  Order Processing Clerk checks  the availability of the ordered items and,  if  they are available,  holds them  for the order. When all the ordered items are available, the Order Processing Clerk will  schedule  their delivery.  The  Inventory Control Clerk controls  and  maintains  an appropriate level of stock and is also responsible for  acquiring  new items. Al-Tamimi 2011 ©
Step 1 : Developing the Problem Statement If there is a problem with an order, the member will  phone  the  Customer Service Assistant , who will then take appropriate action to follow up the particular sales order Members may  return  defective goods  within 30 days  and  get  their money back The system will  record  the name of the staff member who handles the transaction for future follow up action Al-Tamimi 2011 ©
Step 2-a : Identifying the Major Actors Actors from the client point of view: Customer Service Assistant Order Processing Clerk Inventory Control Clerk Actor Specification: Al-Tamimi 2011 © Actor name:  Order Processing Clerk  Description:  The Order Processing Clerk is responsible for processing sales orders, submitting reorder requests, requesting necessary deposits from members and scheduling the delivery of the goods to members
Step 2-b : Identifying the Use-Cases The following questions may be useful in collecting information from users: What are the main tasks carried out by each actor? What data are manipulated and processed by the system?  What problems is the system going to solve?  What goals does an actor want to achieve using the system? What are the major problems with the current system and how could the proposed system simplify the work of the user? Al-Tamimi 2011 ©
Step 2-b : Identifying the Use-Cases Check order status Place order Handle goods return Update membership record Archive membership Register new member Process order Schedule delivery Order goods Receive goods Deliver goods Al-Tamimi 2011 ©
Step 3 :  Creating an initial use-case diagram Al-Tamimi 2011 ©
Step 4 :  Describing briefly the Use-Cases  An Initial Use Case Description of the  Schedule Delivery Use-Case :  Al-Tamimi 2011 © Use case:  Schedule Delivery Use case ID:  UC-300 Actor:  Order Processing Clerk Description: The Order Processing Clerk selects an order from the list of filled sales orders. The system displays the sales order details, and the member’s telephone number and address are displayed.  The Order Processing Clerk enters the delivery date and time after talking with the member over the phone. The system records the delivery date and time in a dispatch request to the delivery team.
Step 4 :  Describing briefly the Use-Cases  An Initial Use Case Description of the Check Order Status Use-Case: Al-Tamimi 2011 © Use case:  Check Order Status Use case ID:  UC-400 Actor:  Customer Service Assistant Description:  The Customer Service Assistant enters the ID of the member. The Customer Service Assistant selects a sales order of the member. The system displays the status of the sales order.
Step 5 :  Identifying/refining candidate business (domain) classes using textual analysis To identify the objects and classes, perform a textual analysis to extract  all nouns  and  noun phrases  from the problem statement  The following categories are more likely to represent objects: Tangible things (e.g. classroom, playground) Conceptual things (e.g. course, module) Events (e.g. test, examination, seminar) Outside organizations (e.g. publisher, supplier) Roles played (e.g. student, teacher, principal) Other systems (e.g. admission system, grade reporting system) Al-Tamimi 2011 ©
Step 5 :  Identifying/refining candidate business (domain) classes using textual analysis Al-Tamimi 2011 © Use case:  Schedule Delivery Use case ID:  UC-300 Actor:  Order Processing Clerk Description: The  Order Processing Clerk  selects an  order  from the list of filled  sales orders . The  system  displays the  sales order   details,  member’s telephone number  and  address .  The  Order Processing Clerk  enters the  delivery date  and  time  after talking with the  member  over the  phone . The  system  records the  delivery date  and  time  in a  dispatch request  to the  delivery team .
Step 5 :  Identifying/refining candidate business (domain) classes using textual analysis Al-Tamimi 2011 ©
Refining the Use-Case Model Developing base use-case descriptions Structuring Use-Cases :  Iteratively elaborating on the base use-case descriptions and determining the  extend ,  include  and  generalization  relationships  Developing instance scenarios Prioritizing use-cases
Basic Flow List the basic events that will occur when this use case is executed Include all the primary activities that the use case will perform Be fairly descriptive when defining the actions performed  by the actor and the response of the use case to those actions This description of actions and responses are your functional requirement This will be the basis for writing the test case scenarios for the system Al-Tamimi 2011 ©
Alternative Flow Any subsidiary events that can occur in the use case should be listed separately Each such event  should be completed  in itself to be listed as an alternative flow If there are too many alternatives flows, you need to revisit your design to make it simpler, or break the use case into smaller units Al-Tamimi 2011 ©
Alternative Flow One way to look at it    they are really all the same thing by different names:  Optional flows  implies that the behavior is optional and doesn't always need to be performed Alternative flows  implies some sort of alternative decision is taken Exception flows  implies that something other than the ordinary has occurred  Al-Tamimi 2011 ©
Basic vs. Exception vs. Alternative Flows Basic Flow  is the normal flow of action in an application. For example, in the login page after entering user name and password the next screen should appear is the basic flow Exception flow  are the activities in case of the exception thrown. They are the flow of events which will happen in case of the error Alternate flow  are the alternative actions that can be performed. For example in the login page the alternative flow will be checking the existence of the user name entered Al-Tamimi 2011 ©
Basic vs. Alternative Flow Al-Tamimi 2011 ©
Basic vs. Alternative vs. Exception Flows Al-Tamimi 2011 © Basic Flow Alternate Flow 1 Alternate Flow 2 Alternate Flow 3 Alternate Flow 4 Exception Flow 1 Exception Flow 2 Exception Flow 3
Step 1 :  Developing base use-case descriptions Al-Tamimi 2011 © Use case name Place Order  Use case ID UC-100 Super use case The name of the generalized use case to which this use case belongs. Actor(s) Customer Service Assistant  Brief description A Customer Service Assistant places an order and then submits it for processing. Preconditions The member must have registered with the system. Post-conditions The Customer’s order will be directed to the order processing department for processing.
Step 1 :  Developing base use-case descriptions Al-Tamimi 2011 © Flow of events The Customer Service Assistant finds the member’s record by entering the member’s ID or name. The system displays a list of members which match the information entered by the Customer Service Assistant.  The Customer Service Assistant selects the required member record. The system displays the details of the member. The Customer Service Assistant selects “Place Order”. A new order form and order ID are then generated and displayed.  The Customer Service Assistant selects items from the catalog and adds them to the order.  The Customer Service Assistant submits the order for processing. The system records the order and forwards it to the Order Processing Clerk.
Step 1 :  Developing base use-case descriptions Al-Tamimi 2011 © Alternative flows and exceptions At any time the Customer Service Assistant can decide to suspend the ordering process and come back to it later, or to cancel the order. Priority High Non-behavioral requirements The system should be able to handle 20,000 new orders per day. Assumptions Issues Is there any limit on the amount of an order? Source User Interview Memo 21, 8/9/01
Step 2 : Structuring Use-Cases Al-Tamimi 2011 ©
Step 2 : Structuring Use-Cases Al-Tamimi 2011 © Use case name Place Order  Use case ID UC -100 Super use case Actor(s) Customer Service Assistant  Brief description A Customer Service Assistant places an order and then submits it for processing. Preconditions The member must have registered with the system. Post-conditions The Customer’s order will be directed to the order processing department for processing. Flow of events Include  ( Find Member Record ). The Customer Service Assistant selects “Place Order”. A new order form and order ID are then generated and displayed.  The Customer Service Assistant selects items from the catalog and adds them to the order.  The Customer Service Assistant submits the order for processing. The system records the order and forwards it to the Order Processing Clerk.
Step 2 : Structuring Use-Cases Al-Tamimi 2011 © Use case name Find Member Record Use case ID UC-10 Brief description A member record is requested. Post-conditions A membership record is returned. Flow of events The Customer Service Assistant finds the member record by entering the member’s ID or name. The system displays a list of members which match the information entered by the Customer Service Assistant.  The Customer Service Assistant selects the required member record. The system then displays the details of that member. Alternative flows and exceptions No member record is found for the customer.
Step 3 : Developing Instance Scenarios A use case specifies all possible ways of using a system functionality to achieve a user goal Sometimes, it is necessary to write some  examples (instance scenarios)  to illustrate the execution of a complex use case Instance scenarios are easier for the user to understand, and they are very useful for clarifying any ambiguity in the use case description The instance scenarios can also serve as  test cases  for system testing Al-Tamimi 2011 ©
Step 3 : Developing Instance Scenarios Al-Tamimi 2011 © Parent use case name Place Order Parent use case ID UC-100 Instance name A sales order form is received but the membership number is missing.  Instance ID UCIS-100-1 Environmental conditions and assumptions The name (Peter Chan) and signature of the member are available in the system. Inputs A sales order form
Step 3 : Developing Instance Scenarios Al-Tamimi 2011 © Instance flow description The Customer Service Assistant enters “Peter Chan” to find the member record. The system then displays a list of members which match the member’s name.  The Customer Service Assistant repeatedly selects a member record. The system displays the signature of the member when a member record is selected.  The Customer Service Assistant selects “Place Order”. A new order form and order ID are then generated and displayed.  The Customer Service Assistant selects items from the catalog and adds them to the order.  The Customer Service Assistant submits the order for processing. The system records the order and forwards it to the Order Processing Clerk. Outputs The sales order is placed.
Step 4 : Prioritizing Use-Cases Al-Tamimi 2011 © Priority Rank Use Case Reason High Process Order Directly improves the efficiency of the business process and affects the system architecture. High Place Order Same as above High Find Member Record Included as part of the Place Order use case. Medium Order Goods Ordering goods is less often than processing order but still is one of the major business processes. Medium Deliver Goods Can improve the control of stock level. Low Update Membership Record Small impact on the system architecture. Low Register New Member Same as above.
Resources Object Oriented Technology, By Tsang chapter 3 Tsang slides Chapter 6, Applying UML and Patterns Al-Tamimi 2011 ©

More Related Content

PDF
Lecture04- Use Case Diagrams
artgreen
 
PDF
Aras and Developing Deployment Use Cases and Requirements
Aras
 
PPT
Lecture04- Use Case Diagrams
artgreen
 
PDF
Webinar: The Use Case Study An Overview
_RequirementOne
 
PPT
Lecture09
artgreen
 
PPT
Lecture07
artgreen
 
PPT
Lecture06
artgreen
 
PDF
Lecture12
artgreen
 
Lecture04- Use Case Diagrams
artgreen
 
Aras and Developing Deployment Use Cases and Requirements
Aras
 
Lecture04- Use Case Diagrams
artgreen
 
Webinar: The Use Case Study An Overview
_RequirementOne
 
Lecture09
artgreen
 
Lecture07
artgreen
 
Lecture06
artgreen
 
Lecture12
artgreen
 

What's hot (17)

PPT
Lecture11
artgreen
 
PPT
Lecture08
artgreen
 
PPT
Use Case Model
Ali Nguyen
 
PPT
Domain model
Eagle Eyes
 
PDF
Lecture02
artgreen
 
PPT
Chapter 7 Use Case Model
Mae Abigail Banquil
 
PPT
Uml diagrams usecase
SandhyaTatekalva
 
PDF
Case study-the next gen pos
Vignesh Saravanan
 
PPTX
Use case diagrams 2014
Inge Powell
 
PPT
Use case modeling
Wajahat Hasnain
 
PPT
Use Case Modeling
Venkat Srinivasan
 
PDF
Use Case TABLE with Actors & Goals
Putcha Narasimham
 
PPTX
Use case diagram
City University
 
PPT
2b writing good use cases
Châu Thanh Chương
 
PDF
Writing Good Use Cases
IBM Rational software
 
PDF
Use Case diagram-UML diagram-2
Ramakant Soni
 
PPT
Use Cases A Comprehensive Look
telab
 
Lecture11
artgreen
 
Lecture08
artgreen
 
Use Case Model
Ali Nguyen
 
Domain model
Eagle Eyes
 
Lecture02
artgreen
 
Chapter 7 Use Case Model
Mae Abigail Banquil
 
Uml diagrams usecase
SandhyaTatekalva
 
Case study-the next gen pos
Vignesh Saravanan
 
Use case diagrams 2014
Inge Powell
 
Use case modeling
Wajahat Hasnain
 
Use Case Modeling
Venkat Srinivasan
 
Use Case TABLE with Actors & Goals
Putcha Narasimham
 
Use case diagram
City University
 
2b writing good use cases
Châu Thanh Chương
 
Writing Good Use Cases
IBM Rational software
 
Use Case diagram-UML diagram-2
Ramakant Soni
 
Use Cases A Comprehensive Look
telab
 
Ad

Similar to Lecture05 (20)

PPTX
02-use_cases in Unified modeling languages
NALESVPMEngg
 
PPT
Lecture04- Use Case Diagrams
artgreen
 
PPT
lecture 04 use cases unified modelling language
CarmenElizabeth13
 
PPT
Use case diagram with example of illustration
Sivam Chinna
 
PPT
Defining The System
Sandeep Ganji
 
DOCX
Design Implementation ProposalDesign Implementation Proposal.docx
theodorelove43763
 
PPT
Reqs analysis
Dr. C.V. Suresh Babu
 
PDF
Lecture7 use case modeling
Shahid Riaz
 
PPTX
OOAD U1.pptx
anguraju1
 
DOCX
Software Requirements ElicitationRequirements specify a set of f.docx
whitneyleman54422
 
DOCX
PAGE 1Running Head Information System management PAGE 5I.docx
MARRY7
 
DOCX
UNIT 4 REFINING THE SYSTEM DEFINITION.docx
jeevaakatiravanhod
 
PPTX
ETRS Proposal - Acme Rental
EvettMarban1
 
PPTX
ETRS Proposal - Acme Rental
EvettMarban1
 
PDF
Workshop on requirements and modeling at HAE 2015
Olivier Béghain
 
PPTX
Foundation data for ITSM Change Management
Saurabh Sole
 
PPTX
Electronic Transactional Records System Proposal
EvettMarban1
 
DOCX
includes the followingBusiness Case InvestigationIdenti.docx
annettsparrow
 
PDF
Systems request
Fajar Baskoro
 
DOCX
ISFM-300 Case Study, Stage 3 IT Requirements Before you .docx
priestmanmable
 
02-use_cases in Unified modeling languages
NALESVPMEngg
 
Lecture04- Use Case Diagrams
artgreen
 
lecture 04 use cases unified modelling language
CarmenElizabeth13
 
Use case diagram with example of illustration
Sivam Chinna
 
Defining The System
Sandeep Ganji
 
Design Implementation ProposalDesign Implementation Proposal.docx
theodorelove43763
 
Reqs analysis
Dr. C.V. Suresh Babu
 
Lecture7 use case modeling
Shahid Riaz
 
OOAD U1.pptx
anguraju1
 
Software Requirements ElicitationRequirements specify a set of f.docx
whitneyleman54422
 
PAGE 1Running Head Information System management PAGE 5I.docx
MARRY7
 
UNIT 4 REFINING THE SYSTEM DEFINITION.docx
jeevaakatiravanhod
 
ETRS Proposal - Acme Rental
EvettMarban1
 
ETRS Proposal - Acme Rental
EvettMarban1
 
Workshop on requirements and modeling at HAE 2015
Olivier Béghain
 
Foundation data for ITSM Change Management
Saurabh Sole
 
Electronic Transactional Records System Proposal
EvettMarban1
 
includes the followingBusiness Case InvestigationIdenti.docx
annettsparrow
 
Systems request
Fajar Baskoro
 
ISFM-300 Case Study, Stage 3 IT Requirements Before you .docx
priestmanmable
 
Ad

More from artgreen (11)

PDF
Ce350 class project_spring2011_v1.5
artgreen
 
PPT
Lecture10.5
artgreen
 
PPT
Lecture10
artgreen
 
PPT
Lecture09
artgreen
 
PPT
Lecture08 examples
artgreen
 
PPT
Lecture07 examples
artgreen
 
PPT
Lecture05
artgreen
 
PPT
Lecture05
artgreen
 
PPT
Lecture05
artgreen
 
PPT
Lecture-03 Introduction to UML
artgreen
 
PPT
Lecture01
artgreen
 
Ce350 class project_spring2011_v1.5
artgreen
 
Lecture10.5
artgreen
 
Lecture10
artgreen
 
Lecture09
artgreen
 
Lecture08 examples
artgreen
 
Lecture07 examples
artgreen
 
Lecture05
artgreen
 
Lecture05
artgreen
 
Lecture05
artgreen
 
Lecture-03 Introduction to UML
artgreen
 
Lecture01
artgreen
 

Recently uploaded (20)

PDF
Virat Kohli- the Pride of Indian cricket
kushpar147
 
PPTX
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 
PPTX
Kanban Cards _ Mass Action in Odoo 18.2 - Odoo Slides
Celine George
 
PPTX
INTESTINALPARASITES OR WORM INFESTATIONS.pptx
PRADEEP ABOTHU
 
DOCX
Modul Ajar Deep Learning Bahasa Inggris Kelas 11 Terbaru 2025
wahyurestu63
 
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
DOCX
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
PPTX
Basics and rules of probability with real-life uses
ravatkaran694
 
PPTX
CONCEPT OF CHILD CARE. pptx
AneetaSharma15
 
PPTX
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
PPTX
Care of patients with elImination deviation.pptx
AneetaSharma15
 
PPTX
Python-Application-in-Drug-Design by R D Jawarkar.pptx
Rahul Jawarkar
 
PDF
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
PPTX
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
PPTX
BASICS IN COMPUTER APPLICATIONS - UNIT I
suganthim28
 
PPTX
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
PPTX
CDH. pptx
AneetaSharma15
 
DOCX
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 
PDF
Biological Classification Class 11th NCERT CBSE NEET.pdf
NehaRohtagi1
 
PPTX
How to Apply for a Job From Odoo 18 Website
Celine George
 
Virat Kohli- the Pride of Indian cricket
kushpar147
 
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 
Kanban Cards _ Mass Action in Odoo 18.2 - Odoo Slides
Celine George
 
INTESTINALPARASITES OR WORM INFESTATIONS.pptx
PRADEEP ABOTHU
 
Modul Ajar Deep Learning Bahasa Inggris Kelas 11 Terbaru 2025
wahyurestu63
 
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
Basics and rules of probability with real-life uses
ravatkaran694
 
CONCEPT OF CHILD CARE. pptx
AneetaSharma15
 
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
Care of patients with elImination deviation.pptx
AneetaSharma15
 
Python-Application-in-Drug-Design by R D Jawarkar.pptx
Rahul Jawarkar
 
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
BASICS IN COMPUTER APPLICATIONS - UNIT I
suganthim28
 
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
CDH. pptx
AneetaSharma15
 
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 
Biological Classification Class 11th NCERT CBSE NEET.pdf
NehaRohtagi1
 
How to Apply for a Job From Odoo 18 Website
Celine George
 

Lecture05

  • 1. Object Oriented Software Modeling and Design CE 350 Abdel-Karim Al-Tamimi, Ph.D. [email_address] http://faculty.yu.edu.jo/altamimi Al-Tamimi 2011 ©
  • 2. Overview Documenting a Use-case Diagram Developing a Use-case Diagram Al-Tamimi 2011 ©
  • 3. Documenting Use-Cases A use-case is a description of what a system is used for, and who uses it, without providing details of how it performs its functions A use-case description serves as an agreed description between the user and the system designer on the flow of events that would happen when a use case is invoked A use-case description is explained and elaborated through scenarios (a set of sequences of actions) Each of these scenarios is simply an instance of the use-case Use-cases are text documents not diagrams Al-Tamimi 2011 ©
  • 6. Importance of Use-Cases The use case model is not only useful for requirements specification but also for planning the work in different phases of the system development life cycle Since the use case model should be understandable by both the system developer and the user, it is quite natural to plan the development of the system by scheduling the completion dates of the use cases in the use case model Al-Tamimi 2011 ©
  • 7. Use-Case Formats Use-cases are written in different formats and levels of formality: Brief : usually a one paragraph summary, usually the main success scenario Casual : informal paragraph format. Multiple paragraphs that cover various scenarios Fully dressed : all steps and variations are written in detail, and there are supporting sections, such as preconditions and success guarantees Al-Tamimi 2011 ©
  • 8. Use-Case Template Example Part 1 Al-Tamimi 2011 © Use case name Name of the use case Use case ID ID of the use case Super use case The name of the generalized use case to which this use-case belongs Actor(s) The name of the actor(s) who participates in the use case Brief description A description showing how this use case adds value to the organization, that is, what the purpose or role of this use case is in enabling the actors to do their job Preconditions The conditions that must be satisfied before this use case can be invoked Post-conditions The conditions that will be established as a result of invoking this use case sucessfully
  • 9. Use-Case Template Example Part 2 Al-Tamimi 2011 © Flow of events A step-by-step description of the interactions between the actor(s) and the system, and the functions that must be performed in the specified sequence to achieve a user goal Alternative flows and exceptions Major alternatives or exceptions that may occur in the flow of events Priority The development priority of this use case Non-behavioral requirements The non-functional requirements of the system such as hardware and software platform requirements, performance, security, … etc Assumptions All the assumptions made about the use case Issues All outstanding issues regarding the use case Source Reference materials relevant to the use case
  • 10. Use-Cases Prioritization The following factors typically increase the priority ranking of a use case: Architectural significance of the use case Use of new and untested technologies Problems which require substantial research effort Great improvement in efficiency (or revenue) of the business process; and Use cases that support major business processes Al-Tamimi 2011 ©
  • 12. Packages Packages should be used where appropriate to make the use-case diagram more easily understood Use cases that form a natural grouping should be organized into packages Al-Tamimi 2011 ©
  • 13. Developing an initial use case model Developing the problem statement Identifying the major actors and use-cases Creating an initial use-case diagram Describing briefly the use-cases (with initial descriptions) Identifying/refining candidate business (domain) classes using textual analysis Refining the use case model Developing base use-case descriptions Structuring Use-Cases : Iteratively elaborating on the base use-case descriptions and determining the extend , include and generalization relationships Developing instance scenarios Prioritizing use-cases Developing Use-Cases Steps Al-Tamimi 2011 ©
  • 14. Developing An Initial Use-Case Model Developing the problem statement Identifying the major actors and use-cases Creating an initial use-case diagram Describing briefly the use-cases (with initial descriptions) Identifying/refining candidate business (domain) classes using textual analysis
  • 15. Step 1 : Developing the Problem Statement The chief executive officer of a mail order company is interested in computerizing the company’s business process in order to improve operational efficiency. The major business activities of the company can be briefly described as follows: A customer registers to become a member by filling in the membership form and mailing it to the company. A member who has not been active (no transactions) for a period of one year will be removed from the membership list and he/she needs to apply for reinstatement of the lapsed membership Al-Tamimi 2011 ©
  • 16. Step 1 : Developing the Problem Statement A member should inform the company of any change in personal details, such as home address, telephone numbers, etc A member can place an order by filling out a sales order form and faxing it to the company or by phoning the Customer Service Assistant with the order details The Customer Service Assistant checks the validity of membership and then enters the sales order information into the system Al-Tamimi 2011 ©
  • 17. Step 1 : Developing the Problem Statement The Order Processing Clerk checks the availability of the ordered items and, if they are available, holds them for the order. When all the ordered items are available, the Order Processing Clerk will schedule their delivery. The Inventory Control Clerk controls and maintains an appropriate level of stock and is also responsible for acquiring new items. Al-Tamimi 2011 ©
  • 18. Step 1 : Developing the Problem Statement If there is a problem with an order, the member will phone the Customer Service Assistant , who will then take appropriate action to follow up the particular sales order Members may return defective goods within 30 days and get their money back The system will record the name of the staff member who handles the transaction for future follow up action Al-Tamimi 2011 ©
  • 19. Step 2-a : Identifying the Major Actors Actors from the client point of view: Customer Service Assistant Order Processing Clerk Inventory Control Clerk Actor Specification: Al-Tamimi 2011 © Actor name: Order Processing Clerk Description: The Order Processing Clerk is responsible for processing sales orders, submitting reorder requests, requesting necessary deposits from members and scheduling the delivery of the goods to members
  • 20. Step 2-b : Identifying the Use-Cases The following questions may be useful in collecting information from users: What are the main tasks carried out by each actor? What data are manipulated and processed by the system? What problems is the system going to solve? What goals does an actor want to achieve using the system? What are the major problems with the current system and how could the proposed system simplify the work of the user? Al-Tamimi 2011 ©
  • 21. Step 2-b : Identifying the Use-Cases Check order status Place order Handle goods return Update membership record Archive membership Register new member Process order Schedule delivery Order goods Receive goods Deliver goods Al-Tamimi 2011 ©
  • 22. Step 3 : Creating an initial use-case diagram Al-Tamimi 2011 ©
  • 23. Step 4 : Describing briefly the Use-Cases An Initial Use Case Description of the Schedule Delivery Use-Case : Al-Tamimi 2011 © Use case: Schedule Delivery Use case ID: UC-300 Actor: Order Processing Clerk Description: The Order Processing Clerk selects an order from the list of filled sales orders. The system displays the sales order details, and the member’s telephone number and address are displayed. The Order Processing Clerk enters the delivery date and time after talking with the member over the phone. The system records the delivery date and time in a dispatch request to the delivery team.
  • 24. Step 4 : Describing briefly the Use-Cases An Initial Use Case Description of the Check Order Status Use-Case: Al-Tamimi 2011 © Use case: Check Order Status Use case ID: UC-400 Actor: Customer Service Assistant Description: The Customer Service Assistant enters the ID of the member. The Customer Service Assistant selects a sales order of the member. The system displays the status of the sales order.
  • 25. Step 5 : Identifying/refining candidate business (domain) classes using textual analysis To identify the objects and classes, perform a textual analysis to extract all nouns and noun phrases from the problem statement The following categories are more likely to represent objects: Tangible things (e.g. classroom, playground) Conceptual things (e.g. course, module) Events (e.g. test, examination, seminar) Outside organizations (e.g. publisher, supplier) Roles played (e.g. student, teacher, principal) Other systems (e.g. admission system, grade reporting system) Al-Tamimi 2011 ©
  • 26. Step 5 : Identifying/refining candidate business (domain) classes using textual analysis Al-Tamimi 2011 © Use case: Schedule Delivery Use case ID: UC-300 Actor: Order Processing Clerk Description: The Order Processing Clerk selects an order from the list of filled sales orders . The system displays the sales order details, member’s telephone number and address . The Order Processing Clerk enters the delivery date and time after talking with the member over the phone . The system records the delivery date and time in a dispatch request to the delivery team .
  • 27. Step 5 : Identifying/refining candidate business (domain) classes using textual analysis Al-Tamimi 2011 ©
  • 28. Refining the Use-Case Model Developing base use-case descriptions Structuring Use-Cases : Iteratively elaborating on the base use-case descriptions and determining the extend , include and generalization relationships Developing instance scenarios Prioritizing use-cases
  • 29. Basic Flow List the basic events that will occur when this use case is executed Include all the primary activities that the use case will perform Be fairly descriptive when defining the actions performed by the actor and the response of the use case to those actions This description of actions and responses are your functional requirement This will be the basis for writing the test case scenarios for the system Al-Tamimi 2011 ©
  • 30. Alternative Flow Any subsidiary events that can occur in the use case should be listed separately Each such event should be completed in itself to be listed as an alternative flow If there are too many alternatives flows, you need to revisit your design to make it simpler, or break the use case into smaller units Al-Tamimi 2011 ©
  • 31. Alternative Flow One way to look at it  they are really all the same thing by different names: Optional flows implies that the behavior is optional and doesn't always need to be performed Alternative flows implies some sort of alternative decision is taken Exception flows implies that something other than the ordinary has occurred Al-Tamimi 2011 ©
  • 32. Basic vs. Exception vs. Alternative Flows Basic Flow is the normal flow of action in an application. For example, in the login page after entering user name and password the next screen should appear is the basic flow Exception flow are the activities in case of the exception thrown. They are the flow of events which will happen in case of the error Alternate flow are the alternative actions that can be performed. For example in the login page the alternative flow will be checking the existence of the user name entered Al-Tamimi 2011 ©
  • 33. Basic vs. Alternative Flow Al-Tamimi 2011 ©
  • 34. Basic vs. Alternative vs. Exception Flows Al-Tamimi 2011 © Basic Flow Alternate Flow 1 Alternate Flow 2 Alternate Flow 3 Alternate Flow 4 Exception Flow 1 Exception Flow 2 Exception Flow 3
  • 35. Step 1 : Developing base use-case descriptions Al-Tamimi 2011 © Use case name Place Order Use case ID UC-100 Super use case The name of the generalized use case to which this use case belongs. Actor(s) Customer Service Assistant Brief description A Customer Service Assistant places an order and then submits it for processing. Preconditions The member must have registered with the system. Post-conditions The Customer’s order will be directed to the order processing department for processing.
  • 36. Step 1 : Developing base use-case descriptions Al-Tamimi 2011 © Flow of events The Customer Service Assistant finds the member’s record by entering the member’s ID or name. The system displays a list of members which match the information entered by the Customer Service Assistant. The Customer Service Assistant selects the required member record. The system displays the details of the member. The Customer Service Assistant selects “Place Order”. A new order form and order ID are then generated and displayed. The Customer Service Assistant selects items from the catalog and adds them to the order. The Customer Service Assistant submits the order for processing. The system records the order and forwards it to the Order Processing Clerk.
  • 37. Step 1 : Developing base use-case descriptions Al-Tamimi 2011 © Alternative flows and exceptions At any time the Customer Service Assistant can decide to suspend the ordering process and come back to it later, or to cancel the order. Priority High Non-behavioral requirements The system should be able to handle 20,000 new orders per day. Assumptions Issues Is there any limit on the amount of an order? Source User Interview Memo 21, 8/9/01
  • 38. Step 2 : Structuring Use-Cases Al-Tamimi 2011 ©
  • 39. Step 2 : Structuring Use-Cases Al-Tamimi 2011 © Use case name Place Order Use case ID UC -100 Super use case Actor(s) Customer Service Assistant Brief description A Customer Service Assistant places an order and then submits it for processing. Preconditions The member must have registered with the system. Post-conditions The Customer’s order will be directed to the order processing department for processing. Flow of events Include ( Find Member Record ). The Customer Service Assistant selects “Place Order”. A new order form and order ID are then generated and displayed. The Customer Service Assistant selects items from the catalog and adds them to the order. The Customer Service Assistant submits the order for processing. The system records the order and forwards it to the Order Processing Clerk.
  • 40. Step 2 : Structuring Use-Cases Al-Tamimi 2011 © Use case name Find Member Record Use case ID UC-10 Brief description A member record is requested. Post-conditions A membership record is returned. Flow of events The Customer Service Assistant finds the member record by entering the member’s ID or name. The system displays a list of members which match the information entered by the Customer Service Assistant. The Customer Service Assistant selects the required member record. The system then displays the details of that member. Alternative flows and exceptions No member record is found for the customer.
  • 41. Step 3 : Developing Instance Scenarios A use case specifies all possible ways of using a system functionality to achieve a user goal Sometimes, it is necessary to write some examples (instance scenarios) to illustrate the execution of a complex use case Instance scenarios are easier for the user to understand, and they are very useful for clarifying any ambiguity in the use case description The instance scenarios can also serve as test cases for system testing Al-Tamimi 2011 ©
  • 42. Step 3 : Developing Instance Scenarios Al-Tamimi 2011 © Parent use case name Place Order Parent use case ID UC-100 Instance name A sales order form is received but the membership number is missing. Instance ID UCIS-100-1 Environmental conditions and assumptions The name (Peter Chan) and signature of the member are available in the system. Inputs A sales order form
  • 43. Step 3 : Developing Instance Scenarios Al-Tamimi 2011 © Instance flow description The Customer Service Assistant enters “Peter Chan” to find the member record. The system then displays a list of members which match the member’s name. The Customer Service Assistant repeatedly selects a member record. The system displays the signature of the member when a member record is selected. The Customer Service Assistant selects “Place Order”. A new order form and order ID are then generated and displayed. The Customer Service Assistant selects items from the catalog and adds them to the order. The Customer Service Assistant submits the order for processing. The system records the order and forwards it to the Order Processing Clerk. Outputs The sales order is placed.
  • 44. Step 4 : Prioritizing Use-Cases Al-Tamimi 2011 © Priority Rank Use Case Reason High Process Order Directly improves the efficiency of the business process and affects the system architecture. High Place Order Same as above High Find Member Record Included as part of the Place Order use case. Medium Order Goods Ordering goods is less often than processing order but still is one of the major business processes. Medium Deliver Goods Can improve the control of stock level. Low Update Membership Record Small impact on the system architecture. Low Register New Member Same as above.
  • 45. Resources Object Oriented Technology, By Tsang chapter 3 Tsang slides Chapter 6, Applying UML and Patterns Al-Tamimi 2011 ©