文档库 最新最全的文档下载
当前位置:文档库 › 《软件工程》复习题

《软件工程》复习题

《软件工程》复习题
《软件工程》复习题

软件工程

单项选择题

1. 哪个活动可在可行性分析阶段进行?

A.编码

B.测试

C.设计

D.制订市场营销计划

2. 在数据流程图中,有名字及方向的成分是()。

A.控制流

B.信息流

C.数据流

D.信号流

3. 以下各图中不是UML使用的图是()。

A.数据流程图

B.用例图

C.类图

D.顺序图

4. 下图中,类的关系是()。

A.依赖

B.关联

C.聚集

D.泛化

5. 甘特图是一种()。

A.UML模型

B.过程模型

C.系统构架的抽象模型

D.进度计划的表达方式

6. 下面不属于软件配置管理任务的是()。

A.变更控制

B.配置审核

C.状态报告

D.用例分析

7. 数据耦合、公共耦合、印记耦合、控制耦合的耦合性从低到高的顺序是()

A.数据、公共、印记、控制

B.数据、印记、控制、公共

C.控制、数据、印记、公共

D.控制、数据、公共、印记

8. 软件需求分析的主要任务是准确地定义出要开发的软件系统是()

A.如何做

B.怎么做

C.做什么

D.对谁做

9. 可行性分析研究的目的是()

A.争取项目

B.项目值得开发否

C.开发项目

D.规划项目

10. 具有风险分析的软件生存周期模型是()

A.瀑布模型

B.喷泉模型

C.螺旋模型

D.增量模型

11. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )

A.软件工程

B.软件周期

C.软件危机

D.软件产生

12. 程序的三种基本控制结构的共同特点是()

A.只能用来描述简单程序B.不能嵌套使用

C.单入口,单出口D.仅用于自动控制系统

13. 数据字典是用来定义_________中的各个成份的具体含义的。()

A.流程图B.功能结构图

C.系统结构图D.数据流图

14. 为了使软件具有清晰结构和良好的风格,下面关于程序设计风格的叙述不可取的有( )

A. 尽量不要进行浮点数的相等比较

B. 应当有适量的注释

C. 尽可能对代码优化

D. 使用有意义的标识符

15. 使用白盒技术设计测试用例的方法包括()

A.边界值分析

B.循环测试

C.等价类划分

D.回归测试

16. 下列模块内聚中,内聚性最强的是()。

A.功能内聚

B.偶然内聚

C.过程内聚

D.顺序内聚

17. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( )

A.条件覆盖法

B.等价分类法

C.边界值分析法

D.错误推测法

18. 下列哪一种程序设计语言不是面向对象的()。

A.C++

B.JA V A

C.C#

D.C

19. 下列测试方法不属于集成测试的是()。

A.自顶向下

B.自底向上

C.三明治测试

D.自中间向两极测试

20. 关于用例的概念,下列说法不正确的是()。

A.用例是一个连贯的功能性单元

B.用例是通过Actor确认的

C.可以借助状态转换图来描述用例

D.用例是一个类,而不是事件

21. 源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有()

A.模块的功能

B.语句的功能

C.模块的接口

D.开发历史

22. DFD中的每个加工至少需要( )

A. 一个输入流

B. 一个输出流

C. 一个输入或输出流

D. 一个输入流和一个输出流

23. 为了提高模块的独立性,模块之间最好是( )

A. 控制耦合

B. 公共耦合

C. 内容耦合

D. 数据耦合

24. 测试的关键问题是( )

A. 如何组织对软件的评审

B. 如何验证程序的正确性

C. 如何采用综合策略

D. 如何选择测试用例

25. 软件维护困难的主要原因是( )

A. 费用低

B. 人员少

C. 开发方法的缺陷

D. 得不到用户支持

26. 源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有()

A. 模块的功能

B. 语句的功能

C. 模块的接口

D. 开发历史

27. 结构化程序设计采用的三种基本控制结构是()

A. 顺序、分支、选择

B. 选择、循环、重复

C. 顺序、选择、循环

D. 输入、变换、输出

28. 通信内聚、过程内聚、顺序内聚和时间内聚的内聚性从高到低顺序是()

A.通信、过程、顺序、时间

B.通信、时间、顺序、过程

C.顺序、通信、时间、过程

D.顺序、通信、过程、时间

29. 使用程序设计的控制结构导出测试用例的测试方法是()

A、黑盒测试

B、白盒测试

C、边界测试

D、系统测试

30. 软件工程学的目的应该是最终解决软件生产的()问题。

A.提高软件的开发效率

B.使软件生产工程化

C.消除软件的生产危机

D.加强软件的质量保证

31. 软件过程模型有多种,下列选项中,()不是软件过程模型。

A.螺旋模型

B.增量模型

C.行为模型

D.瀑布模型

32. 准确地解决“软件系统必须做什么”是()阶段的任务。

A.可行性研究

B.详细设计

C.需求分析

D.编码

33 下列哪个是RAD模型的优点()。

A.适用于可变需求

B.开发速度快

C.适用于高风险项目

D.可用于超大规模软件项目开发

34. 瀑布模型是一种什么模型?()

A.风险驱动模型 B.线性开发模型

C.增量模型 D.迭代模型

35. 下列哪个不属于软件的基础特征量?()

A. 软件规模

B.开发成本

C.开发期限

D.软件完整性

36. 软件需求分析应确定的是用户对软件的( )。

A. 功能需求和非功能需求

B. 性能需求

C. 非功能需求

D. 功能需求

37. 在软件开发中,()是指对将要开发的系统的开发成本进行估算,然后与可能取得的效益进行比较和权衡。

A.成本—效益分析

B.可行性分析

C.结构化分析

D.软件需求分析

38. 瀑布模型的关键不足在于( )。

A. 过于简单

B. 各个阶段需要进行评审

C. 过于灵活

D. 不能适应需求的动态变更

39. 下面说法正确的是( )。

A. 经过测试没有发现错误说明程序正确

B. 测试的目标是为了证明程序没有错误

C. 成功的测试是发现了迄今尚未发现的错误的测试

D. 成功的测试是没有发现错误的测试

40. 软件部件的内部实现与外部可访问性的分离,是指软件的()。

A、继承性

B、共享性

C、封装性

D、抽象性

41. 下面哪个不属于良好的人机界面设计原则?()

A. 系统的全部界面格式和风格一致

B. 为不同的用户和功能提供一致的界面服务

C. 力求用户输入量最少

D. 具有帮助功能

42. 当模块中包含复杂的条件组合,只有()能够清晰地表达出各种动作之间的对应关系。

A判定表和判定树

B 盒图

C 流程图

D 关系图

43. 下面哪个不是基于抽象的软件设计原则?( ) A .里氏替换原则 B. 开-闭原则 C. 远离实现原则 D. 依赖倒转原则

44. 假设目标系统如下图的层次结构,对其按宽度优先顺序进行集成测试,正确的顺序是( )。

a

l k

j g

i f h e d

c

b

m

A. abehcfidgilmk

B. abcdefghijklm

C. abehcdfigjklm

D. lmhijkefgbcda

45. 下列哪个阶段不是软件生存期三个阶段中的内容( )。 A . 定义阶段 B . 开发阶段 C . 编码阶段 D . 维护阶段

46. 模块的内聚性最高的是( ) A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚

47 采用甘特图表示软件项目进度安排,下列说法中正确的是( ) A.能够反映多个任务之间的复杂关系

B.能够直观表示任务之间相互依赖制约关系

C.能够表示哪些任务是关键任务

D.能够表示子任务之间的并行和串行关系 48. DFD 中的每个加工至少需要( )

A. 一个输入流

B. 一个输出流

C. 一个输入或输出流

D. 一个输入流和一个输出流 49. 下列关于功能性注释不正确的说法是( )

A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态

B. 注释用来说明程序段,需要在每一行都要加注释

C. 可使用空行或缩进,以便很容易区分注释和程序

D. 修改程序也应修改注释

50. 需求规格说明书的作用不包括()

A.软件验收的依据

B.用户与开发人员对软件要做什么的共同理解

