0% found this document useful (0 votes)
21 views

Fems Final

This document provides an overview of a capstone project to develop a software system to manage events at FPT University. It includes sections on the project introduction and background, existing systems, opportunities, scope, and limitations. It also includes a project management plan with objectives, risks, deliverables, roles and responsibilities. Finally, it details the software requirements including user stories, functional requirements, and quality attributes. The system is intended to help automate and improve the management of events at FPT University.

Uploaded by

hiepxuan23
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views

Fems Final

This document provides an overview of a capstone project to develop a software system to manage events at FPT University. It includes sections on the project introduction and background, existing systems, opportunities, scope, and limitations. It also includes a project management plan with objectives, risks, deliverables, roles and responsibilities. Finally, it details the software requirements including user stories, functional requirements, and quality attributes. The system is intended to help automate and improve the management of events at FPT University.

Uploaded by

hiepxuan23
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 402

MINISTRY OF EDUCATION AND TRAINING

FPT UNIVERSITY

Capstone Project Document


FU's Event Management

SEP490_G2
Nguyễn Minh Hùng HE153613
Nguyễn Minh Hoàng HE153789
Group Members Vũ Hoàng Phúc HE153693
Đinh Xuân Hoàng HE151343
Nguyễn Quang Hiếu HE153633

Supervisor Bùi Đình Chiến


Ext Supervisor
Capstone Project
FEMS
code

- Hanoi, April 2023 -

1 | Page
Table of Contents

Acknowledgement .................................................................................................................................. 6
Definition and Acronyms ........................................................................................................................ 7
I. Project Introduction ............................................................................................................................. 8
1. Overview ......................................................................................................................................... 8
1.1 Project Information ................................................................................................................... 8
1.2 Project Team ............................................................................................................................. 8
2. Product Background........................................................................................................................ 8
3. Existing Systems ............................................................................................................................ 10
3.1 Manual system ........................................................................................................................ 10
3.2 Feexp.space website ............................................................................................................... 11
4. Business Opportunity .................................................................................................................... 12
5. Software Product Vision ............................................................................................................... 12
6. Project Scope & Limitations .......................................................................................................... 13
6.1 Major Features ........................................................................................................................ 13
6.2 Constraints & Assumptions ..................................................................................................... 14
6.3 Limitations & Exclusions ......................................................................................................... 15
II. Project Management Plan ................................................................................................................ 16
1. Overview ....................................................................................................................................... 16
1.1 Scope & Estimation ................................................................................................................. 16
1.2 Project Objectives ................................................................................................................... 19
1.3 Project Risks ............................................................................................................................ 20
2. Management Approach ................................................................................................................ 21
2.1 Project Process ........................................................................................................................ 21
2.2 Quality Management .............................................................................................................. 22
2.3 Training Plan............................................................................................................................ 23
3. Project Deliverables ...................................................................................................................... 23
4. Project Organization ..................................................................................................................... 24
4.1 Team Structure ....................................................................................................................... 24
4.2 Roles and Responsibilities ....................................................................................................... 24
5. Responsibility Assignments ........................................................................................................... 25
6. Project Communications ............................................................................................................... 26
7. Configuration Management .......................................................................................................... 26

2 | Page
7.1 Document Management ......................................................................................................... 26
7.2 Source Code Management...................................................................................................... 26
7.3 Tools & Infrastructures ........................................................................................................... 27
III. Software Requirement Specification ............................................................................................... 28
1. Product Overview ......................................................................................................................... 28
2. User Requirements ....................................................................................................................... 28
2.1 Actors ...................................................................................................................................... 28
2.2 Use Cases ................................................................................................................................ 30
3. Functional Requirements .............................................................................................................. 41
3.1 System Functional Overview ................................................................................................... 41
3.2 Authentication ........................................................................................................................ 50
3.3 View Homepage ...................................................................................................................... 56
3.4 Manage your account ............................................................................................................. 62
3.5 View event .............................................................................................................................. 66
3.6 Manage your event ............................................................................................................... 105
3.7 Manage category .................................................................................................................. 143
3.8 Manage event ....................................................................................................................... 151
3.9 Manage account.................................................................................................................... 163
3.10 Manage campus .................................................................................................................. 174
3.11 Manage building ................................................................................................................. 178
3.12 Manage television ............................................................................................................... 189
3.13 Manage group ..................................................................................................................... 195
3.14 Manage notifications .......................................................................................................... 214
4. Non-Functional Requirements .................................................................................................... 215
4.1 External Interfaces ................................................................................................................ 215
4.2 Quality Attributes.................................................................................................................. 215
5. Requirement Appendix ............................................................................................................... 216
5.1 Business Rules ....................................................................................................................... 216
5.2 Application Messages List ..................................................................................................... 217
IV. Software Design Description ......................................................................................................... 219
1. System Design ............................................................................................................................. 219
1.1 System Architecture .............................................................................................................. 219
1.2 Package Diagram ................................................................................................................... 220
2. Database Design.......................................................................................................................... 222
3. Detailed Design ........................................................................................................................... 235
3.1 Authentication ...................................................................................................................... 235

3 | Page
3.2 View Homepage .................................................................................................................... 238
3.3 Manage your account ........................................................................................................... 240
3.4 View Event ............................................................................................................................ 242
3.5 Manage Your Event ............................................................................................................... 263
3.6 Manage Category .................................................................................................................. 280
3.7 Manage Event ....................................................................................................................... 284
3.8 Manage Account ................................................................................................................... 291
3.9 Manage Campus ................................................................................................................... 297
3.10 Manage Building ................................................................................................................. 300
3.11 Manage Television .............................................................................................................. 304
3.13 Manage Group .................................................................................................................... 309
3.14 Manage Notification ........................................................................................................... 320
V. Software Testing Documentation ................................................................................................... 321
1. Scope of Testing .......................................................................................................................... 321
1.1 Stages of testing .................................................................................................................... 321
1.2 Types of testing ..................................................................................................................... 322
1.3 Range of testing .................................................................................................................... 322
2. Test Strategy ............................................................................................................................... 322
2.1 Testing Model ....................................................................................................................... 322
2.2 Testing Types......................................................................................................................... 322
2.3 Test Levels ............................................................................................................................. 323
2.4 Supporting Tools ................................................................................................................... 323
3. Test Plan ...................................................................................................................................... 323
3.1 Human Resources ................................................................................................................. 323
3.2 Test Environment .................................................................................................................. 324
3.3 Test Milestones ..................................................................................................................... 324
4. Test Cases.................................................................................................................................... 324
5. Test Reports ................................................................................................................................ 325
5.1 Unit Testing ........................................................................................................................... 325
5.2 Integration Test ..................................................................................................................... 326
5.3 System Test ........................................................................................................................... 328
5.4 Acceptance Test .................................................................................................................... 329
VI. Release Package & User Guides..................................................................................................... 332
1. Deliverable Package .................................................................................................................... 332
2. Installation Guides ...................................................................................................................... 332
2.1 System Requirements ........................................................................................................... 332

4 | Page
2.2 Installation Instruction .......................................................................................................... 332
3. User Manual ................................................................................................................................ 354
3.1 Overview ............................................................................................................................... 354
3.2 User guideline ....................................................................................................................... 354

5 | Page
Acknowledgement

Firstly, we wish to express our deepest gratitude to our supervisor, Mr. Bui Dinh Chien, for his
continuous sharing and motivation throughout this project. With the encouragement and advice he
has provided throughout our time as his students, we felt that we are extremely lucky to have a
supervisor who cared so much about our work, and who responded to our questions and queries so
promptly.

It is also our pleasure to receive assistance from Mr. Phan Tuong Lam, Mr. Do Huu Phat, Mrs. Cao
Thanh Hien and Mr. Tran Van Thuan with valuable up-to-date information concerning fundamental
requirements, admission rate and enthusiastic support. Working and learning from you is a rewarding
experience for us

Last but not least, we would like to gratefully thank all of Teachers for being there to guide us, inspiring
us with a love for learning. We hope you will find this project as a reflection of the knowledge and
experiences you have given us during this period of four years.

6 | Page
Definition and Acronyms

Acronym Definition

FEMS FU's Event Management

LI Limitations

BA Business Analysis

BR Business Rule

ERD Entity Relationship Diagram

GUI Graphical User Interface

PM Project Manager

SDD Software Design Description

SPMP Software Project Management Plan

SRS Software Requirement Specification

UAT User Acceptance Test

UC Use Case

API Application Program Interface

SI Software Interfaces

UI User Interfaces

USB Usability

SE Security

PE Performance

MTE Maintainability and Extensibility

MSG Message code

7 | Page
I. Project Introduction
1. Overview
1.1 Project Information
Web Development Team
• Project name: FU's Event Management
• Project code: FEMS
• Group name: SEP490_G2
• Software type: Web Application

1.2 Project Team


Full Name Role Email Mobile

Bui Dinh Chien Supervisor [email protected] 0912656836

Nguyen Minh Hung Leader [email protected] 0346952505

Dinh Xuan Hoang Member [email protected] 0833515589

Nguyen Quang Hieu Member [email protected] 0342217180

Vu Hoang Phuc Member [email protected] 0868466219

Nguyen Minh Hoang Member [email protected] 0356659901

2. Product Background

FPT University is a leading higher education institution in Vietnam, known for its diverse student
community and vibrant campus life. With a growing number of students, there has been an increasing
demand for various events and activities organized by the university and its groups. However, there
was a lack of a centralized system to manage these events effectively in the past.

To solve this problem, FPT University has agreed to let G2 group develop the FU's Event Management
website to streamline the process of organizing and managing events on campus. The website includes
key features such as event management, feedback management, student management, and group
event management, catering to the specific needs of groups and organizations within the university.

The FU's Event Management website is designed with a user-friendly interface, making it easy to
navigate and use. It integrates various functionalities to meet the requirements of different
stakeholders, including students, groups, and university staff. It provides a centralized database of
events happening in the university, allowing students to easily register for events, access
comprehensive event information, and provide feedback. This improves professionalism,
transparency, and responsiveness in event management at FPT University.

With the event management website, organizing events on campus has become easier and more
efficient, enhancing the experience of students participating in events and contributing to a dynamic,
diverse, and thriving learning and campus life environment at FPT University.

8 | Page
Figure 2.1: Introductory email

9 | Page
Figure 2.1: Official group chat

3. Existing Systems
3.1 Manual system
Overview: Currently, FPT University is managing and organizing events manually. The steps to
organize an event currently include:

1. Planning: The event officers of the university will be responsible for planning, which includes
determining the type of event, start and end dates, number of participants, images to be used, venue,
personal information, costs, and collaborators (ticketing officers). The event officers will inform the
relevant parties of the event by creating a chat group, currently using Messenger or Zalo, and then
adding the relevant parties to the chat group. Regular meetings will be held here to discuss costs,
documents, and approaches to reaching students and high school students (usually through fanpages,
teacher communication, creating posters, banners, and for large events, sending emails to students.
Currently, registration is done by filling in information on a Google Form link). After reaching a
consensus, a request will be submitted for approval by the Head of the organizing department.

10 | Page
2. Pending: The Head of the organizing department will review the information of the event
proposed by the event officers. The information will be reviewed and revised if necessary.

3. Openning: Once the event is approved, it will move to the implementation phase. During this
phase, the registration links for the event will be publicized on fanpages, emails, and communication
channels of the university. At this point, students can register for the event, and for events with tickets,
students will have to come and collect the tickets.

4. Happening: When the time specified in the planning phase arrives, the event will start, and
registered students can participate. Depending on the type of event, event officers will take
attendance for students (if necessary), usually using an Excel file (searching for student codes and
ticking off one by one).

5. Closed: The event will end on the date declared in the planning phase. At this stage, students
can provide feedback on the event and evaluate it through Google Form. Event officers will compile
the feedback information in an Excel file to write a report for the department head. They will also
upload event documents to Google Drive and OneDrive.

Limitations:

1. For event managers and organizers:


2. There is no user data management system for tracking event participation (how many events
a user has participated in, which events they have participated in).
3. There is no quick event check-in process.
4. Lack of managing feedback from students.
5. Time-consuming and labor-intensive data compilation and filtering for registration (for
example, creating a Google Form for each event registration, which requires time to compile the
forms...).

3.2 Feexp.space website


Overview: This is the active website of the FPT Student Relational Officer from 2022 until now

Link: https://www.feexp.space/
Feature: Show event detail, event series, preview event video.
Pros:

1. Friendly interface.

Cons:

1. Unable to handle event management tasks


2. Currently, registered events are still stored via Google Form, lacking a dedicated database
for reviewing

11 | Page
3. Limited functionality.

4. Business Opportunity
The event management website for FPT University presents several business opportunities that can
be explored to generate revenue and create value for the university community. These opportunities
include:

Event Sponsorship: The website can serve as a platform for event sponsors to promote their products
or services to the FPT University community. Sponsors can be invited to support various events
organized by the university, such as conferences, workshops, and competitions, in exchange for
sponsorship fees. This creates a win-win situation where sponsors gain exposure and reach their target
audience, while the university generates revenue to support event expenses and enhance the overall
quality of events.

Advertisement: The website can also offer advertising opportunities for local businesses, service
providers, or other relevant organizations to promote their offerings to the FPT University community.
This can be in the form of banner ads, sponsored content, or featured listings, generating revenue
through advertising fees. By carefully selecting advertisers that align with the university's values and
interests, the website can create a valuable advertising platform that benefits both advertisers and
the university.

Enhance the prestige and image of FPT University: A modern and professional event management
system helps to enhance the prestige and image of FPT University in the community of students,
teachers, sponsors, and students. general public. Providing a responsive and convenient experience
for event management, feedback management, and group management will help increase user
satisfaction, contributing to a positive and trustworthy image. of FPT University, thereby attracting
the interest of students, teachers, cooperation partners and potential sponsors.

5. Software Product Vision


The event management website of FPT University will be a modern software product that fully meets
the university's needs in event organization and management. It will bring usability, rich features,
user-friendly interface and high security. At the same time, the product will also reflect the core values
of FPT University, including professionalism, creativity, pioneering, and innovation.

The product will help students have a better experience in registering and participating in school
events, enhance interaction and communication in the student community, as well as enhance their
skills and learning experience. outside the lecture hall. At the same time, the product will also support
school groups to manage their events effectively, conveniently and professionally.

The product also meets the needs of lecturers and administrative staff in organizing event activities,
managing student information, registering and managing webinars, sending announcements and
news to the community. co-students. The product will help optimize the event management process,
save time and resources, and improve the quality and efficiency of school events.

12 | Page
In general, the Product Vision of FPT University's event management website is to become a leading
software product that fully meets the university's needs in event management, providing a good
experience. best for users, creating diverse values and benefits for users. Products will develop and
improve continuously, accompanying the development of FPT University, responding to technology
trends and changes in the field of event management.

6. Project Scope & Limitations


6.1 Major Features
There are 5 types of users in FU's Event Management:
No Type of User Description
1 Guest Everyone who does not login into the FEMS system.

2 Student User who has an account can use all the service of the website.

3 Organizer Event officer who manages and requests new events.

4 Manager Manager who manage events, feedback and reports.

Administrator of the system; Manage accounts of User, television,


5 Admin
building and campus.

Major features in FU's Event Management:


FE Name Description Role

Guest, Student,
This feature allow user to join, and perform certain action base
1 Authentication Organizer,
on their account's role.
Manager, Admin

This feature will show a user the homepage corresponding to Student, Organizer,
2 View Homepage
the given role. Manager, Admin

This feature will enable the user to see information directly Student, Organizer,
3 Manage your account
from famous FAP systems and edit some of them. Manager, Admin

Student, Organizer,
4 View event Allow user to view Event calendar
Manager, Admin

This allows the Organizer to create, edit, and save draft his/her
5 Manage your event Organizer
created event within a FEMS system.

This allows Manager to create, edit, and delete categories


6 Manage category Manager
within a FEMS system.

This allows the Manager to approve, reject, make a feature,


7 Manage event Manager
and move to draft events within a FEMS system.

8 Manage account This allows Admin to manage the FEMS account. Admin

13 | Page
This allows Admin to create, edit and delete campuses within
9 Manage campus Admin
FEMS.

This allows Admin to create, edit and delete buildings within


10 Manage building Admin
FEMS.

This allows Admin to create, edit and delete televisions within


11 Manage television Admin
FEMS.

This allows users who logged in the FEMS to see, create , edit, Student, Organizer,
12 Manage group
change leader of a group. Manager, Admin

If system have any update it will be notice in the notification Student, Organizer,
13 Manage notifications
box. Manager, Admin

Figure 6.1.1: Feature tree

6.2 Constraints & Assumptions


Due to the requirement of Mr. Phan Tuong Lam, Mr. Do Huu Phat and Mrs. Cao Thanh Hien, FEMS will be
constrained by these:

CT-1: Maintain the SEC (Student Event Calendar) project which was developed by YPHDT Team in
2019

14 | Page
CT-2: Have feature of feexp.space website
CT-3: The FEMS website must be designed to support QR applications and Television App.

6.3 Limitations & Exclusions


Due to the limitation of time, in this project, the following functions are not implemented:

LI-1: Support for multiple campuses.


LI-2: Support for login with facebook.
LI-3: Payment function for paid events.
LI-4: Evaluate student’s contribution in events.

15 | Page
II. Project Management Plan
1. Overview
1.1 Scope & Estimation
In this process of defining requirements, our team has discussed, and based on our study and personal
life schedule, we have come to an agreement that all of us will spend 4 hours a day and work 6 days
per week to dedicate to the capstone.

Est. Effort
# WBS Item Complexity
(man-days)
1 Authentication 21

1.1 Login by @fpt.edu.vn mail Complex 11

1.2 Logout Simple 1

1.3 View public event Complex 9

2 View Homepage 42
2.1 View Homepage Complex 42
3 Manage your account 9

3.1 View profile Medium 3

3.2 Update profile Complex 6

4 View event 79

4.1 View registered event Medium 3

4.2 View my calendar Complex 5

4.3 View event calendar Complex 5

4.4 View all events Complex 10

4.5 Search event Medium 1

4.6 Filler events Medium 1

4.7 View event detail Complex 12

4.8 View list feedback Medium 2

4.9 Feedback event Medium 3

4.10 Delete my feedback Simple 1

4.11 Edit own feedback Medium 2

4.12 Bookmark event Medium 2

4.13 Unbookmark event Medium 2

4.14 Share event Complex 5

16 | Page
4.15 Register event Complex 5

4.16 Report event Medium 3

4.17 Get ticket Complex 7

4.18 View bookmarked event Medium 3

4.19 View checked-in event Medium 3

4.20 Fill google form Complex 3

4.21 View ticket event Simple 1

5 Manage your event 76

5.1 Create event Complex 18

5.2 Create google form Complex 8

5.3 Edit Form Medium 2

5.4 Clear Form Medium 2

5.5 Save Draft Complex 3

5.6 View list draft event Medium 2

5.7 Edit draft Complex 15

5.8 Delete draft Simple 1

5.9 View list pending event Medium 2

5.10 Cancel event Simple 1

5.11 Move to draft Simple 1

5.12 View my created event Medium 3

5.13 View event statistic Complex 6

5.14 Export statistic Medium 3

5.15 View list checkedin student Medium 2

5.16 View list registered student Medium 2

5.17 Upload event document Medium 5

6 Manage category 16

6.1 Create category Medium 5

6.2 Display on homepage Medium 8

6.3 Edit category Medium 2

6.4 Delete category Simple 1

17 | Page
7 Manage event 28

7.1 Manage Featured Event Complex 10

7.2 View list pending events Medium 5

7.3 Reject event Simple 1

7.4 Approve event Medium 3

7.5 View Report List Medium 5

7.6 Dismiss report Simple 1

7.7 Block event Medium 3

8 Manage account 34

8.1 View list account Complex 10

8.2 View account detail Complex 6

8.3 Edit account role Medium 5

8.4 Create account Medium 5

8.5 Search account Medium 3

8.6 Filter account Medium 5

9 Manage campus 17

9.1 View campus list Medium 8

9.2 Create campus Medium 5

9.3 Edit campus Medium 4

10 Manage building 23

10.1 View building list Medium 10

10.2 Create building Medium 6

10.3 Edit building Medium 5

10.4 Search building Medium 1

10.5 Delete building Medium 1

11 Manage television 24

11.1 Manage tivi display event Complex 8

11.2 View televison list Medium 7

11.3 Active/Deactive television Medium 4

11.4 Manage televison special event Medium 5

18 | Page
12 Manage group 33

12.1 Change leader Medium 5

12.2 Delete group Simple 1

12.3 Create group Medium 5

12.4 View all group Medium 5

12.5 Search group Simple 1

12.6 Sort group Simple 1

12.7 View group information Medium 5

12.8 Edit group information Medium 3

12.9 View Group Member Medium 3

12.10 Add Organizer to group Medium 3

12.11 Remove member Simple 1

13 Manage notifications 10

13.1 View notification Complex 10

