[System Architecture] Chapter 5 - Basic knowledge of software engineering (software testing, clean room software engineering, component-based software engineering, software project management)

Soft test-system architect knowledge points extraction-system architect tutorial (2nd edition)

software test

1. Test method
Based on the program execution status during the test, it can be divided into static test (ST) and dynamic test (DT). Based
on the details of the specific implementation algorithm and the internal structure of the system, it can be divided into black box test and white box test. Testing and gray box testing
Classified from the way the program is executed, manual testing and automated testing

2. Test phase
1, unit test
2, integration test
3, system test (functional test, performance test, acceptance test, stress test, etc.)

Cleanroom Software Engineering (CSE)

Cleanroom engineering, avoiding reliance on costly error-elimination processes by writing code increments correctly the first time and verifying their correctness before testing

Theoretical Basis: Function Theory and Sampling Theory

Technical means: Incremental development under statistical process control, function-based specification and design, correctness verification, statistical testing and software certification

Component Based Software Engineering (CBSE)

CBSE is a software reuse approach based on distributed object technology, emphasizing the design and construction of software systems through reusable components. The components used in
CBSE have the following characteristics: assembleability, deployability, documentation, independence, and standardization

The main activities of the CBSE process:
1. Overview of system requirements
2. Identify candidate components
3. Modify requirements based on discovered components
4. Architecture design
5. Component customization and adaptation
6. Assemble components to create a system

Component assembly: sequential assembly, hierarchical assembly, superimposed assembly

Software Project Management

1. Software progress management
Work breakdown structure (WBS)
insert image description here
WBS requirements:
1. The work package of WBS is controllable and manageable, and cannot be too complicated.
2. The task decomposition cannot be too detailed. The general principle is that the tree structure of WBS should not exceed 6 Layer
3. Each work package must have a deliverable
4. Each task must have clearly defined completion criteria
5. The WBS must facilitate the assignment of responsibilities

Task activity diagram
After the work is decomposed, a set of activity tasks is obtained, each activity is defined, and the relationship between activities is determined, that is, the sequence of activity execution, and the corresponding task activity diagram can be obtained according to the sequence of activities.

2.
The core content of software configuration management is version control and change control

3. Software quality management
From the perspective of management, factors affecting software quality are divided into: product operation, product modification, and product transfer
insert image description here

4. Software risk management
The main goal is to prevent risks. In software project risk management, it is necessary to identify risks, evaluate emerging concepts and impacts, and establish a plan to manage risks.


Other articles recommended by the author, welcome to learn:
Based on Spring Boot 3.1.0 series of articles

  1. Spring Boot source code reading initialization environment construction
  2. Detailed explanation of the overall startup process of the Spring Boot framework
  3. Detailed Explanation of Spring Boot System Initializer
  4. Detailed explanation of Spring Boot listener
  5. Detailed explanation of Spring Boot banner
  6. Spring Boot property configuration analysis
  7. Analysis of Spring Boot property loading principle
  8. Analysis of Spring Boot exception reporter
  9. Build Spring Boot 3.0 native executables with GraalVM
  10. Spring Boot 3.x microservice upgrade experience

Prometheus series of articles

  1. Introduction and installation of Prometheus
  2. Intuitive experience of PromQL and its data types
  3. PromQL selectors and operators
  4. Functions of PromQL
  5. Prometheus alarm mechanism introduction and command interpretation
  6. Prometheus alarm module configuration depth analysis
  7. Prometheus configuration authentication
  8. Prometheus dynamically pulls monitoring services
  9. Prometheus monitors cloud Mysql and self-built Mysql

Grafana series of articles, version: OOS v9.3.1

  1. Introduction and installation of Grafana
  2. Introduction to configuration parameters of Grafana monitoring large screen (1)
  3. Introduction to configuration parameters of Grafana monitoring large screen (2)
  4. Grafana monitors large-screen visualization charts
  5. Grafana query data and transform data
  6. Introduction to Grafana Alarm Module
  7. Grafana alarm access Feishu notification

Spring Boot Admin Series

  1. Spring Boot Admin Reference Guide
  2. The problem that the SpringBoot Admin service is offline and does not display health information
  3. Loading of Spring Boot Admin2 @EnableAdminServer
  4. Detailed Explanation of Spring Boot Admin2 AdminServerAutoConfiguration
  5. Detailed Explanation of Spring Boot Admin2 Instance Status Monitoring
  6. Spring Boot Admin2 custom JVM monitoring notification
  7. Spring Boot Admin2 custom exception monitoring
  8. Spring Boot Admin monitoring indicators connected to Grafana visualization

Guess you like

Origin blog.csdn.net/weixin_40972073/article/details/131387654
Recommended