C.软件可行性研究的依据

D.软件设计的依据

51. 为了克服软件危机,人们提出了用( )的原理来设计软件,这就是软件工程诞生的基础。

A. 数学

B. 软件学

C. 运筹学

D. 工程学

52. 以下哪一项不是软件危机的表现形式( )。

A. 开发的软件不满足用户需要

B. 开发的软件可维护性差

C. 开发的软件价格便宜

D. 开发的软件可靠性差

53. 结构化设计是一种面向( )的设计方法。

A. 数据流

B. 模块

C. 数据结构

D. 程序

54. 与确认测试阶段有关的文档是( )。

A. 需求规格说明书

B. 概要设计说明书

C. 详细设计说明书

D. 源程序

55 软件开发的需求活动,其主要任务是()。

A. 给出软件解决方案

B. 给出系统模块结构

C. 定义模块算法

D. 定义需求并建立系统模型

56. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于( )。

A. 成本估算

B. 项目计划

C. 工程管理

D. 工程网络图

57. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有( )。

A. 隐藏复杂性

B. 信息隐蔽

C. 经常类的复用

D. 类的开发

58. 面向对象的主要特征除对象惟一性、封装、继承外,还有( )。

A. 多态性

B. 完整性

C. 可移植性

D. 兼容性

59、软件是一种()

A、程序

B、数据

C、逻辑产品

D、物理产品

60、软件部件的内部实现与外部可访问性的分离,是指软件的()。

A、继承性

B、共享性

C、封装性

D、抽象性

61、单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现()的错误。

A、接口错误

B、编码错误

C、性能、质量不合要求

D、功能错误

62、在结构化分析方法中用状态转移图表达系统或对象的行为。在状态转移图中,由一个状态和一个事件所决定的下一状态可能会有( )个。

A. 1

B. 2

C. 多个

D. 不确定

63、软件需求分析的任务不应包括( )。

A. 问题分析

B. 信息域分析

C. 结构化程序设计

D. 确定逻辑模型

64、可使用多种工具进行需求分析,下面( )是不适用的。

A. 数据流图

B. 判定表

C. PAD图

D. 数据词典

65、需求规格说明书的内容不应当包括( )。

A. 对重要功能的描述

B. 对算法的详细过程性描述

C. 软件确认准则

D. 软件的性能

66、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( )系统。

A. 需求不确定性高的

B.需求确定的

C. 管理信息

D. 决策支持

67、在需求分析中,用于数据建模的图形是()。

A.E-R图 B. 数据流程图 C. 状态转移图 D. 层次图

68、下面()不是数据流图中的基本元素。

A.数据处理 B. 数据存储 C. 数据对象 D. 数据流

69、需求分析中用于行为建模的图形是()。

A.E-R图 B. 数据流程图 C. 状态转移图 D. 层次图

70、下列模块的耦合关系中,耦合度最高的是()。

A. 数据耦合

B. 内容耦合

C. 公共耦合

D. 控制耦合

二、填空题

1、软件是由计算机程序、数据、及文档三部分组成的完整集合。其中,计算机程序是按事先设计的功能和性能要求执行的指令序列。数据是使程序能够正确操纵信息的数据结构。文档是与程序开发、维护和使用有关的图文材料。

2、描述软件生存周期的瀑布模型在开发阶段一般包括需求分析、总体设计、详细设计、系统实现和软件测试等几个阶段。瀑布模型的各阶段依次线形连接,是文档驱动的模型。

3、喷泉模型适用于面向对象方法。

4、快速原型模型建立原型的主要目的是定义需求,实际的软件在充分考虑了质量和可行性后才被开发。

5、软件工程的主要思想是在软件生产中用工程化方法__代替传统手工方法。

6、软件工程方法学的三个要素是方法、工具和过程。其中,软件工具为软件工程方法提供了自动或半自动软件支撑环境。

7、需求分析的快速原型化方法中,原型分为追加型(或进化型)和废弃型两类。

8、结构化方法基于模块化思想,采用抽象和分解的原则进行分析和设计。

9、数据流程图(DFD)用于系统的功能建模,其组成成分包括数据存储、数据处理、源点和汇点和数据流。

10、实体-关系图包括对象,属性和关系三方面信息。

11、由客户和用户在软件开发团队的管理下执行的测试称作___________。

12、“软件生命周期”理论将软件过程划分到软件开发的三个时期中,分别是软件定义时期、软件开发时期和___________。

13设银行年利率为i,假设n年后能收入F元,则当前的价值为_____________。

14数据流程图是一个分层的概念模型,分为三个层次,分别是总体图、_________、细节图。15数据字典定义了4种元素,分别是数据元素、________、处理和数据文件或者数据库。16时序图、协作图、状态图这些都属于UML中的__________建模图。

17一个软件项目中,对LOC进行估计,保守值为1000,最有可能值为800,乐观值为600,则可估计出期望值为____________。

18__________又称实施图,用来表示系统中的计算节点的拓扑结构和通信路径与节点上运行

的软构件等。

19当A模块调用B模块时,若两个模块之间传递的是数值型参数,则这两个模块的耦合方式是_________。

20数据流图中的箭头表示_____________。

21软件设计活动一般分为总体设计和详细设计,前者的目的是确定目标系统的_______,后者是在此基础上进一步精化。

22RUP模型将软件开发过程分为4个大的阶段,分别是先启、精化、________和产品化。23由客户和用户在他们的工作现场进行的测试称作__________。

24软件设计活动一般分为__________和详细设计两个阶段。

25传统的结构化软件工程方法中,人们通过_________提高模块的抽象程度。

26依据模块的编码导出测试用例,这种测试称作___________。

27程序的三种基本控制结构包括顺序结构、分支结构和___________。

28在单元测试时,需要为被测模块设计_______。

29需求分析应交付的主要文档是___________。

30设计出软件的初步结构以后,应该进一步分解或合并模块,力求降低耦合提高_______。31划分模块时尽量做到________,保持模块的独立性。

32类的实例化是________。

33若年利率为i,现存入P元,n年后可得钱数为F=___________。

34在面向对象方法中,对象实现了数据和操作的结合,使数据和操作________________于对象的统一体中。

35类中操作的实现过程叫__________。

36在处理过程定义中,对于复杂的条件组合问题,用自然语言不能直观清楚地表述,因此常常使用判定表、__________方法。

37软件生存周期一般可分为问题定义、_________、需求分析、设计、编码、测试、运行与维护阶段。

38一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是__________________。

39从结构化程序设计到______________,是程序设计方法的又一次飞跃。

40软件生存周期一般可分为问题定义、可行性研究、____________、设计、编码、________、运行与维护阶段。

41数据流图的基本符号包括外部实体、数据处理、__________和数据流。

三.简答题

1、什么是软件生存周期?它一般由哪些阶段组成?

2、数据流图的作用是什么?它由哪些基本成份构成?

3、简单说明概要设计的基本步骤?

4 什么是软件工程?

5 功能内聚和顺序内聚各有什么特点?哪一个的内聚程度更高?

6RUP模型的优点有哪些?

7 对系统进行抽象设计有哪些优点?

8 传统的构架建模方法有哪些?传统的详细设计建模方法有哪些?面向对象的设计建模方

法又有哪些?(每种要求至少说出2种)

9 数据字典与数据流程图和状态变迁图相比较有什么特点?它的基本元素有哪些?

10 详细设计的任务是什么?具体包括哪些?

11 什么是白盒测试?白盒测试主要有哪几种测试技术?

12 软件开发有哪些特性?

13 增量模型有哪些优点?

14 瀑布模型的主要缺陷是什么?

15 类之间的关系有哪些?

16 什么是黑盒测试法?什么是白盒测试法?

17 软件实施活动就是编码吗?为什么?

18 作为软件工程中的重要环节,软件配置管理的任务有哪些?

四.设计题

1分析如下DFD图,指出其中有哪些错误?

2假设一个数据库产品规范要求该产品能够处理从1到1000中间的任何数量的记录。请首先为其划分等价类,并利用等价类划分和边界值分析技术为其设计测试用例,并说明每个测试用例属于某等价类成员还是属于边界值或是邻接边界值。

