FPT UNIVERSITY. Capstone Project

Similar documents
Desktop Surveillance Help

Terminal Four. Content Management System. Moderator Access

Software Requirements Specification

User Guide for Consumers & Business Clients

PC-Duo Web Console Installation Guide

Section 1.0 Getting Started with the Vālant EMR. Contents

User Manual for Web. Help Desk Authority 9.0

Software Requirement Specification for Web Based Integrated Development Environment. DEVCLOUD Web Based Integrated Development Environment.

Intranet Website Solution Based on Microsoft SharePoint Server Foundation 2010

ConvincingMail.com Marketing Solution Manual. Contents


ekomimeetsmage Manual for version 1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0


A.Team Software (.DMS) Dynamic Meeting Scheduler Vision Document

Portal Recipient Guide

Remedy ITSM Service Request Management Quick Start Guide

Outlook Web Access Tipsheets

Florida Interim Assessment Item Bank and Test Platform (IBTP) Pilot 2 Toolkit

nopcommerce User Guide

SQL Server Database Administration and Design By Dave Peru, October 2011

Free Conferencing Corporation Presents: User Guide for Windows & Mac Operating Systems

Installation Guide for Pulse on Windows Server 2012

Richmond Systems. Self Service Portal

Outlook Web App User Guide

Rochester Institute of Technology. Finance and Administration. Drupal 7 Training Documentation

Does the GC have an online document management solution?

SAP VIRTUAL AGENCY GETTING STARTED GUIDE

EBOX Digital Content Management System (CMS) User Guide For Site Owners & Administrators

PEARSON Parent/Teacher Guide to Online Electronic Practice Assessment Tests (epats) FAQs, Instructions, and Hardware & Software Requirements

SAP VIRTUAL AGENCY GETTING STARTED GUIDE: SELF SERVICE MARKETING

domovea remote access tebis

ACCEPT THE SECURITY CERTIFICATE FOR THE WEB FILTER

UNIT ASSESSMENT SYSTEM DOCUMENTATION FACULTY

Redtail CRM Integration. Users Guide Cities Digital, Inc. All rights reserved. Contents i

dotmailer for Salesforce Installation Guide Winter 2015 Version

TARGETPROCESS INSTALLATION GUIDE

Ekran System Help File

Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102

Cloud Control Panel (CCP) Billing User Guide

nopcommerce User Guide

PCVITA Express Migrator for SharePoint(Exchange Public Folder) Table of Contents

BlackBerry Internet Service. Version: Administration Guide

Installation Guide for Pulse on Windows Server 2008R2

Chapter 15: Forms. User Guide. 1 P a g e

Exchange Outlook Profile/POP/IMAP/SMTP Setup Guide

Landlord Registration U s e r G u i d e

CSc 230 Software System Engineering FINAL REPORT. Project Management System. Prof.: Doan Nguyen. Submitted By: Parita Shah Ajinkya Ladkhedkar

Installation & User Guide

Sophos Mobile Control SaaS startup guide. Product version: 6

Time Monitoring Tool Software Development Plan. Version <1.1>

CAMPAIGNS...5 LIST BUILDER FORMS...

... Asbru Web Content Management System. Getting Started. Easily & Inexpensively Create, Publish & Manage Your Websites

Health Indicators Advancing Healthy Aging in Your Community. Database Instructions for Managers

Microsoft Expression Web

1. On the Careers page, click on the "Click here to Register" link. You will then be taken to the Register page.

Net 2. NetApp Electronic Library. User Guide for Net 2 Client Version 6.0a

skype ID: store.belvg US phone number:

HP A-IMC Firewall Manager

Project Report s Synopsis On behalf of

SYSTEM REQUIREMENTS...

Using Internet Archive: A guide created by the Digital POWRR Project

Rally Installation Guide

PCVITA Express Migrator for SharePoint (File System) Table of Contents

CRM Navigation Guide. Department of Developmental Disabilities. June, 2015

Schools CPD Online General User Guide Contents

formerly Help Desk Authority Upgrade Guide

Xactimate v.27 Network Installation

For further support information, refer to the Help Resources appendix. To comment on the documentation, send an to

SYSTEM REQUIREMENTS...3

Reference Guide for WebCDM Application 2013 CEICData. All rights reserved.

Group18-CUCE2012. Mr. Mobile Project. Software Testing Plan (STP) Version: 4.0. CM Identifier: G18_SE004

Getting Started. Getting Started with Time Warner Cable Business Class. Voice Manager. A Guide for Administrators and Users

SysPatrol - Server Security Monitor

Active Directory Self-Service FAQ

End User Guide. Version 2.8.0

Synchronizer Installation

SQL Server 2008 R2 Express Installation for Windows 7 Professional, Vista Business Edition and XP Professional.

Order Manager Toolkit

Installation Guide. Help Desk Manager. Version v12.1.0

User Manual. Version Yeastar Technology Co., Ltd.

VMware Horizon FLEX User Guide

StruxureWare Power Monitoring 7.0.1

AvePoint Meetings for SharePoint On-Premises. Installation and Configuration Guide

Event Management Do-It-Yourself User Guide

WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide

NETWRIX FILE SERVER CHANGE REPORTER

Priority: Medium Channel to Actor: Graphical User Interface (GUI) Usage Frequency: Weekly Secondary Actors: Database, Brisk Application

How To Get A Certificate From Digicert On A Pc Or Mac Or Mac (For Pc Or Ipa) On A Mac Or Ipad (For Mac) On Pc Or Pc Or Pb (For Ipa Or Mac) For Free

How To Access A Project Plan On A Pc Or Macbook 2 On A Computer Or Macodeo On A Network (For Free) On A Server Or Macrocessor On A Microsoft Macbook (For A Free) With A Web

GUARD1 PLUS SE Administrator's Manual

Startup guide for Zimonitor

Customization & Enhancement Guide. Table of Contents. Index Page. Using This Document

CA Nimsoft Monitor Snap

Request Manager Installation and Configuration Guide

Software Design Specification

BSDI Advanced Fitness & Wellness Software

BaseManager & BACnet Manager VM Server Configuration Guide

XenClient Enterprise Synchronizer Installation Guide

Transcription:

MINISTRY OF EDUCATION AND TRAINING FPT UNIVERSITY Capstone Project Online Event Organizing Company Management System Group Group Members Đoàn Minh Thiện 60130 Nguyễn Thanh Thống 60561 Mai Hoàng Trí Anh Se60818 Nguyễn Thanh Tùng Phạm Khánh Thiện 01497 Se02262 Supervisor Capstone Project code Trần Đình Trí EOCMS_Website - Ha Noi, May / 2015-1 P a g e

Table of Contents Table of Contents... 2 Report No.1: Introduction... 8 1.1 Background... 8 1.2 Project Objective... 8 1.3 Scope Definition... 8 1.4 Main Project Success Criteria... 9 1.5 Approach... 9 1.6 Group Function... 9 1.7 Project Program and Management... 10 Report No.2: Project Management Plan (PMP)... 11 2.1 Problem Definition... 11 2.1.1 Name of this Capstone Project... 11 2.1.2 Problem Abstract... 11 2.1.3 Project Overview... 11 2.1.3.1 Problem Definition... 11 2.1.3.2 The Proposed System... 11 2.1.3.3 Boundaries of the System... 11 2.1.3.4 Development Environment... 11 2.2 Project organization... 12 2.2.1 System Process Model... 12 2.2.2 Roles and Responsibilities... 13 2.2.3 Tools and Techniques... 14 2.3 Project management plan... 14 2.3.1 Iteration... 14 2.3.1.1 Iteration 1... 14 2.3.1.2 Iteration 2... 18 2.3.2 Task Sheet: Assignments and Timetable... 21 2 P a g e

2.3.3 All Meeting Minutes... 21 2.4 Convention Rules... 22 Report No.3: System Requirements Specifications (SRS)... 23 3.1 User Requirement Specification... 23 3.1.1 Guest Requirement:... 23 3.1.2 Customers Requirement... 23 3.1.3 Event Manager Requirement... 24 3.1.4 Admin Requirement... 24 3.1.5 System Requirement... 24 3.2 System Requirement Specification (Specific Requirements):... 24 3.2.1 External Interface Requirements... 24 3.2.1.1 User Interfaces... 24 3.2.1.2 Communications Protocol... 25 3.2.2 Functional Requirements... 26 3.2.2.1 Use Case-n Diagram (otherwise use another model)... 26 Overall Usecase Diagram... 26 3.2.2.2 <Guest> Register... 27 3.2.2.3 <Guest> View Events by searching names... 30 3.2.2.4 <Guest>View Events by searching date... 32 3.2.2.5 <Guest>View Events View Events by searching locations... 34 3.2.2.6 <Guest>View Events... 36 3.2.2.7 <Guest> View Location... 38 3.2.2.8 <Guest> View Calendar... 40 3.2.2.9 <Customer> Update Events... 43 3.2.2.10 <Customer> View Events Details... 46 3.2.2.11 <Customer>Book Events... 47 3.2.2.12 <Customer>Payment... 50 Manager s Usecase Diagram... 51 3.2.2.13 <Manager>Delete Location... 51 3 P a g e

3.2.2.14 < Manager>Add Location... 53 3.2.2.15 <Manager> Update Location... 55 3.2.2.16 <Manager >View List Location... 56 3.2.2.17 < Manager > Add Hall... 59 3.2.2.18 <Manager > Delete Hall... 61 3.2.2.19 <Manager > Update Hall... 63 3.2.2.20 <Manager>Add Services... 65 3.2.2.21 <Manager>Delete Services... 68 3.2.2.22 <Manager > Update Services... 70 3.2.2.23 <Manager > View List Services... 72 3.2.2.24 <Manager> Add Service-Location Fee... 74 3.2.2.25 <Manager> Update Service-Location Fee... 76 3.2.2.26 <Manager> Delete Service-Location Fee... 79 3.2.2.27 <Manager>Approve Events... 82 3.2.2.28 <Manager>Cancel Events... 85 Admin s Usecase Diagram... 87 3.2.2.29 <Admin>View List Accounts... 87 3.2.2.30 <Admin> Add Accounts... 90 3.2.2.31 <Admin> Update Accounts... 93 3.2.2.32 <Admin> Delete Account... 96 3.2.3 Non-Functional Requirements... 98 3.2.3.1 Reliability... 98 3.2.3.2 Availability... 98 3.2.3.3 Security... 98 3.2.3.4 Maintainability... 98 3.2.3.5 Portability... 99 3.2.3.6 Performance... 99 3.3 Entity Relationship Diagram or Data Structures... 100 Report No.4: System Design Description (SDD)... 101 4 P a g e

4.1. Design Overview... 101 4.2. System Architectural Design... 102 4.2.1. Choice of System Architecture:... 102 4.2.2. Discussion of Alternative Designs... 103 4.2.3. Description of System Interface... 103 4.2.3.1. User Interfaces... 103 4.2.3.2. Hardware Interfaces... 103 4.2.3.3. Software Interfaces... 103 4.2.3.4. Communication Interfaces... 103 4.3. Component Diagram... 104 4.4. Detailed Description of Components:... 105 4.4.1. CRC Cards (Class-Responsibility-Collaborators)... 105 4.4.1.1. Component-n... 105 4.5. Sequence Diagram... 114 4.5.1. Guest... 114 4.5.1.1. <Guest> View Event List... 114 4.5.1.2. <Guest> View Event Detail... 115 4.5.2. Admin:... 115 4.5.2.1. <Admin> Add Account... 115 4.5.3. Manager:... 117 4.5.3.1. <Manager>Add Hall... 117 4.5.3.2. <Manager> Manager Approve Event:... 117 4.5.3.3. <Manager> Add Service:... 118 4.5.4. Customer... 118 4.5.4.1. <Customer> View Event Detail... 119 4.5.4.2. <Customer> Manage Check in... 120 4.6. User Interface Design/ Hardware Interface Design (if any)... 121 4.6.1. Description of the User Interface... 121 4.6.1.1. Screen Images/ Hardware Description... 121 5 P a g e

