Case Study of Software Examination System Architecture (Concepts Related to Architecture Design)

Insert image description here

Other related recommendations:
Software exam system architecture case study (software engineering related concepts)
Software exam system architecture case study (Redis related concepts)
Microservice architecture of system architecture
Microkernel architecture of system architecture design

Column:System Architect

1. The concept of architectural style

A software architectural style isa conventional pattern that describes the way a particular software system is organized.

Organizational mode describes the components of the system and the organization of these components, idiom mode then Reflect the structure and semantics common to many systems.

2. What are the five architectural styles?

  • Data flow style [Data Flow]: Batch processing [Batch Sequential], pipeline-filter [Pipes and Filters];

  • Call/Return style [Call/Return]: Main program/subroutine [Main Program and Subroutine], object-oriented [Object-oriented], layered architecture [Layered System] 】;

  • Independent component style [Independent Components]: Process communication [Communicating Processes], event-driven system (implicit call) [Event system];

  • Virtual machine style [Virtual Machine]: interpreter [interpreter], rule system [Rule-based System];
    Insert image description here

  • Data-centered (warehouse style) [Data-centered]: Database system [Database System], blackboard system [Blackboard System], hypertext system [Hypertext System];

Supplement: Closed-loop control architecture (process control): classic applications include air-conditioning temperature control and cruise control;

3. Meaning of MVC architecture

MVC is the abbreviation of Model - View - Controller, using a kind of business logic. The method of separating data and interface display organizes the code and gathers business logic into one component. While improving and personalizing the interface and user interaction, there is no need to rewrite the business logic.

Model is the part of the application that handles the logic of application data. Typically model objects are responsible for storing data in the database.

View is the part of the application that handles data display. Typically views are created from model data.

Controller is the part of the application that handles user interaction. Typically the controller is responsible for reading data from the view, controlling user input, and sending data to the model.

4. Cloud computing architecture

  • [Management layer]: Provides management functions for all levels of cloud computing services.
  • [User Access Layer]: Convenient for users to use various supporting services required for cloud computing services. Corresponding access interfaces need to be provided for each level of cloud computing services.
  • [Application layer]: Provide software services, such as financial management, customer relationship management, and business intelligence.
  • [Platform layer]: Provides users with encapsulation of resource layer services so that users can build their own applications.
  • [Resource Layer]: Provides virtualized resources to hide the complexity of physical resources. Such as: server, storage.

5. Cloud native architecture design principles

  • Service-oriented principle: Use microservices
  • Elasticity principle: Automatic scaling according to business changes
  • Observability principles: through logs, link tracing and metrics
  • The Resilience Principle: The ability to withstand abnormalities
  • All process automation principles: Automated delivery tools
  • Zero Trust Principle: Do not trust anyone/device/system inside or outside the network by default
  • Principle of continuous evolution of architecture: Balance between architecture and business under rapid business iteration

6. The main functions of ESB include

ESB is a product of the combination of traditional middleware technology and XML, Web services and other technologies. It mainly supports the integration of heterogeneous systems. ESB is based on content routing and filtering, has the ability to transmit complex data, and can provide a series of standard interfaces. Key features include:

(1) Location transparency of applications

(2)Transmission protocol conversion

(3)Message format conversion

(4)Message routing

(5)Message enhancement

(6)Security support

(7)Monitoring and management

7. The meaning of quality attributes and their design strategies

(1)Performance: refers to the system’s responsiveness, that is, how long it takes to respond to an event. Or the number of events that the system can handle within a certain period of time.

Represents parameters: response time, throughput
Design strategy: priority queue, resource scheduling

(2)Availability: It is the proportion of time that the system can operate normally.

Representative parameter: failure interval
Design strategy: redundancy, heartbeat line

(3) Reliability: refers to the basic ability of the software system to maintain the functional characteristics of the software system in the face of application or errors, accidental or incorrect use.

(4) Robustness: refers to the ability of a system to withstand stress or changes in processing or environment.

(5)Security: refers to the system’s ability to provide services to legitimate users while preventing unauthorized users from attempting to use or denying service Ability.

Security can be divided into characteristics such as confidentiality, integrity, non-repudiation and controllability.
Design Strategy: Tracking Audit

(6)Modability: refers to the ability to quickly make changes to the system with a high performance-price ratio.

Usually based on some specific changes as a benchmark, modifiability is measured by examining the costs of these changes.
Design strategy: interface-implementation separation, abstraction, information hiding

(7) Variability: refers to the ability of an architecture to be expanded or changed into a new architecture.

(8) Ease of use: It measures how easy it is for users to use a software product to complete specified tasks.

(9) Testability: refers to the ability and characteristics of software to detect faults, isolate and locate faults, as well as the ability to design and execute tests within a certain time and cost.

(10) Functionality: It is the ability of the system to complete the expected work.

(11) Interoperability: refers to the ability to interact between a system and the outside world or between systems.

8. There are three types of Beans in EJB

  • Session Bean: Describes a short session with the client. When the execution of the client is completed, the Session Bean and its data will disappear;
    - Entity Bean: described A row of durable data stored in a database table. If the client terminates or the service ends, the underlying service will be responsible for storing the Entity Bean data;
  • Message-Driven Bean: Combines the functions of Session Bean and Java Message Service (JMS) message listener, which allows a business component to receive JMS messages asynchronously.

9. The meaning of risk points, sensitive points and trade-off points

  • Risk points: Refers to the hidden dangers caused by potential and problematic architectural decisions in architectural design.
  • Sensitive points: refers to the characteristics of one or more components in order to achieve a specific quality attribute.
  • Trade point: It is a characteristic that affects multiple quality attributes and is a sensitive point of multiple quality attributes.

10. 5 Principles of REST

(1) Everything on the network is abstracted into resources.

(2) Each resource corresponds to a unique resource identifier.

(3) Operate resources through a common connector interface.

(4) Various operations on resources will not change the resource identification.

(5) All operations are stateless.

Insert image description here

Other related recommendations:
Software exam system architecture case study (software engineering related concepts)
Software exam system architecture case study (Redis related concepts)
Microservice architecture of system architecture
Microkernel architecture of system architecture design

Column:System Architect

Guess you like

Origin blog.csdn.net/qq_41273999/article/details/134063247