3.工资计算系统中的一个子系统有如下功能:

(1 )计算扣除部分—由基本工资计算出应扣除(比如水电费、缺勤)的部分;

(2 )计算奖金部分—根据职工的出勤情况计算出奖励金;

(3 )计算工资总额部分—根据输入的扣除额及奖金计算出总额;

(4 )计算税金部分—由工资总额中计算出应扣除各种税金;

(5 )生成工资表—根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。

试根据要求画出该问题的数据流程图。

4一个考试录取统计分数子系统有如下功能:

(1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;

(2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。

试根据要求画出该系统的数据流程图。

5阅读如下程序,说出该程序属于哪种耦合方式,为什么?并说明可以采用何种方式降藕。public class Test

{

public int calSum(Worker w) //Worker为类名

{

int wLevel=w.getLevel();

int wSalary=w.getSalary();

//计算工人奖金收入等

}

.......

}

6首先说出什么是基本途径测试,然后为以下程序流程图设计基本途径测试的测试用例,并标明路径。

7某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄在20岁至35岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在35岁以上者,中学文化程度当材料员,大学文化程度当技术员。请根据以上材料分别采用伪码和判定树两种方式描述之。

8阅读下列说明,回答问题。

说明:某图书管理系统的主要功能如下:

1.图书管理系统的资源目录中记录着所有可供读者借阅的资源,每项资源都有一个唯一的索引号。系统需登记每项资源的名称、出版时间和资源状态(可借阅或已借出)。

2.资源分两类:图书和唱片。对于图书,系统还需登记作者和页数;对于唱片,还需登记演唱者和介质类型(CD或磁带)。

3.读者信息保存在该系统的读者信息数据库中,记录的信息包括:读者的识别码和姓名。系

统为每个读者创建了一个借书记录文件,用来保存读者所借资源的相关信息。

建立如下类图,回答问题。

(1)请从名词表中挑选名词为a、b、c三个类替换类名。

(2)资源条目和b、c三个类都有各自的属性,请分别写出它们的属性名。(3)识别关系多重度,完成(1)(2)(3)(4)。

9比较下列两段语句,从编码风格的角度分析其优、劣。

程序段一:

/ position_x is the position x of object; position_y is the position y of object; / if a>b then

a=b

else

if position_x>position_y then

b=position_y

else

a=position_x

end if

end if

程序段二:

if a>b

then

if x>y

then

b=y

else

a=x

end if

else

a=b

end if

10某个用户输入设定有如下规则:只能输入‘#’或三位数字;假定设计的程序可接受所有符合规定的密码,请使用等价类划分法为其设计测试用例,并给出预期结果是有效还是无效。

11欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统作以下处理;

(1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理;

(2)存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;

(3)取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。

该系统的总体图如下图所示,请画出该系统的零级图。

12、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统的实体关系图如下所示:

请问图中是否应该增加"教务人员"?试说明理由。

五.综合题

1. 假设你需要划出一个小组专门开发一个组件,该组件的乐观尺寸Sopt 为7000LOC ,最有可能尺寸Sm 为9000LOC ,保守尺寸Spress 为14000LOC ;这种组件的平均生产率为500LOC/月,平均开发成本为每月6000元。

请根据以上给出的条件计算该组件的开发成本以及该小组的工作量,要求给出计算步骤。 2. 假设你是一个公司的项目经理,将要接手一个软件项目,开发一个电子商务网站,你的团队有60人左右,且拥有丰富的架站经验,对于该项目所要使用的J2EE 平台十分熟悉,并且在以往的开发过程中积累了大量可复用的构件。不过客户要求的时间非常急,只有3个月。试根据材料回答如下问题:

(1)作为项目经理,你将采用何种过程模型进行开发?为什么? (2)假设项目实际进行时的进度情况与计划情况不一致,有可能造成无法按期完工的情况,作为项目经理,你该如何应对?

3. 假设您刚刚升任一家软件公司的项目经理,将率领一个40人的团队,用https://www.wendangku.net/doc/947388221.html, 开发一个在线购物系统。该系统应用前景良好。不过您所在的公司之前一直使用J2EE 平台开发,对微软的.NET 不够熟悉,好在客户要求的时间不是很紧,有12个月的时间可用于开发。请根据以上材料回答如下问题:

(1)您打算采用何种软件过程模型来组织开发?为什么? (2)作为项目经理,请你分析该项目可能存在的风险有哪些?

4、假设您已经将顾客、管理员和商店经理列为候选类,如下图所示。请您合理地改造这个类图。(为便于理解,图中类名、属性名和方法名都采用汉字)

5、在一个简化的教学辅导网站中,有如下内容:

1) 学生和教师能够通过用户名和口令登录到这个网站; 2) 学生和教师都可以上传文件和下载文件;

3) 学生可以向其指导教师提问,只有他的指导教师能回答他的问题。 4) 学生可以看到网站上所有学生的提问和所有教师的回答; 请设计该系统的类图

答案

一.选择题

DCAAD DBCBC CCDCB ACDDC BDDDC DCDBB CCBBD AADCC BACBC DDDBC DCAAD ABACC CACCB AACCB

二.填空题(书中找答案)

三.简答题(书中找答案)

四.设计题

1.

(1)父图的处理1没有输入流

(2)子图的数据流B应为C

(3)子图的数据流F多余

2.

等价类1:少于1个记录

等价类2:1到1000个记录

等价类3:多于1000个记录

测试用例1:0个记录等价类1成员且邻接边界值测试用例2:1个记录边界值

测试用例3:2个记录邻接边界值

测试用例4:100个记录等价类2的成员

测试用例5:999个记录邻接边界值

测试用例6:1000个记录边界值

测试用例7:1001个记录等价类3成员且邻接边界值3

4.

5这段程序存在印记耦合,因为该程序将类声明为了方法的参数类型。可采用接口或者简单参数类型的方法降藕。

6基本途径测试是指覆盖基本途径集合的试验用例将使程序中的每条语句至少执行一次。测试用例如下:

x=3,y=0,z=3

(覆盖x>2,y=0,x=3,z>1,通过路径abcde);

x=1,y=1,z=1

(覆盖x≤1,y≠0,x≠2,z≤1,通过路径ace)。

7

伪码表示:

IF 年龄<20 THEN

IF 文化程度=初中THEN

脱产学习

ELSE

工作为电工

ENDIF

ELSE

IF 年龄≤35 THEN

IF 文化程度=大学THEN

工作为技术员

ELSE

IF 性别=男性THEN

工作为钳工

ELSE

工作为车工

ENDIF

ENDIF

ENDIF

ELSE

IF 文化程度=大学THEN

工作为技术员

ELSE

工作为材料员

ENDIF

ENDIF

判定树表示:

8(1)a 资源目录b 图书c 唱片

(2)资源条目属性:索引号、名称、出版时间、资源状态

图书属性:作者、页数

唱片属性:演唱者、介质类型

(3)

(1)1 (2)0··n或0··* (3) 0··n或0··* (4)1 9 程序段一比程序段二好

(1)开头给出了序言性注视

(2)使用了缩进使程序结构更清晰

(3)变量名定义更清楚

10.

设计测试方案

有效等价类

测试用例1:# 有效

测试用例2:123 有效

无效等价类

测试用例3:A12 无效

测试用例4:12 无效

测试用例5:1234 无效

11.

12、答:不需要。

因为E-R图是表示目标系统问题域的数据模型,它描述的是系统数据之间的静态联系,而不是操作关系。而“教务人员”是系统的外部实体,是操作者,而不是E-R图中的实体。

五.

1. 首先计算该组件的LOC估计值

EV=(Sopt+4Sm+Spress)/6=(7000+4*9000+14000)/6=9500行

该组件的每行近似成本为6000/500=12元

组件的开发成本为12*9500=114000元

则所需工作量为9500/500=16人-月

2.(1)采用RAD模型开发。

原因:团队人力资源充足,技术经验丰富,又有类似的开发经历并拥有可复用构件,在客户要求开发速度的情况下RAD模型是非常好的选择。

