《软件工程》习题汇锦

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《软件工程》习题汇锦
一、单项选择题
提示:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在下表中。

错选、多选或未选均无分.
1. ( )If a system is being developed where the customers are not sure of what they
want, the requirements are often poorly defined。

Which of the following would be an appropriate process model for this type of development?
(A)prototyping
(B)waterfall
(C)V-model
(D)spiral
2. ()The project team developing a new system is experienced in the domain.
Although the new project is fairly large, it is not expected to vary much from applications that have been developed by this team in the past. Which process model would be appropriate for this type of development?
(A)prototyping
(B)waterfall
(C)V-model
(D)spiral
3. ()Which of the items listed below is not one of the software engineering layers?
(A)Process
(B)Manufacturing
(C)Methods
(D)T ools
4. ()Which of these are the 5 generic software engineering framework activities?
(A)communication,planning,modeling,construction,deployment
(B) communication, risk management, measurement,production, reviewing
(C)analysis,designing,programming, debugging, maintenance
(D)analysis, planning,designing,programming,testing
5. ()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。

6. ( )Which of these is not one of the phase names defined by the Unified Process
model for software development?
(A)Inception phase
(B)Elaboration phase
(C)Construction phase
(D)Validation phase
7. ()The things that make requirements elicitation difficult are problems of
(A)scope
(B)understanding
(C)volatility
(D)all of the above
8. ()The result of the requirements engineering elaboration task is an analysis
model that defines which of the following problem domain(s)?
(A)information
(B)functional
(C)behavioral
(D)all of the above
9. ()Which of following is not a UML diagram used creating a system analysis
model?
(A)activity diagram
(B)class diagram
(C)dataflow diagram
(D)state diagram
10. ()Which of these is not an element of an object-oriented analysis model? (A)Behavioral elements
(B)Class-based elements
(C)Data elements
(D) Scenario-based elements
11. ()The entity relationship diagram
(A)depicts relationships between data objects
(B) depicts functions that transform the data flow
(C)indicates how data are transformed by the system
(D)indicates system reactions to external events
12. ()Which of the following are areas of concern in the design model?
(A)architecture
(B)data
(C)interfaces
(D)a, b and c
13. ()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)provides a complete picture of the software
(D)both b and c
14. ()A generalized description of a collection of similar objects is a
(A)class
(B)instance
(C)subclass
(D) super class
15. ()The component-based development model is
(A)Only appropriate for computer hardware design。

(B)Not able to support the development of reusable components。

(C)Works best when object technologies are available for support.
(D)Not cost effective by known quantifiable software metrics。

16. What is the goal of software engineering?
(A)The production of fault-free software that satisfies the user’s needs and that is delivered on time and within budget
(B) The development of software that conforms(遵循)to international standards (C) The replacement of hand coding by automatic programming
(D) The application of engineering techniques to software development
17. The items listed below are the software engineering layers?
A) Process B)Manufacturing C) Methods D) T ools
E)all of the above F) a ,c and d
18. Which of these are the 5 generic software engineering framework activities?
A) Communication,planning, modeling, construction,deployment
B) Communication,risk management,measurement,production,reviewing
C) Analysis, designing, programming, debugging,maintenance
D) Analysis,planning, designing,programming,testing
19. Which of these terms are not level names in the Capability Maturity Integration Model
(CMMI)?
A) Performed B) Defined C)Quantitatively Managed
D)Managed F) Repeated G)Both c and f
20. The spiral model of software development
A)Ends with the delivery of the software product B) is more chaotic than the incremental model
C)Includes project risks evaluation during each iteration D)All of the above
21. The main difference between waterfall model and evolutionary model is in
A。

different activities B。

different project size
C. different project management manner D。

