Source of stimulus User Artifact stimulated Platform Response measure Account will be automatically logged out if user stay inactive in 24 hours.. Scenario: When a user registers, their
Trang 1Ngo Quoc Thinh Bui Son Thai Nguyen Quoc Dung
Approved by Proposal Review Panel Representative:
Capstone Project 2- Mentor:
Trang 2PROJECT INFORMATION
Ngo Quoc Thinh qthinh2801@gmail.com 0945.280.101 Bui Son Thai sonthai1310.works@gmail.com 037.6314.578 Nguyen Quoc Dung qdung.nguyen810@gmail.com 0903.476.313
REVISION HISTORY
Trang 41 INTRODUCTION
This project aims to establish a comprehensive platform that consolidates a wide range of course information Its primary objective is to empower learners with the ability to easily discover courses aligned with their interests Furthermore, the platform serves as a trustworthy source of course feedback, enabling learners to make informed decisions and select the most suitable courses Additionally, this initiative provides a space for course providers, predominantly local teachers and coaches, to showcase their services and quality, thereby increasing their student enrollment
This specification covers following:
– Brief specification of the project, high level requirement – Detail quality attribution
– System context, sequence diagrams
– Architecture presented by various view types: Component and Connect, Module view and Allocation view
Business problems:
The current challenge in the education landscape is the fragmentation of course information, making it difficult for learners to navigate and select courses tailored to their needs Moreover, learners often face uncertainties regarding the quality and suitability of a course This project endeavors to bridge this gap by centralizing course data and offering a reliable feedback mechanism
Business needs:
– Fragmentation of course information makes it challenging for learners to navigate and select suitable courses
Trang 5– Learners often face uncertainties regarding the quality and suitability of courses – Course providers lack a centralized platform to showcase their offerings, hindering their ability to reach potential students effectively
2 ARCHITECTURE DRIVER
2.1 Business constraints
– Sources: 3 people
– Project was started on: 31/0 /2028 3 – Project will be ended on: 12 12/ /2023 – Project will be finished in 101 days (1195 hours)
– Programming Language: HTML, CSS, Typescript – Framework / Libraries: React, Redux, React Charts, – Web Browser: Chrome, Firefox, Microsoft Edge.
– Network Accessing: World Wide Web (WWW), HTTP methods (POST, GET) via RESTful API with Axios
2.3 Functional requirement
References to Product Backlog specification of C2SE.10-ProductBacklog – CMRP
Trang 62.4.2 Quality attributes
2.4.2.1 Security
Scenario: If a user logs into a system, and their account has no activity for 24 consecutive hours, the system will automatically log out the account to ensure security
Source of stimulus User
Artifact stimulated Platform
Response measure Account will be automatically logged out if user stay inactive in 24 hours
Scenario: When a user registers, their password will be encrypted through 3 layers of security before being saved to database
Source of stimulus User
Artifact stimulated Platform
Response measure Encrypted password through 3 layers of security
Trang 72.4.2.2 Performance
Scenario: A user leaves a review for a course on a platform
Stimulus Submit a Vietnamese review Source of stimulus User
Artifact stimulated System that interoperates with target system
Response The system analyzes the sentiment of the review and updates the overall sentiment statistics for the course and course provider
Response measure The sentiment score instantly changes after the user submits their review
Scenario: User send a request payment for courses The system verifiesthese courses, makes a transaction and sends a result in less than 5 seconds.
Stimulus Send a request payment Source of stimulus User
Environment At runtime
Artifact stimulated System user interface, platform
Response Verify payment information, make transaction and response a result
Response measure Verify payment information, make transaction and response a result less than seconds5
Trang 82.4.2.3 Usability
Scenario: A user is browsing through a list of online courses They want to see review by the filter category and rating
Stimulus Filter on the review page Source of stimulus User
Artifact stimulated System user interface
Response The user is able to filter the courses by category and rating Response measure The filter of the review always response the relevant results
Scenario: The user wants to check the schedule to see if it is suitable for them
Stimulus View the schedule of the course Source of stimulus User
Artifact stimulated System user interface
Response See the schedule of the course Response measure Instant view the schedule
Trang 9Scenario: The user wants to enter their personal information quickly and easily for verification They can do this by either manually typing their ID number in the provided text box, or by scanning the QR code on their ID card using the "Scan QR code" button
Artifact stimulated System user interface, platform
Response measure Input the personal information in seconds
2.4.2.4 Correctness
Scenario: User choose the course they want to pay and checkout them The system calculates the total amount and pays the correct quantity and selected course
Stimulus Choose the course and check them out
Artifact stimulated System user interface, platform Response Calculates the total amount and pay Response measure Correct quantity and selected course
Trang 10Scenario: When the user (learner) successfully makes payment for the course, the system will add the amount the Learner just paid to the Course Provider’s total income on the system
Source of stimulus User
Artifact stimulated Platform
Response Add the amount the Learner just paid to the Course Provider’s total income on the system.
Response measure The total income increases by the amount the learner paid
Scenario: The user annot add two identical courses to cart at the same timec or a course that has been purchased and is being studied cannot be added to the cart again
Source of stimulus User
Artifact stimulated Platform
Response Preventing data duplication in shopping carts Response measure Cannot add two identical courses to cart at the same
time or a course that has been purchased and is being studied
Trang 112.4.2.4 Modifiability
Scenario: A product manager wants to develop additional features in the next version The system allows for an expansion within 4 person months of effort without affecting existing functions
Stimulus Develop additional features Source of stimulus A product manager
Artifact stimulated Environment Response Allows for an expansion
Response measure 4 person months of effort without affecting existing functions
Trang 123 Architecture overview
This section shows the diagrams which bounds our target system and describes the architecture and interaction between components
3.1 System context
Figure 1: System Context Overview
Trang 13– Learner: Learners can search for courses, enroll in them, and review them
monitor class enrollment
– Admin: Admins can manage user accounts, resolve disputes, enforce policies, and conduct
system maintenance tasks They can also review and approve new course provider registrations
– APIs: The platform uses three APIs:
● PhoBERT Sentiment API: This API analyzes the sentiment of user reviews, providing a quick and clear indication of whether the reviewer recommends the course or not ● Cloudinary API: This API stores images, which helps save space for the data server ● Paypal API: This API provides secure payment transactions solution
3.2 Component and connector
We mainly used a C&C view to argue and reason about architectural properties, quality attribute requirements, and functional requirements that the system must add here This view type partitions the system into components that have some runtime presence such as processes, objects, data stores, and connectors or that represent pathways of communication such as data flows and access to shared storage.
Trang 14Figure 2: C&C of CMRP
=
Trang 15The web client sends and receives data from the server through the web service API User operations will send requests to the server through the API, the server will process the data with the corresponding models and access the database to retrieve data, then respond to the
information to the web client through the API to display it to the user
Web service Web Service is a component that manages and performs activities related to retrieval and storage of data such as get the learner list, user
The service provides image storage solution
Account service Service API in the backend to register a new account and login to the system
Enrollment service Backend API service to record the succ sful payment transaction for es course and present the enrolment numb on Course Prover ider’s dasboard Rating service Backend API service to separately record the rating of the us er Review service Service interacts with the database and provides APIs for managing the
system API PhoBERT
sentiment service
Analyzes the sentiment of the Vietnamese user reviews
API PayPal er s vice Provides secure payment transactions Feedback (report)
service
Backend API service to send the report message directly to the email of the administrator
Database Database is a component which contains information of users, courses, reviews, schedules, All data the system needs
Trang 163.3 Sequence diagram
Sequence diagram is used to display the sequence of activities Sequence diagrams show the workflow from a start point to the finish point detailing the many decision paths that exist in the progression of events contained in the activity
3.3.1 Login
Description:
In order to sign up or pulish a couse on the CMRP platform, users have to login at first by using username and password Our system receives requests, authenticates and returns login status
If login successfully, users can use all functions of the system in their permission Otherwise, their access will be denied
Trang 173.3.2 Sign up
Description:
To login to the system, user have to register first
User are allowed to register a new account, to do that they create a new account with
Trang 183.3.3 Publish course
Description:
To publish a new course, user have to login first
User have to switching to the Course Provider view first, then they could create a new course Firstly, they should provide required information The course thumbnail is going to be stored in Cloudinary, others type of information is stored in database After the process complete sucessfully, they will recive an announcement
Trang 193.3.4 Upload certificate
Description:
To help course providers increase their profile, the system allows them to upload their academic certificates The certificates will be uploaded as image files, which will be stored in Cloudinary After the process completes successfully, they will receive an
announcement
Trang 203.3.5 Leave review
Description:
Our platform aims to provide a trusted source for our users to confidently sign up for courses Therefore, the review must be from the user who has completed the course All reviews will be sent to the PhoBERT API to analyze the nuances of the review (Vietnamese only) The results will be showed as a graph on our website, it will be presented in 3 levels of sentiment like positive, negative, and neutral This emotional fingerprint will paint a clearer picture of the actual learning experience, beyond just star ratings or basic summaries.
Trang 213.4 Module view
Trang 22Element Responsibilities
Web View The website package contains management modules for admin and us er
API Cloudinary The service allow store image, is located on the system itself, and allows external access to get image content.
API PayPal The payment gateway provides a payment solution for the secure online transaction
API PhoBERT sentiment
Analyzes the sentiment of user reviews, providing a quick and clear indication of whether the reviewer recommends the course or not
Models Object data modules connect to collections in the database for transmission to the system interface
Description: The system includes web view, services, and models After users interact with UI
Data will be requested to the corresponding service, then will direct to model Data be responded will be displayed on UI Course published on the platform is stored in the Course model Images upload on the are stored in the system's directory and accessed via URL
Trang 233.5 Allocation view
The allocation view models the run-time architecture of a system It shows the configuration of the hardware elements when the system is deployed
Trang 24Prose
Laptop or PC Device running browser and helping User and Admin to use the functions of the website to manage
PhoBERT Sentiment Analyzes the sentiment of user reviews, providing a quick and clear indication of whether the reviewer recommends the course or not
PayPal The payment gateway provides a payment solution f or the secure online transaction
Cloudinary Stores images, which helps save space for the data server Backend Server Provide an API to support the interaction between the user
interface and the server Where to install and run the backend API MongoDB Database The place contains all data of the platform
Description
The system is deployed on web environment (using NestJS) They interact with the server through APIs to read and write data from the MongoDB database In addition, the system interacts with PhoBERT Sentiment to analyze the naunce of the Vietnamese review and PayPal supports payments.
2 ATAM
4.1 Present the ATAM
+ Overall evaluation of system architecture documents, system designs on 3 views: static view, dynamic view, and physical view based on ATAM 9 Steps method + Expect to achieve an accurate and objective evaluation of the architectural
document From there, the project team assesses the ability to complete the project and achieve the Architecture Drivers
4.2 Present the business Drivers
+ The content on the document presented about the following: o Who are the business drivers
o Business problems and goals for the system are presented by the Project
Trang 254.3 Present the Architecture
+ Current Architecture state: The design is systematically overviewed on all 3 views: allocation view, module view and component and connector view + Expected Architecture state: The architecture is easy to understand, easy to read,
full of content, clear and responsive to the constraints and Quality Attributes of the system
+ Impact of following project constraints in the architecture:
o Time / Deadline: Project will be finished in 101 days (1195 hours) o Cost / Available resources: 3 people with cost $2868
o Complexity of the problem: high
o Quality expectations: Meet the constraints and 5 Quality Attributes described above include: Security, Performance, Usability, Correctness and Modifiability
4.4 Identify the Architecture approaches
+ Architecture pattern: Service-oriented architecture(SOA)
+ In SOA, services use protocols that describe how they pass and parse messages using description metadata This metadata describes both the functional characteristics of the service and quality- -of service characteristics Service-oriented architecture aims to allow users to combine large chunks of functionality to form applications which are built purely from existing services and combining them in an ad hoc manner A service presents a simple interface to the requester that abstracts away the underlying complexity acting as a black box Further users can also access these independent services without any knowledge of their internal implementation
+ The architectural blueprints are broken down into sections and interact with the services