(2)教材中找答案

3(1)RUP模型或增量模型、螺旋模型等。

原因:项目规模较大,需要多人协作开发;需求不清楚,缺乏相关领域的经验;技术基础薄弱,缺乏准备;使用此类演进模型,可以再开发过程中与用户很好地交互,减少开发风险。可在早期迭代中构造原型产品,尽快熟悉业务需求;在后面的迭代中,完善构架,逐步开发出符合用户需求的产品。

(2)刚刚当上项目经理,缺乏管理经验;项目规模大,需要足够的人力支持;缺乏领域经验,用户需求还不够清楚;技术经验缺乏等。

4、答案:

5、答案

《生化分离工程》思考题与答案

第一章绪论 1、何为生化分离技术?其主要研究那些容?生化分离技术是指从动植物组织培养液和微生物发酵液中分离、纯化生物产品的过程中所采用的方法和手段的总称。 2、生化分离的一般步骤包括哪些环节及技术?一般说来,生化分离过程主要包括4 个方面:①原料液的预处理和固液分离,常用加热、调PH、凝聚和絮凝等方法;②初步纯化(提取),常用沉淀、吸附、萃取、超滤等单元操作;③高度纯化(精制),常选用色谱分离技术;④成品加工,有浓缩、结晶和干燥等技术。 3、生化分离工程有那些特点,及其重要性? 特点:1、目的产物在初始物料(发酵液)中的含量低;2、培养液是多组分的混合物,除少量产物外,还有大量的细胞及碎片、其他代物(几百上千种)、培养基成分、无机盐等;3、生化产物的稳定性低,易变质、易失活、易变性,对温度、pH 值、重金属离子、有机溶剂、剪切力、表面力等非常敏感;4、对最终产品的质量要求高重要性:生物技术产品一般存在于一个复杂的多相体系中。唯有经过分离和纯化等下游加工过程,才能制得符合使用要求的产品。因此产品的分离纯化是生物技术工业化的必需手段。在生物产品的开发研究中,分离过程的费用占全部研究费用的50 %以上;在产品的成本构成中,分离与纯化部分占总成本的40~ 80 %;精细、药用产品的比例更高达70 ~90 %。显然开发新的分离和纯化工艺是提高经济效益或减少投资的重要途径。

4、生物技术下游工程与上游工程之间是否有联系? 它们之间有联系。①生物工程作为一个整体,上游工程和下游工程要相互配合, 为了利于目的产物的分离与纯化,上游的工艺设计应尽量为下游的分离纯化创造条件,例如,对于发酵工程产品,在加工过程中如果采用液体培养基,不用酵母膏、玉米浆等有色物质为原料,会使下游加工工程更方便、经济;②通常生物技术上游工程与下游工程相耦合。发酵- 分离耦合过程的优点是可以解除终产物的反馈抑制效应,同时简化产物提取过程,缩短生产周期,收到一举数得的效果。 5、为何生物技术领域中往往出现“丰产不丰收”的现象? 第二章预处理、过滤和细胞破碎 1、发酵液预处理的目的是什么?主要有那几种方法? 目的:改变发酵液的物理性质,加快悬浮液中固形物沉降的速率;出去大部分可溶性杂质,并尽可能使产物转入便于以后处理的相中(多数是液相),以便于固液分离及后提取工序的顺利进行。 方法:①加热法。升高温度可有效降低液体粘度,从而提高过滤速率,常用于粘度随温度变化较大的流体。控制适当温度和受热时间,能使蛋白质凝聚形成较大颗粒,进一步改善发酵液的过滤特性。使用加热法时必须注意加热温度必须控制在不影响目的产物活性的围,对于发酵液,温度过高或时间过长可能造成细胞溶解,胞物质外溢,而增加发酵液的复杂性,影响其后的产物分离与纯化;②调节悬浮液的pH 值,pH 直接影响发酵液中某些物质的电离度和电荷性质,适当调节pH 可以改善其过滤特性;③凝聚和絮凝;④使用惰性助滤剂。

软件工程复习资料

软件概念:与计算机系统操作有关的程序、数据以及相关文档的完整集合 软件特点:逻辑实体、智力产品,制造即拷贝2无磨损和老化,不遵循“浴盆曲 线”,但存在退化问题3尚未摆脱手工方式,软件移植的需要,复杂(问题复杂性/ 程序结构复杂性),软件开发的性质如成本、进度、质量等难以估计控制,维护困难,可复用性软件分类:按功能:系统软件/支撑软件/应用软件2按工作方式:实时处理/分时/交互/批处理3按服务对象:项目 / 产品(定制 / 通用)4按失效影响:关键/ 非关键5规模:微型、小型、中型、大型、甚大型、极大型 软件危机的表现:软件开发成本和进度失控,维护代价高2用户不满意3软件 质量不可靠4软件不可维护 5无文档资料6 计算机系统中软件成本比重加大7软件开发生产率提高不能满足要求软件危机的原因软件的规模和复杂性2人类智力的局限性3协同工作的困难性4缺乏方法学和工具5用户描述不精确、二义、遗漏,双方理解有偏差缓解软件危机的途径组织管理、协同配合的工程2软件工程的理论模型、技术方法3软件工具 软件工程的三要素1过程:管理部分2方法:技术手段3工具:自动或半自 动地支持软件的开发和管理三要素的关系:相互关联与支持 软件生命周期:可行性研究-需求分析-概要设计-详细设计-实现-集成测试-确认 测试-使用与维护-退役 软件开发和测试活动之间的关系软件 开发和软件测试都是软件生命周期中的重要组成部分,软件测试是保证软件开发产物 质量的重要手段。测试是贯穿于整个开发流程了,而不是在编码完成才开始。 瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工 作,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。最终得到软件产品优点是使用时间最长、应用面比较广泛的开发模型2是其他一些开发模型的基础3当前一阶段完成后,只需要去关注后续阶段缺点不能适应用户需求的变化2到最后阶段才能得到可运行的软件版本适用场合:对于规模较小,软件需求较为稳定的项目,采用模型能够显著提高软件开发的质量和效率 演化模型(原型模型)演化模型是一种全局的软件(或产品) 生存周期模型。属于 迭代开发方法。该模型可以表示为:第一次迭代(需求->设计->实现->测试->集成)->反馈->第二次迭代(需求->设计->实现->测试->集成)->反馈->……优点:1支持需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误缺点1需要为系统的每个新版本交付文档,不划算2新需求的不断增加,使系统结构退化,变更成本上升3不支持风险分析 螺旋模型1将瀑布模型与原型模型进行有机结合2增加风险分析步骤优点1支持 需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误4支持风险分析,可降低或者尽早消除软件开发风险5适合于需求动态变化、开发风险较大的系统缺点建设周期长适用场合在需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。特别适合于大型复杂的系统 喷泉模型:软件复用与生命周期中多项开发活动集成,主要支持面向对象的开发 方法优点1软件系统可维护性较好2各阶段相互重叠,表明了面向对象开发方法各阶段间的交叉和无缝过渡3整个模型是一个迭代的过程,包括一个阶段内部的迭代和跨阶段的迭代4模型具有增量开发特性,即能做到“分析一点、设计一点、实现一点,测试一点”,使相关功能随之加入到演化的系统中5模型由对象驱动,对象是各阶段活动的主体,也是项目管理的基本内容6该模型很自然地支持软部件的重用缺点由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。 OO 为什么好oo 解决问题的思路是从现实世界中的客观对象入手,运用人类的 自然思维方式来构造软件系统,而传统的结构化方法从功能入手和信息工程化方法从信息入手。在面向对象方法中,把一切都看成是对象。OO 方法用类和对象作为系统的基本构成单位。对象对应问题域中的事物,其属性与操作刻画了事物的静态特征和动态特征,它们之间的继承关系、聚合关系、消息和关联如实地表达了问题域中事物之间实际存在的各种关系面向对象方法的特点(1)从现实世界中客观存在的事物出发来建立软件系统,强调直接以问题域中的事物为中心来思考问题、认识问题,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌(对象) (2)用对象的属性表示事物的状态特征;用对象的操作表示事物的动态特征(属性与操作)(3)对象的属性与操作结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节(封装)(4)对事物进行分类。把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例(分类)(5)复杂的对象可以用简单的对象作为其构成部分(聚集:一个(较复杂的)对象由其他若干(较简单的)对象作为其构成部分,称较复杂的对象为聚集,称较简单的对象为成分,称这种关系为聚集)(6)通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与操作,从而简化系统的构造过程及其文档,有利于复用(继承:特殊类拥有其一般类的全部属性与操作,称作特殊类对一般类的继承)(7) 类具有封闭性,把内部的属性和服务隐藏起来,只有公共的服务对外是可见的(类的封闭性)(8) 对象之间通过消息进行通讯,以实现对象之间的动态联系(消息)(9) 通过关联表达类之间的静态关系(关联) 自顶向下,逐步求精:从顶层开始逐层向下分解,直至系统的所有模块都小 到易于掌握为止 抽象从事物中舍弃个别的非本质的特征,而抽取共同的、本质特征的做法叫抽象。 过程抽象:将完成一个特定功能的动作序列抽象为一个函数名和参数表(模块)例: 比较字符串: int Compare (CString, CString)。数据抽象:将诸多数据对象的定义(描述)抽象为一个数据类型名,以后可通过该数据类型名来定义多个具有相同性质的数据对象例:Eg: 1, 2, 3,—>Integer ;软件工程书;人工智能书—>书类 封装把对象的属性和操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部 细节。只是向外部提供接口,降低了对象间的耦合度使对象能够集中完整地描述并对应一个具体事物。意义:体现了独立性,使对象外部不能随意存取对象的内部数据,使其所含的信息对那些不需要这些信息的模块不可访问。对象的内部的修改对外部的影响很小,减少了修改引起的“波动效应”。公开静态的、不变的操作,而把动态的、易变的信息隐藏起来。 模块化将一个软件划分为一组具有相对独立功能的部件,每个部件称为一个模 块;当把所有的模块组装在一起时,便可获得满足用户需求的软件系统。为什么要进行模块化:模块化体现了“分而治之”的问题分析和解决方法。模块化的目的①进行功能分解,把复杂的大的功能划分成简单的小的子功能,尽量降低每个模块的成本。②尽量使每个模块间的接口不能太多,太多会使接口成本增加。兼顾二者可取得最佳的划分状态,确保软件总成本最低模块设计原则1信息隐藏2高内聚度(强)3低耦合度(松)什么是信息隐藏(1)模块应该设计得使其所含的信息(过程和数据)对那些不需要这些信息的模块不可访问(2)模块之间仅仅交换那些为完成系统功能所必须交换的信息信息隐藏的优点(1)支持模块的并行开发(设计和编码)(2)模块的独立性更好(3)便于系统功能的扩充(4)便于测试和维护,减少修改影响向外传播的范围模块化、信息隐藏,局部化是什么关系局部化与信息隐藏是一对密切相关的概念。局部化就是指将一些使用上密切相关的元素尽可能放在一起。对一个模块来说,局部化是期望模块所使用的数据尽可能是在模块内部定义的。因此,局部化意味着减少模块之间的联系,有助于实现模块之间的信息隐藏。在软件测试和维护期间经常需要修改一些模块的内容。信息隐藏和局部化降低了模块之间的联系,使得在修改一个模块时对其他模块的影响降到最低。“隐藏”的意思是,有效的模块化通过定义一组相互独立的模块来

