Software designers in the past 10 years in the morning real test analysis knowledge points (not the absolute complete version)

To prepare for the 2020 intermediate software designer, I sorted out the analysis of the real questions in the morning multiple-choice section in the past 10 years, processed and integrated the knowledge points included, and finally condensed them into this note, which is convenient for me to read later when I need it. This note has been sorted out for a month, and it was recorded by myself while brushing the questions, and it has been typeset and revised many times. Because the content of the soft test is more and more complicated, but the test is not deep, and I am lazy, I did not follow the video or book systematically, so my understanding of some knowledge is not thorough. The records are not comprehensive, there are omissions and undercounts, some mistakes are inevitable, I hope everyone understands and can help me correct

Computer system knowledge,
programming language, basic
operating
system system development and operation,
basic knowledge of network,
multimedia
database technology
, data structure,
common algorithm design method
, object-oriented technology
standardization and basic knowledge of software intellectual property rights


Knowledge of computer systems

  • Basic knowledge of computer systems
  • Computer Architecture
  • Fundamentals of Security, Reliability, and System Evaluation

1. Hardware

(1) CPU composition : arithmetic unit, controller, register bank and internal bus

(2) Controller composition : program counter, instruction register, instruction decoder, timing generator, operation controller

(3) Processor composition : processor, memory, bus

(4) Classification of buses

  • Data bus (DB) : the width will affect the operation speed of the system
  • Address bus (AB)
  • Control Bus (CB)

Bus standard : ISA bus, EISA bus, PCI bus

The number of signal lines in the bus can be reduced by bus multiplexing , and more information can be transmitted with fewer signal lines

总线结构的优点

  • 简化系统结构,便于系统设计制造
  • 减少连接线数目,便于布线,减小体积,提高系统可靠性
  • 便于接口设计,与总线连接的设备采用类似接口
  • 便于系统扩充,更新与灵活配置,实现系统模块化
  • 便于设备的软件设计
  • 便于故障诊断和维修,降低成本

(5)BIOS(基本输入输出系统):一组固化到计算机内主板上一个ROM芯片上的程序,保存基本的输入输出程序、开机后自检程序和系统自启动程序

(6)指令系统采用不同寻址方式来扩大寻址空间并提高编程灵活性

(7)CISC(复杂指令集计算机)进一步增强原有指令的功能,用更为复杂的新指令取代原先由软件子程序完成的功能,实现软件功能的硬件化,导致机器的指令系统越来越庞大而复杂

(8)RISC(精简指令集计算机)减少指令总数和简化指令功能,降低硬件设计的复杂度,使指令能单周期执行,并通过优化编译提高指令的执行速度,采用硬布线控制逻辑优化编译程序

(9)寻址方式:寻找操作数或操作数地址的方式,具体有

  • 立即寻址:操作数就包含在指令中
  • 直接寻址:操作数存放在内存单元中,指令中直接给出操作数所在存储单元的地址
  • 寄存器寻址:操作数存放在某一寄存器中,指令中给出存放操作数的寄存器名
  • Register indirect addressing : the operand is stored in the memory unit, and the address of the storage unit where the operand is located is in a register
  • Indirect Addressing : The address of the operand address given in the instruction
  • Relative addressing : The instruction address code gives an offset, and the operand address is equal to the address of this instruction plus the offset
  • Indexed addressing : The operand address is equal to the content of the index register plus the offset

(10) SCSI is a processor-independent standard for system-level interfaces between computers and smart devices

2. Storage

(1) Classification of memory

  • By location : internal memory, external storage
  • By material : magnetic memory, semiconductor memory, optical memory
  • By working mode : read-write memory, read-only memory
  • By access method : access memory by address, access memory by content
  • By addressing mode : random access memory, sequential memory, direct memory
  • By Content : Associative Memory

(2) RAM (random access memory) : stores programs used for a short time

(3) ROM (read-only memory) : a solid-state semiconductor memory that can only read data stored in advance

(4) Cache : Located between the CPU and the main memory, it is implemented by hardware . It is a high-speed and small- capacity temporary memory, which has nothing to do with the capacity of the external memory and the main memory. The design idea is to improve the hit rate at a reasonable cost . Consists of two parts:

  • Control part : judge whether the information to be accessed by the CPU is in the Cache memory, if it is there, it is a hit, if it is not, it is not a hit
  • Cache memory part : store part of the main memory copy

PS : Setting multi-level cache cache can improve the efficiency of CPU accessing main memory data or instructions

(5) The main memory adopts dynamic random access memory (DRAM) , Cache adopts static random access memory (SRAM) , and electrified erasable programmable memory (EEPROM)

(6) The virtual memory is composed of main memory and auxiliary memory two-level memory

3、I/O

(1) Commonly used I/O control methods

  • unconditional delivery method
  • Interrupt mode : When executing the current program, if some abnormal situation or special request occurs, the CPU temporarily stops the current program and turns to deal with more urgent events that occur randomly. After processing, the CPU will automatically return to the original program to continue execution. CPU and peripherals can work in parallel
    1. The purpose of interrupt processing and saving the scene : to correctly return to the interrupted program to continue execution
    2. Interrupts are divided into two categories according to whether they can be masked : non-maskable interrupts (non-maskable interrupts) , such as Power down; maskable interrupt : printer interrupt
  • Program query method : When the host performs I/O operations, it first sends out an inquiry signal, reads the device status and decides whether to perform data transmission or wait for the next step. Once the CPU starts I/O, it must stop the current program and run Insert a program in. The CPU has the phenomenon of stepping and waiting, and the CPU and I/O work serially
  • DMA (Direct Memory Access) method : directly transfers data in blocks between the main memory and I/O devices (main memory and peripherals) , without the need for the CPU to execute program instructions to transfer data, and the transfer speed is the fastest. CPU and peripherals can work in parallel
  • Direct memory access : The CPU only needs to do a small amount of processing at the beginning and end without intervening in the data transfer process

(2) The I/O software hides the details of the implementation of I/O operations, making it easy for users to use I/O devices

(3) I/O interface addressing mode

  • Unified addressing with memory unit
  • individually addressable

4. Register

(1) The register is the temporary storage unit inside the CPU, which can be divided into

  • Program (instruction) counter (PC) : stores the address of the instruction to be executed, and has two functions of registering information and counting
  • General-purpose registers : temporarily store the data or operation results required by the arithmetic unit
  • Accumulation register : Temporary storage of the result information of the ALU operation of the arithmetic logic operation unit
  • Instruction Register (IR) : Temporarily stores the instructions being executed. Both opcode and address code should be stored in it. Because it is transparent, invisible, and inaccessible to programmers
  • Address Register (AR) : Temporarily store the address when accessing
  • Program status register : record the flag information generated in the operation
  • Data register : data temporary storage
  • Instruction decoder (ID) : analyze the current instruction, determine the instruction type, the operation to be completed by the instruction and the addressing mode, and send the corresponding control command to the relevant components

5. Assembly line technology

(1) The longest execution time of each segment of the pipeline is called the bottleneck of the pipeline , which is used as the cycle of the pipeline

  • Throughput rate : the number of results flowing out of the pipeline processor per unit time
  • Build time : Pipeline work, the process of reaching the maximum throughput rate after a certain period of time

(2) Features of the assembly line

  • Can execute multiple instructions at the same time
  • Improved utilization of each component
  • Improved system throughput

6. Various codes

(1) Complement code and code shift +0 and -0 code are the same

(2) Using complement codes to represent and operate data can simplify the design of computer operating components

(3) The range of n-bit complement representation is -2^(n-1) — 2^(n - 1) - 1

(4) Floating-point numbers consist of three parts :

  • sign bit S
  • Exponent E (order code): the length determines the range of floating point representation
  • Mantissa M: The length determines the precision of the floating-point representation

(5) The intermediate code of the industry standard IEEE754 floating-point number format adopts code shifting , and the mantissa is represented by the original code

(6) To add two floating-point numbers , you first need to unify the order codes of the two numbers , and then add the mantissa

(7) Code distance

  • The code distance of two codewords : the binary digit between any two legal codes (codewords) in the coding system
  • The code distance of the coding system : the minimum distance between any two code words in the coding system

(8) Inspection code

  • Parity check code : Add a check bit in the code to make the number of 1 in the code odd or even, so that the code distance becomes 2. It can only detect odd-number error codes, but cannot find even-number error conditions, and only has error detection functions
  • Hamming code : use the parity of multiple groups of digits to detect and correct errors , add k check bits in addition to n data bits to form a new code word of k+n, and the minimum code distance is 2n+1. The relationship between n and k is 2^k-1>= n + k
  • Cyclic Redundancy Check Code : After the k-bit information code, the r-bit check code is spliced ​​to form a code with a length of n bits. The error detection ability is extremely strong and the overhead is small, and the modulo two division operation is used

