PA3 Group08 Software Architecture
PA3 Group08 Software Architecture
Version <1.1>
MOVIE STREAMING WEBSITE Version: <1.1>
Software Architecture Document Date: 2 thg 7, 2022
<document identifier>
Revision History
Date Version Description Author
29 thg 6, 2022 <1.0> Write Introduction Khôi
Add Use-case model Nguyên
Write Architectural Goals and Constraints Khôi, Thịnh
2 thg 7, 2022 <1.1> Write Logical View Introduction Thịnh
Write Component Detail Khôi
Add Component Image Nguyên, Lam
Check document font format and Khanh
presentation style
Table of Contents
Introduction 4
Use-Case Model 4
Logical View 6
Class Diagram Overview 7
Component: Backend - Service 7
Component: Backend - Controller 8
Component: Backend - Route 8
Component: Frontend - Services 8
Component: Frontend - Controller and UI 9
Data Structure Class Diagram 10
Package Diagram 11
Deployment 11
Implementation View 11
3. Use-Case Model
4. Logical View
functions. In this layer, we use Javascript and ExpressJS framework to create APIs.
Next one is the Controller layer. It controls and calls methods from client to server and vice versa using
the NodeJS environment.
Then the Services layer queries to the Database and responds to all the requests from the Backend. We
use SQL Server from Microsoft to query easily.
4.1 Class Diagram Overview
4.2.2 Detail
Backend service mainly accessing databases for all operations from the UI, all these services will be used by
backend controllers.
- Account Authentication: use for checking accounts when there is a login request.
- OnlineList: manage the current online user.
- UserListController: use for adding or removing a user from the database.
- MovieListController: use for adding or removing a movie from the database.
- BuyingPlanHandle: use for marking and handing a plan subscription request.
4.3.2 Detail
This component will take care of the incoming request from the route component, also accessing the file system if
necessary; each method in RequestHandler will handle a specific task.
4.4.2 Detail
This component will handle incoming API requests from the frontend and parse it into a working command for the
backend system to operate. When a request is complete, the route component will respond to the frontend side. This
also will handle any command that the operator needs to use.
4.5.2 Detail
Service component will handle any incoming user request and interact directly with the backend side
- clientHandler: receive incoming request and parse it to the renderUI or Route for request.
- Route: will send the request API to the backend side and wait for response.
4.6.2 Detail
Controller will render the GUI for user using the user request and data get from backend side
- UIRendering: handle the GUI part.
- PlanSellingPage: handle the render of plan selling.
- AccountPage: handle the render of the user account.
- HomePageRender: handle the render of the home page.
- UserPageRender: handle the render of the user page.
- MovieStreamingPageRender: handle the render of movie streaming.
- AdminPage: handle the render of the admin page.
- MovieStreamUnit: access the file system for streaming and managing any streaming related command.
5. Deployment
[Leave this section blank for PA3.]
6. Implementation View
[Leave this section blank for PA3.]