Total Estimated Effort (man-days) 412


1.2 Project Objectives

Test No. of % of
# Testing Stage Notes
Coverage Defects Defect
1 Reviewing 100% 0 0

2 Unit Test 100% 5 22.78%

3 Integration Test 100% 9 50%

4 System Test 100% 4 22.22%

5 Acceptance Test 100% 0 0

Milestone Timeliness (%): 100

Allocated Effort (man-days): 412

19 | Page
1.3 Project Risks
# Risk Description Impact Possibility Response Plans
Project Team Make rules and penalties for member who
1 doesn’t meet High Medium misses deadline and work overtime to
deadline complete tasks.
Work overtime to Project Manager must find out the root
2 High Medium
complete tasks cause of the conflict and resolve it.
Lack of knowledge
Technical Leader must support members
3 about technology High Low
for them to increase skill and knowledge.
used in project
Change in Project Manager and the team must
4 High High
requirements review any new updates to requirements.
Discuss requirements carefully with the
customer
Misunderstanding Any ambiguity in understanding
5 High Low
of requirements requirements of team members will be
recorded and handed to supervisor to
clarify with customer.
Demo in local host and change the
FAP API connection of project to FAP test API.
6 High Low
connection Connect with devops of FPT university to
fix API.
Provide detailed schedule in advance and
Absence of team
7 Medium Medium find another time to meet or work
members
overtime

20 | Page
2. Management Approach
2.1 Project Process

Figure 2-1: Iterative and Incremental Software Process Model

Based on the actual request of the customer, the FEMS project will maintain the SEC (FPT Student
Event Calendar) project and add the features of the website https://www.feexp.space/. So it can be
understood. The scopes of the FEMS project will include 2 parts: development and maintenance. In
addition, after carefully researching, the FEMS development team decided to choose the iterative and
incremental software process model due to the properties of this model:

● Flexibility: The iterative and incremental approach allows for flexibility in adapting to changing
requirements and priorities, which is common in both maintenance and development projects. It
enables teams to adjust and refine the software incrementally, based on user feedback, changing
business needs, and emerging technologies.

● Early Value Delivery: The iterative and incremental model emphasizes delivering usable
software increments early and often. This enables maintenance teams to quickly address critical
issues, fix bugs, and make enhancements, resulting in early value delivery to users. It also helps in
development projects by enabling the development of core functionalities in early iterations, which
can be reviewed and validated by stakeholders.

● Continuous Improvement: The iterative and incremental approach promotes continuous


improvement through regular feedback loops and iterations. Maintenance teams can continuously
assess the software's performance, usability, and quality, and make necessary improvements in
subsequent iterations. In development projects, this iterative approach allows for regular refinements
based on feedback and lessons learned, resulting in a higher quality end product.

21 | Page
● Risk Mitigation: The iterative and incremental model helps mitigate risks by enabling early
identification and resolution of issues. Smaller iterations allow teams to quickly identify and address
potential problems, reducing the risk of significant issues surfacing later in the project. In maintenance
projects, this can help in timely resolution of critical issues, minimizing the impact on users.

● Stakeholder Engagement: The iterative and incremental model promotes stakeholder


engagement throughout the project lifecycle. Regular iterations and feedback loops involve
stakeholders, including users, in the process, resulting in a better understanding of their needs and
expectations. This helps in maintaining alignment with business goals and ensures that the end
product meets user requirements effectively.

● Faster Time to Market: The iterative and incremental approach can accelerate time to market
by delivering usable increments early, which can be valuable for both maintenance and development
projects. It allows for quicker response to changing business needs, faster feedback incorporation, and
shorter development cycles, resulting in quicker time to market for new features or bug fixes.

● Enhanced Collaboration: The iterative and incremental model promotes collaborative work
among team members and stakeholders. Regular communication, feedback, and involvement of
stakeholders foster a shared understanding of project goals, requirements, and progress. This helps
in building a collaborative culture, resolving conflicts, and ensuring that everyone is aligned towards
the common goal of project success.

In conclusion, the iterative and incremental process model is a widely adopted approach in both
software development and maintenance projects due to its flexibility, early value delivery, continuous
improvement, risk mitigation, stakeholder engagement, faster time to market, and enhanced
collaboration. It can help teams effectively manage changing requirements, deliver value early, and
continuously improve their processes, resulting in successful project outcomes.

2.2 Quality Management


2.2.1 Code Review
● Any contribution of team members will be reviewed by team leader before merging into main
branch.
● If team leader finds any defect or ambiguity in code or document, he will discuss directly with
the author the clarify problems and give instruction on how to fix them.
● Team leader also checks if the added code follows code convention. If not, the author will be
assigned to fix it.

2.2.2 Unit Testing


● As each team member will be not only a developer but also a tester, each person will be testing
for the part they code.
● Any defects found will be recorded on GitLab Issues as a bug tracking software which contain
details and images for evidence.

22 | Page
● Team member will be responsible for repairing those defects.

2.2.3 Integration Testing


● All Integration test cases will be recorded into a spreadsheet divided by feature. The team
member who develops the feature will perform Integration test for that feature.
● Any defects found will also be recorded on GitLab Issues and fixed by that team member.

2.2.4 System Testing


● At the end of each Iteration meeting, all team will discuss to write System test cases to cover
all features.
● Any defects found will also be recorded on GitLab Issues and fixed by the team member who
is responsible for the feature.

2.2.5 Acceptance Testing


● At the end of each Iteration, system will be deployed on the Internet and team members will
contact directly with customers and students to use.
● Any feedbacks and comments from the client will be recorded and bring to discuss with whole
team and supervisor to decide what should be done to imporve the system

2.3 Training Plan

Training Area Participants When, Duration Detail


ASP.NET MVC All Members 14/01/2023 Member self-study
Use Git, Gitlab All Members 14/01/2023 Member self-study
14/01/2023-
Entity Framework All Members Member self-study
15/01/2023

Install SQL Server 2019 All Members 14/01/2023 PhucVH guide

Unit Test with MSTEST All Members 20/02/2023 HoangDX guide


Meeting with Mr.
Study FAP’s API All Members 16/02/2023 Thuan - FPT
university Devops

3. Project Deliverables

# Deliverable Due Date Notes

1 Report 1 09/01/2023 Initiate Project


Project Scope Customer meeting
2 Requirements 17/01/2023 Functional Requirements
Business Rules Non-functional Requirements

23 | Page
Project Schedule
3 Report 2 02/02/2023
Project Management Plan
4 Report 3 08/02/2023 Screen Design
Architectural Design & Detail Design
5 Report 4 13/02/2023
Database Design
Source Code
Code & Implement
6 14/02/2023 Unit Test cases & report
Iteration 1
Integration Test cases & report
Test plan, test result, unit test, iteration test,
7 Report 5 22/04/2023
system test, accpetance test
Source Code
Unit Test cases & report
Code & Implement
8 18/03/2023 Integration Test cases & report
Iteration 2
System Test cases & report
User Acceptance Tes
8 Report 6 24/04/2023 User Guides
Final Report Final Report
10 Final Product 26/04/2023 User Guides
Presentation Presentation Slides

4. Project Organization
4.1 Team Structure

Team Member Role


Project Manager, Quality Assurance Manager, Designer,
HungNM
Developer, Tester, Business Analyst.
PhucVH Developer, Tester, Business Analyst, Technical Leader, Designer.
HoangDX Developer, Test Leader, Business Analyst, Designer.

HoangNM Developer, Designer, Tester, Business Analyst.

HieuNQ Developer, Tester,Designer, Business Analyst.

4.2 Roles and Responsibilities

Role Responsibility

● Have overall responsibility for the project.


● Plan and develop schedule.
Project Manager
● Assign tasks to members.
● Track members’ work.

Quality Assurance Manager ● Verify the quality of all test cases, code and document .

24 | Page
● Create test plan .
Test Leader ● Monitor testing activities and assign testing tasks to test
members.

● Code front-end and back-end for functionalities


Developer
● Perform Unit Test.

Designer ● Draw Wireframes, Mockups for screens .

● Perform manual Integration Test and System Test, create


Tester
test reports.

● Gather and analyse requirements for the system


Business Analyst
● Take up change requirement requests.

● Design system’s overall architecture.


Technical Leader ● Prepare and train technologies used in projects .
● Oversee and review the work done by other developers .

5. Responsibility Assignments
D~Do; R~Review; S~Support; I~Informed; <blank>- Omitted

Hoangnmhe153789
Hoangdxhe151343
Hungnmhe153613

Phucvhhe153693
Hieunqhe153633
Responsibility

Collect Requirements R,D D D D D

Project Planning & Tracking R,D I I D I


Prepare Project Introduction Document R,D D I I I
Prepare SRS Document R,D I I D I
Prepare Detail design Document R,D D I D D
Draw usecase diagram R,D D D D D
Design Database R,D D D D D
Create Mockups Screen R,D D D D D
Code function: Home Page R,D I I I D
Code function of Student R D I I I
Code function of Organizer R I I D I
Code function of Manager R I I I D
Code function of Admin R,D I D I I

25 | Page
Prepare Test Document D R,D D D D
Prepare other Documents R,D D D D D

6. Project Communications

When, Type, Tool,


Communication Item Who/ Target Purpose
Frequency Method(s)
-Checking progress of
Library or lab
assigned tasks
Daily Meeting All Member 9am every Offline
- Finding solutions for
day.
difficult problems
- Project Manager
Assign Tasks All Member assigns tasks to other Everyday Excel
team members
- Checking progress of
Once a
Weekly Meeting All Member, project - Plan upcoming
week Offline
With Supervisor Supervisor tasks - Update
requirements
Meeting with - Clarify user 13/01/2023 Google Meet,
All Member,
Supervisor and requirements, roles & 02/02/2023 Messenger
Supervisor, Staffs
University Staffs project scope 11/02/2023 group
Twice a
Meeting with G11 - Clarify app and
All Member week Offline
team television requirement

7. Configuration Management
7.1 Document Management
● Management Tools:
○ Google Drive
○ GitLab
● Team leader assigns and describes tasks through Zalo and Excel. All Documents will be
submitted to management tools to keep track of changes. Team leader then collects them all to submit
to the mentor.

7.2 Source Code Management


● Management Tools:
○ GitLab
● Team leader assigns and describes tasks through Zalo. All source code will be pushed to GitLab
for version control. Team leader then pull it back to run on deployment environment.

26 | Page
7.3 Tools & Infrastructures
Category Tools / Infrastructure
Technology ASP.NET MVC, Entity Framework.
Database MySQL 2019
IDEs/Editors Visual Studio 2017
Diagramming DrawIO, Lucidchart
Documentation Google Docs/Sheets/Slides
Version Control GitLab (Source Codes), Google Drive (Documents)
Deployment server FPT cloud server
Communication tools Facebook; Messenger; Google Meet; Zalo
Project management Excel (Schedule), GitLab (Tasks, Defects)