4.6.1.2. Objects and Actions/ Component... 126 4.7. Database Design or Data Structures or algorithms... 127 Report No.5: System Implementation & Test (SIT)... 130 5.1. Introduction... 130 5.1.1. Overview... 130 5.1.2. Test Approach... 130 5.1.2.1. Test Goal:... 130 5.1.2.2. Test type: black box testing... 130 5.1.2.3. Testing Model... 131 5.2. Database Relationship Diagrams/Hardware Charts (if any)... 133 5.3. Test Plan... 133 5.3.1. Features to be tested... 133 5.3.2. Features not to be tested... 133 5.3.3. Testing Tools and Environment... 133 5.3.3.1. Testing tool... 133 5.3.3.2. Testing Environment:... 133 5.4. Results of Unit Test... 134 5.5. Test Cases... 136 5.6. Results of Acceptance Test... 149 Report No.6: System User s Manual... 152 6.1. Installation Guide... 152 6.1.1. Web application... 152 6.1.2. Prerequisites... 152 6.2. User s Guide... 153 6.2.1. How to create a User:... 153 6.2.2. How to create a Location:... 154 6.2.3. How to create a Service:... 155 6.2.4. How to approve a event:... 157 6.2.5. How to create a Event:... 158 6 P a g e

6.2.6. How to manage event:... 160 6.2.7. How to update event:... 161 7 P a g e

Report No.1: Introduction 1.1 Background Nowadays, there are many company need organize event to advertise activities of company. But they don't have equipments and people, they need one or many event company help them do it. So, We are building a web-based to manage activities of event company. 1.2 Project Objective Our goal when developing the Event Organizing Company Management System is to create a system that helps User hold events without any difficulties. By using this system, User and Staffs that have accounts can manage the planning of events online, such as choosing the location of an event, resources needed when an event takes place... Administrators of the system can modify, create, and remove locations, resources... from the database so that it is always up-to-date. Customers can book events online. 1.3 Scope Definition The main scope of the EOCMS is to provide an efficient and easy-to-use service that facilitates the process of planning events. It manages User, allocates suitable roles for each kind of User. It also has functions for managing resources. It also provides some convenient functions for User in searching and statistics. EOCMS does not take responsibility for managing activities during events such as ceremonies... It is not designed for a specific type of event, but for general management of all kinds of events. 8 P a g e

1.4 Main Project Success Criteria This system must meet all the requirements, be thoroughly tested and be completed on time. It must not only provide the simplest way for User to book events but also do it without errors. 1.5 Approach -Visit the event management websites on the Internet, do a research on the strengths and weaknesses of those. -Discuss with potential User and Staffs about what they want from this system. -Develop the new distributed system based on web technologies to help manage events easily. 1.6 Group Function These are the main functions this system will provide: -User Management -Requesting and Booking Management -Event Planning and Organizing Management -Fee Management -Searching and Statistics With User and Staff Management function, the system can help create a new User and Staff, update the information of an existing User and Staff, and delete an existing User and Staff. Only the administrator can update the information of an existing User and Staff, delete an existing User and Staff. With Requesting and Booking Management function, a User and Staff that already has an account can request for assistance in creating a new event (choose a location, resources needed...). With Event Planning and Organizing Management function, a User and Staff that already has an account can decide how the event will take place, such 9 P a g e

as the number of guests that will attend the event, how long the event will last... With Fee Management function, the system can help manage the fees for creating a new event (location fee, resource fee, tickets...). With Searching and Statistics function, a User and Staff that already has an account can search for locations, resource providers... that are suitable for the event he/she creates and then create reports, if needed. 1.7 Project Program and Management The sponsor of the project is one of the university professors EOCMS will be performed as a formal software engineering project from the start of the project. Every document will be created as of the need of the project and requests from User and Staffs and sponsors following the templates of FPT Software. 10 P a g e

Report No.2: Project Management Plan (PMP) 2.1 Problem Definition 2.1.1 Name of this Capstone Project Event Organizing Company Management System (EOCMS) 2.1.2 Problem Abstract There are many systems that providing information of event but most of them have some weaknesses, these do not allow customers create their own event online. We expect developing a new system for event Organizing company to manage its business activities. 2.1.3 Project Overview 2.1.3.1 Problem Definition Develop a web based application for event Organizing company to manage its business activities. 2.1.3.2 The Proposed System Develop a web based application for event Organizing company to manage its business activities. 2.1.3.3 Boundaries of the System The project is developed on the web and based on technologies framework ASP.NET MVC 4. Therefore, our project runs well in the Google Chrome, Mozilla Firefox, Opera, Safari, and Internet Explorer 2.1.3.4 Development Environment For Server Windows Minimum Requirements Recommended Internet Connection Cable, Wifi (4 Mbps) Cable, Wifi (8 Mbps) Operating System XP, Vista, 7, 8 XP, Vista, 7, 8 Computer Processor Intel Core 2 Duo Intel Core(TM) i5 CPU, M 460 @ 2.53GHz Computer Memory 1GB RAM 3GB or more 11 P a g e

2.2 Project organization 2.2.1 System Process Model We choose the iterative process model as software process model for solving our problems. Iterative development is a way of breaking down the software development of a large application into smaller chunks. In iterative development, feature code is designed, developed and tested in repeated cycles. With each iteration, additional features can be designed, developed and tested until there is a fully functional software application ready to be deployed to customers. Nowadays, software development process is most commonly built around iterative approach. This model splits each work into small process rounds, each round will perform some functions and complete additional functionality in every iteration. 12 P a g e

2.2.2 Roles and Responsibilities No Full name Role in Group Responsibilities 1 Trần Đình Trí Project manager Specify user requirement Control the development process Give out technique and business analysis support 2 Mai Hoàng Trí Anh Team Leader, BA, Managing process DEV, Tester Designing database Clarifying requirements Prepare documents Android layout design Research technique Create test plan Coding Testing 3 Đoàn Minh Thiện Team Member, BA, Designing database on DEV, Tester cloud Clarifying requirements Build up web service Create test plan Coding Testing 4 Nguyễn Thanh Thống Team Member, BA, Clarifying requirements DEV, Tester Prepare documents GUI Design for web Create test plan Coding Testing 5 Phạm Khánh Thiện Team Member, BA, Designing database DEV, Tester Clarifying requirements Prepare documents GUI Design for web Create test plan Coding Testing 6 Nguyễn Thanh Tùng Team Member, BA, Designing database DEV, Tester Clarifying requirements Prepare documents GUI Design for web Create test plan 13 P a g e

2.2.3 Tools and Techniques - Front-end technologies: HTML5, CSS3, JavaScript, jquery, AJAX. - Back-end: + Website: Visual Studio 2012, MVC5, Entity Framework 6 - Database Management System: SQL Server. 2.3 Project management plan 2.3.1 Iteration Phase /Iteration Requirement 2.3.1.1 Iteration 1 Description Deliverables Resource needed - Requirements understanding as evidenced by the fidelity of the primary use cases. - Credibility of the -Introduction of proposed system. -Main functions. -Project 14 mandays Dependencies and Constrains N/A Risks Project may not be feasible for developing because lack of technologies and/or data 14 P a g e

cost/schedule estimates, priorities, risks, and development process. - Depth and breadth of any architectural prototype that was developed. - Establishing a baseline by which to compare actual expenditures versus planned expenditures. Iteration Plan. Analysis and Design - A use-case model in which the use-cases and the actors have been identified and most of the use-case descriptions are developed. The usecase model should be 80% complete. - A description of the software architecture in a software system development process. - An executable architecture that realizes architecturally significant use cases. - Business case and risk list which are revised. - A development plan for the overall project. - Prototypes that demonstrably mitigate each identified technical risk. - A preliminary user manual (optional) Developing - The primary objective is to build - Prototype design - Software requirement specification - Data management service. - Main user s functions on 7 mandays 15 mandays N/A Depend Data on Poor design Lack of experience. Not have a clear 15 P a g e

Testing and Evaluation the software system. In this phase, the main focus is on the development of components and other features of the system. This is the phase when the bulk of the coding takes place. In larger projects, several construction iterations may be developed in an effort to divide the use cases into manageable segments that produce demonstrable prototypes. - This phase produces the first external release of the software. Its conclusion is marked by the Initial Operational Capability Milestone. - The primary objective is to 'transit' the system from development into production, making it available to and understood by the end user. The activities of this phase include training the end users and maintainers and beta testing the system to validate it against the end users' expectations. The product is also checked against the quality level set in the Inception phase. web - User account management system - Suggestion services - Test and release. - Build future plan. 4 mandays management. Depends on main functions development. understanding about business process. The implemented algorithm is not the best. Lack of test data. 16 P a g e

- If all objectives are met, the Product Release Milestone is reached and the development cycle is finished. 17 P a g e

2.3.1.2 Iteration 2 Phase /Iteration Requirement Description Deliverables Resource needed - Requirements understanding as evidenced by the fidelity of the primary use cases. - Credibility of the cost/schedule estimates, priorities, risks, and development process. - Depth and breadth of any architectural prototype that was developed. - Establishing a baseline by which to compare actual expenditures versus planned expenditures. -Introduction of proposed system. -Main functions. -Project Iteration Plan. 14 mandays Dependenci es and Constrains N/A Risks Project may not be feasible for developing because lack of technologies and/or data Analysis and Design - A use-case model in which the use-cases and the actors have been identified and most of the use-case descriptions are developed. The usecase model should be 80% complete. - A description of the software architecture in a software system development process. - An executable architecture that realizes architecturally significant use cases. - Business case and risk list which are revised. - A development plan - Prototype design - Software requirement specification - Data management service. 7 mandays N/A Poor design 18 P a g e

for the overall project. - Prototypes that demonstrably mitigate each identified technical risk. - A preliminary user manual (optional) Developing - The primary objective is to build the software system. In this phase, the main focus is on the development of components and other features of the system. This is the phase when the bulk of the coding takes place. In larger projects, several construction iterations may be developed in an effort to divide the use cases into manageable Testing and Evaluation segments that produce demonstrable prototypes. - This phase produces the first external release of the software. Its conclusion is marked by the Initial Operational Capability Milestone. - The primary objective is to 'transit' the system from development into production, making it available - Main user s functions on web - User account management system - Suggestion services - Test and release. - Build future plan. 15 mandays 4 mandays Depend on Data management. Depends on main functions development. Lack of experience. Not have a clear understanding about business process. The implemented algorithm is not the best. Lack of test data. 19 P a g e

to and understood by the end user. The activities of this phase include training the end users and maintainers and beta testing the system to validate it against the end users' expectations. The product is also checked against the quality level set in the Inception phase. - If all objectives are met, the Product Release Milestone is reached and the development cycle is finished. 20 P a g e

2.3.2 Task Sheet: Assignments and Timetable 2.3.3 All Meeting Minutes Refer to Meeting Minutes folder. 21 P a g e

2.4 Convention Rules Summary: - Naming Convention. + Use camel case for both variable and function name. + Use pascal case for class name. - Indentation. + Four spaces should be used as the unit of indentation. The exact construction of the indentation (spaces vs. tabs) is unspecified. Tabs must be set exactly every 8 spaces (not 4). + Avoid lines longer than 80 characters, since they re not handled well by many terminals and tools. - Declaration. + One declaration per line is recommended since it encourages commenting. + In absolutely no case should variables and functions be declared on the same line. + Do not put different types on the same line. 22 P a g e

Report No.3: System Requirements Specifications (SRS) 3.1 User Requirement Specification 3.1.1 Guest Requirement: - All people who visit the EOCMS website seem to be Guest role. - Guest can view event. - Guest can search event by name event, by date - Guest can register to be user of the website. Username, password, first name, last name, gender and email address is required for registration. 3.1.2 Customers Requirement - Customers have all function of [Guest] role. - Customers are person who registered an account at EOCMS website. - Customers must use their username and password to log into the website. - Customers can log out the website. - Customers can view and edit his/her account information: Name, Password, Email, Phone Number, etc. - Customers are member of EOCMS website with role Customers role. - Customers can feedback the event. - Customers can book the event. - Customers can manage Customers Information and can change the password. 23 P a g e