软件工程复习试题及答案.

一、填空题(在下划线上填写正确的答案,每题2分,共20分) 1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。 2.数据流图和数据字典共同构成了系统的逻辑模型。 3.盒图也称为N-S图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 4.软件有效性,指软件系统的时间和空间效率。 6.数据流图有四种基本成分:源、终点,处理,存储,数据流。 7 中数据项是组成数据流和数据存储的最小元素。 8.软件工程中的结构化分析SA是一种面向数据流的分析方法。 9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。 3.软件测试的步骤:单元、集成、系统、验收。 4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。5.IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。 6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。 7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。 9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。10.常用的测试方法有黑盒测试和白盒测试。 1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益

软件工程复习题

一、单选题 1.软件结构图的形态特征能反映程序重用率的是() a)A、深度 B、宽度C、扇入 D、扇出 2.在大型数据处理系统的功能分析和设计中,数据库的概念设计对应于系统开发的( ) a)A、需求分析 B、概要设计C、详细设计 D、程序设计 3.为了提高模块的独立性,模块内部最好是() a)A、逻辑内聚 B、时间内聚C、功能内聚 D、通信内聚 4.需求分析最终结果是产生() a)A、项目开发计划 B、需求规格说明书C、设计说明书D、可行行分析报告 5.软件是一种() a)A、程序 B、数据C、逻辑产品 D、物理产品 6.信息隐蔽概念与()概念有直接的关系 a)A、模块的独立性 B、模块类型的划分C、软件结构定义 D、软件生命周期 7.不属于序言性注释的有() a)A、模块设计者B、修改日期C、程序的整体说明D、语句功能 8.单元测试阶段主要涉及()的文档。 a)A、需求设计 B、编码和详细设计C、详细设计D、概要设计 9.在软件测试中,白盒测试方法是通过分析程序的()来设计测试用例的方法。( ) a)A、应用范围B、内部逻辑C、功能 D、输入数据 10.需求分析是系统分析师经了解用户的需求,认真仔细的调研、分析,最终建立目标系统 的逻辑模型并写出() a)A、模块说明书B、软件规格说明书C、项目开发计划 D、合同文档 11.系统因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为( ) a)A、系统软件B、容错软件C、测试软件 D、操作系统 12.产品管理包括版本管理和() a)A、质量管理 B、性能管理C、开发过程管理 D、配置管理 13.ISO9001质量管理体系认证等同于能力成熟度模型中的第几级() a)A、CMM1 B、CMM2 C、CMM3 D、CMM4 E、CMM5 14.ISO9001质量管理体系认证只做到() a)A、历史记录可查询B、错误原因可查询 15.为了克服软件危机,人们提出了用()的原理来设计软件,这就是软件工程诞生的基础。 a)A、数据B、软件学C、运筹学D、工程学 16.可行性研究的目标是() a)A、开发项目B、项目是否值得开发C、规划项目 D、维护项目 17.结构化程序设计思想的核心是要求程序只由顺序、循环和()三种结构组成A、 选择 B、单入口C、单出口D、有规则的GOTO 18.纠错是由()完成的

软件工程复习提纲(20160615)

软件工程复习提纲 Chapter1 1.开发文档都有哪些?用图来表示它们之间的关系。 2.说明软件工程研究的内容。 3.软件工程的7条基本原理有何现实意义。 4.怎样理解ISO9000的文档体系?质量手册、程序文件、质量记录三者有何联系和区别? 5.怎样理解CMMI,如何用CMMI去管理软件企业? 6.是否存在这一种现象:搞系统软件的公司不需要采用CMMI和ISO9000模式?CMMI和ISO9000 模式只适用于搞应用软件的企业?如果是,为什么,如果不是,又为什么? 7.软件工程与信息系统工程有何异同? 8.怎样理解元数据? Chapter2 1.为什么要选择软件开发模型?软件开发模型与软件生存周期有什么关系? 2.简述瀑布模型、增量模型、迭代模型、原型模型的优缺点。 3.软件公司的ISO9000或CMM管理体系与软件开发模型有关吗,为什么? 4.你对“生存周期模型裁剪指南”有什么看法? 5.“图书馆信息系统”的开发选用什么开发模型合适? Chapter3 1.立项的具体表现形式是什么? 2.立项建议书的编制者为什么主要是软件公司的市场销售人员,而不是开发人员? 3.什么叫风险分析,技能风险与技术风险有何区别? 3.合同、任务书、立项建议书三者有何异同?有何关系? 4.对软件项目和产品的“功能、性能、接口”三项指标如何理解? Chapter4 1.需求分析的目的是什么,需求分析的难点在哪里? 2.需求分析的理论基础有哪几条? 3.为什么说需求分析是面向流程的? 4.解释术语:元数据、实体、中间数据。 5.用户需求报告与需求规格书有何差异? 6.需求描述有哪几种工具?你喜欢哪一种,为什么?