27 | Page
III. Software Requirement Specification
1. Product Overview
● FEMS (FU's Event Management) The system allows students to access FPT University
events and search for events that are appropriate for their schedule and major. FEMS allows FPT
University employees to manage events, respond to events, and store event information via a Google
Drive link. Furthermore, the system simplifies the current event ticketing process by generating tickets
with a QR code.

2. User Requirements
2.1 Actors

No Actor Description
1 Guest Everyone who does not login into the FEMS system.

Students who are studying in FPT University can quickly capture


information about events happening in the school by viewing details of
the event: time, location, event content, event type, special notes of the
event. They can also register to participate in the event and get the
2 Student ticket which will be checked when they join the chosen event, save or
mark events in the personal calendar. After the event, students can give
a score to the event and give feedback on the event attended. In
addition, students can interact with events through feedback, report
the event. Students can also monitor their own event attendance

28 | Page
through a personal calendar (in the form of a weekly schedule) and see
their profile of extracurricular activities.

The organizer is who can represent the student or club organization or


the staff of the departments who wish to create new events at FPT
University. These are the users that can create events. This user will be
granted permission to create the event and after the event is created
3 Organizer by the club’s chairman, the event is not public in the system but goes to
"pending" status. For event creation, chairman is the one who provides
the full information of the event: time, location, number of participants,
event content, event type, event guests, rules participation fees, other
special notes of the event.

The manager is the users with the right to decide whether an event can
go public. They are officials of event organizers, depending on the type
of event that each department can accept or reject events that are
being requested from the Organizer role. After being "accepted", the
4 Manager
event will be readable for all students. Managers can keep track of all
event information as well as information about event participants. This
information will be presented in tables and statistics so that they can
quickly grasp existing problems.

Administrators have a role in managing all accounts, buildings and


campuses Administrator also can active/deactive televisions, and
5 Admin
choose the special event to display. Admin can view all but cannot
modify any information.

29 | Page
2.2 Use Cases
2.2.1 Diagram(s)

Figure 2.2.1.1: Guest’s use case

30 | Page
Figure 2.2.1.2: Student’s use case

31 | Page
Figure 2.2.1.3:. Organizer’s use case

32 | Page
Figure 2.2.1.4: Manager’s use case

33 | Page
Figure 2.2.1.5: Admin’s use case

34 | Page
2.2.2 Descriptions

ID Use Case Actors Use Case Description


01 View public event Guest View the information of
public events on FEMS
system without logging
in.
02 Login by @fpt.edu.vn Guest Perform authentication
mail for every kinds of user.
03 Logout Student, Organizer, Manager, Admin To prevent other users
from stealing
information.
04 View Homepage Student, Organizer, Manager, Admin All the services that serve
user in extracurricular
activities and keep track
the calendar.
05 View profile Student, Organizer, Manager, Admin Student and see own
profile to update the
information includes
avatar, name, major,…
These information could
be used to fill in event
registration form. Some
information in profile of
Organizer can be
accessed by students/
officers in FPT University
in order to contact.
06 Update profile Student, Organizer, Manager, Admin The information of user
profile will be saved and
updated to “View Profile”
screen.
07 View registered events Student Students can see all the
event that they did
register before to
manage their time
schedule and keep track
in participating events
they have registered.
08 View my calendar Student Students can see all
events that they
registered or
bookmarked before.
Besides, they can keep
track all the school &
exam schedule.
09 View event calendar Student, Organizer, Manager, Admin User can see all events
which have been
organized in FPT
University.

35 | Page
10 View all events Student, Organizer, Manager, Admin User can see all the event
which have been
organized in FPT
University.
11 Search event Student, Organizer, Manager, Admin User can search for an
event they want in “view
all event” page.
12 Filter event Student, Organizer, Manager, Admin Users can see all events
which have been
organized in FPT
University and suitable
for their desire.
13 View event detail Student, Organizer, Manager, Admin User can see the detail of
an event.
14 View list feedback Student, Organizer, Manager, Admin User can view all the
feedback of the event.
15 Feedback event Student Student can feedback to
the event.
16 Delete my feedback Student Student can edit own
feedback of the event.
17 Edit my feedback Student Student can edit own
feedback of the event.
18 Bookmark event Student Student can bookmark
the events so the
information of event will
be added to the “View
your calendar” screen.
19 Unbookmark event Student Student can unbookmark
the event.
20 Share event Student, Organizer, Manager, Admin Student can share the
information of event to
the Facebook.
21 Register event Student Student can register to
join an event.
22 Report event Student Helping managers to
grasp the bad content
that exists.
23 Get ticket Student Student can get a ticket
of an event of after they
registered successfully.
24 View bookmarked event Student Student can view the list
of event that they
bookmarked.
25 View checkined event Student Student can view the list
event of event which they
joined.
26 Fill google form Student Student must fill in
google form of an event if
it have.

36 | Page
27 View ticket event Student Student can view ticked
of any event they
registered.
28 Create event Organizer This allows organizer to
create new event.
29 Create google form Organizer This allows organizer to
create google registration
form for new event.
30 Edit form Organizer This allows organizer to
edit the content of
google registration form
for new event.
31 Clear form Organizer This allows organizer to
clear all the content of
google registration form
of new event which is
creating.
32 Save draft Organizer This allows organizer to
save an event and edit it
later.
33 View list draft event Organizer Organizer can see his/her
own draft event.
34 Edit draft Organizer Organizer can edit
his/her draft event.
35 Delete draft Organizer Organizer can delete
his/her draft event.
36 View list pending event Organizer Organizer can see all the
events that are waiting
for Manager’s approval
or rejected.
37 Cancel event Organizer Organizer can cancel
their pending event.
38 Move to draft Organizer Organizer can move the
events which was
rejected by Manager to
draft lists.
39 View my created event Organizer To help organizers to
manage their event
created .
40 View event statistic Organizer, Manager To help users to keep
track their events by
seeing the event
statistics.
41 Export statistic Organizer, Manager To help users export all
the information of the
event to file excel.
42 View list checkedin Organizer, Manager To help organizer and
student manager can see all the
checked-in students.

37 | Page
43 View list registered Organizer, Manager To help organizer and
student manager can see all the
registered students.
44 Upload event document Organizer, Manager Organizer and manager
can load document like
image, document, video
link of an event.
45 Check-in student Organizer User can see the list of
registered students, and
user can check in student
who are present at the
event.
46 Manage tivi display Organizer When create tv,
event Organizer can choose the
setting of display on tv
and choose the supporter
for QR app.
47 View all group Student, Organizer, Manager, Admin User can see the list of
group.
48 Search group Student, Organizer, Manager, Admin User can access the
information of one group
in the quick way through
searching.
49 Sort group Student, Organizer, Manager, Admin User can sort the list of
group.
50 View group infor Student, Organizer, Manager, Admin User can view the detail
of an group.
51 Edit group information Organizer Organizer can change
information of a group.
52 View group member Student, Organizer, Manager, Admin User can see the list of
group member.
53 Add Organizer to group Organizer Organizer (who is leader)
can add members to
group to contribute in
organizing events better.
54 Remove organizer Organizer Organizer can remove
members out of group if
they are no longer having
contribution in the group.
55 Create category Manager Manage can keep track
the categories of event
through creating new
category.
56 Display on home page Manager Choose what event will
be display on home page.
57 Edit category Manager Manage can keep track
the categories of event
.through editing
information of the
category.

38 | Page
58 Delete category Manager Manage can keep track
the categories of event
through deleting
information of the
category.
59 Manage event featured Manager Manager can make an
event become featured,
so that students can
notice about that event
better.
60 View list pending events Manager Manager can make an
event become featured,
so that students can
notice about that event
better.
61 Reject event Manager Manage can reject the
event which is not
qualified.
62 Approve event Manager Manage can make an
event become readable
by every students when
he/she approve or
“accept” that event.
63 View report list Manager Manage can view list of
report.
64 Dismiss report Manager Manage can keep track
all the report well
through blocking event or
dismiss the report.
65 Block event Manager Manage stops an event in
order to change
information of in
emergency situation.
66 Change Leader Manager Manager can change
leader of a group.
67 Delete group Manager Manage can keep track
the groups of event
through deleting
information of the
category.
68 Create group Manager Manage can keep track
the groups through
creating new group.
69 Move event to draft Manager Manager can move a
event to draft event it
still happening in
emergency situation.
70 View list account Admin Admin can have a big
picture about the people
who have special roles in
this system.

39 | Page
71 View account detail Admin Admin can view the
information of an
account.
72 Edit account role Admin Admin can change the
information of the
account in order to assign
tasks appropriately.
73 Create account Admin Admin can grant
permission for a new
account through this.
74 Search account Admin Admin can access the
information of one
account in the quick way
through searching.
75 Fillter account Admin Admin can access the
information of one
account in the quick way
through filtering.
76 View campus list Admin Admin can view campus
list.
77 Create campus Admin Admin can create
campus, which allow
event in specific campus.
78 Edit campus Admin Admin can update
campus name.
79 View building list Admin Admin can view building
list.
80 Create building Admin Admin can create
building , which allow tv
can show in specific
building .
81 Edit building Admin Admin can update
building name and
building location.
82 Search building Admin Admin can search a
building by it name.
83 Delete building Admin Admin can delete a
building
84 View televison list Admin Admin can view building
list of televison.
85 Active/Deactive Admin Admin can active a
television television to make it
available to play event
video or deactivate to
stop play.
86 Manage televison Admin Admin can make one
special event event on television
become special - only
show that event.

40 | Page
87 View notification Student, Organizer, Manager, Admin If system have any
update it will be notice in
the notification box.

3. Functional Requirements
3.1 System Functional Overview
3.1.1 Screens Flow

Figure 3.1.1.1. Student’s use case

41 | Page
Figure 3.1.1.2. Organizer’s use case

42 | Page
Figure 3.1.1.3. Admin’s use case

43 | Page
Figure 3.1.1.4. Manager’s use case

3.1.2 Screen Descriptions


# Feature Screen Description
1 Authentication Login Sign in, authenticate, authorize redirect user to right page
2 Authentication Logout Undo sign in information.
3 View HomePage Admin Index All the services that serve admin
4 View HomePage Manager Index All the services that serve manager
5 View HomePage Organizer Index All the services that serve organizer
6 View HomePage Student Index All the services that serve student
7 Manage Account View All Account Display all account, their role.
8 Manage Account Create Account Create new account and set role for that account
9 Manage Account Edit Account Change account roles
10 Manage Group View All Group Display all group exited
11 Manage Group View Group Display information of that group, members, leader
12 Manage Group Create Group Create a new group and set a leader for it.
13 Manage View All Smart
television Tv Show list of all Tv, user can sort, filter, turn tv on or off.
14 Manage Show Events On
television Tv view all event displays on certain tv.
15 Display all buildings exited, users can sort and filter the
Manage Building View All Building list.

44 | Page
16 Create New
Manage Building Building Create new building
17 Manage Building Edit Building Edit name of the building
18 Manage View All
Notification Notification Display list of notifications that user have.
19 Display list of events, user can sort, filter, search event.
Manage Event View All Event move event to draft.
20 Manage Event View Event Show detailed information of an event.
21 View Event View number of people registered, checkin, rating points,
Manage Event Statistic feedback,...
22 Manage Feature Show all events and which one on that list is featured.
Manage Event Event Users can make an event feature to make it not.
23 Manage Pending View all pending events, accept/cancel that event
Manage Event Event request.
24 Manage Event Edit Draft Event Edit event’s information.
25 Manage Event’s
Manage Event materials Show, create , delete material
26 Manage View All
Category Category Display list of category, make category visible/invisible
27 Manage
Category Edit Category Change category information
28 Manage Create New
Category Category Create New Category
29 Display all report to every event, dismiss report, dismiss
Manage Report View All Report event
30 View all your personal information, and can edit a few
fields (first name, last name, phone number, profile
Manage Profile Manage Profile image)
31 Manage
Calendar View Calendar Display student’s classes, exams and events schedule.
32 Manage Campus View All Campus Display all campuses in the system.
33 Manage Campus Edit Campus Edit campus information
34 Manage Campus Create Campus Create a new campus
35 Manage your
Event Create Event Create or Save draft a new event
36 Manage your View Your Draft
Event Event Display list of draft events, edit/delete a draft event
37 Manage your
Event Edit Draft Event Edit a draft event
38 Manage your View Your
Event Pending Event Display list of pending events, cancel a draft event
39 Manage your View All Your Display list of all events, check in or view statistic of an
Event Events event
40 Manage your Manage Event
Event Check Ins Display list of registered students, check-in for students
41 Manage your View Your View number of people registered, checkin, rating points,
Event Event Statistic feedback,...
42 Manage Profile Manage Profile Display and edit information of current user
43 Display detailed information of an event,
View Event View Event register/bookmark/feedback/report that event

45 | Page
44 View Registered Display a list of registered events, view ticket details of
View Event Events that event
45 Show
Bookmarked Display a list of bookmarked events, cancel the bookmark
View Event Event of that event
46 View CheckIn
View Event Event Display a list of checked-in events

3.1.3 Screen Authorization

Screen Guest Student Organizer Manager Admin


Login X X X X X
Student index X
Organizer index X
Manager index X
Admin index X
View Event X X X X X
Register X
Bookmark X
Report X
Feedback X
Share Facebook X
View Registered Events X
View Ticket X
Show Bookmarked Event X
Cancel Bookmark X
View Check-in Event X
View All Events X X X X
Search/Filter Event X X X X
View Event Detail X X X X
View Event Statistic X
View Organizer’s Profile X X X X
Move Event to Draft X
View All Group X X X
Search/Filter Group X X X X
View Group X X X X
View Leader’s Profile X X X X
Edit Group Information X
Change Group Leader X
Remove Group X
View Your Event Calendar X
View Event Detail X
View Group X X X X
View Group Member X X X X
Add Group Member X

46 | Page
Edit Group Information X
Change Group Leader X
Remove Group X
Create/Save Draft Event X
View All Your Events X
Search/Filter X
View Your Draft Events X
Edit Draft Event X
Delete Draft Event X
View Your Pending Events X
Move Event to Draft X
View University Event X X X
Calendar
Filter X X X X
View Event Detail X X X X
Manage Pending Events X
Search Pending Event X
Manage Featured Events X
Search/Filter Event X
Confirm Featured Event X
View All Reports X
Cancel Event X
Ignore Report X
View All Categories X
Edit Category X
Remove Category X
Edit Category X
Display Category X
Create Category X
Create Group X
View All Accounts X
Search/Filter Account X
Edit Account X
Create Account X
View All Campus X
Create Campus X
Edit Campus X
View All Smart Tv X
Search/Filter Smart Tv X
Enable/Disable Smart Tv X
Show Events On Tv X
Show Event On Tv X
Promote/Demote Event X
on Tv
View All Building X
Create Building X

47 | Page
Edit Building X
Remove Building X

3.1.4 Non-Screen Functions


# Feature System Function Description

1 Authentication IsStudent Check if user is Student

2 Authentication IsOrganizer Check if user is Organizer

3 Authentication IsManager Check if user is Manager

4 Authentication IsAdmin Check if user is Admin

Authentication IsCurrentlyUnassi
5 User role haven’t being assigned
gned

Authentication IsCurrentlyStude
6 User role have being assigned and that role is student
nt

Authentication IsCurrentlyOrgani
7 User role have being assigned and that role is student
zer

Authentication IsCurrentlyMana
8 User role have being assigned and that role is student
ger

9 Authentication IsCurrentlyAdmin User role have being assigned and that role is student

10 Authentication GetCurrentRole User role have being assigned and that role is student

11 Authentication GetProfile Get information to fill profile input

12 Authentication GetMajors Fill “Chuyên ngành” field

13 Authentication GetCity Fill “Thành phố”

14 Manage account GetUser Set session for user after user login into the system

15 Manage group GetGroups Return list of group that user participated.

16 View Event GetCalendars Get information to fill user calender

17 View Event ToDateString Convert default DateTime value into dd/MM/yyyy

18 View Event ToTimeString Convert default DateTime value into HH:mm

19 View Event GetPage Set up pagination for a webpage

20 View Event GetWeek GetList of weeks to set up the format of a calendar

21 Manage Your Event CreateForm Create google form to add to CreateEvent

Manage Your Event ExportEventStatis Export event information for manager after that event
22
tics close

23 Manage notification SetMessage Display message for a page system want to notify user

48 | Page
Manage notification Add Notification
24 Send notification for a list of people
(For group)

25 Manage notification Add Notification Send notification for 1 person

3.1.5 Entity Relationship Diagram

Entities Description

# Entity Description
1 User Used to store email, user’s role

49 | Page
2 Event Used to store Event data like start date, end date, capacity, …
3 Group Used to store Groups
4 Campus Used to store Campuses
5 Building Used to store Buildings
6 SmartTv Used to store SmartTvs
7 Category Used to store Categories
8 Notification Used to store Notifications
9 EventData Used to store event related files, materials
10 Form Used to store event’s register form
11 EventFamily Used to store event families
12 Checkin Used to store checkins by users to some events
13 Report Used to store user’s reports of about an event
14 Feedback Used to store user’s feedbacks about an event
15 Register Used to store user’s register time and tickets to an event
16 UserProfile Used to store user’s personal information
17 Bookmark Used to store user’s interested event
18 FeedbackOuter Used to store feedback from facebook

3.2 Authentication
3.2.1 Login by @fpt.edu.vn mail

50 | Page
Use case ID: UC-02 Use case name: Login by @fpt.edu.vn
mail

Author: HungNM Date: 23/01/2023

Primary actors: Guest Secondary actors: N/A

Description: User can login into FEMS system

Pre-conditions: User has not logged into FEMS system.

Post-conditions User logged in with his/her account, role of user will be displayed
in the top menu and the system redirects user to the Homepage
screen depending on the role of user.

1. User visits Login Screen of FEMS website


Main flow:
2. System displays the Login screen of FEMS website.
3. User clicks “Login” button.
4. System redirects to Google mail system to verify @fpt.edu.vn
email of user.
5. User logs into Google mail system by @fpt.edu.vn email.
6. System redirects user to the Homepage screen depending on
the role(s) of the user.

Extension flow: Extension flow 1:


1. User inputs data in step 3, the input breaks one or some
of business rules.

2. System displays error message(s) on the login form.

Extension flow 2:
1. User logins with invalid email.
2. System displays error message on the login form.

Exception flow:
N/A

51 | Page
Priority: High

Frequency of use: High

Business rules: BR-01

3.2.2 Logout

Use case ID: UC-03 Use case name: Log out

Author: HungNM Date: 23/01/2023

Student,Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin

Description: To prevent other users from stealing information.

Pre-conditions: User has logged into FEMS system.

Post-conditions - User is logged out of the system


- Browser displays Login screen
- Access token will be cleared on the browser

1. User clicks on the “Logout” button on the top right of the


Main flow:
menu header.
2. System clears the access token on the browser and displays Login
screen.

52 | Page
Extension flow: N/A

Exception flow: N/A

Priority: High

Frequency of use: High

Business rules: N/A

53 | Page
3.2.3 View public event

54 | Page
Use case ID: UC-01 Use case name: View public event

Author: HungNM Date: 23/01/2023

Student,Organizer,M
Primary actors: Secondary actors: N/A
anager, Admin

Description: View the information of public events on FEMS system without


logging in.

Pre-conditions: User receives the link of public event.

Post-conditions User can access all the information of the public event.

1. Guest clicks to a link of a public event on Internet.


Main flow:
2. System displays all the information of that event, it
includes: event name, cover image, event status, event
description, place, fee (if have), target participants, register close
time, organizer (who is responsible for organizing the event),
group (a team in charge of organizing), organizing time, category
of event, rating of event, feedback of event

Extension flow: Extension flow 1:


1. Guest clicks to a link of a non-public event.
2. System redirects user to Login screen.

Exception flow: N/A

Priority: Low

Frequency of use: Low

Business rules: N/A

55 | Page
3.3 View Homepage
3.3.1 View Homepage

Home Page - Student

56 | Page
Home Page - Manager

Home Page - Organizer

57 | Page
Home Page - Administrator

Use case ID: UC-04 Use case name: View Homepage

Author: HungNM Date: 23/01/2023

Student,Organizer,M
Primary actors: Secondary actors: N/A
anager, Admin

Description: All the services that serve user in extracurricular activities and keep
track the calendar.

Pre-conditions: User has logged into FEMS website.

Post-conditions “Homepage” screen will be shown.

Main flow 1: Role Student


Main flow:
1. Student logs in FEMS system successfully.

58 | Page
2. System displays “Student Homepage” screen with the options
below:
- View events (UC-13)
View my calendar (UC-08)
View all events (UC-10)
View registered events (UC-21 )
- Manage your account
Update profile (UC-06)
- View groups
View all groups (UC-47)
Above the menu of options, the featured event bar which
includes floating events in the current time that are managed by
the manager (related to UC-59) is showing up.

Main flow 2: Role Organizer

1. Organizer logs in FEMS system successfully.


2. System displays “Organizer Homepage” screen with the
options below:

- Manage your events

Create event (UC-28)


View all your events (UC-39) View list draft
events (UC-33) View list your pending
events (UC-36)

- Manage your account

Update profile (UC-06)


- View groups
View all groups (UC-47)
- View events
View all events (UC-10)
View university event calendar (UC-09)
Above the menu of options, the events of the organizer which have
status is happening in the current time (related to UC-39) is
showing up.

59 | Page
Main flow 3: Roler Manager

1. Manager logs in FEMS system successfully.


2. System displays “Manager Homepage” screen with the
options below:
- Manage events
View all events (UC-10)
View university event calendar (UC-09)
View list pending event(UC-60)

View all reports (UC-63)

- Manage categories
View all categories (UC-58)
Create category (UC-55)
- Manage groups
View all groups (UC-47)

Main flow 4: Role Admin

1. Admin logs in FEMS system successfully.


System displays “Admin Homepage” screen with the options
below:
- Manage account
View all accounts (UC-70)
Create account (UC-73)
- View events
View all events (UC-10)
View university event calendar (UC-09)
- View groups
View all groups (UC-47)
- Manage televison
View all televison(UC-84)
Create account (UC-73)
- Manage campus
View all campus (UC-76)
- Manage building
View building list (UC-79)

60 | Page
Extension flow: N/A

Exception flow: N/A

Priority: High

Frequency of use: High

Business rules: N/A

61 | Page
3.4 Manage your account
3.4.1 View profile

Use case ID: UC-05 Use case name: View profile

Author: HungNM Date: 23/01/2023

62 | Page
Student,Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin

Description: Student and see own profile to update the information includes
avatar, name, major,… This information could be used to fill in
event registration form.
Some information in profile of Organizer can be accessed by
students/officers in FPT University in order to contact.

Pre-conditions: Student/ Organizer has logged into FEMS website.

Post-conditions “View Profile” screen will be shown.

1. User clicks “His/her name” button on Home screen.


Main flow:
2. System shows “Manage Profile” screen which includes: Avatar
of student/ organizer and “Upload Image” button to change
anothert image, first name, last name, phone, dob, roll number,
campus, major, specialization, recent events (if organizer).

Extension flow: N/A

Exception flow: Exception flow 1: System cannot communicate with API server. At
step 2, system displays error message.

Priority: Medium

Frequency of use: Low

Business rules: N/A

3.4.2 Update profile

63 | Page
Use case ID: UC-06 Use case name: Update profile

Author: HungNM Date: 23/01/2023

Student,Organizer,M
Primary actors: Secondary actors: N/A
anager, Admin

64 | Page
Description: All the services that serve user in extracurricular activities and keep
track the calendar.

Pre-conditions: Student/ Organizer has logged into FEMS website.

Post-conditions “View Profile” screen will be shown.

1. User changes information of the profile and clicks “Hoàn Thành”


Main flow:
button.
2. System updates information of user’s profile in database and
shows
new profile to user.

Extension flow: Extension flow 1:


1. User inputs data in step 1 violates one or some of business rules.
System displays error message(s) on the feedback form.

Exception flow: N/A

Priority: Medium

Frequency of use: High

Business rules: ● BR-02


● BR-03
● BR-04
● BR-05

65 | Page
3.5 View event
3.5.1 View registered event

Use case ID: UC-07 Use case name: View registered event

Author: HungNM Date: 23/01/2023

Primary actors: Student Secondary actors: N/A

Description: Students can see all the event that they did register before to manage
their time schedule and keep track in participating events they have
registered.

Pre-conditions: Student has logged into FEMS website.

66 | Page
Post-conditions “View registered event” screen will be shown.

1. Student clicks “Xem sự kiện đăng ký” button at the home menu.
Main flow:
2. System show list of events that student have registered.

Extension flow: N/A

Exception flow: 1. Student clicks “Xem sự kiện đăng ký” button at the home menu.
2. If there is no data found the system will show message “Bạn
chưa đăng ký sự kiện nào”.

Priority: High

Frequency of use:
Medium

Business rules: N/A

67 | Page
3.5.2 View my calendar

Use case ID: UC-08 Use case name: View my calendar

Author: HungNM Date: 23/01/2023

Student
Primary actors: Secondary actors: N/A

Description: Students can see all events that they registered or bookmarked
before. Besides, they can keep track all the school & exam schedule

Pre-conditions: Student has logged into FEMS website.

68 | Page
Post-conditions “View your event calendar” screen will be shown.

1. Student clicks to “Lịch sự kiện của tôi” button at the home menu.
Main flow:
2. System shows “View your event calendar” screen with these parts:

- Week calendar from Monday to Sunday, which divided


into time zones by day and the calendar shows these events
which are bookmarked or registered as well as school &exam
schedule will be shown on this calendar. Student can see the
information of the event through clicking directly to the event on
the calendar.
- “Tuần trước” button: click this to show the previous week

- “Tuần này” button: click this to show the next week

-Between both “Tuần trước” & “Tuần này” is a box which shows the
current day and student can choose another day to move into another
week (which includes that day)

Extension flow: N/A

Exception flow: Exception flow 1: System cannot communicate with API server. At
step 2, system doesn’t display school & exam schedule.

Priority: High

Frequency of use: High

Business rules: N/A

69 | Page
3.5.3 View event calendar

Use case ID: UC-09 Use case name: View event calendar

Author: HungNM Date: 23/01/2023

Organizer, Manager,
Primary actors: Secondary actors: N/A
Admin

Description: User can see all events which have been organized in FPT University.

Pre-conditions: Student has logged into FEMS website.

70 | Page
Post-conditions “View university event calendar” screen will be shown.

1. User clicks to “View university event calendar” button at the


Main flow:
home menu.
2. System shows “View university event calendar” screen
with these parts:

- Week calendar from Monday to Sunday, which divided

- “Tuần trước” button: click this to show the previous week


- “Tuần sau” button: click this to show the next week
- Between both “Tuần trước” & “Tuần sau” is a box which
shows the current day and student can choose another day to
move into another week (which includes that day)

- “Filter” button: Click this button, a filter box will showup to user to
find out suitable events.

Extension flow: N/A.

Exception flow: N/A.

Priority: High.

Frequency of use: High.

Business rules: N/A.

71 | Page
3.5.4 View all events

View all events - Organizer, Student,Admin

View all events - Manager

72 | Page
Use case ID: UC-10 Use case name: View all events

Author: HungNM Date: 23/01/2023

Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin

Description: User can see all the event which have been organized in FPT
University.

Pre-conditions: User has logged into FEMS website.

Post-conditions “View all events” screen will be shown up.

1. User clicks to “Xem sự kiện” button at the home menu.


Main flow:
2. System show “View all events” screen with these parts:
- View all events label
Search and filter form which includes: search input which allows user
to find name of events; filter part includes Category, Organized by,
Status (Opening and Happening | Opening | Happening | Closed),
Range and Display (by Grid or List). And “Tìm kiếm” button.
- List of event will be shown up follow by search and filter. The
properties of an event are: Cover of event, event name, sum up
description, status of event, open date & end date, organizing
place, organizer and “Chi tiết” button, “Đăng ký” button (in case
these event have application form opened)

Extension flow: N/A

Exception flow: N/A.

Priority: High

Frequency of use: High

73 | Page
Business rules: N/A

3.5.5 Search event

74 | Page
Use case ID: UC-11 Use case name: Search event

Author: HungNM 23/01/2023


Date:

Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin

Description: Users can search events which have been organized in FPT University
and suitable for their desire.

Pre-conditions: User has logged into FEMS website.

Post-conditions The appropriate events in “View all events” screen will be shown up.

1. User clicks to “Tất cả sự kiện” button at the home menu.


Main flow:
2. System shows “View all events” screen.
3. User fills an event name in Event name input box and clicks
“Tìm kiếm” button. System shows appropriate results for users.

Extension flow: N/A

Exception flow: N/A.

Priority: High

Frequency of use: High

Business rules: N/A

75 | Page
3.5.6 Filler events

Use case ID: UC-12 Use case name: Filler events

Author: HungNM 23/01/2023


Date:

Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin

Description: Users filter before all events which have been organized in FPT
University and suitable for their desire.

Pre-conditions: User has logged into FEMS website.

Post-conditions Appropriate events will be shown.

76 | Page
1. User clicks to “Xem lịch sự kiện” button at the home
Main flow:
menu.

2. System shows “View university event calendar” screen.

3. User clicks “Sàng lọc danh sách” button.


4. System shows Filter box includes Category field and Organized
by
field.
5. User chooses category, organizer/ group to filter and clicks
“Sàng lọc danh sách”
button.
6. System shows appropriate calendar for users.

Extension flow: Extension flow 1: User wants to filter events at “View all events”
screen.
1. User clicks to “View all events” button at the home menu.
2. System shows “View all events” screen.
3. User chooses category of events, organizer or group which
organized events, status of events (Opening and Happening |
Opening | Happening | Closed), Range (From day till day) and
clicks “Search” button.
System shows appropriate events for users in the form of Grid or
List.

Exception flow: N/A.

Priority: High

Frequency of use: High

Business rules: N/A

77 | Page
3.5.7 View event detail

Use case ID: UC-13 Use case name: View event detail

Author: HungNM Date: 23/01/2023

Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin

Description: User can view all the feedback of the event

Pre-conditions: User has logged into FEMS website.

Post-conditions Appropriate events will be shown.

1. User clicks to “Xem sự kiên” button at the home menu.


Main flow:
2. System shows “View all events” (UC-10) screen.
3. User clicks to one of events in “View all events” screen.
4. Systsem shows “View event detail” screen which includes
these parts:

78 | Page
- Event name label
- Event information includes: time, organizing place, status
of event, fee, rating, number of people will go to this event,
number of sharing, event description, oraganizer and groups,
category of event
- “Báo cáo” button (related to UC-22): to report bad
content of this event

- “Đăng ký” button (related to UC-21)

- “Quan tâm” button (related to UC-18)


- “Chia sẻ” button (related to UC-20)
- View List Feedback (related to UC-14)
- Related event: list of events have the event family
Family event: list of events is organized in chain with this events.

Extension flow: Extension flow 1: Student click on event at his/her home page

Exception flow: N/A.

Priority: High

Frequency of use: High

Business rules: N/A

79 | Page
3.5.8 View list feedback

Use case ID: UC-14 Use case name: View list feedback

Author: HungNM Date: 23/01/2023

Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin

Description: User can view all the feedback of the event.

Pre-conditions: User has logged into FEMS website.

Post-conditions User can view all the feedback of the event.

1. System shows “View event detail” screen, at the end of


Main flow:
page is “List of feedback” part. It includes list of feedback, each
field includes these properties:

- Name of students or guest

- Title of feedback

80 | Page
- Content of feedback: Text area
- Hyperlink “Report this”

Extension flow: Extension flow 1: At step 2, if the event hasn’t had any feedback
yet, in the “Xem mọi người nghĩ gì nào” part system shows: “No
body hasn’t feedback yet”
Extension flow 2: At step 2, if user haven’t feedbacked yet, in the
“List of feedback” part, system shows: “Bạn chưa có phản hồi, bạn
có muốn viết không?” and “Phản hồi” button

Exception flow: N/A.

Priority: High

Frequency of use: High

Business rules: N/A

3.5.9 Feedback event

81 | Page
Use case ID: UC-15 Use case name: Feedback event

Author: HungNM 23/01/2023


Date:

Student
Primary actors: Secondary actors: N/A

Description: User can feedback to the event..

Pre-conditions: User has logged into FEMS system and in “View event detail” screen.

Post-conditions User can view the new list of feedback which include his/her
feedback updated in the first place.

1. User clicks “Phản hồi” button.


Main flow:
2. System shows the feedback box includes these fields: cover
of event, event name, feedback textarea, the vote bar (5 stars),
“Close” button, “Save changes” button.
3. User fills in the form of feedback, rate for the event and
clicks “Save changes” button.
4. System updates the information of the new feedback of
user at the top of the list feedback of the event.”

Extension flow: N/A.

Exception flow: N/A.

Priority: High

Frequency of use: High

Business rules: N/A

82 | Page
3.5.10 Delete my feedback

Use case ID: UC-16 Use case name: Delete my feedback

Author: HungNM Date: 23/01/2023

Student
Primary actors: Secondary actors: N/A

Description: User can delete own feedback of the event.

Pre-conditions: User has logged into FEMS system and in “View event detail” screen.
User have already feedbacked..

Post-conditions User delete own feedback successfully.

1. User clicks “Delete” button.


Main flow:
2. System shows confirmation box.
3. User clicks “Yes” button.
System deletes the current feedback of user.

Extension flow: Extension flow 1:


1. At step 3 of main flow, User clicks “Cancel” button.
Systems show “View event detail” without changing anything

Exception flow: N/A.

Priority: Medium

Frequency of use: High

Business rules: N/A

83 | Page
3.5.11 Edit own feedback

Use case ID: UC-17 Use case name: Edit own feedback

Author: HungNM Date: 23/01/2023

Primary actors: Student Secondary actors: N/A

Description: User can edit own feedback of the event.

Pre-conditions: User has logged into FEMS system and in “View event detail” screen.
User have already feedbacked..

Post-conditions User delete own feedback successfully.

1. User clicks “Sửa” button.


Main flow:
2. System shows the feedback box includes these fields: cover of
event, event name, feedback textarea, the vote bar (5 stars), “Close”
button, “Save changes” button.
3. User changes the content of feedback, rate (again) the event
and
clicks “Save changes” button.
4. System updates the information of the feedback.

Extension flow: Extension flow 1:


1. At step 3 of main flow, User clicks “Cancel” button.
2. Systems show “View event detail” without changing anything.
Extention flow 2:
1. User inputs data in step 3 violates one or some of business rules.
System displays error message(s) on the login form.

Exception flow: N/A.

84 | Page
Priority: Medium

Frequency of use: High

Business rules: BR-06

85 | Page
3.5.12 Bookmark event

86 | Page
Use case ID: UC-18 Use case name: Bookmark event

Author: HungNM 23/01/2023


Date:

Student
Primary actors: Secondary actors: N/A

Description: Student can bookmark the events so the information of event will be
added to the “View your calendar” screen.

Pre-conditions: Student has logged into FEMS system and in “View event detail”
screen

Post-conditions An event added to “View your calendar” screen

1. Student clicks “Quan tâm” button.


Main flow:
2. System adds the event to “View your calendar” screen and the
“Quan tâm” button becomes “Không quan tâm” button.

Extension flow: Extension flow 1: If the time of the bookmark event matches the
time of another event in “View your calendar” screen, systems will
display a notification to mention the event coincidence in the
calendar.

Exception flow: N/A.

Priority: Medium

Frequency of use: High

Business rules: N/A

87 | Page
3.5.13 Unbookmark event

Use case ID: UC-19 Use case name: Unbookmark event

88 | Page
Author: HungNM Date: 23/01/2023

Primary actors: Student Secondary actors: N/A

Description: Student can unbookmark the events so the information of event will
be added to the “View your calendar” screen.

Pre-conditions: Student has logged into FEMS system and in “View event detail”
screen

Post-conditions An event added to “View your calendar” screen

1. Student clicks “Không quan tâm” button.


Main flow:
2. System adds the event to “View your calendar” screen and the
“Không quan tâm” button becomes “Quan tâm” button.

Extension flow: Extension flow 1: If the time of the bookmark event matches the
time of another event in “View your calendar” screen, systems will
display a notification to mention the event coincidence in the
calendar.

Exception flow: N/A.

Priority: Medium

Frequency of use: High

Business rules: N/A

89 | Page
3.5.14 Share event

Use case ID: UC-20 Use case name: Share event

90 | Page
Author: HungNM Date: 23/01/2023

Primary actors: Student Secondary actors: N/A

Description: Student can share the information of event to the Facebook

Pre-conditions: Student has logged into FEMS system and in “View event detail”
screen

Post-conditions A post about the event will be posted on Facebook

1. Student clicks “Chia sẻ” button.


Main flow:
2. System redirects user to Facebook, system asks user sign-in
Facebook if user have not logged in before
3. Student logs in Facebook and clicks “Share post” button of
Facebook
4. A new post about event has been created on Facebook. System
updates the number of share.

Extension flow: Extension flow 1:


1. At step 3 of main flow, Student clicks “Cancel” button.
2. Systems shows “View event detail” screen without changing
anything.

Exception flow: Exception flow 1:


1. At step 1 of main flow if the facebook API have problem, the
system will show the Facebook error page.

Priority: Medium

Frequency of use: High

Business rules: N/A

91 | Page
3.5.15 Register event

92 | Page
Use case ID: UC-21 Use case name: Register event

Author: HungNM Date: 23/01/2023

Primary actors: Student Secondary actors: N/A

Description: User can register to the event.

Pre-conditions: User registers to event successfully.

Post-conditions A post about the event will be posted on Facebook

1. User clicks “Đăng ký” button.


Main flow:
2. System redirects user to Google form page frames.
3. User fills in form and clicks “Submit” button.
4. System redirects user to “View event detail” screen, the “Đăng
ký” button becomes “Hủy đăng ký” button, the “Quan tâm” button
becomes “Không quan tâm” button. A event will be atomatically
added to View your calendar screen of Student.

Extension flow: Extension flow 1: If the current date is later than the deadline of
registering date, system will not show the “Đăng ký” button on the
“View event detail” screen.
Extension flow 2: If student has not joinin in the target group and
the event that student wants to join has some target groups, system
will not show the “Đăng ký” button on the “View event detail”
screen.

Exception flow: N/A

Priority: Medium

Frequency of use: High

93 | Page
Business rules: N/A

3.5.16 Report event

94 | Page
Use case ID: UC-22 Use case name: Report event

Author: HungNM Date: 23/01/2023

Primary actors: Student Secondary actors: N/A

Description: User can report an event that invalid.

Pre-conditions: User has logged into FEMS system and in “View event detail” screen.

Post-conditions Bad content will be sent to the manager.

1. User clicks “Báo cáo” button.


Main flow:
2. System shows “Báo cáo” box with the fields:
- “Bạn đang tố cáo sự kiện [EventName] label
- Report content textarea
- “Close” button and “Send” button
3. User write report content and clicks “Send” button.
A report will be sent to Manager. A message shows up: “Your report
has been successfully sent.”

Extension flow: N/A

Exception flow: Extension flow 1:


1. At step 3 of main flow, User clicks “Cancel” button.
2. Systems show “View event detail” without changing anything.

Priority: Medium

Frequency of use: Medium

Business rules: N/A

95 | Page
3.5.17 Get ticket

Use case ID: UC-23 Use case name: Get ticket

Author: HungNM Date: 23/01/2023

Primary actors: Student Secondary actors: N/A

Description: Student can get a ticket after register event success

Pre-conditions: User has logged into FEMS system and registered a event in “View
event detail” screen.

Post-conditions A ticket with QR code will show

1. User clicks “Đăng ký” button.


Main flow:
2. System shows google form box with the fields:

96 | Page
3. User write content and clicks “Send” button.
4. System will open the page register event.

Extension flow: Extension flow 1: If the current date is later than the deadline of the
registration date, the system will not show the “Đăng ký” button on
the “View event detail” screen.
Extension flow 2: If a student has not joined the target group and
the event that student wants to join has some target groups, the
system will not show the “Đăng ký” button on the “View event
detail” screen.

Exception flow: Extension flow 1:


1. At step 3 of main flow, User clicks “Cancel” button.
2. Systems show “View event detail” without changing anything.

Priority: Medium

Frequency of use: Medium

Business rules: N/A

97 | Page
3.5.18 View bookmarked event

Use case ID: UC-24 Use case name: View bookmarked


event

Author: HungNM Date: 23/01/2023

Primary actors: Student Secondary actors: N/A

Description: Student can view the list of event that they bookmarked.

Pre-conditions: User has logged into FEMS system.

Post-conditions System show the list of event.

98 | Page
Main flow: 1.Student click on “Sự kiện quan tâm” to open
ShowBookmarkedEvent page
2. System show the list of event they bookmarked.

Extension flow: N/A

Exception flow: 1.Student click on “Sự kiện quan tâm” to open ViewRegisteredEvents
2. If there is no data fount the system show message “Bạn chưa quan
tâm sự kiện nào”.

Priority: Medium

Frequency of use: Medium

Business rules: N/A

99 | Page
3.5.19 View checked-in event

View checked-in event


Use case ID: UC-25 Use case name:
event

Author: HungNM Date: 23/01/2023

Primary actors: Student Secondary actors: N/A

Description: Student can view the list of event which they joined

Pre-conditions: User has logged into FEMS system.

Post-conditions A ticket with QR code will show

100 | Page
Student click on “Sự kiện đăng ký” to open ViewRegisteredEvents
Main flow:

Extension flow: N/A

Exception flow: N/A

Priority: Medium

Frequency of use: Medium

Business rules: N/A

3.5.20 Fill google form

Use case ID: UC-26 Use case name: Fill google form

Author: HungNM Date: 23/01/2023

101 | Page
Primary actors: Student, Organizer Secondary actors: N/A

Description: Student must fill a google form if it require a form.

Pre-conditions: User has logged into the FEMS system and registered an event in the
“View event detail” screen and clicked the “đăng ký ngay ” button.

Post-conditions N/A

1.Student clicks on “Đăng ký” button “View event detail” screen.


Main flow:
2. System the new google form window opens, student can input their
details and submit.

Extension flow: N/A

Exception flow: N/A

Priority: Medium

Frequency of use: Medium

Business rules: N/A

102 | Page
3.5.21 View ticket event

Use case ID: UC-27 Use case name: View ticket event

Author: HungNM Date: 23/01/2023

Primary actors: Student Secondary actors: N/A

Description: Student can view his/her registered event ticket.

Pre-conditions: User has logged into FEMS system and registered a event and have
at least one ticket of an event.

Post-conditions System shows ticket of the registered event.

103 | Page
1.Student open the registered event page and click on “Xem vé”
Main flow:
2.System shows ticket of the registered event.

Extension flow: N/A

Exception flow: N/A

Priority: Medium

Frequency of use: Medium

Business rules: N/A

104 | Page
3.6 Manage your event
3.6.1 Create event

105 | Page
Use case ID: UC-28 Use case name: Create event

Author: HungNM Date: 23/01/2023

Primary actors: Organizer Secondary actors: N/A

Description: This function allows organizer to create new event.

Pre-conditions: User has logged into FEMS system.

Post-conditions The information is updated in the database and display in the “View
event detail” screen.

1. Organizer clicks “Tạo sự kiên”button at the home menu.


Main flow:
2. System shows “Create event” screen which includes the create
information.
3. Organizer fills in the form and clicks “Create” button.
4. System saves information of the event and send the request to the
pending list of Manager and redirects organizer to the “View event
detail” screen.

Extension flow: Extension flow 1:


1. At step 3, organizer clicks “Save draft”button, the flow will be related
to UC-32
Extention flow 2:
1. Organizer inputs data in step 3 violates one or some of business
rules.
2. System displays error message(s) on the create form.

Exception flow: N/A

Priority: High

106 | Page
Frequency of use: High

Business rules: - BR-07


- BR-22
- BR-08
- BR-09
- BR-10
- BR-11
- BR-12
- BR-13
- BR-14
- BR-15
- BR-16
- BR-17
- BR-18
- BR-19
- BR-20
- BR-21

107 | Page
3.6.2 Create google form

108 | Page
Use case ID: UC-29 Use case name: Create google form

Author: HungNM Date: 23/01/2023

Primary actors: Organizer Secondary actors: N/A

Description: When create event event , user can create google form for register

Pre-conditions: User has logged into FEMS system and open create event screen

Post-conditions The information is updated in the database and display in the “View
event detail” screen.

1. Organizer clicks “Create event”button at the home menu.


Main flow:
2. System shows “Create event” screen which includes the create
information.
3. Organizer can click on “Tạo form” button.
4. System will ask to open window.

Extension flow: Extension flow 1: When organizer has already created form.
1. Organizer clicks to “Clear form” button.
2. System deletes the registration form which has been existed
before.
Extension flow 2: When organizer has already created form.
1. Organizer clicks to “Edit form” button.
2. System shows the registration form.
3. Organizer changes information of form.
4. System automatically saves form’s information

Exception flow: N/A

Priority: High

Frequency of use: High

109 | Page
Business rules: N/A

110 | Page
3.6.3 Edit Form

111 | Page
Use case ID: UC-30 Use case name: Edit form

Author: HoangDX Date: 23/01/2023

Primary actors: Organizer Secondary actors: N/A

Description: Allows organizer to edit the content of registration form for


new event.

Pre-conditions: User has logged into FEMS system and open create event screen

Post-conditions Content of the registration form will be edited.

1. Organizer clicks “Edit form” button.


Main flow:
2. System redirects organizer to existed google form which
have been already created.
3. Organizer edits the Google form
4. System automatically saves the information of the registration
form.

Extension flow: Extension flow 1: When organizer has already created form.
1. Organizer clicks to “Clear form” button.
2. System deletes the registration form which has been existed
before

Exception flow: N/A

Priority: Medium

Frequency of use: High

Business rules: N/A

112 | Page
3.6.4 Clear Form

113 | Page
Use case ID: UC-31 Use case name: Clear form

Author: HoangDX Date: 23/01/2023

Primary actors: Organizer Secondary actors: N/A

Description: Allows organizer to clear all the content of registration form


of new event which is creating.

Pre-conditions: Organizer has logged into FEMS system and in “Create event” screen
that Organizer has already Create Form before.

Post-conditions Content of the registration form will be edited.

1. Organizer clicks to “Clear form” button.


Main flow:
2. System deletes the registration form which has been existed
before

Extension flow: N/A

Exception flow: N/A

Priority: Medium

Frequency of use: Low

Business rules: N/A

114 | Page
3.6.5 Save Draft

115 | Page
Use case ID: UC-32 Use case name: Save Draft

Author: HoangDX Date: 23/01/2023

Primary actors: Organizer Secondary actors: N/A

Description: Allows organizer to save draft an event.

Pre-conditions: Organizer has logged into the FEMS system.

Post-conditions The information is updated in the database and display in the “View
event detail” screen

1. Organizer clicks “Create event”button at the home menu.


Main flow:
2. System shows “Create event” screen which includes the
create event form.
3. Organizer fills in the form and clicks “Save draft” button.
4. System saves information of the event and send the request
to the draft list (UC-33) and redirects organizer to the “View event
detail” screen.

Extension flow: N/A

Exception flow: Extention flow 1:


1. Organizer inputs data in step 3 violates one or some of business
rules.
2. System displays error message(s) on the create form

Priority: High

Frequency of use: High

Business rules: - BR-07


- BR-22

116 | Page
- BR-08
- BR-09
- BR-10
- BR-11
- BR-12
- BR-13
- BR-14
- BR-15
- BR-16
- BR-17
- BR-18
- BR-19
- BR-20
- BR-21

3.6.6 View list draft event

117 | Page
Use case ID: UC-33 Use case name: View list draft event

Author: HoangDX Date: 23/01/2023

Primary actors: Organizer Secondary actors: N/A

Description: Organizer can see all the drafts of event in list to edit the content of the
event before make it public.

Pre-conditions: Organizer has logged into the FEMS system

Post-conditions Organizer can see all the draft events of his/her own.

1. Organizer clicks “Sự kiện lưu nháp” button at the home


Main flow:
menu.
2. System shows “View your draft events” screen, a draft event
has these properties: Event name, Updated time, “Sửa bản nháp
này” button for each event.

Extension flow: N/A

Exception flow: N/A

Priority: Medium

Frequency of use: High

Business rules: N/A

118 | Page
3.6.7 Edit draft

119 | Page
120 | Page
Use case ID: UC-34 Use case name: Edit draft

Author: HoangDX Date: 23/01/2023

Primary actors: Organizer Secondary actors: N/A

Description: Organizer can edit the draft event.

Pre-conditions: Organizer has logged into the FEMS system

Post-conditions New event is sent to pending list of Manager

1. Organizer clicks “View your draft events” button at the home


Main flow:
menu.
2. System shows “View your draft events” screen.
3. Organizer clicks “Edit draft event” button.
4. System shows “Edit draft event” screen with these fields:
● Event cover image with “Upload Image” button to upload image.
● Name: text field
● Event family: text field
● Event open date & Event close date: date picker
● Event register close date: date picker
● “Create form” button
● “Public” check-box
● “For organizers only” check-box
● Target participants: text field
● Maximum number of registers
● Target groups
● Event description: text area with editor
● Category fields with “Add” button to add categories which is
saved in database.
● Place: text field
● Fee: text field

121 | Page
● Group: dropdown list (show the list that organizer have been
participating in)
● “Create” button
● “Save draft” button
All the fields was filled in by the content of the draft event.
5. Organizer changes information of those fields and clicks
“Create”button.
6. System saves information of the event and send the request
to the pending list of Manager and redirects organizer to the “View
event detail” screen

Extension flow: Extension flow 1:


● At step 5, organizer clicks “Save draft”button, the flow will be
related to UC-32

Extention flow 2:

1. Organizer inputs data in step 3 violates one or some of


business rules.
2. System displays error message(s) on the create form.

Exception flow: N/A

Priority: High

Frequency of use: High

Business rules: - BR-07


- BR-22
- BR-08
- BR-09
- BR-10
- BR-11
- BR-12
- BR-13
- BR-14
- BR-15
- BR-16

122 | Page
- BR-17
- BR-18
- BR-19
- BR-20
- BR-21

3.6.8 Delete draft

Use case ID: UC-35 Use case name: Delete draft

Author: HoangDX Date: 23/01/2023

Primary actors: Organizer Secondary actors: N/A

123 | Page
Description: Organizer can delete the draft event.

Pre-conditions: Organizer has logged into the FEMS system and in “View event detail”
screen

Post-conditions Organizer delete own draft of the event successfully

1. Organizer clicks “View your draft events” button at the home


Main flow:
menu.
2. System shows “View your draft events” screen.
3. Organizer clicks “Xóa bản nháp” button.
4. System shows confirmation box.
5. Organizer clicks “Ok” button.
6. System deletes draft event and redirects user to “view draft
event” screen.

Extension flow: N/A

Exception flow: N/A

Priority: Medium

Frequency of use: Medium

Business rules: N/A

124 | Page
3.6.9 View list pending event

Use case ID: UC-36 Use case name: View list pending event

Author: HoangDX Date: 23/01/2023

Primary actors: Organizer Secondary actors: N/A

Description: Organizer can see all the events that are waiting for Manager’s approval
or rejected.

Pre-conditions: Organizer has logged into the FEMS system

Post-conditions Organizer can see all the draft events of his/her own.

125 | Page
1. Organizer clicks “View your pending events” button at the
Main flow:
home menu.
2. System shows “View your pending events” screen, a pending
event has these properties: Event name, Group, Created date,
Status, “Move to draft” button or “Cancel event” button for each
event.
● If an event has status of “Rejected”, “Move to draft” button
will be shown up.
● If an event has status of “Pending”, “Cancel event” button will be
shown up.

Extension flow: N/A

Exception flow: N/A

Priority: High

Frequency of use: High

Business rules: N/A

126 | Page
3.6.10 Cancel event

Use case ID: UC-37 Use case name: Cancel event

Author: HoangDX Date: 23/01/2023

Primary actors: Organizer Secondary actors: N/A

Description: Organizer can cancel an events that are waiting for Manager’s approval.

Pre-conditions: Organizer has logged into the FEMS system

Post-conditions Organizer can see all the draft events of his/her own.

1. Organizer clicks “View your pending events” button at the


Main flow:
home menu.
2. System shows “View your pending events” screen.

127 | Page
3. Organizer clicks “Hủy sự kiện” button.
4. System moves the cancelled event to draft lists.

Extension flow: N/A

Exception flow: N/A

Priority: Medium

Frequency of use: Low

Business rules: N/A

3.6.11 Move to draft

128 | Page
Use case ID: UC-38 Use case name: Move to draft

Author: HoangDX Date: 23/01/2023

Primary actors: Organizer Secondary actors: N/A

Description: Organizer can move the events which was rejected by Manager to draft
lists.

Pre-conditions: Organizer has logged into the FEMS system

Post-conditions Organizer can see all the draft events of his/her own.

1. Organizer clicks “Sự kiện chờ phê duyệt” button at the home
Main flow:
menu.
2. System shows “View your pending events” screen.
3. Organizer clicks “Lưu bản nháp” button.
4. System moves the rejected event to draft lists

Extension flow: N/A

Exception flow: N/A

Priority: Medium

Frequency of use: High

Business rules: N/A

129 | Page
3.6.12 View my created event

View my created event


Use case ID: UC-39 Use case name:

Author: HoangDX Date: 23/01/2023

Primary actors: Organizer Secondary actors: N/A

Description: To help organizers to manage their event (which have been public).

Pre-conditions: Organizer has logged into the FEMS system

Post-conditions Organizer can view all his/ her events that are Opening, Happening or
Closed.

1. Organizer clicks “Sự kiện của tôi” button at the home menu.
Main flow:

130 | Page
2. System shows “View all your events” screen

Extension flow: N/A

Exception flow: N/A

Priority: Medium

Frequency of use: High

Business rules: N/A

131 | Page
3.6.13 View event statistic

View event statistic


Use case ID: UC-40 Use case name:

Author: HoangDX Date: 23/01/2023

Primary actors: Organizer,Manager Secondary actors: N/A

132 | Page
Description: To help users to keep track their events by seeing the event statistics.

Pre-conditions: Organizer,Manager has logged into the FEMS system

Post-conditions User can see all the registered students, who have been checked-in the
events, the rating of the event, numbers of feedback, and others.

1. Organizer clicks “Sự kiện của tôi” button at the home menu.
Main flow:
2. System shows “View all your events” screen.
3. Organizer clicks “Chi tiết” button
4. System shows “View your event statistics” screen which includes
● Name of the event
● Number of registered students and “View registered students”
button to see all the registered students
● Number of checked-in students
● The average rating of the event
● Number of feedbacks
● “Xuất thông tin ra file excel” button to export the
information of the event
● “View event form statistic” button to view the statistic form
the registration form.
● Registered Students by date
● Registered Students distribution

Extension flow: Extension flow 1:


If user is in the Role of Manager, the flow will be:
1. Manager clicks “Xem sự kiện” button at the home menu.
2. System shows “View all events” screen.
3. Manager clicks “Chi tiết” button
4. System shows “View event statistics” screen which includes:
1. Name of the event
2. Number of registered students and “View registered students”
button to see all the registered students
3. Number of checked-in students
4. The average rating of the event
5. Number of feedbacks
6. “Xuất thông tin ra file excel” button to export the
information of the event
7. Registered Students by date

133 | Page
8. Registered Students distribution

Exception flow: N/A

Priority: Medium

Frequency of use: High

Business rules: N/A

134 | Page
3.6.14 Export statistic

Export statistic
Use case ID: UC-41 Use case name:

Author: HoangDX Date: 23/01/2023

Primary actors: Organizer, Manager Secondary actors: N/A

135 | Page
Description: To help users to get excel file of the event statistics.

Pre-conditions: Organizer has logged into the FEMS system

Post-conditions System will open the excel file include the data of event in a new pages

5. Organizer clicks “Sự kiện của tôi” button at the home menu.
Main flow:
6. System shows “View all your events” screen.
7. Organizer clicks “Chi tiết” button
8. System shows “View your event statistics” screen which includes
● Name of the event
● Number of registered students and “View registered students”
button to see all the registered students
● Number of checked-in students
● The average rating of the event
● Number of feedbacks
● “Xuất thông tin ra file excel” button to export the
information of the event
9. Organizer click button “Xuất thông tin ra file excel” button
10. System shows excel page include data of event

Extension flow: Extension flow 1:


If user is in the Role of Manager, the flow will be:
1. Manager clicks “Xem sự kiện” button at the home menu.
2. System shows “View all events” screen.
3. Manager clicks “Chi tiết” button
4. System shows “View event statistics” screen which includes:
● Name of the event
● Number of registered students and “View registered students”
button to see all the registered students
● Number of checked-in students
● The average rating of the event
● Number of feedbacks
● “Xuất thông tin ra file excel” button to export the
information of the event
5. Manager click button “Xuất thông tin ra file excel” button
6. System shows excel page include data of event

136 | Page
Exception flow: N/A

Priority: Medium

Frequency of use: High

Business rules: N/A

3.6.15 View list checked in student

View list checked in


Use case ID: UC-42 Use case name: student

Author: HoangDX Date: 23/01/2023

Primary actors: Organizer, Manager Secondary actors: N/A

Description: To help organizer and manager can see all the checked-in students.

Pre-conditions: Organizer has logged into the FEMS system

Post-conditions User can see the list of checked-in students.

1. Organizer clicks “Sự kiện của tôi” button at the home menu.
Main flow:
2. System shows “View all your events” screen.
3. Organizer clicks “chi tiết” button of an event
4. System shows “View your event statistics” screen.
5. Organizer clicks “số người đã tham gia” hyperlink.
6. System shows the list of checked-in students. The list
includes the properties:
● Number

137 | Page
● Checked-in student name
● Email
● Checked-in date

Extension flow: Extension flow 1:


If user is in the Role of Manager, the flow will be:
1. Manager clicks “Tất cả sự kiện” button at the home menu.
2. System shows “View all your events” screen.
3. Manager clicks “Xem thống kê” button of an event
4. System shows “View your event statistics” screen.
5. Manager clicks “số người đã tham gia” hyperlink.
6. System shows the list of checked-in students. The list
includes the properties:
● Number
● Checked-in student name
● Email
● Checked-in date

Exception flow: N/A

Priority: Medium

Frequency of use: High

Business rules: N/A

138 | Page
3.6.16 View list registered student

View list registered


Use case ID: UC-43 Use case name: student

Author: HoangDX Date: 23/01/2023

Primary actors: Organizer, Manager Secondary actors: N/A

Description: To help organizer and manager can see all the checked-in students.

Pre-conditions: Organizer has logged into the FEMS system

Post-conditions User can see the list of checked-in students.

139 | Page
1. Organizer clicks “Sự kiện của tôi” button at the home menu.
Main flow:
2. System shows “View all your events” screen.
3. Organizer clicks “chi tiết” button of an event
4. System shows “View your event statistics” screen.
5. Organizer clicks “số người đã đăng ký” hyperlink.
6. System shows the list of registered students. The list includes
the properties:
● Number
● Checked-in student name
● Email
● Checked-in date

Extension flow: Extension flow 1:


If user is in the Role of Manager, the flow will be:
1. Manager clicks “Tất cả sự kiện” button at the home menu.
2. System shows “View all your events” screen.
3. Manager clicks “Xem thống kê” button of an event
4. System shows “View your event statistics” screen.
5. Manager clicks “số người đã đăng ký” hyperlink.
6. System shows the list of checked-in students. The list
includes the properties:
● Number
● Checked-in student name
● Email
● Checked-in date

Exception flow: N/A

Priority: Medium

Frequency of use: High

Business rules: N/A

140 | Page
3.6.17 Upload event document

Upload event document


Use case ID: UC-44 Use case name:

Author: HoangDX Date: 23/01/2023

Primary actors: Organizer, Manager Secondary actors: N/A

Description: To help organizer and manager can see all the checked-in students.

Pre-conditions: Organizer has logged into the FEMS system

Post-conditions User can see the list of checked-in students.

141 | Page
1. Organizer clicks “Sự kiện của tôi” button at the home menu.
Main flow:
2. System shows “View all your events” screen.
3. Organizer clicks “chi tiết” button of an event
4. System shows “View your event statistics” screen.
5. Organizer clicks “upload data”
6. System shows “View All Event Data” screen.
7. Organizers filled input and clicks “Thêm bản ghi”
8. Systems shows the list of event document

Extension flow: Extension flow 1:


If user is in the Role of Manager, the flow will be:
1. Manager clicks “Sự kiện của tôi” button at the home menu.
2. Manager shows “View all your events” screen.
3. Manager clicks “chi tiết” button of an event
4. System shows “View your event statistics” screen.
5. Manager clicks “upload data”
6. System shows “View All Event Data” screen.
7. Manager filled input and clicks “Thêm bản ghi”
8. Systems shows the list of event document

Exception flow: N/A

Priority: Medium

Frequency of use: High

Business rules: Organizer can upload upload event of his/her event


Manager can upload upload event of any event

142 | Page
3.7 Manage category
3.7.1 Create category

Use case ID: UC-55 Use case name: Create category

Author: HoangDX Date: 23/01/2023

Manager
Primary actors: Secondary actors: N/A

Description: Manager can keep track the categories of event through creating
new category.

Pre-conditions: Manage has logged into the FEMS system.

Post-conditions Manage can create new category of the event

143 | Page
1. Manager clicks “Tạo thể loại” button at menu home.
Main flow:
2. System shows “Create category” screen.
3. Manager fills in Create category form and clicks “Submit”
button.
4. System saves the information of the new category and
redirects manager to the new list of category.

Extension flow:

Exception flow: 1. Manager inputs data in step 3 violates one or some of


business rules.
2. System displays error message(s) on the create form.

Priority: Medium

Frequency of use:
Low

Business rules: - BR-23


- BR-24

144 | Page
3.7.2 Display on homepage

Use case ID: UC-56 Use case name: Display on homepage

Author: HoangDX Date: 23/01/2023

Manager
Primary actors: Secondary actors: N/A

Description: Manager can display the chosen category on the homepage of


student

Pre-conditions: Manage has logged into the FEMS system.

Post-conditions The chosen categories can be displayed on the Student homepage

145 | Page
1. Manager clicks “Xem thể loại” button at menu home.
Main flow:
2. System shows “ViewAllCategories” screen.
3. Manager “Hiển thị” button.
4. System display the choosen category on the Student
homepage.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Low

Business rules: N/A

146 | Page
3.7.3 Edit category

UC-57 Edit category


Use case ID: Use case name:

Author: HoangDX Date: 23/01/2023

Manager
Primary actors: Secondary actors: N/A

Description: Manager can keep track the categories of event through editing
information of the category.

Pre-conditions: Manager has logged into the FEMS system.

Post-conditions Manager can change the information of the event.

147 | Page
1. Manager clicks “xem thể loại” button at menu home.
Main flow:
2. System shows “View all categories” screen.
3. Manager clicks “Sửa” button.
4. System shows “Edit category” screen.
5. Manager changes information of Edit category form and clicks
“Lưu” button.
6. System saves the information of the new category and
redirects manager to the new list of category.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Low

Business rules: N/A

148 | Page
3.7.4 Delete category

Use case ID: UC-59 Use case name: Delete category

Author: HoangDX Date: 23/01/2023

Manager
Primary actors: Secondary actors: N/A

Description: Manager can keep track the categories of event through deleting an
category.

Pre-conditions: Manager has logged into the FEMS system.

Post-conditions Manager can delete some categories which are not suitable for
system.

149 | Page
1. Manager clicks “xem thể loại” button at menu home.
Main flow:
2. System shows “View all categories” screen.
3. Manager clicks “Xóa” button.
4. System shows “Edit category” screen.
5. System shows confirmation box to ask if user really want
to delete or not.
6. Manager clicks “Yes” button.
7. System update the information of the list of category and
redirects manager to the “View all categories” screen.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Low

Business rules: N/A

150 | Page
3.8 Manage event
3.8.1 Manage Featured Event

Use case ID: UC-59 Use case name: Manage Featured


Event

Author: HoangDX Date: 23/01/2023

Manager
Primary actors: Secondary actors: N/A

Description: Manager can make an event become featured, so that students can
notice about that event better.

Pre-conditions: Manage has logged into the FEMS system.

151 | Page
Post-conditions An event becomes a featured event.

1. Manager clicks “Quản lý sự kiện nổi bật” button at the home


Main flow:
menu.
2. Systems shows “Manage featured events” screen.
3. Manager ticks to the check-box go with each event (which
has status Openning or Happening) that he/she wants to make it
become featured event. After that, manager clicks “Xác nhận”
button.
4. Systems saves the information of featured event and show all
the featured event on Student homepage.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use: Low

Business rules: N/A

152 | Page
3.8.2 View list pending events

View list pending


Use case ID: UC-60 Use case name:
events

Author: HoangDX Date: 23/01/2023

Manager
Primary actors: Secondary actors: N/A

Description: Manager can view the list of pending events created by organizers

Pre-conditions: Manage has logged into the FEMS system.

Post-conditions User can access all the information of the public event.

1. Manager clicks “Quản lý sự kiện đang chờ” button at the home


Main flow:
menu.
2. Systems shows “Manage pending events” screen.

Extension flow: N/A

153 | Page
Exception flow:
N/A

Priority: High

Frequency of use:
High

Business rules: N/A

3.8.3 Reject event

Reject event
Use case ID: UC-61 Use case name:

Author: HoangDX Date: 23/01/2023

Manager
Primary actors: Secondary actors: N/A

154 | Page
Description: Manage can reject the event which is not qualified.

Pre-conditions: Manager has logged into the FEMS system.

Post-conditions An event after being rejected will change status from draft to rejected
and be taken to the draft list of the organizer

1. Manager clicks “Manage pending events” button at menu


Main flow:
home.
2. System shows “Manage pending events” screen.
3. Manager clicks “Từ Chối” button.
4. System makes the event going with that button change status
from “Draft” to “Rejected” and it will be taken to the Draft list of the
Organizer.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

155 | Page
3.8.4 Approve event

Approve event
Use case ID: UC-62 Use case name:

Author: HoangDX Date: 23/01/2023

Manager
Primary actors: Secondary actors: N/A

Description: Manage can approve an event.

Pre-conditions: Manager has logged into the FEMS system.

Post-conditions An event after being approved will change status from draft to
opening and be able to register by Student.

1. Manager clicks “Manage pending events” button at menu


Main flow:
home.
2. System shows “Manage pending events” screen.
3. Manager clicks “Chấp thuận” button.

156 | Page
4. System makes the event going with that button change status
from
5. “Draft” to “Opening” (or Happening | Closed depending on the
time) and all students can see this event.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

3.8.5 View Report List

157 | Page
Use case ID: UC-63 Use case name: View Report List

Author: HoangDX Date: 23/01/2023

Manager
Primary actors: Secondary actors: N/A

Description: Manage can view all the reports from students and organizers who
want to report about bad content of the event

Pre-conditions: Manage has logged into the FEMS system.

Post-conditions Manager can see all the reports.

1. Manager clicks “Xem báo cáo” button at menu home.


Main flow:
2. System shows “View all reports” screen

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

158 | Page
3.8.6 Dismiss report

Use case ID: UC-64 Use case name: Dismiss Report

Author: HoangDX Date: 10/02/2023

Manager
Primary actors: Secondary actors: N/A

Description: Manager can keep track all the report well through blocking event or
dismiss the report

Pre-conditions: The manager has logged-in this system.

Post-conditions Manager can see the list of reports according to certain criteria

159 | Page
1. Manager clicks “Xem báo cáo” button at menu home.
Main flow:
2. System shows “View all reports” screen.
3. Manager clicks “Bỏ qua” button going with an event.
4. System pushes the report after dismissing to the end of the list
of reports.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

160 | Page
3.8.7 Block event

Use case ID: UC-65 Use case name: Block event

Author: HoangDX Date: 10/02/2023

Manager
Primary actors: Secondary actors: N/A

Description: Manager can keep track all the report well through blocking event or
dismiss the report

Pre-conditions: The manager has logged-in this system.

Post-conditions Manager can see the list of reports according to certain criteria

161 | Page
1. Manager clicks “View all reports” button at menu home.
Main flow:
2. System shows “View all reports” screen.
3. Manager clicks “Hủy Sự Kiện” button going with an event.
4. System makes the event going with that button change status
to “Rejected” and it will be taken to the Draft list of the organizer.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

162 | Page
3.9 Manage account
3.9.1 View list account

UC-70 View list account


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Admin
Primary actors: Secondary actors: N/A

Description: Admin can keep track all admin, manager and organizer accounts

Pre-conditions: The admin has logged-in this system.

163 | Page
Post-conditions System shows the list of account

1. Admin clicks “Xem danh sách tài khoản” button at menu


Main flow:
home.
2. System shows “View all account ” screen.

Extension flow: N/A

Exception flow:
N/A

Priority: High

Frequency of use:
Medium

Business rules: N/A

164 | Page
3.9.2 View account detail

UC-71 View account detail


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Admin
Primary actors: Secondary actors: N/A

Description: Admin can view detail of all admin, manager and organizer accounts

Pre-conditions: The admin has logged-in this system.

Post-conditions Admin can view the account detail

165 | Page
1. Admin clicks “Xem danh sách tài khoản” button at menu
Main flow:
home.
2. System shows “View all account ” screen.
3. Admin clicks “Tên tài khoản” in the table
4. System shows “edit account ” screen to show account detail.

Extension flow: N/A

Exception flow:
N/A

Priority: Low

Frequency of use:
Low

Business rules: N/A

166 | Page
3.9.3 Edit account role

UC-72 Edit account role


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Admin
Primary actors: Secondary actors: N/A

Description: Admin can edit all admin, manager and organizer accounts

Pre-conditions: The admin has logged-in this system.

Post-conditions Admin can see the list of account after updating

167 | Page
1. Admin clicks “Xem danh sách tài khoản” button at menu
Main flow:
home.
2. System shows “View all account ” screen.
3. Admin clicks “Tên tài khoản” in the table
4. System shows edit account screen to show account detail.
5. Admin check the roles and button “Hoàn tất” to complete
edition

Extension flow: N/A

Exception flow:
N/A

Priority: Low

Frequency of use:
Low

Business rules: N/A

168 | Page
3.9.4 Create account

UC-73 Create account


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Admin
Primary actors: Secondary actors: N/A

Description: Admin can create an account

Pre-conditions: The admin has logged-in this system.

Post-conditions Admin can see the list of account after creating

169 | Page
1. Admin clicks “Tạo tài khoản” button at menu home.
Main flow:
2. System shows “Create account” screen.
3. Admin fills input and clicks button “Hoàn tất” to complete
edition

Extension flow: N/A

Exception flow:
N/A

Priority: Low

Frequency of use:
Low

Business rules: N/A

3.9.5 Search account

170 | Page
UC-74 Search account
Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Admin
Primary actors: Secondary actors: N/A

Description: Admin search all admin, manager and organizer accounts

Pre-conditions: The admin has logged-in this system.

Post-conditions System shows the list of account matching the input

1. Admin clicks “Xem danh sách tài khoản” button at menu


Main flow:
home.
2. System shows “View all account ” screen.
3. Admin input “Tên tài khoản hoặc email” and click button “Tìm
kiếm”
4. System shows the list of account that matches the input

Extension flow: N/A

Exception flow:
N/A

Priority: Low

Frequency of use:
Low

Business rules: N/A

171 | Page
3.9.6 Filter account

UC-75 Filter account


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Admin
Primary actors: Secondary actors: N/A

Description: Admin can filler to search all admin, manager and organizer accounts

Pre-conditions: The admin has logged-in this system.

Post-conditions System shows the list of account matching the input

172 | Page
1. Admin clicks “Xem danh sách tài khoản” button at menu
Main flow:
home.
2. System shows “View all account ” screen.
3. Admin inputs “Tên tài khoản hoặc email”
4. Admin selects the roles and click button “Tìm kiếm”
5. System shows the list of account that matches the input

Extension flow: N/A

Exception flow:
N/A

Priority: Low

Frequency of use:
Low

Business rules: N/A

173 | Page
3.10 Manage campus
3.10.1 View campus list

UC-76 View campus list


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Admin
Primary actors: Secondary actors: N/A

Description: Admin can keep track all campuses

Pre-conditions: The admin has logged-in this system.

174 | Page
Post-conditions System shows the list of campus

1. Admin clicks “Quản Lý Campus” button at menu home.


Main flow:
2. System shows “View all campus ” screen.

Extension flow: N/A

Exception flow:
N/A

Priority: Low

Frequency of use:
Low

Business rules: N/A

3.10.2 Create campus

UC-77 Create campus


Use case ID: Use case name:

175 | Page
Author: HoangDX Date: 23/02/2023

Admin
Primary actors: Secondary actors: N/A

Description: Admin can create new campus

Pre-conditions: The admin has logged-in this system.

Post-conditions System shows “View all campus ” screen after create account
successfully.

1. Admin clicks “Quản Lý Campus” button at menu home.


Main flow:
2. System shows “View all campus ” screen.
3. Admin clicks “Tạo mới” button
4. Admin inputs the new campus name
5. Admin clicks “Tạo” button
6. System shows “View all campus ” screen

Extension flow: N/A

Exception flow:
N/A

Priority: Low

Frequency of use:
Low

Business rules: N/A

3.10.3 Edit campus

176 | Page
UC-78 Edit campus
Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Admin
Primary actors: Secondary actors: N/A

Description: Admin can create edit a campus.

Pre-conditions: The admin has logged-in this system.

Post-conditions System can edit an specific campus

1. Admin clicks “Quản Lý Campus” button at menu home.


Main flow:
2. System shows “View all campus ” screen.
3. Admin clicks edit icon in the column “Hành động”
4. Admin inputs the new campus name
5. Admin clicks “Chỉnh sửa” button
6. System shows “View all campus ” screen

177 | Page
Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use: Low

Business rules: N/A

3.11 Manage building


3.11.1 View building list

UC-76 View building list


Use case ID: Use case name:

178 | Page
Author: HoangDX Date: 23/02/2023

Admin
Primary actors: Secondary actors: N/A

Description: Admin can keep track all buildings

Pre-conditions: The admin has logged-in this system.

Post-conditions System shows the list of buildings

1. Admin clicks “Quản Lý tòa nhà” button at menu home.


Main flow:
2. System shows “View all building” screen.

Extension flow: N/A

Exception flow:
N/A

Priority: High

Frequency of use:
Medium

Business rules: N/A

179 | Page
3.11.2 Create building

180 | Page
UC-80 Create building
Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Admin
Primary actors: Secondary actors: N/A

Description: Admin can create an new building

Pre-conditions: The admin has logged-in this system.

Post-conditions System shows the list of buildings

181 | Page
1. Admin clicks “Quản Lý tòa nhà” button at menu home.
Main flow:
2. System shows “View all building” screen.
3. Admin clicks “Tạo mới” button
4. Admin inputs the new building name
5. Admin clicks “Tạo” button
6. System shows “View all building ” screen

Extension flow: N/A

Exception flow: N/A

Priority: Low

Frequency of use:
Low

Business rules: N/A

182 | Page
3.11.3 Edit building

183 | Page
UC-81 Edit building
Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Admin
Primary actors: Secondary actors: N/A

Description: Admin can edit a specific building

Pre-conditions: The admin has logged-in this system.

Post-conditions System shows the list of buildings

184 | Page
1. Admin clicks “Quản Lý tòa nhà” button at menu home.
Main flow:
2. System shows “View all building” screen.
3. Admin clicks edit icon in the column “Hành động”
4. Admin selects the target building and input new building name
5. Admin clicks “Chỉnh sửa” to complete edition

Extension flow: N/A

Exception flow:
N/A

Priority: Low

Frequency of use:
Low

Business rules: N/A

185 | Page
3.11.4 Search building

UC-82 Search building


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Admin
Primary actors: Secondary actors: N/A

Description: Admin can search a target building

Pre-conditions: The admin has logged-in this system.

Post-conditions System shows the list of buildings matching the input

186 | Page
1. Admin clicks “Quản Lý tòa nhà” button at menu home.
Main flow:
2. System shows “View all building” screen.
3. Admin clicks “Chọn Cơ Sở” to select the campus

Extension flow: N/A

Exception flow:
N/A

Priority: Low

Frequency of use:
Low

Business rules: N/A

3.11.5 Delete building

187 | Page
UC-83 Delete building
Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Admin
Primary actors: Secondary actors: N/A

Description: Admin can delete a specific building

Pre-conditions: The admin has logged-in this system.

Post-conditions System notice message delete successfully

1. Admin clicks “Quản Lý tòa nhà” button at menu home.


Main flow:
2. System shows “View all building” screen.
3. Admin clicks delete icon in the column “Hành động”
4. System message “xóa campus thành công”.

Extension flow: N/A

Exception flow:
N/A

Priority: Low

Frequency of use: Low

Business rules: N/A

188 | Page
3.12 Manage television
3.12.1 Manage tv display event

UC-56 Manage tv display


Use case ID: Use case name: event

Author: HoangDX Date: 23/02/2023

Admin
Primary actors: Secondary actors: N/A

Description: Admin can view an event list of an television.

Pre-conditions: The admin has logged-in this system.

Post-conditions Admin can the list of event on an TV

1. Admin clicks “Xem sư kiên” button at View all smart tv screen.


Main flow:
2. System shows “Show event on TV” screen with a list of TV.

Extension flow: N/A

Exception flow:
N/A

189 | Page
Priority: Medium

Frequency of use:
High

Business rules: N/A

3.12.2 View television list

UC-84 View television list


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

190 | Page
Admin
Primary actors: Secondary actors: N/A

Description: Admin can view list of televison.

Pre-conditions: The admin has logged-in this system.

Post-conditions Admin can view building list of televison.

1. Admin clicks “Quản Lý TV” button at menu home.


Main flow:
2. System shows “View All Smart TV” screen.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

191 | Page
3.12.3 Active/Deactive television

UC-85 Active/Deactive
Use case ID: Use case name: television

Author: HoangDX Date: 23/02/2023

Admin
Primary actors: Secondary actors: N/A

Description: Admin can view the list of television.

Pre-conditions: The admin has logged-in this system.

192 | Page
Post-conditions System changes the status of Tv.

1. Admin clicks the “Quản Lý TV” button at the menu home.


Main flow:
2. System shows “View All Smart TV” screen.
3. Admin clicks “Muốn bật” icon to activate
4. Admin clicks “Đã bật” icon to deactivate

Extension flow: After Admin clicks “Muốn bật” text change to “Đã bật”.
After Admin clicks “Đã bật” text change to “Muốn bật”.

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

3.12.4 Manage television special event

193 | Page
UC-86 Manage television
Use case ID: Use case name: special event

Author: HoangDX Date: 23/02/2023

Admin
Primary actors: Secondary actors: N/A

Description: Admin can make one event on television become special - only show
that event.

Pre-conditions: The admin has logged-in this system.

Post-conditions Admin can make one event on television become special - only show
that event.

1. Admin clicks “Đánh dấu đặc biệt” button ShowAllEventOnTv


Main flow:
screen.
2. System change the status of event in database and return list.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

194 | Page
3.13 Manage group
3.13.1 Change leader

UC-66 Change leader


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Manager
Primary actors: Secondary actors: N/A

Description: Manager can change leader of a group.

Pre-conditions: The manager has logged-in this system.

Post-conditions The leader of group will be changed.

1. Manager clicks “Xem các câu lạc bộ” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. Manager clicks the hyperlink of the group name.
4. System shows “Group details” screen.
5. Manager clicks the “Đổi chủ tịch” button.
6. System shows “Đổi chủ tịch” screen.
7. Manager clicks “Đổi chủ tịch” button to change leader.

195 | Page
8. System saves information and redirects user to “Group
details” screen.

Extension flow: Extension flow 1:


1. At step 3, manager clicks “Đổi chủ tịch” button instead of clicking
the hyperlink of the group name .
2. System shows “Đổi chủ tịch” screen.
3. Manager clicks “Đổi chủ tịch” button to change leader.
4. System saves information and redirects user to “Group
details” screen.

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

196 | Page
3.13.2 Delete group

UC-67 Delete group


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Manager
Primary actors: Secondary actors: N/A

Description: Manager can keep track the groups of event through deleting
information of the category.

Pre-conditions: The manager has logged-in this system.

Post-conditions Manager can delete some groups which have not existed anymore.

197 | Page
1. Manager clicks “Xem các câu lạc bộ” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. Manager clicks “Xóa” button.
4. System shows confirmation box to ask if user really want
to delete or not.
5. Manager clicks “OK” button.
6. System update the information of the list of category and
redirects manager to the “View all groups” screen.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

198 | Page
3.13.3 Create group

UC-68 Create group


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Manager
Primary actors: Secondary actors: N/A

Description: Manage can keep track the groups through creating new group.

Pre-conditions: The manager has logged-in this system.

199 | Page
Post-conditions Manage can create new group.

1. Manager clicks “Tạo câu lạc bộ” button at menu home.


Main flow:
2. System shows “Create group” screen.
3. Manager fills in “Tạo câu lạc bộ” form and clicks “Hoàn tất”
button.
4. System saves the information of the new group and redirects
manager to the new list of groups..

Extension flow: Extension flow 1:


1. Manager inputs data in step 3 violates one or some of
business rules.
2. System displays error message(s) on the form.

Exception flow:
N/A

Priority: Medium

Frequency of use:
Low

Business rules: ● The Group name field is required.


● The Leader field is required.
● Leader is not valid.
● The Group mail field is not a valid e-mail address.

200 | Page
3.13.4 View all group

UC-47 View all group


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin

Description: User can have a big picture about the groups in FPT University.

Pre-conditions: The user has logged-in this system.

Post-conditions User shows the list of user have special roles.

201 | Page
1. User clicks “Xem các câu lạc bộ” button at home menu.
Main flow:
2. System shows “View all groups” screen. The grid of group has
these column: No, Group name, Group leader, Members, Create date,
Mail

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

3.13.5 Search group

202 | Page
UC-48 Search group
Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin

Description: User can access the information of one group in the quick way
through searching.

Pre-conditions: The manager has logged-in this system.

Post-conditions User find out the information of accounts that he/she wants.

1. User clicks “Xem các câu lạc bộ” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. User inputs the keyword to the “Search” box.
4. System shows “View all groups” screen with groups have the
information related to the searching keyword.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

203 | Page
3.13.6 Sort group

UC-49 Sort group


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin

Description: User can sort the group list.

Pre-conditions: The manager has logged-in this system.

Post-conditions User can see the list of groups according to certain criteria.

204 | Page
1. User clicks “Xem các câu lạc bộ” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. User clicks the “Sort” icon at one column to sort
4. System shows the list of groups after sorting. The sort icon
changes from ASC to DESC or from DESC to ASC.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

205 | Page
3.13.7 View group information

UC-50 View group information


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin

Description: User can see the list of reports according to certain criteria

Pre-conditions: The manager has logged-in this system.

Post-conditions User can see the detail information of a group

206 | Page
1. User clicks “View all groups” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. User clicks the “Details” hyperlink of an event.
4. System shows “Group details” screen with all information
of the group, which includes: name of group, group description,
information of leader, recent events (recent event created by
members of this group), list of members of the group.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

207 | Page
3.13.8 Edit group information

208 | Page
UC-51 Edit group information
Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Organizer
Primary actors: Secondary actors: N/A

Description: Organizer can change information of his/her group.

Pre-conditions: The manager has logged-in this system.

Post-conditions User can edit the detail information of a group

1. Organizer clicks “Xem các câu lạc bộ” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. Organizer clicks the hyperlink of a group name.
4. System shows “Group detail” screen.
5. Organizer clicks the “Sửa” button.
6. System shows “Edit group info” screen.
7. Organizer changes the information of the group.
8. System saves information and redirects user to “Group
details” screen.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

209 | Page
3.13.9 View Group Member

UC-52 View group member


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Student, Organizer,
Primary actors: Manager, Admin Secondary actors: N/A

Description: User can view the list of member of a group

Pre-conditions: The user has logged-in this system.

Post-conditions User can view the list of member of a group

1. User clicks “Xem các câu lạc bộ” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. User clicks the hyperlink of a group name.
4. System shows “Group details” screen.
5. User clicks the “Danh sách thành viên” button to see all
group’s member.
6. System shows list group members to user.

210 | Page
Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

3.13.10 Add Organizer to group

UC-53 Add organizer to group


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Organizer
Primary actors: Secondary actors: N/A

211 | Page
Description: Organizer (who is leader) can add members to group to contribute in
organizing events better

Pre-conditions: The organizer has logged-in this system.


Organizer is currently the leader of the group.

Post-conditions User can view the list of member of a group

1. Organizer clicks “Xem các câu lạc bộ” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. Organizer clicks the hyperlink of a group name.
4. System shows “Group details” screen.
5. Organizer clicks the “Danh sách thành viên” button to see all
group’s member.
6. System shows list group members to user.
7. Organizer enters email of new member and clicks “Thêm”
button.
8. System saves information of new member and updates the
grid list of members above.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

212 | Page
3.13.11 Remove member

UC-53 Add organizer to group


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Organizer
Primary actors: Secondary actors: N/A

Description: Organizer can remove members out of group if they are no longer
having contribution in the group.

Pre-conditions: The organizer has logged-in this system.


Organizer is currently the leader of the group.

Post-conditions A member is removed out of group.

1. Organizer clicks “Xem các câu lạc bộ” button at menu home.
Main flow:
2. System shows “View all groups” screen.
3. Organizer clicks the hyperlink of an group name.
4. System shows “Group details” screen.
5. Organizer clicks the “Danh sách thành viên” button to see all
group’s member.
6. System shows list group members to user.
7. Organizer clicks “Xóa” button of a member of group.

213 | Page
8. System saves information and updates the grid list of
members above.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
Medium

Business rules: N/A

3.14 Manage notifications


3.14.1 View notification

UC-86 View notification


Use case ID: Use case name:

Author: HoangDX Date: 23/02/2023

Student, Organizer,
Primary actors: Secondary actors: N/A
Manager, Admin

Description: If system have any update it will be notice in the notification box.

Pre-conditions: The user has logged-in this system.

Post-conditions Users can get the notification

214 | Page
1. User clicks “Thông báo” button at menu home.
Main flow:
2. System shows list of notification for user.

Extension flow: N/A

Exception flow:
N/A

Priority: Medium

Frequency of use:
High

Business rules: N/A

4. Non-Functional Requirements
4.1 External Interfaces
4.1.1 User Interfaces
UI-1: All of the FU's Event Management’s screens will be responsive to display information clearly
and well organized in any screen size.

UI-2: The website is designed with interfaces inspired by https://ticketbox.vn/

4.1.2 Software Interfaces


SI-1: FEMS Front-end sends requests to Google Cloud API to perform authentication, FEMS Back-end
verifies authentication token.

SI-2: FEMS Back-end send request to FAP API to get fpt account detail.

4.1.3 Hardware Interfaces


No hardware interfaces have been identified.

4.1.4 Communication Interfaces


No communication interfaces have been identified.

4.2 Quality Attributes


4.2.1 Usability
USB-1: The interface is friendly, simple and easy to use.

USB-2: The steps are short and easy to understand so that the user can interact with the application
without training.

USB-3: Main functions are organized into tabs for easier access.

USB-4: Links, buttons, and checkboxes are easily clickable.

USB-5: Important commands are displayed as buttons with distinct background colors.

215 | Page
4.2.2 Security
SE-1: The system must use token-based authentication, in which the authentication server returns
an access token user logged in with @fpt.edu.vn email.

SE-2: Only Admin account can manage television and create account.

4.2.3 Performance
PE-1: Any pages in the system shall fully load in at maximum of 30 seconds in normal condition.

PE-2: Website can hold at least 200 people at the same time

4.2.4 Maintainability and extensibility


MTE-1: Source code must follow the coding convention in order to help developers to read,
understand and find it easy to maintain or modify the code.
5. Requirement Appendix
5.1 Business Rules

ID Rule Definition
BR-01 Email must be @fpt.edu.vn.
BR-02 The First name field is required.
BR-03 The Last name field is required.
BR-04 The Phone field is required.
BR-05 The phone field must be a valid number of telephone
BR-06 The content of feedback must not be null
BR-07 Must upload an image
BR-08 The event open date is required
BR-09 The event open time field is required
BR-10 The event close date is required
BR-11 The event close time field is required
BR-12 The description field of event is required
BR-13 The category of event field is required
BR-14 The place of event field is required
BR-15 The field Place must be a string with a maximum length of 100
BR-16 The participants of event field must be a string with a maximum length of 100
BR-17 The participants of event field is required
BR-18 Register close time must no be null
BR-19 Event register close time must be sooner than Event open time.
BR-20 The field Name must be a string with a maximum length of 100.
BR-21 The banner open time must be smaller than banner close time
BR-22 The name field is required
BR-23 The CategoryName field is required.
BR-24 The field CategoryName must be a string with a maximum length of 50.

216 | Page
5.2 Application Messages List

Message Message
# Context Content
code Type
In red,
When check box role is empty
1 MSG01 under the Bạn phải chọn ít nhất 1 role
when create account
text box
In red,
When email in create account Bạn phải nhập email
2 MSG02 under the
is incorrect @fpt.edu.vn
text box
Toast When create account
3 MSG03 Tạo tài khoản thành công
message successfully
In red,
When admin want to edit his Bạn không thể tự chỉnh role
4 MSG04 under the
own role. của mình
text box
In red, Đã tồn tại 1 tài khoản với
When admin create account
5 MSG05 under the email này , vui lòng nhập
and it already exsist
text box email khác.
Toast When create campus
6 MSG06 Tạo thành công campus
message successfully
Toast When admin create campus
7 MSG07 Campus đã tồn tại
message and it already exsist
Toast
8 MSG08 When campus name is empty Hãy nhập tên campus
message
Toast When campus is not found
9 MSG09 Không tìm thấy campus
message when create
Toast When update campus
10 MSG10 Update thành công campus
message successfully
Toast When delete campus
11 MSG11 Xóa campus thành công
message successfully
Toast
12 MSG12 When building is not found Không tìm thấy building
message
Toast When building is successfully
13 MSG13 Xóa building thành công
message delete

Toast
14 MSG14 When building is already exist Building đã tồn tại
message

Toast When building is created


15 MSG15 Tạo building thành công
message successfully
Toast
16 MSG16 When building name is empty Hãy nhập tên building
message

217 | Page
Toast When building is edited
17 MSG17 Sửa building thành công
message successfully
Toast When update feature event Update sự kiện nổi bật
18 MSG18
message field to true thành công
Toast When create category
19 MSG19 Tạo thể loại thành công
message successfully
Toast Đã sửa thể loại +
20 MSG20 When edits event successfully
message {CategoryName}
Toast When deletes event Đã xóa thể loại +
21 MSG21
message successfully {CategoryName}
Toast When manager approves an
22 MSG22 Đã chấp thuận sự kiện
message event
Toast When manager rejects an
23 MSG23 Đã từ chối sự kiện
message event
Toast When manager deletes a group
24 MSG24 Đã xóa câu lạc bộ
message successfully
Toast When manager creates a group
25 MSG25 Tạo câu lạc bộ thành công
message successfully
Toast When manager changes leader Đổi chủ tịch của câu bộ
26 MSG26
message of a group successfully +{GroupName} thành công
Toast When manager moves an Chuyển tới nháp thành
27 MSG27
message event to draft công.
Toast When organizer saves event
28 MSG28 Lưu nháp thành công
message draft successfully
Toast When organizer creates event Thành công tạo sự kiện.
29 MSG29
message successfully Hãy đợi phê duyệt.
Toast When organizer deletes his
30 MSG30 Xóa nháp thành công
message draft event successfully
Toast When organizer edits his draft
31 MSG31 Sửa nháp thành công
message event successfully
Toast When organizer cancels a
32 MSG32 Đã hủy yêu cầu
message request to create event
Toast When organizer updates check-
33 MSG33 Điểm danh thành công
message in status of students sucessfully
Toast When student registers to an
34 MSG34 Đăng ký sự kiện thành công
message event sucessfully
When student cancels his
Toast Hủy đăng ký sự kiện thành
35 MSG35 register of an event
message công
successfully

218 | Page
IV. Software Design Description
1. System Design
1.1 System Architecture

● Web Browser: Users can use all most browsers to access our website such as: Chrome,
Mozilla,Firefox, Microsoft Edge, Opera…
● Google Authentication: To verify access to web server and send notification of events to user.
This is website for FPT Students, so only FPT Student and FPT Officers can login to website by mail of
FPT University to use service.
● FU's Event Management: System design for displaying, guild, making hosting events, and
participating become easier than ever. Additionally, the system will bring together all already very
enjoyable and fun FPT university events for each student and provide them with a memorable
experience.
● FAP (fap.fpt.edu.vn) API: To get information of the profiles, the class calendar, exam calendar,
major,… of students in FPT University.
● Database: Due to the recommendation of FPT University, the SQL Server 2019 edition is the
most suitable verision because its have been used for most of university systems. SQLsever 2019 which
was be developed, distributed and supported by Microsoft Corporation. It is a powerful and reliable
free data management system that delivers a rich and reliable data store for lightweight Web Sites
and desktop applications.
● Google App Script: Apps Script makes it easy to create and publish add-ons in an online store
for Google Sheets, Docs, Slides, and Forms. There’s no better way to distribute scripts to large numbers

219 | Page
of users, whether you want to ship your code to the whole world or keep it private to the users in your
G Suite domain.

1.2 Package Diagram

220 | Page
Package Descriptions
No Package Description
01 /Controllers Where we put Controller classes that handle URL requests

02 /Models Where we put classes that represent and manipulate data and business
objects.

03 /Views Where we put UI template files that are responsible for rendering output,
such as HTML

04 /Scripts Where we put JavaScript library files and scripts (.js) and css (.css)

05 /Images Where we put images used in our site

06 /Constant Where we put constant variable in our project

07 /Content Where we put CSS and other sit content, other than scripts and images.

08 /Helper Where we put CSS and other sit content, other than scripts and images.

09 /Jobs Where we put CSS and other sit content, other than scripts and images.

10 /App_Data Where we store data files we want to read/ write

11 /App_Start Where we put configuration code for features like Routing, Bundling and
Web API.

221 | Page
2. Database Design

Table Descriptions
No Table Description
1 User Used to store email, user’s role
Primary Key: UserId
2 Event Used to store Event data like start date, end date, capacity, …
Primary Key: EventId
Foreign Key: FamilyId,ManagerId,OrganizerId,SmartTV_TvId, CampusId

3 Group Used to store Groups


Primary Key: GrouptId
Foreign Key: ManagerId,LeaderId
4 Campus Used to store Campuses
Primary Key: CampusId
5 Building Used to store Buildings
Primary Key: BuildingId
Foreign Key: CampusId
6 SmartTv Used to store SmartTvs
Primary Key: TvId
Foreign Key: BuildingId
7 Category Used to store Categories
Primary Key: CategoryId
Foreign Key: CreatorId
8 Notification Used to store Notifications
Primary Key: NotificationId
Foreign Key: UserId, SubjectId
9 EventData Used to store event related files, materials
Primary Key: EventDataId
Foreign Key: EventId
10 Form Used to store event’s register form

222 | Page
Primary Key: FormId
Foreign Key: EventId
11 EventFamily Used to store event families
Primary Key: EventFamilyId
12 Checkin Used to store checkins by users to some events
Primary Key: UserId,EventId
Foreign Key: UserId,EventId
13 Report Used to store user’s reports of about an event
Primary Key: ReportId
Foreign Key: UserId,EventId
14 Feedback Used to store user’s feedbacks about an event
Primary Key: UserId,EventId
Foreign Key: UserId,EventId
15 Register Used to store user’s register time and tickets to an event
Primary Key: UserId,EventId
Foreign Key: UserId,EventId
16 UserProfile Used to store user’s personal information
Primiry Key: ProfileId
17 Bookmark Used to store user’s interested event
Primary Key: UserId,EventId
Foreign Key: UserId,EventId
18 FeedbackOuter Used to store feedback from facebook
Primary Key: Key,EventId
Foreign Key:EventId

Table design

Field Name Data Type Key Allow Null Description Note

UserId int PK No Determine


the user

EventId int PK No Determine


the event
being marked

CreatedDate datetime No The time that


the user
marked the
event
Group table design

Field Name Data Type Key Allow Null Description Note

BuildingId int PK No Identified IDENTITY(1,1)


building’s
notation

223 | Page
BuildingName nvarchar(MAX Yes Determine
) the building’s
name

CampusId int No Define the


campus that
the building
belongs to
Building table design

Field Name Data Type Key Allow Null Description Note

CampusId int PK No Identified IDENTITY(1,1)


campus’s
notation

CampusName nvarchar(100) No Determine


the campus’s
name
Campus table design

Field Name Data Type Key Allow Null Description Note

CategoryId int PK No Identified IDENTITY(1,1)


category’s
notation

CategoryNam nvarchar(50) No Determine


e the category
name

CategoryDescr nvarchar(MAX Yes Brief


iption ) description
about the
category

FontAwesome nvarchar(MAX Yes Category logo


)

IsEnabled bit No Determine if Default: True


the category
is usable

IsDisplay bit Yes Determine if Default: True


the category
is going to be
visible

224 | Page
CreatorId int No Id of the user
who created
the category

CreatedDate datetime No The time the


category is
being created
Category table design

Field Name Data Type Key Allow Null Description Note

UserId int PK No Determine


the user

EventId int PK No Determine


the event that
user check in
at

CheckedinDat datetime No The time that


e the user check
in at the event
Checkin table design

Field Name Data Type Key Allow Null Description Note

EventId int PK No Identified event’s IDENTITY(1,1)


notation

EventName nvarchar(100) No Determine the


event’s name

FamilyId int FK Yes Determine if the


event belongs to
some event
family

CoverImage nvarchar(MAX) No Cover image


address

isPublic bit No Determine if the


event is public

IsFeatured bit No Determine if the


event is a feature
event

EventStatus nvarchar(10) No Determine event

225 | Page
status

EventDescription nvarchar(MAX) No Brief description


about the event

EventDescriptionHt nvarchar(MAX) No Brief description


ml about the event
in HTML form

EventPlace nvarchar(100) No The place that


the event will
take place

EventFee money No Cost to join the


event

OrganizerId int FK Yes Organizer who


created the
event

GroupId int FK Yes Determine if the


event belongs to
some group

CreatedDate datetime No Determine the


time that the
event being
created

ManagerId int FK Yes The manager


who will
managing that
event

ApprovedDate datetime Yes Time that the


manager accept
the organizer
request to create
the event

RegisterEndDate datetime Yes Time that the


event open for
user to register

OpenDate datetime No Time that the


event start

CloseDate datetime No Time that the


event close

RegisterMax int Yes Number of


register slot

226 | Page
IsOrganizerOnly bit No Determine if the
event is only for
organizer

Participant nvarchar(MAX) Yes The major that


this event
suitable with

TargetGroup nvarchar(MAX) Yes The group that


this event
created for

UrlLink nvarchar(MAX) Yes Embed link from


YouTube about
this event

StartDateBanner datetime Yes The date that the


banner begins to
show

EndDateBanner datetime Yes The date that the


banner stop
showing

StartDateVideo datetime Yes The time that the


video start

StartDateBanner datetime Yes The time that the


video stop

StandeeImage navarchar(MAX Yes The location of


) the standee
image

CampusId int FK No The campus that


the event will
take place

isSpecial bit Yes Determine if the


event is mark as
special

SmartTV_TvId int Yes The id of the


smarttv
Event table design

Field Name Data Type Key Allow Null Description Note

227 | Page
CampusId int PK No Id of the
campus

EventId int PK No Id of the


event
EventCategory table design

Field Name Data Type Key Allow Null Description Note

EventDataId int PK No Identified IDENTITY(1,1)


event data’s
notation

DataType nvarchar(100) Yes Type of the


file

DataPath nvarchar(MAX Yes The location


) the material is
being located

EventId int FK No Id of the


event
EventData table design

Field Name Data Type Key Allow Null Description Note

FamilyId int PK No Identified IDENTITY(1,1)


event family's
notation

FamilyName nvarchar(100) Yes Name of the


event family
EventFamily table design

Field Name Data Type Key Allow Null Description Note

UserId int PK No Id of the user

Role nvarchar(MAX Yes Role of that


) user in the
event

EventId int FK No Id of the


event

228 | Page
EventRole table design

Field Name Data Type Key Allow Null Description Note

TvId int PK No Id of the Tv

IsSpecial bit Yes Mark if the


event is
special

EventId int FK No Id of the


event
EventTvs table design

Field Name Data Type Key Allow Null Description Note

UserId int PK No Id of the user

Value float Yes Value of the


rating user
gave

FeedbackCont nvarchar(MAX Yes The content


ent ) of the
feedback

EventId int PK No Id of the


event

CreatedDate datetime No Time the


feedback
being posted
Feedback table design

Field Name Data Type Key Allow Null Description Note

Key int PK No

Value float Yes Value of the


rating user
gave

FeedbackCont nvarchar(MAX Yes The content


ent ) of the
feedback

EventId int PK No Id of the

229 | Page
event

CreatedDate datetime No Time the


feedback
being posted

Username nvarchar(MAX Yes Username of


) user in
facebook

UserImage nvarchar(MAX Yes User image


) location
FeedbackOuter table design

Field Name Data Type Key Allow Null Description Note

FormId int PK No Identified IDENTITY(1,1)


form's
notation

FormRegister nvarchar(MAX No Value of the


) rating user
gave

FormResult nvarchar(MAX No Result that


) website get
back

FormLink nvarchar(MAX No Link of the


) form

EventId int FK Yes Id of the


event

CreatedDate datetime No Time the


feedback
being posted
Form table design

Field Name Data Type Key Allow Null Description Note

GroupId int PK No Identified IDENTITY(1,1)


group's
notation

GroupName nvarchar(50) No Name of the


group

230 | Page
GroupImage nvarchar(MAX Yes The location
) that the
image will be
saved

GroupDescript nvarchar(MAX Yes A brief


ion ) description
for that group

GroupMail nvarchar(100) Yes Link of the


form

ManagerId int FK No Id of the user


who manage
the group

LeaderId int FK No Id of the user


who is the
leader

FoundedYear date No The year that


the group
being created

IsEnabled bit No Determine if


the group is
useable

CreatedDate datetime No The timethat


the group
being created
Group table design

Field Name Data Type Key Allow Null Description Note

NotificationId int PK No Identified IDENTITY(1,1)


notification's
notation

UserId int FK No Id of the user


who will
received the
notification

SubjectId int FK Yes Id of the user


who made the
notification

ObjectId int Yes Id of the


object

231 | Page
ObjectType nvarchar(10) Yes The type of
notification

NotificationCo nvarchar(MAX No Content of the


ntent ) notification

FormLink nvarchar(MAX Yes Link of the


) form

NotifiedDate datetime No Time the


action cause
the
notification
Notification table design

Field Name Data Type Key Allow Null Description Note

EventId int PK No The event


user register

UserId int PK No Id of the user


who register
to the event

Status nvarchar(MAX Yes Status of the


) ticket

QRCode nvarchar(MAX Yes QR code


) content

RegisteredDat datetime No Content of the


e notification

CheckinDate datetime Yes The time the


ticket got scan
Register table design

Field Name Data Type Key Allow Null Description Note

Id int PK No Identified IDENTITY(1,1)


report's
notation

Description nvarchar(MAX Yes Content of the


) report

IsDismissed bit No Determine if

232 | Page
the report is
dismissed

EventId int FK No Id of the


event

UserId int FK No Id of the user

CreatedDate datetime No Time the


report being
posted
Report table design

Field Name Data Type Key Allow Null Description Note

TvId int PK No Identified tv's IDENTITY(1,1)


notation

TvName nvarchar(MAX Yes Name of the


) Tv

TvCodeId nvarchar(MAX Yes Tv code Unique


)

BuildingId int FK No Id of the


building that
the tv placed
Tv table design

Field Name Data Type Key Allow Null Description Note

UserId int PK No Identified IDENTITY(1,1)


user's
notation

Email nvarchar(30) No User’s email

IsStudent bit No Determine if Default: True


the user is a
Student

IsOrganizer bit No Determine if Default: False


the user is a
Organizer

IsManager bit No Determine if Default: False


the user is a
Manager

233 | Page
IsAdmin bit No Determine if Default: False
the user is a
Admin

ProfileId int FK Yes Id of the


profile

IsEnabled bit No Determine if


the useris
enable

NotificationSe datetime No Last time user


enDate check
notification
User table design

Field Name Data Type Key Allow Null Description Note

OrganizerId int PK No Determine the


user

GroupId int PK No Determine the


group

ParticipatedDate datetime No The time that


the user joined
GroupMember table design

Field Name Data Type Key Allow Null Description Note

ProfileId int PK No Identified IDENTITY(1,1)


profile's
notation

RollNumber nvarchar(10) Yes Roll Number


of a student if
user are one

FirstName nvarchar(20) No User first


name

LastName nvarchar(50) No User last


name

Phone nvarchar(20) No User phone


number

City nvarchar(20) Yes User city

234 | Page
Address nvarchar(MAX Yes User address
) detail

DOB date Yes User date of


birth

ProfileImage nvarchar(MAX Yes Address that


) the image is
being stored

Gender bit No User’s gender Default: 0

Campus nvarchar(100) No User’s campus

Major nvarchar(100) Yes User’s major

Specialization nvarchar(100) Yes User’s


specialization

ParentName nvarchar(100) Yes User parent


name

ParentPhone nvarchar(50) Yes User’s phone


number
UserProfile table design

3. Detailed Design
3.1 Authentication
3.1.1 Login by @fpt.edu.vn mail
Class Diagram

235 | Page
Sequence Diagram

3.1.2 Logout
Class Diagram

Sequence Diagram

236 | Page
3.1.3 View public event
Class Diagram

237 | Page
Sequence Diagram

3.2 View Homepage


3.2.1 View homepage
Class Diagram

238 | Page
Sequence Diagram

239 | Page
3.3 Manage your account
3.3.1 View profile
Class Diagram

240 | Page
Sequence Diagram

3.3.2 Update profile


Class Diagram

241 | Page
Sequence Diagram

3.4 View Event


3.4.1 View Registered Event
Class Diagram

242 | Page
Sequence Diagram

3.4.2 View my calendar


Class Diagram

243 | Page
Sequence Diagram

3.4.3 View Event calendar


Class Diagram

244 | Page
Sequence Diagram

3.4.4 View all event


Class Diagram

245 | Page
Sequence Diagram

3.4.5 Search event


Class Diagram

246 | Page
Sequence Diagram

3.4.6 Filter event


Class Diagram

247 | Page
Sequence Diagram

248 | Page
3.4.7 View event detail
Class Diagram

249 | Page
Sequence Diagram

3.4.8 View list feedback


Class Diagram

250 | Page
Sequence Diagram

3.4.9 Feedback event


Class Diagram

251 | Page
Sequence Diagram

3.4.10 Delete my feedback


Class Diagram

252 | Page
Sequence Diagram

3.4.11 Edit own feedback


Class Diagram

253 | Page
Sequence Diagram

3.4.12 Bookmark event


Class Diagram

254 | Page
Sequence Diagram

3.4.13 Unbookmark event


Class Diagram

Sequence Diagram

255 | Page
3.4.14 Share event
Class Diagram

Sequence Diagram

3.4.15 Register event


Class Diagram

256 | Page
Sequence Diagram

3.4.16 Report event


Class Diagram

257 | Page
Sequence Diagram

3.4.17 Get Ticket


Class Diagram

258 | Page
Sequence Diagram

3.4.18 View bookmarked event


Class Diagram

259 | Page
Sequence Diagram

3.4.19 View checked-in event


Class Diagram

260 | Page
Sequence Diagram

3.4.20 Fill google form


Class Diagram

261 | Page
Sequence Diagram

3.4.21 View Ticket Event


Class Diagram

262 | Page
Sequence Diagram

3.5 Manage Your Event


3.5.1 Create Event
Class Diagram

263 | Page
Sequence Diagaram

264 | Page
3.5.2 Create google form
Class Diagram

Sequence diagram

265 | Page
3.5.3 Edit Form
Class Diagram

Sequence diagram

266 | Page
3.5.4 Clear Form
Class diagram

Sequence diagram

267 | Page
3.5.5 Save Draft
Class Diagram

Sequence diagram

268 | Page
3.5.6 View list draft event
Class Diagram

Class Diagram

269 | Page
3.5.7 Edit Draft
Class Diagram

Sequence Diagram

270 | Page
3.5.8 Delete Draft
Class Diagram

Sequence Diagram

271 | Page
3.5.9 View list pending event
Class Diagram

Sequence Diagram

272 | Page
3.5.10 Cancel Event
Class Diagram

Sequence diagram

273 | Page
3.5.11 Move to draft
Class Diagram

Sequence diagram

274 | Page
3.5.12 View my created event
Class Diagram

Sequence Diagram

275 | Page
3.5.13 View event statistic
Class Diagram

Sequence diagram

276 | Page
3.5.14 Export statistic
Class Diagram

Sequence Diagram

277 | Page
3.5.15 View list checked in student
Class diagram

Sequence diagram

278 | Page
3.5.16 View list registered student
Class Diagram

Class Sequence

3.5.17 Upload event


Class Diagram

279 | Page
Sequence Diagram

3.6 Manage Category


3.6.1 Create Category
Class Diagram

280 | Page
Sequence Diagram

281 | Page
3.6.2 Display on homepage
Class Diagram

Sequence Diagram

3.6.3 Edit Category


Class Diagram

282 | Page
Sequence Diagram

3.6.4 Delete Category


Class Diagram

283 | Page
Sequence diagram

3.7 Manage Event


3.7.1 Manage Featured Event
Class Diagram

284 | Page
Sequence Diagram

3.7.2 View list pending event


Class Diagram

285 | Page
Sequence Diagram

3.7.3 Reject Event


Class Diagram

286 | Page
Sequence Diagram

3.7.4 Accept Event


Class Diagram

287 | Page
Sequence Diagram

3.7.5 View Report List


Class Diagram

288 | Page
Sequence Diagram

3.7.6 Dismiss report


Class Diagram

289 | Page
Sequence Diagram

3.7.7 Block Event


Class Diagram

290 | Page
Sequence Diagram

3.8 Manage Account


3.8.1 View list account
Class Diagram

291 | Page
Sequence Diagram

3.8.2 View account detail


Class Diagram

292 | Page
Sequence Diagram

3.8.3 Edit account role


Class Diagram

293 | Page
Sequence Diagram

3.8.4 Create Account


Class Diagram

294 | Page
Sequence Diagram

3.8.5 Search account


Class Diagram

Sequence Diagram

295 | Page
3.8.6 Filter Account

Class Diagram

Sequence Diagram

296 | Page
3.9 Manage Campus
3.9.1 View campus list

Class diagram

Sequence Diagram

297 | Page
3.9.2 Edit Campus

Class Diagram

Sequence Diagram

298 | Page
3.9.3 Create Campus
Class Diagram

Sequence Diagram

299 | Page
3.10 Manage Building
3.10.1 View All Building
Class Diagram

300 | Page
Sequence Diagram

3.10.2 Edit Building


Class Diagram

301 | Page
Sequence Diagram

3.10.3 Delete Building


Class Diagram

Sequence Diagram

302 | Page
3.10.4 Search Building
Class Diagram

303 | Page
Sequence Diagram

3.11 Manage Television


3.11.1 View All Television
Class Diagram

304 | Page
Sequence Diagram

3.11.2 Search Smart Tv


Class Diagram

305 | Page
Sequence Diagram

3.11.3 Active Tv
Class Diagram

306 | Page
Sequence Diagram

3.11.4 Deactive Tv
Class Diagram

307 | Page
Sequence Diagram

3.11.5 View All Event On Tv


Class Diagram

308 | Page
Sequence Diagram

3.13 Manage Group


3.13.1 View All Group
Class Diagram

Sequence Diageam

309 | Page
3.13.2 Search Group
Class Diagram

Sequence Diagram

310 | Page
3.13.3 View Group Information
Class Diagram

311 | Page
Sequence Diagram

3.13.4 View Group Member


Class Diagram

312 | Page
Sequence Diagram

3.13.5 Remove Member


Class Diagram

313 | Page
Sequence Diagram

3.13.6 Create Group


Class Diagram

314 | Page
Sequence Diagram

3.13.7 Change Leader


Class Diagram

315 | Page
Sequence Diagram

316 | Page
3.13.8 Delete Group
Class Diagram

Sequence Diagram

3.13.9 Edit Group Information

317 | Page
Class Diagram

Sequence Diagram

318 | Page
3.13.10 Sort Group
Class Diagram

Sequence Diagram

3.13.11 Add Organizer To Group


Class Diagram

319 | Page
Sequence Diagram

3.14 Manage Notification


3.14.1 View Notification
Class Diagram

320 | Page
Sequence Diagram

V. Software Testing Documentation


1. Scope of Testing
1.1 Stages of testing

In the scope of the project, there are 4 testing phases: Unit testing, Integration testing, System
testing and Acceptance testing.

No Testing Phase Description


The main characteristic of this phase is that the software components are
tested individually and isolated from all other software components of the
1 Unit testing
system. The isolation is necessary to prevent external influences on
component.

321 | Page
The purpose of this phase is to make sure all components collaborate
correctly. Thus, the goal of Integration test is to expose faults in the
2 Integration testing interface and in the interaction between integrated components. This is
particularly beneficial because it determines how efficiently the units are
running together.
System Tests are performed by testers. In this test, tester will be a
3 System testing customer, to test the system as a whole and determine whether or not the
system meets the requirements.
To ascertain whether the system is ready for release, Acceptance testing,
also known as User Acceptance Testing, is carried out. To determine
whether the application satisfies the business' needs, the tester and a few
4 Acceptance testing
alpha test users will test the system during this phase. Testers will create
check list including rules between team members, customers and the
supervisor.
1.2 Types of testing

The following types of testing are performed:

● Unit Testing
● Integration Testing
● System Testing
● Acceptance Testing

1.3 Range of testing

Team performs all functions defined in the SRS based on the approved version.

2. Test Strategy
2.1 Testing Model
Overall, FEMS project uses the Iterative and Incremental Software Process Model that We use specific
testing types to fit the requirement, the characteristic of the system and the human resource of the
project team. The Unit Testing of FEMS applies Automation tests that cover logic of Controller files.
FEMS Front-end works mostly with GUI instead of logic and it depends on FEMS Back-end, so that
FEMS Front-end implements Integration testing and System testing which covers the whole system.

2.2 Testing Types


Testing FEMS Project will be carried out at the end of each Iteration as defined in project plan and will
depend on internal delivery by development side. Each type of FEMS Project Testing will be designated
to cover a level of project, from component level to system level with Unit testing, Integration testing,
System testing and Acceptance testing. On the other hand, FHF will use several testing types to
prevent defects from code modifications and latent bugs. The FEMS project applies Equivalence Class
Partitioning which is a kind of black-box testing.

The different types of testing that will be carried out this project are:

● Unit Testing:
○ Testing all individual implemented methods, functions of Controller files.
○ Unit test also includes database testing to verify constraint, transaction, default value, data
types, data format which are mentioned in database design and software requirement.

322 | Page
○ Test case will have to cover all logic branch that function or method could execute with
difference data input
○ Implemented function’s error message will be included in this test.
● Integration Testing:
○ Integration Testing is defined as a type of testing where software modules are integrated
logically and tested as a feature group. The purpose of this level of testing is to expose
defects in the interaction between these software modules when they are integrated.
Integration Testing focuses on checking data communication among these modules.
○ Integration Testing is carried out by performing test manually through interacting with the
Front-end. Test cases will then be recorded, arranged and stored for further reference.
● System Testing:
○ This testing type validates the complete and fully integrated software product. The purpose
of it is to evaluate the end-to-end system specifications.
○ System Testing is performed manually by going through all the system, testing interaction
with the User Interface like an actual user. Similar to Integration Testing, Test cases will be
recorded and stored for further reference.
● Acceptance Testing:
○ This test type will be executed by tester with designed test cases. Acceptance Test is a test
type conducted to determine if the requirements of a specification or contract are met.

2.3 Test Levels

Test Level
Type of Tests
Unit Integration System Acceptance
Functional Test X X X X

User Interface test X X X

2.4 Supporting Tools

Purpose Tool Vendor/In-house Version


Use to test the web page, bug Google Chrome
logging page

Use to manage test cases Microsoft Excel

Use to perform unit tests MSTest

3. Test Plan
3.1 Human Resources

323 | Page
Worker/Doer Role Specific Responsibilities/Comments
- Manage Test resource and assign test tasks
- Create Test Plan
Test Leader, - Review Test case
Dinh Xuan Hoang - Create Test report
Tester
- Create TC for modules
- Execute test
- Report test result
- Create TC for modules
Nguyen Minh Hoang Tester - Execute test
- Report test result

- Create TC for modules


Nguyen Quang Hieu Tester - Execute test
- Report test result

- Fix bugs

Developer , - Create TC for modules


Vu Hoang Phuc
Tester - Execute test
- Report test result

Nguyen Minh Hung Developer - Fix bugs

3.2 Test Environment

Purpose Tool Provider Version


Test Server FPT Cloud Server
Web Browser Google Chrome
Test Case Record Microsoft Excel 2016

3.3 Test Milestones

Milestone Task Start Date End Date


Iteration 1 18/02/23 18/03/23
Iteration 2 21/03/23 09/04/23

4. Test Cases
1. Unit Test Cases: Report5_Unit Test.xls
2. Integration Test Cases: Report5_Integration Test.xls
3. System Test Cases: : Report5_System Test.xls

324 | Page
5. Test Reports

Types of test Pass Failed Number of test case


Unit Test 296 0 296
Integration Test 398 0 398
System Test 227 0 227

5.1 Unit Testing

Figure 5.1.1: Project Unit Test Structure

325 | Page
Figure 5.1.2: Unit Test Statistic

Figure 5.1.3: Unit Test Case Sample

5.2 Integration Test

326 | Page
Figure 5.2.1: Integration Test Case List

Figure 5.2.2: Integration Test Statistics

327 | Page
Figure 5.2.3: Integration Test Case Sample

5.3 System Test

Figure 5.3.1: System Test Statistic

328 | Page
Figure 5.3.2: System Test Case Sample

5.4 Acceptance Test


To ascertain whether the system is ready for release, Acceptance testing, also known as User
Acceptance Testing, is carried out by the customers. To determine whether the application satisfies
the business' needs, the tester and a few alpha test users will test the system during this phase. Testers
will create check list including rules between team members, customers and the supervisor. Below is
a checklist and rate admission feedbacked from users

ID Checklist Yes No
User Interfaces
1 All of the FU's Event Management’s screens will be responsive Yes
to display information clearly and well organized in any screen
size

2 The website is designed with interfaces inspired by Yes


https://ticketbox.vn/

Software Interfaces
3 FEMS Front-end sends requests to Google Cloud API to perform Yes
authentication, FEMS Back-end verifies authentication token.

4 FEMS Back-end send request to FAP API to get fpt account Yes
detail.

Usability
5 The interface is friendly, simple and easy to use. Yes

6 The steps are short and easy to understand so that the user can Yes
interact with the application without training

7 Main functions are organized into tabs for easier access. Yes

329 | Page
8 Links, buttons, and checkboxes are easily clickable. Yes

9 Important commands are displayed as buttons with distinct Yes


background colors.

Security
10 The system must use token-based authentication, in which the Yes
authentication server returns an access token user logged in
with @fpt.edu.vn email.

Performance
11 Any pages in the system shall fully load in at maximum of 30 Yes
seconds in normal condition.

12 Website can hold at least 200 people at the same time Yes

Localization

13 The language is Vietnamese Yes

Feature

14 Manage event Yes

15 Get QR code when register event Yes

16 Manage TV Yes

17 Manage Group Yes

18 Manage Account Yes

19 Fill in google form in some special event Yes

20 Authentication with @fpt.edu.vn domain Yes

21 Upload links document of an event Yes

22 Manage category Yes

Figure 5.4.1: User Acceptance Checklist

330 | Page
Figure 5.4.2: Admission rate from customer

331 | Page
VI. Release Package & User Guides
1. Deliverable Package

No. Deliverable Item Description


1 Project Schedule/Tracking https://docs.google.com/spreadsheets/d/1BxDKVb2m8ya_
mU5ajdAHLMxhG-pit_h38_kWUo2CT_E/edit?usp=sharing
2 Project Backlog https://docs.google.com/spreadsheets/d/17tAFJZcZPZQm
0x9xvoiZG1G6gH-
I0xUJ/edit?usp=sharing&ouid=101363666079937254062&
rtpof=true&sd=true
3 Source Codes https://gitlab.com/fu-sep490-g2/event-management
4 Final Report Document https://docs.google.com/document/d/13kZw751xIZtP14O
SGr1yGYqz4oPQmwYX/edit?usp=sharing&ouid=101363666
079937254062&rtpof=true&sd=true
5 Test Cases Document Report5_Unit Test.xls
Report5_Integration Test.xls
Report5_System Test.xls

2. Installation Guides
2.1 System Requirements

Minimum Requirement:
Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz 2.59 GHz

RAM 8.00 GB

Intel(R) HD Graphics 520

Recommend Requirement:
Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz 2.40 GHz

RAM 8.00 GB

NVIDIA® GeForce GTX 1050 3GB GDDR5

Required software:
Microsoft SQL Server 2019, Visual Studio 2017

2.2 Installation Instruction

332 | Page
Microsoft SQL Server 2019
Step1: Click on this link to download

https://www.microsoft.com/en-us/sql-server/sql-server-downloads

Step 2: Open the downloaded file

Step 3: After opening the application, there are three different options for users to choose from based
on their purpose.

333 | Page
1. Basic: This is the simplest option for users, where the application will automatically install
basic functions for you.
2. Custom: This is the setup section for those who want to use the application more deeply.
When you choose this option, you will be able to manually configure the software settings.
3. Download Media: When you select this option, the system will download an offline installation
file for you to install on multiple devices without having to reload from the beginning.

334 | Page
In this tutorial, I will choose the Basic mode. Please select Basic and click Accept, then click the Install
button to proceed with the installation.

Step 4: Here, we need to click the Customize button to start configuring the settings for use.

335 | Page
Step 5: For the first window, we click Next.

336 | Page
Step 6: The system will check if the items meet the requirements. A green checkmark means that it's
good to go. Usually, the Firewall item will be yellow, warning that it may affect the installation process.
You can skip this item and continue by clicking Next.

337 | Page
Next, in the Product Key section, you need to select the developer option to use this software for free.
Then, click Next to proceed.

"In the License Terms section, select 'I accept the license terms and Privacy Statement' and click Next.

338 | Page
In the Features Selection section, it's recommended to select Database Engine Services, Data Quality
Client, and Client Tools Connectivity to ensure that the application provides enough packages and
functions for you to learn the full course of the database. Then, click Next.

339 | Page
340 | Page
Step 7: In the Feature Configuration Rules section, you can give a name to the Instance (the name can
be anything you like, without accents or spaces) and then click Next until you reach the Database
Engine Configuration part.

Step 8: In this section, we select the Mix Mode option. This is a security feature for your database.

Next, enter the password for your super admin (sa) account. Finally, click the 'Add current User' button
to add the account.

Lastly, click Next until you reach the Ready to Install section.

341 | Page
Step 9: This is the final section. You just need to click Install and wait until the installation file finishes,
then click Close to complete the process.

342 | Page
343 | Page
SQL Server Management Studio (SSMS)

Step 1: You click the Install SSMS button. The system will automatically take you to the download
link.

344 | Page
Step 2: Click on 'Download SQL Server Management Studio (SSMS)' to download the SSMS file.

Step 3: Open the file you just downloaded and click Install to install the user interface for the
software.

345 | Page
Finally, after the installation is complete, select Close to finish.

346 | Page
Visual Studio 2017
Step1: click on this link and download

https://download.com.vn/download/visual-studio-105771?linkid=62990

Step2: Open downloaded file

347 | Page
Select the following workloads and press “Modify”

348 | Page
*After the download completed, visual studio 2017 should look like this

349 | Page
Source Code
Step1: go to this link: https://gitlab.com/fu-sep490-g2/event-management

Step2: Click on “Clone” and copy the link being circled.

Step3: Clone by tortoisegit or git bash or ….

Example(using tortoisegit)

Into a folder right click and choose “git clone”

350 | Page
Step 4: Paste the link copy in git lab to the URL and press “Ok”

Step 5: Click “Close” when the cloning process completes and open the project folder.

351 | Page
Step 6: Right click on “capstone.sln” and select “Open with” then choose VisualStudio 2017

Step 7: Open folder “capstone.database” and run in order two script “SchemaScript.sql” then
“DataScript.sql” to create database.

352 | Page
Step 8: Click on Web.config in project “capstone” and change the connectionString value into your
setting in Microsoft SQL Server.

Step 9: Click “IIS Express” to run the project

*The website should look like this

353 | Page
3. User Manual
3.1 Overview
This user guide will provide detailed instructions for user features according to each role (Guest,
Student, Organizer, Mangader, Admin) when accessing the FU’s Event Management website
https://expspace.fpt.edu.vn/

3.2 User guideline

3.2.1 Guest Actor

3.2.1.1 Login
1. From the homepage, users click the [Login] button,

2. Choose your FPT Education’s account to login

354 | Page
3.2.1.2 Logout
1. At the top right of screen, click [Logout] button

355 | Page
3.2.1.3 View public event
1. Click a shared link of public event (can be viewed without login), detail of event will be shown.

356 | Page
3.2.2 Student actor

3.2.2.1 View Student Homepage

3.2.2.2 Manage your profile


1. Login as student
2. In homepage, click [Profile] button on top right.

3. In here, you can change avatar by click [Update Image], change First name, Last name, Phone
then click [Hoàn thành] to submit all new profile information.

357 | Page
3.2.2.3 View your Event Calendar
1. Login as student
2. In homepage, click [Lịch sự kiện của tôi] button to view all events in FPT University

358 | Page
3. All events that you bookmarked or registered will be display.

Change week by clicking [Previous Week] / [Next Week] buttons on the top of the screen.

Back to this week view by clicking on [This Week] button.

359 | Page
3.2.2.4 View all events
1. Login as student
2. In Homepage, click [Tìm kiếm sự kiện] on the sidebar.

3. Click on an event to view further information.

3.2.2.5 Search event


1. Login as student
2. In Homepage, click [Tìm kiếm sự kiện] on the sidebar.

360 | Page
3. Click on [Sàng lọc danh sách] button.
4. Fill in [Tên Sự Kiện] text field, choose “Thể loại”, “Tổ chức bởi”, “Trạng thái” and “Khoảng
thời gian”.
5. Click [Tìm kiếm] button.

3.2.2.6 View registered events


1. Login as student
2. In Homepage, click [Sự kiện của tôi] button

361 | Page
3. All of your registered events will be displayed.

4. Click on [Xem vé] button to access your ticket details.

362 | Page
3.2.2.7 Report/Bookmark/Share/Register/Feedback an event
1. In event detail screen click [Report] button to report this event.
2. In event detail screen click [Quan tâm] button to bookmark this event.
3. In event detail screen click [Chia sẻ] button to share this event to Facebook.

4. In event detail screen click [Phản hồi] button to feedback this event.
a. After writing feedback, click [Sửa] button to edit your feedback.
b. After writing feedback, click [Xóa] button to delete your feedback.

363 | Page
5. In event detail screen click [Đăng ký] button to register this event.
6. A registration form will be displayed. Fill necessary information in form then submit it.

3.2.2.8 View your bookmarked events


1. Login as student
2. In Homepage, click [Sự kiện của tôi] button

364 | Page
3. Click on [Sự kiện quan tâm] button on the sidebar.
4. List of your bookmarked events will be displayed.

3.2.2.9 View your checked-in event


1. Login as student
2. In Homepage, click [Sự kiện của tôi] button

365 | Page
3. Click on [Sự kiện quan tâm] button on the sidebar.
4. List of your checked-in events will be displayed.

3.2.2.10 View group


1. Login as student
2. In Homepage, click [Danh sách các câu lạc bộ] button.

366 | Page
3. Click link in group’s name to view group’s information.

4. Click [Danh sách thành viên] button to view list of member in this group.

367 | Page
5. Member list of this group will be displayed.

3.2.3 Organizer Actor

3.2.3.1 View Organizer homepage


1. Login as Organizer, you will automatically redirected to Homepage.
2. From the other screen, [FPT] logo to back to Homepage.

368 | Page
3.2.3.2 Create an event
1. Login as Organizer.
2. In Homepage, click [Tạo sự kiện] button.

3. Fill all event information

369 | Page
370 | Page
371 | Page
4. Click the [Create] button. Besides, click the [Save draft] button to save this as a draft.

3.2.3.3 Manage pending events


1. Login as Organizer
2. In Homepage, click [Sự kiện chờ phê duyệt] button.

3. Click [Hủy sự kiện] button to cancel event creation request.

372 | Page
3.2.3.4 Export statistic
1. Login as Organizer.
2. In Homepage, click [Sự kiện của tôi] button.

3. Click [Chi tiết] button.

373 | Page
4. Click [Xuất thông tin ra file excel] button.

3.2.3.5 Check-in event


1. Login as Organizer
2. In Homepage, click [Sự kiện của tôi] button.

374 | Page
3. Click [Điểm danh] button.

4. Click [ĐIỂM DANH] button.

375 | Page
3.2.3.6 Manage draft events
1. Login as Organizer
2. In Homepage, click [Sự kiện lưu nháp] button.

3. Click [Xóa bản nháp này] button to remove draft event. Click [Sửa bản nháp này] button to
edit event information.

376 | Page
3.2.3.7 View University Event Calendar
1. Login as Organizer
2. In Homepage, click [Xem lịch sự kiện] button.

3. Events will be displayed in a weekly view. Change week by clicking [Tuần trước] / [Tuần sau]
buttons on the top of the screen. Back to this week's view by clicking on the [Tuần này] button.
4. Click [Filter] button to view events with specified category and organizer.

377 | Page
3.2.3.8 Leader edit group information
1. Login as Organizer
2. In Homepage, click the [Xem các câu lạc bộ] button.

3. Click [Sửa] button. (display only if you are leader of this group)

378 | Page
4. Fill new information.

379 | Page
5. Click [Save] button.

3.2.4 Manager Actor

3.2.4.1 View Manager Homepage


1. Login as Manager , you will automatically redirected to Homepage.
2. From the other screen, [FPT] logo to back to Homepage.

380 | Page
3.2.4.2 Create category
1. Login as Manager.
2. In Homepage, click [Tạo thể loại] button.

3. Fill information.
4. Click [Tạo mới] button.

381 | Page
3.2.4.3 Manage category
1. Login as Manager.
2. In Homepage, click [Xem thể loại] button.

3. Click [Sửa] button.


4. Fill new information.

382 | Page
5. Click [Lưu] button.

3.2.4.4 Manage featured events


1. Login as Manager.
2. In Homepage, click [Quản lý sự kiện nổi bật] button.

3. Tick on feature events / Un-tick on non-feature events.

383 | Page
4. Click [Xác nhận] button.

3.2.4.5 Manage pending events


1. Login as Manager.
2. In Homepage, click [Quản lý sự kiện đang chờ] button.

3. Fill in search field


4. Click [Search] button.
5. Click [Chấp thuận] or [Từ chối].

384 | Page
3.2.4.6 Manage report of an event
1. Login as Manager.
2. In Homepage, click [Xem báo cáo] button.

3. Click [Hủy sự kiện] / [Bỏ qua].

385 | Page
3.2.4.7 Manage group
1. Login as Manager.
2. In Homepage, click [Xem các câu lạc bộ] button.

3. Click [Xóa] button to delete group.

386 | Page
4. Click [Đổi chủ tịch] button. Then click [Chọn người này] button. Click OK button on confirm
dialog.

3.2.4.8 Create group


1. Login as Manager.
2. In Homepage, click [Tạo câu lạc bộ] button.

387 | Page
3. Fill in all information.

388 | Page
4. Click [Hoàn tất] button to complete.

3.2.5 Administrator Actor

3.2.5.1 Create account


1. Login as Administrator.
2. In Homepage, click [Tạo tài khoản] button.

3. In Email, input email of user you want to create account (Email must be of domain
@fpt.edu.vn).
4. In Role, click to checkboxes of roles you want to add to new account.

389 | Page
5. Click [Tạo tài khoản] button.
6. Screen View all accounts will display with newly created accounts.

3.2.5.2 Manage account


1. Login as Administrator.
2. In Homepage, click [Danh sách tài khoản] button.

390 | Page
3. View all account Screen will display.

3.2.5.3 Edit account


1. Login as Administrator.
2. In Homepage, click [Danh sách tài khoản] button.

391 | Page
3. View all account Screen will display.

4. Click into Name of account you want to change roles.


5. Select new roles for selected account.

392 | Page
6. Click [Hoàn tất] button.
7. View all account screen will display with edited account.

3.2.5.4 Manage Tv
1. Login as Administrator.
2. In Homepage, click [Quản lý tivi] button.

3. Filter and search Tv.


4. Click on [Đã bật]/[Muốn bật] to enable/disable tv.

393 | Page
3.2.5.5 Manage Event display on Tv
1. Login as Administrator.
2. In Homepage, click [Quản lý tivi] button.

3. Filter and search Tv.


4. Click on [Xem sự kiện].

394 | Page
5. Click on [Đánh dấu đặc biệt]/[Đã đặc biệt] to specialize/unspecialized the event on the tv.

395 | Page
3.2.5.6 Manage campus
1. Login as Administrator.
2. In Homepage, click [Quản lý campus] button.

3. Click on button to edit campus’s information.

396 | Page
4. Fill in new information.

5. Click on [Chỉnh sửa] to save.

3.2.5.7 Add campus


1. Login as Administrator.
2. In Homepage, click [Quản lý campus] button.

397 | Page
3. Click on [Tạo mới] button.

4. Fill in information.

398 | Page
5. Click on [Tạo].

3.2.5.8 Manage building list


1. Login as Administrator.
2. In Homepage, click [Quản lý tòa nhà] button.

3. Click on button to edit building’s information. Click on button to remove building’s


information.

399 | Page
4. Fill in new information.

5. Click on [Chỉnh sửa] to save.

3.2.5.9 Add building


1. Login as Administrator.
2. In Homepage, click [Quản lý tòa nhà] button.

400 | Page
3. Click on [Tạo mới] button.

4. Fill in information.

401 | Page
5. Click on [Tạo]

402 | Page

You might also like