- Customers can manage check in: Check in Customers by name - Customers can manage event request: approve or cancel 3.1.3 Event Manager Requirement - Event Manager can manage the locations, services: 3.1.4 Admin Requirement - Admin can manage the accounts. 3.1.5 System Requirement - System can auto send mail to member. - System can auto show the notifications. - System can recommend the event suitable with user industry. - System can suggest the location for the event manager when event manager create an event. - System can auto approve booking when the payment have done or auto reject booking when the payment is pending more than 3 days. 3.2 System Requirement Specification (Specific Requirements): 3.2.1 External Interface Requirements 3.2.1.1 User Interfaces User can interact with the system and other users through the user interface. Below are screens available for users: Screen Name Register Screen Home Page Forget Password Screen Page Function Allow Guest to register Allow all actors view Home Screen and search Event Allow Guest to get password 24 P a g e

Profile Screen Page Admin Page View Users Page Add or Edit Users Page View Location Page Add or Edit Location Page View Services Page Add or Edit Services Page View Event Request Page Approve Event Request Page Statistic Page Search Screen View Event Page Create Event Page Edit Event Page Booking Page Event Created Page Allow all actors to view and edit profile Allow Admin control User Allow Admin view list of Locations Allow Manager add or view information of Location and Edit Allow Manager view list of Services Allow Manager add or view information of Service and Edit Allow Manager view list of Event Request Allow Manager view information of Event and Approve Allow Customer view Number of Event Created, Attenders, Ticket, profit follow chart Allow all actors to view search result Allow all actors to view event Allow Customers to create event Allow Customers to edit event Allow Customers to booking event Allow Event Manager to manage event Created 3.2.1.2 Communications Protocol Website using HTTP protocol for communication between the web browser and the web server. 25 P a g e

3.2.2 Functional Requirements Overall Usecase Diagram 3.2.2.1 Use Case-n Diagram (otherwise use another model) 26 P a g e

3.2.2.2 <Guest> Register Figure 1: Register Use-Case Diagram Register Use-Case Diagram Specification USE CASE Guest Register SPECIFICATION Use Case NO. UC001 Use Case Version 1.0 Use Case Name Author Guest Register ThongNT Date 25/05/2015 Priority Normal Actor: Guest Summary: If a Guest wants to use the functions provided within this website, he/ she can create an account. He/ She must provide some basic information, such as username, password, email, address, phone number Goal: Allow a Guest to create a new account to use main functions of the website. Triggers: 27 P a g e

On the [Homepage] page, the Guest clicks on [Register]. After that, the [Register] page appears. The Guest inputs information, and clicks [Register] button to finish. Pre-Conditions: - The Guest has not had an account of this website yet. - The username and password have not been used to register. Post-Conditions: - Success: The Guest successfully creates an account of this website. A message appears in a pop-up on the [Register] page, telling the guest that he/ she has successfully registered. - Failure: An error message will appear, telling what information needs be re-input. Main Success Scenario: Actor Action 1. Click [Register] button on the [Homepage] page System Response 2. The website will transfer [Register] page with [Register] form that includes: - FIRST NAME: textbox ( max length: 250) -LAST NAME: textbox ( max length: 250) -USERNAME: textbox(min length: 3, max length: 50) -PASSWORD: password( max length: 250) -EMAIL: textbox -PHONE NUMBER: number -ADDRESS: textbox -Submit: button 3. Enter information in the fields 4. [Exception1,3,5,7,9,11,13,15,17,19] 28 P a g e

5. Click [Register] button 6. Display a pop-up message: Register successfully! Alternative Scenario: N/A Exceptions: Actor Action 1. Click [Register] button without inputting information in [FIRST NAME], [LAST NAME], [USERNAME], [PASSWORD], [EMAIL], [PHONE NUMBER], or [ADDRESS] textboxes 3. [USERNAME] contains less than 3 or more than 50 letters System Response 2. Display an error message This field is required on the right side of the textbox that needs be input 4. Display an error message minimum is 6 characters-maximum 50 characters 5. [PASSWORD] more than 250 letters 6. Display an error message Maximum is 250 characters 7. [EMAIL] or both were used to register 8. Display an error message email have been used. 9. [PHONE NUMBER] is not a number 10. Display an error message Invalid phone number Relationships: N/A Business Rules: - The new account with all information can be created and saved in the database. - The Guest that created the account can log in to the website using the information above. - The system will send an email to the email address of the Guest to inform him/ her that he/ she has created an account. 29 P a g e

3.2.2.3 <Guest> View Events by searching names Figure 2: View Events Use-Case Diagram View Events by searching names Use-Case Specification: USE CASE Guest Search names of events SPECIFICATION Use Case NO. UC002 Use Case Version 1.0 Use Case Name Author Guest Search names of events ThongNT Date 25/05/2015 Priority Normal Actor: Guest Summary: A Guest can search for events he/ she likes based on the names without having to log in. Goal: Allow a Guest to search for events based on the names and view them on the current page. Triggers: The Guest inputs the name in the [Search] textbox, chooses the name criterion for searching, and clicks [Search] button. 30 P a g e

Pre-Conditions: Post-Conditions: - Success: The website will show the [Homepage] page. A list of events will appear on the page. - Failure: The website will show the [Homepage] page. An error message: No result found appears. Main Success Scenario: Actor Action 1. Input the name in the [Search] textbox, choose the name search criterion from the [Filter] drop-down list, and click [Search] button on the [Homepage] page. System Response 2. The website will show the [Homepage] page with the [Search] form that includes: -Search field: textbox. Alternative Scenario: Exceptions: Relationships: Business Rules: - If the Guest searches for events that exist, the result will be shown in a table. - If the Guest searches for events that do not exist, an error message: No result found will appear. 31 P a g e

3.2.2.4 <Guest>View Events by searching date Figure 3:View Events Use-Case Diagram View Events by searching date Use-Case Specification USE CASE Guest Search dates SPECIFICATION Use Case NO. UC003 Use Case Version 1.0 Use Case Name Author Guest Search dates ThongNT Date 25/05/2015 Priority Normal Actor: Guest Summary: A Guest can search for events he/ she likes based on the dates on which events are held without having to log in. Goal: Allow a Guest to search for events based on the dates on which events are held and view them on the current page. Triggers: The Guest clicks on My Events, then page [My Events] will show. Pre-Conditions: 32 P a g e

Post-Conditions: - Success: The website will show the [Homepage] page. A list of events will appear on the page. - Failure: The website will show the [Homepage] page. An error message: No result found appears. Main Success Scenario: Actor Action 1. Input the name of the organization in the [Search] textbox, type the location search and click [Search] button on the [Homepage] page. 3. Click on textbox [Date] then input date want search. Click [Search]button on the[search Events] page System Response 2. The website will show the [Search events] page with the Location and date 4.The website will show the map with date Alternative Scenario: N/A Exceptions: Relationships: N/A Business Rules: - If the Guest searches for events that exist, the result will be shown in a table. - If the Guest searches for events that do not exist, an error message: No result found will appear. 33 P a g e

3.2.2.5 <Guest>View Events View Events by searching locations Figure 4: View Events Use-Case Diagram View Events by searching locations Use-Case Specification USE CASE Guest Search locations SPECIFICATION Use Case NO. UC004 Use Case Version 1.0 Use Case Name Author Guest Search locations ThongNT Date 25/05/2015 Priority Normal Actor: Guest Summary: A Guest can search for events he/ she likes based on the names of the locations at which events take place without having to log in. Goal: Allow a Guest to search for events based on the names of the locations at which events take place and view them on the current page. 34 P a g e

Triggers: The Guest inputs the name of the location in the [Search] textbox, chooses the location criterion for searching, and clicks [Search] button. Pre-Conditions: N/A Post-Conditions: - Success: The website will show the [Homepage] page. A list of events will appear on the page. - Failure: The website will show the [Homepage] page. An error message: No result found appears. Main Success Scenario: Actor Action 1. Input the name of the organization in the [Search] textbox, type the location search and click [Search] button on the [Homepage] page. System Response 2. The website will show the [Search events] page with the location Alternative Scenario: Exceptions: Relationships: N/A Business Rules: - If the Guest searches for events that exist, the result will be shown in a table. - If the Guest searches for events that do not exist, an error message: No result found will appear. 35 P a g e

3.2.2.6 <Guest>View Events Figure 5: View Events Use-Case Diagram View Events Use-Case Specification USE CASE Guest View events SPECIFICATION Use Case NO. UC005 Use Case Version 1.0 Use Case Name Author Guest View events ThongNT Date 25/05/2015 Priority Normal 36 P a g e

Actor: Guest Summary: A Guest can view events without having to log in. Goal: Allow a Guest to view events. Triggers: The Guest views the website or searches for events using the [My Event] funtion Pre-Conditions: N/A Post-Conditions: - Success: The website will show the [Homepage] page. - Failure: Error messages appear. Main Success Scenario: Actor Action 1. View the website or search using [My Events] function System Response 2. The website will show the [My Events] page with the Event List Alternative Scenario: N/A Exceptions: Relationships: N/A Business Rules: - If the Guest views the website, the [Homepage] page will be shown. 37 P a g e

3.2.2.7 <Guest> View Location Figure 1: View Location Use-Case Diagram View Location Use-Case Diagram Specification USE CASE Guest View Location SPECIFICATION Use Case NO. UC006 Use Case Version 1.0 Use Case Name Author Guest View Location ThongNT Date 25/05/2015 Priority Normal 38 P a g e

Actor: Guest Summary: A Guest can view location without having to log in. Goal: Allow a Guest to view location and location service of the website. Triggers: On the [Homepage] page, the Guest clicks on [Location]. Pre-Conditions: - N/A Post-Conditions: - Success: The Guest can view list of location of this website - Failure: An error message will appear. Main Success Scenario: Actor Action 1. Click [Location] button on the [Homepage] page System Response 2. The website will display [Location] tab with list of location Alternative Scenario: Actor Action System Response 39 P a g e

1. Click [Location] button on the [Homepage] page 3. Click [Location] button on the [Homepage] page 2. The website will display [Location] tab with list of location 4. Show all service of the location. Exceptions: Relationships: N/A Business Rules: N/A 3.2.2.8 <Guest> View Calendar Figure 1: View Calendar Use-Case Diagram View Calendar Use-Case Diagram Specification 40 P a g e

USE CASE Guest View Location SPECIFICATION Use Case NO. UC007 Use Case Version 1.0 Use Case Name Author Guest View Calendar ThongNT Date 25/05/2015 Priority Normal Actor: Guest Summary: A Guest can view Calendar without having to log in. Goal: Allow a Guest to view calendar of the website. Triggers: On the [Homepage] page, the Guest clicks on [Calendar]. Pre-Conditions: - N/A Post-Conditions: - Success: The Guest can view Calendar grid - Failure: An error message will appear. Main Success Scenario: Actor Action System Response 41 P a g e

1. Click [Calendar] button on the [Homepage] page 2. The website will display [Calendar] tab with Calendar grid Alternative Scenario: N/A Exceptions: N/A Relationships: N/A Business Rules: N/A 42 P a g e

Use Case Customer<Manage Events> Figure 13: Manage Event Use-Case Diagram 3.2.2.9 <Customer> Update Events Figure 15:Update Events Use-Case Diagram Update Events Use-Case Specification USE CASE Event Manger - UPDATE EVENT Use Case NO. UC-015 Use Case Version 1.0 Use Case Name Update event 43 P a g e

Author MinhThien Date 20/05/2015 Priority Normal Actor: Event Manager Summary: Event Manager update Goal: Event Manager can update event successfully Triggers: Actor Behavior Pre-Conditions: The Attendees has already logged in as Event Manager role. The Event Manager had created event Post-Conditions: N/A Main Success Scenario: Actor Action 1. Click on [My Event] link in the homepage. 3. Click on [Update] button near the Event System Response 2. The website will redirect to [List Events] page 4. The website will show popup with: [Update] form with: - Event name: text box - Event description: text box - Start Time: Calendar - End Time: Calendar 44 P a g e