different way of activity organization
22. Which of these can be a part of software requirement specification?
A) A set of models B)a written document C) a set of tables E)Both a and b
F)all of the above
23. The best way to conduct a requirements validation review is to
A)examine the system model for errors
B)have the customer look over the requirements
C)send them to the design team and see if they have any concerns
D) use a checklist of questions to examine each requirement
E) Both b and d
24. Which of the following lists are used to describe a usease?
A)an oven (椭圆)B) template-based usecase description
C) Activity diagram E)all of the above F) Both b and c
25. UML notations that can be used to model the hardware and software elements of a
system are
A)Activity diagrams B) Class diagrams C) Deployment diagrams
D) Use-case diagrams E)A,B,and C F )All of the above
26. Which of the following items is not an element of a class definition?
A) Class attribution B) Class name
C) Class responsibilities D) Class operations
27. UML state diagrams are useful in representing which analysis model elements?
A) Behavioral elements B)Class-based elements
C) Flow-based elements D) Scenario-based elements
28. 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)All of the above
F)both b and d
29. Generalization relationship can be described as
A) “ is a part of" relationship
B)“ is a kind of “relationship
C) “ is related “relationship
D) both b and c
30. Polymorphism can be described as?
A) one interface encapsulates different implementations
B)Inheritance C) Information placing D)Generalization
31. Which of the following lists can be used to describe program logic:
A) PDL B) nature language C) program chart
D) Activity diagram E) all of the above F)a,c and d
32. Which of the following is not of the four principles used to guide component—level
design?
A)Dependency Inversion Principle
B) Abstract Principle
C)Interface Segregation(分离)Principle
D)Open—Closed Principle
E) Encapsulation Principle
33. Which model depicts (描述)the profile of the end users of a computer system?
A) design model B) implementation model
C)user model D) user’s model
34. What is the normal order of activities in which traditional software testing is organized?
A)integration testing,unit testing,system testing,validation testing
B)validation testing, unit testing, integration testing, system testing
C)unit testing, integration testing, validation testing, system testing
D) system testing, validation testing,integration testing,unit testing
35. Which of the following statements characterize a successful software testing:
A)no error to be found in the software
B) find the errors detected before in the software
C)find the errors never detected before in the software
D)both a and c
36. Which of the items listed below is not one of the software engineering layers?
A) Process B) Production C)Methods D)Tools
37. Which of these are the 5 generic software engineering framework activities?
A) Communication, planning, modeling, construction,deployment
B)Communication,risk management,measurement,production, reviewing
C) Analysis, designing, programming, debugging, maintenance
D) Analysis, planning, designing,programming, testing
38. What is the goal of software engineering?
(A) The production of fault—free software that satisfies the user's needs and that is delivered on time and within budget
(B)The development of software that conforms to international standards
(C)The replacement of hand coding by automatic programming
(D)The application of engineering techniques to software production
39. Which of these terms are level names in the Capability Maturity Integration Model?
A)Performed B) Defined C) Reused
D) Optimized E) Both a and d F) A, B and D
40. The spiral model of software development (C)
A) Ends with the delivery of the software product B)Is more chaotic
(糟糕)than the incremental model
C)Includes project risks evaluation during each iteration D) All of the above
41. The main difference between waterfall model and evolutionary model is in
A。

different activities B。

different project size
C. different project management manner D。