7. Some calculations and calculation formulas

(1) Hard disk capacity calculation

  • Unformatted capacity = number of planes x (number of tracks/plane) x inner circumference x maximum bit density
  • Format capacity = number of sides x (number of tracks/side) x (number of sectors/track) x (number of bytes/sector)

(2) Reliability calculation

  • Series system reliability formula : R=R1xR2x…xRn
  • Parallel system reliability formula : R=1-(1-R1)x(1-R2)x…x(1-Rn)

(3) Pipeline calculation formula

  • Theoretical formula : (address + analysis + execution) + (number of instructions - 1) x pipeline cycle
  • Practical formula : (k+n-1) x pipeline cycle (k: number of segments for instructions, n: number of instructions)

(4) Calculation formulas between original code, inverse code, complement code, and shift code

  • Positive number : original code = inverse code = complement code
  • Negative number : inverse code = inverse of the absolute value of the original code, complement code = inverse code + 1
  • Complement code -1 to get the inverse code, and then invert the bitwise to get the original code
  • Code shift = invert the sign bit of the complement code

(5) Other calculations

  • Serial Computing : Executing instructions sequentially on a single computer
  • Parallel computing : divided into time and space. Parallel in time refers to pipeline technology, and parallel in space refers to concurrent execution of calculations by multiple processors.

8. Disk

(1) Disk formatting : Divide a blank disk into small areas and number them for the computer to store and read data

(2) Formatting : the operation process of writing zeros on all data areas of the disk

(3) Disk partition : Divide the disk into a block of storage areas. Divided into two divisions

  • Main partition : the partition that can install the operating system and start the computer, can be formatted directly, and then install the system and store files directly
  • Extended partition :

(4) Disk fragmentation : empty disk space

(5) Disk Cleanup : All unnecessary files on the computer will be deleted

(6) Disk defragmentation : rearrange the fragments and messy files generated by the disk, release more disk space, and improve the overall performance and running speed of the computer

9. Others

(1) Computer memory space division (top-down)

  • executable code
  • static data area
  • the stack
  • heap

(2) Important indicators to measure the performance of computer systems

  • System Response Time : The time interval between the user sending a complete request and the system completing the task and giving a response
  • Job throughput : The shorter the response time for the amount of tasks completed by the system per unit time , the greater the job throughput

(3) Redundancy : the part of resources that are redundant to realize the specified functions of the system, including hardware, software, information and time. Redundancy Technology Classification

  • Structural redundancy : divided into static, dynamic and hybrid redundancy according to its working mode
  • Information redundancy : an additional part of information to detect or correct errors in the operation or transmission of information
  • Time redundancy : to eliminate the impact of transient errors by repeatedly executing instructions or programs
  • Additional Redundancy Techniques : Resources and techniques required to implement the above redundancy techniques

(4) Limitations of the program

  • Time constraints : If an instruction in the program is executed once, it may be executed again in the near future
  • Space limitation : Once a program accesses a storage unit, nearby storage units may also be accessed in the near future

Basics of Programming Languages

  • Programming Basics
  • Language Processor Basics

1. Commonly named objects

  • Variable : the abstraction of the memory unit, used to represent the data
    pointer variable in the program : the variable stores the address of the memory unit. Can be defined as a global variable or a local variable
  • function
  • type of data

2. Compile

(1) Compilation process

  • Lexical analysis : Convert the string of the source program into a sequence of word symbols, scan and decompose, identify a word, delete useless information, and report errors during analysis **(token flow)**
  • Grammatical analysis : Taking word symbols as input, analyze whether word symbols form grammatical units that conform to grammatical rules. Such as programs, expressions, assignments, loops, etc., analyze and check whether each statement has a correct logical structure according to grammatical rules
  • Semantic analysis : Check whether the source program contains semantic errors, and collect type information for later use in the code generation stage. For example, the types of the left and right ends of the assignment statement do not match, whether the divisor of the expression is 0, etc.
  • Object code generation : the source program can only be generated if the syntax and semantics are correct

(2) Decompilation : The reverse process of compilation. Executables cannot be converted back to high-level language source code, only to a functionally equivalent assembler

(3) The addresses used to allocate storage units for variables during compilation are logical addresses , which are then mapped to physical addresses when the program is running

3. Various languages

(1) Dynamic language : The program can change its structure at runtime. Scripting languages ​​are all dynamic languages ​​and dynamic languages ​​are all interpreted languages

Dynamic binding : Combine the procedure call and the code that needs to be executed in response to the call at runtime
Static binding : Combine the code at compile time

(2) Each instruction statement in the assembly language source program must generate an instruction code (object code) that can be executed by the computer when the source program is assembled

(3) The directive statement is used to instruct the assembler how to assemble the source program

markup language

(4) HTML (Hypertext Markup Language) : Information representation for the Internet. Basic tags have

  • alink : sets the color of the link being hit
  • align : used to define the alignment of the text
  • vlink:设置已使用的链接的颜色
  • background:设置背景图片的URL
  • bgcolor:设置文档整体背景颜色
  • tr:定义表格中的一行
  • col:定义表格中一个或多个列的属性值
  • td:定义表格中的一个单元格
  • title:定义文档标题
  • table:定义属性

(5) XML(可扩展的标记语言):丰富了HTML的描述功能。其文档语法规范

  • 文档的第一行必须是XML文档声明
  • 文档必须包含

(6)WML(用于WAP的标记语言):XML的子集

脚本语言

(7)PHP:在服务器端执行的、嵌入HTML文档的脚本语言

可视化程序

(1)可视化程序设计:以所见即所得的编程思想为原则,力图实现编程工作的可视化,即随时看到结果,程序与结果的调整同步

(2)可视化程序特点

  • 基于面向对象的思想
  • 程序开发过程一般遵循一下步骤:先进行界面的绘制工作,再基于事件编写程序代码,以响应鼠标、键盘的各种动作

4、其他

(1)基本数据类型转换(隐式转换)从低精度到高精度

(2) Closure operator * connects its operands several times, such as 0 * represents a string composed of several 0s, (10 * 1) * represents a string composed of an even number of 1s

(3) Symbol table : Record the necessary information of each symbol (variable, etc.) in the source program to assist in semantic correctness check and code generation

(4) The data in the program must have a type, which is convenient for rationally allocating storage units for the data, checking the data objects involved in the expression calculation , specifying the value range of the data objects and the operations that can be performed

(5) Intermediate code : It is introduced during the process of translating a high-level language source program into a machine language program. It is beneficial to carry out machine-independent optimization processing and improve the portability of compiled programs . There are

  • Reverse Polish (postfix expression) : expression expression method that writes the operator after the operand
  • Quaternary
  • Ternary

(6) The data space adopts the heap storage allocation strategy

(7) Basic parameter passing method of function call

  • Pass by value : pass the value of the actual parameter to the formal parameter. The actual parameter can be an expression, variable, constant, array element, etc. The transfer is one-way, and the formal parameter cannot be passed back to the actual parameter.
  • Pass address : pass the address of the actual parameter to the formal parameter. The actual parameter must be a variable, not an expression or a constant. The transfer is bidirectional

operating system

  • Operating System Basics
  • processor management
  • storage management
  • device management
  • file management
  • job management
  • Network Operating System and Embedded Operating System
  • UNIX operating system instance

1. Operating system

(1) Computer system structure (top-down)

  • Application software (end user)
  • System software (application software developers)
  • Operating system (system software developer)
  • Computer hardware (system software developers)

(2) Bare metal : a computer with no software configured

(3) Operating system : a system software that establishes the interface between the user and the computer without bare-metal configuration

(4) Features of embedded operating system

  • miniaturization
  • customizable
  • real-time
  • reliability
  • portability

(5) In the xp system , users can use the disk management program to initialize the disk, create volumes, and can choose to use FAT, FAT32 or NTFS file system format volumes

2. PV operation and deadlock

(1) There are m units of memory resources used by n processes in the system. When each process requires w units of memory resources, when m<nw, deadlock may occur

(2) Resource R, process n, the minimum amount of resources where deadlock does not occur is: n(R - 1)+1

(3) PV operation : p operation checks whether the previous process is completed, and V operation notifies the next process that the process has been executed

