PROJECT TEAM: Group …
TEAM MEMBERS: Nhat, Che Quang
Chinh, Nguyen Khac Phuc, Nguyen Dang Khuyen, Huynh Thi Bao
INTERNATIONAL SCHOOL
Project Information
Trang 2[Meeting Planner] – Architecture Design
Project Title Web application for schedule meeting
Nhat, Che Quang Nhatche42@gmail.com
Trang 3[Meeting Planner] – Architecture Design
1.0 Nhat, Che Quang 9-July-2022 Create Architecture design document
1.1 Nhat, Che Quang 9-July-2022 Update
1.2 Nhat, Che Quang 9-July-2022 Format document
The Autumn Team | 3
Trang 4[Meeting Planner] – Architecture Design
Trang 5[Meeting Planner] – Architecture Design
5.1Component and Connector view (C&C view)32
5.3Allocation view35
The Autumn Team | 5
Trang 6[Meeting Planner] – Architecture Design 1 Introduction
1.1 Purpose
This specification covers following:
● Brief specification of the project, high level requirement, system context for the system.
● Use case diagram, detail quality attribution.
● Architecture presented by various architecture view types: Component and Connect tor view, Module view, Allocation view.
Full name Position
Chinh, Nguyen Khac Scrum Master
Phuc, Nguyen Dang Product Owner
Nhat, Che Quang Scrum Member
Khuyen, Huynh Thi Bao Scrum Member Table 2: Development team 2.2 Business Driver
2.2.1 Business Problems
The traditional coffee shop management brought many problems staff can't
Trang 7[Meeting Planner] – Architecture Design
When user use our Cafe shop management system, it can help: ● Create order, payment, manage employee, manage drinks ● A system that easy to use.
● Everyone can save time when they order or pay 3 Architecture Drivers
3.1 High-Level Requirements
Refer to [MP]_Product_Backlog_Ver1.2 3.2 System Context
Vẽ system context bỏ vô đây
System context description:
● The user, they can:
- Create a orders;
- Payment;
- Manage employee.
- Mange drinks
● The host, they can:
- Add / delete users in meeting;
- Create, manage, remove schedule.
● The admin, they can:
- Manage number poll that user created;
The Autumn Team | 7
Trang 8[Meeting Planner] – Architecture Design
- Mange user.
3.3 Architecture Driver Specification
Use Case Entities
Trang 9[Meeting Planner] – Architecture Design
Identified UseCases
UC01, UC02, UC03, UC04, UC05, UC08, UC09, UC14, UC15, UC16, UC17, UC18, UC19,
The Autumn Team | 9
Trang 10[Meeting Planner] – Architecture Design
Operational Use Cases
Preconditions User is already logged out
Primary Flow 1 Navigate to /login in browser
2 Type user’s credentials to login form.
3 Submit form by pressing Enter key or Sign In
1 The system will prompt user “input wrong email, password”.
2 User clicks ok to continue.
3 If [Email] and password are correct, continue to step
-In step 2, 3 of the Primary Flow, if the system has a problem, it will show error messages.
Trang 11[Meeting Planner] – Architecture Design
Preconditions User is not log in into system.
Primary Flow 1 Navigate to /register in browser
2 Type user’s credentials to register form 3 Submit form by pressing Enter key or Sign Up
Post Conditions
Alternate Flows
- In step 1 of the Primary Flow, if [Email] is not match format or is exist The system will prompt user “Email is exist” or “not correct format”.
-In step 2, 3 of the Primary Flow, if the system has a problem, it will show error messages.
The Autumn Team | 11
Trang 12[Meeting Planner] – Architecture Design ID UC03
Title Update profile
Description User want to edit their profile information
Entities Involved
Preconditions User is already logged in
Primary Flow 1 Navigate to /profile in browser 2 Edit profile information.
3 Submit form by pressing “Save” button.
Post Conditions
Alternate Flows
- In step 1 of the Primary Flow, if the system has problem, it will show error message.
- In step 2, 3 of the Primary Flow, if the system has a problem, it will show error messages.
Trang 19[Meeting Planner] – Architecture Design ID UC10
Title Invite participants
Description User want to add their friend or colleague into their poll.
Entities Involved
Preconditions User is already logged in
Primary Flow 1 Navigate to /schedule/vote in browser 2 type Email name in invite participants field.
3 press “Send” button to invite.
Post Conditions
Alternate Flows
- In step 1 of the Primary Flow, if the system has problem, it will show error message.
- In step 2, 3 of the Primary Flow, if the system has a problem, it will show error messages.
The Autumn Team | 19
Trang 20[Meeting Planner] – Architecture Design ID UC11
Title Edit poll
Description User want to change the time option.
Entities Involved
Preconditions User is already logged in
Primary Flow 1 Navigate to /schedule/vote in browser 2 click “edit” button
3 Change information’s poll at /create in browser and press
- In step 1 of the Primary Flow, if the system has problem, it will show error message.
- In step 2, 3, 4 of the Primary Flow, if the system has a problem, it will show error messages.
Trang 21[Meeting Planner] – Architecture Design ID UC12
Title Delete participant
Description User want to delete an invitee.
Entities Involved
Preconditions User is already logged in
Primary Flow 1 Navigate to /schedule/vote in browser 2 Press “Delete” button next to invitee name
Post Conditions
Alternate Flows
- In step 1 of the Primary Flow, if the system has problem, it will show error message.
- In step 2 of the Primary Flow, if the system has a problem, it will show error messages.
The Autumn Team | 21
Trang 22[Meeting Planner] – Architecture Design ID UC13
Title Finish poll
Description User want to get a best time option.
Entities Involved
Preconditions User is already logged in
Primary Flow 1 Navigate to /schedule/vote in browser 2 click “final option” button
Post Conditions
Alternate Flows
- In step 1 of the Primary Flow, if the system has problem, it will show error message.
- In step 2 of the Primary Flow, if the system has a problem, it will show error messages.
Trang 23[Meeting Planner] – Architecture Design
Preconditions User is already logged in
Primary Flow 1 Navigate to /schedule/vote in browser
2 Type something on comment field 3 press enter
Post Conditions
Alternate Flows In step 1 of the Primary Flow, if the system has problem, it will show error message.
In step 2, 3 of the Primary Flow, if the system has a problem, it will show error messages.
The Autumn Team | 23
Trang 24[Meeting Planner] – Architecture Design ID UC15
Title Answer poll
Description User want to get give your selection.
Entities involved E02
Preconditions User is already logged in
Primary Flow 1 Navigate to /schedule/vote in browser
2 Click on radio button on each option field.
3 press “save” button
Post Conditions
Alternate Flows In step 1 of the Primary Flow, if the system has problem, it will show error message.
In step 2, 3 of the Primary Flow, if the system has a problem, it will show error messages.
Trang 25[Meeting Planner] – Architecture Design ID UC16
Title Change answer poll
Description User want to change your selection.
Entities Involved E02
Preconditions User is already logged in
Primary Flow 1 Navigate to /schedule/vote in browser
2 Press “edit” next to invitee’s name on table option
3 Chose new selection.
4 press “save” button
Post Conditions
Alternate Flows In step 1 of the Primary Flow, if the system has problem, it will show error message.
In step 2, 3, 4 of the Primary Flow, if the system has a problem, it will show error messages.
The Autumn Team | 25
Trang 26[Meeting Planner] – Architecture Design ID UC17
Title View confirmed
Description User want to change your selection.
Entities Involved E02
Preconditions User is already logged in
Primary Flow 1 Navigate to /dashboard in browser
2 Press “view confirmed”
Post Conditions
Alternate Flows In step 1 of the Primary Flow, if the system has problem, it will show error message.
In step 2 of the Primary Flow, if the system has a problem, it will show error messages.
Trang 27[Meeting Planner] – Architecture Design ID UC18
Title View all
Description User want to change your selection.
Entities Involved E02
Preconditions User is already logged in
Primary Flow 1 Navigate to /dashboard in browser
2 Press “view confirmed”
Post Conditions
Alternate Flows In step 1 of the Primary Flow, if the system has problem, it will show error message.
In step 2 of the Primary Flow, if the system has a problem, it will show error messages.
The Autumn Team | 27
Trang 28[Meeting Planner] – Architecture Design ID UC19
Title Search
Description User want to change your selection.
Entities Involved E02
Preconditions User is already logged in
Primary Flow 1 Navigate to /dashboard in browser
2 type name of poll on search box
3 press enter or icon search.
4 press “save” button
Post Conditions
Alternate Flows In step 1 of the Primary Flow, if the system has problem, it will show error message.
In step 2, 3 4 of the Primary Flow, if the system has a problem, it will show error messages.
Trang 29[Meeting Planner] – Architecture Design ID UC20
Title Search
Description User want to change your selection.
Entities Involved E02
Preconditions User is already logged in
Primary Flow 1 Navigate to /dashboard in browser
2 type name of poll on search box
3 press enter or icon search.
4 press “save” button
Post Conditions
Alternate Flows In step 1 of the Primary Flow, if the system has problem, it will show error message.
In step 2, 3, 4 of the Primary Flow, if the system has a problem, it will show error messages.
The Autumn Team | 29
Trang 30[Meeting Planner] – Architecture Design ID UC21
Title Send Notification
Description User want to send final option to participants (include zoom room if meeting online).
Entities Involved E03
Preconditions User is already logged in
Primary Flow 1 Navigate to /option/vote in browser
2 click ‘final option’ button
Post Conditions
Alternate Flows In step 1 of the Primary Flow, if the system has problem, it will show error message.
In step 2 of the Primary Flow, if the system has a problem, it will show error messages.
Trang 31[Meeting Planner] – Architecture Design 3.4 Quality Attributes
4 Constraints 4.1 Business Constraint
● Project will be started on: 12 – Aug– 2020.
● Project will be finished on: 05 – Dec– 2020.
● Project will be finished in 100 days (hours) 4.2 Technical Constraint
● Technology: Nodejs (Express Framework), Reactjs HTML, CSS, Bootstrap.
● Environment:
- Operating System: Windows, Linux, macOS, any device used Web Browser.
- Develop Tools: VSCode.
- Source version control: Git (Github).
- Database: Postgresql Database.
- Internet Connection 5 High level architecture
5.1 Component and Connector view (C&C view)
The diagram below shows the overview architecture including component and other related component We have representations and behaviors for important components in the following sections.
The Autumn Team | 31
Trang 32[Meeting Planner] – Architecture Design
Figure 1: Component & connector view
● Prose:
Client here is Admin or Client uses our system via Web Browser When user access to system, they will see a Service Request entry point if they're not authenticated to the system Once they're authenticated to the system via an account registered by sending service request, if user were admin they will be able to manage poll and user, and if user were client they will be able to create poll after that they become host of the poll which was created, they will be able to invite participants, finish poll and send notification All features managed by Authentication Layer of processing unit to determine what data will be displayed associate to the login user
Trang 33[Meeting Planner] – Architecture Design 5.2 Module view
Figure 2: Module view
Prose:
To process and authorize request from user, all packages are tied up together to authorize the association between user and data (Data Authorization Layer) All requests come from users firstly processed by Middleware, it will determine user is authenticated to the system or not Then, controllers can handle the business logic All data access logic is controlled by repository to handle all the data access logics with the association of criteria layers to filter data of users that they can be retrieved Finally, depending on endpoints, data will be responded to API Gateway or Web Browse
The Autumn Team | 33
Trang 34[Meeting Planner] – Architecture Design 5.3 Allocation view
Figure 4: Allocation view ● Prose:
When User access to system via Internet, all requests is processed in a central Web Server Web Server and Database Servers are associated to the same Security Group, data accessing is only produced between Web Server and Database Servers Web Server determines action is read or write to allocate request to exact database server to retrieve data or execute insertion request All write actions are performed in Master Database Server and synchronize to all Slave Database Servers This architecture will help to reduce overwhelming when read and write actions happened in one central database server.