《2022年软件工程导论考试知识点汇集》由会员分享,可在线阅读,更多相关《2022年软件工程导论考试知识点汇集(15页珍藏版)》请在金锄头文库上搜索。
1、软件工程导论 (第 5 版) 考试知识点汇集( Introduction to software engineering (Fifth Edition))Methods: the decomposition of data from top to bottom, when decomposed into elements that do not need to be further defined, and each project related person is well aware of its implications, is then broken down. 2.6 cost /
2、 benefit analysis cost estimation: the cost of software development is mainly human consumption Cost / benefit analysis methods: first, estimate costs and benefits; then compare costs and benefits and judge whether to develop from an economic perspective. 1, the time value of the currency; 2, the in
3、vestment recovery period; 3, net income; 4, the investment recovery rate. The third chapter: requirement analysis 3.1, the task of needs analysis Mission: accurately define the goals of the future system and determine what the system has to do to meet the needs of its users. Requirements composition
4、: business requirements, user requirements, system requirements; 3.2, communicate with users to obtain requirements: A, interview, B, data flow oriented top-down refinement 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 15 页C, a simple application specification technique; D, rapidly prototypin
5、g software 3.3, analysis modeling and specification Consist of: (1) Introduction: writing purpose, background description, terminology definition and reference material, etc. (2) outlining the main functions, constraints, or special needs. (3) data flow diagram and data dictionary. (4) user interfac
6、e, hardware interface and software interface. (5) performance requirements, attributes, etc. (6) other requirements, such as database, operation and troubleshooting, etc. 1) analysis modeling Model An abstract of something in order to understand something, an unambiguous written description of somet
7、hing Consisting of a set of graphical symbols and rules that organize these symbols. 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 15 页Modeling method Data model entity relation diagram; function model data flow diagram; behavior model - state transition diagram 2) software requirements speci
8、fication Usually use natural language + model, complete, accurate and specific description of system data requirements, functional requirements, performance requirements, reliability and availability requirements, error handling requirements, interface requirements, constraints, and reverse demand w
9、hich may be in the future. 3.4, entity relation diagram (E-R diagram) The fifth chapter: overall design 5.1 design process System design phase: determine the specific implementation of the system; structural design phase: determine the structure of the software The main task of the overall design is
10、 to complete the design of the software structure, and to determine the relationship between the module and its modules. 5.2 design principles 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 15 页The 1. module: the program is divided into independent naming and independent access module, each mo
11、dule to complete a sub function of the modules are integrated together to form a whole, complete function and meet the requirements of users. 2. abstraction: the essential nature of abstract transactions without considering their details for the time being. 3. step by step refinement; 4. information
12、 hiding and localization; 5. module independence; 5.3 heuristic rules: 1. improve the software structure to improve module independence The 2. module is moderate in scale 3. proper control of depth, width, fan out and fan in 4, the scope of the module should be within the control domain 5, reduce th
13、e complexity of the interface 6, single out, single entry, avoid content coupling 7, module function predictable The sixth chapter: detailed design 6.1 structure programming 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 15 页Classical definition The 3 basic control structures are connected onl
14、y by sequence, selection, and loop, and each block has single entry and single exit characteristics Comprehensive definition As few as possible GOTO programming method. It is better to use GOTO statements only when errors are detected, and should always use forward GOTO statements The main tasks of
15、detailed design? Write a detailed design specification for the software: (1) determine the algorithm for each module, select an appropriate tool to express the algorithm, and write the detailed process description of the module (2) determine the data structure used by each module (3) determine the d
16、etails of the module structure, including interfaces to the system and the user interface, interfaces to other modules within the system, and all the details about the modules input data, output data, and local data (4) design a set of test cases for each module in order to test the module code (i.e
17、., program) at the encoding stage 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 15 页Program control structure: any program logic can be represented by three basic structures: sequential, choice and loop, and two extended structures, selection and loop. 6.2 man-machine interface design Rationa
18、le: 1. system response time; 2. user assistance facility 3. error message processing; 4. command interaction Human computer interface design guide General interactive guide Information display guide Data entry Guide 6.3 tools for process design 1. program flow chart, 2. box diagram (N-S chart), 3. P
19、AD diagram - problem analysis chart 4. decision table 6.4 data oriented design methods 1., Jackson diagram 2., improved Jackson diagram, 3.Jackson method The seventh chapter: Implementation 7.1 encoding 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 15 页Definition: translating software design
20、results into programs written in a programming language General guidelines for selecting programming languages:? System user requirements The compiled program that you can use Available software tools Engineering scale? Programmers knowledge? Software portability requirements? Application areas of s
21、oftware Coded tasks: translate the procedural description of a module into a source language (source code) written in language using the selected programming language. Coding style guidelines. (1) source code: include proper identifiers, appropriate annotations, reasonable layout and clarity of prog
22、ram lists; (2) data: data structure or data type that the order of standardization; the name of the variable as far as possible; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 15 页on complex data structures to illustrate the implementation method of the data structure in the program design in
23、the notes. (3) the statement structure is simple: dont save space will write multiple statements on the same line; to avoid the complicated conditions and non condition test; avoid using nested loops and nested conditions; brackets use is to make logical expressions and arithmetic operations in orde
24、r to clear and intuitive expression. Efficiency: (4) considering the time memory efficiency, input / output running efficiency; in dealing with the relationship between program correctness, clarity and efficiency between the first for the program right after the fast; first for clear and fast; in or
25、der to keep the program simple fast; write clearly is not clear efficiency sacrifice. 7.2 software testing foundation The goal of software testing is to find and eliminate as many bugs as possible in the software, and finally give a high quality software system to the user Software testing criteria
26、(1) all tests should be traceable to user requirements (2) a test plan should be worked out before the test begins Once the requirements model has been completed, you can proceed with the development of the test plan 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 15 页After building the design
27、model, you can start designing detailed test scenarios (3) Pareto principle: 80% of the errors found in the test are likely to be caused by 20% of the modules in the program. The question is how to find these suspicious modules and test them thoroughly (4) start with small scale test and gradually c
28、arry out large-scale test First, focus on testing a single program module, then focus on testing the integration module cluster and eventually looking for bugs throughout the system (5) test cases should be composed of two parts: input data and expected output results, taking into account both reaso
29、nable input and unreasonable input data (6) exhaustive testing is out of the question Exhaustive testing is the test of all possible execution paths of a program (7) in order to achieve the best test results, the test work should be conducted by third independent parties Software testing method Stat
30、ic testing: the basic feature of software is to analyze, 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 15 页check and review the software, and not actually run the software being tested. Dynamic testing: by running software to check the dynamic behavior of software and the correctness of runni
31、ng results Software testing procedure: 1. module test, 2. subsystem test, 3. system test 4. acceptance test 5. parallel operation 7.3 unit test Unit tests: module interfaces; local data structures; important execution channels; boundary conditions; error handling pathways 7.4 white box testing techn
32、ology Logical coverage Logical coverage is the design of test cases based on the logical structure of the program. Statement coverage Decision coverage Conditional coverage Decision condition coverage 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 15 页Conditional combination covering Path cov
33、erage 7.5 black box testing technology 1, equivalence class partition The input field of a program (all possible input data) is divided into several data classes 2. Boundary value analysis 3. Error guessing: it is a list of possible errors and errors that may arise in the program, and choose the tes
34、t plan according to them 7.6 debugging Debugging is the process of removing errors after the test finds the error The first step: determine the location of the error (95% workload); The second step: correct the mistake. Debugging approach - debugging strategy 1., very dry: print the contents of memo
35、ry, from the search for 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 15 页the wrong clues, is the lowest efficiency program debugging methods. 2. backtracking: start with the procedure of finding the problem and manually trace back the code until you find the error. 3. cause exclusion - It i
36、ncludes: bisection search, induction and deduction 7.7 software reliability: 1. Basic concepts 1 reliability (Reliability): the probability that a program will run successfully within a given time interval, as specified in the specification. 2 availability (Usability): the probability that a program
37、 will run successfully at a given point in time, as specified in the specification. 3 correctness (Correctness): the program is functioning correctly. The eighth chapter: maintenance 8.1 definition of software maintenance The process of modifying software in order to correct errors or meet new needs
38、 after the software has been delivered. 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 15 页Eight 2 features 1. comparison between structured maintenance and unstructured maintenance 2. The cost of maintenance 3, maintenance issues 8.3 process Essentially, it modifies and compresses the softwa
39、re definition and development process 1. Establish maintenance organization 2. Maintenance Report 3, maintenance of the event stream 4. Maintain and maintain records 5, evaluate maintenance activities 8.4 software maintainability Maintenance staff understand, correct, change and improve the ease of
40、the software. 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 15 页1, determine the software maintainability factors 2, documentation - the determinant of maintainability is more important than code. 3, review The ninth chapter is the introduction of object oriented methodology 9.1 overview 9.2
41、 basic concepts of object oriented object Objects can either be concrete physical entities, abstractions, or artificial concepts, or anything that has definite boundaries and meanings. Object definition Definition 1: an object is a collection of operations that have the same state. Definition 2: an
42、object is an abstraction of something in a problem domain that reflects the systems ability to hold information about it or interact with it Definition 3: objects: = 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 15 页Name, operation set, data set, collection of object names (i.e., external in
43、terfaces) Characteristic:Data centric, no data independent operations; The object is active: the object is active, not passive, waiting to be processed, and the external can only be operated by message request; Thirdly, it has encapsulation property: without external operation, it is not necessary t
44、o know the data structure and algorithm of the object; Parallelism: different objects independently process their own data and communicate with each other only by passing messages; Module independence is good: cohesive force is strong and coupling is loose 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 15 页