1、软件工程导论第5版考试知识点汇集Introduction to software engineering Fifth Edition软件工程导论(第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 we
2、ll aware of its implications, is then broken down.2.6 cost / benefit analysis cost estimation: the cost of software development is mainly human consumptionCost / benefit analysis methods: first, estimate costs and benefits; then compare costs and benefits and judge whether to develop from an economi
3、c perspective. 1, the time value of the currency; 2, the investment recovery period; 3, net income; 4, the investment recovery rate.The third chapter: requirement analysis3.1, the task of needs analysisMission: accurately define the goals of the future system and determine what the system has to do
4、to meet the needs of its users.Requirements composition: business requirements, user requirements, system requirements;3.2, communicate with users to obtain requirements: A, interview, B, data flow oriented top-down refinementC, a simple application specification technique; D, rapidly prototyping so
5、ftware3.3, analysis modeling and specificationConsist 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 interface, hardwar
6、e interface and software interface.(5) performance requirements, attributes, etc.(6) other requirements, such as database, operation and troubleshooting, etc.1) analysis modelingModelAn abstract of something in order to understand something, an unambiguous written description of somethingConsisting
7、of a set of graphical symbols and rules that organize these symbols.Modeling methodData model entity relation diagram; function model data flow diagram; behavior model - state transition diagram2) software requirements specificationUsually use natural language + model, complete, accurate and specifi
8、c description of system data requirements, functional requirements, performance requirements, reliability and availability requirements, error handling requirements, interface requirements, constraints, and reverse demand which may be in the future.3.4, entity relation diagram (E-R diagram)The fifth
9、 chapter: overall design5.1 design processSystem design phase: determine the specific implementation of the system; structural design phase: determine the structure of the softwareThe main task of the overall design is to complete the design of the software structure, and to determine the relationsh
10、ip between the module and its modules.5.2 design principlesThe 1. module: the program is divided into independent naming and independent access module, each module to complete a sub function of the modules are integrated together to form a whole, complete function and meet the requirements of users.
11、2. abstraction: the essential nature of abstract transactions without considering their details for the time being.3. step by step refinement; 4. information hiding and localization; 5. module independence;5.3 heuristic rules:1. improve the software structure to improve module independenceThe 2. mod
12、ule is moderate in scale3. proper control of depth, width, fan out and fan in4, the scope of the module should be within the control domain5, reduce the complexity of the interface6, single out, single entry, avoid content coupling7, module function predictableThe sixth chapter: detailed design6.1 s
13、tructure programmingClassical definitionThe 3 basic control structures are connected only by sequence, selection, and loop, and each block has single entry and single exit characteristicsComprehensive definitionAs few as possible GOTO programming method. It is better to use GOTO statements only when
14、 errors are detected, and should always use forward GOTO statementsThe main tasks of 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
15、the module(2) determine the data structure used by each module(3) determine the details 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)
16、design a set of test cases for each module in order to test the module code (i.e., program) at the encoding stageProgram 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 int
17、erface designRationale: 1. system response time; 2. user assistance facility3. error message processing; 4. command interactionHuman computer interface design guideGeneral interactive guideInformation display guideData entry Guide6.3 tools for process design1. program flow chart, 2. box diagram (N-S
18、 chart), 3. PAD diagram - problem analysis chart 4. decision table6.4 data oriented design methods1., Jackson diagram 2., improved Jackson diagram, 3.Jackson methodThe seventh chapter: Implementation7.1 encodingDefinition: translating software design results into programs written in a programming la
19、nguageGeneral guidelines for selecting programming languages:?System user requirementsThe compiled program that you can useAvailable software toolsEngineering scale?Programmers knowledge?Software portability requirements?Application areas of softwareCoded tasks: translate the procedural description
20、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 program lists;(2) data: data structure or data type that the ord
21、er of standardization; the name of the variable as far as possible; on complex data structures to illustrate the implementation method of the data structure in the program design in the notes.(3) the statement structure is simple: dont save space will write multiple statements on the same line; to a
22、void 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 order to clear and intuitive expression.Efficiency: (4) considering the time memory efficiency, input / output running effi
23、ciency; 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 order to keep the program simple fast; write clearly is not clear efficiency sacrifice.7.2 software testing foundationThe
24、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 userSoftware testing criteria(1) all tests should be traceable to user requirements(2) a test plan should be worked out before the test beginsOnce the re
25、quirements model has been completed, you can proceed with the development of the test planAfter building the design 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 questi
26、on is how to find these suspicious modules and test them thoroughly(4) start with small scale test and gradually carry out large-scale testFirst, focus on testing a single program module, then focus on testing the integration module cluster and eventually looking for bugs throughout the system(5) te
27、st cases should be composed of two parts: input data and expected output results, taking into account both reasonable input and unreasonable input data(6) exhaustive testing is out of the questionExhaustive testing is the test of all possible execution paths of a program(7) in order to achieve the b
28、est test results, the test work should be conducted by third independent partiesSoftware testing methodStatic testing: the basic feature of software is to analyze, check and review the software, and not actually run the software being tested.Dynamic testing: by running software to check the dynamic
29、behavior of software and the correctness of running resultsSoftware testing procedure: 1. module test, 2. subsystem test, 3. system test4. acceptance test 5. parallel operation7.3 unit testUnit tests: module interfaces; local data structures; important execution channels; boundary conditions; error
30、handling pathways7.4 white box testing technologyLogical coverageLogical coverage is the design of test cases based on the logical structure of the program.Statement coverageDecision coverageConditional coverageDecision condition coverageConditional combination coveringPath coverage7.5 black box tes
31、ting technology1, equivalence class partitionThe input field of a program (all possible input data) is divided into several data classes2. Boundary value analysis3. Error guessing: it is a list of possible errors and errors that may arise in the program, and choose the test plan according to them7.6
32、 debuggingDebugging is the process of removing errors after the test finds the errorThe first step: determine the location of the error (95% workload);The second step: correct the mistake.Debugging approach - debugging strategy1., very dry: print the contents of memory, from the search for the wrong clues, is the lowest efficiency program debugging methods.2. backtracking: start with the procedure of finding the problem and manually t
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1