Use Cases

(R = Rationale Reference)















Use Case #1: Determining Skill Level of Human Resources

Goal:

The goal of the system is to detemine the skill level of each personnel working on a particular project and return his/her skill level as novice, intermediate, or advance.

Scope: Global
Level: User.
Precondition:

Each personnel's skill level is known by taking an annual test and by supervisor’s annual evaluation. Personnel’s information is stored in a database.

Success Condition:

The system correctly return the skill level of each personnel.

Failure Condition:

The system does not return the skill level of each personnel correctly.

Trigger: Acceptance of a new project.
Actors: Project manager, personnel.
Type: Primary.
Purpose:

To correctly assess the skill level of each personnel working on a project in order to estimate human resource costs.

Description:

The project manager logs in the system with his ID and password. He then inputs the names of the persons working on a project, test scores, plus results of supervisor’s annual evaluation, then requests their skill levels. The system shall return either novice, intermediate, or advance as each personnel’s skill level.

Cross Reference: Requirement 1.

Typical Course of Events:

Actor Action

System Response

1. The project manager logs in the system with his ID and password.

2. The system recognizes the ID and password.

3. He then inputs programmers’ names and requests for each personnel’s skill level.

4. The system checks for personnel’s name and retrieve their data. Displays the requested information in detail, i.e. each personnel’s skill is returned as either novice, intermediate, or advance.

5. System prints out the result of the search.

6. The manager logs off the system.

Alternative Courses:

Line 2:

System did not recognize the ID and password. Invalid ID or password.

Line 4:

Incorrect personnel ‘s name. System request to enter name again.

Line 6:

Manager repeats the process by inputting the next employee’s name.

Use Case #2: Rating Tasks’ Complexity

Goal:

The Analyzers’ estimation system shall be able to break down individual tasks needed to complete project and grade its complexity as easy, medium, or difficult.

Scope: Global
Level: User.
Precondition: None
Success Condition:

The estimation software breaks the entire project down into individual tasks and rates complexity of each task.

Failure Condition:

The estimation software fails to break the project down into individual tasks and returns its complexity.

Trigger: An upcoming project.
Actors: Project manager.
Type: Primary.
Purpose:

To break down project into individual tasks and rate its complexity.

Description:

The manager logs in the system with his ID and password. He then inputs project information/updates project information. The system records project information and based on the historical data, breaks down the project into individual tasks and rates tasks’ complexity as easy, medium or difficult.

Cross Reference: Requirement 8.

Typical Course of Events:

Actor Action

System Response

1. The project manager logs in the system with his ID and password.

2. The manager searches the system to find out if the project information is in the system already.

3. The system shows project information is not in the system.

4. The manager enters the new project information.

5. The system records the new project information.

6. The system breaks down the project into individual tasks based on historical data and rates each task’s complexity as easy, medium or difficult and display result.

7. The manager prints out the report and logs off the system.

Alternative Courses:

Line 6:

The system informs the user that more information is requested in order to provide accurate complexity rating.

Line 7:

The user (manager) gathers more information about the project and enters them into the system.

Line 8:

The system breaks down the project into individual tasks based on historical data and display each task and complexity rating.

Use Case #3: Microsoft Project Integration

Goal:

The Analyzers’ estimation system shall be able to show the total number of hours required for each project and graph the entire project as a Gantt chart using Microsoft Project.

Scope: Global
Level: User.
Precondition:

The project needs to be in place.

Success Condition:

The estimation software shows the total number of hours required for each project and graphs the project as a Gantt chart using Microsoft Project.

Failure Condition:

The estimation software does not show the total number of hours required for each project or it shows but does not graph the project as a Gantt chart using Microsoft Project.

Trigger: None.
Actors: Project manager.
Type: Primary.
Purpose:

To keep track of project’s schedule by integrating with MS Project.

Description:

After the information concerning a project is entered, the estimation system will return the total number of hours required for each project and graph the project’s timeframe in a Gantt chart using Microsoft Project.

