<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