- Location: Up-Down - Choose Halls: text area - Choose Services: text area - Is feautured: check box 5. Edit [My Events] form 6. [Exception ] 7. Click [Update] button 8. These changes applied for this event Alternative Scenario: Actor Action System Response 1. Click [Cancel] button 2. No change Exceptions: Actor Action 1. [Event s Name], [Event URL], [Event description] are blank. System Response 2. Show error message: This field is required on the fields that is blank 3. Not selected Start Time or location 4. Show error message: Event can t update Relationships: Login use case, Manage Subscribe use case, Create Event use case Business Rules: N/A 45 P a g e

3.2.2.10 <Customer> View Events Details Figure 16: View Events details Use-Case Diagram 46 P a g e

3.2.2.11 <Customer>Book Events Figure 17: Book Events details Use-Case Diagram Book Events Use-Case Specification USE CASE Event Manager-BOOK EVENT Use Case NO. UC-017 Use Case Version 1.0 Use Case Name Author Book Event MinhThien Date 20/05/2015 Priority Normal Actor: Event Manager Summary: Event Manager Book new event Goal: Event Manager can Book event successfully Triggers: Actor Behavior Pre-Conditions: 47 P a g e

The Attendees has already logged in as Event Manager role. Post-Conditions: N/A Main Success Scenario: Actor Action 1. Click on [Create Event] button in the homepage. System Response 2. The website will redirect to [Create Event] with: - Event name: text box - Event description: text box - Start Time: Calendar - End Time: Calendar - Location: Up-Down - Choose Halls: text area - Choose Services: text area - Is feautured: check box - Event Image: button - Event s URL: textbox - Event Agenda: text area - Event type: Up-down - Create: button - Cancel: button 3. Enter information into fields. 4. [Exception 1, 3, 5] 5. Click on [Create] button 6. System show message: Events 48 P a g e

Created Alternative Scenario: N/A Exceptions: Actor Action 1. [Event name], [Event description], [Start Time], [End Time] are blank. System Response 2. Show error message: This field is required on the fields that is blank 3. Not selected [Start Time] [End Time] 4. Show error message: Cant not create Relationships: Login use case, Manage Subscribe use case. Business Rules: N/A 49 P a g e

3.2.2.12 <Customer>Payment Figure 18:Payment Use-Case Diagram 50 P a g e

Manager s Usecase Diagram Figure 18: Manage Location Use-Case Diagram 3.2.2.13 <Manager>Delete Location Figure 19: Delete Location Use-Case Diagram Delete Location Use-Case Specification USE CASE Admin Manage Location Delete Location Use Case No. UC-018 Use Case Version 1.1 Use Case Name Delete Location Author Mai Hoang Tri Anh 51 P a g e

Date 26/05/2015 Priority Normal Actor: - Manager. Summary: - This use case allows Manager to delete location. Goal: - A location will be delete. Triggers: - Manager want to delete a location. Preconditions: - Manager must login to system with role Manager. - The location must exist in the system Post Conditions: - Success: A location will be delete. - Fail: Nothing is updated. Show Error Message. Main Success Scenario: Step Actor Action System Response 1 Click on Locations Then page will show[locations]pag 2 Admin click on [Delete] button System will show message box: - Do you want to delete the location? 3 Click Yes button. A location will be deleted Alternative Scenario: N/A Exceptions: No Actor Action System Response 1 Cannot deactivate the location due to database connection. Show error message: Cannot Delete Location. Please try again later. Relationships: Manage user account. Business Rules: - Admin can delete location that exist in the system 52 P a g e

3.2.2.14 < Manager>Add Location Figure 20: Add Location Use-Case Diagram Add Location Use-Case Specification USE CASE Admin Manage Location Add Location Use Case No. UC-019 Use Case Version 1.0 Use Case Name Add location Author Mai Hoang Tri Anh Date 26/05/2015 Priority High Actor: - Manager. Summary: - This use case allows Manager to add new location. Goal: - Add new location to system. Triggers: - Manager want to add more location in the system. Preconditions: - Login to system with role Manager. Post Conditions: - Success: New location will be created in database. - Fail: No location will be created. Show error message. Main Success Scenario: Step Actor Action System Response 1 Manager choose Add Location Navigate to administrator page which function contains: - Location Name: textbox, min length: 6, max length: 30, required. - Address: : textbox, min length: 6, 53 P a g e

2 Manager fills data to the form. 3 Manager clicks Add location button. [Alternative 1], [Exception 1, 2] max length: 50, required - Capacity: textbox - Price: number - Add: button. - Clear: button. Insert new location to the database and redirect to administrator page. Alternative Scenario: No Actor Action System Response 1 Manager clicks Clear. Clear all input data. Exceptions: No Actor Action System Response 1 Length of Location Name is not in range. Show error message: Length of Location Name must have 6-30 letter! 2 Length of Address is not in range. Show error message: Length of Address must have 6-30 letter! Relationships: Manage Location Business Rules: - Each created location must be in active state when insert to database. 54 P a g e

3.2.2.15 <Manager> Update Location Figure 21: Update Location Use-Case Diagram Update Location Use Case Specification USE CASE Admin Manage Location Update Location Use Case No. UC-020 Use Case Version 1.0 Use Case Name Update location Author Mai Hoang Tri Anh Date 26/05/2015 Priority High Actor: - Manager. Summary: - This use case allows Manager to update a location. Goal: - Update location to system. Triggers: - Manager wants to update information of a location in the system. Preconditions: - Login to system with role Manager. Post Conditions: - Success: Location information will be updated in database. - Fail: No information will be updated. Show error message. Main Success Scenario: Step Actor Action System Response 1 Manager choose Edit function Navigate to administrator page which contains: 55 P a g e

2 Manager fills data to the form. 3 Manager clicks Update location button. [Alternative 1], [Exception 1, 2] - Location Name: textbox, min length: 6, max length: 30, required. - Address: : textbox, min length: 6, max length: 50, required - Capacity: textbox - Price: number - Add: button. - Clear: button. Change the information of this location in database then save. Alternative Scenario: No Actor Action System Response 1 Manager clicks Clear. Clear all input data. Exceptions: No Actor Action System Response 1 Length of Location Name is not in range. Show error message: Length of Location Name must have 6-30 letters! 2 Length of Address is not in range. Show error message: Length of Address must have 6-30 letters Relationships: Manage Location Business Rules: - Each created location must be in active state when insert to database. 3.2.2.16 <Manager >View List Location Figure 21: View List Location Use-Case Diagram 56 P a g e

View List Location Use Case Specification USE CASE Admin Manage Location View List Location Use Case No. UC-022 Use Case Version 1.0 Use Case Name View list location Author Mai Hoang Tri Anh Date 26/05/2015 Priority Normal Actor: - Manager. Summary: - This use case allows Manager to view a list of locations. Goal: - View a list of locations. Triggers: - Manager wants to view a list of locations in the system. Preconditions: - Login to system with role Manager. Post Conditions: - Success: A list of location will be display. - Fail: No Locations will be displayed. Show error message. Main Success Scenario: Step Actor Action System Response 1 User choose Location function Navigate to administrator page which contains: A table with 4 columns. - No - Name of Location - Address - Action : + Update : button link + Delete: button link Alternative Scenario: No Actor Action System Response Exceptions: No Actor Action System Response Relationships: Manage Location 57 P a g e

Business Rules: - Each created location must be in active state when insert to database. 58 P a g e

3.2.2.17 < Manager > Add Hall Figure 22: Add Hall Use-Case Diagram Add Hall Use Case Specification USE CASE Admin Manage Location Add Hall Use Case No. UC-023 Use Case Version 1.0 Use Case Name Add Hall Author Mai Hoang Tri Anh Date 26/05/2015 Priority High Actor: - Manager. Summary: - This use case allows Manager to add new Hall. Goal: - Add new Hall to system. Triggers: - Manager wants to add more Hall in the system. Preconditions: - Login to system with role Manager. Post Conditions: - Success: New Hall will be created in database. - Fail: No Hall will be created. Show error message. Main Success Scenario: Step Actor Action System Response 1 Manager choose Add Hall function Navigate to administrator page which contains: - Hall Name: textbox, min length: 6, max length: 30, required. - Number of people : textbox, min 59 P a g e

2 Manager fills data to the form. 3 Manager clicks Add Hall button. [Alternative 1], [Exception 1] length: 6, max length: 50, required - Services: textbox - Price: number - Add: button. - Clear: button. Insert new Hall to the database and redirect to administrator page. Alternative Scenario: No Actor Action System Response 1 Manager clicks Clear. Clear all input data. Exceptions: No Actor Action System Response 1 Length of Hall Name is not in Show error message: Length of Hall Name range. must have 6-30 letter! Relationships: Manage Hall Business Rules: - Each created location must be in active state when insert to database. 60 P a g e

3.2.2.18 <Manager > Delete Hall Figure 23: Delete Hall Use-Case Diagram Delete Hall Use Case Specification USE CASE Admin Manage Location Delete Hall Use Case No. UC-024 Use Case Version 1.1 Use Case Name Delete Hall Author Mai Hoang Tri Anh Date 26/05/2015 Priority Normal Actor: - Manager. Summary: - This use case allows Manager to delete Hall. Goal: - A Hall will be delete. Triggers: - Manager wants to delete a Hall. Preconditions: - Manager must login to system with role Administrator. - The Hall must exist in the system Post Conditions: - Success: A Hall will be delete. - Fail: Nothing is updated. Show Error Message. Main Success Scenario: Step Actor Action System Response 1 Choose manage click on [Halls] Navigate to administrator page which contains: A table with 5 column: 61 P a g e

2 Manager change account information to Deactive. Click on Save button. o NO. o Hall Name. o Number of People o Status: drop-down list, raw source: Deactive, Active, default value: Active.//check box or radio button Save: button. System will show message box: - Do you want to change the status? 3 Click Yes button. A location will be deactived [Exception 1] Alternative Scenario: N/A Exceptions: No Actor Action System Response 1 Cannot deactivate the location due to database connection. Show error message: Cannot Delete Hall. Please try again later. Relationships: Manage user account. Business Rules: - Manager can delete location that exist in the system 62 P a g e

3.2.2.19 <Manager > Update Hall Figure 24: Update Hall Use-Case Diagram Update Hall Use Case Specification USE CASE Admin Manage Location Update Hall Use Case No. UC-025 Use Case Version 1.0 Use Case Name Update Hall Author Mai Hoang Tri Anh Date 26/05/2015 Priority High Actor: - Manager. Summary: - This use case allows Manager to update a Hall. Goal: - Update Hall to system. Triggers: - Manager wants to update information of a Hall in the system. Preconditions: - Login to system with role Manager. Post Conditions: - Success: Hall information will be updated in database. - Fail: No information will be updated. Show error message. Main Success Scenario: Step Actor Action System Response 1 User choose Name of Location Navigate to administrator page which function contains: - Location Name: textbox, min length: 6, max length: 30, required. 63 P a g e

2 Manager fills data to the form. 3 Manager clicks Update location button. [Alternative 1], [Exception 1] - Number Of People: textbox, min length: 6, max length: 50, required - Price: number - Services: textbox - Update: button. - Clear: button. Change the information of this location in database then save. Alternative Scenario: No Actor Action System Response 1 Manager clicks Clear. Clear all input data. Exceptions: No Actor Action System Response 1 Length of Location Name is not Show error message: Length of Location Name in range. must have 6-30 letters! Relationships: Manage Location Business Rules: - Each created location must be in active state when insert to database. 64 P a g e

3.2.2.20 <Manager>Add Services Figure 25: Add Services Use-Case Diagram Add Services Use Case Specification: USE CASE Manager Manage Services - Add services Use Case NO. UC-026 Use Case Version 1.0 Use Case Name Author Add services ThienPK Date 22/05/2015 Priority Normal Actor: Manager Summary: Manager can add services based on the information of guest with having to log in. Goal: Help Manager to add new services Triggers: Manager can add new services to database Preconditions: 65 P a g e

