Purpose
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.
Documents Referenced
Project Overview
Toan, Truong Nguyen Vinh Scrum Master
Thang, Huynh Ba Product Owner
Quang, Nguyen Phu Scrum Member
Business Driver
Business Problems
In a company or team working together or a group who want to organize a meeting or an appointment, they often have problems how to choose the best time that works for everyone, it seems simple, but there are many problems as this time is suitable for one person but not for the others And that often takes time.
Business Need
Customer need Meeting Planner system that can handle the following issues: Want to create a quick and effect meeting.
Everyone can join into poll and give their best time.
Save time when scheduling aa meeting.
Can connect with online meeting tool during quarantine time.
Project Goals
When user use our Meeting Planner system, it can help:
Creating a poll voting an meeting.
A system that easy to use.
Everyone can save time when they want to arrange aa meeting
Give they the best time when they finish the poll
High-Level Requirements
Refer to [MP]_Product_Backlog_Ver1.2
System Context
- Add / delete users in meeting;
- Manage number poll that user created;
Architecture Driver Specification
Description Admin is a person who managing the system.
Assumptions Admin is the management of the entire system
Assumptions Already have a default account
Description User is a person who using the system
Assumptions Provide person’s information (optional)
UC01, UC02, UC03, UC04, UC05, UC08, UC09, UC14, UC15, UC16, UC17, UC18, UC19,
Description Host is a person who using the system
Assumptions Provide person’s information (optional)
Cases UC10, UC11, UC12, UC13, UC14
Description Login into the system
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
- In step 1 of the Primary Flow, if [Email] or password is incorrect.
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.
Description Form for clients or guests can register to use our services that system provided
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
- 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.
Description User want to edit their profile information
Preconditions User is already logged in
Primary Flow 1 Navigate to /profile in browser
3 Submit form by pressing “Save” button.
- 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.
Description User want to change their new password
Preconditions User is already logged in
Primary Flow 1 Navigate to /change in browser
3 Submit form by pressing “change” button.
- 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.
Preconditions User is already logged out
Primary Flow 1 Navigate to /profile in browser
3 Submit form by pressing Save button.
- 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.
Description Admin want to know how many users was registed to using the system.
Preconditions Admin is already logged in
Primary Flow 1 Navigate to /admin in browser
- 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.
Description Admin want to know how many polls was created to using the system.
Preconditions Admin is already logged in
Primary Flow 1 Navigate to /admin in browser
- 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.
Description User want to create a poll to adding their friend or colleague and voting the time.
Preconditions User is already logged in
Primary Flow 1 Navigate to /admin in browser
2 Fill out provided field on the page.
3 press “continue” button to continue.
- 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.
Description User want to choose list of available time for their poll.
Preconditions User is already logged in
Primary Flow 1 Navigate to /schedule in browser
3 press “more” button to adding another option
4 press “continue” button to continue.
- 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.
Description User want to add their friend or colleague into their poll.
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.
- 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.
Description User want to change the time option.
Preconditions User is already logged in
Primary Flow 1 Navigate to /schedule/vote in browser
3 Change information’s poll at /create in browser and press
4 Change list of available time at /schedule 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.
Description User want to delete an invitee.
Preconditions User is already logged in
Primary Flow 1 Navigate to /schedule/vote in browser
2 Press “Delete” button next to invitee name
- 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.
Description User want to get a best time option.
Preconditions User is already logged in
Primary Flow 1 Navigate to /schedule/vote in browser
- 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.
Description User want to get a best time option.
Preconditions User is already logged in
Primary Flow 1 Navigate to /schedule/vote in browser
2 Type something on comment field
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.
Description User want to get give your selection.
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.
Description User want to change your selection.
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
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.
Description User want to change your selection.
Preconditions User is already logged in
Primary Flow 1 Navigate to /dashboard in browser
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.
Description User want to change your selection.
Preconditions User is already logged in
Primary Flow 1 Navigate to /dashboard in browser
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.
Description User want to change your selection.
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.
Description User want to change your selection.
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.
Description User want to send final option to participants (include zoom room if meeting online).
Preconditions User is already logged in
Primary Flow 1 Navigate to /option/vote in browser
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.
Quality Attributes
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).
Technical Constraint
Technology: Nodejs (Express Framework), Reactjs HTML, CSS, Bootstrap. Environment:
- Operating System: Windows, Linux, macOS, any device used Web Browser.
- Source version control: Git (Github).
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.
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
Module view
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