Tải bản đầy đủ (.pdf) (34 trang)

Group Project 1 Cafe Shop Management Architecture Design.pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (747.32 KB, 34 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>PROJECT TEAM: </b> Group …

<b>TEAM MEMBERS: Nhat, Che Quang </b>

Chinh, Nguyen Khac Phuc, Nguyen Dang Khuyen, Huynh Thi Bao

<b>INTERNATIONAL SCHOOL</b>

<b>Project Information</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

[Meeting Planner] – Architecture Design

<b>Project Title</b> Web application for schedule meeting

Nhat, Che Quang

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

[Meeting Planner] – Architecture Design

<b>1.0</b> Nhat, Che Quang 9-July-2022 Create Architecture design document

<b>1.1</b> Nhat, Che Quang 9-July-2022 Update

<b>1.2</b> Nhat, Che Quang 9-July-2022 Format document

<b>The Autumn Team | 3</b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

[Meeting Planner] – Architecture Design

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

[Meeting Planner] – Architecture Design

<b>5.1Component and Connector view (C&C view)32</b>

<b>5.3Allocation view35</b>

<b>The Autumn Team | 5</b>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="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

<b>System context description:</b>

● 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;

<b>The Autumn Team | 7</b>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

[Meeting Planner] – Architecture Design

- Mange user.

3.3 Architecture Driver Specification

Use Case Entities

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

[Meeting Planner] – Architecture Design

<b>Identified UseCases</b>

UC01, UC02, UC03, UC04, UC05, UC08, UC09, UC14, UC15, UC16, UC17, UC18, UC19,

<b>The Autumn Team | 9</b>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="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.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="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.

<b>The Autumn Team | 11</b>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="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.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="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.

<b>The Autumn Team | 19</b>

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="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.

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="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.

<b>The Autumn Team | 21</b>

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="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.

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="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.

<b> </b>

<b>The Autumn Team | 23</b>

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="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.

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="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.

<b>The Autumn Team | 25</b>

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="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.

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="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.

<b> </b>

<b>The Autumn Team | 27</b>

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="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.

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="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.

<b>The Autumn Team | 29</b>

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="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.

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="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.

<b>The Autumn Team | 31</b>

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

[Meeting Planner] – Architecture Design

<b>Figure 1: Component & connector view</b>

<b>● Prose:</b>

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.

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

[Meeting Planner] – Architecture Design 5.2 Module view

Figure 2: Module view

<b>Prose: </b>

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

<b>The Autumn Team | 33</b>

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="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.

</div>

×