软件工程复习题及答案完整

一、选择 1、文档是软件产品的一部分,没有文档的软件就不称其为软件。对 2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。错 3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。错 4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。错 5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。错 6、软件配置管理是一组标识、组织和控制修改源程序的活动。错 7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。错 8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。对 9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。对 10、面向对象的分析是面向计算机系统建立软件系统的对象模型。错 11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A 软件过程 B 软件测试 C 软件生存周期 D 软件工程 12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。 A 质量控制 B 质量管理 C 质量策划 D 质量改进 13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B)。 A 关键实践 B 关键过程域 C 软件过程能力 D 软件过程 14、在软件开发的各种资源中,(D)是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。 A 业务需求 B 功能需求 C 非功能需求 D 用户需求 17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。 A 需求不确定的 B 需求确定的 C 管理信息 D 决策支持 18、(A)意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性 B 多继承 C 类的可复用 D 信息隐蔽 19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。 A 用例图 B 类图 C 活动图 D 协作图 20、单元测试的测试用例主要根据(D)的结果来设计。 A 需求分析 B 源程序 C 概要设计 D 详细设计 二、填空题 1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。 2、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是依赖关系。 3、用例及其协作之间是实现关系。 4、接口及其实现类或构件之间是实现关系。 5、动物与老虎之间是泛化关系。 三、问答题 1、软件复用的范围不仅仅涉及源程序代码,请至少列出5种可能复用的软件元素。 可复用的软件元素包括(选5种):项目计划、成本估计、体系结构、需求模型和规格说明、设计、用户文档和技术文档、用户界面、数据结构、测试用例。 2、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。 传统"瀑布模型"的主要缺陷及其原因:在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大。 3、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统

软件工程复习资料

1、下列哪一模型是软件的基础模型 A.瀑布模型 B.快速原型 C.增量模型 D.螺旋模型 2、划分软件生存周期的阶段时所应遵循的基本原则是 A.各阶段的任务尽可能相对独立 B.各阶段的任务在时间上连续 C.各阶段的任务尽可能相关性 D.各阶段的任务在时间上相对独立 3、下列哪个办法不属于解决软件危机的途径之一 A.采用软件工程的解决途径 B.研制新一代智能计算机 C.采用面向对象的软件设计方法 D.大力扶持软件企业 4、下列哪个不属于软件工程的内涵之一 A.扶持培养软件高手的学院 B.开发既可靠又能有效运行的软件 C.应用完善的科学与工程原理 D.经济地开发软件 5.造成大型软件开发困难的根本原因在于 A.开发人员缺乏足够的开发经验 B.项目开发进度不合理 C.软件系统的复杂性 D.对软件开发的资金投入不足 6.软件会逐渐退化而不会磨损,其原因在于 A.软件备件很难订购 B.不断的变更使组件接口之间引起错误 C.软件错误在经常使用之后会逐渐增加 D.软件通常暴露在恶劣的环境下 7.下面说法正确的是 A.大多数软件系统是不容易修改的,除非它们在设计时考虑了变化 B.由于软件是产品,因此可以应用其他工程制品所用的技术进行生产 C.一般来说,软件只有在其行为与开发者的目标一致的情况下才能成功 D.购买大多数计算机系统所需的硬件比软件更昂贵 8.Ariane 5火箭发射失败的事例告诉我们 A.(2)软件后备系统可以通过复制生成 B.(3)软件重用必须重新进行系统论证和系统测试 C. 选项(1)和(3) D.(1)系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制

9.软件危机的主要原因是 A.软件本身的特点及开发方法。 B.软件工具落后。 C.软件生产能力不足。 D.对软件的认识不够。 10.下面的描述正确的是 A.软件质量是在开发过程中逐渐构建起来的。 B.软件质量是由产品的功能、性能、易用性等外在特性决定的。 C.运行正确的软件就是高质量的软件。 D.软件产品质量越高越好,最理想的情况是达到“零缺陷”。 11、可行性研究主要包括哪几项? A.技术可行性、经济可行性和操作可行性 B.技术可行性、经济可行性和道德可行性 C.技术可行性、法律可行性和操作可行性 D.技术可行性、操作可行性和法律可行性 12、成本/效益分析的目的是帮助()正确地作出是否投资于这项开发工程的决定。 A.系统分析员 B.客户组织的负责人 C.项目经理 D.软件开发人员 13、在进行成本/效益分析的时候,需要考虑() A.开发成本 B.运行费用 C.系统带来的经济效益 D.系统使用寿命 14、数据流图和数据字典共同定义了新系统的逻辑模型。 A.错 B.正确 15、可行性研究可行性研究需要的时间长短和所研究系统的规模关系不大。 A. 正确 B.错误 16、把可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。 A.正确 B.错误 17、结构化分析方法遵守的准则之一——定义软件需要完成的功能,需要建立的模型是 A.功能模型 B.数据模型 C.行为模型 D.动态模型 18、下列叙述中,()不属于数据字典的作用。 A.为用户与开发人员之间统一认识 B.为需求分析阶段定义各类条目

软件工程复习题及答案

软件工程复习题(一) 一、选择题 1、瀑布模型本质上是一种() A、线性顺序模型 B、顺序迭代模型 C、线性迭代模型 D、及早见产品模型 2、使用程序设计的控制结构导出测试用例的测试方法是() A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 3、软件结构图的形态特征能反映程序重用率的是() A、深度 B、宽度 C、扇入 D、扇出 4、软件结构图中,模块框之间若有直线连接,表示它们之间存在() A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系 5、需求分析最终结果是产生() A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 6、快速原型模型的主要特点之一是( ) A、开发完毕才见到产品 B、及早提供全部完整的软件产品 C、开发完毕后才见到工作软件 D、及早提供工作软件 7、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 8、软件详细设计主要采用的方法是( ) A、模块设计 B、结构化设计 C、PDL语言 D、结构化程序设计 9、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( ) A、.软件工程 B、软件周期 C、软件危机 D、软件产生 10、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作() A、需求分析 B、概要设计 C、详细设计 D、软件维护 11、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是() A、探索型模型 B、演化型模型 C、实验型模型 D、提交型模型 12、程序设计语言的工程特性之一为( ) A、软件的可重用性 B、数据结构的描述性 C、抽象类型的描述性 D、数据库的易操作性 13、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A、可用性 B、可靠性 C、正确性 D、完整性 14、模块设计中,最不希望的内聚是() A、功能内聚 B、通信内聚 C、过程内聚 D、偶然内聚 15、实施快速原型模型方法开发软件的关键在于() A、CASE工具的支持 B、如何开发演化型模型 C、项目主管的支持 D、开发人员的素质 16、程序流程图(框图)中的箭头代表( )。 A、数据流 B、控制流 C、调用关系 D、组成关系 17、一个只有顺序结构的程序,其环形复杂度是( )。 A、0 B、1 C、3 D、不确定的

软件工程复习题库带答案完整版

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围 B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除 D.风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类 D.确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合 D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品 D.工作流 8、功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。 A.只有结构化语言 B.有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。 A.正确性 B.适应性 C.完善性 D.预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工 B.变换、加工、数据流和存储 C.加工、数据流、数据存储和外部实体 D.变换、数据存储、加工和数据流

分离工程课程 思考题

