Upload
guestc66927
View
2.503
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
Vision and Scope Document 10/12/2007
Ho Chi Minh National University – International University Instructor: Phan Viet Hoang
Date October 10th , 2007
Version 1.0
Status Baseline
Author Team TiHonMumMim(Group 6)
Reviewer Team TiHonMumMim(Group 6)
Documenter Nguyen Duc Quan
Team member Signature
Nguyen Duc Quan
Le Vu Hoang
Tran Minh Phung
Phan Duy Tan
Huynh Da Thuc
Final Document
2
Table of Contents Introduction ..................................................................................................................................................... 13
Development team & OURS project ................................................................................................................ 13
Problem Statement .......................................................................................................................................... 15
Project background ...................................................................................................................................... 15
Key users ...................................................................................................................................................... 15
Stakeholders ................................................................................................................................................ 16
Assumptions & Constraints of Online University Registration System ......................................................... 17
Vision of Solution ............................................................................................................................................. 17
Vision statement .......................................................................................................................................... 17
Scope ........................................................................................................................................................... 18
List of features ............................................................................................................................................. 18
List of features will not be developed .......................................................................................................... 18
Business Plan & SRS Document ....................................................................................................................... 20
STATEMENT OF WORK ..................................................................................................................................... 21
RESOURCE LIST ................................................................................................................................................ 24
Human ......................................................................................................................................................... 24
Software ...................................................................................................................................................... 24
Hardware ..................................................................................................................................................... 24
ESTIMATION .................................................................................................................................................... 25
Huynh Da Thuc estimation ........................................................................................................................... 25
Phan Duy Tan estimation ............................................................................................................................. 28
Tran Minh Phung estimation ....................................................................................................................... 31
Nguyen Duc Quan estimation ...................................................................................................................... 34
Le Vu Hoang estimation ............................................................................................................................... 37
Estimation Summary .................................................................................................................................... 39
SCHEDULE ........................................................................................................................................................ 43
Task list ........................................................................................................................................................ 43
Final Document
3
Gantt chart (reference) ................................................................................................................................ 45
RISK PLAN ........................................................................................................................................................ 46
DISCUSSION SUMMARY ................................................................................................................................... 48
Project background ...................................................................................................................................... 48
Purpose of project ................................................................................................................................... 48
Scope of project ....................................................................................................................................... 49
Perspectives ................................................................................................................................................. 51
Who will use the system? ........................................................................................................................ 51
Who can provide needs about the system? ............................................................................................. 51
Project objectives ........................................................................................................................................ 52
Know business rules ................................................................................................................................. 52
System information and/or diagrams ...................................................................................................... 52
Assumptions and dependencies .............................................................................................................. 54
Design and implementation constraint .................................................................................................... 54
Risks ............................................................................................................................................................. 54
Known future enhancements ...................................................................................................................... 55
References ................................................................................................................................................... 55
Open, unresolved issues ............................................................................................................................. 55
SOFTWARE REQUIREMENT SPECIFICATION ..................................................................................................... 56
USE CASE SPECIFICATION ............................................................................................................................. 56
Log in and Log out .................................................................................................................................... 56
Manage Department Information ............................................................................................................ 58
Manage Lecturer Information .................................................................................................................. 60
Manage Student Information................................................................................................................... 63
Manage Course Offering .......................................................................................................................... 66
Manage Financial Activities ...................................................................................................................... 69
View Academic History ............................................................................................................................ 71
Register Course ........................................................................................................................................ 72
Manage Course Catalogue ....................................................................................................................... 74
Manage User Account .............................................................................................................................. 77
Final Document
4
Appendix .................................................................................................................................................. 80
FUNCTIONAL REQUIREMENT ....................................................................................................................... 82
NON-FUNCTIONAL REQUIREMENT .............................................................................................................. 86
Performance: ........................................................................................................................................... 86
Reliability: ................................................................................................................................................ 86
Availability: .............................................................................................................................................. 86
Efficiency: ................................................................................................................................................. 86
Supportability: ......................................................................................................................................... 86
Integrity: .................................................................................................................................................. 86
Portability: ............................................................................................................................................... 86
Flexibility: ................................................................................................................................................. 87
INSPECTION REPORT ........................................................................................................................................ 88
GLOSSARY ........................................................................................................................................................ 89
Introduction ................................................................................................................................................. 89
Definitions.................................................................................................................................................... 89
OURS ........................................................................................................................................................ 89
Academic staff ......................................................................................................................................... 89
Finance staff ............................................................................................................................................. 89
Department ............................................................................................................................................. 89
Faculty...................................................................................................................................................... 89
Curriculum ............................................................................................................................................... 89
Subject ..................................................................................................................................................... 89
Course Offering ........................................................................................................................................ 90
Prerequisite.............................................................................................................................................. 90
Course Catalog ......................................................................................................................................... 90
Lecturer .................................................................................................................................................... 90
Student .................................................................................................................................................... 90
Student priority ........................................................................................................................................ 90
Discount rate............................................................................................................................................ 90
Grade ....................................................................................................................................................... 90
Final Document
5
Schedule .................................................................................................................................................. 90
Tuition fee ................................................................................................................................................ 90
Credit ....................................................................................................................................................... 90
Academic duration ................................................................................................................................... 90
Academic year.......................................................................................................................................... 91
Testing Plan & Test case Document ................................................................................................................. 93
A- Test Plan .................................................................................................................................................. 94
Introduction ..................................................................................................................................................... 94
Purpose ........................................................................................................................................................ 94
Scope ........................................................................................................................................................... 94
References ................................................................................................................................................... 94
Review requirement and Design ...................................................................................................................... 94
Review system architecture ......................................................................................................................... 95
Features to be tested ....................................................................................................................................... 97
Features not to be tested ................................................................................................................................ 98
Approach ......................................................................................................................................................... 99
Kind of test ................................................................................................................................................... 99
Data and Database Integrity Testing ........................................................................................................ 99
System testing .......................................................................................................................................... 99
Performance Testing .............................................................................................................................. 100
Load Testing ........................................................................................................................................... 100
Stress Testing ......................................................................................................................................... 100
Volume Testing ...................................................................................................................................... 100
Test Strategy .............................................................................................................................................. 100
Checklist of unit test .............................................................................................................................. 100
Unit testing ............................................................................................................................................ 101
Smoke test ............................................................................................................................................. 101
Test Automation .................................................................................................................................... 101
Data and Database Integrity Testing ...................................................................................................... 102
System Testing ....................................................................................................................................... 102
Final Document
6
Performance Testing .............................................................................................................................. 103
Load Testing ........................................................................................................................................... 104
Stress Testing ......................................................................................................................................... 105
Volume Testing ...................................................................................................................................... 106
Suspension criteria and resumption requirements ........................................................................................ 107
Suspension criteria ..................................................................................................................................... 107
Resumption requirements ......................................................................................................................... 107
Environmental Needs .................................................................................................................................... 108
Tools .......................................................................................................................................................... 108
Software .................................................................................................................................................... 108
Hardware ................................................................................................................................................... 109
Schedule ........................................................................................................................................................ 109
Acceptance criteria ........................................................................................................................................ 110
Resources ...................................................................................................................................................... 110
B- Test Case ................................................................................................................................................ 113
Unit testing .................................................................................................................................................... 113
Test Cases of Log in and Log out Use Case ..................................................................................................... 115
User logs in successfully with valid username and password .................................................................... 115
Fail to login the system when providing invalid username ........................................................................ 115
Fail to login the system when providing username or password containing special character(s).............. 115
Fail to login the system when providing valid username and invalid password ......................................... 116
Fail to login the system when providing empty username ........................................................................ 116
Fail to login the system when providing valid username and empty password ......................................... 117
User account is locked after failing to log in 3 times .................................................................................. 117
User logs in the system using an account is being used by another user................................................... 118
User logs in the system using an account is being locked .......................................................................... 118
Change password successfully ................................................................................................................... 118
Fail to change password when old or new or confirmed password is empty ............................................ 119
Fail to change password when old password is incorrect .......................................................................... 119
Recover the password successfully ............................................................................................................ 120
Final Document
7
Fail to reset password when inputting wrong answer for the security question ....................................... 120
Fail to reset password when inputting answer containing special character(s) for the security question . 121
Fail to reset password when inputting empty answer for the security question ....................................... 122
Test Cases of Manage Department Information Use case ............................................................................. 122
Add a department with valid information successfully .............................................................................. 122
Fail to add a department with name that already exists in the system ..................................................... 123
Fail to add a department when one or some or all fields are empty ......................................................... 123
Fail to add a department when inputting special character(s) to one or some or all fields ....................... 124
Update a department with valid information successfully ........................................................................ 125
Fail to update a department with name that already exists in the system ................................................ 125
Fail to update a department when one or some or all fields are empty .................................................... 126
Fail to update a department when inputting special character(s) to one or some or all fields .................. 127
Update cancel ............................................................................................................................................ 127
Delete a department .................................................................................................................................. 128
Delete cancel ............................................................................................................................................. 128
Test Cases of Manage Lecturer Information use case.................................................................................... 129
Add a lecturer with valid information successfully .................................................................................... 129
Fail to add a department when one or some or all fields are empty ......................................................... 129
Fail to add a lecturer when inputting special character(s) to one or some or all fields.............................. 130
Look for a lecturer...................................................................................................................................... 131
Update a lecturer with valid information successfully ............................................................................... 131
Fail to update a lecturer when one or some or all fields are empty .......................................................... 133
Fail to update a lecturer information when inputting special character(s) to one or some or all fields .... 133
Update cancel ............................................................................................................................................ 134
Delete a lecturer ........................................................................................................................................ 135
Delete cancel ............................................................................................................................................. 135
Test Cases of Manage Student Information Use Case ................................................................................... 136
Add a student with valid information successfully ..................................................................................... 136
Fail to add a student when one or some or all fields are empty ................................................................ 136
Fail to add a student when inputting special character(s) to one or some or all fields .............................. 137
Final Document
8
Search student by student ID or/and by student name ............................................................................. 138
Fail to search student by student ID or/and by student name when providing invalid student ID or/and
student name ............................................................................................................................................. 138
Fail to search student by student ID or/and by student name when providing empty student ID or/and
student name ............................................................................................................................................. 139
Search student by faculty and academic duration ..................................................................................... 139
Search student by academic year, semester, and course .......................................................................... 141
Update a student with valid information successfully ............................................................................... 141
Fail to update a student when one or some or all fields are empty ........................................................... 142
Fail to update a student when inputting special character(s) to one or some or all fields ........................ 142
Update is canceled ..................................................................................................................................... 143
Delete a student ........................................................................................................................................ 144
Delete is canceled ...................................................................................................................................... 144
Test Cases of Manage Course Offering Use Case ........................................................................................... 145
Create list of courses offering successfully ................................................................................................ 145
Update the list of course offering .............................................................................................................. 145
Cancel during the Create list of course offering operation ........................................................................ 146
Cancel during the Update list of course offering operation ....................................................................... 147
Fail to create an empty list of course offering ........................................................................................... 147
Update list of course offering while there’s no list of course offering for specific faculty ......................... 148
Test Cases of Manage Financial Activities Use Case ...................................................................................... 150
View tuition fee by student ID or/and by student name............................................................................ 150
Fail to view tuition fee by student ID or/and by student name when providing invalid student ID or/and
student name ............................................................................................................................................. 150
Fail to view tuition fee by student ID or/and by student name when providing empty student ID or/and
student name ............................................................................................................................................. 151
View tuition fee by faculty or/and by academic duration .......................................................................... 151
View tuition fee by academic year, semester, and course ......................................................................... 152
Update tuition fee status of a student ....................................................................................................... 152
Test Cases of View Academic History Use Case ............................................................................................. 153
View academic history successfully ........................................................................................................... 153
Final Document
9
View all course have taken history............................................................................................................. 153
View by specific year and semester. .......................................................................................................... 154
View by passed and failed status. .............................................................................................................. 154
Test Cases of Register Course Use Case ......................................................................................................... 155
Fail to register more than 30 credits .......................................................................................................... 155
Fail to register less than 15 credits ............................................................................................................ 155
Register for courses successfully ................................................................................................................ 156
Update the existing schedule successfully ................................................................................................. 157
Test Cases of Manage Course Catalogue Use Case ........................................................................................ 157
Add new course to course catalogue successfully ..................................................................................... 157
Fail to add a course when one or some or all fields are empty .................................................................. 158
Fail to add a course when inputting special character(s) ........................................................................... 159
Search for course by ID or Name ............................................................................................................... 159
Fail to search for course by ID or Name when inputting invalid ID and/or Name ...................................... 160
Fail to search for course by ID or Name when inputting empty ID and/or empty Name ........................... 160
Update course with valid information successfully .................................................................................... 161
Fail to update a course when one or some or all fields are empty ............................................................ 161
Fail to update a course when inputting special character(s) ...................................................................... 162
Update operation is canceled .................................................................................................................... 163
Delete a course .......................................................................................................................................... 163
Delete operation is canceled ..................................................................................................................... 163
Test Cases of Manage User Account Use Case ............................................................................................... 164
Create a new user account successfully ..................................................................................................... 164
Fail to create a new user account when the username that user has provided existing in the system
already ....................................................................................................................................................... 164
Fail to create a new user account when inputting empty username ......................................................... 165
Fail to create a new user account when the inputs containing special character(s) .................................. 166
Search for account by username ............................................................................................................... 166
Fail to search for account by empty username .......................................................................................... 167
Fail to search for account by username that does not exist in the system ................................................ 167
Final Document
10
Fail to search for account by username containing special characters(s) .................................................. 167
Update an account ..................................................................................................................................... 168
Update operation is canceled .................................................................................................................... 168
Delete an account ...................................................................................................................................... 169
Delete operation is canceled ..................................................................................................................... 169
Test Cases of Non-functional requirement testing ........................................................................................ 170
Switch from Vietnamese to English ........................................................................................................... 170
Switch from English to Vietnamese ........................................................................................................... 170
Load testing with 15 requests at the same time ........................................................................................ 170
Load testing with 25 requests at the same time ........................................................................................ 171
C- Appendix ................................................................................................................................................ 171
D- Inspection Checklist ............................................................................................................................... 173
The following checklist items apply to the test plan. ..................................................................................... 173
The following checklist items apply to the test cases: ................................................................................... 173
Testing demo ................................................................................................................................................. 176
Unit testing .................................................................................................................................................... 177
Functional requirement testing ..................................................................................................................... 177
Test Cases of Log in and Log out Use Case ..................................................................................................... 177
User logs in successfully with valid username and password .................................................................... 177
Fail to login the system when providing invalid username ........................................................................ 178
Fail to login the system when providing username or password containing special character(s).............. 178
Fail to login the system when providing valid username and invalid password ......................................... 179
Fail to login the system when providing empty username ........................................................................ 179
Fail to login the system when providing valid username and empty password ......................................... 179
User account is locked after failing to log in 3 times .................................................................................. 180
User logs in the system using an account is being used by another user................................................... 180
User logs in the system using an account is being locked .......................................................................... 181
Change password successfully ................................................................................................................... 181
Fail to change password when old or new or confirmed password is empty ............................................ 182
Fail to change password when old password is incorrect .......................................................................... 182
Final Document
11
Recover the password successfully ............................................................................................................ 183
Fail to reset password when inputting wrong answer for the security question ....................................... 183
Fail to reset password when inputting answer containing special character(s) for security question ....... 184
Fail to reset password when inputting empty answer for the security question ....................................... 184
Test Cases of Manage Course Offering Use Case ........................................................................................... 185
Create list of courses offering successfully ................................................................................................ 185
Update the list of course offering .............................................................................................................. 186
Cancel during the Create list of course offering operation ........................................................................ 186
Cancel during the Update list of course offering operation ....................................................................... 187
Fail to create an empty list of course offering ........................................................................................... 188
Update list of course offering while there’s no list of course offering for specific faculty ......................... 188
Test Cases of Manage Department Information Use case ............................................................................. 189
Add a department with valid information successfully .............................................................................. 189
Fail to add a department with name that already exists in the system ..................................................... 189
Fail to add a department when one or some or all fields are empty ......................................................... 190
Fail to add a department when inputting special character(s) to one or some or all fields ....................... 191
Update a department with valid information successfully ........................................................................ 191
Fail to update a department with name that already exists in the system ................................................ 192
Fail to update a department when one or some or all fields are empty .................................................... 193
Fail to update a department when inputting special character(s) to one or some or all fields .................. 193
Update cancel ............................................................................................................................................ 194
Delete a department .................................................................................................................................. 194
Delete cancel ............................................................................................................................................. 195
Test Cases of Register Course Use Case ......................................................................................................... 195
Fail to register more than 30 credits .......................................................................................................... 195
Fail to register less than 15 credits ............................................................................................................ 196
Register for courses successfully ................................................................................................................ 196
Update the existing schedule successfully ................................................................................................. 198
Non-functional requirement testing .............................................................................................................. 198
Test Cases of Non-functional requirement testing ........................................................................................ 198
Final Document
12
Switch from Vietnamese to English ........................................................................................................... 198
Switch from English to Vietnamese ........................................................................................................... 199
Load testing with 15 requests at the same time ........................................................................................ 199
Load testing with 25 requests at the same time ........................................................................................ 199
System architecture introduction .................................................................................................................. 200
How to download & install tools .................................................................................................................... 201
How to install OURS ....................................................................................................................................... 205
How to run OURS ........................................................................................................................................... 207
How to setup and run tests of OURS ............................................................................................................. 208
How to use OURS ........................................................................................................................................... 209
Login and Logout ........................................................................................................................................... 209
Register Course .............................................................................................................................................. 209
View Academic History .................................................................................................................................. 209
Manage Department Information ................................................................................................................. 210
Manage Student Information ........................................................................................................................ 210
Manage Course Offering ................................................................................................................................ 211
Manage Lecturer Information ........................................................................................................................ 212
Manage Financial Activities ........................................................................................................................... 213
Manage Course Catalogue ............................................................................................................................. 214
Manage User Account ................................................................................................................................... 214
Final Document
13
Introduction This is the Vision and Scope document of OURS project. Like any other Vision and Scope
document, this document will cover the problem and vision statement including project
background, list of users, stakeholders, candidate risks, assumptions & constraints, and project
scope. In addition, the document will also cover the part of development team introduction.
Development team & OURS project TiHonMumMim is a small software development team set up in 2007 by 5 students of
International University. The structure of the team includes 3 software engineers, 1 system &
networking engineer, and 1 team leader.
Our business goal is to be a leading company in IT. And our slogan is “Computing, consulting,
and programming professionally” (CC&PP).
For more information about our team:
Email: [email protected]
Blog: http://360.yahoo.com/TiHonMumMim
Final Document
14
We are assigned to build Online University Registration System (OURS). The internal
development team structure and roles on OURS project:
TEAM LEADER: Responsible for all project management.
DOCUMENTER: Responsible for documentation from other members’ according to the RUP
document standard.
BUSINESS ANALYST: Capture and analyze user requirements.
SYSTEM ANALYST: Analyze system requirements.
SYSTEM DESIGNER: Design the internal structure and operations of system.
UI DESIGNER: Design user interface for the system.
CODER: Responsible for implementing the system.
INTEGRATOR: Integrate the system components.
TESTER: Responsible for testing activities.
Team member ID Email Main roles
Tran Minh Phung 090401096 [email protected] Tester, Integrator
Le Vu Hoang 090401019 [email protected] System Designer, Coder
Huynh Da Thuc 090401121 [email protected] Tester, UI Designer
Phan Duy Tan 090401044 [email protected] System Analyst, Coder
Nguyen Duc Quan 090401038 [email protected] Team leader, Business Analyst, Documenter
OURS project
Team leader
Documenter
Business
Analyst
System
Analyst
System
Designer
UI
Designer
Coder Integrator Tester
Final Document
15
Problem Statement
Project background
There is a widespread agreement that the policy in course registration is very complicated,
costly, take-time, and inconvenient to both students and university. This is due the fact that at the
beginning of each semester, the university has to pause or delay some activities to spend time for
course registration of students. Some staffs have to prepare for offering courses list (including
selecting courses and inviting lecturers …), print it out, and deliver the registration form to each
student. After around one week, all students’ registration form will be returned. And the staffs
have to input students’ registration information to Excel files. They also have to check manually
whether the registration form of each student is legal or not basing on some conditions such as
prerequisite course, maximum and minimum number of credits allowed to register … If there is
anything wrong or students want to add or drop the courses, everything in the above process has
to be restarted. And sometimes some papers are lost when documents are moved from one place
to another place; both students and university have to spend time for retrieving necessary
information and approve it. However, it is impossible to do that in some cases.
In addition, calculating tuition fee for students, managing students’ academic history… are
also thorny issues. Mistakes can occur anytime when financial office‘s staffs use calculator or
Microsoft excel to calculate tuition fee.
Students’ transcript management is also another issue. When students want to have transcript to
see their academic history, they have to wait at least two weeks to receive it from academic affair.
Those are some typical examples for the inconvenience and complication of the current
course registration policy. They lead the university to the decision of building Online Course
Registration System to improve effectiveness, reduce time and cost in course registration process.
Key users
STUDENT: use the system to register for course or view academic history.
ADMINISTRATOR: Manage the system after it is built and the authentication mechanism of the
system.
Final Document
16
ACADEMIC AFFAIR STAFF: use the system to manage department and faculty, lecturer, student,
course catalogue, list of course offering information.
FINANCIAL OFFICE STAFF: use the system to monitor financial activities related to course
registration.
Stakeholders
STUDENT: use the system to register for course or view academic history.
ADMINISTRATOR: Manage the system after it is built.
ACADEMIC AFFAIR STAFF: use the system to manage school, lecturer-professor, and
ADMINISTRATOR: Manage the system after it is built and the authentication mechanism of the
system.
LECTURER: They could give ideas or comment on the solution for the system’s development
and improvement.
FINANCIAL OFFICE MANAGER: They also manage the investment of university for the system
development.
FINANCIAL OFFICE STAFF: use the system to monitor financial activities related to course
registration.
DEVELOPMENT TEAM: include all software engineers, business analysts, system analysts, system
designers, implementers, testers, QA, and project manager… They are tasked to build the
system.
List of Risks
All team members need preparation time for midterm, final exam, and other
subjects.
Phung, Thuc, and Hoang take pre-thesis course.
Lack of experiences in software project management, especially in testing,
verification, validation, risks management and changes management exists in the
Team.
No substitution if any team member cannot continue to contribute to the project.
Applying the project again from the beginning could take development team more
time.
Development time is limited in 2 months only. Therefore the pressure is really high.
Final Document
17
Development team cannot deliver the components when reviewed. Development
team could deliver components of unacceptably low quality, and time must be
added to improve quality.
Developing extra functionalities that are not required will extends the schedule.
Low motivation and moral reduce productivity.
Team member needs extra time to learn unfamiliar tools or techniques.
Conflicts among team members’ ideas results in poor performances, more meeting,
and extra rework.
People’s assignments do not match their strengths.
Components developed separately cannot be integrated easily, requiring redesign
and rework.
Detail reporting could take more development time.
Assumptions & Constraints of Online University Registration System
The system will be applied for universities using credit system like International
University.
The registration information of students is processed by academic affair. And only
academic affair has right to manage and process the registration information.
Development team will use J2EE architecture to develop system.
Policy for tuition fee payment is using cash and it is managed by financial office.
Development team must have at least one 2-hour meeting per week.
Development time 2 months and 10 days (from 01/10/2007 to 20/12/2008)
Development team must produce the first build before review 3 (05/12/2007).
Each team member must work at least 15 hours per week.
Vision of Solution
Vision statement
As the head of information systems for International University team are tasked with developing a new Online Course Registration System. The new system will allow students to access the system during registration time to register for courses, add or drop the registered courses, check tuition
Final Document
18
fee, and review their academic history. Academic affair can use the system as a mean to manage information of schools, classes, professors, students and offering courses. Financial office will use the system to monitor financial activities. The system provides a better solution and policy for course registration in International University. It reduces much time, cost, and resources required in processing registration information of students.
Scope
To be noticed on the scope of the system that this system is an Online University Registration
System. It is not a university management system which is much larger than the system we try to
build. It is only a part of the university management system. Therefore, we have to pay attention
on building applications supporting students to do registration, academic affairs to manage
information related to students’ courses registration, and financial office to mange financial
activities.
List of features
User login and log out
View Academic History
Register for course
Manage Department Information
Manage Student Information
Manage Courses Offering
Manage Course Catalogue
Manage Lecturer Information
Manage Financial Activities
Manage User Account
List of features will not be developed
Pay tuition fee (billing system)
Access the system as professor or lecturer
Final Document
19
Business Plan & SRS Document 11/9/2007
Ho Chi Minh National University – International University Instructor: Phan Viet Hoang
Group 6
Team member Signature
Nguyen Duc Quan
Le Vu Hoang
Tran Minh Phung
Phan Duy Tan
Huynh Da Thuc
Date November 9th , 2007
Version 1.0
Status Baseline
Author Team TiHonMumMim
Reviewer Team TiHonMumMim
Documenter Nguyen Duc Quan
Final Document
21
STATEMENT OF WORK
As the head of information systems for International University, our team is tasked with developing
a new Online Course Registration System.
The system will allow students to access the system during registration time to register for
courses, add or drop the registered courses, check tuition fee, and review their academic
history.
The academic affair staffs will use the system as a mean to manage information of
departments, faculties, students and offering courses.
The system also supports financial office staffs in monitoring financial activities.
The features of the systems can be summarized as the following table:
Group of users Features OURS provides
All Users Login and Log out
Academic Affair Staffs Manage Department Information Manage Lecturer Information Manage Course Catalogue Manage Student Information Manage Courses Offering
Financial Office Staffs Manage Financial Activities Students View Academic History
Register for courses Administrator Manage User Account
Our team is going to develop the system using Rational Unified Process with use-case driven. It
includes four phases (inception, elaboration, construction, and transition). And in each phase, we
will go through 6 workflows only (Management, Requirement, Analysis, Design, Implementation,
and Testing). In fact, all 6 workflows will be done iteratively in each phase. However, attention level
of ours team on each workflow in different phases is different. In particular,
Inception: It can be referred as Initial phase. In this phase we will review the initial system request
from customer, do feasibility study, define the vision and scope of the new system, and the initial
project plan.
Final Document
22
Elaboration: It can be referred as planning & requirement phase. In this phase we will pay
attention on detail plan which includes risk plan, estimation, and detail schedule. We also capture
& analyze most of requirements to define the system and analyze its behaviors.
Construction: It can be referred as executing, monitoring, and controlling phase which includes 3
main parts: system design, system implementation, and testing.
Transition: It can be referred as closing phase. In this phase, we will complete and improve the
system, and performance acceptance test to prepare for delivering the system to the stakeholders.
In order to complete the system development, our team will complete the vision and scope
document, project plan and 6 primary development models which are key products of each phase.
Vision and Scope document: It provides a vision of current problem and solution for the problem.
It also defines what will be developed and what will not be developed. It is done in Inception phase.
Project plan: It is a business plan. It includes statements of works, project estimation, schedule,
and risk plan. It is also done in Inception phase.
Use case model: It is a group of use-case package, which includes one or some related use-cases.
And each use case will contain related users’ needs, goals, tasks, processes…, and resources
Inception Elaboration Construction Transition
[Use-case driven]
Use case
Model
Analysis
Model
Design
Model
Deployment
Model
Implementation
Model
Test
Model
Final Document
23
involved to it together. It is created after users and stakeholders’ requirements are captured by
business analysts. The most important document included in use case model is use-cases
specification document. Use-case model will be done in Inception & Elaboration phases.
Analysis model: It contains use-cases and theirs realization which includes domain study, analysis
classes and objects, interactions and behaviors of the system. It also defines the design constraints,
test plan and test cases for the system. Analysis model is mainly done in Elaboration phase.
Design model: It includes system design specifications that define the system architecture and
detail design of components, database, graphical user interface, and the constraints for
implementation. Design model is done in Construction phase.
Deployment model: It defines how we can deploy the system so that it can run on server(s).
However, we intent to develop the system running on one server only, not distributed on many
server. Therefore, we will not pay much attention on deployment model. This model will be done in
Construction phase.
Implementation model: It defines the way we transfer from logical system architecture into
physical system architecture; test components (unit testing) and integrate them together in order
to form a unique system that satisfies users and stakeholders’ needs.
Test model: It includes many checklists and test cases that are planned and designed in previous
phases. It also requires all defects or errors to be recorded in defects and errors reports. It is done
in Construction phase.
The detail of each workflows and models will be presented in detail schedule, and the plan for each
phase.
Development team will use web-base and J2EE technologies to develop the system.
Final Document
24
RESOURCE LIST
Human
Software
Documentation tool Microsoft word 2007
Scheduling tool Microsoft project 2007
IDE Netbean 6.0
Web Server Glassfish server 2.0
Design tool Photoshop CS2
Microsoft Express Web Designer
JDK JDK 6.0
DBMS MySQL 5.0
Browser Internet Explorer 6.0, 7.0
Firefox, Opera
Operating system Windows XP, Vista, Linux
Hardware
Client
3 laptops 2 desktops
Server Reuse one 24/7 available desktop to simulate the server for testing and deployment
Team member Main roles Responsibilities
Tran Minh Phung Tester, Integrator Integrate, test components, builds, and system
Le Vu Hoang System Designer, Coder Design components, system and implement components
Huynh Da Thuc Tester, UI Designer Design graphical user interface, and test components, builds, and system
Phan Duy Tan System Analyst, Coder Analyze system and implement front end of the system
Nguyen Duc Quan Team leader, Business Analyst, Documenter
Monitor, control the project; analyze requirements and system behaviors; and do documentation
Final Document
25
ESTIMATION
Huynh Da Thuc estimation
Name : Huynh Da Thuc Date: 11/09/2007 Estimation form ///
Goal statement: To estimate the time to develop prototype for customer A and B Unit: days
Category x goal tasks x quality tasks waiting time project overhead
No. Task Est Del1 Del2 Del3 Del4 Total Assumption
Initial
1 Write team introduction 3 1 4
2 Review system request 4 2 1 -4 3 The system request is quite complex than initial review
3 Identify User and Stakeholder 4 -4 3 3 The key user and stakeholder varies and changes
4 Gather user and stakeholder ideas
2 3 5 -5 5 Difficult in getting appointment and interview
5 Write Project background 2 0.5 0.5 3
6 Write Vision statement 1 2 3 6
7 Write Scope statement 2 -1 1 2 The scope is quite simple
8 Identify risks and assumption 2 0.5 2.5
9 Complete vision and scope 1 0.5 0.5 2 The document should be review again and check any existing error
10 Team Review 3 -1 2 Team gather late and far distance
11 Review 1 3 0.5 0.5 4
Planning
1 Complete statements of works 2 1 3 Statement of works is more complex
2 Plan for risk 4 1 -1 4 Risk varies and should be coherent between the team members
3 WBS 2 3 -1 1 5
4 Estimation & assumption 1 0.5 0.5 2 Idea should be coherent
5 Schedule 0.5 0.5 1 2
6 Discussion summary 2 3 1 7 The document is long and complex, need more time to review
7 Analyze initial requirement 2 2 2 6
8 Understand stakeholder & user needs 1 1 -2 2 2
9 Complete glossary 2 1 1 4 The glossary should be exact and complete
10 Login use case 1 1 -2 3 3
11 Manage faculty use case 1.5 2
12 Manage lecturer use case 1 1 1 3 The use case should be reviewed many times
13 Manage student use case 0.5 2 3 The use case should be reviewed many times
14 Manage courses offering 2 1 1 4 The use case should be reviewed many times
15 View academic history 2 2 1 5
Final Document
26
16 Register courses use case 3 1 1 1 6
17 Manage financial activities 3 2 -3 1 3 Financial activities are quite complex
18 Complete functional requirement 1 1 -4 4 2
19 Complete non-functional requirements 2 1 3
20 Define the system 1 1 3 1 6 Team should consider carefully this part
21 Manage the scope of the system 2 1 1 1 5
22 Complete SRS 1 1 1 3 Requirement is complex and should be reviewed more
23 SRS inspection 0.5 1 2
24 Test Plan 1.5 1 3
25 Test case 2 1 3
26 Detail WBS 2 2
27 Re-estimation & assumption 1.4 1 2
28 Detail Schedule 1.5 2
29 Team review 1 2 3
30 Review 2 2 2
Executing
1 Define candidate architecture 1.5 2
2 Refine the architecture 1 1 2 Refinement should last for more session
3 Analyze behaviors 2 2
4 Complete analysis model 2 1 3
5 Complete design model & system architecture 1 1 1 3 The architecture grows rapidly
6 Design GUI 2 1 3
7 Design database 1.5 2
8 Design persistence layer 2 1 3
9 Design business logic layer 1.5 2
10 Design presentation layer 1.5 1 3
11 Design test case 2 2
12 Complete Implementation model 1 1 2
13 Complete Implementation guidelines & code conventions 2 2
14 Produce Integration build plan 1 1
15 Review OOAD 1 1
16 Create file structure of system 1 1
17 Implement GUI 10 10
18 Implement database 9 2 11 No experience in using MySQL
19 Implement persistence layer 11 11
Final Document
27
20 Implement business logic layer 9 9
21 Implement presentation layer 9 9
22 Review code & update changes 2 1 3 Fixing bugs and updates encounter difficulty
23 Integrated build 2 2
24 Do integration test 1 1 2
25 Test build 1 1 2
26 Test system 2 1 3 System should be tested well
27 Complete test report 6 2 8
Inspection meeting should be established between this duration to ensure the report is defection-free and coherent
28 Rework 4 2 6
29 Team review & evaluation 1 1 2
30 Review 3 1 2 3
Closing
1 Complete source code 6 2 4 12 Need coherence and re-check logic functionality
2 Complete User Manual 3 2 1 1 7 User manual must be in detail
3 Do acceptance test 3 1 1 5 Acceptance test is brand new to team
4 Team review & evaluation 2 2
5 Complete all documents 2 2 3 7
6 Review 4 2 2
Final Document
28
Phan Duy Tan estimation
Name : Phan Duy Tan Date: 11/09/2007 Estimation form ///
Goal statement: To estimate the time to develop prototype for customer A and B Unit: days
Category x goal tasks x quality tasks waiting time project overhead
No.
Task Est. Del1 Del2 Del3 Del4 Total Assumption
Initial
1 Write team introduction 0.5 0.5 1 discuss
2 Review system request 0.5 0.5 1 additional requirement
3 Identify User and stakeholder 1 1 1 3 Interview
4 Login use case 4 -2 2
2 members do not know requirements provides last year
5 Write Project background 1 1 2 Spend time to understand current problem
6 Write Vision statement 0.5 0.5 1 review
7 Write Scope statement 0.5 0.5 1 review
8 Identify risks and assumption 3 -1 2 4 cannot find all risk and assumption
9 Complete vision and scope 0.5 0.5 1
All parts of Vision and Scope document have to be finished
10 Team Review 1
11 Review 1 0.5 0.5
Planning
1 Complete statements of works 0.5 0.5
2 Plan for risk 6 4 -1 9 Need a lot of meeting to identify mitigation plan
3 WBS 0.5 0.5
4 Estimation & assumption 1 1
5 Schedule 0.5 0.5
6 Discussion summary 1 1
7 Analyze initial requirement 2 1 3 Review
8 Understand stake holder & user needs 2 2
9 Complete glossary 0.5 0.5 1 Double-check term definitions
10 Login use case 1 1
11 Manage faculty use case 1 1
12 Manage lecturer use case 1 1
13 Manage student use case 2 2
Final Document
29
14
Manage courses offering 4 -1 1 4 There are many solutions in solving problem of course offering management. It is difficult to choose one
15 View academic history 1 1
16 Register courses use case 4 -1 3 Team brainstorming
17 Manage financial activities 2 -1 1 only simple activities
18 Complete functional requirement 3 3
19 Complete non-functional requirements 3 3
20 Define the system 2 1 3 Review
21 Manage the scope of the system 2 2
22 Complete SRS 1 1 2 Use cases are written in details
23 SRS inspection 1 1
24 Test Plan 2 1 3 No experience
25 Test case 2 1 3 Review
26 Detail WBS 0.5 0.5
27 Re-estimation & assumption 0.5 0.5 1 Under-estimate tasks
28 Detail Schedule 0.5 0.5
29 Team review 1 1
30 Review 2 1 1
Executing
1 Define candidate architecture 3 2 5 J2EE architecture is complex
2 Refine the architecture 1 1 2 J2EE architecture is complex
3 Analyze behaviors 1 1
4 Complete analysis model 1 1
5 Complete design model & system architecture 2 1 3 Review
6 Design GUI 1 1
7 Design database 2 2
8 Design persistence layer 1 1
9 Design business logic layer 1 1
10 Design presentation layer 1 1
11 Design test case 2 1 3 test case document
12 Complete Implementation model 2 2
13 Complete Implementation guidelines & code conventions 0.5 0.5
14 Produce Integration build plan 0.5 1
15 Review OOAD 0.5 0.5 1 Debate
16 Create file structure of system 0.5 0.5 1 Packaging
Final Document
30
17 Implement GUI 6 -1 -1 1 5 Tan has a lot of experience in implementing GUI
18 Implement database 4 4 2 1 11 First time using MySQL
19 Implement persistence layer 9 9
20 Implement business logic layer 10 10
21 Implement presentation layer 6 1 7 Environment integration
22 Review code & update changes 1 1
23 Integrate build 1 1
24 Do integration test 2 -1 1 No experience
25 Test build 2 2
26 Test system 2 2
27 Complete test report 3 2 5 Fix new defects
28 Rework 3 3
29 Team review & evaluation 1 1
30 Review 3 1 1
Closing
1 Complete source code 10 -1 -1 8 use IDE
2 Complete User Manual 6 -1 5 Thuc has a very good writing skill
3 Do acceptance test 3 3
4 Team review & evaluation 1 1
5 Complete all documents 3 3
6 Review 4 1 1
Final Document
31
Tran Minh Phung estimation
Name : Tran Minh Phung Date: 11/09/2007 Estimation form ///
Goal statement: To estimate the time to develop prototype for customer A and B Unit: days
Category x goal tasks x quality tasks waiting time project overhead
No. Task Est Del1 Del2 Del3 Del4 Total Assumption
Initial
1 Write team introduction 2 0.5 0.5 3 Understanding the problems
2 Review system request 2 1 0.5 0.5 4
3 Identify User and Stakeholder 2 0.5 0.5 3
4
Gather user and stakeholder ideas
3 1 1 5 Use all existed documents
5 Write Project background 1 1 2 4
6 Write Vision statement 3 1 1 0.5 0.5 6
7 Write Scope statement 4 1 2 7
8 Identify risks and assumption 1 0.5 0.5 1 3
9 Complete vision and scope 1 0.5 0.5 2 Have enough all information
10 Team Review 1 1
11 Review 1 1 1
Planning
1 Complete statements of works 1 0.5 0.5 2 Vision and Scope documents is baseline
2 Plan for risk 3 2 1 1 5 Candidate risks must be listed out already
3 WBS 4 0.5 0.5 1 6
4 Estimation & assumption 1.5 0.5 2
5 Schedule 2 1 3
6 Discussion summary 6 1 7
7 Analyze initial requirement 2 2
8 Understand stake holder & user needs 1 1 1 3
9 Complete glossary 4 1 0.5 0.5 5
10 Login use case 3 0.5 0.5 4
Final Document
32
11 Manage faculty use case 2 0.5 0.5 3
12 Manage lecturer use case 3 0.5 0.5 4
13 Manage student use case 3 1 4
14 Manage courses offering 3 1 4
15 View academic history 4 1 1 6
16 Register courses use case 4 1 1 1 7
17 Manage financial activities 1 0.5 2
18 Complete functional requirement 1 1
19 Complete non-functional requirements 3 1 4
20 Define the system 7 0.5 0.5 8
21 Manage the scope of the system 8 1 2 11
22 Complete SRS 1 1
23 SRS inspection 1 1
24 Test Plan 2 1 3
25 Test case 2 1 3
26 Detail WBS 2 2
27 Re-estimation & assumption 1 1
28 Detail Schedule 1 1
29 Team review 1 1
30 Review 2 1 1
Executing
1 Define candidate architecture 1 1 2
2 Refine the architecture 1 1
3 Analyze behaviors 1 1
4 Complete analysis model 2 2
5 Complete design model & system architecture 2 2
6 Design GUI 1 1 2
7 Design database 1 1 2
8 Design persistence layer 1 1 2
9 Design business logic layer 1.5 0.5 2
10 Design presentation layer 1.5 0.5 2
11 Design test case 1.5 0.5 2
12 Complete Implementation model 2 2
13 Complete Implementation guidelines & code conventions 1 1
14 Produce Integration build plan 2 2
15 Review OOAD 1 1
Final Document
33
16 Create file structure of system 1.5 0.5 2
17 Implement GUI 10 2 12
18 Implement database 8 1.5 0.5 10
19 Implement persistence layer 9 0.5 0.5 10
20 Implement business logic layer 8 0.5 0.5 1 10
21 Implement presentation layer 7 2 1 10
22 Review code & update changes 1 1 2
23 Integrate build 1 1 2
24 Do integration test 1 1 2
25 Test build 1 0.5 0.5 2
26 Test system 3 3
27 Complete test report 6 2 1 9
28 Rework 5 2 7
29 Team review & evaluation 1 1 2
30 Review 3 1 1
Closing
1 Complete source code 10 1 1 1 13
2 Complete User Manual 6 1 1 8
3 Do acceptance test 4 2 6
4 Team review & evaluation 1 2 3
5 Complete all documents 4 3 1 8
6 Review 4 1 1
Final Document
34
Nguyen Duc Quan estimation
Name :Nguyen Duc Quan Date: 11/09/2007 Estimation form ///
Goal statement: To estimate the time to develop prototype for customer A and B Unit: days
Category x goal tasks x quality tasks waiting time project overhead
No. Task Est Del1 Del2 Del3 Del4 Total Assumption
Initial
1 Write team introduction 1 2 -1 2
2 Review system request 1 1 2
3 Identify User and Stakeholder 2 1 -1 2
4
Gather user and stakeholder ideas
1 1 Use existing requirements provided last year, additional requirements
5 Write Project background 1 1
6 Write Vision statement 1 1
7 Write Scope statement 1 1
8 Identify risks and assumption 4 2 2 -2 6
this task must be done along the summary task
9 Complete vision and scope 0.5 0.5 1 must do informal review
10 Team Review 1 1
11 Review 1 1 1
Planning
1 Complete statements of works 0.5 0.5 1
2 Plan for risk 8 2 1 -2 11 lack of experience in risk mitigation
3 WBS 1 1
4 Estimation & assumption 1 1
5 Schedule 1 1
6 Discussion summary 1 0.5 0.5 2 must be more detail than vision and scope
7 Analyze initial requirement 1 1 2
8 Understand stake holder & user needs 2 2
Final Document
35
9 Complete glossary 2 2
10 Login use case 3 -1 2 Login is a popular function
11 Manage faculty use case 2 1 3
3 members are familiar with old requirements
12 Manage lecturer use case 2 1 3
13 Manage student use case 2 1 3
14 Manage courses offering 2 1 3
15 View academic history 2 1 3
16 Register courses use case 2 1 3
17 Manage financial activities 2 1 3
18 Complete functional requirement 1 1 1 3
19 Complete non-functional requirements 1 1 1 3
20 Define the system 1 1 1 3
21 Manage the scope of the system 6 2 1 1 10
Must perform scope management during the requirement phase
22 Complete SRS 1 1
23 SRS inspection 1 1
24 Test Plan 1 1 2
25 Test case 1 1 2
26 Detail WBS 1 1
27 Re-estimation & assumption 1 1
28 Detail Schedule 1 1
29 Team review 1 1
30 Review 2 1 1
Executing
1 Define candidate architecture 2 1 3
2 Refine the architecture 1 1
3 Analyze behaviors 1 1
4 Complete analysis model 1 1
5 Complete design model & system architecture 1 1
6 Design GUI 1 1 2
7 Design database 1 1
8 Design persistence layer 1 1
9 Design business logic layer 1 1
10 Design presentation layer 1 1
Final Document
36
11 Design test case 1 0.5 0.5 2
12 Complete Implementation model 1 1 2
13 Complete Implementation guidelines & code conventions 1 1
14 Produce Integration build plan 1 1
15 Review OOAD 1 1
16 Create file structure of system 1 1
17 Implement GUI 5 2 2 9
18 Implement database 6 1 1 1 9
19 Implement persistence layer 7 1 9
20 Implement business logic layer 7 1 9
21 Implement presentation layer 7 1 9
22 Review code & update changes 1 1
23 Integrate build 1 1
24 Do integration test 1 1
25 Test build 1 1
26 Test system 1 1 2
27 Complete test report 5 2 1 8
28 Rework 3 0.5 0.5 1 5
29 Team review & evaluation 1 1
30 Review 3 1 1
Closing
1 Complete source code 10 2 12 J2EE requires more works
2 Complete User Manual 5 1 1 7 Too many guidelines must be written
3 Do acceptance test 5 5
4 Team review & evaluation 2 2
5 Complete all documents 4 1 1 6 documentation follows RUP standard
6 Review 4 1 1
Final Document
37
Le Vu Hoang estimation
Name : Le Vu Hoang Date: 11/09/2007 Estimation form ///
Goal statement: To estimate the time to develop prototype for customer A and B Unit: days
Category x goal tasks x quality tasks waiting time project overhead
No. Task Est Del1 Del2 Del3 Del4 Total Assumption
Initial
1 Write team introduction 1 1 2 Review introduction
2 Review system request 3 -1 2 Already have basic requirement
3 Identify User and Stakeholder 2 1 3 Investigate and interview
4 Gather user and stakeholder ideas
1 1
5 Write Project background 2 2
6 Write Vision statement 1 1
7 Write Scope statement 1 1
8 Identify risks and assumption 9 -1 -1 7 Team brainstorming
9 Complete vision and scope 2 2
10 Team Review 2 2
11 Review 1 1 1
Planning
1 Complete statements of works 1 1
2 Plan for risk 12 -1 -1 10 Just find basic risk
3 WBS 1 1
4 Estimation & assumption 3 -1 2 Elicitation
5 Schedule 3 -1 2 Assign schedule for 1 person
6 Discussion summary 1 2 3 Sum everything in detail
7 Analyze initial requirement 2 -1 1 Stifling
8 Understand stake holder & user needs 3 3
9 Complete glossary 2 2
10 Login use case 6 -2 4 Login use case is simple
11 Manage faculty use case 4 4
12 Manage lecturer use case 4 4
13 Manage student use case 6 -1 5 Inspection
14 Manage courses offering 6 -1 -1 4 Just consider about offering, not class
Final Document
38
15 View academic history 3 3
16 Register courses use case 3 3
17 Manage financial activities 2 2
18 Complete functional requirement 4 4
19 Complete non-functional requirements 4 4
20 Define the system 2 1 3 Iteration abuse
21 Manage the scope of the system 10 3 13 Define carefully scope
22 Complete SRS 1 1
23 SRS inspection 1 1
24 Test Plan 2 -1 1 2 people
25 Test case 2 -1 1 2 people
26 Detail WBS 1 1 2 Scope Creep
27 Re-estimation & assumption 2 2
28 Detail Schedule 1 1 2 Misunderstood predecessor
29 Team review 2 2
30 Review 2 1 1
Executing
1 Define candidate architecture 3 -1 2 Fix J2EE model
2 Refine the architecture 0.5 0.5
3 Analyze behaviors 0.5 0.5
4 Complete analysis model 1 0.5 0.5 2 Review model
5 Complete design model & system architecture 3 -1 2 Hoang is professional
6 Design GUI 2 1 3 Use AJAX
7 Design database 1 1
8 Design persistent layer 2 2
9 Design business logic layer 2 2
10 Design presentation layer 1 1 2 Use AJAX
11 Design test case 0.5 0.5 1 Many test cases
12 Complete Implementation model 1 1
13 Complete Implementation guidelines & code conventions 1 0.5 1.5 Replace Magic Number with symbolic Constant
14 Produce Integration build plan 1 1 2 Extract Method
15 Review OOAD 3 -1 2 Defect tracking
16 Create file structure of system 0.5 0.5
17 Implement GUI 7 5 12 Implement AJAX
18 Implement database 10 -1.5 -0.5 8 Use Database tool
19 Implement persistence layer 9 9
Final Document
39
20 Implement business logic layer 9 9
21 Implement presentation layer 10 10
22 Review code & update changes 4 -1 -1 2 Good Programming skill
23 Integrate build 1 1 2 No experience
24 Do integration test 2 2
25 Test build 1 1
26 Test system 1 1
27 Complete test report 5 2 2 9 Report unit test
28 Rework 6 1 -1 6 Broken build
29 Team review & evaluation 1 1
30 Review 3 1 1
Closing
1 Complete source code 16 -1 -1 14 Need system build
2 Complete User Manual 10 -1 9 Good English skill
3 Do acceptance test 4 0.5 0.5 1 6 Need rework
4 Team review & evaluation 3 3
5 Complete all documents 5 2 7 Need time for review
6 Review 4 1 1
Estimation Summary
Date: 11/09/2007 Estimation Summary form ///
Goal statement: To estimate the time to develop prototype for customer Unit: days
Estimators : Quan, Thuc, Tan, Hoang, Phung
No. Task Thuc Tan P Q H Best Worst Avg Assumption
Initial
1 Write team introduction 4 1 3 2 2 1 4 2.4 Review introduction
2 Review system request 3 1 4 2 2 1 4 2.4 The system request is quite complex than initial review
3 Identify User and Stakeholder 3 3 3 2 3 2 3 2.8
The key user and stakeholder varies and changes
4 Gather user and stakeholder ideas 5 2 5 1 1 1 5 2.8
Difficult in getting appointment and interview
5 Write Project background 3 2 4 1 2 1 4 2.4
6 Write Vision statement 6 1 6 1 1 1 6 3
7 Write Scope statement 2 1 7 1 1 1 7 2.4 The scope is quite simple
8 Identify risks and assumption 2.5 4 3 6 7 2.5 7 4.5 Team brainstorming
9 Complete vision and scope 2 1 2 1 2 1 2 1.6 The document should be review again and check any
Final Document
40
existing error
10 Team Review 2 1 1 1 2 1 2 1.4 Team gather late and far distance
11 Review 1 4 0.5 1 1 1 0.5 4 1.5
Planning
1 Complete statements of works 3 0.5 2 1 1 0.5 3 1.5
Statement of works is more complex
2 Plan for risk 4 9 5 11 10 4 11 7.8
Risk varies and should be coherent between the team members
3 WBS 5 0.5 6 1 1 0.5 6 2.7
4 Estimation & assumption 2 1 2 1 2 1 2 1.6 Idea should be coherent
5 Schedule 2 0.5 3 1 2 0.5 3 1.7 Assign schedule for 1 person
6 Discussion summary 7 1 7 2 3 1 7 4
The document is long and complex, need more time to review
7 Analyze initial requirement 6 3 2 2 1 1 6 2.8 Stifling
8 Understand stakeholder & user needs 2 2 3 2 3 2 3 2.4
9 Complete glossary 4 1 5 2 2 1 5 2.8 The glossary should be exact and complete
10 Login use case 3 1 4 2 4 1 4 2.8 Login use case is simple
11 Manage faculty use case 2 1 3 3 4 1 4 2.6
12 Manage lecturer use case 3 1 4 3 4 1 4 3 The use case should be reviewed many times
13 Manage student use case 3 2 4 3 5 2 5 3.4 The use case should be reviewed many times
14 Manage courses offering 4 4 4 3 4 3 4 3.8 The use case should be reviewed many times
15 View academic history 5 1 6 3 3 1 6 3.6
16 Register courses use case 6 3 7 3 3 3 7 4.4
17 Manage financial activities 3 1 2 3 2 1 3 2.2 Financial activities are quite complex
18 Complete functional requirement 2 3 1 3 4 1 4 2.6
19 Complete non-functional requirements 3 3 4 3 4 3 4 3.4
20 Define the system 6 3 8 3 3 3 8 4.6 Team should consider carefully this part
21 Manage the scope of the system 5 2 11 10 13 2 13 8.2 Define carefully scope
22 Complete SRS 3 2 1 1 1 1 3 1.6 Requirement is complex and should be reviewed more
23 SRS inspection 2 1 1 1 1 1 2 1.2
24 Test Plan 3 3 3 2 1 1 3 2.4
Final Document
41
25 Test case 3 3 3 2 1 1 3 2.4
26 Detail WBS 2 0.5 2 1 2 0.5 2 1.5 Scope Creep
27 Re-estimation & assumption 2 1 1 1 2 1 2 1.4
28 Detail Schedule 2 0.5 1 1 2 0.5 2 1.3 Misunderstood predecessor
29 Team review 3 1 1 1 2 1 3 1.6
30 Review 2 2 1 1 1 1 1 2 1.2
Execution
1 Define candidate architecture 2 5 2 3 2 2 5 2.8 Fix J2EE model
2 Refine the architecture 2 2 1 1 0.5 0.5 2 1.3 Refinement should last for more session
3 Analyze behaviors 2 1 1 1 0.5 0.5 2 1.1
4 Complete analysis model 3 1 2 1 2 1 3 1.8 Review model
5 Complete design model & system architecture 3 3 2 1 2 1 3 2.2 The architecture grows rapidly
6 Design GUI 3 1 2 2 3 1 3 2.2 Use AJAX
7 Design database 2 2 2 1 1 1 2 1.6
8 Design persistence layer 3 1 2 1 2 1 3 1.8
9 Design business logic layer 2 1 2 1 2 1 2 1.6
10 Design presentation layer 3 1 2 1 2 1 3 1.8 Use AJAX
11 Design test case 2 3 2 2 1 1 3 2 Many test cases
12 Complete Implementation model 2 2 2 2 1 1 2 1.8
13
Complete Implementation guidelines & code conventions 2 0.5 1 1 1.5 0.5 2 1.2
Replace Magic Number with symbolic Constant
14 Produce Integration build plan 1 1 2 1 2 1 2 1.4 Extract Method
15 Review OOAD 1 1 1 1 2 1 2 1.2 Defect tracking
16 Create file structure of system 1 1 2 1 0.5 0.5 2 1.1
17 Implement GUI 10 5 12 9 12 5 12 9.6 Implement AJAX
18 Implement database 11 11 10 9 8 8 11 9.8 No experience in using MySQL
19 Implement persistence layer 11 9 10 9 9 9 11 9.6
20 Implement business logic layer 9 10 10 9 9 9 10 9.4
21 Implement presentation layer 9 7 10 9 10 7 10 9
22 Review code & update changes 3 1 2 1 2 1 3 1.8
Fixing bugs and updates encounter difficulty
23 Integrated build 2 1 2 1 2 1 2 1.6
24 Do integration test 2 1 2 1 2 1 2 1.6
25 Test build 2 2 2 1 1 1 2 1.6
26 Test system 3 2 3 2 1 1 3 2.2 System should be tested well
Final Document
42
27 Complete test report 8 5 9 8 9 5 9 7.8
Inspection meeting should be established between this duration to ensure the report is defection-free and coherent
28 Rework 6 3 7 5 6 3 7 5.4 Broken build
29 Team review & evaluation 2 1 2 1 1 1 2 1.4
30 Review 3 3 1 1 1 1 1 3 1.4
Closing
1 Complete source code 12 8 13 12 14 8 14 11.8 Need coherence and re-check logic functionality
2 Complete User Manual 7 5 8 7 9 5 9 7.2 User manual must be in detail
3 Do acceptance test 5 3 6 5 6 3 6 5 Acceptance test is brand new to team
4 Team review & evaluation 2 1 3 2 3 1 3 2.2
5 Complete all documents 7 3 8 6 7 3 8 6.2 Need time for review
6 Review 4 2 1 1 1 1 1 2 1.2
Total 289 181 295 215 253 144 352 246
Final Document
43
SCHEDULE
Task list
No. Task Duration Start Date
End Date
Pre-decessor
Resource
1 Initial 11 days 02/10/2007 15/10/2007 Team
2 Write team introduction 2 days 02/10/2007 03/10/2007 Team
3 Review system request 2 days 02/10/2007 03/10/2007 Team
4 Develop vision and scope 6 days 04/10/2007 10/10/2007 3 Team
5 Identify User and Stakeholder 2 days 04/10/2007 05/10/2007 Team
6 Gather user and stakeholder ideas 1 day 06/10/2007 06/10/2007 5 Quan
7 Write Project background 1 day 08/10/2007 08/10/2007 6 Thuc
8 Write Vision statement 1 day 08/10/2007 08/10/2007 6 Phung
9 Write Scope statement 1 day 08/10/2007 08/10/2007 6 Hoang
10 Identify risks and assumption 6 days 04/10/2007 10/10/2007 5SS Team
11 Complete vision and scope 1 day 11/10/2007 11/10/2007 4 Quan
12 Team Review 1 day 12/10/2007 12/10/2007 11 Team
13 Review 1 1 day 15/10/2007 15/10/2007 12 Team
14 Planning 20 days 15/10/2007 09/11/2007 Team
15 Complete statements of works 1 day 15/10/2007 15/10/2007 Team
16 Plan for risk 11 days 15/10/2007 29/10/2007 Tan
17 WBS 1 day 15/10/2007 15/10/2007 Thuc
18 Estimation & assumption 1 day 16/10/2007 16/10/2007 17 Team
19 Schedule 1 day 17/10/2007 17/10/2007 18 Phung
20 Discussion summary 2 days 15/10/2007 16/10/2007 Quan
21 Analyze initial requirement 2 days 18/10/2007 19/10/2007 20 Team
22 Understand stake holder & user needs 2 days 22/10/2007 23/10/2007 21 Quan
23 Complete glossary 2 days 22/10/2007 23/10/2007 22SS Hoang
24 Complete use case model 3 days 24/10/2007 26/10/2007 22 Team
25 Login use case 3 days 24/10/2007 26/10/2007 Thuc
26 Manage faculty use case 3 days 24/10/2007 26/10/2007 Phung
27 Manage lecturer use case 3 days 24/10/2007 26/10/2007 Phung
28 Manage student use case 3 days 24/10/2007 26/10/2007 Phung
29 Manage offering course 3 days 24/10/2007 26/10/2007 Hoang
30 View academic history 3 days 24/10/2007 26/10/2007 Tan
31 Register courses use case 3 days 24/10/2007 26/10/2007 Tan
32 Manage financial activities 3 days 24/10/2007 26/10/2007 Quan
33 Complete functional requirement 3 days 24/10/2007 26/10/2007 Team
34 Complete non-functional requirements 3 days 24/10/2007 26/10/2007 Team
Final Document
44
35 Define the system 3 days 24/10/2007 26/10/2007 Hoang
36 Manage the scope of the system 10 days 15/10/2007 26/10/2007 Quan
37 Complete SRS 1 day 29/10/2007 29/10/2007 35,33,34,24 Quan
38 SRS inspection 1 day 31/10/2007 31/10/2007 37 Team
39 Test Plan 1 day 01/11/2007 01/11/2007 37SS Phung, Thuc
40 Test case 1 day 01/11/2007 01/11/2007 37SS,39SS Phung, Thuc
41 Detail WBS 1 day 02/11/2007 02/11/2007 37,38 Quan
42 Re-estimation & assumption 1 day 05/11/2007 05/11/2007 41 Team
43 Detail Schedule 1 day 06/11/2007 06/11/2007 42 Quan
44 Team review 1 day 07/11/2007 07/11/2007 43 Team
45 Review 2 1 day 09/11/2007 09/11/2007 44 Team
46 Executing 31 days 01/11/2007 07/12/2007 Team
47 Define candidate architecture 3 days 01/11/2007 05/11/2007 Quan
48 Refine the architecture 1 day 09/11/2007 09/11/2007 47 Team
49 Analyze behaviors 1 day 09/11/2007 09/11/2007 Quan
50 Complete analysis model 1 day 10/11/2007 11/11/2007 49 Quan
51 Complete design model & system architecture 1 day 12/11/2007 12/11/2007 50 Hoang
52 Design component 1 day 13/11/2007 13/11/2007 51 Team
53 Design GUI 1 day 13/11/2007 13/11/2007 Thuc,Tan
54 Design database 1 day 13/11/2007 13/11/2007 Hoang
55 Design persistence layer 1 day 13/11/2007 13/11/2007 Hoang
56 Design business logic layer 1 day 13/11/2007 13/11/2007 Hoang
57 Design presentation layer 1 day 13/11/2007 13/11/2007 Tan
58 Design test case 1 day 13/11/2007 13/11/2007 52SS Phung, Thuc
59 Complete Implementation model 2 days 14/11/2007 15/11/2007 52 Hoang
60 Complete Implementation guidelines & code conventions 1 day 16/11/2007 16/11/2007 59 Tan
61 Produce Integration build plan 1 day 16/11/2007 17/11/2007 60SS Quan
62 Review OOAD 1 day 18/11/2007 18/11/2007 60,61 Team
63 Create file structure of system 1 day 19/11/2007 19/11/2007 62 Tan
64 Implement components & unit test & check list 9 days 19/11/2007 29/11/2007 Team
65 Implement GUI 9 days 19/11/2007 29/11/2007 Thuc
66 Implement database 9 days 19/11/2007 29/11/2007 Hoang
67 Implement persistence layer 9 days 19/11/2007 29/11/2007 Hoang
68 Implement business logic layer 9 days 19/11/2007 29/11/2007 Hoang
69 Implement presentation layer 9 days 19/11/2007 29/11/2007 Tan
70 Review code & update changes 1 day 30/11/2007 30/11/2007 64 Team
Final Document
45
71 Integrate build 1 day 01/12/2007 01/12/2007 70 Phung
72 Testing & fix bugs 5 days 01/12/2007 05/12/2007 Team
73 Do integration test 1 day 01/12/2007 01/12/2007 Phung
74 Test build 1 day 02/12/2007 02/12/2007 73 Phung
75 Test system 1 day 03/12/2007 03/12/2007 74 Tan, Thuc
76 Complete test report 4 days 01/12/2007 04/12/2007 Phung, Thuc
77 Rework 5 days 01/12/2007 05/12/2007 Team
78 Team review & evaluation 1 day 06/12/2007 06/12/2007 72 Team
79 Review 3 1 day 07/12/2007 07/12/2007 78 Team
80 Closing 18 days 10/12/2007 28/12/2007 Team
81 Complete source code 6 days 10/12/2007 15/12/2007 Hoang,Tan
82 complete User Manual 7 days 10/12/2007 17/12/2007 Thuc
83 Do acceptance test 5 days 15/12/2007 20/12/2007 Phung
84 Team review & evaluation 2 days 21/12/2007 22/12/2007 Team
85 Complete all documents 6 days 18/12/2007 23/12/2007 Quan
86 Review 4 1 day 28/12/2007 28/12/2007 Team
Gantt chart (reference)
Final Document
46
RISK PLAN
Risk plan for project OURS Project
Assessment team members Quan, Tan, Thuc, Phung, Hoang
Risk Prob. Impact Priority Actions
Phung, Thuc, and Hoang take pre-thesis course
5 4 20
Assign tasks of these people to Quan &
Tan, Work overtime.
Components developed separately cannot be integrated easily, requiring redesign and rework.
4 4 16
Reserve time to integrated and rework for
integration in schedule.
Development team cannot complete to deliver the components when reviewing
3 5 15
Make another informal meeting in the
same week to complete them
No substitution if any team member cannot continue to contribute to the project.
4 3 12 Add more tasks for remaining members, add more time to work
People’s assignments do not match their strengths
3 4 12 Before starting; development team lists out and evaluates the skills of each member.
Detail reporting could take more development time.
4 3 12
Each team member will write a draft
version of report on what he does before
documenter of team writes it again.
All team members need preparation time for midterm, final exam, and other subjects.
3 3 9
Work on weekends, set schedule with
time for exam; define meetings in each
week in suitable time for all people.
Lack of experiences in software project management, especially in testing, verification, validation, risks management and changes management exists in the Team
3 3 9
Assign 2 members working on each test. Risk and changes management tasks will have a long duration to finish. Support others people about what we already known.
Development time is limited in 2 months only. Therefore,
2 3 6 Create a detailed schedule in a whole
project and supervise process of work with
Final Document
47
the pressure is really high. schedule, change schedule with any
mismatch with schedule.
Low motivation and moral reduce productivity
2 3 6
Operate some relax actions to recharge
team spirit
Team member needs extra time to learn unfamiliar Tools or techniques.
2 2 4
Make clear about techniques we used, if
some new techniques are needed, assign a
member read them and talk to other
members about them.
Conflicts among team members’ ideas results in poor performances, more meeting, and extra rework.
2 2 4
PM has to control conflicts in team, assure everybody thoughts are respected, make assumptions when we have conflicts, record any conflicts to change if we are in wrong way
Developing extra functionalities that are not required will extends the schedule.
1 2 2
Analysis carefully requirements, review
requirements and design, if extra function
appears, change schedule to add more
time for working
Final Document
48
DISCUSSION SUMMARY
Project background
Purpose of project
There is a widespread agreement that the policy in course registration is very complicated,
costly, take-time, and inconvenient to both students and university. This is due the fact that at the
beginning of each semester, the university has to pause or delay some activities to spend time for
course registration of students. Some staffs have to prepare for offering courses list (including
selecting courses and inviting lecturers …), print it out, and deliver the registration form to each
student. After around one week, all students’ registration form will be returned. In addition, the
staffs have to input students’ registration information to Excel files. They also have to check
manually whether the registration form of each student is legal or not basing on some conditions
such as prerequisite course, maximum and minimum number of credits allowed registering … If
there is anything wrong or students want to add or drop the courses, everything in the above
process has to be restarted. Moreover, sometimes some papers are lost when documents are
moved from one place to another place; both students and university have to spend time for
retrieving necessary information and approve it. However, it is impossible to do that in some cases.
In addition, calculating tuition fee for students, managing students’ academic history… are
also thorny issues. Mistakes can occur anytime when financial office‘s staffs use calculator or
Microsoft excel to calculate tuition fee.
Students’ transcript management is also another issue. When students want to have
transcript to see their academic history, they have to wait at least two weeks to receive it from
academic affair.
Those are some typical examples for the inconvenience and complication of the current
course registration policy. They lead the university to the decision of building Online Course
Registration System to improve effectiveness, reduce time and cost in course registration process.
Final Document
49
Scope of project
The list of features which are developed
Feature Description
Login and logout
o This feature allows user to log in the system to achieve the access permission to perform other functions, which are granted to that specific user. It also lets the user log out his/her session.
o If the username and password are correct, the system redirects the user to his/her specific homepage (student, administrator or officers…).
o Otherwise, the system warns the user with the error messages. The account is locked out if the user fails to log in three times. User has to wait 30 minutes for the account to be released or contact to the administrator
o Users also have another option to choose when they forget the password and intend to reset back to the default password.
o User can change their own password and change the security question
View Academic History
o This feature allows a Student to view his studying progress. The Student can see the courses he has taken as well as the scores and status (passed or failed)as follow:
View all courses he took. View courses in a specific semester in a specific year. View all courses he passed. View all courses he failed.
Register course o This feature allows a Student to register course offerings in the current
semester. o The system retrieves and displays the Student’s current schedule (e.g.;
the schedule for the current semester). The schedule may be empty. o The student can change the schedule by adding or dropping course(s). o The system also checks the prerequisite and the total of credits before
allowing that student to register the selected courses. The Student can only select a total of minimum 15 credits and maximum 30 credits.
o After the Student add or drop a course, the system recalculate total credits and discount
Manage Department Information
o This feature allows Academic Affair Staff to manage department and faculty information. This includes adding, updating, and deleting department and faculty from the system.
Manage Student
o This feature allows the Academic Affair Staff to manage student information in the registration system. This includes adding, updating,
Final Document
50
Information deleting, and searching students from the system.
Manage Courses Offering
o This feature allows Academic Affairs to monitor course offerings in one semester of specific year
o The following tasks are included in this feature: Create list of course, update list of course, add a course offering, delete course offering, change lecturer
Manage Lecturer information
o This feature allows the Academic Affair Staff to manage lecturer information in the registration system. This includes adding, updating, deleting, and searching lecturers from the system.
Manage financial activities
o This feature allows Financial Office Staff to monitor student’s tuition fee. This includes viewing and updating the tuition fee status of students.
o Following tasks are included in this feature: View tuition fee
View by ID and name
View by faculty and academic duration
View by course, semester, and academic year
o Update tuition fee of students
Manage Course Catalogue
o This feature allows the Academic Affair Staff to manage Course Catalogue Information in the registration system. This includes adding, updating, deleting, and searching Course Catalogue Information from the system.
Manage User Accounts
o This feature allows the Administrator to Create User Account, Reset User Password, Delete or Edit User Account, Unlock User Account
Final Document
51
Perspectives
Who will use the system?
User Description
Student The people who attending the course in the university. Use the system to register the courses and view academic history
Academic Affair Staff
The Staff who is working in the Academic Affair Office, responsible for the Academic issue in the University. They use the system to manage school, lecturer, and student information
Financial Office Staff The Staff who is responsible for the financial business in the University. Use the system to monitor financial activities related to course registration
Who can provide needs about the system?
Student The Student needs an online mechanism to register, add and drop
course instead of the paper based process
The Student needs to view their academic history every time and
every where they want instead of waiting the respond from the
Academic Office
Academic Affair staff 1. The Staff of the Academic Affair Staff needs to manage the course information, department information.
2. Easy to use, easy update, easy to modify
Financial Office staff 1. The Staff needs to manage the financial business of the University 2. They would view the Student tuition fee status
Lecturer They could give ideas or comment on the solution for the system’s
development and improvement
Final Document
52
Project objectives
Know business rules
1. In the old paper-based mechanism, the process of registration as follow a. The Students receive the Registration form and register the course for the semester
b. The Registration forms are transferred to the Academic Affair Staff
c. Academic Affair Staff process the Registration Form
d. The Students receive the report from offering course from the Academic Affair Staff
e. If any Student wants to add or drop course(s), the process restarts
2. At each beginning of the semester, the Academic Affair Staffs make the list of course and
provide to each Faculty to distribute to the Students. They also manage the number of
Lecturer, the Department. All is the paper – based process.
3. After receiving the reports from the Academic Affair Staffs, the Students also receive the
financial report from the Finance Office. The Finance Officers have to manage the financial
information status of each student, decide the financial business of each student and make
the report to each student.
System information and/or diagrams
System context: OURS is a part of university management system. It can interact with other
sub-system of university management system such as scheduling system, grading system,
student management system, payment system …
Online university
registration system
University
System
Final Document
53
OURS will be used by students, academic affair staffs, financial office staffs, administrator
with functionalities showed in following diagram.
Final Document
54
Assumptions and dependencies
1. The system will be applied for universities using credit system like International University.
2. The registration information of students is processed by academic affair. And only academic
affair has right to manage and process the registration information.
3. Development team will use J2EE architecture to develop system.
4. Policy for tuition fee payment is using cash and it is managed by financial office.
5. Development team must have at least one 2-hour meeting per week.
6. Development time is 2 months and 10 days
7. Development team must produce the first build before the review 3
8. Each team member must work at least 15 hours per week.
Design and implementation constraint
1. The system will be developed using J2EE technology
2. The system provides the service in two languages Vietnamese and English
Risks
1. All team members need preparation time for midterm, final exam, and other subjects.
2. Phung, Thuc, and Hoang take pre-thesis course.
3. Lack of experiences in software project management, especially in testing, verification,
validation, risks management and changes management exists in the Team.
4. No substitution if any team member cannot continue to contribute to the project. Applying
the project again from the beginning could take development team more time.
5. Development time is limited in 2 months only. Therefore, the pressure is really high.
6. Development team cannot deliver the components when reviewed. Development team
could deliver components of unacceptably low quality, and time must be added to improve
quality.
7. Developing extra functionalities that are not required will extends the schedule.
8. Low motivation and moral reduce productivity.
9. Team member needs extra time to learn unfamiliar tools or techniques.
10. Conflicts among team members’ ideas results in poor performances, more meeting, and
extra rework.
Final Document
55
11. People’s assignments do not match their strengths.
12. Components developed separately cannot be integrated easily, requiring redesign and
rework.
13. Detail reporting could take more development time.
Known future enhancements
1. Pay tuition fee (billing system): The Student can access to a billing system and perform the
transaction online such as transferring money to the Bank account of the University,
receiving the discount money from the University policies. This function would be involved
with the other banking system, authentication and security issue which are out of the scope
of the this development
2. Lecturer Assessment: Initially, the users who can access to the system are Students,
Academic Affair Staffs, and Financial Officer. The Lecturer plays a role as an observer.
However, in the future, the Lecturer can log in to the system to view course, to access to
their homepage in order to make the contact with the Students. Grading system is also
considered in the future.
References
For further information, the reader should examine the Vision and Scope document, the SRS
document.
Open, unresolved issues
Schedule and time table construction are not completed at the recent time
Final Document
56
SOFTWARE REQUIREMENT SPECIFICATION
USE CASE SPECIFICATION
Log in and Log out
Name Use Case: Log in and Log out
Summary This use case allows user to log in to the system to achieve the access permission to perform other functions that are granted to that specific user. It also lets user log out to end his/her session
Rationale The system provides functions such as course registration, financial management just for the specific users (Students, ACADEMIC AFFAIR STAFF…). Therefore, logging in/out helps to distinguish type of user.
Users All users Precondition None.
Basic course of event
This use case begins when a user wants to log in the system to perform desired tasks.
1. The system requests the user to provide his username and password for the authentication.
2. Right after the user submits his username and password, the system checks username and password.
3. If the username and password matches, the system redirects the user to his specific homepage (student, administrator, financial officer).
4. After logging in, the user can log out to end his/her session
Alternatives paths
Authentication Fail In step 4, if the username and password do not match, the system will return the log in homepage with the error message MS001 (see Appendix). The system will allow the user to log in 3 times before it locks the user account and displays an error message MS002.
Not remember password In step 1, the system provides the user another option, call “Not remember password”. The users will use this option to recover their forgotten password by giving the username, answer a security question. Then the system will set the password to a default value. The user can use the password to log in or change the new password.
Account locked In step 3, if the user account is locked, the system notifies the user that the account is locked with the error message MS002.
Final Document
57
Account logging in simultaneously In step 2, if the account is logged by another user, the second user can not log in by that username and password. An error message MS003 will be provided.
Create the security question and answer In step 3, if the user logs in successfully for the first time, the system will check for the security question and answer. If the security question and answer is blank, the system prompts the user to specify the security question and answer.
Update password In step 3, if the user logs in successfully for the first time, the system will ask user to change the default password.
Post Conditions
If the logging in is successful, the system will redirect the user to his specific homepage.
Final Document
58
Manage Department Information
Name Use Case: Manage Department Information
Summary This use case allows Academic Affair Staff to manage department and faculty information. This includes adding, updating, and deleting department and faculty from the system.
Rationale The Academic Affair Staff needs to manage the department and faculty information online. With the paper – based system, the Staff have to deal with a bunch of paper if he/she wants to add, update or delete one department. Along with this feature, it makes the Staff easier and more convenient to manage the information.
Users Academic Affair Staff
Precondition User logged in the system as the role of Academic Affair Staff.
Basic course of event
This use case starts when the Academic Affair Staff wishes to add, update, and/ or delete department information in the system
1. The system requests that the Academic Affair Staff to specify the function he/she would like to perform (add department information, Update department information, or Delete department information).
2. Once the Academic Affair Staff provides the requested information, one of the sub flows is executed. If the Academic Affair Staff selects “Add a Department”, the Add a Department sub flow is executed.
If the Academic Affair Staff selects “Update a Department”, the Update a Department sub flow is executed.
If the Academic Affair Staff selects “Delete a Department”, the Delete a Department sub flow is executed.
Add a Department
1. The system requests that the Academic Affair Staff enter the Department information. This includes:
- Name
- Location
- Description
- Dean
- Faculty
2. Once the Academic Affair Staff provides the requested information and
Final Document
59
confirms, the department is added to the system.
3. The system provides the Academic Affair Staff with a summary of department information newly added.
Update a Department
1. The system requests the Academic Affair Staff to choose a department to modify information.
2. The Academic Affair Staff chooses a department.
3. The system retrieves and displays the department information has been chosen by user.
4. The Academic Affair Staff makes the desired changes to the department information. This includes any of the information specified in the Add a department sub-flow
5. Once the Academic Affair Staff updates the necessary information, the system updates the department record.
Delete a Department
1. The system requests the Academic Affair Staff to choose a department to delete.
2. The Academic Affair Staff chooses a department.
3. The system retrieves and displays the department information
4. The system prompts message MS004 to the Academic Affair Staff to confirm the deletion of the Department.
5. The Academic Affair Staff confirms to delete the selected department.
6. The system deletes the selected department from the system.
Alternatives paths
Delete Cancelled If, in the Delete s Department sub-flow, the Academic Affair Staff decides not to delete the Department , the delete operation is cancelled, and the Basic Flow is re-started
Post Conditions
If the use case is successful, the department information is added, updated, or deleted from the system. Otherwise, the system state is unchanged.
Final Document
60
Manage Lecturer Information
Name Use Case: Manage Lecturer Information
Summary This use case allows the Academic Affair Staff to manage lecturer information in the registration system. This includes adding, updating, deleting, and searching lecturers from the system.
Rationale With the paper – based system, the Academic Affair Staff have to manage a lot of papers. And it is easy to be lost, damaged and difficult to maintain. With the OURS, ACADEMIC AFFAIR STAFFStaff can manage the information easily every time and every where
Users Academic Affair Staff
Precondition User logged in the system as the role of Academic Affair Staff.
Basic course of event
This use case starts when the Academic Affair Staff wishes to add, update, delete, and/or search lecturer information in the system
1. The system requests the Academic Affair Staff to specify the function he/she would like to perform (either Add a Lecturer, Update a Lecturer, Delete a Lecturer, or Search a Lecturer)
2. Once the Academic Affair Staff provides the requested information, one of the sub-flows is executed If the Academic Affair Staff selected “Add a Lecturer”, the “Add a Lecturer” sub-flow is executed
If the Academic Affair Staff selected “Update a Lecturer”, the “Update a Lecturer” sub-flow is executed
If the Academic Affair Staff selected “Delete a Lecturer”, the “Delete a Lecturer” sub-flow is executed.
Add a Lecturer 1. The system requests that the Academic Affair Staff enter the lecturer
information. This includes:
- Name
- Date of birth
- Cell-phone
- Faculty
- Degree
2. Once the Academic Affair Staff provides the requested information and
Final Document
61
confirms, the lecturer is added to the system.
3. The system provides the Academic Affair Staff with a summary of lecturer information newly added.
Update a Lecturer 1. The system requests the Academic Affair Staff to choose a department.
2. The Academic Affair Staff chooses a department.
3. The system returns a list of lecturers of that department.
4. The Academic Affair Staff chooses a lecturer.
5. The system provides the Academic Affair Staff with a summary of information of selected lecturer.
6. The Academic Affair Staff makes the desired changes to the lecturer information and confirms. This includes any of the information specified in the Add a Lecturer sub-flow.
7. The system prompts message MS005 to the Academic Affair Staff to confirm the deletion of the lecturer.
8. The system updates the lecturer record. Delete a Lecturer
1. The system requests that the Academic Affair Staff choose the department.
2. The Academic Affair Staff chooses a department.
3. The system returns a list of lecturers of that department.
4. The Academic Affair Staff chooses a lecturer.
5. The system provides the Academic Affair Staff with a summary of information of selected lecturer.
6. The Academic Affair Staff decides to delete the lecturer whose information currently displayed.
7. The system prompts message MS006 to the Academic Affair Staff to confirm the deletion of the lecturer.
8. The system deletes the lecturer from the system
Alternatives paths
Delete Cancelled If, in the Delete a Lecturer sub-flow, the Academic Affair Staff decides not to delete the lecturer, the delete is cancelled, and the Basic Flow is re-started at the beginning
Update Cancelled
Final Document
62
If, in the Update a Lecturer sub-flow, the Academic Affair Staff decides not to update the lecturer, the update is cancelled, and the Basic Flow is re-started at the beginning
Post Conditions
If the use case was successful, the lecturer information is added, updated, or deleted from the system.
Final Document
63
Manage Student Information
Name Use Case: Manage Student Information
Summary This use case allows the Academic Affair Staff to manage student information in the registration system. This includes adding, updating, deleting, and searching Students from the system
Rationale The information of a student is various and too difficult to handle with the old paper – based system. With OURS manage student information feature, the ACADEMIC AFFAIR STAFF feels easier and more convenient
Users Academic Affair Staff
Precondition User logged in the system as the role of Academic Affair Staff.
Basic course of event
This use case starts when the Academic Affair Staff wishes to add, update, delete, and/or search student information in the system
1. The system requests the Academic Affair Staff to specify the function he/she would like to perform (either Add a Student, Update a Student, or Delete a Student)
2. Once the Academic Affair Staff provides the requested information, one of the sub-flows is executed If the Academic Affair Staff selects “Add a Student”, the “Add a Student” sub-flow is executed
If the Academic Affair Staff selects “Update a Student”, the “Update a Student” sub-flow is executed
If the Academic Affair Staff selects “Delete a Student”, the “Delete a Student” sub-flow is executed
If the Academic Affair Staff selects “Search a Student”, the “Search a Student” sub-flow is executed
Add a Student 1. The system requests that the Academic Affair Staff enter the student
information. This includes:
- Student ID
- Name
- Gender
- Date of birth
- Address
- Faculty
Final Document
64
- Priority(a child of dead or wounded soldiers, belong to highland area, or other priority)
- Academic Year
2. Once the Academic Affair Staff provides the requested information and confirmations, the student is added to the system.
3. The system provides the Academic Affair Staff with a summary of information of student newly added.
Update a Student
1. The system requests the Academic Affair Staff to choose a filter group (ID & name, faculty & academic duration, academic year & semester & course).
2. The Academic Affair Staff chooses a filter group, then inputs necessary information for the filters, and confirms to search.
3. The system returns a list of student whose information matches the filter’s inputs
4. The Academic Affair Staff chooses the student that he/she wants to update.
5. The system displays the student information
6. The Academic Affair Staff makes the desired changes to the student information. This includes any of the information specified in the Add a Student sub-flow
7. The system prompts message MS007 to the Academic Affair Staff to confirm the updating of the student.
8. The system updates the student information Delete Student(s)
1. The system requests the Academic Affair Staff to choose a filter group (ID & name, faculty & academic duration, academic year & semester & course).
2. The Academic Affair Staff chooses a filter group, then inputs necessary information for the filters, and confirms to search.
3. The system returns a list of student(s) whose information matches the filter’s inputs
4. The Academic Affair Staff chooses the student(s) that he/she wants to delete.
Final Document
65
5. The system prompts message MS008 to the Academic Affair Staff to confirm the deletion of the student(s).
6. The Academic Affair Staff confirms the deletion.
7. The system deletes the selected student(s). Search Student(s)
1. The system requests the Academic Affair Staff to choose a filter group (ID & name, faculty & academic duration, academic year & semester & course).
2. The Academic Affair Staff chooses a filter group, then inputs necessary information for the filters, and confirms to search.
3. The system returns a list of student(s) whose information matches the filter’s inputs.
Alternatives paths
Student Not Found In Search a Student sub-flows, if there’s no student whose information matches the filter’s inputs, the system displays the error message MS009. The Academic Affair Staff can then enter different values of the filters or cancel the operation, at which point the use case ends.
Delete Cancelled If, in the Delete a Student sub-flow, the Academic Affair Staff decides not to delete the student, the delete operation is cancelled, and the Basic Flow is re-started.
Update Cancelled If, in the Update a Student sub-flow, the Academic Affair Staff decides not to update the student, the update operation is cancelled, and the Basic Flow is re-started.
Post Conditions
If the use case is successful, the student information is added, updated, or deleted from the system.
Final Document
66
Manage Course Offering
Name Use Case: Manage Course Offering
Summary This use case allows Academic Affairs to monitor course offerings in one semester of specific year.
Rationale Each student receives a list course to register at the beginning of each semester. Using the feature “Manage Course Offering”, an ACADEMIC AFFAIR STAFF can easy to create, update or delete the course list and sooner distribute to the Students within the short time
Users Academic Affair Staff
Precondition User logged in the system as the role of Academic Affair Staff.
Basic course of event
Use Case is triggered when Academic Affair Staff chooses “Manage offering course” task. The system requires Academic Affair Staff to choose a faculty.
1. Academic Affair Staff chooses a faculty.
2. The system displays current list of course offerings of chosen faculty, each course offering has these information:
- Name of course
- Credits
- Lecturer
- Faculties
3. System requests Academic Affair Staff to specify the function he/she would like to perform : - Create List of course offerings
- Update List of course offerings
4. Once Academic affair staff chooses a function, one of the following sub-flows is executed - If Academic Affair Staff selects “Create list of course offerings”, “Create List of course offerings” sub-flow is executed
- If Academic Affair Staff selects “Update list of course offerings”, “Update List of course offerings” sub-flow is executed
Create list of course offerings 1. The system displays curriculum of the selected faculty.
2. Repeat sub flow “Add an offering course” until Academic Affair Staff completes the list for this faculty
3. Academic Affair Staff confirms his/her selections
Final Document
67
4. The system creates and stores the offering courses list of the selected faculty.
Update list of course offerings 1. The system displays curriculum and offering courses list currently
existing of selected faculty
2. Academic Affair Staff updates a course in this list
If Academic Affair Staff wants to add one or more course, sub flow “Add a course offering” is executed.
If Academic Affair Staff wants to add one or more course, sub flow “Delete a course offering” is executed.
If Academic Affair Staff wants to change lecturer of a specific course, sub flow “Change lecturer” is executed.
3. Academic Affair Staff confirms his/her modification
4. The system updates all changes.
Add a course offering
1. Academic Affair Staff chooses a subject from the curriculum.
2. The system holds the selected subject
3. The system displays list of available lecturers in the department to which the subject belongs.
4. Academic choose a lecturer for selected subject
5. The system adds the selected subject with specific lecturer attached to it into the offering courses list.
Delete a course offering
1. Academic Affair Staff chooses a course offering from the list of course offerings to delete.
2. The system asks user for confirmation.
3. User confirms to delete.
4. The system removes the selected course offering. Change Lecturer
1. Academic Affair Staff chooses a course offering from the list of course offerings to change the lecturer.
2. The system displays list of available lecturers in the department to
Final Document
68
which the subject belongs.
3. Academic choose a lecturer for the selected course offering.
4. The system updates the selected course offering with the new lecturer.
Alternatives paths
No list of course offering In the step 3 of main flow, if this faculty does not have a list of course offering yet, system displays message MS010 and function “Update list of course offering” is not available.
Update canceled If, in the Update list of course offerings sub-flow, the Academic Affair Staff decides not to update anything, the update is cancelled, and the Basic Flow is re-started at the beginning
Post Conditions
If the use case is successful, the offering courses list of a specific faculty will be created or updated.
Final Document
69
Manage Financial Activities
Name Use Case: Manage Financial Activities
Summary This use case allows Financial Office Staff to monitor student’s tuition fee. This includes viewing and updating the tuition fee status of students.
Rationale Dealing with number is the task of the Finance Office Staff. The Staffs also have to distribute the financial report to the Students and manage the financial status of each Student. The OURS makes everything easier and more convenient.
Users Financial Office Staff
Precondition User logged in the system as the role of Financial Office Staff.
Basic course of event
This use case starts when the Financial Office Staff wishes to view and/or update students’ tuition fee status of one specific student or list of students.
1. The system requests the Financial Office Staff to specify the function he/she would like to perform (either View tuition fee or updating tuition fee status)
2. Once the Financial Office Staff provides the requested information, one of the sub-flows is executed
If the Financial Office Staff selects “View tuition fee”, the “View tuition fee” sub-flow is executed
If the Financial Office Staff selects “Update tuition fee status”, the “Update tuition fee status” sub-flow is executed
View tuition fee 1. The system requests the Academic Affair Staff to choose a filter group
(ID & name, faculty & academic duration, academic year & semester & course).
2. The Academic Affair Staff chooses a filter group, then inputs necessary information for the filters, and confirms to search.
3. The system returns a list of student(s) whose information matches the filter’s inputs with tuition fee and tuition fee status.
Update tuition fee status
1. The system requests the Academic Affair Staff to choose a filter group (ID & name, faculty & academic duration, academic year & semester & course).
Final Document
70
2. The Academic Affair Staff chooses a filter group, then inputs necessary information for the filters, and confirms to search.
3. The system returns a list of student whose information matches the filter’s inputs with tuition fee and tuition fee status.
4. The Academic Affair Staff changes tuition fee status of specific student.
5. The system prompts message MS011 to the Academic Affair Staff to confirm the updating of the student.
6. The system updates the student tuition fee status.
Alternatives paths
Student Not Found: In Search a Student sub-flows, if there’s no student whose information matches the filter’s inputs, the system displays the error message MS012. The Academic Affair Staff can then enter different values of the filters or cancel the operation, at which point the use case ends.
Update Cancelled: If, in the Update a Student sub-flow, the Academic Affair Staff decides not to update the student, the update operation is cancelled, and the Basic Flow is re-started.
Post Conditions
If the use case was successful, the student tuition fee is display or student tuition fee status is updated.
Final Document
71
View Academic History
Name Use Case: View Academic History
Summary This use case allows a Student to view his studying progress. The Student can see the courses he has taken as well as the scores and status (passed or failed).
Rationale Every Student wants to view and review his/her grades, GPA and list of course. With the paper - based system, he/she has to request the ACADEMIC AFFAIR STAFF to deliver the transcript contains all above information. In contrast, the Student can easily access to his account and view his/her Academic history online whenever he/she wants.
Users Students
Precondition Users logged in the system as the role of a student.
Basic course of event
This use case starts when a student wishes to view his/her academic history.
1. The system requests the student to choose one of these filters:
View All.
View by specific year and semester.
View by passed and failed status.
2. The student chooses a filter.
3. The system displays a list of courses that match the filter.
Alternatives paths
None.
Post Conditions None.
Final Document
72
Register Course
Name Use Case: Register Course
Summary This use case allows a Student to register course offerings in the current semester.
Rationale With old system, the Students have to fill in the Registration forms and hand them to the ACADEMIC AFFAIR STAFF and wait for approvals. The process takes a long time. Therefore, it is significant to reduce the time and make the process shorter. The Students can find it happily with the feature “Register Course” which performs everything online.
Users Students
Precondition Users logged in the system as the role of a student.
Basic course of event
This use case starts when a student wishes to register for course offerings or to update his/her existing course schedule.
1. The system retrieves and displays the Student’s current schedule (e.g.; the schedule for the current semester). The schedule may be empty.
2. The student choose “change schedule” in order to begin add/drop course.
3. The system retrieves a list of available course offerings from the Course Catalog System, filters courses that the student does not meet the prerequisite and displays the list to the Student.
4. The Student may update the course selections on the current selection by dropping and adding course offerings. The Student selects the course offerings to add from the list of available course offerings. The Student also deselects any course offerings to drop from the existing schedule. The Student can only select a total of minimum 15 credits and maximum 30 credits.
5. After the Student adds or drop a course, the system recalculate and update total credits, fee and discount.
6. Once the Student indicates that he/her has finished making his/her selections, the system prompt message MS016 to the Student to confirm the submission of the schedule.
7. The Student confirms to continue submitting or cancel to continue add/drop courses.
8. After submitted, the schedule is saved in the system.
Alternatives Course Registration Closed
Final Document
73
paths If, when the use case starts, it is determined that registration for the current semester has been closed, message MS013 is displayed to the Student, and the use case terminates. Students cannot register for course offerings after registration for the current semester has been closed.
Reset changes to a schedule If, while choosing to add/ drop courses, the Student decides to undo all the changes he/her made, the Student then indicates the system that he/her wants to reset changes to the schedule. The system then prompts message MS017 for the student confirmation, the student can agree and either the Basic Flow is re-started at the beginning or cancels reset.
Register more than 30 credits The student has to select less than a total of 30 credits per. If the Student add a course that increase the total credits more than 30, the system will prompt the message MS013 and do not allow the student to add the course to his/her schedule.
Register less than 15 credits The student has to select more than a total of 30 credits per. If the Student drop a course that decrease the total credits to less than 30, the system will prompt the message MS014 and do not allow the student to add the course to his/her schedule.
Post Conditions
If the use case was successful, the student schedule is updated. Otherwise, the system state is unchanged.
Final Document
74
Manage Course Catalogue
Name Use case: Manage Course Catalogue
Summary This use case allows the Academic Affair Staff to manage Course Catalog information in the registration system. This includes adding, updating, deleting, and searching a course from the course catalog of the university
Rationale The number of courses in the course catalogue of the university is really large. And courses management is a challenging work for Academic Affair Staff if he/she works with paper-based system. Therefore, with the system, he/she will take the advantages of computer-base system to reduce the effort when doing course catalogue management.
User Academic Affair Staff
Precondition User logged in the system as the role of Academic Affair Staff.
Basic Flow of Event
This use case starts when the Academic Affair Staff wishes to add, update, delete, and/or search the information of a course in course catalogue.
1. The system requests the Academic Affair Staff to specify the function he/she would like to perform (either Add a course, Search course(s), Update a course, or Delete a course)
2. Once the Academic Affair Staff provides the requested information, one of the sub-flows is executed If the Academic Affair Staff selects “Add a course”, the “Add a course” sub-flow is executed
If the Academic Affair Staff selects “Update a course”, the “Update a course” sub-flow is executed
If the Academic Affair Staff selects “Delete a course”, the “Delete a course” sub-flow is executed
If the Academic Affair Staff selects “Search course(s)”, the “Search course(s)” sub-flow is executed
Add a Course 1. The system requests that the Academic Affair Staff enter the
information of course. This includes:
- Course ID
- Name
- Number of credits
- Faculty
Final Document
75
- Description
2. Once the Academic Affair Staff provides the requested information and confirmations, the course is added to the system.
3. The system provides the Academic Affair Staff with a summary of information of course newly added.
Update a course
1. The system requests the Academic Affair Staff to specify course ID or Course Name that he wants to update.
2. The system displays the information of the selected course.
3. The Academic Affair Staff makes the desired changes to the course information. This includes any of the information specified in the Add a course sub-flow
4. The system prompts the Academic Affair Staff to confirm the updating of the course.
5. The system updates the course information Delete a course
1. The system requests the Academic Affair Staff specify course ID or Course Name
2. The system displays the information of the selected course and asks user to confirm the deletion.
2. The Academic Affair Staff confirms the deletion.
3. The system deletes the selected course. Search course(s)
4. The system requests the Academic Affair Staff to choose a filter group (ID & name, faculty, Number of credits).
5. The Academic Affair Staff chooses a filter group, then inputs necessary information for the filters, and confirms to search.
The system returns a list of course(s) whose information matches the filter’s inputs.
Alternative Paths
Course Not Found In Search course(s) sub-flows, if there’s no course whose information matches the filter’s inputs, the system displays the error message “Course does not exist in the course catalogue”. The Academic Affair Staff can then enter different values of the filters or cancel the operation, at which point the use case ends.
Final Document
76
Delete Cancelled If, in the Delete a course sub-flow, the Academic Affair Staff decides not to delete the course, the delete operation is cancelled, and the Basic Flow is re-started.
Update Cancelled If, in the Update a course sub-flow, the Academic Affair Staff decides not to update the course, the update operation is cancelled, and the Basic Flow is re-started.
Post Condition If the use case is successful, the course information is added, updated, or deleted from course catalogue.
Final Document
77
Manage User Account
Name Use case: Manage User Account
Summary This use case allows the Administrator to manage user account information in the system. This includes creating, updating, deleting, and searching user account(s) in the system
Rationale The university provides each student, academic affair staff, and financial office staff with one account login the system with different rights when using the system.
User Administrator
Precondition User logged in the system as administrator of the system
Basic Flow of Event
This use case starts when the Administrator wishes to create, update, delete, and/or search the information of user account(s).
1. The system requests the Administrator to specify the function he/she would like to perform (either Create an account, Search account(s), Update an account, or Delete an account)
2. Once the Administrator provides the requested information, one of the sub-flows is executed If the Administrator selects “Create an account”, the “Create an account” sub-flow is executed
If the Administrator selects “Update an account”, the “Update an account” sub-flow is executed
If the Administrator selects “Delete an account”, the “Delete an account” sub-flow is executed
If the Administrator selects “Search course(s)”, the “Search course(s)” sub-flow is executed
Create an account 1. The system requests that the Administrator specify the information of
the account. This includes:
- Username
- Role(which can be student, academic affair staff, financial office staff, or admin)
- Description
- Other information will use the default values
o Password: Abcd1234
Final Document
78
o Status: available
2. Once the Administrator provides the requested information and confirmations, the account is added to the system.
3. The system provides the Administrator with a summary of information of the account newly added.
Update an account
1. The system requests the Administrator to specify username he wants to update.
2. The system displays the information of the selected account.
3. The Administrator makes the desired changes to the account information. This includes any of the information specified in the Create an account sub-flow
4. The system prompts the Administrator to confirm the updating of the account.
5. The system updates the account information Delete an account
1. The system requests the Administrator specify username
2. The system displays the information of the selected account and asks user to confirm the deletion.
3. The Administrator confirms the deletion.
4. The system deletes the selected account. Search account(s)
1. The system requests the Administrator to specify username.
2. The system returns the account whose information matches the input username.
Alternative Paths
Account Not Found In Search account(s) sub-flows, if there’s no account whose information matches the input, the system displays the error message “Account does not exist in the system”. The Administrator can then enter different values or cancel the operation, at which point the use case ends.
Delete Cancelled If, in the Delete an account sub-flow, the Administrator decides not to delete the account, the delete operation is cancelled, and the Basic Flow is re-started.
Final Document
79
Update Cancelled If, in the Update an account sub-flow, the Administrator decides not to update the account, the update operation is cancelled, and the Basic Flow is re-started.
Post Condition If the use case is successful, the user account information is added, updated, or deleted from the system.
Final Document
80
Appendix
Message ID Type Context Error Messages Actions
MS001 Info Authentication
Failed Wrong password or username
cannot be found. OK
MS002 Info Account locked Account locked. Please wait for 30
minutes or contact the administrator.
OK
MS003 Info Account being used This account is being used by
another user. OK
MS004 Question Delete a department Are you sure you want to delete
the selected department? OK – Cancel
MS005 Question Update a lecturer Are you sure you want to update the current displayed lecturer?
OK – Cancel
MS006 Question Delete a lecturer Are you sure you want to delete
the selected lecturer? OK – Cancel
MS007 Question Update a student Are you sure you want to update
the modified student? OK – Cancel
MS008 Question Delete a student Are you sure you want to delete
the selected student? OK – Cancel
MS009 Info Student not found The selected student does not
exist OK
MS010 Info No list of course
offering This faculty has no list of course
offering yet Ok
MS011 Question Update tuition fee
status
Are you sure you want to update tuition fee status of current
student? OK – Cancel
MS012 Info Student not found Cannot find the result. OK
Final Document
81
MS013 Info Course Registration
Closed The course registration has been
closed OK
MS014 Info Register more than
30 credits You cannot register more than 30
credits OK
MS015 Info Register less than 30
credits You cannot register less than 30
credits OK
MS016 Question Submit a schedule Are you sure you want to submit
this schedule? OK – Cancel
MS017 Question Reset changes to a
schedule Are you sure you undo all the
changes you have made? OK – Cancel
Final Document
82
FUNCTIONAL REQUIREMENT
Name FR-1: Department & Faculty relationship
Summary There exists department that no student studies in it.
Rationale The concepts of department and faculty are not the same. Please check the glossary part for those concepts.
Requirement A department has at most one faculty. When a department is being added, if it does not have a faculty, it means it has no student, then the value of Faculty is default value “None”. Mathematics Department is an example for department which does not has faculty (all students study mathematics courses but no one study in Mathematics department)
Reference Use-case: Manage Department Information
Name FR-2: Lecturer and department relationship Summary Lecturers are belonged and managed by
department, not faculty Rationale As mentioned in the glossary part that when
we talk about lecturers, we mention to department scope. And when we talk about students, we mention to faculty scope.
Requirement A lecturer must belong to one specific department. If a lecturer does not belong to any department of the university, his department is denoted “General”. Departments do not have faculty: Mathematics , English
Reference Use-case: Manage lecturer
Final Document
83
Name FR-3: Student and faculty relationship
Summary Students are belonged to faculties. It means that students are directly managed by faculties
Rationale As mentioned in the glossary part that when we talk about students, we mention to faculty scope.
Requirement A student must belong to one specific faculty Students can not belong to department because there are departments that have no student such as Mathematics Department, English Department…
Reference Use-Case: Manage Student
Name FR-4: course offering management
Summary Manage offering course including “general” course (belongs to general departments that have no students) and specific course (belongs to departments that have student)
Rationale There are courses that are common courses to many faculties of different departments
Requirement In each semester, university has maximum of opening course is 50 courses. Each course offering can only be taught by one lecturer and belong to one department. A course could be opened for many faculties with the same lecturer such as Courses belonging to “General” departments. For example, Marxist-related courses, Physical training, English…
Reference Use-case: Manage course offering
Final Document
84
Name FR-5: Registration constraints
Summary Student can only register for courses that he can satisfy the requirement of that course
Rationale There are constraints on maximum and minimum number of credits and the prerequisites.
Requirement A student just register any course opened by his/her faculty. In addition, this course has all prerequisites are studied in this student's academic history. Each subject may require the student to finish one or more subjects Student can register maximum 30 credits and minimum 15 credits
Reference Use-case: Register Course
Name FR-6: Discount rate management
Summary Students are in priority will have their tuition fees be reduced with specific rate.
Rationale There are some students are in priority. Therefore their tuition fees are reduced.
Requirement Discount rates are not cumulative. Only the highest discount rate is applied. _ Highland area and Child of Wounded Soldier(3/4 or 4/4): 25% _ Child of Wounded Solider (1/4 or 2/4) or Child of Revolutionary Martyr: 50%
Reference Use-case: Manage financial activities
Name FR-7: Type of credits management
Summary Each kind of credits will have a specific fee Rationale Not all kind of credits have the same fee. For
example English credits and Software Engineering credits have different fees.
Requirement Type A – 42 USD per credit: Academic subjects. Type B – 4.5 USD per credit: Physical education, Marxist-related subjects. Type C – 16 USD per credit: English.
Final Document
85
Reference Use-case: Manage financial activities
Name FR-8: Grade management policy
Summary The system stores the final grade and status of that subject of student only.
Rationale This is not a grading system. Therefore, we do not care all kind of grades such as midterm, homework grades.
Requirement The system only stores the final grade of each course for students. Maximum grade is 100. Grade over 50: passed Grade under 50: failed
Reference Use-Case: View Academic History
Name FR-9: Password constraints
Summary For security, password should have constraints Rationale For easy to recovery password and secure the
user account Requirement The minimum length is 8
The default password is Abcd1234 Reference Use-Case: Login & Logout
Final Document
86
NON-FUNCTIONAL REQUIREMENT
Introduction: The Non-functional Requirements are requirements that are not readily captured in
the use case model. These requirements will apply on OURS and cover all following aspects:
Performance:
1. Support 100 simultaneously users 2. 90% request has response within 10 seconds.
Reliability:
For time-consuming task such as Create Schedule, Register and any other task has response time is greater than 5 seconds, the system should be provide indicated symbol to let user knows that process is going on.
Availability:
System should be supported 24/7 for on line application.
Efficiency:
1. System should be provided at least 1 Mbps bandwidth connection. 2. Database is able to retain volume of data desired by University, not less than 20.000
students in 10 years; with maximum of course list is 500 courses.
Supportability:
Localization: i. Support for the following language must be provided:
a. English
b. Vietnamese
ii. Language could be selectable.
Integrity:
1. User could enter password to login only 3 times, if they fails, this user account will be locked in 30ph: user could not log in the system in an account when this account is locked.
2. At any moment, an account is used only by 1 user.
Portability:
1. System is web application which runs in Internet Explorer 6.0, Firefox 2.0 or above with JavaScript is enabled. System is not guaranteed to operate on any lower vers.ion or other browser.
2. OURS intended to work with a number of customer MySQL 5.0 databases and J2EE servers
Final Document
87
(Glassfish).
Flexibility:
After system is deployed, system could be developed these other functions: 1. Lecturer chooses course to teach
2. Academic affair creates schedule for class
3. Financial staff get document from system for billing
Final Document
88
INSPECTION REPORT
# of issue 11
Review date 11/05/2007
Attendees Read document Time spent preparing Nguyen Duc Quan Y 3hours
Tran Minh Phung Y 2 hours
Le Vu Hoang Y 1.5 hours
Phan Duy Tan Y 2 hours Huynh Da Thuc Y 2 hours
No Section/ page Identified by Issue
1 Manage Course Offering
Tan Department used to manage lecturer, Faculty used to manage student
2 Manage Course Offering
Phung University has a catalog of all the courses in this university
3 Manage Course Offering
Quan Write detail steps of change lecturer, remove course
4 Register Course Tan Our system just considers about course offering, not
physical class
5 Register Course Quan Building schedule is too difficult so we don't try to
create schedule
6 Manage Department
Hoang To make SRS simply, we merge use case manage department and manage faculty
7 Login & Logout Thuc Default password is “Abcd1234”
8 Manage Student
Hoang To help people find student effectively, we support filters to users
9 Manage Student
Phung Student has attribute Academic duration to manage
10 Manage Lecturer
Thuc Number of lecturers is small so we do not need support search function
11 Manage Department
Thuc Number of department is small so we do not need support search function
Final Document
89
GLOSSARY
Introduction
This document is used to define terminology specific to the domain problem, explaining terms,
which may be unfamiliar to the reader of the use-case descriptions or other project documents.
Often, this document can be used as an informal data dictionary, capturing data definitions so that
use-case descriptions and other project documents can focus on what the system must do with the
information.
Definitions
The glossary contains the working definitions for the key concepts in the Course Registration
System.
OURS
Online University Registration System
Academic staff
A person working in academic affair and managing academic information (student, lecturer, course
offering, department and faculty)
Finance staff
A person working in finance office and managing finance activities (tuition fee, etc)
Department
All professors belong to a department which plays the same role as the faculty in the aspect of
lecturer. A department has at most 1 faculty.
Faculty
All students belong to a faculty which is responsible for the academic affair of a field of study in the
University
Curriculum
All the courses in a faculty a student studies in university.
Subject
Name of a course opened by university
Final Document
90
Course Offering
A specific course with a lecturer opened in a specific semester offered by Academic affair staff for
some faculties
Prerequisite
A prerequisite of a course is courses a student must finish in order to take this course
Course Catalog
The catalog of all courses offered by the university
Lecturer
A person teaching courses at the university
Student
A person enrolled in courses at the university. A student belongs to one faculty.
Student priority
The background of the student to get discount in tuition fee
Discount rate
The percentage of reduction of tuition fee a student can get for his priority
Grade
The academic result of a particular student for a particular course offering
Schedule
The list of course offering a student has selected to study the current semester.
Tuition fee
A fee student needs to pay for university in a semester.
Credit
A unit to represent the weight of a subject
Academic duration
Planned time for student for study in university
Final Document
91
Academic year
Each academic year in the university consists two semesters, starts from September and ends in
May the following year (Ex: 2007-2008)
Final Document
92
Testing Plan & Test case Document
12/7/2007
Ho Chi Minh National University – International University
Instructor: Phan Viet Hoang
Group 6
Team member Signature
Nguyen Duc Quan
Le Vu Hoang
Tran Minh Phung
Phan Duy Tan
Huynh Da Thuc
Date December 7th , 2007
Version 1.0
Status Baseline
Author Team TiHonMumMim
Reviewer Team TiHonMumMim
Documenter Nguyen Duc Quan
Final Document
94
A- Test Plan
Introduction
Purpose
This document describes the plan for testing the Online University Registration System [OURS]. This Test
Plan document supports the following objectives:
Identify ours project information and its components that should be tested.
List the recommended test requirements (high level).
Recommend and describe the testing strategies.
Identify the required resources, provide an estimate of the test efforts, and detail testing schedule.
List the deliverable elements of the test activities.
Scope
This Test Plan applies to unit test, integration test and system test that will be conducted on the Online
University Registration System [OURS]. It is assumed that unit testing already provided thorough black box
testing through extensive coverage of source code and testing of all module interfaces.
This Test Plan applies to test all requirements of the [OURS] as defined in the Vision and Scope Document,
Use-case specification, and software requirement specification document.
References
Vision and Scope document
Business Plan and SRS document
Review requirement and Design
The following is the updated use case model.
Final Document
95
Review system architecture
From the updated requirement, our team sees that the number of functions the system provides is
too large in comparison with the scope of the system. This brings us to the decision to divide the original
system into many subsystems as follow.
Final Document
97
Features to be tested
We will perform testing on use case specification, functional requirement, and non-functional requirement
of all use cases and functions. They include
o User login and logout
Login
Logout
Reset password
o View Academic History (depend on filter selected by user)
o Register for course
o Manage Department Information
Add a department
Update a department
Delete a department
Viewing information
o Manage Student Information
Add a student
Update a student
Delete a student
Search for student(s) (for viewing or updating or deleting)
o Manage Lecturer Information
Add a lecturer
Update a lecturer
Delete a lecturer
Viewing information
Final Document
98
o Manage Course Catalog
Add a course
Update a course
Delete a course
Search for course(s)
o Manage Offering Courses
Create list of course offering
Update list of course offering
Add a course offering
Delete a course offering
Change lecturer of a course offering
o Manage Financial Activities
View tuition fee information of student(s)
Update tuition fee status of student(s)
o Manage User Account
o Create an account
o Update an account
o Delete an account
o Search for account(s)
The test cases will be separated in later part. Therefore, we do not put the list of test cases here.
Features not to be tested
Because we will test all features of the system we have defined, there is no feature that will not be
tested.
Final Document
99
Approach
Kind of test
The tests below base on the use case specifications, functional requirements, and non-functional
requirements which have been identified as the targets for testing
Besides, we also show the kinds of test which our team intend to perform.
Data and Database Integrity Testing
Data integrity and database integrity test techniques verify that data is being stored by the system in
a manner where the data is not compromised by updating, restoration, or retrieval processing. This type of
testing is intended to uncover design flaws that may result in data corruption, unauthorized data access, lack
of data integrity across multiple tables, and lack of adequate transaction performance. The database, data
files, and the database or data file processes should be tested as a subsystem within the application.
System testing
System testing of software is testing conducted on a complete, integrated system to evaluate the
system's compliance with its specified requirements. They includes the following functions
User login and logout
View Academic History
Register for course
Manage Department Information
Manage Student Information
Manage Lecturer Information
Manage Course Catalog
Manage Offering Courses
Manage Financial Activities
Manage User Account
Final Document
100
Performance Testing
Performance Testing covers a broad range of engineering or functional evaluations where a
material, product, or system is not specified by detailed material or component specifications: Rather,
emphasis is on the final measurable performance characteristics.
Load Testing
Load testing is the process of creating demand on a system or device and measuring its response.
Stress Testing
Stress testing is a form of testing that is used to determine the stability of a given system or entity. It
involves testing beyond normal operational capacity, often to a breaking point, in order to observe the
results. Stress testing may have a more specific meaning in certain industries.
Verify system response during maximum student logins.
Volume Testing
Volume Testing belongs to the group of non-functional tests, which are often misunderstood and/or
used interchangeably. Volume testing refers to testing a software application for a certain data volume.
Verify system response when Course Catalog Database at 90% capacity.
Test Strategy
The Test Strategy presents the recommended approach to the testing of the software applications.
The previous section on Test Requirements described what kinds of test will be tested. This part
describes how they will be performed.
The main considerations for the test strategy are the techniques to be used and the criterion for
testing to be completed.
However, before starting the system test (both functional and non-functional requirements testing),
we must perform unit test for each unit of the system (fields, methods, classes, and components) and
make sure that all unit must pass the checklist of unit test.
Checklist of unit test
Verify the input data length specified in the database or in EJB
Verify the input data format specified in each form, classes, and interaction with database
String format
Integer number format
Final Document
101
Email address format
Date format
Special character
Empty field
Null
Test write
Test write null field
Test write read
Test getter setter
Doing this kind of checking help us to decrease the number of simple test cases
Unit testing
According to the system architecture, we have to test all entities, ejb3 session bean, struts actions…
In order to complete this kind of test, we will use JUnit and EJB3Unit as tools for implement and execute the
unit test.
Smoke test
Because the number of use cases and the number of test cases are really large, we cannot demo all of them.
Therefore we will define a smoke test for demonstration.
Our smoke test includes test cases of 3 main use cases of the system:
Login and Logout use case
Manage courses offering user case
Register for courses use case
For the detail of each test case, please reference to the part of test case in later part.
Test Automation
Test automation is the use of software to control the execution of tests, the comparison of actual outcomes
to predicted outcomes, the setting up of test preconditions, and other test control and test reporting
functions.
Final Document
102
All the tools that are used for test automation please reference to the part of tools in later part.
Data and Database Integrity Testing
The database data and database processing should be tested as separate systems. These systems should be
tested without the applications (as the interface to the data). Additional research into the DBMS needs to be
performed to identify the tools / techniques that may exist to support the testing identified below.
Test Objective Ensure Database access methods and processes function properly and
without data corruption.
Technique Invoke each database access method and process, seeding each with valid
and invalid data (or requests for data).
Inspect the database to ensure the data has been populated as intended, all
database events occurred properly, or review the returned data to ensure
that the correct data was retrieved (for the correct reasons)
Completion Criteria All database access methods and processes function as designed and without
any data corruption.
Special Considerations Testing may require a DBMS development environment or drivers to enter or
modify data directly in the databases.
Processes should be invoked manually.
Small or minimally sized databases (limited number of records) should be
used to increase the visibility of any non-acceptable events.
System Testing
Testing of the application should focus on any target requirements that can be traced directly to use cases
(or business functions), and business rules. The goals of these tests are to verify proper data acceptance,
processing, and retrieval, and the appropriate implementation of the business rules. This type of testing is
based upon black box technique, which is, verifying the application (and its internal processes) by interacting
with the application via the GUI and analyzing the output (results). Following is an outline of the testing
recommended for each application.
Test Objective Ensure proper application navigation, data entry, processing, and
retrieval.
Final Document
103
Technique Execute each use case, use-case flow, or function, using valid and
invalid data, to verify the following:
The expected results occur when valid data is used.
The appropriate error / warning messages are displayed when invalid
data is used.
Each business rule is properly applied.
Completion Criteria All planned tests have been executed.
All identified defects have been addressed.
Special Considerations Access to the OURS Server and the existing Course Catalog System is
required.
Performance Testing
Performance testing measures response times, transaction rates, and other time sensitive
requirements. The goal of Performance testing is to verify and validate the performance requirements have
been achieved. Performance testing is usually executed several times, each using a different "background
load" on the system. The initial test should be performed with a "nominal" load, similar to the normal load
experienced (or anticipated) on the target system. A second performance test is running using a peak load.
Additionally, Performance tests can be used to profile and tune a system's performance as a
function of conditions such as workload or hardware configurations.
NOTE: Transactions below refer to "logical business transactions". These transactions are defined as specific
functions that an end user of the system is expected to perform using the application, such as add or modify
a given contract.
Test Objective Validate System Response time for designated transactions or business
functions under a the following two conditions:
- Normal anticipated volume
- Anticipated worse case volume
Technique Use Test Scripts developed for Business Model Testing (System Testing).
Modify data files (to increase the number of transactions) or modify scripts
Final Document
104
Load Testing
Load testing measures subjects the system-under-test to varying workloads to evaluate the system's
ability to continue to function properly under these different workloads. The goal of load testing is to
determine and ensure that the system functions properly beyond the expected maximum workload.
Additionally, load testing evaluates the performance characteristics (response times, transaction rates, and
other time sensitive issues).
to increase the number of iterations each transaction occurs.
Scripts should be run on one machine (best case to benchmark single user,
single transaction) and be repeated with multiple clients (virtual or actual,
see special considerations below).
Completion Criteria Single Transaction / single user: Successful completion of the test scripts
without any failures and within the expected / required time allocation (per
transaction)
Multiple transactions / multiple users: Successful completion of the test
scripts without any failures and within acceptable time allocation.
Special Considerations: Comprehensive performance testing includes having a "background" load
on the server. There are several methods that can be used to perform this,
including:
"Drive transactions" directly to the server, usually in the form of MySQL
calls.
Create "virtual" user load to simulate many (usually several hundred)
clients. Remote Terminal Emulation tools are used to accomplish this load.
This technique can also be used to load the network with "traffic."
Use multiple physical clients, each running test scripts to place a load on
the system.
Performance testing should be performed on a dedicated machine or at a
dedicated time. This permits full control and accurate measurement.
The databases used for Performance testing should be either actual size, or
scaled equally.
Final Document
105
NOTE: Transactions below refer to "logical business transactions". These transactions are defined as specific
functions that an end user of the system is expected to perform using the application, such as add or modify
a given contract.
Test Objective Verify System Response time for designated transactions or
business cases under varying workload conditions.
Technique Use tests developed for Business Cycle Testing.
Modify data files (to increase the number of transactions) or
the tests to increase the number of times each transaction
occurs.
Completion Criteria Multiple transactions / multiple users: Successful completion of
the tests without any failures and within acceptable time
allocation.
Special Considerations Load testing should be performed on a dedicated machine or
at a dedicated time. This permits full control and accurate
measurement.
The databases used for load testing should be either actual
size, or scaled equally.
Stress Testing
Stress testing is intended to find errors due to low resources or competition for resources. Low
memory or disk space may reveal defects in the software that aren't apparent under normal conditions.
Other defects might results from competition for shared resource like database locks or network bandwidth.
Stress testing identifies the peak load the system can handle.
NOTE: References to transactions below refer to logical business transactions.
Test Objective Verify that the system and software function properly and
without error under the following stress conditions:
little or no memory available on the server (RAM)
Maximum (actual or physically capable) number of clients
connected (or simulated)
Multiple users performing the same transactions against the
Final Document
106
same data / accounts
Worst-case transaction volume / mix (see performance testing
above).
NOTES: Stress testing's goal might also be stated as identify
and document the conditions under which the system FAILS to
continue functioning properly.
Technique Use tests developed for Performance Testing.
To test limited resources, tests should be run on single
machine, RAM and DASD on server should be reduced (or
limited).
For remaining stress tests, multiple clients should be used,
running either the same tests or complementary tests to
produce the worst-case transaction volume / mix.
Completion Criteria All planned tests are executed and specified system limits are
reached / exceeded without the software or software failing
(or conditions under which system failure occurs is outside of
the specified conditions).
Special Considerations Stressing the network may require network tools to load the
network with messages / packets.
The DASD used for the system should temporarily be reduced
to restrict the available space for the database to grow.
Synchronization of the simultaneous clients accessing of the
same records / data accounts.
Volume Testing
Volume Testing subjects the software to large amounts of data to determine if limits are reached
that cause the software to fail. Volume testing also identifies the continuous maximum load or volume the
system can handle for a given period. For example, if the software is processing a set of database records to
generate a report, a Volume Test would use a large test database and check that the software behaved
normally and produced the correct report.
Test Objective Verify that the application / system successfully functions
Final Document
107
under the following high volume scenarios:
Maximum (actual or physically capable) number of clients
connected (or simulated) all performing the same, worst case
(performance) business function for an extended period.
Maximum database size has been reached (actual or scaled)
and multiple queries / report transactions are executed
simultaneously.
Technique Use tests developed for Performance Testing.
Multiple clients should be used, either running the same tests
or complementary tests to produce the worst case transaction
volume / mix (see stress test above) for an extended period.
Maximum database size is created (actual, scaled, or filled with
representative data) and multiple clients used to run queries /
report transactions simultaneously for extended periods.
Completion Criteria All planned tests have been executed and specified system
limits are reached / exceeded without the software or software
failing.
Special Considerations What period of time would be considered an acceptable time
for high volume conditions (as noted above)?
Suspension criteria and resumption requirements
Suspension criteria
Three use cases have more than 2 major errors or fours minor errors, then the build is not acceptable and
the testing is suspended.
Resumption requirements
All major errors & and at least 70% of minor errors that have been found in previous iteration are fixed
Final Document
108
Environmental Needs
Tools
Testing tools Tool Version
Unit Testing Junit and EJB3Unit Latest version
Functional requirement testing QuickTest Professional 9.2
Non-functional requirement
testing
AdventNetQEngine 6.0
Software
Documentation tool Microsoft word 2007
Scheduling tool Microsoft project 2007
IDE Netbean 6.0
Web Server Glassfish server 2.0
DBMS MySQL GUI tool 5.0
MySQL 5.0
Design tool Photoshop CS2
Microsoft Express Web Designer
JDK JDK 6.0
Browser Internet Explorer 6.0, 7.0
Firefox, Opera
Operating system Windows XP, Vista, Linux
Vision and Scope Document
109
Hardware
Client
3 laptops
2 desktops
Server Reuse one 24/7 available desktop to simulate the server for testing and
deployment
Schedule
The testing activities and milestones are dependent on the development iterations. The
Construction Phase (in RUP-Rational Unified Process) will be split into 3 iterations. Each iteration
contains a full test cycle of test planning, designing, development, execution, and evaluation.
Refer to the Software Development Plan and the Iteration Plans for the master schedule and
Construction Phase plan that shows the development iterations.
The following table shows the Test Milestones, start date, and end date as planned.
Milestone Task Start Date End Date
Iteration C1: Review 3
Test Planning
Test Design
Test Development
Test Execution
Test Evaluation
9th November 7th December
Iteration C2: Review 4
Test Planning
Test Design
Test Development
Test Execution
Test Evaluation
7th December 28th December
Vision and Scope Document
110
Acceptance criteria
Satisfy all features will be tested as above lists. OURS Website can run smoothly. Provide
a product with functions as requirements, help customer how to use the product easily. And
satisfy the following conditions:
Successful completion of all tasks as documented in the test schedule.
Quantity of medium- and low-level defects must be at an acceptable level as determined by the
software testing project team lead.
User interfaces for all features are functionally complete.
Installation documentation and scripts are complete and tested.
Development code reviews are complete and all issues addressed. All high-priority issues have
been resolved.
All outstanding issues pertinent to this release are resolved and closed.
All current code must be under source control, must build cleanly, the build process must be
automated, and the software components must be labeled with correct version numbers in the
version control system.
All high-priority defects are corrected and fully tested prior to release.
All defects that have not been fixed before release have been reviewed by project stakeholders
to confirm that they are acceptable.
The end user experience is at an agreed acceptable level.
Operational procedures have been written for installation, set up, error recovery, and
escalation.
There must be no adverse effects on already deployed systems.
Resources
This section presents the recommended resources for testing the Online University
Registration System, their main responsibilities, and their knowledge or skill set.
Roles and responsibilities
This table shows the staffing assumptions for the test activities.
Worker Specific Responsibilities/Comments
Vision and Scope Document
111
Test Manager Provides management oversight
Responsibilities:
Provide technical direction
Acquire appropriate resources
Management reporting
Test Designer Identifies, prioritizes, and implements test cases
Responsibilities:
Generate test plan
Generate Test Suite
Evaluate effectiveness of test effort
System Tester Executes the tests, Responsibilities:
Execute tests
Log results
Recover from errors
Document defects
Test System
Administrator
Ensures test environment and assets are managed
and maintained.
Responsibilities:
Administer test management system
Install / manage worker access to test systems
Database
Administration
Database Manager
Ensures test data (database) environment and
assets are managed and maintained.
Responsibilities:
Vision and Scope Document
112
Administer test data (database)
Designer Identifies and defines the operations, attributes,
and associations of the test classes
Responsibilities:
Identifies and defines the test class(es)
Identifies and defines the test packages
Implementer Implements and unit tests the test classes and test
packages
Responsibilities:
Creates the test classes and packages implemented
in the Test Suite.
The following table sets forth the system resources for the testing the Online University
Registration System.
System Resources
Resource Description
OURS Server Server for simulating the
environment of real OURS system
Course Catalog Database Simulated database
2 Remote PCs (with internet
access)
PCs for connecting to OURS via
internet
Vision and Scope Document
113
2 Local PCs (connected via LAN) Local network computers
Test Development PC's - 2
Load Simulator Simulator for load and
performance test
B- Test Case
In this part, we only provide test cases for all use cases defined in original requirement. We will
complete all test cases and use case specification of 2 new use cases have been added later in
the final review.
Unit testing
Again, we use JUnit and EJB3Unit for unit testing. To be noticed that EJB3Unit is really different
from JUnit or NUnit. In JUnit and NUnit, we have to give the input and the output so that these
tools can know how to check the result and notify us whether the unit is passed or not.
However, with EJB3Unit, if we test the entities, we are not required to provide the input and the
output because the EJB3Unit (an extension of JUnit) automatic provide a random data to check
the result our entities. And all the cases we need to check are as below checklist:
Verify the input data length specified in the database or in EJB. The EJB3Unit will can collect
information about the database basing on the entities and check the length. For example, the
student name’s length is specified is 50, then the EJB3Unit will generate data with length is 50,
greater than 50, and less than 50 to check all cases that can happen. And the case that is passed
is the case with length 50. Other cases are failed.
That is the reason while we do not need to write too much test case in this part. However, if the
team is required, we will do it in the review 4.
Other kinds of checks will be showed below:
Verify the input data format specified in each form, classes, and interaction with database
String format: only accept string, not number format, or mixed (string and number)
format…
Integer number format: only accept integer number format, not string format, or mixed
format…
Vision and Scope Document
114
Email address format: only valid email address is accepted, other string patterns are not
accepted
Date format: only date format is accepted, others are not accepted
Special character: not use special character. Special character
Empty field: empty field is not accepted.
Null: not allowed using null
Test write: test writing operation to database check whether we can write data to
database or not
Test write null field: not allow write null data to our system database
Test write read: test reading and writing data with relationships and constraints
Test getter setter: test whether get and set methods of each entity
For further information about EJB3Unit and how it work, please contact with our team. This is
due to the fact that it is a brand new tool introduced after EJB3.0 is defined. And it change the
way J2EE developers do the unit test.
Vision and Scope Document
115
Test Cases of Log in and Log out Use Case
User logs in successfully with valid username and password
Name Test case: User logs in successfully with valid username and password
Requirement The user is logged in correctly after providing correct username and
password
Preconditions The user is at the homepage or the log in page
Steps 1. Provide valid username in the username textbox
2. Provide valid password in the password textbox
3. Click on log in button
Expected results The user is redirected to the specific homepage of that user
Fail to login the system when providing invalid username
Name Test case: Fail to login the system when providing invalid username
Requirement The user is not logged in when providing invalid username
Preconditions The user is at the homepage or the log in page
Steps 1. Provide invalid username in the username textbox
2. Provide password in the password textbox or let password field be empty
3. Click on log in button
Expected results The user is redirected to the error page with a warning “You have provided invalid
username or invalid password”
Fail to login the system when providing username or password
containing special character(s)
Special Characters: special characters are characters which are not the alphabet (A – Z, a-z) and
numeric (0-9) space characters.
Name Test case: Fail to login the system when providing username or password containing
Vision and Scope Document
116
special character(s)
Requirement The user is not logged in when providing username or password containing special
character(s).
Preconditions The user is at the homepage or the log in page
Steps 1. Provide username containing special character(s) in the username textbox
or/and
2. Provide password containing special character(s) in the password textbox or
let password field be empty
3. Click on log in button
Expected results The user is redirected to the error page with a warning “Username and Password
cannot contain special character(s)”
Fail to login the system when providing valid username and invalid
password
Name Test case: Fail to login the system when providing valid username and invalid
password
Requirement The user is not logged in when providing valid username and invalid password
Preconditions The user is at the homepage or the log in page
Steps 1. Provide valid username in the username textbox
2. Provide invalid password in the password textbox
3. Click on log in button
Expected results The user is redirected to the error page with a warning “You have provided invalid
username or invalid password”
Fail to login the system when providing empty username
Name Test case: Fail to login the system when providing empty username
Requirement The user is not logged in when providing empty username
Preconditions The user is at the homepage or the log in page
Vision and Scope Document
117
Steps 1. Provide empty username in the username textbox
2. Provide password in the password textbox or let password field be empty
3. Click on log in button
Expected results The user is redirected to the error page with a warning “You must provide both
username and password”
Fail to login the system when providing valid username and empty
password
Name Test case: Fail to login the system when providing valid username and empty
password
Requirement The user is not logged in when providing valid username and empty password
Preconditions The user is at the homepage or the log in page
Steps 1. Provide valid username in the username textbox
2. Provide empty password in the password textbox
3. Click on log in button
Expected results The user is redirected to the error page with a warning “You must provide both
username and password”
User account is locked after failing to log in 3 times
Name Test case: User account is locked after failing to log in 3 times
Requirement User account is locked after failing to log in 3 times with a specific username
Preconditions The user is at the homepage or the log in page
Steps 1. Provide valid username in the username textbox or/and
2. Provide invalid or empty password in the password textbox
3. Click on log in button
4. Repeat above process for 3 times
Expected results The user is redirected to the error page with a warning “You have provided invalid
username or invalid password”
Vision and Scope Document
118
After the 3rd time, the user account with given user name is locked out and a
warning is issued “Account locked. Please wait for 30 minutes or contact the
administrator”
User logs in the system using an account is being used by another
user
Name Test case: User logs in the system using an account is being used by another user
Requirement User CAN NOT log in the system using account is being used by another user
Preconditions A given account is being used by user 1
Steps 1. User 2 provides username of user 1 exactly
2. User 2 provides password of user 1 exactly
3. Click on log in button
Expected results User 2 is redirected to the error page with a warning “This account is being used by
another user”
User logs in the system using an account is being locked
Name Test case: User logs in the system using an account is being locked
Requirement User CAN NOT log in the system using account is being locked
Preconditions A given account is being locked by logging in fail 3 times
Steps 1. Provides username of given account being locked
2. Provide password of given account being locked
3. Click on log in button
Expected results User is redirected to the error page with a warning “This account is being locked.
Please wait for 30 minutes or contact the administrator”
Change password successfully
Name Test case: Change password successfully
Requirement The user wants to update password
Vision and Scope Document
119
Fail to change password when old or new or confirmed password is
empty
Fail to change password when old password is incorrect
All old and new passwords must be provided
Preconditions The user clicks on the “change password”
The webpage that allows user to change password is displayed
Steps 1. Enter old password
2. Enter new password
3. Enter confirmed password
4. Click on the Recovery password button
Expected results The old password is changed into new password
Name Test case: Fail to change password
Requirement Try to change password when old or new or confirmed password is not input
Preconditions The user clicks on the “change password”
The webpage that allows user to change password is displayed
Steps 1. Let old password empty or/and
2. Let new password empty or/and
3. Let confirmed password empty or/and
4. Click on the Recovery password button
Expected results Notify user about empty fields
Name Test case: Fail to change password
Requirement Try to change password when providing incorrect old password
Preconditions The user clicks on the “change password”
Vision and Scope Document
120
Recover the password successfully
Fail to reset password when inputting wrong answer for the security
question
The webpage that allows user to change password is displayed
Steps 1. Enter wrong password
2. Enter new password empty
3. Enter confirmed password empty
4. Click on the Recovery password button
Expected results Notify user that the current password is wrong
Name Test case: Recover the password successfully
Requirement The user lost or forget the password and wants to reset the password
Input right answer
Preconditions The user clicks on the “Forget password”
The system warns the user about recovering the password
Steps 1. Specify the answer for the security question in the text box
2. Click on the Recovery password button
Expected results The system issues the message indicates the password has been reset to the default
password “Abcd1234” and warns the user to change their password for the next log
in
The password is reset to the default password “Abcd1234”
The system redirects the user to the log in page
Name Test case: Fail to reset password when inputting wrong answer for the security
question
Requirement The user lost or forget the password and wants to reset password
Vision and Scope Document
121
Fail to reset password when inputting answer containing special
character(s) for the security question
Special Characters: special characters are characters which are not the alphabet (A – Z, a-z) and
numeric (0-9) space characters.
Input wrong answer
Preconditions The user clicks on the “Forget password”
The system warns the user about recovering the password
Steps 1. Specify the wrong answer of the security question in the text box
2. Click on the Recovery password button
Expected results The system issues the message “The answer is not correct”
The system redirects the user to the recover password page to choose another
question or answer the selected again
Name Test case: Fail to reset password when inputting answer containing special
characters for the security question
Requirement The user lost or forget the password and wants to reset password
The answer contains special characters
Preconditions The user clicks on the “Forget password”
The system warns the user about recovering the password
Steps 1. Specify the answer containing special character(s) for the security question
in the text box
2. Click on the Recovery password button
Expected results The system issues the message “The answer cannot contain special character(s)”
The system redirects the user to the recover password page to choose another
question or answer the selected again
Vision and Scope Document
122
Fail to reset password when inputting empty answer for the security
question
Test Cases of Manage Department Information Use case
Add a department with valid information successfully
Name Test case: Add a department with valid information successfully
Requirement All fields are filled with valid data
Preconditions The webpage that allows user to input information of a department is displayed
Steps 1. Provide department’s name in the name textbox
2. Provide department’s location in the location textbox
3. Provide department’s dean in the dean textbox
4. Provide faculty information that the department has
5. Provide department description in the description text area
6. Click on add button
Name Test case: Fail to reset password when inputting empty answer for the security
question
Requirement The user lost or forget the password and wants to reset password
Let answer be empty
Preconditions The user clicks on the “Forget password”
The system warns the user about recovering the password
Steps 1. Leave the answer text box blank
2. Click on the Recovery password button
Expected results The system issues the message “The answer cannot be empty”
The system redirects the user to the recover password page to choose another
question or answer the selected again
Vision and Scope Document
123
Expected results 1. The department is added to the system
2. The summary of department has been added to the system is displayed
Fail to add a department with name that already exists in the system
Fail to add a department when one or some or all fields are empty
Name Test case: Fail to add a department with name that already exists in the system
Requirement All fields are filled with data
Preconditions The webpage that allows user to input information of a department is displayed
Steps 1. Provide department’s name (which already exist in the system) in the name
textbox
2. Provide department’s location in the location textbox
3. Provide department’s dean in the dean textbox
4. Provide faculty information that the department has
5. Provide department description in the description text area
6. Click on add button
Expected results 1. The department is NOT added to the system
2. The user is redirected to the error page with a warning “ Fail to add the
department to the system. The name of the department that you have provided
already exists in the system”
Name Test case: Fail to add a department when one or some or all fields are empty
Requirement NOT all fields are filled with data
Preconditions The webpage that allows user to input information of a department is displayed
Steps 1. Provide empty department’s name in the name textbox or/and
2. Provide empty department’s location in the location textbox or/and
3. Provide empty department’s dean in the dean textbox or/and
Vision and Scope Document
124
Fail to add a department when inputting special character(s) to one
or some or all fields
Special Characters: special characters are characters which are not the alphabet (A – Z, a-z)and
numeric (0-9) space characters.
4. Provide empty faculty information that the department has or/and
5. Provide department description in the description text area or/and
6. Click on add button
Expected results 1. The department is NOT added to the system
2. The user is redirected to the error page with a warning “Fail to add the
department to the system. You must provide all information”
Name Test case: Fail to add a department when inputting special character(s) to one or
some or all fields
Requirement All fields are filled with data
Preconditions The webpage that allows user to input information of a department is displayed
Steps 1. Provide department’s name containing special character(s) in the name
textbox or/and
2. Provide department’s location containing special character(s) in the location
textbox or/and
3. Provide department’s dean containing special character(s) in the dean
textbox or/and
4. Provide faculty information containing special character(s) or/and
5. Provide department description containing special character(s) in the
description text area or/and
6. Click on add button
Expected results 1. The department is NOT added to the system
2. The user is redirected to the error page with a warning “Fail to add the
department to the system. Some fields contains special character(s)”
Vision and Scope Document
125
Update a department with valid information successfully
Name Test case: Update a department with valid information successfully
Requirement All fields are filled with valid data
Preconditions The webpage that allows user to update information of a department is displayed
Steps 1. Provide department’s name in the name textbox or/and
2. Provide department’s location in the location textbox or/and
3. Provide department’s dean in the dean textbox or/and
4. Provide faculty information that the department has or/and
5. Provide department description in the description text area or/and
6. Click on add button
Expected results 1. The department is updated in the system
2. The summary of department has been updated is displayed
Fail to update a department with name that already exists in the
system
Name Test case: Fail to update a department with name that already exists in the system
Requirement All fields are filled with data
Preconditions The webpage that allows user to update information of a department is displayed
Steps 1. Provide department’s name (which already exist in the system) in the name
textbox or/and
2. Provide department’s location in the location textbox or/and
3. Provide department’s dean in the dean textbox or/and
4. Provide faculty information that the department has or/and
5. Provide department description in the description text area or/and
6. Click on add button
Vision and Scope Document
126
Fail to update a department when one or some or all fields are
empty
Expected results 1. The department is NOT updated in the system
2. The user is redirected to the error page with a warning “ Fail to update the
department in the system. The name of the department that you have provided
already exists in the system”
Name Test case: Fail to update a department when one or some or all fields are empty
Requirement NOT all fields are filled with data
Preconditions The webpage that allows user to update information of a department is displayed
Steps 1. Provide empty department’s name in the name textbox or/and
2. Provide empty department’s location in the location textbox or/and
3. Provide empty department’s dean in the dean textbox or/and
4. Provide empty faculty information that the department has or/and
5. Provide department description in the description text area or/and
6. Click on add button
Expected results 1. The department is NOT updated in the system
2. The user is redirected to the error page with a warning “Fail to update the
department in the system. You must provide all information”
Vision and Scope Document
127
Fail to update a department when inputting special character(s) to
one or some or all fields
Special Characters: special characters are characters which are not the alphabet (A – Z, a-z)and
numeric (0-9) and space characters.
Update cancel
Name Test case: Fail to update a department when inputting special character(s) to one or
some or all fields
Requirement All fields are filled with data
Preconditions The webpage that allows user to update information of a department is displayed
Steps 1. Provide department’s name containing special character(s) in the name
textbox or/and
2. Provide department’s location containing special character(s) in the location
textbox or/and
3. Provide department’s dean containing special character(s) in the dean
textbox or/and
4. Provide faculty information containing special character(s) or/and
5. Provide department description containing special character(s) in the
description text area or/and
6. Click on add button
Expected results 1. The department is NOT updated in the system
2. The user is redirected to the error page with a warning “Fail to update the
department in the system. Some fields contains special character(s)”
Name Test case: Update cancel
Requirement When user decides to cancel updating, the system must allow him/her to stop the
operation
Preconditions The webpage that allows user to update information of a department is displayed
Vision and Scope Document
128
Delete a department
Delete cancel
Steps Click on add button
Expected results The department is NOT updated in the system
User is redirected to his/her main page
Name Test case: Delete a department
Requirement When user decides to delete the selected department, the system removes that
department from the system
Preconditions The webpage that allows user to delete information of a department is displayed
Steps 1. User chooses a department to delete from a drop down list.
2. Verify that the system retrieves and displays the department information for
user and prompts message MS004 to the Academic Affair Staff to confirm
the deletion of the Department.
3. User confirms to delete the selected department by clicking on delete
button.
Expected results The system deletes the selected department from the system
Name Test case: Delete cancel
Requirement When user decides to cancel deletion, the system allows user to cancel the operation
Preconditions The webpage that allows user to delete information of a department is displayed
Steps 1. User chooses a department to delete from a drop down list.
2. Verify that the system retrieves and displays the department information for
user and prompts message MS004 to the Academic Affair Staff to confirm
the deletion of the Department.
3. User click on cancel button.
Vision and Scope Document
129
Test Cases of Manage Lecturer Information use case
Add a lecturer with valid information successfully
Name Test case: Add a lecturer with valid information successfully
Requirement All fields are filled with valid data
Preconditions The webpage that allows user to input information of a lecturer is displayed
Steps 1. Provide lecturer’s name in the name textbox
2. Choose lecturer’s date of birth in the calendar
3. Provide lecturer’s cell-phone number in the cell-phone textbox
4. Provide lecturer’s email address in the email textbox
5. Provide lecturer’s department where that lecturer belongs in the
department textbox
6. Provide lecturer’s degree in the degree textbox
7. Click on add button
Expected results 1. The lecturer is added to the system
2. The summary of lecturer’s information has been added to the system is displayed
Fail to add a department when one or some or all fields are empty
Expected results The selected department is NOT deleted from the system
User is redirected to his/her main page
Name Test case: Fail to add a department when one or some or all fields are empty
Requirement NOT all fields are filled with data
Preconditions The webpage that allows user to input information of a department is displayed
Steps 1. Provide empty lecturer’s name in the name textbox or/and
Vision and Scope Document
130
Fail to add a lecturer when inputting special character(s) to one or
some or all fields
Special Characters: special characters are characters which are not the alphabet (A – Z, a-z)and
numeric (0-9) and space characters.
2. Choose empty lecturer’s date of birth in the calendar or/and
3. Provide empty lecturer’s cell-phone number in the cell-phone textbox or/and
4. Provide empty lecturer’s email address in the email textbox or/and
5. Provide empty lecturer’s department where that lecturer belongs in the
department textbox or/and
6. Provide empty lecturer’s degree in the degree textbox or/and
7. Click on add button
Expected results 1. The lecturer is NOT added to the system
2. The user is redirected to the error page with a warning “Fail to add the lecturer to
the system. You must provide all information”
Name Test case: Fail to add a lecturer when inputting special character(s) to one or some or
all fields
Requirement All fields are filled with data
Preconditions The webpage that allows user to input information of a lecturer is displayed
Steps 1. Provide lecturer’s name containing special character(s) the name textbox
or/and
2. Choose lecturer’s date of birth in the calendar or/and
3. Provide lecturer’s cell-phone number containing special character(s) in the
cell-phone textbox or/and
4. Provide lecturer’s email address containing special character(s) in the email
textbox or/and
5. Provide lecturer’s department where that lecturer belongs, containing
special character(s), in the department textbox or/and
Vision and Scope Document
131
Look for a lecturer
Name Test case: Look for a lecturer
Requirement When user wants to update or delete a lecturer, he/she has to look for information
of the lecturer he/she wants to delete or modify information.
Preconditions The webpage that allows user to look for information of a lecturer is displayed. It can
be update or delete page.
Steps 1. User chooses the department where the lecturer belongs
2. Verify that the system retrieves and displays the list of lecturers of that
department
3. User choose a lecturer from the list
4. Verify that the summary of information of selected lecturer is displayed
Expected results 1. Information of the select lecturer is displayed
Update a lecturer with valid information successfully
Name Test case: Update a lecturer with valid information successfully
Requirement All fields are filled with valid data
Preconditions The webpage that allows user to update information of a lecturer is displayed. (To be
noted that we have test case for looking for lecturer above already. There’s no need
to repeat it here.)
Steps 1. Provide lecturer’s name in the name textbox or/and
2. Choose lecturer’s date of birth in the calendar or/and
3. Provide lecturer’s cell-phone number in the cell-phone textbox or/and
6. Provide lecturer’s degree containing special character(s) in the degree
textbox or/and
7. Click on add button
Expected results 1. The lecturer is NOT added to the system
2. The user is redirected to the error page with a warning “Fail to add the lecturer to
the system. Some fields contains special character(s)”
Vision and Scope Document
132
4. Provide lecturer’s email address in the email textbox or/and
5. Provide lecturer’s department where that lecturer belongs in the
department textbox or/and
6. Provide lecturer’s degree in the degree textbox or/and
7. Click on add button
Expected results 1. The lecturer is updated in the system
2. The summary of the lecturer has been updated is displayed
Vision and Scope Document
133
Fail to update a lecturer when one or some or all fields are empty
Fail to update a lecturer information when inputting special
character(s) to one or some or all fields
Special Characters: special characters are characters which are not the alphabet (A – Z, a-z)and
numeric (0-9) space characters.
Name Test case: : Fail to update a lecturer when one or some or all fields are empty
Requirement NOT all fields are filled with data
Preconditions The webpage that allows user to update information of a lecturer is displayed.(To be
noted that we have test case for looking for lecturer above already. There’s no need
to repeat it here.)
Steps 1. Provide empty lecturer’s name in the name textbox or/and
2. Choose empty lecturer’s date of birth in the calendar or/and
3. Provide empty lecturer’s cell-phone number in the cell-phone textbox or/and
4. Provide empty lecturer’s email address in the email textbox or/and
5. Provide empty lecturer’s department where that lecturer belongs in the
department textbox or/and
6. Provide empty lecturer’s degree in the degree textbox or/and
7. Click on add button
Expected results 1. The lecturer is NOT updated in the system
2. The user is redirected to the error page with a warning “Fail to update the
lecturer in the system. You must provide all information”
Name Test case: Fail to update a lecturer information when inputting special character(s) to
one or some or all fields
Requirement All fields are filled with data
Preconditions The webpage that allows user to update information of a lecturer is displayed. (To be
noted that we have test case for looking for lecturer above already. There’s no need
Vision and Scope Document
134
Update cancel
to repeat it here.)
Steps 1. Provide empty lecturer’s name containing special character(s) in the name
textbox or/and
2. Choose empty lecturer’s date of birth in the calendar or/and
3. Provide empty lecturer’s cell-phone number containing special character(s)
in the cell-phone textbox or/and
4. Provide empty lecturer’s email address containing special character(s) in the
email textbox or/and
5. Provide empty lecturer’s department where that lecturer belongs, containing
special character(s) in the department textbox or/and
6. Provide empty lecturer’s degree containing special character(s) in the degree
textbox
7. Click on add button
Expected results 1. The lecturer is NOT updated in the system
2. The user is redirected to the error page with a warning “Fail to update the
lecturer in the system. Some fields contains special character(s)”
Name Test case: Update cancel
Requirement When user decides to cancel updating, the system must allow him/her to stop the
operation
Preconditions The webpage that allows user to update information of a lecturer is displayed. (To be
noted that we have test case for looking for lecturer above already. There’s no need
to repeat it here.)
Steps Click on cancel button
Expected results The lecturer is NOT updated in the system
User is redirected to his/her main page
Vision and Scope Document
135
Delete a lecturer
Delete cancel
Name Test case: Delete a lecturer
Requirement When user decides to delete the selected lecturer, the system removes that lecturer
from the system
Preconditions The webpage that allows user to delete information of a lecturer is displayed. (To be
noted that we have test case for looking for lecturer above already. There’s no need
to repeat it here.)
Steps Click on delete button
Expected results The system deletes the selected lecturer from the system
User is redirected to his/her main page
Name Test case: Delete cancel
Requirement When user decides to cancel deletion, the system allows user to cancel the operation
Preconditions The webpage that allows user to delete information of a lecturer is displayed. (To be
noted that we have test case for looking for lecturer above already. There’s no need
to repeat it here.)
Steps Click on cancel button
Expected results The selected lecturer is NOT deleted from the system
User is redirected to his/her main page
Vision and Scope Document
136
Test Cases of Manage Student Information Use Case
Add a student with valid information successfully
Name Test case: Add a student with valid information successfully
Requirement All fields are filled with valid data
Preconditions The webpage that allows user to input information of a student is displayed
Steps 1. Provide student’s name in the name textbox
2. Provide student’s ID in the ID textbox
3. Choose student’s faculty in the list of faculty
4. Choose student’s academic duration in the range list
5. Choose student’s academic year in the list
6. Choose semester of this academic year.
7. Choose course of this semester.
8. Click on add button
Expected results 1. The student is added to the system
2. The summary of student’s information has been added to the system is displayed
Fail to add a student when one or some or all fields are empty
Name Test case: Fail to add a student when one or some or all fields are empty
Requirement NOT all fields are filled with data
Preconditions The webpage that allows user to input information of a student is displayed
Steps 1. Provide empty student’s name in the name textbox or/and
2. Provide empty student’s ID in the ID textbox or/and
3. Choose empty student’s faculty in the list of faculty or/and
Vision and Scope Document
137
Fail to add a student when inputting special character(s) to one or
some or all fields
Special Characters: special characters are characters which are not the alphabet (A – Z, a-z)and
numeric (0-9) space characters.
4. Choose empty student’s academic duration in the range list or/and
5. Choose empty student’s academic year in the list or/and
6. Choose empty semester of this academic year or/and
7. Choose empty course of this semester or/and
8. Click on add button
Expected results 1. The student is NOT added to the system
2. The user is redirected to the error page with a warning “Fail to add the student to
the system. You must provide all information”
Name Test case: Fail to add a student when inputting special character(s) to one or some or
all fields
Requirement All fields are filled with data
Preconditions The webpage that allows user to input information of a lecturer is displayed
Steps 1. Provide student’s name containing special character(s) the name textbox
or/and
2. Provide student’s ID containing special character(s) in the ID textbox or/and
3. Choose student’s faculty in the list of faculty or/and
4. Choose student’s academic duration in the range list or/and
5. Choose student’s academic year in the list or/and
6. Choose semester of this academic year or/and
7. Choose course of this semester or/and
8. Click on add button
Vision and Scope Document
138
Search student by student ID or/and by student name
Fail to search student by student ID or/and by student name when
providing invalid student ID or/and student name
Expected results 1. The student is NOT added to the system
2. The user is redirected to the error page with a warning “Fail to add the student to
the system. Some fields contains special character(s)”
Name Test case: Search student by student ID or/and by student name
Requirement User wants to find information of a specific student with student’s ID or list of
students with given name.
Preconditions The webpage allows user to find students is displayed
Steps 1. Chooses ID and Name filter from the filter drop down list
2. Provide an ID in the ID textbox or/and
3. Provide a name in the name textbox
4. Click on search button
Expected results The information of student with given ID or a list of student(s) with given name is
displayed
Name Test case: Fail to search student by student ID or/and by student name when
providing invalid student ID or/and student name
Requirement User wants to find information of student whose ID or/and name does not exist in
the system, then the system must notify the user about this
Preconditions The webpage allows user to find students is displayed
Steps 1. Chooses ID and Name filter from the filter drop down list
2. Provide an invalid ID in the ID textbox or/and
3. Provide a invalid name in the name textbox
4. Click on search button
Vision and Scope Document
139
Fail to search student by student ID or/and by student name when
providing empty student ID or/and student name
Search student by faculty and academic duration
Expected results The user is redirected to the error page with a warning “The desired student is not
found”
Name Test case: Fail to search student by student ID or/and by student name when
providing empty student ID or/and student name
Requirement User wants to find information of a specific student’s ID or list of students with given
name.
Preconditions The webpage allows user to find students is displayed
Steps 1. Chooses ID and Name filter from the filter drop down list
2. Provide an empty ID in the ID textbox or/and
3. Provide an empty name in the name textbox
4. Click on search button
Expected results The user is redirected to the error page with a warning “You must provide an ID
or/and student name”
Name Test case: Search student by faculty and academic duration
Requirement User wants to view tuition fee information of students of a specific faculty with a
specific academic duration
Preconditions The webpage allows user to view tuition fee of students is displayed
Steps 1. Chooses faculty and academic duration filter from the filter drop down list
2. Choose a faculty from the drop down list
Vision and Scope Document
140
3. Choose an academic duration from drop down list
4. Click on search button
Expected results The information of students of selected faculty with specific academic duration
Vision and Scope Document
141
Search student by academic year, semester, and course
Update a student with valid information successfully
Name Test case: Update a student with valid information successfully
Requirement All fields are filled with valid data
Preconditions The webpage that allows user to update information of a student is displayed. (To be
noted that we have test cases searching for student above already. There’s no need
to repeat it here)
Steps 1. Provide student’s name in the name textbox or/and
2. Provide student’s ID in the ID textbox or/and
3. Choose student’s faculty in the list of faculty or/and
4. Choose student’s academic duration in the range list or/and
5. Choose student’s academic year in the list or/and
6. Choose semester of this academic year or/and
7. Choose course of this semester or/and
Name Test case: Search student by academic year, semester, and course
Requirement User wants to find information of students in a specific academic year and/or
semester and/or course
Preconditions The webpage allows user to find students is displayed
Steps 1. Chooses academic year, semester, and course filter from the filter drop
down list
2. Choose a academic year from the academic year drop down list or/and
3. Choose a semester from the semester drop down list or/and
4. Choose a course from the course drop down list
5. Click on search button
Expected results The information of students of selected academic year and/or semester and/or
course is displayed
Vision and Scope Document
142
8. Click on update button
Expected results 1. The student is updated in the system
2. The summary of the student has been updated is displayed
Fail to update a student when one or some or all fields are empty
Fail to update a student when inputting special character(s) to one
or some or all fields
Special Characters: special characters are characters which are not the alphabet (A – Z, a-z) and
numeric (0-9) space characters.
Name Test case: Fail to update a student when one or some or all fields are empty
Requirement NOT all fields are filled with data
Preconditions The webpage that allows user to update information of a student is displayed (To be
noted that we have test cases searching for student above already. There’s no need
to repeat it here)
Steps 1. Provide empty student’s name in the name textbox or/and
2. Provide empty student’s ID in the ID textbox or/and
3. Choose student’s faculty in the list of faculty or/and
4. Choose student’s academic duration in the range list or/and
5. Choose student’s academic year in the list or/and
6. Choose semester of this academic year or/and
7. Choose course of this semester or/and
8. Click on update button
Expected results 1. The student is NOT updated in the system
2. The user is redirected to the error page with a warning “Fail to update the student
in the system. You must provide all information”
Vision and Scope Document
143
Update is canceled
Name Test case: Fail to update a student information when inputting special character(s) to
one or some or all fields
Requirement All fields are filled with data
Preconditions The webpage that allows user to update information of a student is displayed. (To be
noted that we have test cases searching for student above already. There’s no need
to repeat it here)
Steps 1. Provide empty student’s name in the name textbox or/and
2. Provide empty student’s ID in the ID textbox or/and
3. Choose student’s faculty in the list of faculty or/and
4. Choose student’s academic duration in the range list or/and
5. Choose student’s academic year in the list or/and
6. Choose semester of this academic year or/and
7. Choose course of this semester or/and
8. Click on update button
Expected results 1. The student is NOT updated in the system
2. The user is redirected to the error page with a warning “Fail to update the student
in the system. Some fields contains special character(s)”
Name Test case: Update is canceled
Requirement When user decides to cancel updating, the system must allow him/her to stop the
operation
Preconditions The webpage that allows user to update information of a student is displayed. (To be
noted that we have test cases searching for student above already. There’s no need
to repeat it here.)
Steps Click on cancel button
Expected results The student is NOT updated in the system
Vision and Scope Document
144
Delete a student
Delete is canceled
User is redirected to his/her main pages
Name Test case: Delete a student
Requirement When user decides to delete the selected student, the system removes that student
from the system
Preconditions The webpage that allows user to delete information of a student is displayed. (To be
noted that we have test cases searching for student above already. There’s no need
to repeat it here.)
Steps Click on delete button
Expected results The system deletes the selected student from the system
User is redirected to his/her main page
Name Test case: Delete is canceled
Requirement When user decides to cancel deletion, the system allows user to cancel the operation
Preconditions The webpage that allows user to delete information of a student is displayed. (To be
noted that we have test cases searching for student above already. There’s no need
to repeat it here)
Steps Click on cancel button
Expected results The selected student is NOT deleted from the system
User is redirected to his/her main page
Vision and Scope Document
145
Test Cases of Manage Course Offering Use Case
Create list of courses offering successfully
Update the list of course offering
Name Test case: Create list of courses offering successfully
Requirement List of courses offering does not exist yet
Academic affair staff wants to create new list course offering
Preconditions The user must log in as the Academic Affair Staff
The webpage that allows user to create list of courses offering is displayed
Steps 1. Click on the button Manage Course Offering
2. Click on the button Create a list of course offering
3. Click on the drop down list to choose the desired faculty
4. Click on the check box to choose the subject which is selected to offer
5. Click on the drop down list to choose the lecturers for the selected courses
6. Click on the Submit button to create the list of course offering for the
selected faculty
7. Click on the OK button to confirm the operation
Expected results The new list of courses offering is created
The system displayed the list of course offering that has been created
The system redirects to the Manage Course Offering page
Name Test case: Update the list of course offering
Requirement The list of courses offering exists in the system
Academic affair staff wants to update list of courses offering
Preconditions The user must log in as the Academic Affair Staff
Vision and Scope Document
146
Cancel during the Create list of course offering operation
The webpage that allows user to create list of courses offering is displayed
Steps 1. Click on the button Manage Course Offering
2. Click on the button Update list of course offering
3. Click on the drop down list to choose the desired faculty
4. Check or uncheck the check box of each course to change the list of course
offering
5. Change the lecturer for each course (if desired)
6. Click on the Update button
7. Click on the OK button to confirm the operation
Expected results The confirmation displayed
The list of course offering is updated with the changes of the user
The updated list of course offering is displayed after the operation completed
Name Test case: Cancel during the Create list of course offering operation
Requirement Academic affair staff is being in the creating list of courses offering process.
Preconditions The user must log in as the Academic Affair Staff
User is being in the creating list of courses offering process
Steps 1. Click on the button Manage Course Offering
2. Click on the button Create a list of course offering
3. Click on the drop down list to choose the desired faculty
4. Click on the check box to choose the subject which is selected to offer
5. Click on the drop down list to choose the lecturers for the selected courses
6. Click on the Submit button to create the list of course offering for the
selected faculty
Vision and Scope Document
147
Cancel during the Update list of course offering operation
Fail to create an empty list of course offering
7. Click on the Cancel button
Expected results No list of course offering is created
The system redirects to the Manage Course Offering page
Name Test case: Cancel during the Update list of course offering operation
Requirement Academic affair wants to cancel the updating list of courses offering process
Preconditions The user must log in as the Academic Affair Staff
User is being in the creating list of courses offering process
Steps 1. Click on the button Manage Course Offering
2. Click on the button Update list of course offering
3. Click on the drop down list to choose the desired faculty
4. Check or uncheck the check box of each course to change the list of course
offering
5. Change the lecturer for each course (if desired)
6. Click on the Update button
7. Click on the Cancel button to confirm the operation
Expected results List of courses offering is not updated
The system redirects to the Manage Course Offering page
Name Test case: Fail to create an empty list of course offering
Vision and Scope Document
148
Update list of course offering while there’s no list of course offering
for specific faculty
Requirement Academic affair tries to create an empty list of courses offering or creates an empty
list of courses offering by accident
Preconditions The user must log in as the Academic Affair Staff
The webpage that allows user to create list of courses offering is displayed
Steps 1. Click on the button Manage Course Offering
2. Click on the button Create a list of course offering
3. Click on the drop down list to choose the desired faculty
4. Don’t click any check box in order not to select any course
5. Click on the drop down list to choose the lecturers for the selected courses
6. Click on the Submit button to create the list of course offering for the
selected faculty
7. Click on the OK button to confirm the operation
Expected results No empty list is created
The system issued warning about the empty list of course offering
The system redirects to the Create list of course offering and let the user to create
the non – empty list
Name Test case: Update list of course offering while there’s no list of course offering for
specific faculty
Requirement Academic affair staff tries to update list of courses offering while has not been
created. Then the system must notify him/her about the unavailable status of list of
courses offering.
Preconditions 1. The user must log in as the Academic Affair Staff
2. The selected faculty has no list of course offering
Steps 1. Click on the button Manage Course Offering
Vision and Scope Document
149
2. Click on the button Update list of course offering
3. Click on the drop down list to choose the desired faculty
Expected results A warning is displayed “There’s no list of course offering in this faculty. Cannot
update”
Vision and Scope Document
150
Test Cases of Manage Financial Activities Use Case
View tuition fee by student ID or/and by student name
Fail to view tuition fee by student ID or/and by student name when
providing invalid student ID or/and student name
Name Test case: View tuition fee by student ID or/and by student name
Requirement User wants to view tuition fee information of a specific student or list of students
with given name.
Preconditions The webpage allows user to view tuition fee of students is displayed
Steps 1. Chooses ID and Name filter from the filter drop down list
2. Provide an ID in the ID textbox or/and
3. Provide a name in the name textbox
4. Click on search button
Expected results The tuition fee information of student with given ID or student(s) with given name is
displayed
Name Test case: Fail to view tuition fee by student ID or/and by student name when
providing invalid student ID or/and student name
Requirement User wants to view tuition fee information of student whose ID or/and name does
not exist in the system, then the system must notify the user about this
Preconditions The webpage allows user to view tuition fee of students is displayed
Steps 1. Chooses ID and Name filter from the filter drop down list
2. Provide an invalid ID in the ID textbox or/and
3. Provide a invalid name in the name textbox
4. Click on search button
Expected results The user is redirected to the error page with a warning “The desired student is not
Vision and Scope Document
151
Fail to view tuition fee by student ID or/and by student name when
providing empty student ID or/and student name
View tuition fee by faculty or/and by academic duration
found”
Name Test case: Fail to view tuition fee by student ID or/and by student name when
providing empty student ID or/and student name
Requirement User wants to view tuition fee information of a specific student or list of students
with given name.
Preconditions The webpage allows user to view tuition fee of students is displayed
Steps 1. Chooses ID and Name filter from the filter drop down list
2. Provide an empty ID in the ID textbox or/and
3. Provide a empty name in the name textbox
4. Click on search button
Expected results The user is redirected to the error page with a warning “You must provide an ID
or/and student name”
Name Test case: View tuition fee by faculty or/and by academic duration
Requirement User wants to view tuition fee information of students of a specific faculty with a
specific academic duration
Preconditions The webpage allows user to view tuition fee of students is displayed
Steps 1. Chooses faculty and academic duration filter from the filter drop down list
2. Choose a faculty from the drop down list
3. Choose a academic duration from drop down list
4. Click on search button
Expected results The tuition fee information of students of selected faculty with specific academic
Vision and Scope Document
152
View tuition fee by academic year, semester, and course
Update tuition fee status of a student
duration
Name Test case: View tuition fee by academic year, semester, and course
Requirement User wants to view tuition fee information of students in a specific academic year
and/or semester and/or course
Preconditions The webpage allows user to view tuition fee of students is displayed
Steps 1. Chooses academic year, semester, and course filter from the filter drop
down list
2. Choose a academic year from the academic year drop down list or/and
3. Choose a semester from the semester drop down list or/and
4. Choose a course from the course drop down list
5. Click on search button
Expected results The tuition fee information of students of selected academic year and/or semester
and/or course is displayed
Name Test case: Update tuition fee status of a student
Requirement User wants to update the tuition fee status of students after he/she pays the tuition
fee. User wants to update tuition fee status of student that user has update wrongly.
Preconditions The webpage allows user to update the tuition fee status of student is
displayed.(Because we have the test cases for filtering student to find the student(s)
above, we do not need to repeat steps of filtering here). And list of students with
tuition fee status is displayed.
Steps 1. Choose a student from the list
2. Change status of tuition fee of that student by choose tuition fee status from
Vision and Scope Document
153
Test Cases of View Academic History Use Case
View academic history successfully
Name Test case: Verify View Academic History
Requirement FR- 8 Grade management policy, UC - View Academic History
Preconditions The testing plan document is loaded.
Steps 1. Assume that we are in View Academic History function of the
system.
2. Choose a filter group: View All, View by specific year and semester,
View by passed and failed status.
3. One filter is chosen.
4. Click View button.
Expected results The system displays a list of courses that match the filter.
Academic history of a student is display.
Verify that all these information match with FR-8 information.
View all course have taken history.
the stats drop down list
3. Click on submit button
Expected results Tuition fee status of selected student is changed and the system notify the user.
Name Test case: View all courses have taken history
Vision and Scope Document
154
View by specific year and semester.
View by passed and failed status.
Requirement Student wants to view all courses information.
Preconditions The webpage allows student to view academic history
Steps 1. Choose “All” filter from drop down list.
2. Click on “View” button
Expected results The information of all courses he/she has taken is displayed.
Name Test case: View by specific year and semester
Requirement Student wants to view all courses information of specific year or/and semester.
Preconditions The webpage allows student to view academic history.
Steps 1. Choose “Specific year and Semester” filter from drop down list.
2. Click on “View” button
Expected results The information of all courses he/she has taken is displayed.
Name Test case: View by specific year and semester
Requirement Student wants to view all courses information of passed and failed status.
Preconditions The webpage allows student to view academic history
Steps 1. Choose “passed and failed status” filter from drop down list.
2. Click on “View” button
Expected results The information of all courses he/she has taken is displayed.
Vision and Scope Document
155
Test Cases of Register Course Use Case
We will filter the prerequisites courses before showing the list of courses that a specific student
can register. Therefore, that student can register any course in the list of courses offering that
student can see.
Fail to register more than 30 credits
Fail to register less than 15 credits
Name Test case: Fail to register more than 30 credits
Requirement All the courses he/she wants to register has been checked
Total number of credits is greater than 30
Preconditions The webpage allows user to register for courses is displayed
Steps 1. Click register course offering button
2. Select courses from list of courses offering by checking the checkbox of the
courses offering
3. Repeat step 2 until the total number of credits is greater than 30
4. Click on the Register button
Expected results The system prompts the user with a warning message “You are not allowed to
register more than 30 credits”
Name Test case: Fail to register less than 15 credits
Requirement All the courses he/she wants to register has been checked
Total number of credits is less than 15
Preconditions The webpage allows user to register for courses is displayed
Steps 1. Click register course offering button
2. Select courses from list of courses offering by checking the checkbox of the
Vision and Scope Document
156
Register for courses successfully
Name Test case: Register for courses successfully
Requirement Student registers for courses to create his/her schedule (please see the
definition of SCHEDULE in the glossary part)
That student does not have schedule yet
The total number of credits is less than or equal to 30 and greater than or
equal to 15
Preconditions The webpage allows student to register for courses is displayed
Steps 1. Click register course offering button.
2. Select courses offering from a list of available course offerings of this
student that the system displays.
3. Repeat step 2 and make sure that the total of credits is less than or
equal to 30 and greater than or equal to 15.
4. Click the submit button
Expected results The schedule of that student is created in the system.
List of course offering will be shown on the schedule of this student.
courses offering
3. Repeat step 2 until but make sure that the total number of credits is less
than 15
4. Click on the Register button
Expected results The system prompts the user with a warning message “You are not allowed to
register less than 15 credits”
Vision and Scope Document
157
Update the existing schedule successfully
Name Test case: update the existing schedule successfully
Requirement Student has his/her schedule already (please see the definition of SCHEDULE
in the glossary part)
That student wants to modify his/her schedule
The total number of credits is less than or equal to 30 and greater than or
equal to 15
Preconditions The webpage allows student to register for courses is displayed
Steps 1. Click the update schedule button.
2. Check some more courses that he/she wants to register and/or
3. Uncheck some courses that he/she does not want to register
4. Repeat step 2 or/and 3 if needed and make sure that The total
number of credits is less than or equal to 30 and greater than or equal
to 15
5. Click the update button
Expected
results
The schedule is updated in the system.
Updated list of course offering will be shown on the schedule of this student.
Test Cases of Manage Course Catalogue Use Case
Add new course to course catalogue successfully
Name Test case: Add new course to course catalogue successfully
Requirement All fields of course information are filled with valid information
Preconditions The webpage that allows user to input information of a course is displayed
Vision and Scope Document
158
Steps 1. Provide course’s ID in the ID textbox
2. Provide course’s Name in the name textbox
3. Provide number of credits of the course in the credit textbox
4. Choose the faculty of the department where the course belongs from
dropdown list
5. Provide the description of the course in the description text area.
6. Click on add button
Expected
results
1. The course is added to the system
2. The summary of course’s information has been added to the system is
displayed
Fail to add a course when one or some or all fields are empty
Name Test case: Fail to add a course when one or some or all fields are empty
Requirement NOT all fields are filled with data
Preconditions The webpage that allows user to input information of a course is displayed
Steps 1. Provide empty course’s ID in the ID textbox or/and
2. Provide empty course’s Name in the name textbox or/and
3. Provide empty number of credits of the course in the credit textbox
or/and
4. Choose the faculty of the department where the course belongs from
dropdown list
5. Provide the empty description of the course in the description text
area
6. Click on add button
Expected
results
1. The course is NOT added to the system
2. The user is redirected to the error page with a warning “Fail to add
the course to course catalogue. You must provide all information”
Vision and Scope Document
159
Fail to add a course when inputting special character(s)
Special Characters: special characters are characters which are not the alphabet (A – Z, a-z) and
numeric (0-9) space characters.
Name Test case: Fail to add a course when inputting special character(s) to one or
some or all fields
Requirement All fields are filled with data but ID or name containing special character(s)
Preconditions The webpage that allows user to input information of a course is displayed
Steps 1. Provide course’s ID containing special character(s)in the ID textbox
or/and
2. Provide course’s Name containing special character(s) in the name
textbox or/and
3. Provide number of credits of the course in the credit textbox or/and
4. Choose the faculty of the department where the course belongs from
dropdown list
5. Provide the description of the course in the description text area
6. Click on add button
Expected
results
3. The course is NOT added to the system
4. The user is redirected to the error page with a warning “Fail to add
the course to course catalogue. ID and Name cannot contain special
character(s)”
Search for course by ID or Name
Name Test case: Search course by course ID or/and by course name
Requirement User wants to find information of a specific course with course’s ID or name.
Preconditions The webpage allows user to find courses is displayed
Steps 1. Provide an ID in the ID textbox or/and
2. Provide a name in the name textbox
Vision and Scope Document
160
Fail to search for course by ID or Name when inputting invalid ID
and/or Name
Fail to search for course by ID or Name when inputting empty ID
and/or empty Name
3. Click on search button
Expected results The information of course with given ID or/and name is displayed
Name Test case: Fail to search course by course ID or/and by course name when providing
invalid course ID or/and course name
Requirement User wants to find information of course whose ID or/and name does not exist in the
system, then the system must notify the user about this
Preconditions The webpage allows user to find courses is displayed
Steps 1. Provide an invalid ID in the ID textbox or/and
2. Provide an invalid name in the name textbox
3. Click on search button
Expected results The user is redirected to the error page with a warning “The desired course is not
found”
Name Test case: Fail to search course by course ID or/and by course name when providing
empty course ID or/and course name
Requirement User wants to find information of a specific course’s ID or list of courses with given
name.
Preconditions The webpage allows user to find courses is displayed
Steps 1. Provide an empty ID in the ID textbox or/and
2. Provide an empty name in the name textbox
3. Click on search button
Vision and Scope Document
161
Update course with valid information successfully
Name Test case: Update a course with valid information successfully
Requirement All fields of course information are filled with valid information
Preconditions The webpage that allows user to update information of a course is displayed
Steps 1. Provide course’s ID in the ID textbox or/and
2. Provide course’s Name in the name textbox or/and
3. Provide number of credits of the course in the credit textbox or/and
4. Choose the faculty of the department where the course belongs from
dropdown list or/and
5. Provide the description of the course in the description text area.
6. Click on add button
Expected
results
1. The course is updated
2. The summary of course information has been updated is displayed
Fail to update a course when one or some or all fields are empty
Name Test case: Fail to add a course when one or some or all fields are empty
Requirement NOT all fields are filled with data
Preconditions The webpage that allows user to input information of a course is displayed
Steps 1. Provide empty course’s ID in the ID textbox or/and
2. Provide empty course’s Name in the name textbox or/and
3. Provide empty number of credits of the course in the credit textbox
or/and
4. Choose the faculty of the department where the course belongs from
dropdown list
Expected results The user is redirected to the error page with a warning “You must provide an ID
or/and course name”
Vision and Scope Document
162
5. Provide the empty description of the course in the description text
area
6. Click on add button
Expected
results
1. The course is NOT updated
2. The user is redirected to the error page with a warning “Fail to update
the course to course catalogue. You must provide all information”
Fail to update a course when inputting special character(s)
Special Characters: special characters are characters which are not the alphabet (A – Z, a-z) and
numeric (0-9) space characters.
Name Test case: Fail to update a course when inputting special character(s) to one
or some or all fields
Requirement All fields are filled with data but ID or name containing special character(s)
Preconditions The webpage that allows user to input information of a course is displayed
Steps 1. Provide course’s ID containing special character(s)in the ID textbox
or/and
2. Provide course’s Name containing special character(s) in the name
textbox or/and
3. Provide number of credits of the course in the credit textbox or/and
4. Choose the faculty of the department where the course belongs from
dropdown list
5. Provide the description of the course in the description text area
6. Click on add button
Expected
results
1. The course is NOT updated
2. The user is redirected to the error page with a warning “Fail to update
the course to course catalogue. ID and Name cannot contain special
character(s)”
Vision and Scope Document
163
Update operation is canceled
Delete a course
Delete operation is canceled
Name Test case: Update operation is canceled
Requirement When user decides to cancel updating, the system must allow him/her to stop the
operation
Preconditions The webpage that allows user to update information of a course is displayed. (To be
noted that we have test cases searching for course above already. There’s no need to
repeat it here.)
Steps Click on cancel button
Expected results The course is NOT updated in the system
User is redirected to his/her main pages
Name Test case: Delete a course
Requirement When user decides to delete the selected course, the system removes that course
from the system
Preconditions The webpage that allows user to delete information of a course is displayed. (To be
noted that we have test cases searching for course above already. There’s no need to
repeat it here.)
Steps Click on delete button
Expected results The system deletes the selected course from the system
User is redirected to his/her main page
Name Test case: Delete operation is canceled
Requirement When user decides to cancel deletion, the system allows user to cancel the operation
Vision and Scope Document
164
Test Cases of Manage User Account Use Case
Create a new user account successfully
Name Test case: Create new user account successfully
Requirement All fields of account information are filled with valid information
Preconditions The webpage that allows user to input information of an account is displayed
Steps 1. Provide username in the username textbox
2. Choose a role from the drop down list
3. Provide the description of the account in the description text area.
4. Other information will be used with default values specified in the
use-case specification of Manage user account use case
5. Click on create button
Expected
results
1. The account is added to the system
2. The summary of account’s information has been added to the system
is displayed
Fail to create a new user account when the username that user has
provided existing in the system already
Name Test case: Create a new user account with the username existing in the
system already
Requirement All fields of account information are filled with information
Preconditions The webpage that allows user to delete information of a course is displayed. (To be
noted that we have test cases searching for course above already. There’s no need to
repeat it here)
Steps Click on cancel button
Expected results The selected course is NOT deleted from the system
User is redirected to his/her main page
Vision and Scope Document
165
Preconditions The webpage that allows user to input information of an account is displayed
Steps 1. Provide username in the username textbox. But this username has
been being used by another account.
2. Choose a role from the drop down list
3. Provide the description of the account in the description text area.
4. Other information will be used with default values specified in the
use-case specification of Manage user account use case
5. Click on create button
Expected
results
1. The account is NOT added to the system
2. The user is redirected to the error page with the warning “This
username has been being used by another user”
Fail to create a new user account when inputting empty username
Name Test case: Create a new user account when inputting empty username
Requirement Not fields of account information are filled with information
Preconditions The webpage that allows user to input information of an account is displayed
Steps 1. Provide empty username in the username textbox
2. Choose a role from the drop down list
3. Provide the description of the account in the description text area.
4. Other information will be used with default values specified in the
use-case specification of Manage user account use case
5. Click on create button
Expected
results
1. The account is NOT added to the system
2. The user is redirected to the error page with the warning “You must
provide all information”
Vision and Scope Document
166
Fail to create a new user account when the inputs containing special
character(s)
Special Characters: special characters are characters which are not the alphabet (A – Z, a-z) and
numeric (0-9) space characters.
Name Test case: Create a new user account when inputting empty username
Requirement All fields of account information are filled with information
Preconditions The webpage that allows user to input information of an account is displayed
Steps 6. Provide username containing special character(s) in the username
textbox
7. Choose a role from the drop down list
8. Provide the description of the account containing special character(s)
in the description text area.
9. Other information will be used with default values specified in the
use-case specification of Manage user account use case
10. Click on create button
Expected
results
1. The account is NOT added to the system
2. The user is redirected to the error page with a warning “Fail to update
the course to course catalogue. The input(s) cannot contain special
character(s)”
Search for account by username
Name Test case: Search for account by username
Requirement User wants to find information of a specific account by username.
Preconditions The webpage allows user to find accounts is displayed
Steps 1. Provide username in the username textbox
2. Click on search button
Expected results The information of account with given username is displayed
Vision and Scope Document
167
Fail to search for account by empty username
Fail to search for account by username that does not exist in the
system
Fail to search for account by username containing special
characters(s)
Name Test case: Search for account by empty username
Requirement User wants to find information of a specific account by username.
Preconditions The webpage allows user to find accounts is displayed
Steps 1. Provide empty username in the username textbox
2. Click on search button
Expected results The user is redirected to the error page with a warning “Username cannot be
empty.”
Name Test case: Search for account by username that does not exist in the sysem
Requirement User wants to find information of a specific account by username.
Preconditions The webpage allows user to find accounts is displayed
Steps 1. Provide username in the username textbox. That username does not exist in
the system.
2. Click on search button
Expected results The user is redirected to the error page with a warning “The account with the given
username does not exist in the system.”
Name Test case: Search for account by username containing special character(s)
Vision and Scope Document
168
Update an account
Name Test case: Update an account
Requirement All fields of account information are filled with valid information
Preconditions The webpage that allows user to update information of an account is
displayed
Steps 1. Provide new username in the username textbox and/or
2. Choose a role from the drop down list and/or
3. Provide the description of the account in the description text area
and/or
4. Choose the status of the account from the drop down list and/or
5. Click on update button
Expected
results
1. The account is updated to the system
2. The summary of account’s information has been updated to the
system is displayed
Update operation is canceled
Requirement User wants to find information of a specific account by username.
Preconditions The webpage allows user to find accounts is displayed
Steps 1. Provide username containing special character(s) in the username textbox
2. Click on search button
Expected results The user is redirected to the error page with a warning “Username cannot contain
special character(s).”
Name Test case: Update operation is canceled
Requirement When user decides to cancel updating, the system must allow him/her to stop the
Vision and Scope Document
169
Delete an account
Delete operation is canceled
operation
Preconditions The webpage that allows user to update information of a account is displayed. (To be
noted that we have test cases searching for account above already. There’s no need
to repeat it here.)
Steps Click on cancel button
Expected results The account is NOT updated in the system
User is redirected to his/her main pages
Name Test case: Delete an account
Requirement When user decides to delete the selected account, the system removes that account
from the system
Preconditions The webpage that allows user to delete information of a account is displayed. (To be
noted that we have test cases searching for account above already. There’s no need
to repeat it here.)
Steps Click on delete button
Expected results The system deletes the selected account from the system
User is redirected to his/her main page
Name Test case: Delete operation is canceled
Requirement When user decides to cancel deletion, the system allows user to cancel the operation
Preconditions The webpage that allows user to delete information of a account is displayed. (To be
noted that we have test cases searching for account above already. There’s no need
to repeat it here)
Steps Click on cancel button
Vision and Scope Document
170
Test Cases of Non-functional requirement testing
Switch from Vietnamese to English
Name Test case: Switch from Vietnamese to English
Requirement The system must have ability to allow user to view the system in English while
he/she is viewing the system in Vietnamese
Preconditions The system is displaying text in Vietnamese
Steps 1. Click on Vietnamese button
Expected
results
1. The system displayed text in English
Switch from English to Vietnamese
Name Test case: Switch from English to Vietnamese
Requirement The system must have ability to allow user to view the system in Vietnamese
while he/she is viewing the system in English
Preconditions The system is displaying text in English
Steps 1. Click on Vietnamese button
Expected
results
1. The system displayed text Vietnamese
Load testing with 15 requests at the same time
Name Test case: Load testing with 15 requests at the same time
Requirement The system must have ability to response many requests at the same time
Test with 15 requests at the same time
Expected results The selected account is NOT deleted from the system
User is redirected to his/her main page
Vision and Scope Document
171
Preconditions The resource to be requested is available
Steps 1. 15 requests are submitted at the same time
Expected
results
1. The time for system to response all the requests is less than 10
seconds
Load testing with 25 requests at the same time
Name Test case: Load testing with 25 requests at the same time
Requirement The system must have ability to response many requests at the same time
Test with 25 requests at the same time
Preconditions The resource to be requested is available
Steps 1. 25 requests are submitted at the same time
Expected
results
1. The time for system to response all the requests is less than 10
seconds
C- Appendix
Message
ID Type Context Error Messages Actions
MS001 Info Authentication Failed Wrong password or username cannot
be found. OK
MS002 Info Account locked Account locked. Please wait for 30
minutes or contact the administrator. OK
MS003 Info Account being used This account is being used by another
user. OK
MS004 Question Delete a department Are you sure you want to delete the OK – Cancel
Vision and Scope Document
172
selected department?
MS005 Question Update a lecturer Are you sure you want to update the
current displayed lecturer? OK – Cancel
MS006 Question Delete a lecturer Are you sure you want to delete the
selected lecturer? OK – Cancel
MS007 Question Update a student Are you sure you want to update the
modified student? OK – Cancel
MS008 Question Delete a student Are you sure you want to delete the
selected student? OK – Cancel
MS009 Info Student not found The selected student does not exist OK
MS010 Info No list of course
offering
This faculty has no list of course
offering yet Ok
MS011 Question Update tuition fee
status
Are you sure you want to update
tuition fee status of current student? OK – Cancel
MS012 Info Student not found Cannot find the result. OK
MS013 Info Course Registration
Closed
The course registration has been
closed OK
MS014 Info Register more than 30
credits
You cannot register more than 30
credits OK
MS015 Info Register less than 15
credits
You cannot register less than 15
credits OK
MS016 Question Submit a schedule Are you sure you want to submit this
schedule? OK – Cancel
Vision and Scope Document
173
MS017 Question Reset changes to a
schedule
Are you sure you undo all the
changes you have made? OK – Cancel
D- Inspection Checklist
The following checklist items apply to the test plan.
Completeness
Does the document meet all established templates and standards?
Is the document complete?
Are there any requirements that are not tested?
Are there any features that are planned for testing but should be excluded?
Feasibility
Can the testing as planned be accomplished within the known cost and schedule
constraints?
Can every test described in the test plan be reasonably conducted?
Environment
Is the description of the environment complete?
Is the test plan traceable to any nonfunctional requirements that define the operating
environment?
Performance
Does the test plan account for the expected load for concurrent users, large databases,
or other performance requirements?
Can the performance tests be traced back to requirements in the specification?
Acceptance Criteria
Do the acceptance criteria match the standards of the organization?
The following checklist items apply to the test cases:
Clarity
Does each test case have a clear flow of events?
Vision and Scope Document
174
Does each test case test only one specific interaction?
Does each test case describe the interaction using specific user interface and data
elements?
Is each test case repeatable by someone uninitiated on the project?
Completeness
Is every requirement in the SRS verified fully with individual test cases?
Are all of the steps in each test case necessary?
Are there any steps that are missing?
Are all alternative paths and exceptions accounted for?
Accuracy
For every action, is there an expected result?
For every behavior in the requirement, is there a verification of the actual behavior?
Is the test case data specific if data must be entered or modified, is that data provided?
Traceability
Is each test case uniquely identified with a name and a number?
Can each test case be traced back to a specific requirement?
Vision and Scope Document
175
Review 4 & Testing Demo Document
28/12/2007
Ho Chi Minh National University – International University Instructor: Phan Viet Hoang
Date December 28th , 2007
Version 1.0
Status Baseline
Author Team TiHonMumMim(Group 6)
Reviewer Team TiHonMumMim(Group 6)
Documenter Nguyen Duc Quan
Team member Signature
Nguyen Duc Quan
Le Vu Hoang
Tran Minh Phung
Phan Duy Tan
Huynh Da Thuc
Vision and Scope Document
176
Testing demo
In this part, we will introduce what we will perform in the testing demo for review 4. We will
perform 3 kinds of tests. They are Unit testing, Functional requirement testing, and Non-
Functional requirements testing.
Due to the large number of classes, test cases for functional requirements, and non-functional
requirements, and the recommendations for quality assurance from Prof. Phan Hoang and Ms.
Sang, we will use check list and test some classes (not all classes) for Unit testing, and smoke
tests (a collection of some test cases, not all tests cases) for functional and non-functional
requirements testing.
All 3 kinds of tests will be performed automatically.
Vision and Scope Document
177
Unit testing
As we wrote in the Test Plan and Test Case document (document for review 3), we will use
EJB3Unit to do Unit Testing. Our team will choose persistence classes (entities) to run demo for
Unit Testing. Please check the system architecture with layer model to see where entities are
used.
Because we use EJB3Unit instead of JUnit to test persistence classes, we can use check list to
make sure that entities are implemented correctly. The following check list contains standard
checks that a persistence class must pass to be accepted.
Test write: test writing operation to database check whether writing data to database is
successful or not
Test write null field: not allow write null data to our system database
Test write read: test reading and writing data with relationships and constraints
Test getter setter: test whether get and set methods of each entity work correctly or
not
The testing result of Unit Testing will be showed in the testing report later.
Functional requirement testing In this part we will introduce the smoke test for functional requirements testing. As Prof.Phan
Hoang and Ms. Sang recommended that we should choose which test cases that we feel most
confident to run the testing demo. Therefore, we try to perform smoke test with all test cases of
Login and Logout use case, Manage Course Offering use case, Register courses use case, and
Manage Department Information.
Test Cases of Log in and Log out Use Case
User logs in successfully with valid username and password
Name Test case: User logs in successfully with valid username and password
Requirement The user is logged in correctly after providing correct username and
password
Preconditions The user is at the homepage or the log in page
Steps 4. Provide valid username in the username textbox
5. Provide valid password in the password textbox
6. Click on log in button
Vision and Scope Document
178
Expected results The user is redirected to the specific homepage of that user
Fail to login the system when providing invalid username
Name Test case: Fail to login the system when providing invalid username
Requirement The user is not logged in when providing invalid username
Preconditions The user is at the homepage or the log in page
Steps 4. Provide invalid username in the username textbox
5. Provide password in the password textbox or let password field be empty
6. Click on log in button
Expected results The user is redirected to the error page with a warning “You have provided invalid
username or invalid password”
Fail to login the system when providing username or password
containing special character(s)
Special Characters: special characters are characters which are not the alphabet (A – Z, a-z) and
numeric (0-9) space characters.
Name Test case: Fail to login the system when providing username or password containing
special character(s)
Requirement The user is not logged in when providing username or password containing special
character(s).
Preconditions The user is at the homepage or the log in page
Steps 4. Provide username containing special character(s) in the username textbox
or/and
5. Provide password containing special character(s) in the password textbox or
let password field be empty
6. Click on log in button
Expected results The user is redirected to the error page with a warning “Username and Password
cannot contain special character(s)”
Vision and Scope Document
179
Fail to login the system when providing valid username and invalid
password
Name Test case: Fail to login the system when providing valid username and invalid
password
Requirement The user is not logged in when providing valid username and invalid password
Preconditions The user is at the homepage or the log in page
Steps 4. Provide valid username in the username textbox
5. Provide invalid password in the password textbox
6. Click on log in button
Expected results The user is redirected to the error page with a warning “You have provided invalid
username or invalid password”
Fail to login the system when providing empty username
Name Test case: Fail to login the system when providing empty username
Requirement The user is not logged in when providing empty username
Preconditions The user is at the homepage or the log in page
Steps 4. Provide empty username in the username textbox
5. Provide password in the password textbox or let password field be empty
6. Click on log in button
Expected results The user is redirected to the error page with a warning “You must provide both
username and password”
Fail to login the system when providing valid username and empty
password
Name Test case: Fail to login the system when providing valid username and empty
Vision and Scope Document
180
password
Requirement The user is not logged in when providing valid username and empty password
Preconditions The user is at the homepage or the log in page
Steps 4. Provide valid username in the username textbox
5. Provide empty password in the password textbox
6. Click on log in button
Expected results The user is redirected to the error page with a warning “You must provide both
username and password”
User account is locked after failing to log in 3 times
Name Test case: User account is locked after failing to log in 3 times
Requirement User account is locked after failing to log in 3 times with a specific username
Preconditions The user is at the homepage or the log in page
Steps 5. Provide valid username in the username textbox or/and
6. Provide invalid or empty password in the password textbox
7. Click on log in button
8. Repeat above process for 3 times
Expected results The user is redirected to the error page with a warning “You have provided invalid
username or invalid password”
After the 3rd time, the user account with given user name is locked out and a
warning is issued “Account locked. Please wait for 30 minutes or contact the
administrator”
User logs in the system using an account is being used by another
user
Name Test case: User logs in the system using an account is being used by another user
Requirement User CAN NOT log in the system using account is being used by another user
Vision and Scope Document
181
Preconditions A given account is being used by user 1
Steps 4. User 2 provides username of user 1 exactly
5. User 2 provides password of user 1 exactly
6. Click on log in button
Expected results User 2 is redirected to the error page with a warning “This account is being used by
another user”
User logs in the system using an account is being locked
Name Test case: User logs in the system using an account is being locked
Requirement User CAN NOT log in the system using account is being locked
Preconditions A given account is being locked by logging in fail 3 times
Steps 4. Provides username of given account being locked
5. Provide password of given account being locked
6. Click on log in button
Expected results User is redirected to the error page with a warning “This account is being locked.
Please wait for 30 minutes or contact the administrator”
Change password successfully
Name Test case: Change password successfully
Requirement The user wants to update password
All old and new passwords must be provided
Preconditions The user clicks on the “change password”
The webpage that allows user to change password is displayed
Steps 5. Enter old password
6. Enter new password
7. Enter confirmed password
Vision and Scope Document
182
Fail to change password when old or new or confirmed password is
empty
Fail to change password when old password is incorrect
8. Click on the Recovery password button
Expected results The old password is changed into new password
Name Test case: Fail to change password
Requirement Try to change password when old or new or confirmed password is not input
Preconditions The user clicks on the “change password”
The webpage that allows user to change password is displayed
Steps 5. Let old password empty or/and
6. Let new password empty or/and
7. Let confirmed password empty or/and
8. Click on the Recovery password button
Expected results Notify user about empty fields
Name Test case: Fail to change password
Requirement Try to change password when providing incorrect old password
Preconditions The user clicks on the “change password”
The webpage that allows user to change password is displayed
Steps 5. Enter wrong password
6. Enter new password empty
7. Enter confirmed password empty
8. Click on the Recovery password button
Expected results Notify user that the current password is wrong
Vision and Scope Document
183
Recover the password successfully
Fail to reset password when inputting wrong answer for the security
question
Name Test case: Recover the password successfully
Requirement The user lost or forget the password and wants to reset the password
Input right answer
Preconditions The user clicks on the “Forget password”
The system warns the user about recovering the password
Steps 1. Specify the answer for the security question in the text box
2. Click on the Recovery password button
Expected results The system issues the message indicates the password has been reset to the default
password “Abcd1234” and warns the user to change their password for the next log
in
The password is reset to the default password “Abcd1234”
The system redirects the user to the log in page
Name Test case: Fail to reset password when inputting wrong answer for the security
question
Requirement The user lost or forget the password and wants to reset password
Input wrong answer
Preconditions The user clicks on the “Forget password”
The system warns the user about recovering the password
Steps 3. Specify the wrong answer of the security question in the text box
4. Click on the Recovery password button
Expected results The system issues the message “The answer is not correct”
The system redirects the user to the recover password page to choose another
Vision and Scope Document
184
Fail to reset password when inputting answer containing special
character(s) for security question
Special Characters: special characters are characters which are not the alphabet (A – Z, a-z) and
numeric (0-9) space characters.
Fail to reset password when inputting empty answer for the security
question
question or answer the selected again
Name Test case: Fail to reset password when inputting answer containing special
characters for the security question
Requirement The user lost or forget the password and wants to reset password
The answer contains special characters
Preconditions The user clicks on the “Forget password”
The system warns the user about recovering the password
Steps 3. Specify the answer containing special character(s) for the security question
in the text box
4. Click on the Recovery password button
Expected results The system issues the message “The answer cannot contain special character(s)”
The system redirects the user to the recover password page to choose another
question or answer the selected again
Name Test case: Fail to reset password when inputting empty answer for the security
question
Requirement The user lost or forget the password and wants to reset password
Let answer be empty
Preconditions The user clicks on the “Forget password”
Vision and Scope Document
185
Test Cases of Manage Course Offering Use Case
Create list of courses offering successfully
The system warns the user about recovering the password
Steps 3. Leave the answer text box blank
4. Click on the Recovery password button
Expected results The system issues the message “The answer cannot be empty”
The system redirects the user to the recover password page to choose another
question or answer the selected again
Name Test case: Create list of courses offering successfully
Requirement List of courses offering does not exist yet
Academic affair staff wants to create new list course offering
Preconditions The user must log in as the Academic Affair Staff
The webpage that allows user to create list of courses offering is displayed
Steps 8. Click on the button Manage Course Offering
9. Click on the button Create a list of course offering
10. Click on the drop down list to choose the desired faculty
11. Click on the check box to choose the subject which is selected to offer
12. Click on the drop down list to choose the lecturers for the selected courses
13. Click on the Submit button to create the list of course offering for the
selected faculty
14. Click on the OK button to confirm the operation
Expected results The new list of courses offering is created
The system displayed the list of course offering that has been created
The system redirects to the Manage Course Offering page
Vision and Scope Document
186
Update the list of course offering
Cancel during the Create list of course offering operation
Name Test case: Update the list of course offering
Requirement The list of courses offering exists in the system
Academic affair staff wants to update list of courses offering
Preconditions The user must log in as the Academic Affair Staff
The webpage that allows user to create list of courses offering is displayed
Steps 8. Click on the button Manage Course Offering
9. Click on the button Update list of course offering
10. Click on the drop down list to choose the desired faculty
11. Check or uncheck the check box of each course to change the list of course
offering
12. Change the lecturer for each course (if desired)
13. Click on the Update button
14. Click on the OK button to confirm the operation
Expected results The confirmation displayed
The list of course offering is updated with the changes of the user
The updated list of course offering is displayed after the operation completed
Name Test case: Cancel during the Create list of course offering operation
Requirement Academic affair staff is being in the creating list of courses offering process.
Preconditions The user must log in as the Academic Affair Staff
User is being in the creating list of courses offering process
Steps 8. Click on the button Manage Course Offering
Vision and Scope Document
187
Cancel during the Update list of course offering operation
9. Click on the button Create a list of course offering
10. Click on the drop down list to choose the desired faculty
11. Click on the check box to choose the subject which is selected to offer
12. Click on the drop down list to choose the lecturers for the selected courses
13. Click on the Submit button to create the list of course offering for the
selected faculty
14. Click on the Cancel button
Expected results No list of course offering is created
The system redirects to the Manage Course Offering page
Name Test case: Cancel during the Update list of course offering operation
Requirement Academic affair wants to cancel the updating list of courses offering process
Preconditions The user must log in as the Academic Affair Staff
User is being in the creating list of courses offering process
Steps 8. Click on the button Manage Course Offering
9. Click on the button Update list of course offering
10. Click on the drop down list to choose the desired faculty
11. Check or uncheck the check box of each course to change the list of course
offering
12. Change the lecturer for each course (if desired)
13. Click on the Update button
14. Click on the Cancel button to confirm the operation
Expected results List of courses offering is not updated
The system redirects to the Manage Course Offering page
Vision and Scope Document
188
Fail to create an empty list of course offering
Update list of course offering while there’s no list of course offering
for specific faculty
Name Test case: Fail to create an empty list of course offering
Requirement Academic affair tries to create an empty list of courses offering or creates an empty
list of courses offering by accident
Preconditions The user must log in as the Academic Affair Staff
The webpage that allows user to create list of courses offering is displayed
Steps 8. Click on the button Manage Course Offering
9. Click on the button Create a list of course offering
10. Click on the drop down list to choose the desired faculty
11. Don’t click any check box in order not to select any course
12. Click on the drop down list to choose the lecturers for the selected courses
13. Click on the Submit button to create the list of course offering for the
selected faculty
14. Click on the OK button to confirm the operation
Expected results No empty list is created
The system issued warning about the empty list of course offering
The system redirects to the Create list of course offering and let the user to create
the non – empty list
Name Test case: Update list of course offering while there’s no list of course offering for
specific faculty
Requirement Academic affair staff tries to update list of courses offering while has not been
created. Then the system must notify him/her about the unavailable status of list of
courses offering.
Vision and Scope Document
189
Test Cases of Manage Department Information Use case
Add a department with valid information successfully
Name Test case: Add a department with valid information successfully
Requirement All fields are filled with valid data
Preconditions The webpage that allows user to input information of a department is displayed
Steps 7. Provide department’s name in the name textbox
8. Provide department’s location in the location textbox
9. Provide department’s dean in the dean textbox
10. Provide faculty information that the department has
11. Provide department description in the description text area
12. Click on add button
Expected results 1. The department is added to the system
2. The summary of department has been added to the system is displayed
Fail to add a department with name that already exists in the system
Preconditions 3. The user must log in as the Academic Affair Staff
4. The selected faculty has no list of course offering
Steps 4. Click on the button Manage Course Offering
5. Click on the button Update list of course offering
6. Click on the drop down list to choose the desired faculty
Expected results A warning is displayed “There’s no list of course offering in this faculty. Cannot
update”
Name Test case: Fail to add a department with name that already exists in the system
Requirement All fields are filled with data
Vision and Scope Document
190
Fail to add a department when one or some or all fields are empty
Preconditions The webpage that allows user to input information of a department is displayed
Steps 7. Provide department’s name (which already exist in the system) in the name
textbox
8. Provide department’s location in the location textbox
9. Provide department’s dean in the dean textbox
10. Provide faculty information that the department has
11. Provide department description in the description text area
12. Click on add button
Expected results 1. The department is NOT added to the system
2. The user is redirected to the error page with a warning “Fail to add the
department to the system. The name of the department that you have provided
already exists in the system”
Name Test case: Fail to add a department when one or some or all fields are empty
Requirement NOT all fields are filled with data
Preconditions The webpage that allows user to input information of a department is displayed
Steps 7. Provide empty department’s name in the name textbox or/and
8. Provide empty department’s location in the location textbox or/and
9. Provide empty department’s dean in the dean textbox or/and
10. Provide empty faculty information that the department has or/and
11. Provide department description in the description text area or/and
12. Click on add button
Expected results 1. The department is NOT added to the system
2. The user is redirected to the error page with a warning “Fail to add the
department to the system. You must provide all information”
Vision and Scope Document
191
Fail to add a department when inputting special character(s) to one
or some or all fields
Special Characters: special characters are characters which are not the alphabet (A – Z, a-z) and
numeric (0-9) space characters.
Update a department with valid information successfully
Name Test case: Update a department with valid information successfully
Requirement All fields are filled with valid data
Preconditions The webpage that allows user to update information of a department is displayed
Steps 7. Provide department’s name in the name textbox or/and
Name Test case: Fail to add a department when inputting special character(s) to one or
some or all fields
Requirement All fields are filled with data
Preconditions The webpage that allows user to input information of a department is displayed
Steps 7. Provide department’s name containing special character(s) in the name
textbox or/and
8. Provide department’s location containing special character(s) in the location
textbox or/and
9. Provide department’s dean containing special character(s) in the dean
textbox or/and
10. Provide faculty information containing special character(s) or/and
11. Provide department description containing special character(s) in the
description text area or/and
12. Click on add button
Expected results 1. The department is NOT added to the system
2. The user is redirected to the error page with a warning “Fail to add the
department to the system. Some fields contains special character(s)”
Vision and Scope Document
192
8. Provide department’s location in the location textbox or/and
9. Provide department’s dean in the dean textbox or/and
10. Provide faculty information that the department has or/and
11. Provide department description in the description text area or/and
12. Click on add button
Expected results 1. The department is updated in the system
2. The summary of department has been updated is displayed
Fail to update a department with name that already exists in the
system
Name Test case: Fail to update a department with name that already exists in the system
Requirement All fields are filled with data
Preconditions The webpage that allows user to update information of a department is displayed
Steps 7. Provide department’s name (which already exist in the system) in the name
textbox or/and
8. Provide department’s location in the location textbox or/and
9. Provide department’s dean in the dean textbox or/and
10. Provide faculty information that the department has or/and
11. Provide department description in the description text area or/and
12. Click on add button
Expected results 1. The department is NOT updated in the system
2. The user is redirected to the error page with a warning “Fail to update the
department in the system. The name of the department that you have provided
already exists in the system”
Vision and Scope Document
193
Fail to update a department when one or some or all fields are
empty
Fail to update a department when inputting special character(s) to
one or some or all fields
Special Characters: special characters are characters which are not the alphabet (A – Z, a-z)and
numeric (0-9) and space characters.
Name Test case: Fail to update a department when one or some or all fields are empty
Requirement NOT all fields are filled with data
Preconditions The webpage that allows user to update information of a department is displayed
Steps 7. Provide empty department’s name in the name textbox or/and
8. Provide empty department’s location in the location textbox or/and
9. Provide empty department’s dean in the dean textbox or/and
10. Provide empty faculty information that the department has or/and
11. Provide department description in the description text area or/and
12. Click on add button
Expected results 1. The department is NOT updated in the system
2. The user is redirected to the error page with a warning “Fail to update the
department in the system. You must provide all information”
Name Test case: Fail to update a department when inputting special character(s) to one or
some or all fields
Requirement All fields are filled with data
Preconditions The webpage that allows user to update information of a department is displayed
Steps 7. Provide department’s name containing special character(s) in the name
textbox or/and
8. Provide department’s location containing special character(s) in the location
Vision and Scope Document
194
Update cancel
Delete a department
textbox or/and
9. Provide department’s dean containing special character(s) in the dean
textbox or/and
10. Provide faculty information containing special character(s) or/and
11. Provide department description containing special character(s) in the
description text area or/and
12. Click on add button
Expected results 1. The department is NOT updated in the system
2. The user is redirected to the error page with a warning “Fail to update the
department in the system. Some fields contains special character(s)”
Name Test case: Update cancel
Requirement When user decides to cancel updating, the system must allow him/her to stop the
operation
Preconditions The webpage that allows user to update information of a department is displayed
Steps Click on add button
Expected results The department is NOT updated in the system
User is redirected to his/her main page
Name Test case: Delete a department
Requirement When user decides to delete the selected department, the system removes that
department from the system
Preconditions The webpage that allows user to delete information of a department is displayed
Steps 4. User chooses a department to delete from a drop down list.
Vision and Scope Document
195
Delete cancel
Test Cases of Register Course Use Case
We will filter the prerequisites courses before showing the list of courses that a specific student
can register. Therefore, that student can register any course in the list of courses offering that
student can see.
Fail to register more than 30 credits
5. Verify that the system retrieves and displays the department information for
user and prompts message MS004 to the Academic Affair Staff to confirm
the deletion of the Department.
6. User confirms to delete the selected department by clicking on delete
button.
Expected results The system deletes the selected department from the system
Name Test case: Delete cancel
Requirement When user decides to cancel deletion, the system allows user to cancel the operation
Preconditions The webpage that allows user to delete information of a department is displayed
Steps 4. User chooses a department to delete from a drop down list.
5. Verify that the system retrieves and displays the department information for
user and prompts message MS004 to the Academic Affair Staff to confirm
the deletion of the Department.
6. User click on cancel button.
Expected results The selected department is NOT deleted from the system
User is redirected to his/her main page
Name Test case: Fail to register more than 30 credits
Requirement All the courses he/she wants to register has been checked
Total number of credits is greater than 30
Vision and Scope Document
196
Fail to register less than 15 credits
Register for courses successfully
Name Test case: Register for courses successfully
Requirement Student registers for courses to create his/her schedule (please see the
definition of SCHEDULE in the glossary part)
Preconditions The webpage allows user to register for courses is displayed
Steps 5. Click register course offering button
6. Select courses from list of courses offering by checking the checkbox of the
courses offering
7. Repeat step 2 until the total number of credits is greater than 30
8. Click on the Register button
Expected results The system prompts the user with a warning message “You are not allowed to
register more than 30 credits”
Name Test case: Fail to register less than 15 credits
Requirement All the courses he/she wants to register has been checked
Total number of credits is less than 15
Preconditions The webpage allows user to register for courses is displayed
Steps 5. Click register course offering button
6. Select courses from list of courses offering by checking the checkbox of the
courses offering
7. Repeat step 2 until but make sure that the total number of credits is less
than 15
8. Click on the Register button
Expected results The system prompts the user with a warning message “You are not allowed to
register less than 15 credits”
Vision and Scope Document
197
That student does not have schedule yet
The total number of credits is less than or equal to 30 and greater than or
equal to 15
Preconditions The webpage allows student to register for courses is displayed
Steps 5. Click register course offering button.
6. Select courses offering from a list of available course offerings of this
student that the system displays.
7. Repeat step 2 and make sure that the total of credits is less than or
equal to 30 and greater than or equal to 15.
8. Click the submit button
Expected results The schedule of that student is created in the system.
List of course offering will be shown on the schedule of this student.
Vision and Scope Document
198
Update the existing schedule successfully
Name Test case: update the existing schedule successfully
Requirement Student has his/her schedule already (please see the definition of SCHEDULE
in the glossary part)
That student wants to modify his/her schedule
The total number of credits is less than or equal to 30 and greater than or
equal to 15
Preconditions The webpage allows student to register for courses is displayed
Steps 6. Click the update schedule button.
7. Check some more courses that he/she wants to register and/or
8. Uncheck some courses that he/she does not want to register
9. Repeat step 2 or/and 3 if needed and make sure that The total
number of credits is less than or equal to 30 and greater than or equal
to 15
10. Click the update button
Expected
results
The schedule is updated in the system.
Updated list of course offering will be shown on the schedule of this student.
Non-functional requirement testing
Test Cases of Non-functional requirement testing
Switch from Vietnamese to English
Name Test case: Switch from Vietnamese to English
Requirement The system must have ability to allow user to view the system in English while
he/she is viewing the system in Vietnamese
Preconditions The system is displaying text in Vietnamese
Steps 2. Click on Vietnamese button
Vision and Scope Document
199
Expected
results
2. The system displayed text in English
Switch from English to Vietnamese
Name Test case: Switch from English to Vietnamese
Requirement The system must have ability to allow user to view the system in Vietnamese
while he/she is viewing the system in English
Preconditions The system is displaying text in English
Steps 2. Click on Vietnamese button
Expected
results
2. The system displayed text Vietnamese
Load testing with 15 requests at the same time
Name Test case: Load testing with 15 requests at the same time
Requirement The system must have ability to response many requests at the same time
Test with 15 requests at the same time
Preconditions The resource to be requested is available
Steps 2. 15 requests are submitted at the same time
Expected
results
2. The time for system to response all the requests is less than 10
seconds
Load testing with 25 requests at the same time
Name Test case: Load testing with 25 requests at the same time
Requirement The system must have ability to response many requests at the same time
Test with 25 requests at the same time
Preconditions The resource to be requested is available
Steps 1. 25 requests are submitted at the same time
Expected
results
3. The time for system to response all the requests is less than 10
seconds
Vision and Scope Document
200
System architecture introduction In this part, we will provide a brief description of OURS architecture so that you can see the
system in a systematic way and test it easily.
From the updated requirement, our team sees that the number of functions the system
provides is too large in comparison with the scope of the system. This brings us to the decision
to divide the original system into many subsystems as follow.
System architecture with sub-system model
System architecture with layer model
We use J2EE technologies to impalement OURS. The following is the layer model view of OURS.
Vision and Scope Document
201
We will introduce all technologies that we use to develop OURS.
- Client layer: This layer is used directly by end user of OURS. The web browser will help
end user to interact with OURS by rendering the user interface of OURS. We
recommend to use Internet Explorer 7.0 as web browser for developing, testing, and
running OURS
- Presentation layer: This layer manages and represents the user interface of OURS. We
use AJAX (with Open Rico), Validation Framework, and Struts Framework (this
framework is the key of presentation layer) to implement the presentation layer of
OURS.
- Business Logic layer: This layer is the place we define and manage all business rules that
the system must satisfy and support the university business process, in particular course
registration process. We use EJB3.0 (The latest technology of J2EE for business login
layer) to implement business logic layer.
- Persistence layer: This layer allows the system to access the database in an object-
oriented manner by using EJB entities.
- Database system layer: This layer is the place for OURS stores all data in a database. We
use MySql 5.0 for the database of OURS.
How to download & install tools In this part, we will introduce all the tools, where to download them or their libraries, and how
to install them (if any of them requires installation before we can use it).
o JDK 1.6.x
1. Download JDK for Windows (You need to accept license agreement before
downloading ) at
https://sdlc1a.sun.com/ECom/EComActionServlet;jsessionid=8D963E27810
5AC56A9ADEAA4FBD103B8#
Vision and Scope Document
202
2. Double-click on the package you have downloaded to install the JDK
3. Follow the instruction of installation. You should use default values specified
by the instruction and click all “Next” buttons so that you will feel easier to
monitoring it later.
o Environment variables after finishing the JDK installation:
1. Right click on My computer, then choose Properties.
2. Click the Advanced tab.
3. Click Environment variables.
4. For either a user or a system variable, do the following steps:
Click New to add new variable name and value.
o Variable name: PATH
o Variable value: Depend on how you install JDK. It will be
similar to this : C:\Program Files\Java\jdk1.6.0_02\bin
Click New to add new variable name and value:
o Variable name: JAVA_HOME
o Variable value: Depend on how you install JDK. It will be
similar to this: C:\Program Files\Java\jdk1.6.0_02
o Glassfish 2.0
1. Download application server Glassfish V2.0 at
http://java.net/download/javaee5/v2_branch/promoted/WINNT/glassfish-
installer-v2-b58g.jar
2. Make sure that you have set the environment variables (PATH and
JAVA_HOME) correctly
3. Click Start
4. Choose Run
5. Type: CMD, then press Enter , and the console application will be displayed,
6. Type: java -Xmx256m -jar filename.jar
With filename is the name of file you have downloaded. It is the package of
Glassfish V2.0. This command will unbundle Glassfish and create a new
directory structure rooted under a directory named 'glassfish'.
7. Environment variables for ANT (ANT is a common tool used J2EE application
development for building the application):
Right click on My computer, then choose Properties.
Click the Advanced tab.
Click Environment variables.
For either a user or a system variable, do the following steps:
o Click New to add new variable name and value:
Variable name: ANT_HOME
Variable value: Depend on how and where you
extract the Glassfish V2.0. It will be similar to this:
Vision and Scope Document
203
8. Go to Glassfish folder where the program has been extracted by using CD
command of MS-DOS. This command depends on where your Glassfish
folder is. It should be similar to: CD glassfish then press Enter.
9. The real installation of glassfish will be done when you execute the ANT
command. We use Windows operating system. Therefore, we type:
lib\ant\bin\ant -f setup.xml
o MySQL 5.0.x (To download at http://dev.mysql.com , you have to register an
account to be member of the website. Therefore, there’s no direct link to
download)
1. Download MySql Essential 5.0 at
http://dev.mysql.com/downloads/mysql/5.0.html#win32
2. Double-Click on the package has been downloaded, and then follow the
instruction of the installation. To be easy to use later, you should use all
default values specified by the instruction and click on all “Next” buttons.
However, both the username and password used for administrator of MySql
should be “root”.
o MySql Gui Tools 5.0.x
1. Download MySql Gui Tools at http://dev.mysql.com/downloads/gui-
tools/5.0.html
2. Double-Click on the package has been downloaded, and then follow the
instruction of the installation. To be easy to use later, you should use all
default values specified by the instruction and click on all “Next” buttons.
o MySql Connector 5.0.x
1. Download MySql-connector-Java at
http://dev.mysql.com/downloads/connector/j/5.0.html
o NetBean 6.0
1. Download the Netbean IDE verion 6.0 at
http://download.netbeans.org/netbeans/6.0/final/bundles/netbeans-6.0-
windows.exe
2. Double-Click on the package has been downloaded to start setup
3. Follow the instruction of the installation. To be easy to use later, you should
use all default values specified by the instruction and click on all “Next”
buttons
o Junit
1. Download Junit 4.x at
http://sourceforge.net/project/downloading.php?group_id=15278&use_mi
rror=jaist&filename=junit4.4.zip&85130481
2. Unzip the junit.zip distribution file to a directory referred to as
%JUNIT_HOME%. 3. Add JUnit to the classpath:
Vision and Scope Document
204
set CLASSPATH=%CLASSPATH%;%JUNIT_HOME%\junit.jar
Note: To run your JUnit tests, you'll need the following elements in
your CLASSPATH:
o JUnit class files
o Your class files, including your JUnit test classes
o Libraries your class files depend on
If attempting to run your tests results in a NoClassDefFoundError, then something is missing from your CLASSPATH.
Windows Example:
set
CLASSPATH=%JUNIT_HOME%\junit.jar;c:\myproject\classes;c:
\myproject\lib\something.jar
o EJB3Unit
1. Download all packages needed for EJB3Unit at
https://sourceforge.net/project/showfiles.php?group_id=150949&package
_id=166989&release_id=528475
o AdventNetQEngine_WebPerformance
1. Download QEngine_WebPerformance at
http://www.adventnet.com/products/qengine/download.html
2. Double-Click on the package has been downloaded, and then follow the
instruction of the installation. To be easy to use later, you should use all
default values specified by the instruction and click on all “Next”
buttons.
o QuickTest Professional 9.2
1. Download QuickTest Professional at
https://h10078.www1.hp.com/cda/hpdc/display/main/index.jsp?zn=bto&cp=54_
4012_100__
2. You have to register an account at the HP corporation websie before
you are allowed to download the tool.
Click New user please register
On search fill, you type quicktest to find QuickTest Professional
tool
Click on HP QuickTest Professional 9.2 Evaluation in result
Click Agree button to go next page
Click on hyperlink in URL line at Important Software Download
Links
Vision and Scope Document
205
3. After downloading, double-Click on the package has been downloaded,
and then follow the instruction of the installation. To be easy to use
later, you should use all default values specified by the instruction and
click on all “Accept” or “I agree” and “Next” buttons.
4. To be noticed that this software requires Dot Net Framework to install
it.
How to install OURS This part of the document is a guide on how to deploy the system to the Java application server.
We provide 3 separate packages for the 3 layers of our system: presentation layer (.war
package), business layer (.jar package) and database storage.
o Database: Restore database from back up file:
1. Login to the database as Administrator:
Run the MySQL Administrator and fill in the required fields:
Server Host: if you have gone through a normal installation
procedure for MySQL, the default value here should be
“localhost”.
Port: the port for the Application server to connect to the
database server. The default value is “3306”.
Username and Password: username and password is used to
authorize user to access to the database. Type the username
and password you used when installing MySQL. Default value is
“root” “root”.
Press “OK” button.
2. Restore back up file:
On the left side of the application, you will see some tasks such
as: Server Information, Service Control, Startup Variables… click
on the “Restore” session.
Click on the “Open Backup File”.
Browse to the location of the database back up file then open.
Check the 2 check box in the Options area.
Click on “Start Restore”.
Now the all the database records have been loaded into the database
server. You can click on “Catalogs” and check if the schema “ours-
silverbullet” presents.
o Web part: Deploy Web part
1. Login the application server
First startup the application server. Open the command line,
type “cmd” then enter. Type the following command:
Vision and Scope Document
206
<GlassfishPath>\bin\asadmin start-domain domain1, enter then
wait for the server to start.
Open command line or any browser and type in
http://localhost:4848
You will be redirect to the login page.
Provide the username and password, the default value for
username is “admin” and password is “adminadmin”.
2. Deploy the .war file:
On the left menu, click on “Web Applications”, on the main
content, click on “Deploy”.
Click on “Browse”, locate the oursWeb.war file then open.
Click on “OK” button to start deploy the web layer.
o EJB part:
1. Login the application server: repeat the step above if you haven’t logged
in yet.
2. Connection pool:
On the left menu Click on ResourcesJDBCConnections Pool.
Click “New…” button.
Fill the general settings then click ok
o Name: mysqlPool
o Resource Type: javax.sql.DataSource
o Database Version: MySQL
On Step 2 of 2, go to additional properties table, check all the
properties then click “Delete Properties”
Add 6 new properties, these are the configuration of the
database server, adjust if necessary.
o serverName: localhost
o port: 3306
o networkProtocol: jdbc:mysql
o username: root
o password: root
o databaseName: ours-silverbullet
Finich. You can click on “Ping” to make sure the information use
type is correct.
3. Configure data source
On the left menu, go to ResourcesJDBCJDBC Resources
Add New.
Fill in the new jdbc resource information:
o JDNI name: ours-1.1
o Pool Name: mysqlPool
Click OK
Vision and Scope Document
207
4. Deploy EJB part:
On the left menu, click on EJB Modules.
Click deploy
Browser to the system business layer package OURS1.1.1 then
open
Click on “OK” to start deploying.
How to run OURS o Application server and database server have started already
1. Launch OURS by typing the following URL in Internet Explorer or in
Firefox or any other browsers http://localhost:8080/oursWeb/
o Application server or/and database server not been started
1. Start application server: Looking for “bin” folder of the Glassfish server,
and then double click on the file named “asadmin.exe”. The path of bin
folder will be similar to “C:\Program Files\glassfish-v2\bin”. When the
console application is displayed, type the command “start-domain”, the
server will be started.
2. Launch OURS by typing the following URL in Internet Explorer or in
Firefox or any other browsers http://localhost:8080/oursWeb/
Vision and Scope Document
208
How to setup and run tests of OURS o Unit testing
1. Open Netbean 6.0 by double clicking on its shortcut(it is on your
desktop by default)
2. Open the Unit test project. We put all the persistence classes and their
test classes in the Unit test project.
3. Run the test by clicking on run, choose run test.
4. Note that if you Netbean IDE does not have library of EJB3Unit, you
have to download it and add it to the library by right clicking on the
project; choose add library menu item, and then choose the library you
have downloaded.
o Functional requirement testing
1. Start server where OURS is deployed(see the part of How to run OURS)
2. Start the QuickTest Professional by double clicking on the shortcut of
the QuickTest Professional program
3. Create a new test by selecting new button
4. You have to provide the URL you want to test. In this case it is any URL
of OURS. It should be http://localhost:8080/oursWeb/
5. Now, the program will allow you to record the action you perform on
the URL you have specified.
6. Stop the recording by clicking on the stop button.
7. After you finish you action, you can input many different inputs in the
data table. This will help you to test the function automatically, instead
of input data again each time the action is repeated.
o Non-functional requirement testing
1. Multi-language checks
Run OURS and switch between English and Vietnamese by click
on the Vietnamese or English button which is on top of the
website.
2. Load test
Start QEngine server by double click on the shortcut of QEngine
(which is put on your desktop by default)
Choose new transaction specify the name of the transaction
Wait for the program to process. It will ask you to specify the
URL to test. You have to provide the URL of OURS
Wait for the program to records the information, then stop the
recording
The program will show you how it processes the load test
Vision and Scope Document
209
How to use OURS This document is about guiding user to use OURS. It includes “How to Use” guidelines of main
functions of the system. Although this part is optional, our group still wants to provide a brief
description of the real user manual, so that user will feel easier to have the basic ideas about
OURS.
Login and Logout This feature allows user to log in to the system to achieve the access permission
to perform other functions that are granted to that specific user. It also lets user log out
to end his/her session View Academic History
Log in
1. Enter the username in the username textbox
2. Enter the password in the password textbox
3. Click on the sign in button
4. Redirected to the desired page with the status logged on
Log out
1. Click on the log out button
2. Redirected to the main page with the status logged out
Recover Password
1. Click on the “Forget password” link
2. Specify the answer of the security question in the text box
3. Click on the Recovery password button
Register Course
This feature allows a Student to register course offerings in the current semester.
1. Click on register courses button
2. Check the checkbox(es) to select the course(s) you want to register. If you do not want to register for the course(s) you have checked, just simply uncheck the checkbox(es) of the course(s).
3. Click on submit button
View Academic History
This feature allows a Student to view his studying progress. The Student can see the courses he has taken as well as the scores and status (passed or failed).
1. Choose a filter group: View All, View by specific year and semester, View by
passed and failed status.
Vision and Scope Document
210
2. One filter is chosen.
3. Click View button.
Manage Department Information This feature allows Academic Affair Staff to manage department and faculty
information. This includes adding, updating, and deleting department and faculty from
the system.
Add a department
1. Provide department’s name in the name textbox
2. Provide department’s location in the location textbox
3. Provide department’s dean in the dean textbox
4. Provide faculty information that the department has
5. Provide department description in the description text area
6. Click on Add button
Update a department
1. Provide department’s name in the Name textbox or/and
2. Provide department’s location in the Location textbox or/and
3. Provide department’s dean in the Dean textbox or/and
4. Provide faculty information that the Department has or/and
5. Provide department description in the Description text area or/and
6. Click on Add button
Delete a department
1. Chooses a department to delete from a drop down list.
2. System displays a message warns the user about the deletion
3. Confirms to delete the selected department by clicking on delete button
Manage Student Information This feature allows the Academic Affair Staff to manage student information in the
registration system. This includes adding, updating, deleting, and searching Students
from the system
Add a student
8. Provide student’s name in the name textbox
9. Provide student’s ID in the ID textbox
10. Choose student’s faculty in the list of faculty
11. Choose student’s academic duration in the range list
12. Choose student’s academic year in the list
13. Choose semester of this academic year.
14. Choose course of this semester.
Vision and Scope Document
211
15. Click on add button
Search a student by Student ID/Student name
1. Chooses ID and Name filter from the filter drop down list
2. Provide an ID in the ID textbox or/and
3. Provide a name in the name textbox
4. Click on search button
Search a student by Faculty/Academic duration
1. Chooses faculty and academic duration filter from the filter drop down list
2. Choose a faculty from the drop down list
3. Choose an academic duration from drop down list
4. Click on the Search button
Search a student by Academic year/Semester/Course
1. Chooses academic year, semester, and course filter from the filter drop down
list
2. Choose a academic year from the academic year drop down list or/and
3. Choose a semester from the semester drop down list or/and
4. Choose a course from the course drop down list
5. Click on search button
Update a student
1. Provide student’s name in the name textbox or/and
2. Provide student’s ID in the ID textbox or/and
3. Choose student’s faculty in the list of faculty or/and
4. Choose student’s academic duration in the range list or/and
5. Choose student’s academic year in the list or/and
6. Choose semester of this academic year or/and
7. Choose course of this semester or/and
8. Click on update button
Delete a student
1. Choose a student to be deleted
2. System warns the user about the deletion
3. Click on the Delete button to confirm
Manage Course Offering This feature allows Academic Affairs to monitor course offerings in one semester of
specific year.
Create list of courses offering
1. Click on the button Manage Course Offering
2. Click on the button Create a list of course offering
3. Click on the drop down list to choose the desired faculty
Vision and Scope Document
212
4. Click on the check box to choose the subject which is selected to offer
5. Click on the drop down list to choose the lecturers for the selected courses
6. Click on the Submit button to create the list of course offering for the selected
faculty
7. Click on the OK button to confirm the operation
Update a list of course offering
1. Click on the button Manage Course Offering
2. Click on the button Update list of course offering
3. Click on the drop down list to choose the desired faculty
4. Check or uncheck the check box of each course to change the list of course
offering
5. Change the lecturer for each course (if desired)
6. Click on the Update button
7. Click on the OK button to confirm the operation
Manage Lecturer Information This feature allows the Academic Affair Staff to manage lecturer information in the
registration system. This includes adding, updating, deleting, and searching lecturers
from the system.
Add a lecturer
1. Provide lecturer’s name in the Name textbox
2. Choose lecturer’s date of birth in the Calendar
3. Provide lecturer’s cell-phone number in the cell-phone textbox
4. Provide lecturer’s email address in the Email textbox
5. Provide lecturer’s department where that lecturer belongs in the department
textbox
6. Provide lecturer’s degree in the degree textbox
7. Click on add button
Look for a lecturer
1. User chooses the department where the lecturer belongs
2. Verify that the system retrieves and displays the list of lecturers of that
department
3. User choose a lecturer from the list
4. Verify that the summary of information of selected lecturer is displayed
Update a lecturer
1. Provide lecturer’s name in the name textbox or/and
2. Choose lecturer’s date of birth in the calendar or/and
3. Provide lecturer’s cell-phone number in the cell-phone textbox or/and
4. Provide lecturer’s email address in the email textbox or/and
Vision and Scope Document
213
5. Provide lecturer’s department where that lecturer belongs in the department
textbox or/and
6. Provide lecturer’s degree in the degree textbox or/and
7. Click on add button
Delete a lecturer
1. Select the lecturer to be deleted
2. Click on the deleted button
3. System warns the user about the deletion
4. Click on the Delete button to confirm
Manage Financial Activities
This feature allows Financial Office Staff to monitor student’s tuition fee. This includes viewing and updating the tuition fee status of students.
View tuition fee by student ID or/and by student name
1. Chooses ID and Name filter from the filter drop down list
2. Provide an ID in the ID textbox or/and
3. Provide a name in the name textbox
4. Click on search button
View tuition fee by faculty or/and by academic duration
1. Chooses faculty and academic duration filter from the filter drop down list
2. Choose a faculty from the drop down list
3. Choose a academic duration from drop down list
4. Click on search button
View tuition fee by academic year, semester, and course
1. Chooses academic year, semester, and course filter from the filter drop down
list
2. Choose a academic year from the academic year drop down list or/and
3. Choose a semester from the semester drop down list or/and
4. Choose a course from the course drop down list
5. Click on search button
Update tuition fee status of a student
1. Choose a student from the list
2. Change status of tuition fee of that student by choose tuition fee status from
the stats drop down list
3. Click on submit button
Vision and Scope Document
214
Manage Course Catalogue
This feature allows the Academic Affair Staff to manage Course Catalog information in the registration system. This includes adding, updating, deleting, and searching a course from the course catalog of the university
Add new course to course catalogue successfully
1. Provide course’s ID in the ID textbox
2. Provide course’s Name in the name textbox
3. Provide number of credits of the course in the credit textbox
4. Choose the faculty of the department where the course belongs from dropdown
list
5. Provide the description of the course in the description text area.
6. Click on add button
Update course with valid information successfully
1. Provide course’s ID in the ID textbox or/and
2. Provide course’s Name in the name textbox or/and
3. Provide number of credits of the course in the credit textbox or/and
4. Choose the faculty of the department where the course belongs from dropdown
list or/and
5. Provide the description of the course in the description text area.
6. Click on add button
Manage User Account
This feature allows the Administrator to manage user account information in the system. This includes creating, updating, deleting, and searching user account(s) in the system
Create a new user account
1. Provide username in the ID textbox
2. Choose a role from the drop down list
3. Provide the description of the account in the description text area.
4. Click on create button
Update an account
1. Provide new username in the ID textbox and/or
2. Choose a role from the drop down list and/or
3. Provide the description of the account in the description text area and/or
4. Choose the status of the account from the drop down list and/or