(4) Enter the critical area to perform P operation, and exit the critical area to perform V operation

(5) The semaphore S<0, its absolute value indicates the number of processes waiting for the resource

3. Disk

(1) When the system crashes when the system writes the modification result of the directory file back to the disk, it will have a relatively large impact on the system

(2) In the arm-moving scheduling algorithm , the first-come-first-serve and shortest search time priority algorithms may change the movement direction of the moving arm at any time

(3) In the disk scheduling algorithm , the shifting scheduling is performed first to find the track, and then the rotation scheduling is performed to find the sector

(4) Address calculation

  • Logical address = page number + page address
  • Physical address = physical block number + page address of physical address

(5) Index

  • Direct index : the index directly points to the physical block, which can represent the logical block number range: 0~4
  • Level 1 index : The physical block pointed to by the index node is used to store address items, which can represent the logical block number range: 5~260, 261~516
  • Secondary index : the physical block pointed to by the index node, storing the first-level index, which can represent the logical block number range: 517~66052

3. Others

(1) Spooling technology : A technology that uses one type of physical device to simulate another type of physical device. It is a technology that turns an exclusively used device into multiple virtual devices, and it is also a speed matching technology.

(2) Attributes that can be set for file-level security management

  • Execute only : Only allow users to execute the file, mainly for .exe and .com files
  • Implicit : Indicates that the file is an implicit properties file
  • indexed : Indicates that the file is an indexed file
  • Modified : Indicates whether the file has been modified since the last backup
  • Read-only : only allow users to read the file
  • Read/Write : Allows the user to read and write to the file
  • Shared : Indicates that the file is a readable shared file
  • System : Indicates that the file is a system file

(3) Shared locks and exclusive locks
If transaction T1 adds shared locks to data D1, other transactions can only add shared locks to D1, but not exclusive locks.
If transactions T2 and T3 add exclusive locks to data D2 and D3 , other transactions can no longer add any locks to D2 and D3

(4) SCAN (scanning) scheduling algorithm : cylinder from small to large, and then from large to small after reaching the maximum

(5) CSCAN (one-way scanning) scheduling algorithm : cylinders from small to large, reaching the largest and then from smallest to largest

(6)


System development and operation

  • Fundamentals of Software Engineering
  • System Analysis Fundamentals
  • System Design Fundamentals
  • System Implementation
  • System Operation and Maintenance

1. Software analysis

(1) In structured analysis , use the data flow diagram to establish the logical model of the system to complete the analysis work, and should follow the principle of top-down, from abstraction to concrete

(2) Composition of structured analysis

  • Data flow diagram : From the perspective of data transmission and processing , it graphically depicts the movement and change process of data flow from input to output , based on functional decomposition. Contains data flow, processing, data storage and external entities (people/things, external systems, organizations)
  • Processing logic :
  • Data dictionary : entries include data flow, data item, data storage, basic processing

(3) In the requirements analysis stage , it is necessary to start writing test design documents

2. Software design

(1) Software design features : high cohesion and low coupling.

(2) The main purpose of system design is to customize the blueprint for the system

(3) The software design model focuses on the overall structure, code design, processing, data structure and interface model of the new system, etc.

(4) The principle of structural design module division
The scope of action of a module should be within its control range

  • The size of the module should be moderate
  • The fan-in and fan-out of modules should be reasonable
  • Appropriate depth and width

3. Software testing

(1) Software testing technology:

  • Unit testing (module testing) : Eliminate errors and defects within the program module, completed in the code writing stage. 5 features : module interface, local data structures, significant execution paths, error handling, and boundary conditions
  • Integration testing (assembly testing) : Detect and eliminate errors and defects in the structure of the subsystem
  • System testing : By comparing with the system requirements, it is found that the system does not match or contradict the user requirements
  • Functional testing : check whether the software can realize the functions specified in the requirements
  • Performance testing : Testing software for security, accuracy, speed, and reliability
  • Regression testing : Used to identify new bugs that may be introduced while correcting current bugs
  • Acceptance testing : The customer tests the system to verify that the software system conforms to their understanding of the requirements

(2) Two tests

  • Static testing : the program under test does not run on the machine but uses manual detection and computer-aided static analysis to detect the program
  • Dynamic testing : finding bugs by running the program

(3) Dynamic test specific

  • Black box testing : testing the external characteristics of the software without considering the internal structure and characteristics of the software
  • White box testing (structural testing) : Design test cases according to the internal structure and logic of the program, test the execution path and process of the program, and check whether the design requirements are met.

(4) Several methods of white box testing (from weak to strong)

  • Statement coverage : Every statement in the program is executed at least once. very weak logical coverage
  • Decision coverage (branch coverage) : Each decision expression in the program obtains a true value and a false value at least once
  • Condition coverage : each possible value of each logical condition in each decision statement is satisfied at least once
  • Path Coverage : Covers all possible paths in the program under test

(5) Several methods of black box testing

  • equivalence class division
  • Boundary value analysis
  • wrong guess
  • Cause and Effect Diagram Report

4. Software development

(1) Component-based software development
mainly emphasizes the reuse of existing software "components" when building a software system. After retrieving the usable components, it is necessary to conduct qualification inspection and adaptive modification of the components according to the requirements of the new system , and then integrated into the new system

(2) The system development plan is used for communication between system developers and project managers during the project period, including task breakdown table, PERT chart, Gantt chart and budget allocation table

(3) Method for planning and scheduling software projects

  • Gantt diagram : described by a horizontal bar graph, which can clearly indicate the task duration and parallelism between tasks , but cannot clearly obtain the dependencies between tasks

  • PERT diagram : It is a network model that describes the relationship between tasks in a project. It can clearly indicate the duration of tasks and the dependencies between tasks , but it cannot clearly describe the parallelism between tasks.

(4) Critical path of software project development : the path with the longest time and the longest number of passing nodes

(5) Progress management-single-code network diagram : nodes represent milestones, and sides represent activities, and the earliest start time, activity duration, and earliest completion time of each activity can be marked on the side

(6) Steps of agile development method scrum

  • Product Basklog : product to-do list
  • Sprint Backlog : To-do list
  • Spring : Sprint iterations

(7) When planning software development resources, in order to determine the number of people required to build a software system, it is necessary to consider the scale of the software system, the technical complexity of the system, the project plan, and the technical background of the developers

(8) Extreme Programming (XP) : a lightweight (agile), efficient, low-risk, flexible, predictable, and scientific software development method

  • 4 Values : Communication, Value, Feedback, Courage
  • 5 principles : rapid feedback, simplicity assumptions, incremental revisions, advocacy of change, quality work
  • 12 Best Practices : Planning Game, Small Releases, Metaphors, Simple Design, Test First, Refactoring, Team Programming, Collective Code Ownership, Continuous Integration, 40 Hour Work Week, Onsite Clients, Coding Standards

(9) 4 model elements of RUP

  • role - who
  • Activity - how to do it
  • Products - what to do
  • Workflow - when to do it

(10) Objectives of the 4 phases of RUP

  • Inception phase : generation of conception documents, investigation of use case models, initial business use cases, early risk assessment, project planning, etc. End milestones are life cycle goals
  • Elaboration phase : generate supplementary requirements analysis, software architecture description, executable architecture prototype, etc., the end milestone is the life cycle architecture
  • Construction Phase : produces a product ready to be put into the hands of the end user, and the Closing Milestone is Initial Operational Capability
  • Handover phase : handover to user product release version, end milestone is product release

(11) Software development process

  • Requirements analysis : determine the functional and non-functional requirements to be completed by the software
  • Outline design : convert requirements into software module division, and determine the calling relationship between modules
  • Detailed design : refine the modules to obtain detailed data structures and algorithms
  • Coding : Write code according to the detailed design, get runnable software, and conduct unit testing

(12) Crystal method (Crystal) : It is believed that each different project requires a set of different side strategies, conventions and methodologies

5. Software risks

(1)风险预测风险发生的可能性大小以及风险发生所产生的后果是否严重两个方面评估风险

(2)软件风险包括不确定性损失两个特性,救火和危机管理是对不适合但经常采用的软件风险管理策略已知风险和未知风险是对软件风险进行分类的一种方式。员工和预算是在识别项目风险时需要识别的因素

(3)风险分析

  • 风险识别:系统化地确定对项目计划地威胁,建立风险条目检查表
  • 风险预测(估算):描述风险发生的可能性或概率,以及如果风险发生时所产生的后果
  • 风险评估:根据风险及其发生的概率和产生的影响预测是否影响参考水平值,如定义风险参照水准
  • 风险控制:利用技术和方法设法避开或移除风险