分离工程课程 思考题 1.气液相平衡系统分几类?各类相应的i K 的计算式怎样? 2.工程计算中求取相平衡常数的常用途径有哪两条?各自的i K 计算式怎样? 3.应用状态方程计算L i ?和V i ?的方程相同,那么如何确定算得的结果是L i ?和V i ?? 4.现有乙烷,丙烷和异丁烷组成的三元混合物,采用SRK 状态方程计算它们的相平衡常数i K ,试问需要查取哪些基础数据才能计算它们的i K ? 5.现有乙醇,水,正丙烷组成的三元混合物,采用Wilson 活度系数和Virial 方程计算气相逸度系数,试问需要查取哪些基础数据才能计算它们的i K ? 6.何谓真实气体的理想溶液?当气液两相均可作为理想溶液处理时,i K 取决于哪些因素? 7.以局部组成概念为基础的活度系数方程用来预计多元系的气液平衡,比起Wohl 型一类方程有哪些优点? 8.教材介绍的泡点计算的框图用来计算压力不十分高系统泡点十分有效,试分析原因。 9.如何比较简单地判别一个混合物状态?试归纳相态判别的关系式。 10.等温闪蒸计算机的计算,采用目标函数何迭代变量是什么?用它们有什么优点? 11.构成一个计算机计算的要点是什么?试以Wang - Hanke 法为例进行剖析并由此说明算法的局限性。 12.试推导多级分离过程的MESH 方程组。 13.三对角线的BP 法何SR 法的框图怎样?两法各自适用的物系是哪些? 14.精馏塔的操作压力的上,下限各由什么因素决定?增大操作压力对分离效果和能耗有何影响? 15.何谓关键组分?精馏分离的多元混合物可能含有哪些组分? 16.有A ,B ,C ,D (以挥发度递减次序排列)四组分组成的料液加入精馏塔中进行分离。试对A ,B : B ,C 或C ,D 是轻重关键组分时,塔在m R 下操作时塔中的恒沸区位置进行分析。因为什么组分的变化而引起恒浓区位置的变化? 17.估算精馏塔塔顶和塔底产品的量和组成有哪两种方法?各自的基本假定有哪些? 18.试应用教材中推导的s /12α计算式(式2-175),说明萃取精馏中溶液的作用。如果原料中两组分的相对挥发度十分接近1,靠加入溶剂的什么作用才可能使s /12α

软件工程课程复习大纲

软件工程课程复习大纲 第一章软件工程概论 本章作为全书的概论,主要讲述了软件、软件工程概念和软件开发的目标和本质。 基本要求: 1、“软件”概念: “软件”一词具有三层含义: (1)一为个体含义,即指计算机系统中的程序及其文档; (2)二为整体含义,即指在特定计算机系统中所有上述个体含义下的软件的总称,亦指计算机系统中硬件除外的所有成分; (3)三为学科含义,即指在研究、开发、维护以及使用前述含义下的软件所涉及的理论、方法、技术所构成的学科。 2、“软件工程”概念: (1)一方面,软件工程是一类求解软件的工程。它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法、创建软件以达到提高质 量,降低成本的目的; (2)另一方面,软件工程也是一门指导计算机软件开发和维护的工程学科。 3、“模型”概念: 模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述,给出系统内各模型元素以及它们之间的语义关系。 重点要求: 1、软件开发的本质:实现问题域中的概念和处理逻辑到运行平台的概念和 处理逻辑的映射。 第二章软件过程 本章围绕软件过程这一主题,讲解了三方面的内容: 一:介绍了软件生存周期过程。按照承担软件开发工作的主体,软件生存周期过程分三类:基本过程、支持过程和组织过程。每类过程又包含一些确定的过程,每一过程又是由一组确定的活动定义的。 二:介绍了几种常用的软件生存模型:瀑布模型、增量模型、演化模型、螺旋模型和喷泉模型等,分析了这些模型的优缺点及它们的适用情况等。 三、讲解了一个软件项目生存周期过程的规划和监控。一个软件项目生 存周期过程规划包括三个阶段:第一阶段的目标是选取一个适合该项目特点

《软件工程》复习资料

1,什么是软件,软件的性质 软件是完成某类问题求解的程序和数据以及为维护程序必须提供的一系列文档组成的集合。软件=程序+数据+文档。 软件的内在性质是:软件具有高度的抽象性和严密的逻辑性。 软件的外在性质是:软件是一种逻辑信息产品,是用文字、符号表达的智力产物。 2,什么是工程化工程化的软件开发方法与早期的程序设计方法的不同点在哪里? 将成熟工程领域的方法应用于软件开发。工程化的方法包括如下四个方面: ⑴.具有相应的理论与技术⑵.具备实现工程化的工具和环境 ⑶.具备统一的工程规范⑷.管理和控制 3,软件工程研究的内容 软件项目的管理 软件工程的知识体系包括如下内容 过程:软件开发的步骤。方法:软件开发各步骤所用到的技术。管理:控制软件开发按照过程和方法顺利完成的技术和措施。工具:辅助人们贯彻过程和方法,并实施管理 1,可行性分析包含哪些内容,它们的含义是什么? 答:⑴.经济上可行性:论证系统有没有经济效益或社会效益?多长时间能回收成本? ⑵.技术上可行性:实现新系统需要哪些技术,现有技术能否解决,难点?建议采用的技术先进程度怎样?新技术的应用是否存在风险?是否能够找到胜任该系统的熟练的技术人员?等等⑶.操作上可行性:系统的操作方式在用户所在的组织内是否可行,特别是对原有系统扩展会不会引起矛盾。⑷.法律上可行性:会不会引起侵权、会不会引起其他的社会问题。 2,下列哪些工作中需要估算软件成本? I)软件可行性研究II)软件计划III)软件需求分析IV)软件运行和维护 三 1,结构化分析方法的三种描述手段 数据流图,掌握数据流图中的基本符号,大题要求给出一个需求能够画出多层数据流图 数据字典 加工说明的三种描述工具是:结构化语言、判定树和判定表来表示 2,结构化方法的特点:自顶向下,逐层分解,抽象和分解 3,用户需求: ?某学校需要开发一套基于Web的研究生招生管理系统,用户需求如下: –考生可以登录系统提交报名信息,报名信息经过格式确认存入数据库;信息提交成功后能够网上在线支付报名费并记录交费信息;交费成功的考生可以打印 报名表。 –各院系教务员能够查看和审核考生提交的报名信息,确定信息是否准确有效,最后给出审核是否通过的标志。教务员还能够打印报名考生清单。 –招生办公室管理员能够查询有效的报名考生信息和打印统计报表;能够生成报名考生数据文件上报到上级单位(教育部)。 题目要求: ?请用SA方法对它进行分析,画出分层数据流图。(只要求数据流图,不要求数据字典和 报名信息库

软件工程复习题答案

软件工程复习题答案 Final approval draft on November 22, 2020

一、选择题 1.软件工程研究的主要内容有(ABCD) 2.A. 软件开发方法、技术 B. 软件开发工具及环境 3.C. 软件管理技术 D. 软件规范(国际规范) 4.目前典型的软件开发模型有(ABCD): 5.A. 瀑布模型 B. 增量模型 C.螺旋模型 D.喷泉模型 6.包含风险分析的软件工程模型是(C): 7.A. 瀑布模型 B. 增量模型 C.螺旋模型 D.喷泉模型 8.软件危机的主要表现是(BD) 9.A. 软件成本太高 B. 软件产品的质量低劣 10. C. 软件开发人员明显不足 D. 软件生产率低下 11.以下属于非功能需求的有(ABC) 12. A. 机构需求 B. 产品需求 C. 外部需求 D. 领域需求 13.需求分析的作用是(ABCD) 14. A. 定义软件的范围及必须满足的约束 15. B. 确定软件的功能和性能及与其他系统成分的接口 16. C. 建立数据模型、功能模型和行为模型 17. D. 最终提供需求规格说明,并用于作为评估软件质量的依据 18.需求工程的基本活动包括(ABCD) 19. A. 获取需求 B. 需求分析与建模 C. 确认需求 D. 进化需求 20.需求获取之所以困难,其主要原因有(ABCD) 21. A. 缺乏领域知识 B. 存在默认的知识 22. C. 存在多个知识源 D. 客户可能的偏见 23.常用的需求分析方法有(BCD) 24. A. 功能分析方法 B. 结构化分析方法 25. C. 信息建模法 D. 面向对象的分析方法 26.数据词典中可包含的条目有(ABCD) 27. A. 数据流 B. 数据项 C. 文件 D. 加工 28.属于分布式的软件体系结构有(B) 29. A. 仓库模型 B. 客户/服务器模型 C. 分布式对象结构 D. 中间件30.对于以下给出的几种类型的耦合,按照耦合性由高到低排列的是(A) 31.(1)内容耦合(2)公共耦合(3)控制耦合(4)复合耦合(5)数据耦合 32. A. 1 2 3 4 5 B. 1 3 4 2 5 C. 1 2 5 3 4 D. 5 4 3 2 1 33.对于块内部联系的类型,内聚性由弱到强的是(A) 34.(1)偶然型(2)逻辑型(3)瞬时型(4)通信型(5)顺序型(6)功能型 35. A. 1 2 3 4 5 6 B. 1 2 4 5 3 6 C. 3 2 4 1 5 6 D. 6 5 4 3 2 1 36.(C)是指相同的操作(或函数、过程)作用于不同的对象上并获得不同的结果 37. A. 继承性 B. 封装性 C. 多态性 D. 动态绑定 38.以下UML的几种图中,属于动态模型的有(ACD)

软件工程试题和答案.doc

一、选择 1、在软件开发的各种资源中,(B)是最重要的资源。 A开发工具B方法C硬件环境D人员 2、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A固有的B人为的C可消除的D不可降低的 3、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A )系统。 A需求不确定的B需求确定的C管理信息D决策支持 4、单元测试的测试用例主要根据( D )的结果来设计。 A需求分析B源程序C概要设计D详细设计 5、(A )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A软件过程B软件工具C软件生存周质量保证D软件工程 6、(A )意味着一个操作在不同的类中可以有不同的实现方式。 A多态性B类的复用C封装 7、软件测试计划开始于需求分析阶段,完成于(D )阶段。 A需求分析B软件设计C软件实现D软件测试 8、在软件生存周期的瀑布模型中一般包括计划、(C )、设计、编码、测试、维护等阶段。 A可行性分析B需求采集C需求分析D问题定义 9. 软件需求分析阶段的测试手段一般采用( C )。 A总结B阶段性报告C需求分析评审D不测试 10. (C )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A多态性B继承C封装D消息 11. 软件测试是为了(B )而执行程序的过程。 A纠正错误B发现错误C避免错误D证明正确 12. 在结构化分析方法中,(C )表达系统内部数据运动的图形化技术。 A数据字典B实体关系图C数据流图D状态转换图 13. 软件工程的基本要素包括方法、工具和( A )。 A过程B软件系统C硬件环境D人员 14. TURBO PASCAL是(A)软件。