- Page is loaded successfully. - Popup Added new services will be shown - Manager must log in with role Manager Post conditions: - Success: The website will show the [Homepage] page. Create new services is successfully. - Failure: The popup will show an error message: Cannot add services appears. Main Success Scenario: Actor Action System Response 1. Manager click on [Add Services] 2. The website will show the page with the [Add Services] form that includes: - Name: textbox - Price: textbox - Address: textbox + Add: button + Cancel 2. Manager fills data to the form 3. Manager click on Add - Validate input data - Add in database Alternative Scenario: Actor Action System Response 1. Manager clicks Cancel button. 2. Clear all input data. 66 P a g e

Exceptions: Actor Action 1. Field Name Price Address is blank System Response 2. Shows error message This field is required 3. Length of textbox is not in range. 4.Show error message: minimum is 6 characters-maximum is 50characters! Relationships: N/A Business Rules: N/A 67 P a g e

3.2.2.21 <Manager>Delete Services Figure 26: Delete Services Use-Case Diagram Delete Services Use Case Specification USE CASE Manager Manage Services-Delete Services Use Case NO. UC-027 Use Case Version 1.0 Use Case Name Author Delete services ThienPK Date 22/05/2015 Priority Normal Actor: Manager Summary: Manager can delete services with having to log in. Goal: Allow Manager can delete a services Triggers: Manager can delete services from database. Preconditions: - Page is loaded successfully. 68 P a g e

- Popup Delete services will be shown - Manager must log in with role Manager - Post conditions: - Success: The website will show the [View services list] page. A list of services after delete will appear on the page. - Failure: The website will show the popup. An error message: Cannot delete services appears. Main Success Scenario: Actor Action System Response 1. Manager click on [List Services] 2. The website will show the [View List Services] page with the table of list Services. 3. Manager choose services to delete then click Delete 4. Popup will show message: You want delete? 5. Manager click on OK button 6. A services will be deleted and website will show the [View List Services] page Alternative Scenario: View List Services Exceptions: Actor Action System Response 1. Services is used 2. Display an error message Database error when there is a problem with the database connection Relationships: N/A 69 P a g e

Business Rules: - Cannot delete the services used. - Deleted services will be deleted from system. 3.2.2.22 <Manager > Update Services Figure 27: Update Services Use-Case Diagram Delete Services Use Case Specification USE CASE Manager Manage Service-Update Services Use Case NO. UC-028 Use Case Version 1.0 Use Case Name Author Update services ThienPK Date 22/05/2015 Priority Normal Actor: Manager Summary: Manager can update services based on the information of guest with having to log in. Goal: Allow Manager to update services and view them on the current page. Triggers: 70 P a g e

Manager want to update services from database. Preconditions: - Page is loaded successfully. - Manager must log in with role Manager Post conditions: - Success: The website will show the [View services list] page. A list of services after update will appear on the page. - Failure: The website will show the popup. An error message: Cannot update services appears. Main Success Scenario: Actor Action System Response 1. Manager click on [List Services] 2. The website will show the [View List Services] page with the table of list Services. 3. Manager choose Services to update then click Update 4.System wil show Update services page - Name: textbox - Price: textbox - Address: textbox + Update: button + Cancel: button 5. Click on Update button A services will be updated and website will show the [View List Services] page Alternative Scenario: N/A Exceptions: Actor Action System Response 5. Field Name is blank 6. Shows error message This field is 71 P a g e

required 11. Length of textbox is not in range. Show error message: minimum is 6 characters-maximum is 50 characters! Relationships: View List Services Business Rules: - Cannot delete the services used. - Deleted services will be deleted from system. 3.2.2.23 <Manager > View List Services Figure 28: View List Services Use-Case Diagram View List Services Use Case Specification USE CASE Manager Manage Services - View List Services Use Case NO. UC-029 Use Case Version 1.0 Use Case Name Author View list services ThienPK Date 22/05/2015 Priority Normal Actor: Manager 72 P a g e

Summary: Manager can view lists services with having to log in. Goal: Help Manager to view lists and view them on the current page. Triggers: Manager clicks [List Services] and link to go to View List Services. Preconditions: - View list services will be show Post conditions: - Success: The website will show the [View List Services] page. A list of services will show on the page. Main Success Scenario: Actor Action System Response 1. Manager click on [List Services] 2. - The website will show the [List Services] - Display show List of services Alternative Scenario: N/A Exceptions: N/A Relationships: N/A Business Rules: N/A 73 P a g e

3.2.2.24 <Manager> Add Service-Location Fee Figure 1: Add Fee Use-Case Diagram Add Fee Use-Case Diagram Specification USE CASE MANAGER ADD FEE SPECIFICATION Use Case NO. UC001 Use Case Version 1.0 Use Case Name Author Manager Add Fee ThongNT Date 25/05/2015 Priority Normal 74 P a g e

Actor: Guest Summary: Manager can add fee for each service of this website. Goal: Allow Manager add fee for each service of the website. Triggers: Manager choose manage fee function Pre-Conditions: - N/A Post-Conditions: - Success: The Guest can new fee for service - Failure: An error message will appear. Main Success Scenario: Actor Action System Response 1. Choose manage fee function 2. The website will display [Fee] tab with list of service 3. Fill data to the form: - [Location Name] drop-down list - [Service Name] drop-down list 75 P a g e

- Fee (USD): Textbox 4. Click [Submit] button 5. Fee of a service saved to database and update list of services Alternative Scenario: N/A Exceptions: N/A Relationships: N/A Business Rules: N/A 3.2.2.25 <Manager> Update Service-Location Fee Figure 1: Update Fee Use-Case Diagram Update Fee Use-Case Diagram Specification USE CASE MANAGER UPDATE FEE SPECIFICATION 76 P a g e

Use Case NO. UC001 Use Case Version 1.0 Use Case Name Author Manager Update Fee ThongNT Date 25/05/2015 Priority Normal Actor: Guest Summary: Manager can update fee for each service of this website. Goal: Allow Manager update fee for each service of the website. Triggers: Manager choose manage fee function Pre-Conditions: - N/A Post-Conditions: - Success: The Guest can update fee for service - Failure: An error message will appear. Main Success Scenario: Actor Action System Response 1. Choose manage fee function 2. The website will display [Fee] tab with 77 P a g e

list of service 3. Click [Update] button on each service 4. Update new Fee for that service 5. Click [Submit] button 3. New fee of a service updated to database. Alternative Scenario: N/A Exceptions: N/A Relationships: N/A Business Rules: N/A 78 P a g e

3.2.2.26 <Manager> Delete Service-Location Fee Figure 1: Delete Fee Use-Case Diagram Delete Fee Use-Case Diagram Specification USE CASE MANAGER DELETE FEE SPECIFICATION Use Case NO. UC001 Use Case Version 1.0 Use Case Name Author Manager Delete Fee ThongNT Date 25/05/2015 Priority Normal 79 P a g e

Actor: Guest Summary: Manager can delete fee for each service of this website. Goal: Allow Manager delete fee for each service of the website. Triggers: Manager choose manage fee function Pre-Conditions: - N/A Post-Conditions: - Success: The Guest can delete fee for service - Failure: An error message will appear. Main Success Scenario: Actor Action System Response 1. Choose manage fee function 2. The website will display [Fee] tab with list of service 3. Check on a service that wants to delete. 4. Click [Remove] button 3. These fee of a service be deleted to database and list of services will be 80 P a g e

updated. Alternative Scenario: N/A Exceptions: N/A Relationships: N/A Business Rules: 81 P a g e

Figure 33: Update Accounts Use-Case Diagram 3.2.2.27 <Manager>Approve Events Figure 34: Approve Events Use-Case Diagram Approve Events Use Case Specification USE CASE Manager Approve Events Request SPECIFICATION Use Case NO. UC-034 Use Case Version 1.0 Use Case Name Approve Event 82 P a g e

Author Tung NT Date 01/06/2015 Priority Normal Actor: Manager Summary: This use case help a Manager view and change status of his event request Goal: Allow a Manager to Approve a new event request from manager. Triggers: On the [Homepage] page, the Manager clicks on [My Event]. After that, the [Event Request List] page appears. The Manager clicks [Approve] button. Pre-Conditions: - There is at least one event request. Post-Conditions: - Success: The Event s status will be changed to Proccessing. - Failure: N/A. Main Success Scenario: Actor Action 1. Click [My Event] button on the [Homepage] page System Response 2. The website will transfer [Event Request List] page includes list of event assigned by manager with 2 button [Approve] and [Not Approve] 3. Click [Approve] button on an event has status is New 4. Event s status will be changed to Approved. Alternative Scenario: Actor Action System Response 83 P a g e

1. Click [My Events] button on the [Homepage] page 2. The website will transfer [Event Request List] page includes list of event assigned by manager with 2 button [Approve] and [Not Approve] 3. Click on an Event 4. The website will transfer [Event Detail] with 2 button [Approve] and [Not Approve] 5. Click [Approve] button on an event has status is New 6. Event s status will be changed to Approved. Exceptions: N/A Relationships: N/A Business Rules: 84 P a g e

3.2.2.28 <Manager>Cancel Events Figure 35: Cancel Events Use-Case Diagram Cancel Events Use Case Specification USE CASE Manager Cancel Events Request SPECIFICATION Use Case NO. UC-035 Use Case Version 1.0 Use Case Name Author Manager Cancel Event Request TungNT Date 01/06/2015 Priority Normal Actor: Manager Summary: This use case help a Manager view and change status of customer event request (Cancel) Goal: Allow a Manager to Cancel a new event request from Customer. Triggers: On the [Homepage] page, the Manager clicks on [My Events]. After that, the [Event Request List] page appears. The Manager clicks [Not Approve] button. Pre-Conditions: - There is at least one event request. 85 P a g e

Post-Conditions: - Success: The Event s status will be changed to Cancel. - Failure: N/A. Main Success Scenario: Actor Action 1. Click [My Events] button on the [Homepage] page System Response 2. The website will transfer [Event Request List] page includes list of event assigned by manager with 2 button [Accept] and [Not Approve] 3. Click [Not Approve] button on an event has status is New 4. Event s status will be changed to Not Approved. Alternative Scenario: Exceptions: N/A Relationships: N/A Business Rules: When Customer book events but not payment in three days, The Manager has cancel Event Request to Customer. 86 P a g e

Admin s Usecase Diagram Figure 29: Manage Use-Case Diagram 3.2.2.29 <Admin>View List Accounts Figure 30: View List Accounts Use-Case Diagram View List Accounts Use Case Specification USE CASE Admin View List Accounts SPECIFICATION Use Case NO. UC-030 Use Case Version 1.0 Use Case Name View List Account 87 P a g e

Author TungNT Date 25/05/2015 Priority Normal Actor: Admin Summary: Admin can see these account in Views List Account page Goal: Allow a Admin to click View List Accounts, The website will be load List Accounts. Triggers: On the [Homepage] page, the Admin clicks on [List Accounts]. After that, the [View List Accounts] page appears. The Admin inputs information, and clicks [Member] button to finish. Pre-Conditions: - The Admin has not had an account of this website yet. - The username and password have not been used to View List Accounts. Post-Conditions: - Success: The Admin successfully creates an account of this website. A message appears in a pop-up on the [View List Accounts] page, telling the Admin that he/ she has successfully View List Accounts. - Failure: An error message will appear, telling what information needs be reinput. Main Success Scenario: Actor Action 1. Click [Member] button on the [Homepage] page System Response 2. The website will transfer [View List Accounts] page with [View List Accounts] form that includes: 6. Display will show: List all member! Alternative Scenario: Exceptions: Relationships: N/A 88 P a g e

Business Rules: - The Admin that created the account can log in to the website using the information above. - The system will send an email to the email address of the Admin to inform him/ her that he/ she has created an account. 89 P a g e