(4)风险控制策略

  • 风险避免(最好)
  • 风险监控
  • 风险管理及意外事件计划

6、软件模型

(1)软件能力成熟度模型(CMM)(成熟度由低到高)

  • 初始级(1级):没有健全的软件工程管理制度
  • Repeatable Level (Level 2) : ​​Establish basic project management and practices to track project cost, schedule, and features
  • Definition Level (Level 3) : Build the system using the standard development process
  • Management Level (Level 4) : Seeks to be more proactive in addressing systemic development issues
  • Optimization level (level 5) : Continuously monitor and improve the standardized system development process

(2) Capability Maturity Integration Model (CMMI) (the latest version of the CMM model)

  • Incomplete level (Level 0) : Process not performed
  • Performed (Level 1) : The process focuses on the accomplishment of the specific objectives of the process area by transforming identifiable input work products into identifiable output work products
  • Managed level (Level 2) : ​​The process is institutionalized as a managed process, with the ability to target a single process instance
  • Defined (Level 3) : The process is institutionalized as a defined process, focusing on organizational standardization and deployment of the process
  • Quantitative management level (level 4) : the process is institutionalized as a process of quantitative management
  • Optimal (Level 5) : The process is institutionalized as an optimized process, indicating that the process is well executed and continuously improved

(3) Software process model:

  • Waterfall Model : A model for software projects with well-defined software requirements
  • V-model : A variant of the waterfall model that illustrates how testing activities are related to analysis and design
  • Prototype model : quickly construct a prototype of the software, and develop the final software product on this basis
  • Evolution model : After obtaining a set of basic **requirements (unclear)**, an initial runnable version of the software is constructed through quick analysis, and then gradually evolves into the final software product
  • Spiral model : Combine development activities and risk management to minimize and control risks, suitable for large and expensive system-level software applications
  • Fountain model : a typical object- oriented life cycle model, driven by user needs, driven by objects, with iterative and seamless features
  • Incremental Model : A method that enables rapid construction of a working product

7. Software maintenance

(1) Software maintenance method

  • Correctness maintenance : Correct errors that have occurred in the system development phase but have not been discovered in the system testing phase
  • Adaptive Maintenance : Modifications to adapt application software to changes in information technology and management requirements
  • Improvement maintenance : Modifications made to expand functionality and improve performance
  • Preventive maintenance : In order to improve the reliability and maintainability of application software , and to adapt to future software and hardware changes, proactively add preventive new functions

8. Software evaluation

(1) Software reliability : The probability of a system operating without failure under given conditions within a given time interval is related to the number and location of potential errors in the software, and is related to the way the software is used

(2) The MVC (Model-View-Controller) architecture is conducive to code reuse, improving system development efficiency and system maintainability

(3) ISO/IEC9126 software quality model
quality characteristics and their sub-characteristics

  • Functionality (suitability, accuracy, interoperability, security and confidentiality)
  • Reliability (Maturity, Fault Tolerance, Ease of Recovery)
  • Ease of use (easy to understand, easy to learn, easy to operate, attractive)
  • Efficiency (time characteristics, resource utilization)
  • Maintainability (easy to analyze, easy to change, stable, easy to test)
  • Portability (adaptability, ease of installation, coexistence, ease of replacement)

(4) Software review

  • Review of the system design phase : emphasizing the goals of easy modification, modularity, and functional independence
  • System implementation review : Emphasis on coding style and internal documentation

(5) System maintainability index

  • intelligibility
  • Testability
  • Modifiability

(6) Functional requirements : what must be done by the software and what functions must be realized

(7) Software complexity measurement

  • Scale : the number of instructions or the number of source program lines
  • Difficulty : expressed by the amount determined by the number of operands appearing in the program
  • Structure : Expressed in terms of metrics related to program structure
  • Intelligence : the difficulty of the algorithm

(8) Software design quality review

  • Design quality : the design specifications meet the user's requirements
  • Process Quality : the correct execution of the program as specified in the design specification

(9) For information system evaluation objects, users care about user needs and operation quality, and developers care about system quality and technical level

9. Software documentation

(1) Software documentation

  • development documentation
  • manage documents
  • user documentation

(2) Several characteristics of high-quality documents:

  • targeted
  • precision
  • clarity
  • integrity
  • flexibility
  • Traceability

10. Coupling and cohesion

(1) Module independence includes two metrics:

  • Coupling : The closer the connection between modules, the more connections, the higher the coupling, and the weaker the module independence
  • Cohesion :

(2) If there are many modules, it may also be highly coupled. Changing a small module may affect the entire system and cause catastrophic errors

(3) 7 types of coupling (sorted from low to high coupling):

  • Indirect coupling :
  • Data coupling : exchange input and output information between modules through data parameters
  • Tag coupling : a set of modules is passed through the data structure itself
  • Control coupling : A module clearly controls and selects the function of another module by transmitting control information such as switches, signs, names, etc.
  • External coupling : a group of modules all access the same global simple variable instead of the same global data structure, and the information of the global variable is not passed through the parameter table
  • Common coupling : a set of modules all access the same common data environment
  • Content coupling : one module directly accesses the internal data of another module, one module transfers to another module without a normal entry, some program code overlaps between two modules, or one module has multiple entries

(4) Cohesion (low to high strength)

  • Accidental cohesion : there is no connection between the components of a module
  • Logical cohesion : several logically similar functions are placed in the same module
  • Temporal aggregation : a module formed by combining actions that need to be executed simultaneously
  • Communication cohesion : all processing elements within a module operate on the same data structure, or that each processing uses the same input data to produce the same output data
  • Sequential cohesion : the components of a module are closely related to the same function, and the output of one component serves as the input of another component
  • Process cohesion : the processing components within a module are related, and the processing must be performed in a specific order
  • Information cohesion : all functions of the module are based on the same data structure (symbol table)
  • Functional cohesion : all elements in a module work together to complete a function

11. Software requirements

(1) Software requirements include

  • Functional requirements : what functions the developed software must have
  • Non-functional requirements : Attributes or qualities that a product must have, such as reliability, performance, response time, and scalability
  • Design Constraints : Some constraints on the solution stated

11. Others

(1) The three golden principles of human-computer interaction : put it under the control of the user, reduce the memory burden of the user, and maintain the consistency of the interface

(2) Several time concepts
Critical path : Among all the paths from the beginning to the end, the path that takes the
longest The total time of the path - the time slack time of the task is obtained in reverse : the time to delay execution at most, two methods

  • Late Start Time - Earliest Start Time
  • Total critical path time - the longest path including this task

(3) Refactoring can simplify the design of a component without changing its function or behavior

(4) When branch coverage test method test cases, each branch passes at least once

(5) LOC represents the number of source code lines that make up the software, which is used to estimate the cost and scale of the software

(6) Software configuration management : a group of activities to manage changes in various stages of the entire software life cycle, mainly including change identification , change control and version control

(7) The communication path of a development team with n members is n(n-1)/2

(8) Characteristics of pipeline filter architecture

  • Software components have good characteristics of high cohesion and low coupling
  • Support software reuse
  • Supports parallel execution
  • Allows analysis of properties such as throughput, deadlocks, etc.
  • Simple system maintenance and enhanced system performance
  • Allows viewing the input/output behavior of the entire system as a simple composition of the behavior of multiple filters

(9) COM (Component Object Model) : A new software development technology that can develop a variety of functionally specific components, and then combine them as needed to form a complex application system

(10) Composition of the structure diagram

  • module
  • transfer
  • data
  • control information
  • transfer symbol

Network Basics

  • network overview
  • ISO/OSI Network Architecture
  • networked hardware
  • Network Protocols and Standards
  • Internet and application
  • cyber security

1. Firewall and vulnerability scanning

(1) Packet filtering The basis for filtering data packets by the firewall includes source IP address, source port number, destination IP address and destination port number

(2) The application-level gateway firewall is the isolation point between the internal network and the external network, which can monitor and filter the communication data flow of the application layer

(3) The vulnerability scanning system cannot be used to discover network intruders, and the system used to detect network intruders is called an intrusion detection system

(4) Vulnerability scanning technology : a security technology to detect remote or local system security vulnerabilities. By establishing a connection with the TCP/IP port of the target host and requesting certain services (such as TELNET, FTP, etc.), recording the response of the target host, collecting information about the target host, and discovering some inherent security weaknesses of the target host

(5) Vulnerability scanning technology cooperates with firewall and intrusion detection system to effectively improve network security

