2.
5.
6.
7.
《软件工程》期中试题
一、选择题:
1.
The waterfall model of software development is also known as the (
)
A
A. Classical life cycle model
C. Spiral model
B. Fountain model
D. Chaos model
The incremental model of software development is (
B
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.
)
3. COCOMO II is an example of a suite of modern empirical estimation models that require
sizing information expressed as (
A. function points
B. lines of code
)
D
C. application points
D. any of the
above
4. An effective risk management plan will need to address which of the following issues? (
)
D
A. risk avoidance
C. contingency planning
B. risk monitoring
D. all of the above
The relationships shown in a data model must be classified to show their (
A. Width and depth
C. cardinality and modality
B. Directionality and reliability
D. probability and risk
)
C
B. data object
The data dictionary contains descriptions of each software
A. configuration item
The state transition diagram (
A
A. indicates system reactions to external events
B. depicts relationships between data objects
C. depicts functions that transform the data flow
D. indicates how data are transformed by the system
)
(
C. diagram
)
B
D. notation
8. Which of the following is not an area of concern in the design model? (
)
D
D. project scope
A. architecture
B. data
C. interfaces
9. A program design language (PDL) is often a (
A
A. combination of programming constructs and narrative text
B. legitimate programming language in its own right
C. machine readable software development language
D. useful way to represent software architecture
)
10. What types of errors are missed by black-box testing and can be uncovered by white-box
testing? (
A. behavioral errors
)
B
B. subtle logic errors
C. performance errors
error
11. To achieve high modularity of software components you need
A. high coupling and high cohesion
B. high coupling and low cohesion
C. low coupling and high cohesion
D. low coupling and low cohesion
12. Which of the following is not an objective for building an analysis model?
A. define set of software requirements
共 11页 第 1页
D. input
C
C
B. describe customer requirements
C. develop an abbreviated solution for the problem
D. establish basis for software design
13.下图所示的软件模块结构图,该软件的宽度为(
)。
D
A.1
B.3
C.5
D.6
14.面向对象的软件工程中,识别主类主要靠(
)。
A
A.经验 B.技巧 C.启发式规则 D.面向对象分析理论
15.用例图是(
)。
D
A.系统特定行为的描述
B.系统行为之间交互的描述
C.系统和外部实体交互的描述
D.系统特定行为和外部实体以及和其他行为交互的描述
1.2
二、简答题:
1.What are the differences between generic software product development and
custom software development?
A:The essential difference is that in generic software product development, the
specification is owned by the product developer. For custom product development, the
specification is owned by the customer. Of course, there may be differences in
development processes but this is not necessarily the case.
2.What are the four important attributes which all software products should have? 1.3
A:For important attributes are maintainability, dependability, efficiency and usability.
3.A software architecture describes a high-level design view of a software system.
What are the advantages of explicitly describing the architecture independently from
the implementation?
参考答案(不够准确):The architecture may have to be designed before specifications
are written to provide a means of structuring the specification and developing different
sub-system specifications concurrently, to allow manufacture of hardware by
共 11页 第 2页
sub-contractors and to provide a model for system costing.
4.Explain why it is important to produce an overall description of a system architecture
at an early stage in the system specification process.
A:An overall architectural description should be produced to identify sub-systems
making up the system. Once these have been identified, they may be specified in
parallel with other systems and the interfaces between sub-systems defined.
5.Requirements should state what a system should do, without stating how it should do
it. Why is this distinction useful?
2.4
6.Define black box and white box testing. What are the advantages of each approach ?
Why are both necessary?
7.Full path coverage testing requires that every possible path through the code be
tested at least once. Why is full path coverage testing desirable? For the code fragment
above, how many test cases would be needed for full path coverage? Why might full
path coverage be impossible to achieve for some programs?
8.Why is software maintenance difficult? Why is it necessary?
9.If you want develop an interactive system that allows railway passengers to find train times
from terminals installed in stations, which generic software process model that more suitable to
management the development process? And why?
A:Interactive timetable System with a complex user interface but which must be stable
and reliable. Should be based on throw-away prototyping to find requirements then
either incremental development or waterfall model.
10.Describe four types of non-functional requirements that may be placed on a system. Give
examples of each of these types of requirement.
A:There are many possibilities here. Some suggestions are shown in Figure 6.4.
Non-functional
requirement
Performance
Figure 6.4 Non-functional requirements
Description
Description
Performance requirements
set
out limits to the
performance
expected of the system.
These
may be expressed in
The system must process
at least 150
transactions per second.
The maximum response
time for any user
request should be 2
共 11页 第 3页
different
ways depending on the
type of
system e.g. number of
transactions processed per
second, response time to
user
requests, etc.
Defines specific standards
or
methods which must be
used in
the development process
for the
system
Defines requirements
which
relate to the usability of the
system by end-users.
Implementation
Usability
Safety
三、综合题
Safety requirements are
concerned with the overall
safe
operation of the system
共 11页 第 4页
seconds.
The system design must
be developed using
an object-oriented
approach based on the
UML process.
The system must be
implemented in C++,
Version 3.0.
All operations which are
potentially
destructive must include an
undo facility
which allows users to
reverse their action.
(This is an example of a
functional
requirement which is
associated with a
nonfunctional
requirement)
All operations which are
potentially
destructive must be
highlighted in red in the
system user interface.
The system must be
certified according to
Health and Safety
Regulations XYZ 123.
1.The following table shows the estimated activity durations and pre-requisites for a project
development.
Activity
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
Description
Requirements Elicitation
Analysis & Design
Install hardware
Design Review
Code & Unit Test
Integration Test
Porting Software
Documentation
Acceptance Test
Install & Train
Duration(weeks)
4
3
2
1
4
2
1
2
3
2
Task Pre-requisites
1
1
2
1,2,3,4
5
4,6
6,7
5,6,7
9
Draw a activity chart to determine the earliest week of completion, the activities which have
some float or slack, and the activities on the critical path. Draw a bar chart showing the project
schedule.
2.绘制打电话的状态转换图
共 11页 第 5页
3.某校教务系统具备以下功能,输入用户ID号及口令后,经验证进入教务管理系统,可
进行如下功能的处理:
查询成绩:查询成绩以及从名次表中得到名次信息。
学籍管理:根据学生总成绩排出名次信息。
成绩处理:处理单科成绩并输入成绩表中。
就以上系统功能画出 0 层,1 层的 DFD 图。
教务系统 0 层 DFD 图
共 11页 第 6页
(身份验证处理框对应有一个用户信息的存储,名次表和学生成绩表应用存储的表示法)
教务系统 1 层 DFD 图
4.一个自动化图书馆目录的软件系统要被开发。这个系统将要包含图书馆中所有图书的
信息,要求该系统对图书管理员、借阅者和读者都可用。该系统应该支持目录浏览、查
询,允许用户发送消息给图书管理员预订一本在借图书。识别出系统描述中应考虑的基
本视点,并用视点继承图(层次图)来描述它们之间的关系。
A:The viewpoints are shown in Figure 6.1. Note that system management (i.e. those
responsible for installing and maintaining the computer system are a viewpoint as
well as library staff and library users. Library users have been separately identified as
browsers and searchers as these operations typically require different types of services.
6版6.2题
Figure 6.1 Viewpoint hierarchy diagram
共 11页 第 7页
5.Develop an object model, including a class hierarchy diagram and an aggregation
diagram showing the principal components of a personal computer system and its
system software. 8.8
A:There are many possible organizations for the class hierarchy. I show a simple one
in Figure 8.4 with only two levels. A three-level hierarchy would also be OK but more
than that would be too much. The aggregation diagram shows the part-of relationships
between objects. This is shown in Figure 8.5. Obviously, further decomposition of the
lowest level is possible.
Figure 8.4 Class hierarchy for a PC
共 11页 第 8页