3.2.2.30 <Admin> Add Accounts Figure 31: Add Accounts Use-Case Diagram Add Accounts Use Case Specification USE CASE Admin Add Accounts SPECIFICATION Use Case NO. UC-031 Use Case Version 1.0 Use Case Name Author Add Account TungNT Date 25/05/2015 Priority Normal Actor: Admin Summary: Admin can add these account in Views List Account page Goal: Allow a Admin to click Member, The website will be load List Accounts. Triggers: On the [Homepage] page, the Admin clicks on [Member]. After that, the [View List Accounts] page appears. The Admin inputs information, and clicks [Add] button to finish. 90 P a g e

Pre-Conditions: - The Admin has not had an account of this website yet. - The username and password have not been used to View List Accounts. Post-Conditions: - Success: The Admin successfully creates an account of this website. A message appears in a pop-up on the [Add Accounts] page, - Failure: An error message will appear, telling what information needs be reinput. Main Success Scenario: Actor Action 1. Click [Add Accounts] button on the [Homepage] page System Response 2. The website will transfer [Add Accounts] page with [Add Accounts] form that includes: -USERNAME: textbox(min length: 6, max length: 20) -PASSWORD: password(min length: 6, max length: 20) -EMAIL: textbox -PHONE NUMBER: number -Add: button -Cancel: button 3. Enter information in the fields 4. [Exception1,3,5,7,9,11,13,15,17,19] 5. Click [Add Accounts] button 6. Display a pop-up message: Add Accounts successfully! Alternative Scenario: Actor Action System Response 1. Click [Cancel] button 2. The website will reset all information the Admin input. 91 P a g e

Exceptions: Actor Action 1. Click [Add Accounts] button without inputting information in [FIRST NAME], [LAST NAME], [USERNAME], [PASSWORD], textboxes System Response 2. Display an error message this field is required on the right side of the textbox that needs be input 3. [USERNAME] contains less than 6 or more than 20 letters 5. [PASSWORD] contains less than 6 or more than 20 letters 4. Display an error message Username requires 6-20 letters 6. Display an error message Password requires 6-20 letters Relationships: N/A Business Rules: - The new account with all information can be created and saved in the database. - The Admin that created the account can log in to the website using the information above. - The system will send an email to the email address of the Admin to inform him/ her that he/ she has created an account. 92 P a g e

3.2.2.31 <Admin> Update Accounts Figure 32: Update Accounts Use-Case Diagram Update Accounts Use Case Specification USE CASE Admin Update Accounts SPECIFICATION Use Case NO. UC-032 Use Case Version 1.0 Use Case Name Author Update Account TungNT Date 25/05/2015 Priority Normal Actor: Admin Summary: Admin can see these account in Views List Account page Goal: Allow a Admin to click View List Accounts, The website will be load List Accounts. Triggers: On the [Homepage] page, the Admin clicks on [Member]. After that, the [View List Accounts] page appears. The Admin clicks [Update] button and inputs information, Then update to finish. Pre-Conditions: - The Admin has not had an account of this website yet. 93 P a g e

- The username and password have not been used to View List Accounts. Post-Conditions: - Success: The Admin successfully update an account of this website. A message appears in a pop-up on the [Update Accounts] page, - Failure: An error message will appear, telling what information needs be reinput. Main Success Scenario: Actor Action 1. Click [Update] button on the [Homepage] page System Response 2. The website will transfer [Update Accounts] page with [Update Accounts] form that includes: - FIRST NAME: textbox (min length: 2, max length: 7) -LAST NAME: textbox (min length: 4, max length: 20) -USERNAME: textbox(min length: 6, max length: 20) -PASSWORD: password(min length: 6, max length: 20) -PHONE NUMBER: number -Update: button -Cancel: button 3. Enter information in the fields 4. [Exception1,3,5,7,9,11,13,15,17,19] 5. Click [Update Accounts] button 6. Display a pop-up message: Update Accounts successfully! Alternative Scenario: Actor Action System Response 1. Click [Cancel] button 2. The website will reset all information the Admin input. 94 P a g e

Exceptions: Actor Action 1. Click [Update Accounts] button without inputting information in [FIRST NAME], [LAST NAME], [USERNAME], [PASSWORD] textboxes System Response 2. Display an error message Please input this information on the right side of the textbox that needs be input 3. [USERNAME] contains less than 6 or more than 20 letters 5. [PASSWORD] contains less than 6 or more than 20 letters 4. Display an error message Username requires 6-20 letters 6. Display an error message Password requires 6-20 letters Relationships: N/A Business Rules: - The new account with all information can be created and saved in the database. - The Admin that created the account can log in to the website using the information above. - The system will send an email to the email Update of the Admin to inform him/ her that he/ she has created an account. 95 P a g e

3.2.2.32 <Admin> Delete Account Figure 33: Delete Accounts Use-Case Diagram Delete Accounts Use Case Specification USE CASE Admin Manage Accounts-Delete Accounts Use Case NO. UC-033 Use Case Version 1.0 Use Case Name Author Delete Accounts TungNT Date 25/05/2015 Priority Normal Actor: Admin Summary: Admin can delete Accounts with having to log in. Goal: Allow Admin can delete a Accounts Triggers: Admin can delete Accounts from database. 96 P a g e

Preconditions: - Page is loaded successfully. - Popup Deleted Accounts will be shown - Admin must log in with role Admin Post conditions: - Success: The website will show the [Members] page. A list of Accounts after delete will appear on the page. - Failure: The website will show the popup. An error message: Cannot delete Accounts appears. Main Success Scenario: Actor Action System Response 1. Admin click on [Member] 2. The website will show the [View List Accounts] page with the table of list Accounts. 3. Admin choose Accounts to delete then click Delete 4. Popup will show message: You want delete? 5. Admin click on OK button 6. A Accounts will be deleted and website will show the [View List Accounts] page Exceptions: Actor Action System Response 2. Display an error message Database error when there is a problem with the database connection Relationships: N/A 97 P a g e

Business Rules: - Cannot delete the Accounts used. - Deleted Accounts will be deleted from system. 3.2.3 Non-Functional Requirements 3.2.3.1 Reliability - There is no requirement for system maintenance task from the user. - Mean Time Between Failures (MTBF): more than 6 months. - Accuracy: 100%. - Maximum Bugs and Defect Rate: 0.3 bugs per thousand lines of code (0.3bugs/KLOC). - Critical bugs: Loss of data: not any 3.2.3.2 Availability - The server shall be working 24 hours per day and 7 days per week. 3.2.3.3 Security - All sensitive information (password, etc.) must be hashed when storing in database and during transmission over networks using MD5 hash. - Validate input data in SQL query before execute to avoid SQL Injection, XSS - The role of user and member is clearly. 3.2.3.4 Maintainability - All code shall fully document. All program files shall include comments concerning authorship and date of last change. - The code shall be modular to permit future modifications. 98 P a g e

3.2.3.5 Portability - The software will design as cross-platform software. 3.2.3.6 Performance - Large tables and indexes must be partitioned data into smaller, more manageable sections by using partition in SQL Server 2008 R2 99 P a g e

3.3 Entity Relationship Diagram or Data Structures 100 P a g e

Report No.4: System Design Description (SDD) 4.1. Design Overview - This document describes the technical and user interface design of System. It includes the architectural design, the detailed design of common functions and business functions and the design of database model. - The architectural design describes the overall architecture of the system and the architecture of each main component and subsystem. - The detailed design describes static and dynamic structure for each component and functions. It includes class diagrams, class explanations and sequence diagrams for each use cases. - The database design describes the relationships between entities and details of each entity. - Document overview: Gives an overall description of the system architecture design. Gives component diagrams that describe the connection and integration of the system. Gives the detail design description which includes class diagram, class explanation, and sequence diagram to details the application functions. 101 P a g e

4.2. System Architectural Design 4.2.1. Choice of System Architecture: The MVC V (Model View Controller) pattern is used as the overall system architecture, because it specifies a clear distinction between the responsibilities of the components and is appropriate for developing web applications. 102 P a g e

4.2.2. Discussion of Alternative Designs N/A 4.2.3. Description of System Interface 4.2.3.1. User Interfaces UI should be simple, model and easy to use. Support drag & drop easy for using Calendar Event. 4.2.3.2. Hardware Interfaces The site should be deployed and available to a many devices can be use online. Server hardware: Support Windows hosting Client hardware: Can be desktop, laptop, smart phone, tablet,.. have internet connection 4.2.3.3. Software Interfaces Run best on Google Chrome browser. 4.2.3.4. Communication Interfaces The system using HTTP protocol to communicate between server and clients. 103 P a g e

4.3. Component Diagram 104 P a g e

4.4. Detailed Description of Components: - Model is the part of the application that handles the logic for the application data. Often model objects retrieve data (and store data) from a database. - View is the parts of the application that handles the display of the data. Most often the views are created from the model data. - Controller is the part of the application that handles user interaction. Typically controllers read data from a view, control user input, and send input data to the model. 4.4.1. CRC Cards (Class-Responsibility-Collaborators) 4.4.1.1. Component-n 4.4.1.1.1. Class Diagram 105 P a g e

4.4.1.1.2. Class Diagram Explanation responsibility Create() Event collaborator EventType, Member, Booking, EventHall, EventService, Location, Notification, Comment Detail() Edit() ApproveEvent() PubblishEvent() Delete() LoadEventPage() Paypal() EventType, Member, Booking, EventHall, EventService, Location, Notification, Comment EventType, EventHall, EventService, Location, Notification, Comment EventType, Member, Booking, EventHall, EventService, Location, Notification, Comment Booking UploadImage() responsibility Login() Detail() UserProfile() Create() ChangePassword() CheckUserInfo() UpdateUserInfo() Member collaborator 106 P a g e

UploadAvatar() IsValid() GetUserInfo() LogOut() GetUserImagePath() responsibility MyOrders() Details() ViewDetails() Create() Booking collaborator Member, Event, EventHall, EventService, Location Member, Event, EventHall, EventService, Location Member, Event, EventHall, EventService, Location Member, Event, EventHall, EventService, Location responsibility CreateNewLocation() UpdateLocation() DeleteLocation() GetLocationInformation() CheckExistName() Location collaborator Member Member Member Member responsibility AddNewHall() UpdateHall() DeleteHall() GetHallInfo() Hall collaborator Location Location Location Location responsibility CreateNewService() Service collaborator Location, ServiceType, 107 P a g e

UpdateService() DeleteService() GetServiceInformation() ChangeStatus() CheckExistName() CheckEditExistName() LoadServicePage() LocationService Location, ServiceType, LocationService Location, ServiceType, LocationService ServiceType, LocationService Location, ServiceType, LocationService ServiceType responsibility Detail() Service CreateNewServiceType() UpdateServiceType() DeleteServiceType() GetServiceTypeInformation Service CheckExistName() CheckEditExistName() collaborator responsibility ShowService() ShowLocation() AddService() UpdateLS() Remove() LocationService collaborator Location, Service Location, Service Location, Service Location, Service Location, Service responsibility Create() Delete() Edit() EventType Event Event Event collaborator 108 P a g e

responsibility GetServiceByEventId() CalculateFee() EventService collaborator Service, Event, Location, ServiceType responsibility GetHallByEventId() CalculateFee () EventHall collaborator Location, Hall responsibility MemberType collaborator Send() UserNotification responsibility collaborator Member, NotificationContent NotificationContent responsibility collaborator UserNotification() UserNotification responsibility Detail() Create() Edit() Delete() Comment collaborator Member, Event Member, Event Member, Event Member, Event 109 P a g e

4.4.1.1.3. Algorithms of important methods in each class, specified in pseudo code or by Flow-Chart: 110 P a g e

Check out Flow Chart in class Booking: 111 P a g e

Update Event Flow-Chart in class Event 112 P a g e

Delete Event Flow-Chart in class Event 113 P a g e

4.5. Sequence Diagram 4.5.1. Guest 4.5.1.1. <Guest> View Event List 114 P a g e

4.5.1.2. <Guest> View Event Detail 4.5.2. Admin: 4.5.2.1. <Admin> Add Account 115 P a g e

116 P a g e

4.5.3. Manager: 4.5.3.1. <Manager>Add Hall 4.5.3.2. <Manager> Manager Approve Event: 117 P a g e