(6) Divide the network into three areas through the firewall (security level from high to low)

  • Intranet
  • DMZ
  • Extranet

(7) The performance and characteristics of the firewall are determined by two points

  • job level
  • Mechanisms employed by firewalls

access policy rules

  • The internal network can access the external network
  • Intranet can access DMZ
  • The external network cannot access the internal network
  • External network can access DMZ
  • DMZ cannot access intranet
  • DMZ cannot access the external network

2. Equipment on each floor

(1) Physical layer equipment

  • Repeater : Regenerate and amplify the received signal to extend the transmission distance
  • Hub : Receives information from one port and broadcasts it to other ports

(2) Network layer equipment

  • Router : identify the IP address and forward the data packet

(3) Data link layer equipment

  • Bridge : It can identify MAC addresses and forward frames. Can identify the data link layer protocol data unit and forward data according to the data link layer address
  • Switch (multi-port bridge) : Data forwarding can be performed between any pair of ports

3. Routing type

  • Direct Router ID : Directly connected network
  • Remote Network IDs : Networks not directly connected
  • Host routing : route to a specific host
  • Default Route : Unable to find a route to use when determining the route
  • Persistent routing :
  • Static routing : Routing information manually configured by users or network administrators
  • Random routing : Use forward agents to collect limited global information in the network, that is, the travel time from the current node to its source node, and use this to update the node's travel time table
  • Flood routing : deliver the received packet to all possible connection paths until the packet arrives
  • Dynamic routing (adaptive routing) : The router can automatically build its own routing table, and can make timely adjustments according to changes in actual conditions

4. Protocol type

  • POP : Post Office Protocol, used to receive mail, POP3 port number : 110
  • PGP : Excellent Non-Disclosure Protocol, used for message encryption, authentication and applications, can be used to encrypt email content
  • SMTP : Simple Mail Transfer Protocol, encoded in ASCII. Port number : 25
  • IMAP : Mail Access Protocol
  • MPLS : Multi-Protocol Label Switching, a packet-switching technology with a labeling mechanism
  • MIME : Internet standard, multimedia data can be attached when sending mail. nothing to do with security
  • SNMP : Simple Network Management Protocol, used for network management
  • SSL : Transport Layer Security Protocol. Rely on certificates to verify the identity of the server and to encrypt communication between the browser and the server (HTTPS)
  • SSH : A protocol designed to provide security for remote login sessions and other network services
  • HTTP : Hypertext Transfer Protocol, used by most web servers but not secure, port number : 80
  • HTTPS : Hypertext Transfer Protocol Secure, port number : 443. Protocol commands: GET (read a web page), HEAD (read the header information of the web page), POST (add the message to the specified web page)
  • ARP : Network layer protocol. Realize the conversion between IP address and MAC address
  • TCP : The transport layer protocol in the Internet, using the 3-way handshake protocol to establish a connection
  • TLS : Transport Layer Security Protocol

5. Computer virus

(1) The characteristics of the virus : concealment, infectivity, latency, triggering, and destructiveness

(2) Type of virus :

  • Polymorphic Virus : A Computer Virus That Changes Itself With Each Infection
  • Macro virus : destroys office files
  • Worms : damage the system, such as Stuxnet, Panda Burning Incense, Happy Hour
  • Boot sector virus : destroys boot disk and file directories
  • Trojan horse virus : control the system, there are unknown programs trying to establish a network connection, such as X undercover

6. Cyber ​​attacks

The act of using the network as a means to steal resources or privileges of other computers on the network and destroy its security or availability can be divided into two types of attacks

  • Active attacks : such as stealing, tampering, impersonation and sabotage

  • Passive attack : system interference, network eavesdropping, intercepting and analyzing data packets, and stealing important sensitive information from them

    The specific types are :

  • Password intrusion : Log in to the target host with a legitimate user account and password, and then carry out the attack

  • Place a Trojan horse program : notify the hacker of the user's IP address and the pre-set port

  • Denial of Service Attack (DOS) : Make a computer or network unable to provide normal services

  • Port scanning : use Socket programming to establish TCP connections with certain ports of the target host, verify transmission protocols, etc.

  • Network monitoring : the host can receive all the information transmitted on the same physical channel in this network segment

  • Spoofing attack : The attacker creates an easily misleading context to trick the victim into entering and making insecure decisions

  • email attack

  • ARP attack : Forge IP address and MAC address, generate a large amount of ARP traffic in the network and block the network

  • Replay attack (replay attack, replay attack, freshness attack) : The attacker sends a packet that the destination host has accepted to achieve the purpose of deceiving the system. It is mainly used in the identity authentication process and destroys the correctness of authentication. Timestamps prevent

7. Key

(1) The digital certificate is issued by the CA certificate authority . After obtaining the digital certificate of the website, the user confirms its validity by verifying the signature of the CA , thereby verifying the authenticity of the website; when the user sends data, the public key of the website is used to encrypt and verify the digital signature of the website , and the website uses its own private key to sign the message sent and decrypt the received message

(2) In the public key system, the private key is used for decryption and signature , and the public key is used for encryption and authentication

(3) Public key encryption (asymmetric encryption) : a pair of keys (private key + public key). Such as RSA, ElGamal, knapsack algorithm, Rabin, ECC, DSA digital signature

(4) Shared key encryption (symmetric encryption) : DES, triple DES, RC-5, IDEA, AES

(5) Digital signature technology : The sender of the data source uses its own private key to encrypt the data verification and other variables related to the data content to complete the legal signature of the data , and the data receiver uses the public key of the other party to interpret the received data. digital signature, and use the interpretation result to verify the integrity of the data to confirm the validity of the signature

8. Command line

cmd : A working prompt that prompts for command input

  • ipconfig : display information
  • ipconfig /all : show detailed information
  • ipconfig/renew : renew all adapters
  • ipconfig/flushdns : Flush the DNS resolver cache
  • ipconfig/release : release all matching connections
  • Netstat : console command, used to monitor TCP/IP network, can display routing table, actual network connection and status information of each network interface device
  • Ping : Communication protocol, you can check whether the network is connected
  • msconfig : system configuration utility

9. Network

(1) Network division

  • Class A network : 1~126. The default subnet mask is 255.0.0.0
    11111111 00000000 00000000 00000000 (the first 8 bits are the network address, and the last 24 bits 2 are the host address)
  • Class B network : 128~191. Default subnet mask 255.255.0.0
  • Class C network : 192~223. Default subnet mask 255.255.255.0

10. Others

(1) IE browser security level from high to low:
Restricted Site>Internet>Local Internet>Trusted Site

(2) Close the ICMP port in the server , and other computers cannot test the server connectivity through the ping command

(3) Ping the local loop address 127.0.0.1 , if the ping fails, it means that the local TCP/IP protocol cannot work normally; if the ping is successful, then ping the local IP address, if the ping fails, it means that the network adapter is faulty. Ping the IP of a computer in the same network segment, if the ping fails, it means that the network line is faulty

(4) Connect to the server through the default Telnet port, use the TCP protocol when configuring the firewall, and use port 23 by default

(5) Three networks in one : telecommunication network, radio and television network, Internet

(6) MD5 is a digest algorithm, the output consists of four 32-bit packets, which will generate a 128-bit hash value after concatenation

(7) Establishing a connection for reliable communication In a TCP/IP network, it should be done at the transport layer

(8) The address space of IPv6 is 2^96 times that of IPv4

(9) Both TCP and UDP provide port addressing functions. The main difference between TCP and UDP is that UDP does not necessarily provide reliable data transmission

(10) CGI (Common Gateway Interface) : Interface standard between external applications and Web servers

(11) Loopback address (127.xxx) : The local loopback address, that is, the IP address inside the host IP stack, is mainly used for network testing and inter-process communication of the local machine

(12) Frame Relay (FR) : A high-speed packet switching technology developed to overcome the defects of the X.25 switching network and improve transmission performance

(13) Windows permissions from high to low
Administrators>Power users>Users>Everyone

(14) Windows IIS service authentication method

  • Passport authentication
  • Integrated Windows Authentication
  • Digest Authentication
  • basic authentication

(15) The Ethernet switch performs frame exchange according to the MAC address of the data link layer

(16) Layer 3 switch : one route, multiple exchanges

(17) Availability of the network : the percentage of time that a network system, network element, or network application is available to users

(18) Structured integrated wiring system : a communication physical platform based on modern computer technology, which integrates the transmission functions of voice, data, image and video, and eliminates the difference in the transmission medium of the original communication lines. Divided into 6 subsystems

  • workspace subsystem
  • horizontal subsystem
  • trunk subsystem
  • equipment room subsystem
  • management subsystem
  • Building Group Subsystem

