capstone project 2 cmu se 451 cmu is 451 architecture design course marketplace reviews platform

28 0 0
Tài liệu đã được kiểm tra trùng lặp
capstone project 2 cmu se 451 cmu is 451 architecture design course marketplace reviews platform

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 1

Ngo Quoc Thinh Bui Son Thai Nguyen Quoc Dung

Approved by Proposal Review Panel Representative:

Capstone Project 2- Mentor:

Trang 2

PROJECT 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 4

1 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 6

2.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 7

2.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 8

2.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 9

Scenario: 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 10

Scenario: 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 11

2.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 12

3 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 14

Figure 2: C&C of CMRP

=

Trang 15

The 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 16

3.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 17

3.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 18

3.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 19

3.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 20

3.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 21

3.4 Module view

Trang 22

Element 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 23

3.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 24

Prose

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 25

4.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

Ngày đăng: 24/04/2024, 16:26