COMP 2710 Software Construction Project 2 Use Case

  • Slides: 22
Download presentation
COMP 2710 Software Construction Project 2 – Use Case Diagram Dr. Xiao Qin Auburn

COMP 2710 Software Construction Project 2 – Use Case Diagram Dr. Xiao Qin Auburn University http: //www. eng. auburn. edu/~xqin@auburn. edu

Learning Objectives of Phase 1 • To create data flow diagram (see the previous

Learning Objectives of Phase 1 • To create data flow diagram (see the previous lecture). • To design a use case diagram to capture the requirements of project 2. (i. e. , this lecture) • To use the argo. UML tool to create a use case diagram and specify use cases. – You may also use draw. io as a backup tool 2

Step 1: Go through the project specification document? • Time: 30 minutes • You

Step 1: Go through the project specification document? • Time: 30 minutes • You must decide what to read in the document • Mark important sections • Ignore unimportant sections 3

Project Objectives • To generate report of disk activities • To offers statistical information

Project Objectives • To generate report of disk activities • To offers statistical information on I/O transfer rates. 4

Step 2: Identify use cases • Time: 20 -30 minutes • Identify a list

Step 2: Identify use cases • Time: 20 -30 minutes • Identify a list of use cases • Merge small use cases into large ones • Ignore relationships among the use cases • No need to consider use case specification 5

Exercise 1: What use cases should you consider? • A Linux utility program •

Exercise 1: What use cases should you consider? • A Linux utility program • To monitor disk performance (i. e. , I/O transfer rates) of a Linux system • To create a report (i. e. , a file) containing a list of I/O performance records • To help system administrators in configuring the Linux system to achieve good disk I/O performance. 6

Sample Usage • Read: Project 2 – Sample Usage. pdf 1 -7

Sample Usage • Read: Project 2 – Sample Usage. pdf 1 -7

Exercise 1. Candidate Use Cases • • • Help Run Change report file name

Exercise 1. Candidate Use Cases • • • Help Run Change report file name Display report Change count Change interval Change parameters Display parameters Save configuration files Question: should we consider load configuration file use case? 1 -8

Step 3: Consider relationships among the use cases • Design a usage case diagram:

Step 3: Consider relationships among the use cases • Design a usage case diagram: 20 minutes • Draw a usage case diagram: 20 minutes • Ignore use case specification 9

Exercise 2: Please build your draft use case diagram • • • Help Run

Exercise 2: Please build your draft use case diagram • • • Help Run Change report file name Display report Change count Change interval Change parameters Display parameters Save configuration files 10

An Early Analysis: Use Case Diagram 1 -11

An Early Analysis: Use Case Diagram 1 -11

Consider a commandline use case 12

Consider a commandline use case 12

A sample use case 1 -13

A sample use case 1 -13

Step 4: Prepare use case specification • Time. 1 -2 hours • Name. The

Step 4: Prepare use case specification • Time. 1 -2 hours • Name. The name of the use case to which this relates. • Goal. A one or two line summary of what this use case achieves for its actors. • Actors. The actors involved in this use case, and any context regarding their involvement. Note: This should not be a description of the actor. That should be associated with the actor on the use case diagram. • Pre-condition. These would be better named “pre-assumptions”, but the term used everywhere is pre-conditions. This is a statement of any simplifying assumptions we can make at the start of the use case. 14

Step 4: Prepare use case specification (cont. ) • Basic Flow. The linear sequence

Step 4: Prepare use case specification (cont. ) • Basic Flow. The linear sequence of steps that describe the behavior of the use case in the “normal” scenario. Where a use case has a number of scenarios that could be normal, one is arbitrarily selected. • Alternate Flows. A series of linear sequences describing each of the alternative behaviors to the basic flow. • Post-conditions. These would be better named “post-assumptions”. This is a statement of any assumptions that we can make at the end of the use case. • Requirements. In an ideal world the vision document, use case diagrams, use case specifications and supplementary requirements specification would form the requirements for a project. 15

Exercises 3 -8. What is the use case specification for the “Run” use case?

Exercises 3 -8. What is the use case specification for the “Run” use case? • • • Description Actor Assumption Steps (Very Important) Variations Non-functional 16

Exercises 3. What is the description of the ”run” use case? Description: run the

Exercises 3. What is the description of the ”run” use case? Description: run the disk monitoring tool 17

Exercises 4. What are the actors of the ”run” use case? • Actors: (1)

Exercises 4. What are the actors of the ”run” use case? • Actors: (1) user and (2) /proc/diskstat 18

Exercises 5. What is the assumption of the ”run” use case? Assumptions: (1) configure

Exercises 5. What is the assumption of the ”run” use case? Assumptions: (1) configure file is opened (2) system parameters are set up to the default values 19

Exercises 6. What is the variations of the ”run” use case? Variations: (1) report

Exercises 6. What is the variations of the ”run” use case? Variations: (1) report file can’t be opened (2) output record failed 20

Exercises 7. What is the non-functional features of the ”run” use case? Non-functional: report

Exercises 7. What is the non-functional features of the ”run” use case? Non-functional: report file is opened only once when the tool is launched for the first time 21

Exercises 8. What are the steps of the ”run” use case? 1. User type

Exercises 8. What are the steps of the ”run” use case? 1. User type the ‘run’ command 2. ‘/proc/diskstat’ is opened 3. Open report file (Note: You may move this step to another use case to improve I/O performance) 4. Start collecting records Repeat 4. 1 find statistical data in ‘diskstat’ 4. 2 compute statistical information 4. 3 output statistical information based on {print_*flags} 4. 4 wait for a time period (see the interval parameter) Until reach “count” (i. e. , the number of records) 5. Finish run and wait for the next command 22