(19)在ASP的内置对象中,response对象可以修改cookie中的值

(20)报文摘要:用来防止发送的报文被篡改

(21)集线器连接的主机构成一个冲突域交换机的每个端口属于一个冲突域路由器连接的两部分网络形成两个广播域

(22)Windows的DNS服务器通过启用循环,添加每个Web服务器的主机记录,可以确保域名解析并实现负载均衡

(23)隧道技术将两个IPv6节点通过现有的IPv4网络进行通信,翻译技术使纯IPv6节点可以与纯IPv4节点进行通信


多媒体

  • 多媒体的基本概念
  • 声音
  • 图形和图像
  • 动画和视频
  • 多媒体网络
  • 多媒体计算机系统

1、音频信号

(1)分量信号:单一频率的信号

(2) 复合信号:由许多频率不同的信号组成

(3)声音信号的频率:声波每秒钟变化的次数,用Hz表示

(4)带宽:描述组成声音的信号的频率范围

(5) 频率范围

  • 频率小于20Hz:亚音信号(次音信号)
  • 20Hz~20kHz:音频信号
  • Above 20kHz : super audio signal (ultrasound)

(6) A few examples

  • The frequency range of audio signal processed by PC is 20Hz~20kHz
  • Human speaking voice is 300~3400Hz
  • The sound of musical instruments is 20~20KHz
  • 20~20kHz for other sounds such as wind, rain, birds, etc.

2. Multimedia

(1) Multimedia computer image file format

  • Still image file format : JPG
  • Motion Picture File Format

(2) Media classification

  • Expressive media : media that enable information input and output, such as keyboards, mice, scanners, microphones, cameras; monitors, printers, speakers
  • Storage media : store the physical media that represent media, such as hard disks, optical discs
  • Transmission Media : The physical medium that transmits the representation medium, such as optical cable, electric cable, electromagnetic wave
  • Sensory media : act directly on human sensory organs, such as images and sounds
  • Representation media : the intermediary media for transmitting Karma media, used for data exchange encoding, such as image encoding, text encoding, and sound encoding

(3) Dual meanings of media in multimedia

  • An entity that stores information : manuals, disks, CDs, tapes, etc.
  • The carrier of expressing and transmitting information : text, sound, image, animation and video, etc.

(4) Indicates three types of media

  • Visual media : bitmap images, vector graphics, diagrams, symbols, video and animation
  • Auditory media : audio, speech and music
  • Haptic Media : Point, Position Tracking, Force Feedback, and Motion Feedback

(5) Music synthesis technology

  • Frequency Modulation (FM) Music Synthesis
  • WaveTable (WaveTable) music synthesis: better sound quality

3. Image

(1) Image depth : the number of bits used to store each pixel, also used to measure image resolution

(2) Pixel depth : Determine the number of colors (gray levels) that each pixel of a color image (gray-scale image) may have, and determine the maximum number of colors (maximum gray-scale levels) that can appear in a color image (gray-scale image) ). If the image depth is b bits , there are 2^b types

(3) Calculation formula of image data volume

  • Image data volume = total pixels of the image x depth of the image
  • Number of discs = total pixels of the image x image depth / disc memory

(4) Vector graphics use a series of computer instructions to describe and record the content of a picture, and the graphics element is its basic unit; bitmap is a picture described by pixels. Compared with the two, the bitmap occupies a larger space, the processing focuses on acquisition and copying, and the display speed is fast

(5) Image compression coding and compression standards

  • JPEG
  • MPEG
  • H.261

(6) dpi : The unit that describes the image resolution, indicating how many pixels per inch, that is, the pixel density that makes up an image

4. Others

(1) The image resolution of CIF video format is 352x288

(2) MPEG series standards formulated by ISO

  • MPEG-7 : Multimedia Content Description Interface Standard
  • MPEG-1, MPEG-2 and MPEG-4 : audio and video coding technology (1–VCD, 2–DVD)
  • MPEG-21 : Multimedia Application Framework Standard

(3) Nyquist sampling theorem : If the sampling rate is greater than twice the highest frequency of the analog signal, the original analog signal can be recovered from the obtained samples

(4) In the process of obtaining analog video information by the computer, A/D conversion must be performed first

(5) Pulse Code Modulation (PCM) : MIC (microphone) outputs an audio analog signal. After the sound card obtains the signal, it converts the sound wave amplitude signal into a series of digital signals through an analog-to -digital converter (ADC) and stores them in the computer. . During playback, these signals are sent to a digital-to-analog converter (DAC) , restored to an analog waveform at the same sampling speed, amplified and sent to the speaker for sound

(6) Resolution

  • Display resolution : the number of pixels that can be displayed on the display, that is, the number of pixels that the display can display in the horizontal and vertical directions
  • Horizontal resolution : the number of pixels displayed in the horizontal direction (landscape) of the display
  • Vertical resolution : the number of pixels displayed in the vertical direction (portrait) of the display

Database Technology

  • basic concept
  • data model
  • relational algebra
  • relational database SQL
  • Relational Database Normalization
  • Database control functions

1. Database

(1) Database recovery : restore the database to the state before the failure in the shortest possible time

(2) Database disaster recovery belongs to system security and application security

(3) The database architecture generally adopts a three-level schema structure

  • External mode (user mode/sub mode) : The interface between the user and the database system is the description of the part of the data used by the user. such as view

  • Internal schema (storage schema) : A description of the database in terms of physical storage, defining how all internal record types, indexes, and files are organized, and details about data control. such as storage files

  • Schema (conceptual schema) : A description of the overall logical structure of all data in a database. such as basic table

    Two-level images are provided between the three-level models

  • Mode/internal mode image : exists between the conceptual level and the internal level, and realizes the mutual conversion between the conceptual mode and the internal mode

  • External mode/mode image : exists between the external level and the conceptual level, and realizes the mutual conversion between the external mode and the conceptual mode

(4) Security measures for the database system

  • Authority mechanism
  • view mechanism
  • data encryption

(5) The configuration database includes a development library, a controlled library, and a product library

(6) Normalization of relational database

  • Requirements analysis phase : In the process of determining new system functions, determine system boundaries, collect basic data supporting system goals and their processing methods
  • Logical design stage : further standardization of relational schema

(7) The relational paradigm of the database :

  • First Normal Form (1NF) : Attributes cannot be split or have no repeated columns
  • Second Normal Form (2NF) : Completely dependent on the function, that is, a non-key attribute data item depends on all keywords
  • Third Normal Form (3NF) : Eliminate transitive dependencies, that is, do not depend on other non-primary attributes
  • BC Normal Form (BCNF) : All non-key attributes are completely dependent functions for each code; all main attributes are also completely dependent functions for every code that does not contain it; no attribute is completely dependent on any combination of non-keys
  • Fourth Normal Form (4NF) : For each X->Y, X can find a candidate code

2. Attributes and connections

(1) Natural connection : the components to be compared between two relationship types must be the same attribute group, and the duplicate attribute columns will be removed in the result type

(2) Main attributes : attributes contained in any candidate code

(3) Simple attributes : atomic, indivisible

(4) Composite attributes : can be subdivided into smaller parts (divided into other attributes)

(5) Multi-valued attribute : an attribute corresponds to a set of values

(6) Weak entities : Some entities have strong dependencies on other entities, that is, the existence of one entity must be premised on the existence of another entity

(7) The many-to-many relationship needs to be converted into a relationship model separately, that is, a new class needs to be created

3. SQL language

(1) For database objects

  • Create : CREATE
  • Modify : ALTER
  • Delete : DROP
    (2) on data in basic tables and views
  • Insert : INSERT
  • Delete : DELETE
  • Edit : UPDATE

(3) The difference between query conditions WHERE and HAVINING : WHERE is a judgment condition for a single record, and HAVINING is a judgment condition for grouping

(4) Authorization statement format

GRANT INSERT ON TABLE TO XXX WITH GRANT OPTION

(5) Create view format
CREATE VIEW view name (list name) AS SELECT query clause
[WITH CHECK OPTION]

4. Others

(1) Data structure model

  • hierarchical model
  • mesh model
  • relational model
  • object-oriented data model

(2) Process control block PCB organization mode

  • Linear table method : Regardless of the process status, all PCBs are continuously stored in the system area of ​​the memory. Applicable to situations where there are not many processes
  • Index table method : the improvement of the linear table method, the system establishes the ready index table, blocking index table, etc. according to the state of the process
  • Linked list method : the system forms the PCB of the process into a queue according to the state of the process, thus forming a ready queue, a blocking queue, and a running queue