different way of activity organization
42. What are the four framework activities found in the Extreme Programming (XP)process
model?
A) analysis,design,coding,testing B)planning, analysis,design, coding
C) planning,analysis, coding, testing D) planning, design, coding,testing
43. The best way to conduct a requirements validation review is to
A) examine the system model for errors B) have the customer look over the
requirements
C) send them to the design team and see if they have any concerns
D) use a checklist of questions to examine each requirement
E) Both b and d
44. The result of the requirements engineering elaboration task is an analysis model that
defines which of the following problem domain(s)?
A) Information B)functional C) behavioral D) all
of the above
E)Both a and b
45. UML notations that can be used to model the hardware and software elements of a
system are
Activity diagrams B)Class diagrams C) Deployment diagrams
Use-case diagrams E)A,B,and C F ) All of the above
46.Which of the following items does not appear on a CRC card?
class collaborators B)class name C)attributions and operations D)class
responsibilities
47. UML class diagrams are useful in representing which analysis model elements?
A)Behavioral elements B)Class—based elements
C) Flow—based elements D) Scenario—based elements
48.Which of these are characteristics of a good design?
exhibits strong coupling between its modules
implements all requirements in the analysis model
includes test cases for all components
provides a complete picture of the software
All of the above
both b and d
49. A successful application of transform or transaction mapping to create an architectural
design is supplemented (补充)by
entity relationship diagram
module interface descriptions
processing narratives(描述)for each module
test case for each module
Both b and c
50.In component—level design ”persistent dat a sources" refer to
A)Component libraries B)Databases C)Files
D) All of the above E) Both b and c
51.Which of the following principles are the four principles used to guide component—level
design?
A) Dependency Inversion Principle
B) Reduce Complexity Principle
C)Interface Segregation Principle
D)Open-Closed Principle
F)a,c and d
52.Which model depicts the profile of the end users of a computer system?
A)design model B) implementation model
C)user model D)user’s model
53.Which of these framework activities is not normally associated with the user interface
design processes?
A) cost estimation
B) interface construction
C) interface validation
D) user and task analysis
54.What is the normal order of activities in which traditional software testing is organized?
A) integration testing, unit testing,system testing,validation testing
B) validation testing,unit testing,integration testing, system testing
C) unit testing, integration testing,validation testing,system testing
D) system testing,validation testing, integration testing, unit testing
55.Which of the following strategic issues needs to be addressed ( 解决) in a successful
software testing process?
A) conduct formal technical reviews prior to testing
B) specify requirements in a quantifiable manner
C) use independent test teams
D) wait till code is written prior to writing the test plan
E) Both a and b
二、判断题
提示:正确标“T”,错误标“F”,将其结果填写在下表中。

1.()Showing your customer a mockup(实体模型)of the UI(用户界面)is one good way to get feedback while gathering requirements.
2.()Functional testing tests against the specification。

3.()Cohesion refers to elements in the same module, whereas coupling refers to elements in different modules.
4.()When designing tests,if partitions are chosen perfectly,there is no point to testing boundary values near the edges of the partition.
5.()The V model is an important design pattern。

6.( )Software is a product and can be manufactured using the same technologies used for other engineering artifacts.
7.()Change cannot be easily accommodated in most software systems,unless the system was designed with change in mind.
8.()It is generally accepted that one cannot have weak software processes and create high quality end products.
9.( )Frameworks and design patterns are the same thing as far as designers are concerned.
10.()Attributes cannot be defined for a class until design has been completed.
11。

( )In general software only succeeds if its behavior is consistent with the objectives of its designers.
12。

( )The goal of software testing is to find all error in software prior to delivery to customer
13. ( )Software development model is a framework of process, activity and task
14. ( )We can modify the reused classes to add some new attributes and operations to meet our new requirements and don't worry about any side effects。

三、名词解释题
提示:解释每小题所给名词的含义,若解释正确则给分,若解释错误则无分,若解释不准确或不全面,则酌情扣分。

1.Design Patterns
2。

Requirements Engineering
3. Software Engineering
4。

Functional Independence
5. UML(Unified Modeling Language)
6。

Class
7。

Abstaction
8. Information hiding
9。

Separation of Concerns
10。

Software architecture
11.Modularity
12。

Functional Independence
13。

Refinement
14.Aspects
15。

Refactoring
16。

Object—Oriented Design Concepts 17.Design Classes
18。

Component
19。

Software testing
20.Prototyping model
21.The Waterfall Model
22。

Incremental Models
23.The Spiral Model
24。

White-Box T esting
25.Black-Box T esting
26.Equivalence Partitioning
27.Boundary Value Analysis
28.Basis Path T esting
29。

The Open—Closed Principle(OCP)
30。

The Liskov Substitution Principle(LSP)
31.Dependency Inversion Principle(DIP)
32。

The Interface Segregation Princiole(ISP)
33.Data—centered architectures
34。

Data—flow architectures
35。

Call and return architectures
36。

Object—oriented architectures
37。

Layered architectures
38。

High cohesion
39.Low coupling
40. Software Process
四、对照关联题
Please match each lifecycle model with its definition, by drawing a line connecting them。

