Team4 Architecture-Design v1.0 EN
Team4 Architecture-Design v1.0 EN
Architecture Design
Ha Noi, 07/02/2023
Internal use
2/23
RECORD OF CHANGE
3/23
SIGNATURE PAGE
<Role>
Instructor
APPROVAL: Nguyen Van Sang 08/02/2023
Instructor
4/23
TABLE OF CONTENTS
1 INTRODUCTION 5
1.1 Purpose 5
1.2 Scope 5
1.3 Definitions, Acronyms and Abbreviations 5
1.4 References 5
1.5 Overview 5
2 CHOICE OF ARCHITECTURE DESIGN 5
3 ARCHITECTURAL REPRESENTATION 5
5 USE-CASE VIEW 5
6 LOGICAL VIEW 6
6.1 Overview 6
6.2 Architecturally Significant Design Packages 6
7 PROCESS VIEW 6
8 DEVELOPMENT VIEW 6
9 DEPLOYMENT VIEW 6
10 QUALITY 6
5/23
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.
<>
Term
Definition
6/23
MVC Model – View – Controller
WS Web Service
1.4 References
7/23
ff649643.aspx
1.5 Overview
<>In order to cover all area of the architecture, the SAD contains the following sections:
Architectural Goal and Constraints: describe the architectural constraints of the system.
Use Case View: describe the major use cases of the system.
Process View: describe the main processes of the system and the external system that it interacts
with.
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.
8/23
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:
1.Logical view:
Audience: Designers.
9/23
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.
2.Process view:
Audience: Integrators.
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 to represent process view include the sequence diagram, communication diagram,
activity diagram.
(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.
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.
10/23
3 ARCHITECTURAL REPRESENTATION
<>
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
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
4.3 Persistence
Data persistence will be addressed using a relational database.
4.4 Reliability/Availability
-Accuracy: Specifications must be precise enough for standards or user actions to take.
- Sustainability:
11/23
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.
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
a. Actor: User
b. Description: Exit the main screen
12/23
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
b. Description: perform the confirmation, calculate the reservation request,
change the class, ... to calculate the exact amount of each 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.
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.
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.
a. Actor: User
b. Description: This feature enables the user to edit all information of a teacher.
13/23
11. View List Teacher
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 teacher and returned in several pages.
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.
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.
a. Actor: User
b. Description: This feature enables the user to edit all information of a teacher.
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
a. Actor: User
b. Description: this feature helps users to be divided into classes whose learning level is
suitable for their current ability
14/23
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
15/23
7 PROCESS VIEW
7.1 Login
16/23
7.2 Register
17/23
7.3 Add (teacher, student)
18/23
7.4 Delete (teacher, student)
19/23
7.5 Edit (teacher, student)
20/23
8 DEVELOPMENT VIEW
No Package Description
01 controllers Contain classes that are defined as controllers, the main function is connected
between client and server through endpoints.
02 service Contain classes that are defined as service, handle processing business logic and
work as a bridge between controller and repository.
21/23
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.
22/23
● Maximum: 1TB
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.
• Extension: Using classes or structures to be able to develop products later helps reduce performance,
easy to develop
23/23