(3) JDBC (java database connection) : Java API for executing SQL statements, consisting of a set of classes and interfaces written in Java language. It can be used to establish a connection with the database, send statements to operate the database, and process the results

(4) Conflicts between ER diagrams

  • structural conflict
  • attribute conflict
  • naming conflict

(5) ACID characteristics of things

  • Atomicity : Transactions are atomic, either do it or don't do it
  • Consistency : The result of transaction execution must ensure that the database changes from one consistent state to another
  • Isolation : Transactions are isolated from each other
  • Persistence : The transaction is successfully committed, even if the database crashes, its update operation is permanently valid

Distributed : Data is stored on multiple different nodes
Logical dependency : Data in the database system is logically interrelated. Site
transparency : When using data in a distributed database, there is no need to specify where the data is located.
Site autonomy Resilience : Each individual node can execute local application requests

(6) View : A table derived from one or more tables or views, whose structure and data are based on the query of the corresponding table. A view is a virtual table that can be derived from one or more basic tables or views when querying


data structure

  • linear structure
  • Arrays, matrices, and generalized tables
  • Tree
  • picture
  • look up
  • to sort

1. tree

(1) Traversal operation of binary tree

  • Preorder traversal : (1) root node (2) left subtree (3) right subtree
  • Inorder traversal : (1) left subtree (2) root node (3) right subtree
  • Post-order traversal : (1) left subtree (2) right subtree (3) root node

(2) In-order traversal of the binary sorting tree, the ordered sequence of node keywords must be obtained

(3) Insert keywords to construct a binary sorting tree. Values ​​smaller than the root node are inserted into the left subtree, and values ​​greater than the root node are inserted into the right subtree.

(4) Balance processing is required when constructing a binary sorting tree so that the absolute value of the height difference between the left and right subtrees of each node does not exceed 1

(5) Hash tables and binary sorting trees can be dynamically created during the search process and belong to dynamic lookup tables

(6) The absolute value of the height difference between the left and right subtrees of any node in a balanced binary tree does not exceed 1, such as a complete binary tree

(7) The clue binary tree is related to the traversal operation of the binary tree. It is a storage structure. The structure of the binary sorting tree is related to the given initial key code sequence. The optimal binary tree (Huffman tree) is a type of weighted path length The shortest binary tree. None of them require a balanced binary tree

(8) Each node in the binary linked list has 2 pointers, and there are 2k pointers in total.

(9) Except for the root node in the binary tree, all other nodes have an edge entering the node, that is, a pointer points to the node, and the total number of edges in the binary tree is k-1, that is, there are k-1 non-null pointers. The number of null pointers is k+1

(10) Binary tree with an arbitrary degree of 2 : n0=n2+1

(11) Binary tree with an arbitrary degree of 3 : n0=2n3+n2+1

(12) Huffman tree construction process : Arrange the given sequence from small to large, select the two smallest numbers in the column to draw a tree, repeat the operation until the entire Huffman tree is drawn

(13) Huffman coding belongs to entropy coding (consistent coding) and is used for lossless compression of data

2. Figure

(1) The traversal operation of the graph is essentially the process of finding adjacent points through edges or arcs

(2) Two types of activity networks
AOV (networks representing activities with vertices) : activities are represented by vertices in directed graphs, and limited relationships between activities are represented by directed edges
AOE (networks representing activities with edges) : with weights In the directed graph, the time is represented by vertices, the activities are represented by directed edges, and the weight on the edges represents the duration of the activity

(3) Topological sorting : the process of arranging all vertices in the AOV network into a linear sequence, satisfying that there is a path from vertex vi to vj in the AOV network , then in this linear sequence, vertex vi must be before vertex vj (in-degree is 0, no precursor)

(4) There are exactly n-1 edges in the spanning tree of a connected graph with n vertices

(5) A simple undirected graph with N vertices and E edges uses an adjacency matrix storage structure, and the number of non-zero elements in the matrix is ​​2E

(6) The basic storage structure of the graph

  • adjacency matrix
  • adjacency linked list

3. Find

(1) Sequential search is applicable to both the sequential storage structure and the linked list structure

(2) Binary search needs to quickly locate the intermediate elements, which cannot be realized in the linked list structure

4. Linear list and linked list

(1)

4. Others

(1) The formula for calculating the cycle complexity of directed graph G using the McCabe metric method is V(G)=m-n+2 . V(G): the number of loops in the directed graph G; m: the number of directed arcs in G; n: the number of nodes in G

(2) To access an undirected graph with n nodes and e edges , the time complexity is O(n+e) by using the adjacency list ; by using the adjacency matrix access, the time complexity is O(n^2)


Common Algorithm Design Methods

  • Basic concepts of algorithms and algorithm design
  • Basics of Algorithm Analysis
  • divide and conquer
  • dynamic programming
  • greedy method
  • Backtracking
  • branch and bound
  • Probabilistic algorithm
  • approximate algorithm
  • NP-complete theory

1. Algorithm

The symbol O represents the upper bound of the running time of the algorithm

(1) 5 basic features

  • Finiteness : Any set of legal input values ​​must end after executing finite steps
  • Determinism : The operation corresponding to each case is specified in the algorithm, so that the executor or reader of the algorithm can clearly understand its meaning and how to execute it, and under any conditions, the algorithm has only one execution path
  • Feasibility : All operations in the algorithm must be basic enough that they can be realized by a limited number of basic operations already implemented
  • with input
  • output

(2) Specific algorithm

  • Quick sort : The essence is a divide and conquer algorithm. Select a reference element , divide the sequence to be sorted into two parts by one-pass sorting, one part is smaller than the reference, and the other is greater than or equal to the reference. At this time, the reference element is in its correct position after sorting, and then sort the two parts recursively. Suitable for unordered arrays, the worst time complexity is O(n^2), the best time complexity is O(nlog2n)
  • Backtracking method : In the solution space tree containing all solutions of the problem, search the solution space tree from the root node according to the depth-first strategy. All or any solution to a problem can be searched systematically. N-queens problem
  • Divide and conquer : Divide a large problem that is difficult to solve directly into some smaller-scale identical problems, and divide and conquer. The same subproblem will be solved multiple times, taking exponential time
  • Dynamic programming : Decompose the problem to be solved into several sub-problems, first solve the sub-problems, and then obtain the solution of the original problem from the solutions of these sub-problems. The sub-problems are not independent, and the main problem is to solve some optimal properties
  • Insertion sort : Divide the array to be sorted into two parts, the sorted part and the unsorted part. Initially, the first element is in the sorted part and the remaining elements are in the unsorted part. Then remove the first element from the unsorted part in turn, compare it with the elements of the sorted part from back to front and insert it into the correct position of the sorted part. Works with basic sorted arrays
  • Merge sort : Divide the array to be sorted into subproblems, solve the subproblems, and then merge the solutions
  • Greedy Algorithm : When solving a problem, always make the best choice at present, only a local optimal solution in a certain sense
  • Dijkstra's Algorithm : It is used to solve the shortest path of a single source point, which is essentially an algorithm based on a greedy strategy

object-oriented technology

  • Object Oriented Basic Concepts
  • object-oriented programming
  • Object-Oriented Development Technology
  • Object-Oriented Analysis and Design Methodology
  • Design Patterns

1. Object-oriented software development process

  • Object-oriented analysis : In order to obtain an understanding of the application problem, the main task is to extract and organize user requirements and establish an accurate model of the problem domain
  • Object-Oriented Design : A way of specifying a software solution using cooperating objects, their properties, and methods, emphasizing the definition of software objects and how those software objects cooperate to meet requirements, continuing object-oriented analysis
  • Object-oriented implementation : The main emphasis is on implementing the system using an object-oriented programming language
  • Object-oriented testing : verify the correctness of the system design according to the specification

2. Object-oriented analysis

(1) The purpose of object-oriented analysis : to obtain an understanding of the application problem, and to determine the system's function and performance requirements. The first step is to identify the problem domain

(2) Five activities of object-oriented analysis

  • Determining objects : Determining objects according to naturally occurring entities
  • Organize objects : analyze the relationship between objects and abstract related objects into classes
  • Describe the interaction between objects : describe the relationship of each object in the application system
  • Define the operation of the object
  • Define the internal information of the object

3. Object-oriented design

(1) High-level modules in object-oriented design should not depend on low-level modules