Cross Reference: Requirement 4.

Typical Course of Events:

Actor Action

System Response

1. The project manager logs in the system with his ID and password.

2. The manager enters all the information regarding a project into the estimation system.

3. The system returns the total number of hours required for each project and each phase (from use case #4) then graphs the project timeframe as a Gantt chart.

4. The manager prints out the chart and logs off the system.

Alternative Courses:

Line 1:

System did not recognize the ID and password. Invalid ID or password.

Line 3:

Information is not found.

Use Case #4: Calculate Total Time Required to Complete the Project

Goal:

The system shall be able to calculate the total time required for the project within 10% deviation.

Scope: Global
Level: User.
Precondition:

The project manager is assigned a new project from upper management and receives project information.

Success Condition:

The estimation software shows the total time required to complete the project.

Failure Condition:

The estimation software is not able to show the total time required for the project.

Trigger:

The upper management assigns a new project to the project manager.

Actors: Project manager.
Type: Primary.
Purpose:

To calculate total time required to complete the software project.

Description:

The manager logs on to the system with his ID and password. He searches the system and finds available information about the new project, such as individual tasks and complexity rating (from use case #2). He then requests the system to search the historical data on past projects similar in scope with the new project in order to list up relevant tasks. The system retrieves historical data and based on requirements for the current project, displays information such as the list of the tasks/phases relevant to the new project and time required to complete each tasks. After reviewing the data, the manager requests the system to calculate the total hours required to complete the project. The system displays the result.

Cross Reference: Requirement 2 and 3.

Typical Course of Events:

Actor Action

System Response

1. The project manager logs in the system with his ID and password.

2. He then searches for the new project information.

3. The system searches for requested information and displays the available project information, such as individual tasks and its complexity rating for the new project.

4. The manager request the system to search information from past projects with similar scope.

5. The system displays the historical data, such as the time required to complete each tasks/phases for the past projects, which have similar scopes as the current project.

6. After reviewing the data, the manager requests the system to calculate total time required to complete his new project.

7. The system calculates and displays total time required to complete the project based on historical data and new project requirement.

8. The manager reviews the information then logs off.

Alternative Courses:

Line 5:

The system does not have information for the past project which has similar scope as the current project, and displays that more information is necessary to estimate total time required with accuracy of 90% or higher.

Line 6:

The manager gathers more information and enters into the system for the current project.

Line 7:

The system calculates the total time required to complete the project based on the available information.

Use Case #5: Accessing and Updating Client Information

Goal:

The goal of the system is to allow users access and update client information.

Scope: Global
Level: User.
Precondition:

None.

Success Condition:

The user is able to retrieve and update client information.

Failure Condition:

The user is not able to retrieve and update client information.

Trigger: The client information need to be changed.
Actors: Project manager.
Type: Primary.
Purpose:

To access and update client information for needed project .

Description:

The manager logs in the system with his ID and password. He then inputs project number and requests for client information. The system searches for requested information and displays the results. The manager prints out the report and logs off the system.

Cross Reference: Requirement 6.

Typical Course of Events:

Actor Action

System Response

1. The project manager logs in the system with his ID and password.

2. He then inputs project number and requests for client information.

3. The system searches for requested information and displays the available project information, such as individual tasks and its complexity rating for the new project.

4. Displays the requested information in detail.

5. The manager prints out the report and logs off the system.

Alternative Courses:

Line 1: Invalid ID or password.
Line 2: Invalid project number.
Line 3: Client information is not founded.

Use Case #6: Maintain and Track Skill Levels of Human Resources

Goal:

The goal of the use case is to maintain and track skill levels of human resources.

Scope: Global
Level: User.
Precondition:

The manager can get information directly from personnel or other sources regarding each personnel’s skill.

Success Condition:

The manager successfully maintains the skill levels of necessary personnel to complete the project.

Failure Condition:

The manager fails to maintain the skill levels of personnel and have difficulty meeting required schedule and/or project goes over budget in order to meet the schedule.

Trigger:

The new staff joins the project group, or the date for routine review of software engineer/financial expert/economic expert comes.

Actors:

Project manager, software engineer, financial expert/economic expert.

Type: Primary.
Purpose:

Maintain and track skill levels of human resources.

Description:

The new personnel join the company. The manager is assigned to evaluate his/her skill level. The skill level is reviewed quarterly. The information stored in the system. The system shows overall skill level of the company is at satisfactory level.

Cross Reference: Requirement 1.

Typical Course of Events:

Actor Action

System Response

1. This use case begins when a new software engineer, financial, or economic expert joins the company. His general skill level was evaluated before the time of hire. The initial evaluation data is entered into the system by the manager when the person actually joined the company.

2. The system creates record for the new employee. It records the initial evaluation of the new employee.

3. The manager meets with the new expert and tests his/her general knowledge level. Then, he evaluates the expert’s skill level by giving him knowledge assessment test. The result of test shows his/her skill as intermediate level. The manger enters the result into the system.

4. The system records the result of technical knowledge test of the new engineer/expert. At the end of every quarter and after the new information is entered, the system outputs the report of skill level for each engineer/expert and also reports of overall skill levels of experts in the company.

5. At the beginning of each quarter, the manager reviews the report and confirms that the record is correct by meeting each expert, asking his/her direct supervisors regarding the skill level, reviewing each task he/she has accomplished during the last quarter, reviewing the records of training he/she has received during the last quarter. The manager enters the information into the system.

6. The system records the result of the review and output the report for the expert and also on overall skill levels of experts in the company.

7. The manager finds that overall, the skill levels of engineers/experts in the company is satisfactory.

Alternative Courses:

Line 5:

The manager finds that one of the engineers/experts skill level is not as advanced as the previous quarter’s report says by speaking with the engineer’s/expert’s supervisor. The manager enters the information that in certain areas, the engineer/expert is not as advanced as he/she needs to be.

Line 6:

The system records the data. The system recommends sending the engineer/expert to a certain training class for the area he/she needs to be trained.

Line 7:

The engineer/expert is sent to a training class. He completes it and reports it to the manager.

Line 8:

The manager updates his/her information.

Line 9:

The system records the information. The report generated shows updated report on overall skill level of experts in the company.

Line 10:

The manager finds that overall the skill level of the engineers/experts in the company is satisfactory.

Use Case #7: Estimate Revenue For The Project

Goal:

The goal of the use case is estimate revenue for the project.

Scope: Global
Level: User.
Precondition:

The upper management informs the manager about the new project they consider taking on. The manager is given essential information regarding the project: ex: number of potential customers, the capability of the product, similar products of competitors, etc.

Success Condition:

The manager estimate revenue accurately, within 10% deviation.

Failure Condition:

The manager estimates revenue higher than the actual revenue, and the project encounters capital loss.

Trigger:

The upper management asks the manager to estimate revenue for the potential new project.

Actors: Project manager, financial, and economic experts.
Type: Primary.
Purpose:

To estimate revenue for the project.

Description:

The upper management requests financial planning manager to estimate revenue for a potential project.

Cross Reference: Requirement 9.

Typical Course of Events:

Actor Action

System Response

1. This use case begins when the financial expert is requested to estimate revenue for the potential new project. The manager receives information from the upper management such as: what kind of product they want to develop, who are the potential customers, number of potential customers, what similar products of competitors are available, what those competitors are charging for the product, what amount of advertising/marketing will be used, etc.

2. The manager enters all given information in the system.

3. The system records all the available information. It pulls up the historical data regarding the similar products they have developed and any available data for the competitors’ products from the database. The system shows estimated revenue base on all the available data. It also recommends that if more information is received, the accuracy will improve by 20%, etc.

4. The manager reviews the report. The manager then asks project managers, sales persons, product consultant, etc. regarding the missing information which the system recommended to enter. The manager receives necessary information and enters it into the system.

5. The system records all the information and show estimated revenue.

Alternative Courses:

Line 4:

The manager fails to gather additional information. The manager asks outside contractor to gather information regarding competitors information, etc. The manager receives information from the consultant and enters into the system.

Use Case #8: Compare Profitability Of Projects

Goal:

The goal of the use case is estimate profitability of projects.

Scope: Global
Level: User.
Precondition:

The upper management informs the financial planning manager about several new projects they consider taking on. The manager is given essential information regarding the project: estimated revenue (from use case 10), number of engineers necessary to complete the project, the time necessary to complete the project (from use case no….), etc.

Success Condition:

The manager is able to estimate the profitability of different projects and identify the profitable ones to help the upper management make decision.

Failure Condition:

The manager is unable to estimate profitability of each project accurately and the profitable project turns out to be a loss.

Trigger:

The upper management asks the manager to compare profitability of different projects they consider taking on.

Actors:

Project manager, financial and economic experts.

Type: Primary.
Purpose:

Compare profitability of different projects.

Description:

The upper management requests financial planning manager to compare profitability of different projects.

Cross Reference: Requirement 7.

Typical Course of Events:

Actor Action

System Response

1. This use case begins when the financial expert (manager) is requested to compare profitability of potential new projects. The manager receives information from the upper management about each project, such as: estimated revenue, number of human resources needed and total time needed to complete the project, sales commission rate, etc.

2. The manager retrieves the historical data (such as administrative cost for the similar project in the past, etc.) and also updates any information which he thinks is relevant information.

3. The system shows and records all the available information. It pulls up the available information regarding this project, historical data regarding the similar products they have developed and any available data for the competitors’ product from the database. The system shows all available data to the manager. It also recommends that if more information is received, the accuracy will improve by 20%, etc.

4. The manager reviews the report. The manager then asks project managers, human resources manager, product consultant, etc. regarding the missing information, which the system recommended to enter. The manager receives necessary information and enters it into the system.

5. The system updates the information and show profitability of each project.

6. The manager reviews the report and sends it to the upper management.

Alternative Courses:

Line 4:

The manager is unable to gather necessary information from other personnel on time, he enters his best estimate/guesses into the system based on his experience instead.

Use Case #9: Get Inputs From Clients

Goal:

The goal of the use case is get clients inputs regarding the features they are looking for in the products and keep records in the system in order to make attractive products.

Scope: Global
Level: User.
Precondition:

The company has an upcoming project. The salesperson is instructed by an upper management to gather usable ideas from clients.

Success Condition:

The user successfully receives client’s inputs and records the data in the system.

Failure Condition:

The user fails to receive client’s inputs or fails to update data in the system.

Trigger:

The salesperson and project manager are instructed by an upper management to get client’s inputs for an upcoming project.

Actors: Project manager, salesperson, and client.
Type: Primary.
Purpose:

Get inputs from clients and enter the data in the system.

Description:

The salesperson contacts the client and informs about the upcoming project. The client is interested in the project and agrees to meet with a project manager to offer his/her inputs. The project manager enters the clients inputs into the system.

Cross Reference: Requirement 6.

Typical Course of Events:

Actor Action

System Response

1. This use case begins when the salesperson contacts a client regarding an upcoming project. The client is interested in the project and agrees to meet with the project manager to offer his/her inputs. The manager makes a quick search about the client past data such as what kind of products the client has purchased in the past, etc.

2. The system retrieves and shows information about the client.

3. The client and the project manager have a meeting. The manager explains about the project idea. The client informs the manager about the features he/she thinks are necessary for the software.

4. The manager enters the given information into the system.

5. The system records the information and shows the stored information.

6. The manager prints out the given information for a review and show it to the client. The client reviews the information and adds more comments. The manager enters the updated information.

7. The system records the updated information.

8. The manager presents the information to the upper management for a review.

Alternative Courses:

Line 2:

The manager can not find past data for the new client in the system’s database. Instead, he searches the internet to find some information on the client’s company.

Use and Extend Diagram

1