4.5.3.3. <Manager> Add Service: 4.5.4. Customer 118 P a g e

4.5.4.1. <Customer> View Event Detail 119 P a g e

4.5.4.2. <Customer> Manage Check in 120 P a g e

4.6. User Interface Design/ Hardware Interface Design (if any) 4.6.1. Description of the User Interface 4.6.1.1. Screen Images/ Hardware Description 121 P a g e

122 P a g e

123 P a g e

124 P a g e

125 P a g e

4.6.1.2. Objects and Actions/ Component 126 P a g e

4.7. Database Design or Data Structures or algorithms 127 P a g e

128 P a g e

129 P a g e

Report No.5: System Implementation & Test (SIT) 5.1. Introduction 5.1.1. Overview - This document describes the approach and methodologies used by the testing group to plan, organize and manage the testing for OEOCMS (Online Event Organizing Company Management System). It describes the implementation details of test cases and technical details of how the product features should work. - This document also provides the checklists of validation and submission as well as the test result. 5.1.2. Test Approach 5.1.2.1. Test Goal: Identify the remaining bugs in the system before releasing and confirm the consistency in design and implementation. 5.1.2.2. Test type: black box testing - Function Testing - User Interface Testing 130 P a g e

5.1.2.3. Testing Model V-Model - The V-model is also called as Verification and Validation model. The testing activity is perform in the each phase of Software Testing Life Cycle phase. In the first half of the model Verification testing activity is integrated in each phase like review user requirements, System Design document & in the next half the Validations testing activity is come in picture. 131 P a g e

- V-model shows Software Development activities on the Left hand side of model and the Right hand side of the model actual Testing Phases can be performed. The testing of the project includes unit, integration, system, and acceptance test levels. It is hoped that there will be as less errors as possible in the product. - Unit testing will be done by develop team and will be approved by team leader. - Integration test is based on requirement in SRS and validation in database, test team will test as black box testing method to check if the input and output display as expected and does that flow work fluently. - System testing will check all main flow of the system to discover error or bugs that can t be found on unit testing level. - Acceptance testing will be performed by all members of team. The project be checked from the member test to find out if the project in accordance with the expectations. 132 P a g e

5.2. Database Relationship Diagrams/Hardware Charts (if any) 5.3. Test Plan 5.3.1. Features to be tested - All features to be tested. 5.3.2. Features not to be tested - N/A 5.3.3. Testing Tools and Environment 5.3.3.1. Testing tool Purpose Test Plan Test Case Capture Screen Test Report Unit Test Tool MS Word MS Excel Snipping Tool MS Excel Manual 5.3.3.2. Testing Environment: - Operating system: Microsoft Window 7 (PC), - RAM: 2GB (PC), - Browser: Google Chrome 10+, Firefox 10+ - Internet connection: ADSL 133 P a g e

5.4. Results of Unit Test Class Method Status Date Done By Event Create() OK 22/08/2015 AnhMHT Detail() OK 22/08/2015 AnhMHT Edit() OK 22/08/2015 AnhMHT ApproveEvent() OK 22/08/2015 AnhMHT PublishEvent() OK 22/08/2015 AnhMHT Delete() OK 22/08/2015 AnhMHT LoadEventPage() OK 22/08/2015 AnhMHT Paypal() OK 22/08/2015 AnhMHT UploadImage() OK 22/08/2015 AnhMHT Booking MyOrder() OK 22/08/2015 AnhMHT Detail() OK 22/08/2015 AnhMHT ViewDetails() OK 22/08/2015 AnhMHT Create() OK 22/08/2015 AnhMHT Member Login() OK 22/08/2015 ThongNT UserProfile() OK 22/08/2015 ThongNT Detail() OK 22/08/2015 ThongNT Create() OK 22/08/2015 ThongNT ChangePassword() OK 22/08/2015 ThongNT CheckUserInfo() OK 22/08/2015 ThongNT UpdateUserInfo() OK 22/08/2015 ThongNT UpdateAvatar() OK 22/08/2015 ThongNT IsValid() OK 22/08/2015 ThongNT GetUserInfo() OK 22/08/2015 ThongNT Logout() OK 22/08/2015 ThongNT GetUserImagePath() OK 22/08/2015 ThongNT UserNotification Send() OK 22/08/2015 ThienPK NotificationContent UserNotification() OK 22/08/2015 ThienPK Comment Detail() OK 22/08/2015 ThienPK Create() OK 22/08/2015 ThienPK Edit() OK 22/08/2015 ThienPK Delete() OK 22/08/2015 ThienPK EventService GetServiceByEventId() OK 22/08/2015 AnhMHT CalculateFee() OK 22/08/2015 AnhMHT Service CreateNewService() OK 22/08/2015 ThienDM GetServiceInformation() OK 22/08/2015 ThienDM 134 P a g e

UpdateService() OK 22/08/2015 ThienDM DeleteService() OK 22/08/2015 ThienDM ChangeStatus() OK 22/08/2015 ThienDM CheckEditExistName() OK 22/08/2015 ThienDM LoadServicePage() OK 22/08/2015 ThienDM ServiceType Detail() OK 22/08/2015 ThienDM CreateNewServiceType() OK 22/08/2015 ThienDM UpdateServiceType() OK 22/08/2015 ThienDM DeleteServiceType() OK 22/08/2015 ThienDM GetServiceTypeInformation() OK 22/08/2015 ThienDM CheckExistName() OK 22/08/2015 ThienDM CheckEditExistName() OK 22/08/2015 ThienDM LocationService ShowServices() OK 22/08/2015 ThienDM ShowLocations() OK 22/08/2015 ThienDM AddService() OK 22/08/2015 ThienDM UpdateLS() OK 22/08/2015 ThienDM Remove() OK 22/08/2015 ThienDM Hall AddNewHall() OK 22/08/2015 TungNT UpdateHall() OK 22/08/2015 TungNT DeleteHall() OK 22/08/2015 TungNT GetHallInfo() OK 22/08/2015 TungNT EventHall GetHallByEventId() OK 22/08/2015 TungNT CalculateFee() OK 22/08/2015 TungNT Location CreateNewLocation() OK 22/08/2015 TungNT DeleteLocation() OK 22/08/2015 TungNT UpdateLocation() OK 22/08/2015 TungNT GetLocationInformation() OK 22/08/2015 TungNT CheckExistName() OK 22/08/2015 TungNT 135 P a g e

5.5. Test Cases Test Case ID Description Preconditions Test case Procedure Module: Register Register - 01] Test empty N/A 1. Click "Register" link field 2. Keep all field is empty 3. Click "SUBMIT" button Register - 02] Test email format Register an account which does not exist in system. 1. Click "Register" link 2. Fill all information in requirement field as follow: + Username: "Thongnt123" + Email: "Thongnt60561" + Password: 123456789 3. Click "SUBMIT" button Expected Output Result Test Date Note Show Message: + Username: "*This field is required" + Email: "*This field is required" + Password: "*This field is required" Show Message: + Email: "*Invalid email address" 28/07/2015 ThongNT 28/07/2015 ThongNT 136 P a g e

Register - 03] Test Captcha is not valid Register an account which does not exist in system. 1. Click "Register" link 2. Fill all information in requirement field as follow: + Username: "Thongnt123" + Email: "Thongnt60561@fpt,edu,vn" + Password: 123456789 3. Click "SUBMIT" button Show Message: + "*Captcha is not valid" 28/07/2015 ThongNT Register - 03] Test format password Register an account which does not exist in system. 1. Click "Register" link 2. Fill all information in requirement field as follow: + Username: "Thongnt123" + Email: "Thongnt60561@fpt,edu,vn" + Password: 123456789012345678901 3. Click "SUBMIT" button Show Message: + Password: "*Maximum 20 characters required" 28/07/2015 ThongNT Register - 04] Test register successfully Register an account which does not exist in system. 1. Click "Register" link 2. Fill all information in requirement field as follow: + Username: "Thongnt123" + Email: "Thongnt60561@fpt,edu,vn" + Password: 123456789 + Input valid captcha 3. Click "SUBMIT" button Redirect Home page and logged in as a customer of the system. 28/07/2015 ThongNT 137 P a g e

Module: Search Event SearchEvent Test search - 01 successful There's at least one event that: - Name contains "Festival" - Date is "28/08/2015" - 5km from the current place (Thach That, Ha Noi) - Price 1500USD 1. Input "Festival" in the [Search] textbox 2. Input "10" in the [Searching Radius] textbox 3. Choose "2015/08/07-2015/08/30" in the [Search using dates] datetime picker The website will show the [Searchpage] page with the [Search] form that includes: + Search field: textbox. + SEARCH: button + NEXT: link + FORWARD: link + LIST OF EVENTS: table 28/07/2015 ThongNT 138 P a g e

SearchEvent - 02 SearchEvent - 03 Test search successful Test search successful There's not any event that name contains "Festival" There's at least one event that: - Name contains "Festival" - Date is "28/08/2015" - 5km from the current place (Thach That, Ha Noi) - Price 1500USD 1. Input "Festival" in the [Search] textbox 2. Click [Search] button 1. Input "Festival" in the [Search] textbox 2. Input "2" in the [Searching Radius] textbox 3. Choose "2015/08/07-2015/08/30" in the [Search using dates] datetime picker The website will show the [Searchpage] page. A message: "Sorry. No results found for the keyword 'Festival'" The website will show the [Searchpage] page. A message: "Sorry. No results found for the keyword 'Festival'" 28/07/2015 ThongNT 28/07/2015 ThongNT 139 P a g e

SearchEvent - 04 SearchEvent - 05 Test search successful Test search successful There's at least one event that: - Name contains "Festival" - Date is "28/08/2015" - 5km from the current place (Thach That, Ha Noi) - Price 1500USD There's at least one event that: - Name contains "Festival" - Date is "28/08/2015" - 5km from the current place (Thach That, Ha Noi) - Price 1500USD 1. Input "Festival" in the [Search] textbox 2. Input "10" in the [Searching Radius] textbox 3. Choose "2015/08/29-2015/08/30" in the [Search using dates] datetime picker 1. Input "Festival" in the [Search] textbox 2. Input "10" in the [Searching Radius] textbox 3. Choose "2000 to 10000" in the [Price range] The website will show the [Searchpage] page. A message: "Sorry. No results found for the keyword 'Festival'" The website will show the [Searchpage] page. A message: "Sorry. No results found for the keyword 'Festival'" 28/07/2015 ThongNT 28/07/2015 ThongNT 140 P a g e

SearchEvent - 06 Test search successful There's at least one event that: - Name contains "Festival" - Date is "28/08/2015" - 5km from the current place (Thach That, Ha Noi) - Price 1500USD Module: Staff Manage Event Request ManageEvent Test accept There is at - 01 event request least one event request 1. Input "Festival" in the [Search] textbox 2. Input "10" in the [Searching Radius] textbox 3. Move map maker to "TpHai Duong" 1. Click [Event Request] button on the [Homepage] page 2. Click [Accept] button on an event has status is New The website will show the [Searchpage] page. A message: "Sorry. No results found for the keyword 'Festival'" Event s status will be changed to Proccessing. 28/07/2015 ThongNT 28/07/2015 ThongNT ManageEvent - 02 Test accept event request There is at least one event request 1. Click [Event Request] button on the [Homepage] page 2. Click on an Event 3. Click [Accept] button on an event has status is New Event s status will be changed to Proccessing. 28/07/2015 ThongNT ManageEvent - 03 Test cancel event request There is at least one event request 1. Click [Event Request] button on the [Homepage] page 2. Click [Cancel] button on an event has status is New Event s status will be changed to Cancel. 28/07/2015 ThongNT 141 P a g e