(a)coding—and-fixing (a)assess risks at each step; do most critical action first
(b)evolutionary (b)build an initial small requirement spec, code it,then
“evolve”
Prototyping the spec and code as needed
(c) spiral (c)build initial requirement specs for several releases, then
design—and—code each in sequence
(d) staged delivery (d) standard phases (requirements, design, code,test)in order (e) waterfall (e) write some code, debug it, repeat (i。

e。

ad-hoc)
五、简答题
1.There are four types (levels)of testing. What are they? Which one primarily would use Use—Cases to drive the test cases?
2.What type of UML diagram is used to describe a specific scenario of a use case?
3. Describe the 5 generic software engineering framework activities。

4。

Describe the Manifesto for Agile Software Development.
5. Provide one example of software project that would be amenable to the prototyping model. Be specific。

6. Why are incremental process models considered by many to be the best approach to software development in a modern context?
7。

Describe the differences between software construction and software deployment.
8. Descriptions of software testing has to go through several stages,each stage with what documentation related.
9。

List the four design models required for a complete specification of a software design and the role of each.
10. What process adaptations are required if the prototype will evolve into a deliverable system or product?
11. Draw a picture of design Pyramid for WebApps。

六、问答题
1.The later a problem is found in the software development process,the harder it is to fix (定位)。

Explain why, in one sentence.
2.What are at least three differences between the analysis model and the design model of a software product?
3. What is the fundamental difference between the structured analysis and object-oriented strategies for requirements analysis?
4。

Describe the process of translating the requirements model into the design model。

5. Explain the Golden Rules of user interface design and their principles.
七、综合应用题
1.Assume you were going to review the following code。

Y ou are to inspect it for consistency in naming,formatting, and understandability of style。

Y ou also are going to review it for correctness。

Identify all of the things you find that you would raise during a code review。

Identify each item by specifying the line number (if appropriate) and the problem。

2.Use Case:A student gets a coffee
including Account selection, Login, Beverages selection,Main menu, etc。

3.Please map following DFD into SC (Structure Chart ).
4. Develop a complete use—case for one of the following activities:
a. Making a withdrawal at an ATM
b。

Using your charge card for a meal at a restaurant
c. Buying a stock using an on-line brokerage account
d。

Searching for books (on a specific topic)using an on—line bookstore
5。

The department of public works for a large city has decided to develop a Web-based potholes tracing and repair system(PHTRS).
A description follows:
Citizens can log onto a website and report the location and severity of potholes. AS potholes are reported they are logged within a “public works department repair system” and
are assigned an identifying number , stored by street address, size(on a scale of 1 to 10),location( middle,curb,etc.),district(determined from street address),and repair
priority(determined from the size of the pothole).Work order data are associated with each pothole and include pothole location and size ,repair crew identifying number, number of people on crew,equipment assigned,hours applied to repair, hole status(work in progress, repaired, temporary repair,not repaired),amount of filler material used, and cost of repair(computed from hours applied, number of people,material and equipment used )。

Finally, a damage file is created to hole information about reported damage due to the pothole and includes citizen's name,address, phone number, type of damage, and dollar amount of damage。

PHTRS is an online system; all queries are to be made interactively.
a。

Draw a UML use case diagram for the PHTRS system. Y ou’ll have to make a number of assumptions about the manner in which a user interacts with this system。

b. Develop a class model for the PHTRS system。

6. Please map the following data flow diagram (DFD) to software structure.
7。

Given the program logic as follows:
if (a 〉b &&i > 1 ||a < b && i <= 10 ) k = a;
else k = b;
A)Draw the program chat with simple condition
B)Compute McCabe cyclomatic complexity(环路复杂度)
C)List a set of independent path for conducting basic path testing
D) Design test cases to conducting basic path testing
8、对下列设计进行重构(Refactoring):
(提示:
(1)考虑扩展性/可维护性需求
(2)运用OCP原则
(3)场景:现在需要新增一个传感器类型,如小狗焦虑传感器(doggie angst sensor)。

)。

相关文档
最新文档