资源描述
软件工程复习题
一.选择题
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 one 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
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.Polymorphism 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
对旳答案: 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 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 outside world.
对旳答案: B
8. Which of the items listed below is not one of the software engineering layers?
a) Process b) Manufacturing c) 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 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. implementation
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) 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. Statechart 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 process 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) Structural 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 products
(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 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 budget (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 requirements 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 computer-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
(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 an 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 the 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 are 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 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
对旳答案: 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 successful 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 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 customer'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 questions 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 from 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 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
19.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 problems 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 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 modularity 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 requirements. ( )
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 histories, 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 business 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 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 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 attributes 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 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.
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 between 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.
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.
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 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 system 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 level 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 class 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 convert 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
展开阅读全文