Uploaded by Vinh Tran

Team4 Architecture-Design v1.0 EN

advertisement
<English Center Management>
Architecture Design
Project Code: ECM
Document Code: ECM_Architecture Design_v1.0
MEMBER:
Trần Thế Vinh
Phạm Duy Khánh
Nguyễn Quang Linh
Nguyễn Quang Huy
Lưu Doãn Dưỡng
Ha Noi, 07/02/2023
Internal use
2/24
RECORD OF CHANGE
*A - Added M - Modified D - Deleted
Effective Date
Changed Items
02/07/2023
A*M, D
A
Change Description
Create new
Table 1: Record of change
3/24
New Version
v1.0
SIGNATURE PAGE
ORIGINATOR:
<Name>
dd/mm/yyyy
<Role>
REVIEWERS:
Nguyen Van Sang
08/02/2023
Instructor
APPROVAL:
Nguyen Van Sang
Instructor
4/24
08/02/2023
TABLE OF CONTENTS
1
6
1.1
6
1.2
6
1.3
6
1.4
7
1.5
8
2
9
3
11
4
11
5
13
6
16
6.1
Ошибка! Закладка не определена.
6.2
16
7
17
8
22
9
23
10 24
5/24
1
INTRODUCTION
1.1
Purpose
<>This Software Architecture Document (SAD) describes the proposed architecture for English Center
Management Website. It is intended to capture and convey the significant architectural decisions that
have been made on the system.
The Software Architecture Document has two purposes. First, it is intended to communicate the
architectural direction for English Center Management Website. Second, it is to inform the architect
of English Center Management Website Website by software development organization.
1.2
Scope
The SAD addresses the entire architecture of the custom software to be developed to implement
English Center Management Website. The architecture is presented in various views that present
English Center Management Website’s high-level functionality, major logical components,
deployment, implementation technologies, considerations for performance and security.
The SAD does not address the following:
•
The architecture of underlying commercial off-the-shelf software, such as Microsoft .NET or
HTML 5
•
The architecture of existing framework
•
The architecture of other applications
•
The architecture of specific hardware and network infrastructure to be used to support English
Center Management Website
1.3
Definitions, Acronyms and Abbreviations
<>
Term
Definition
6/24
MVC
Model – View – Controller
SAD
Software Architecture Design
WS
Web Service
IIS
Internet Information Server
User
The user manager of English Center Management Website
NLB
Network Load Balancing
1.4
References
Website_Strategy_Pres
Customer Supplied
entation_v1_20110328.
pdf
7/24
Requirement
FMO_Functional
Project folder
Requirement
http://msdn.microsoft.c
Architect
Requirement
Specification_v1.0.doc
MVC overview
om/enus/library/ff649643.asp
x
ASP.Net MVC 3
http://www.asp.net/mvc
Architect
/mvc3#overview
Log4Net features
http://logging.apache.or
Architect
g/log4net/release/featur
es.html
1.5
Overview
<>In order to cover all area of the architecture, the SAD contains the following sections:
Architectural Representation: describe the purpose of each view of the system.
Architectural Goal and Constraints: describe the architectural constraints of the system.
Use Case View: describe the major use cases of the system.
Logical View: describe the logical parts of the system.
Process View: describe the main processes of the system and the external system that it interacts with.
Deployment View: describe how the system will be deployed.
8/24
Implementation View: describe how the system will be implemented, in development perspective.
Size and Performance: describe the proposed solution to satisfy the need of a scalable and high
performance system.
Quality: describe the quality goals of the system.
2
CHOICE OF ARCHITECTURE DESIGN
<>The ECH System Architecture is represented by five views defined in the 4+1 view model.
The views of the system include the Use Case View defining key functionality, the Logical
View defining structure of components, the Process View delineating performance factors, the
Deployment View describing the system topology and the Implementation View describing
the software construction.
4+1 is a view model used for "describing the architecture of software-intensive systems, based
on the use of multiple, concurrent views".The views are used to describe the system from the
viewpoint of different stakeholders, such as end-users, developers, system engineers, and
project managers. The four views of the model are logical, development, process and physical
view. In addition, selected use cases or scenarios are used to illustrate the architecture serving
as the 'plus one' view. Hence, the model contains 4+1 views:
9/24
The 4+1 View Model
i.
1.Logical view:
Audience: Designers.
Related Artifacts: Design Model
The logical view is concerned with the functionality that the system provides to end-users. UML
diagrams are used to represent the logical view, and include class diagrams, and state diagrams.
ii.
2.Process view:
Audience: Integrators.
Related Artifacts: N/A
The process view deals with the dynamic aspects of the system, explains the system processes and
how they communicate, and focuses on the run time behavior of the system. The process view
addresses concurrency, distribution, integrator, performance, and scalability, etc. UML diagrams
10/24
to represent process view include the sequence diagram, communication diagram, activity
diagram.
iii.
4.The physical view:
(aka the deployment view) depicts the system from a system engineer's point of view. It is
concerned with the topology of software components on the physical layer as well as the physical
connections between these components. UML diagrams used to represent the physical view
include the deployment diagram.
iv.
5. Scenarios (Use case view):
Audience: All stake-holders.
Related Artifacts: Use Case Model
The description of an architecture is illustrated using a small set of use cases, or scenarios, which
become a fifth view. The scenarios describe sequences of interactions between objects and
between processes. They are used to identify architectural elements and to illustrate and validate
the architecture design. They also serve as a starting point for tests of an architecture prototype.
This view is also known as the use case view.
3
ARCHITECTURAL REPRESENTATION
<>
4
ARCHITECTURAL GOALS AND CONSTRAINTS
v.
4.1 Technical Platform
Server side: English Center Management website will be hosted on the IIS web server and connected to
the SQL Server 2008 Database server.
The web server is listening on web standard port 80.
11/24
All communication with clients must comply with public HTTP, HTTPS, TCP/IP communication protocol
standards.
Client-side: The client will work correctly with the following web browsers: Windows Internet Explorer
versions 8, 10 and 11; Google Chrome (all versions); and Apple Safari versions 10 to 16, which customers
can also access from the company's intranet; from a VPN Internet connection; and by Android, iOS and
Windows smartphones and tablets
vi.
4.2 Security
- All user data will be kept safe and secure
- Users must log in to avoid virtual and junk files that cause data loss
- Courses do not affect users
vii.
4.3 Persistence
Data persistence will be addressed using a relational database.
viii.
4.4 Reliability/Availability
-Accuracy: Specifications must be precise enough for standards or user actions to take.
- Efficiency: Eliminate redundant things, to complete the set goal
- Sustainability:
ix.
4.5 Performance
-1000 users in total and up to 100 concurrent users during peak usage periods of 7:00 A.M. until 1:00, the
estimated average is 8 minutes.
- The system shall display confirmation messages to users within an average of 3 seconds and a maximum
of 6 seconds after the user submits information to the system.
12/24
5
USE-CASE VIEW
The diagram below included a list of use cases that represent significant and major functionality of the
system. The use cases that have significant impact on the system are:
1. Login
a. Actor: User
b. Description: login to home screen
2. Register
a. Actor: User
b. Description: register user's account
3. Logout
b. Actor: User
c. Description: Exit the main screen
4. Score calculation
a. Actor: User
b. Description: aggregate scores and calculate the average score of each student
of the center
5. Collect tuition fee
a. Actor: User
b. Description: send an application as well as confirm the tuition fee of each
student in the center
6. Tuition processing
a. Actor: User
13/24
b. Description: perform the confirmation, calculate the reservation request,
change the class, ... to calculate the exact amount of each student.
i.
7.
View List student
a.
Actor: User
b.
Description: This is a highlighted feature based on traffic and usage of the current English
Center Website. IManagement t enables users to search for a doctor using full name teacher, subject.
System calls a web service to get the search result. The result contains the address, phone number and
certification information… of the student and returned in several pages.
ii.
8.
Delete student
a.
Actor: User
b.
Description: This feature enables users to delete students. Users will be asked to confirm the
request before the deletion is triggered.
iii.
9.
Add student
a.
Actor: User
b.
Description: This feature enables users to create a new profile for a new teacher. This has six
steps in which the user needs to enter the full name, location, phone, email, birthday, subject.
iv.
10.
Edit student
a.
Actor: User
b.
Description: This feature enables the user to edit all information of a teacher.
v.
a.
11.
View List Teacher
Actor: User
14/24
b.
Description: This is a highlighted feature based on traffic and usage of the current English
Center Website. IManagement t enables users to search for a doctor using full name teacher, subject.
System calls a web service to get the search result. The result contains the address, phone number and
certification information… of the teacher and returned in several pages.
vi.
12.
Delete Teacher
a.
Actor: User
b.
Description: This feature enables the user to delete teachers. Users will be asked to confirm
the request before the deletion is triggered.
vii.
13.
Add Teacher
a.
Actor: User
b.
Description: This feature enables users to create a new profile for a new teacher. This has six
steps in which the user needs to enter the full name, location, phone, email, birthday, subject.
viii.
14.
Edit Teacher
a.
Actor: User
b.
Description: This feature enables the user to edit all information of a teacher.
ix.
15.
View Class
a.
Actor: User
b.
Description: This is a useful feature of the current English Center Management Website. It
helps users see their classes. The system calls the web service to get the search results. The result
contains the information of the student and the teacher of that class
x.
16.
Class Division
a.
Actor: User
b.
Description: this feature helps users to be divided into classes whose learning level is suitable
for their current ability
15/24
xi.
17.
View Class Schedule, Timetable
a.
Actor: User
b.
Description: this feature helps users to see the class and class time they are assigned to
6
LOGICAL VIEW
xii.
16/24
7
PROCESS VIEW
xiii.
7.1 Login
17/24
xiv.
7.2 Register
18/24
xv.
7.3 Add (teacher, student)
19/24
xvi.
7.4 Delete (teacher, student)
20/24
xvii.
7.5 Edit (teacher, student)
21/24
DEVELOPMENT VIEW
8
No
Package
01
controllers
02
service
03
data
04
views
Description
Contain classes that are defined as controllers, the main function is connected
between client and server through endpoints.
Contain classes that are defined as service, handle processing business logic and
work as a bridge between controller and repository.
Contain classes to keep data received from the database.
response and request model class
Containing views class, component,css, js,..
22/24
9
DEPLOYMENT VIEW
There are three main communication links between users and two groups of servers running in the
data center. Given that messages are sent between the system and the server, secure connections are
used. Encryption is used when the message is out on the internet.
Link 1: End user connects to the application server. As the number of end users grows, more
application servers will be added to maintain acceptable response times. The application servers are
network load balanced. Each class runs the View, Controller, and Data Model classes.
Link 2: The application servers access database server running MS SQL to store and query persistent
data.
xviii.
9.1 Hardware recommendations for servers
9.1.1: Application Server
Component
Minimum requirement
Processor
●
●
Minimum: 2 cores cpu
Recommended: 4 cores cpu
RAM
●
Minimum: 2GB
Hard disk
●
80GB for system drive or above
9.1.2: Database Server
Component
Minimum requirement
Processor
●
●
Minimum: 2 cores cpu
Recommended: 4 cores cpu
RAM
●
●
Minimum: 2GB
Recommended: 6GB or more
Hard disk
●
●
Minimum: 40GB
Recommended: 500GB
23/24
●
xix.
Maximum: 1TB
9.2 Software recommendations for servers
Server Type
Software requirement
●
Reverse Proxy
●
●
Application Server
Database Server
Window server 2019 64 bit OR Ubuntu
20.04 64 bit
Nginx version 1.23 or above
●
Window server 2019 64 bit OR Ubuntu
20.04 64 bit
.Net 6
●
●
Window server 2019 64 bit
MS SQL 2019
10 QUALITY
Quality goals, including the following, are to be determined.
• Performance: 1000 users in total and up to 100 concurrent users during peak usage periods of 7:00 A.M.
until 1:00, the estimated average is 8 minutes. The system shall display confirmation messages to users
within an average of 3 seconds and a maximum of 6 seconds after the user submits information to the
system.
• Security: All user data will be kept safe and secure.Users must log in to avoid virtual and junk files that
cause data loss.
• Availability: achieve 90% in first deployment and can develop in subsequent times.
• Usability: Designed to be user-friendly with the least amount of manuals
• Reliability: Ensure latency availability, performance, efficiency, change management, monitoring,
emergency response, and capacity planning throughout product development and creation
• Extension: Using classes or structures to be able to develop products later helps reduce performance,
easy to develop
• Reusability: Can be reused when the center opens more branches
24/24
Download