(2) Object-oriented design patterns
use design patterns
to reuse successful designs
1) Stateful patterns : used to create objects

  • Factory method pattern :
  • Abstract factory pattern : Provide an interface for creating a series of related or interdependent objects without specifying their specific classes
  • Singleton mode : ensure that only one instance of a class can be generated
  • Creator Mode :
  • Prototype mode :

2) Structural pattern : dealing with combinations of classes or objects

  • Adapter mode : Convert the existing interface to the interface form desired by the system
  • Decorator pattern : dynamically add some extra blame to an object without changing the design and implementation of the class
  • Proxy mode : Control access to this object by providing the same interface as the object
  • Facade pattern : describes how to identify an entire subsystem with a single object
  • Bridge Pattern : Separating an object's abstraction from its implementation
  • Composite pattern : describes how to construct a class hierarchy
  • Flyweight mode : share a large number of fine-grained objects

3) Behavioral patterns : describe how classes and objects interact and how to assign responsibilities

  • Chain of Responsibility Pattern : Link receiving objects and pass the request in the chain until an object handles the request
  • Strategy mode : defines a series of algorithms and encapsulates each algorithm so that they can replace each other
  • 模板方法模式
  • 迭代子模式
  • 责任链模式:将多个对象的请求连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止,避免请求的发送者和接收者之间的耦合关系
  • 备忘录模式
  • 状态模式
  • 访问者模式:一个作用于某对象结构中的各元素的操作。对于某个对象或一组对象,不同的访问者,产生的结果不同,执行的操作也不同
  • 中介者模式
  • 迭代器模式:提供一种方法来顺序访问一个聚合对象中的各个元素,而不需要暴露该对象内部表示
  • 命令模式:将一个请求封装为一个对象,可用不同的请求对客户进行参数化
  • 解释器模式:定义一个解释器,用来根据文法表示来解释语言中的句子
  • 观察者模式:定义对象间的一种一对多的依赖关系,当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新

4、面向对象设计原则

  • 单一职责原则:设计目的的单一的类
  • 开放-封闭原则(OOD):对扩展开放,对修改封闭。模块容易扩展和修改,但不能对其他模块产生影响
  • 里氏替换原则(LSP)子类可以替换父类并出现在父类能够出现的任何地方
  • Interface Segregation Principle : It is better to use multiple dedicated interfaces than to use a single general interface
  • Dependency Inversion Principle (DIP) : Depend on abstraction, not implementation (program to interface, not implementation)

5. Object-oriented development method

(1) Object-oriented development method

  • Booch method
  • Coad method
  • OMT method

(2) Data flow-oriented development method : structured development method

(3) Data structure-oriented development method : Jackson system development method

6、UML

(1) UML class

  • Entity class : responsible for data and business logic
  • Boundary class (interface class) : responsible for interacting with users
  • Control class : responsible for the interaction between entity classes and interface classes

(2) UML view

  • Use-case view : describes system functionality from the perspective of external actors
  • Logical View : Shows how to implement system functions within the system from the perspective of system static structure and dynamic behavior
  • Implementation View : The source code and the organization of the actual executed code

(3) UML diagram

  • Class Diagram : A set of objects, interfaces, collaborations, and relationships between them
  • Object diagram : a set of objects and the relationships between them
  • Use case diagram : a set of use cases, actors, and the relationships between them
  • Sequence Diagram : A graphical representation of a scene that describes the interactions between objects organized in time order
  • Collaboration diagram : Emphasizes the structural organization of objects that send and receive messages
  • Statechart : A state machine consisting of states, transitions, events, and activities
  • Activity Diagrams : special state diagrams that show the flow from one activity to another within a system
  • Component diagram : the organization and dependencies between a set of components
  • Deployment diagram : configuration of running processing nodes and artifacts within them

(4) The relationship between classes in UML class diagrams

  • Dependency : such as using class libraries
  • associate
  • Aggregation : For example, when the overall object disappears, some objects can still exist and continue to be used (associated with special types)
  • Combination : For example, when the whole object disappears, some objects also disappear (associated with special types)
  • inherit

(5) UML class diagrams are used to model the static design view of the project. 3 Ways to Use Class Diagrams

  • systematic vocabulary
  • easy collaboration
  • logical database schema

(6) The multiplicity of associations in UML refers to how many instances of one class can be associated with another class

(7) The business use case and the participants describe the business process supported by the organization or enterprise , and the business object model describes the business structure and how the structural elements complete the business use case

(8) The message in the sequence diagram defines the specific interaction between the lifelines in the interaction, which is divided into

  • Synchronous message : make a blocking call, the caller suspends execution, waits for the return of control, and needs to wait for the return message. solid arrow indicates
  • Asynchronous message : After the caller sends a message, it continues to execute without causing the caller to block or wait for the return message. The open arrow indicates
  • return message

(9) Interface (< < interface > > ): It can be used to declare the services required by the object class

7. Object-oriented features

(1) Encapsulation : combine attributes and services into an independent system unit, and hide the internal details of the object

(2) Inheritance : Allows subclasses to automatically have all the properties and services of the parent class

Multiple Inheritance : One class can inherit from another class, and another class can inherit from other classes

(3) Polymorphism : It is the result of object-oriented implementation by overloading or overloading mechanism. In the object-oriented approach, it refers to the fact that the client class does not need to know the implementation of the specific subclass of the method being called. Types include

  • Parametric polymorphism : the most widely used and purest polymorphism
  • Containment polymorphism : the same operations can be applied to a type and its subtypes
  • Mandatory polymorphism : The compiler uses semantic operations to forcibly transform the type of the operation object to meet the requirements of the function or operator
  • Overloaded polymorphism : the same name has different types in different contexts

(4) Message : It is the service request sent by the object,

8. Others

(1) The class library provides the application with a set of classes that can be used

(2) In addition to providing classes, the framework basically implements an executable framework

(3) The function library provides the called function

(4) Operation of noun phrase recognition objects and verb phrase recognition objects

(5) A class is used to describe the member properties and methods shared by a group of objects. It can generate one or more objects. When creating an instance of a class, storage space needs to be allocated

(6) Static member : The modified member belongs to the class, not to an object

(7) A static method of a class can only access the static data members of the class

(8) Binding : the process of combining the procedure call with the code that needs to be executed in response to the call

  • Static binding : performed at program compile time
  • Dynamic binding : performed when the program is running

(9) In object-oriented technology, objects have the following characteristics

  • clear boundaries
  • well-defined behavior
  • scalability

Basic knowledge of standardization and software IP

  • Basic knowledge of standardization
  • Intellectual Property Basics

1. Two basic legal documents for the protection of computer software copyright in China

  • "Copyright Law of the People's Republic of China"
  • "Computer Software Protection Regulations"

2. Licensed Use of Software

  • Exclusive license use : cannot authorize third parties, cannot use by oneself
  • Exclusive license use : can not authorize third parties, you can use it yourself
  • Ordinary licensed use : you can authorize third parties and use it yourself

3. Some rights

  • The software copyright is automatically generated from the date when the software development is completed, and the intellectual property rights of service works belong to the company. Objects include source programs, object programs, and software documentation
  • Translation right : the right to convert the original software from one programming language to another
  • Commercial secret right : undisclosed commercial secrets, practical and confidential
  • Trademark rights : The right to exclusive use of registered trademarks is protected by law only after they are legally registered. Does not include the rights of the trademark designer, but mainly focuses on the rights of the trademark owner

4. Patent application
(1) Principles of patent application in China

  • Written principle : use written form when handling
  • First-to-file principle : when multiple people apply for the same patent, it is granted to the first applicant
  • The principle of unity : one application, one invention

(2) Only one patent can be granted for the same invention. If the same patent is applied for at the same time, there are two solutions

  • Two applicants as co-applicants of one application
  • One of the parties waives its rights and receives appropriate compensation from the other party

5. Chinese standards can be divided into national standards, industry standards, local standards and enterprise standards. The industry codes are QJ (aerospace), SJ (electronics), JB (mechanical), JR (financial system)

6. Use

  • Fair use : You can use its work without the permission of the copyright owner and without paying remuneration
  • Permission to use : The copyright owner allows others to use his or her work and obtains economic benefits from it
  • Compulsory license : Authorized by the administrative department to use the works of the copyright owner without their consent, but they should be paid
  • Statutory license : use without infringing the legal rights of the copyright owner unless the copyright owner declares that it is not allowed to be used

Guess you like

Origin blog.csdn.net/qq_44858224/article/details/108968110