《生化分离工程》思考题及习题

《生化分离工程》思考题及习题 第一章绪论 1、何为生化分离工程bioseparation engineering/下游加工过程, biotechnology?其 主要研究那些内容? 2、生化分离技术依据的分离原理有哪些? 3、生化分离工程有那些特点?其包括那几种主要分离方法? 4、何为传质分离过程? 5、简述生化分离工程的发展趋势。 6、亲和技术目前已衍生出那些子代分离技术? 7、生化反应与生化分离耦合技术有那些特点? 8、为何在生物技术领域中往往出现“丰产不丰收”的现象? 9、生物产品与普通化工产品分离过程有何不同? 10、设计生物产品的分离工艺应考虑哪些因素? 11、初步纯化与高度纯化分离效果有何不同? 12、如何除去蛋白质溶液中的热原质? 13、生物分离为何主张采用集成化技术? 14、若每一步纯化产物得率为90%,共6步纯化得到符合要求产品,其总收率 是多少? 第二章预处理与固-液分离法 1、发酵液预处理的目的是什么?主要有那几种方法? 2、何谓絮凝?何谓凝聚?各自作用机理是什么? 3、絮凝剂可分为那三种?有那些因素影响絮凝过程? 4、在生化工业中常用的过滤方式那两种?各自有何特点? 5、离心分离分那两大类?各自有何特点及用途?常用离心法有那几种? 6、何谓密度梯度离心?其工作原理是什么? 7、如何使用助滤剂? 8、错流微滤与传统过滤相比有何优点?

第三章细胞破碎法 1、细菌细胞壁与真菌(酵母)细胞壁在组成上有何区别? 2、细胞破碎主要有那几种方法? 3、机械法细胞破碎方法非机械破碎方法相比有何特点? 4、何谓脂溶破碎法?其原理是什么?包括那几种? 5、酶法细胞破碎常用那几种酶类? 6、包涵体是如何产生的?如何使重组蛋白复性? 7、如何测定细胞破碎程度? 第四章沉淀法 1.理解概念:盐溶,盐析 2.常用的沉淀法有哪几种? 3.生产中常用的盐析剂有哪些?其选择依据是什么? 4.何谓分步盐析沉淀? 5.有机沉淀法与盐析沉淀法相比有何优缺点? 第五章溶剂萃取法 1、何谓溶剂萃取?其分配定律的适用条件是什么? 2、在溶剂萃取过程中pH值是如何影响弱电解质的提取? 3、何谓乳化液?乳化液稳定的条件是什么?常用去乳化方法有那些? 4、在发酵工业中,去乳化有何实际意义? 5、理解概念:HLB,分配系数,分离因子,介电常数,带溶剂 6、生物物质的萃取与传统的萃取相比有哪些不同点? 7、pH 对弱电解质的萃取效率有何影响? 8、发酵液乳化现象是如何产生的?对分离纯化产生何影响? 如何有效消除乳化现象? 9、什么叫超临界流体? 10、为何在临界区附近,稍微改变流体的压力和温度,都会引起流体密度的大副变化? 11、要提高超临界流体萃取的效率,可以考虑哪些方面?

软件工程复习大纲-整理

软件工程复习大纲 题型: 选择题 判断题 简答题 应用题(60分) ①数据流图 ②用例图 ③程序流程+白盒测试 ④顺序图 ⑤黑盒测试(等价类划分和边界值分析) ⑥计算题(第八章软件度量) 选择,判断,简答:重心会适当往第六章之后压 一.概述(无大题、简答题,主要是选择和判断)1.软件的概念和特点(三个要素) 概念: 软件= 程序+数据+文档 ●程序:按事先设计的功能和性能需求执行的指令序列 ●数据:是程序能正常操纵信息的数据结构 ●文档:与程序开发、维护和使用有关的图文材料 特点(选择或判断)

三个要素: 工具 方法:完成软件工程项目的技术手段(分为结构化方法和面向对象方法) 过程:贯穿软件开发所有环节 2.软件危机和现状(不协调现象软硬件矛盾) 软件危机定义: 在计算机软件的开发和维护过程中所遇到的一系列严重问题。(效率下降,质量下降)现状: ●软件成本日益增加 ●软件技术进步落后于需求增长 7个原则:

3.软件工程的定义和发展过程 软件工程定义: 应用系统化的、学科化的、定量的方法,来开发、运行和维护软件,即,将工程应用到软件。 发展过程: 第一软件工程传统的软件工程 第二代软件工程对象工程 第三代软件工程过程工程 第四代软件工程构件工程 软件工程知识体系

二.过程模型(无大题) 1.软件的生命周期、软件过程概念 软件过程:(软件开发中所遵循的路线图) 软件过程可以定义软件生产的一系列活动,这些活动贯穿于软件开发的整个过程。

软件过程模型:(软件生存周期模型、软件开发模型) 软件过程模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。 (定义了若干小的框架活动,为完整的软件开发过程建立了基础。 每一个活动由一组软件工程动作组成 每一个动作都包括一系列相互关联的可考核的任务,并产生一个关键的工作产品。 每一个任务完成一个动作定义的一部分工作。) 过程具有的共同活动: 沟通计划建模构建部署 2.常见的几种软件过程模型 重点三个:瀑布模型、增量模型、原型,优点缺点,应用场合,要会举例子 另外两个,螺旋和敏捷 瀑布模型: 特点: 1. 阶段间具有顺序性和依赖性。 2. 推迟实现的观点。 3. 为了保证质量:①每个阶段必须完成规定的文档; ②每个阶段结束前完成文档审查,及早改正错误 优点: ①提供了一个模板,使得分析、设计、编码、测试与维护工作可以在该模板的指导下有序 地展开,避免了软件开发、维护过程中的随意状态。

相关文档