1、软件工程复习题 一.选择题 1. Which of the following is an advantage of implementing applications via the Web? a. Security c. Reliability b. Accessibility d. Throughput 2. Coupling is a qualitative indication of the degree to which a module A) can be written more compactly. B) focuses on just on
2、e thing. C) is able to complete its function in a timely manner. D) is connected to other modules and the outside world. 对旳答案: D 3. Which of these are characteristics of a good design? A) exhibits strong coupling between its modules B) implements all requirements in the analysis model
3、 C) includes test cases for all components D) provides a complete picture of the software E) both b and d 对旳答案: E 4. Which of the following are areas of concern in the design model? A) architecture B) data C) interfaces D) project scope E) a, b and c 对旳答案: E 5.Po
4、lymorphism reduces the effort required to extend an object system by A) coupling objects together more tightly. B) enabling a number of different operations to share the same name. C) making objects more dependent on one another. D) removing the barriers imposed by encapsulation 对旳答案:
5、B 6.Which of the following models can be used to represent the architectural design of a piece of software. A) Dynamic models B) Functional models C) Structural models D) All of the above 对旳答案: D 7. Cohesion is a qualitative indication of the degree to which a module A) can be wri
6、tten more compactly. B) focuses on just one thing. C) is able to complete its function in a timely manner. D) is connected to other modules and the outside world. 对旳答案: B 8. Which of the items listed below is not one of the software engineering layers? a) Process b) Manufacturing c
7、) Methods d)Tools 9. Evolutionary software process models a) Are iterative in nature b) Can easily accommodate product requirements changes c) Do not generally produce throwaway systems d) All of the above 10. The importance of software design can be summarized in
8、 a single word: (A) accuracy (B) complexity (C) efficiency (D) quality 11. Systems ____ is the process of describing, organizing, and structuring the components of a system at both the architectural level and a detailed level with a view toward constructing the proposed system. a. design c. i
9、mplementation b. analysis d. maintenance 12. List the four design models required for a complete specification of a design in traditional software engineering method (1) Subsystem design (2) Data design (3) Task design (4) Architecture design (5) Interface design (6) Component-level design (A
10、) 1234 (B) 2345 (C) 1256 (D) 2456 13. Design patterns can be used by applying in object-oriented systems. (A). inheritance (B). encapsulation (C). complexity (D). polymorphism 14 。Which design model provides information for a design class diagram? a. Deployment diagram c. St
11、atechart diagram b. Interaction diagram d. Package diagram 15. A ____ model shows what the system is supposed to do in great detail, without committing to any one technology. (A).logical (B).physical (C). vertical (D).horizontal 16 。Developing a(n) ____ diagram is a multistep proces
12、s of determining which objects work together and how they work together. a. design class c. state machine b. interaction d. package 17. Which of the following models can be used to represent the architectural design of a piece of software. (A) Dynamic models (B) Functional models (C) St
13、ructural models (D) All of the above 18. Which of the following is an example of an interaction diagram? a. Design class diagram c. Package diagram b. Data access diagram d. Communication diagram 19 . Process framework activities are populated with . (A). milestones (B). work produc
14、ts (C). QA points (D). all of the above 20 . Cohesion is a qualitative indication of the degree to which a module (A) can be written more compactly. (B) focuses on just one thing. (C) is able to complete its function in a timely manner. (D) is connected to other modules and the
15、 outside world. 21. Which diagram(s) is (are) to be built in a system behavior model? (d) (A). use-case (B). ER diagram (C). DFD diagram (D). STD diagram 22. The first step in project planning is to (A) determine software scope (B) select project team leader (C) determine the budge
16、t (D) determine the process model 23. White-box testing can use the following methods . (A). boundary value analysis (B). equivalence partitioning (C). loop testing (D). iterative testing 24. The incremental model of software development is (A) A reasonable approach when requ
17、irements are well defined. (B) A good approach when a working core product is required quickly. (C) The best approach to use for projects with large development teams. (D) A revolutionary model that is not used for commercial products. 25. What are not the elements that are present in every c
18、omputer-based system? (A) data (B) software (C) documentation (D) project 26. The data dictionary contains descriptions of each software (A) control item (B) data object (C) diagram (D) notation (E) both A and B 27. Evolutionary software process models . (A). are branched in condition
19、 (B). can easily accommodate product requirements changes (C). generally produce throw away systems (D). all of the above 28. A decision table should be used (A). to document all conditional statements (B). to guide the development of the project management plan (C). only when building a
20、n expert system (D). when a complex set of conditions and actions appears in a component 29. In the traditional approach to system development, the system stores information about ____. (A). objects (C). methods (B). data stores (D). data entities 30.What model is created during th
21、e analysis phase of a software development process? (A) Data model (B) Linear model (C) sub-model (D)Prototyping model. 31. Project ____ management involves collecting and explaining all of the key decisions, feasibility analysis, risks, benefits, schedules, and costs to the stakeholders who ar
22、e funding the project. (A). cost (C). scope (B). schedule (D). communication 32. ____ involves the creation of an object based on the template provided by the class definition. a.Instantiation c. Activation b.Encapsulation d. Realization 33. UML design modeling focuses on
23、the . (A). structural model and behavioral model (B). behavioral model and implementation model (C). user model and environment model (D). E-R model 二.对错题 1.When using structured design methodologies the process of stepwise refinement is unnecessary. A) True B) False 对旳答案:
24、 B 2. The three generic phases of software engineering are definition, development, and support. 3. Software development activities are easy to compartmentalize into four non-overlapping phases. 4. Project management is less important for modern software development since most projects are su
25、ccessful and completed on time. 5. Boundary value analysis can only be used to do white-box testing. 6. Using a statistical technique like decision tree analysis can provide some assistance in sorting out the true costs associated with the make-buy decision. 7. The reason for refining risks is
26、to break them into smaller units having different consequences. 8. A task selector value is most appropriately used to determine whether to accept or reject a given task for inclusion in the project task set. 9. People who perform software quality assurance must look at the software from the cus
27、tomer's perspective. 2 10. Change control is not necessary if a development group is making use of an automated project database tool. 11. System models are built to allow the system engineer to evaluate the system components in relationship to one another. 12. The use of context free ques
28、tions by themselves provides an effective means of eliciting requirements information from the customer. 13. The primary purpose of an entity relationship diagram in the data model is to allow normalization of relationship tables. 14. With thorough testing it is possible to remove all defects fr
29、om a program prior to delivery to the customer. 15. Object-oriented designs do not need to be implemented using object-oriented programming techniques. 16. Because there are many factors to consider in any design effort, all design should be as complex as possible. ( ) 17. Since modularity is
30、 an important design goal it is not possible to have too many modules in a proposed design. A) True B) False 对旳答案: B 18. Software designs are refactored to allow the creation of software that is easier to integrate, easier to test, and easier to maintain. A) True B) False 对旳答案: A 1
31、9.Information hiding makes program maintenance easier by hiding data and procedure from unaffected parts of the program. A) True B) False 对旳答案: A 20. In software quality assurance work there is no difference between software verification and software validation. 21. One of the key probl
32、ems in software reuse is the inability to find existing reusable design patterns when hundreds of candidates exist. A) True B) False 对旳答案: A 22. A module should be open for extension but closed for modification. ( ) 23. Frameworks and design patterns are the same thing as far as designers
33、 are concerned. A) True B) False 对旳答案: B 24. Program flow chart is easier to maintain than PDL for procedural designing. 25. Project management is less important for modern software development since most projects are successful and completed on time. ( ) 26. Using the concept of m
34、odularity in software design, we should try our best to subdivide software infinitely. ( ) 27. Subclasses should be substitutable for base classes. ( ) 28. The focus of validation testing is to uncover places that a user will be able to observe failure of the software to conform to its req
35、uirements. ( ) 29. Components should be loosely coupled to one another and to the external environment. 30. Improved execution performance is one of the primary benefits of object-orientedarchitectures. 31. All of random order tests are conducted to exercise different class instance life hist
36、ories, which are based on the minimum test sequence. 32.Cohesion should be as cohesive as possible,Coupling should be as loose as possible. 33. Responsibilities are Attributes and methods relevant to the class. 34. Business Process Engineering (BPE) define architectures that will enable a busines
37、s to use information effectively. ( ) 35. Change control is not necessary if a development group is making use of an automated project database tool. ( ) 36. Program flow graphs are identical to program flowcharts. 三.主观题:Please give brief answers to the following questions: 1. How do
38、object-oriented design and structured design differ? (10 pts.) 2.List three characteristics that can serve as a guide to evaluate design quality. ANS: Design implements all explicit requirements from the analysis model, as well as accommodating implicit customer requirements. Design must be
39、understandable to the people who generate the code to implement design, those who test it, and those who support it. Design must provide a complete picture of the software, addressing the data, functional, and behavioral domains from an implementation perspective. 3. What are the four important at
40、tributes which all software products should have? Suggest four other attributes that may sometimes be significant 4.What are the phases of the SDLC? 5.What is the difference between a software process model and a software process? Suggest two ways in which a software process model might be helpful
41、 in identifying possible process improvements 5. Apart from the challenges of heterogeneity, rapid delivery and trust, identify other problems and challenges that software engineering is likely to face in the 21st century 7. Please give explanations on why requirements elicitation is so difficult
42、 8. What is three-layer design? What are the most common layers found in three-layer design? 9. Why is three-layer design a good principle? 10. What are functional requirements? 11.What is the purpose of a package diagram? What notation is used? Show an example 12.What is the difference betwe
43、en analysis and design? List the activities of the design phase of the SDLC. 13. Explain what is wrong with the notion that software engineering is too time consuming and interferes with a programmer's productivity. 14.Describe the principle of information hiding as it applies to software design
44、 ANS: The principle of information hiding implies that modules only share information with each other on a "need to know" basis to achieve some specific software function. Hiding enforces the procedural constraints to both the module procedural detail and any data structures local to the module.
45、 15. What are the differences between generic software product development and custom software development? 16. Explain the role of each element of the conventional analysis model: data dictionary, entity relationship diagram, and data flow diagram. 17.What are the elements that make up a software
46、 architectural style? ANS: Set of components that perform required system functions. Set of connectors allowing communications among the components. Constraints describing how the components maybe integrated to form a system. Semantic models that enable the designer to understand the overall sy
47、stem properties by analyzing the known properties of its components. 18.How is a transaction center different from a transform center in a data flow diagram? 19.List the four design models required for a complete specification of a software design and the role of each. ANS: Data design - high le
48、vel model depicting user’s view of the data or information. Architecture design – shows relationships and collaborations among specific analysis model software and hardware elements Interface design - interface depicts a set of operations that describe the externally observable behavior of a clas
49、s and provides access to its operations Component-level design - Describes the internal detail of each software component 20.What is the primary objective of systems design? 21. How is a transaction center different from a transform center in a data flow diagram? ANS: Transaction centers conver
50、t an external information flow into one of many action paths inside the system. Transform centers map the incoming external information into outgoing external world information. 22.What is the difference between a software process model and a software process? Suggest two ways in which a software p