ManageEvent - 04 Test accept event request There is at least one event request 1. Click [Event Request] button on the [Homepage] page 2. Click on an Event 3. Click [Cancel] button on an event has status is New Event s status will be changed to Cancel. 28/07/2015 ThongNT Module: Admin Manage Location AddLocation Test add N/A - 01 location successfully 1. Choose Add Location function 2. Fill all information in requirement field as follow: - Location Name: textbox, min length: 6, max length: 30, required. - Address: : textbox, min length: 6, max length: 50, required 3. Clicks Add button Insert new location to the database and redirect to administrator page. 28/07/2015 ThongNT AddLocation - 02 Test button Clear N/A 1. Choose Add Location function 2. Fill all information in requirement field as follow: - Location Name: textbox, min length: 6, max length: 30, required. - Address: : textbox, min length: 6, max length: 50, required 3. Clicks Clear button Clear all input data. 28/07/2015 ThongNT 142 P a g e

AddLocation - 03 Test Length of Location Name is not in range N/A 1. Choose Add Location function 2. Fill all information in requirement field as follow: - Location Name: Out of range [6-30 letters]. - Address: : textbox, min length: 6, max length: 50, required 3. Clicks Add button Show error message: "Length of Location Name must have 6-30 letters!" 28/07/2015 ThongNT AddLocation - 04 Test Length of Address is not in range N/A 1. Choose Add Location function 2. Fill all information in requirement field as follow: - Location Name: textbox, min length: 6, max length: 30, required. - Address: Out of range [6-30 letters] 3. Clicks Add button Show error message: "Length of Address must have 6-30 letters!" 28/07/2016 ThongNT Module: Service Add Test add with all Services-01 blank field Login successfully with role "Manager" 1. Input nothing.click on "Add" button Show Message: "Cannot Add Services" Passed 28/07/2015 ThienPK Add Services-02 Test "Name" maximum 50 character Login successfully with role 1.Input" Name" over 50 character 2. Click on button "Add" Show Message " maximum 50 characters" Passed 28/07/2015 ThienPK 143 P a g e

"Manager" Add Services-03 Add Services-04 Update Sevives-01 Test "Name" minimum 3 character Test create Services Succesfully Test update with all blank field Login successfully with role "Manager" Login successfully with role "Manager" Login successfully with role "Manager" 1.Input" Name" under 3 character 2. Click on button "Add" 1.Input all: "Dam Cuoi" "Tiec ngoai troi" "test" 2.Click on button" Add" 1. Click on "Services" page and click on "Update"button 2. Change data to blank 3. Click on button" Update" Show Message " minimum 3 characters" Show Message:" Services Added" Show Message:" Cannot update Services " Passed 28/07/2015 Passed 28/07/2015 ThienPK Passed 28/07/2015 ThienPK Update Sevives-02 Test update with successfully Login successfully with role "Manager" 1. Click on "Services" page and click on "Update"button 2. Change to true date 3. Click on button" Update" Show Message:" Services Updated " Passed 28/07/2015 ThienPK Update Sevives-03 Test update "Name" maximum 50 character Login successfully with role "Manager" 1. Click on "Services" page and click on "Update"button 2. Change Name to more 50 characters 3. Click on button" Update" Show Message " Maximum 50 characters" Passed 28/07/2015 ThienPK Update Sevives-04 Test update "Name" minimum 3 character Login successfully with role "Manager" 1. Click on "Services" page and click on "Update"button 2. Change Name to less 3 characters 3. Click on button" Update" Show Message " Less 50 characters" Passed 28/07/2015 ThienPK 144 P a g e

Delete Serives-01 View list Services-01 Update Events-01 Test succesfully delete services Test succesfully View list services Test update with blank field Login successfully with role "Manager" Login successfully with role "Manager" Login successfully with role "Customer" 1. Click on "Services" page and click on "Delete"button 2. Choose 1 services want to delete. Click on 1 servces 3. Click on button" Delete" 1. Click on "Services" page will show "List Services" page 1. After login,click on "My Events" 2. Click on "Update" button 3. Change all textbox to blank and click on Update Show Message: "Services deleted" Services will deleted in database Page show list services Show Message: "This field must required" Passed Passed Passed 28/07/2015 ThienPK 28/07/2016 ThienPK 28/07/2015 ThienPK Module: Event Update Test update with Events-02 change field "Event name" to blank Update Events-03 Test update with minimum characters "Event name" Login successfully with role "Customer" Login successfully with role "Customer" 1. After login,click on "My Events" 2. Click on "Update" button 3. Change "Events name" textbox to blank and click on Update 1. After login,click on "My Events" 2. Click on "Update" button 3. Change "Events name" textbox to "as" and click on Update Show Message: "This field must required" Show Message: "Minimum is 3 character" Passed Passed 28/07/2015 AnhMH T 28/07/2015 AnhMH T 145 P a g e

Update Events-04 Test update with maximum characters "Event name" Login successfully with role "Customer" 1. After login,click on "My Events" 2. Click on "Update" button 3. Change "Events name" textbox to "134123412341234123412341 2341234123412341234" and click on Update Show Message: "Maximum is 25 character" Passed 28/07/2015 AnhMH T Update Events-05 Update Events-06 Test update with change date and time "Start Time" and "End Time" to after day Test update with change field "Location" Login successfully with role "Customer" Login successfully with role "Customer" 1. After login,click on "My Events" 2. Click on "Update" button 3. Change "Start Time 28/7/2015" to"27/7/2015" 1. After login,click on "My Events" 2. Click on "Update" button 3. Change "Location" to "FU- HL" and click on Update Cannot click on after date Show Message: "Update successful" Passed Passed 28/07/2015 AnhMH T 28/07/2015 AnhMH T Update Events-07 Test update with change field "Location" with blank Login successfully with role "Customer" 1. After login,click on "My Events" 2. Click on "Update" button 3. Change "Location" to blank and click on Update Show Message: "Event cannot update" Passed 28/07/2015 AnhMH T Update Events-08 Test update with click cancel update Login successfully with role "Customer" 1. After login,click on "My Events" 2. Click on "Update" button 3. Click on cancel Return to home page, no change information in database Passed 28/07/2015 AnhMH T 146 P a g e

Update Events-09 Create Events- 01 Test update with information successfully Test update with blank field Login successfully with role "Customer" Login successfully with role "Customer" 1. After login,click on "My Events" 2. Click on "Update" button 3. Change all textbox with type data and Click on Update 1. After login,click on "Create Events" 2. Input all data with blank field and Click on Create Show Message:" Update succesfully" then change information in database Show Message:" Cannot Create Events" Passed Passed 28/07/2015 AnhMH T 28/07/2015 AnhMH T Create Events- 02 Create Events- 03 Test with minimun character Test with maximum character Login successfully with role "Customer" Login successfully with role "Customer" 1. After login,click on "Create Events" 2. Input all "Event Name" with "a" 1. After login,click on "Create Events" 2. Input "Event Name" with "aasdasdsafasdfwe12342f23f2 3f23f23f23f23f23f23" Show Message:" Minimum is 3 character" Show Message:" Maximum is 25 character" Passed Passed 28/07/2015 AnhMH T 28/07/2015 AnhMH T Create Events- 04 Test Start Time and End Time with true date and time Login successfully with role "Customer" 1. After login,click on "Create Events" 2. Input all "Start Time" with 25/8/2015 and "End Time" with 26/8/2015 Can click outside Passed 28/07/2015 AnhMH T Create Events- 05 Test Start Time and End Time with wrong date and time Login successfully with role "Customer" 1. After login,click on "Create Events" 2. Input all "Start Time" with 25/8/2015 and "End Time" with 24/8/2015 Cant Click if choose after date Passed 28/07/2015 AnhMH T 147 P a g e

Create Events- 06 Test create Events Succesfully Login successfully with role "Customer" 1. After login,click on "Create Events" 2. Input "Dam cuoi" "Dam cuoi ngoai troi" "26/8/2015" "26/8/2015" "FU-HL" "Hall 1" "PG" and Click on Create Show Message: " Create Succesfully" Passed 28/07/2015 AnhMH T Payment Events-01 Test with payment succesfully Login successfully with role "Customer" 1. After created Event, Click on "My Events" 2. Click on paypal then input account and payment for events Change status from "not paid" to "paid" Passed 28/07/2015 AnhMH T 148 P a g e

5.6. Results of Acceptance Test Quality Attributes No Question ThienDM AnhMHT ThongNT TungNT ThienPK Does the Conceptual 1 Integrity of your Yes Yes Yes Yes Yes application is good? 2 Does it easy to maintain? Yes Yes Yes Yes Yes 3 Can it reusable? Yes Yes Yes Yes Yes 4 Does your application cause system errors, infrastructure No No No No No problems, malicious attacks, and system load? 5 Can your application exchange and reuse information Yes Yes Yes Yes Yes internally as well as externally? 6 Is it easy for system administrators to manage the application, usually through sufficient and useful instrumentation Yes Yes Yes Yes Yes exposed for use in monitoring systems and for debugging and performance tuning? 7 Is the performance of your application Yes Yes Yes Yes Yes good? 8 Will your system fail to perform its intended functions No No No No No 149 P a g e

9 10 11 12 13 14 15 16 17 18 19 over a specified time interval? Does your system run-time Scalability? Does your system prevent disclosure or loss of information? Does your application have the ability to provide information helpful for identifying and resolving issues when it fails to work correctly? Is it easy to create test criteria for the system and its components, and to execute these tests? Does the database server or application server can fail or become unresponsive, causing the entire system to fail? Does the interface of your application friendly with enduser? Is user authentication and authorization information maintained? Does it easy to modify your application? Does the structure of your architect design good? Does your system waste valuable resource? Can your application system handle Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes 150 P a g e

20 sudden peaks and surges demand? Can your system handle a specified number of interactions or transitions within a specified duration? Yes Yes Yes Yes Yes 151 P a g e

Report No.6: System User s Manual 6.1. Installation Guide 6.1.1. Web application Our system can run on any web browsers. We suggest that user should use Google Chrome to get the best support and have the best user experience when using this system. 6.1.2. Prerequisites Before we install the application and throw it into operation, the preconditions about the environment and tools specified below must be satisfied. Firstly, system requirements for the EOCMS application to run on top of are specified below: - Personal computers for the minimum configuration: 2 Gb of RAM, 50Gb of hard disk, Core 2 Duo 2.0 Ghz; - Microsoft Windows 7 or higher. - At least 500MB for the application resources and another 500MB for data storage. Secondly, these tools must be installed in advance and run without errors: - IIS Express 7.0 or higher - SQL Server 2012 or higher, - NET Framework 4.5, - Web Deploy 3.5 152 P a g e

6.2. User s Guide 6.2.1. How to create a User: Step Description 1 At home page, click at register tab 2 Input information of user. 3 Input Captcha. 4 Press submit button to create new user. 153 P a g e

6.2.2. How to create a Location: Step Description 1 At home page, click at + to add location for the website 2 Input information of location. 3 We can choose one Location on the Google Maps. 4 Press Add new button to create new Location. 154 P a g e

5 6 7 Press Press Press button to add Hall of Location. button to update Location. button to delete Location. 6.2.3. How to create a Service: Step Description 1 At home page, click at + to add service for the website 2 Input information of service. 3 Press Add new button to create new service. 4 5 6 Press Press Press button to change status public or private. button to Update Location. button to delete Location. 155 P a g e

How to create a Fee for service: Step Description 1 At home page, click at Fees to add fees for service. 2 Input fees of service. 3 Press submit button to create new service. 4 Press remove button to remove fee with service. 5 Press button to Update Location. 156 P a g e

6.2.4. How to approve a event: Step Description 1 At home page, click at Events to manage events. 2 Search Event. 3 Press Add button add new event. 4 Paid or not Paid of event. 5 6 7 Press Press Press button to change status Approve or Not Approve. button to update a event. button to delete a event. 157 P a g e

6.2.5. How to create a Event: 158 P a g e

Step Description 1 Input the information of event. 2 Choose start date and end date of the event. 3 Choose Location, Halls and Service of the event. 4 Press Free or Paid button to create tickets. 5 Is Feature to add event at homepage. Public to other user see event at homepage. 6 Total money cost. 7 Press button to cancel a event. 8 Press button to create a event. 159 P a g e

6.2.6. How to manage event: Step Description 1 At home page, click at My Events to manage events. 2 Payment for event. 3 Press edit button to update event. 4 160 P a g e

6.2.7. How to update event: 161 P a g e