当前位置:文档之家› 软件工程习题及解答2

软件工程习题及解答2

软件工程习题及解答2
软件工程习题及解答2

第二章习题

一、选择题

1、可行性分析研究的目的是()

A.争取项目

B.项目值得开发否

C.开发项目

D.规划项

2. 可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出()的回答。

A.确定 B.行或不行 C.正确 D.无二义

3、 DFD中的每个加工至少需要( )

A. 一个输入流

B. 一个输出流

C. 一个输入或输出流

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

4 .数据流图( DFD )是 _________ 方法中用于表示系统的逻辑模型的一种图形工具。()

A . SA

B . SD

C . SP

D . SC

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

A. 成本—效益分析

B. 可行性分析

C. 结构化分析

D. 软件需求分析

6.软件可行性研究一般不考虑()

A.是否有足够的人员和相关的技术来支持系统开发

B.是否有足够的工具和相关的技术来支持系统开发

C.待开发软件是否有市场、经济上是否合算

D.待开发的软件是否会有质量问题

7、下列模型属于成本估算方法的有( )

A、COCOMO模型

B、McCall模型

C、McCabe度量法

D、时间估算法

8、从心理学角度看,对数据流程图的数据处理泡进行分解,一次分解为多少个泡为宜。()

A、3±1

B、7±2

C、15±1

D、18±2

9、研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。

A. 技术可行性

B. 经济可行性

C. 社会可行性

D. 法律可行性

10. 软件可行性研究实质上是要进行一次( )需求分析、设计过程。

A. 简化、压缩的

B. 详细的

C. 彻底的

D. 深入的

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

A. 成本估算

B. 项目计划

C. 工程管理

D. 工程网络图

二.简答题

1.情景与描述了所有可能的动作序列的状态图之间有什么关系?

2.在程序流程图中的每个结点都必须有一条从开始结点到该结点本身的路径,以及一条从该结点到结束结点的路径。为什么数据流图没有关于结点之间可达性的类似规则?

3.请为某仓库的管理设计一个ER模型。该仓库主要管理零件的订购和供应等事项。仓库向工程项目供应零件,并且根据需要向供应商订购零件。

4.银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存款存单给储户;,如果是取款而且取款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。

请用数据流图描述本系统的功能,并用实体-联系图描述系统中的数据对象。

5.目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。

医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信号,此外,护士在需要时还可以要求系统输出某个指定病人的病情报告。

6.考虑一个修改磁带上主文件的系统。文件管理员把修改信息穿孔在卡片上,系统读入穿孔卡片上的信息并按照记录号把修改信息顺序排列好。然后系统逐个读入主文件上的记录,根据记录上的校验码校核每个读入的记录,丢掉出错的记录,按照修改信息修改余下的记录,产生的新文件存储在磁盘上。最后,系统输出一份修改报告供文件管理员参阅。

请分层次地画出上述主文件修改系统的数据流图。

7.某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,如果是本地电话再接着拨8位电话号码(第1位不是0),如果是外地电话则先拨3位区码,再拨8位电话号码(第1位不是0)。

请用2.8节讲述的符号,定义上述的电话号码。

8.办公室复印机的工作过程大致如下:未接收到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现缺纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。

请用状态转换图描绘复印机的行为。

9.二维整数表是由整数对构成的数组,可以认为表中左列的整数被映射成右列的整数,因此,可以把二维整数表看作是把整数映射成整数的函数。该函数的定义域是表中左列整数的集合,例如,若表g={(3,5),(7,6),(8,2)},则g的定义域dom(g)={3,7,8}。

查表(Lookup)操作在一张二维整数表中查找一个给定的表项(即,整数)。如果在表的定义域中有这个给定的整数,则查找结果为该整数所映射成的整数,否则查找结果为零。例如,若在上述的表g中查找整数7,则得到的结果为6;若查找整数5,则得到的结果为0.

试用Z语言写出查表操作的规格说明。

10.一个浮点二进制数的构成是:一个可选的符号(+或-),后跟一个或多个二进制位,再跟上一个字符E,再加上另一个可选符号(+或-)及一个或多个二进制位。例如,下列的字符串都是浮点二进制数:

110101E-101

-100111E11101

+1E0

更形式化地,浮点二进制数定义如下:

::=[]E[]

::= +︱-

::=[]

::=0︱1

其中,

符号::=表示定义为;

符号[…] 表示可选项;

符号a︱b表示a或b。

假设有这样一个有穷状态机:以一串字符为输入,判定字符串是否是合法的浮点二进制数。试对这个有穷状态机进行规格说明。

11.假设你在一所职业高中工作,负责该校信息系统的建设与维护。财务科长请你研究用学校拥有的微型计算机生成工资明细表和各种财务报表的可能性。

请详细描述你用结构化分析方法分析上述问题的过程。

第二章习题解答

一、选择题

答案: 1、B 2、B 3、D 4、A 5、A

6、D

7、A

8、B

9、B 10、A 11、 A

二、简答题

1.答:情景仅仅是通过部分或全部状态图的一条路径。也就是说,情景仅仅描述了系统的某个典型行为,而状态图则描述了系统所有行为。

2.答:数据流图不描述控制,因此,在一个数据流图中有两个“处理”之间可能没有通路。如果每个处理都使用不同的输入数据,并生成不同的输出数据,而且一个处理的输出不用做另一个处理的输入,那么,在它们之间就没有弧。

3.答:建立ER图的大致过程如下所述:

(1)确定实体类型

本问题中共有三类实体,分别为“零件”、“工程项目”和“供应商”。

(2)确定联系类型

一种零件可供应多个工程项目,一个工程项目需要使用多种零件,因此,零件与工程项目之间的联系“供应”,是多对多(M:N)联系;类似地,零件与供应商之间的联系“订购”,也是多对多(M:N)联系。

(3)确定实体类型和联系类型的属性

实体类型“零件”的主要属性是:零件编号,零件名称,颜色,重量。实体类型“工程项目”的主要属性是:项目编号,项目名称,开工日期。实体类型“供应商”的属性主要有:供应商编号,供应商名称,地址。

联系类型“供应”的属性是,向某工程项目供应的某种零件的数量。联系类型“订购”的属性是,向某供应商订购的某种零件的数量。

(4)把实体类型、联系类型及属性组合成ER图。

仓库管理的ER图如图2.1所示。

图2.1 仓库管理的ER图

4.答:(1)描绘本系统功能的数据流图如图2.2所示。

图2.2 计算机储蓄系统数据流图

(2)本问题中共有两类实体,分别是“储户”和“储蓄所”,在它们之间存在“存取款”关系。因为一位储户可以在多家储蓄所存取款,一家储蓄所拥有多位储户,所以“存取款”是多对多(M:N)关系。

储户的属性主要有姓名、住址、电话号码和身份证号码,储蓄所的属性主要是名称、住址和电话号码,而数额、类型、到期日期、利率和密码则是联系类型存取款的属性。

图2.3是描述计算机储蓄系统中数据对象的实体-联系图。

图2.3 计算机储蓄系统的实体-联系图

5.答:从问题陈述可知,本系统的数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。

从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。

系统对病人生理信号的处理功能主要是“接收信号”、“分析信号”和“产生警告信息”。此外,系统还应该具有“定期取样生理信号”、“更新日志”和“产生病情报告”的功能。

为了分析病人生理信号是否超出了医生规定的安全范围,应该存储“患者安全范围”信息。此外,定时记录病人生理信号所形成的“患者日志”,显然也是一个数据存储。

本系统的基本系统模型如图2.4所示,图2.5是本系统的功能级数据流图。

图2.4 患者监护系统的基本系统模型

图2.5 患者监护系统的功能级数据流图

6.答:本系统的数据源点和终点都是文件管理员,他既向系统提供修改信息,又接收系统生成的修改报告。

系统功能主要有:接收修改信息,读主文件,校核记录,修改原始记录和产生报告。注意,问题陈述中所描述的“系统安装记录号把修改信息顺序排列好”,是具体的实现方法。在数据流图中无须描述具体实现方法,因此,在本系统的数据流图中不需要包含“排序”功能。类似地,“文件管理员把修改信息穿孔在卡片上,系统读入穿孔卡片上的信息”,是系统接收修改信息的具体方法。在数据流图中无须描绘这个具体的实现方案,因此,在本系统的数据流图中不需要包含“穿卡片”和“读卡片”的功能。

本系统包含的数据存储是:修改信息,主文件和修改后的主文件。

图2.6是本系统的基本系统模型,图2.7是功能级数据流图。

图2.6 主文件修改系统的基本系统模型

图2.7 主文件修改系统的功能级数据流图

7.答:电话号码=[校内电话号码│校外电话号码]

校内电话号码=非零数字+3位数字

校外电话号码=[本市号码│外地号码]

本市号码=数字零+8位数字

外地号码=数字零+3位数字+8位数字

非零数字=[1│2│3│4│5│6│7│8│9]

数字零=0

3位数字=3{数字}3

8位数字=非零数字+7位数字

7位数字=7{数字}7

数字=[0│1│2│3│4│5│6│7│8│9]

8.答:从问题陈述可知,复印件的状态主要有“闲置”、“复印”、“缺纸”和“卡纸”。引起状态转换的事件主要是“复印命令”、“完成复印命令”、“发现缺纸”、“装满纸”、“发生卡纸故障”和“排除了卡纸故障”。

图2.8所示状态转换图描绘了复印机的行为。

图2.8 复印机的状态图

9.答:Lookup操作的Z规格说明如图2.9所示。

图2.9 Lookup操作的Z规格说明

上面给出的Z规格说明指出:t是二维整数表,t'是执行查表操作后的二维整数表;l?是输入(即要查找的整数),r!是查表操作得到的结果,它也是整数。

图2.9所示Z格的下半部分准确地说明了查表操作应该得到的结果:

●若输入l?不在表t的定义域中,则输出r!是0,而且表t保持不变;

●若输入l?在表t的定义域中,则输出r!是表t中l?所映射成的那个整数,而且表t保持不变;

为什么需要在Z规格说明中指出,查表结果保持表t不变呢?试想,如果在Z规格说明中没有提出这项要求,则在查找过程中修改了表t的实现方案(可能这样做编程更方便些),也是符合规格说明的。但是,这样的实现方案是用户不能接受的。

10.答:该有穷状态机的初态是“等待字符串输入”。在初态若接收到字符+、或字符-、或二进制位,则进入“输入尾数”状态;在初态若接收到其他字符,则进入终态“非浮点二进制数”。在“输入尾数”状态若接收到二进制位,则保持该状态不变;若接收到字符E,则进入“等待输入指数”状态;若接收到其他字符,则进入终态“非浮点二进制数”。在“等待输入指数”状态若接收到字符+、或字符-、或二进制位,则进入“输入指数”状态;若接收到其他字符,则进入终态“非浮点二进制数”。在“输入指数”状态若接收到二进制位,则保持该状态不变,若输入其他字符,则进入终态“非浮点二进制数”;若输入结束,则进入终态“浮点二进制数”。

综上所述,判断输入的字符串是否是浮点二进制数的有穷状态机如图2.10所示。

图2.10 判断浮点二进制数的有穷状态机

仔细研究图2.10所示的有穷状态机可以发现,它还有不够严格的地方。有兴趣的读者请进一步改进它,画出更严格的、与浮点二进制数定义完全一致的有穷状态机。

11.答:通常,结构化分析过程包括问题定义、可行性研究和需求分析3个阶段。下面分别叙述这3个阶段的分析过程。

(1)问题定义

从何处着手解决财务科长提出的问题呢?立即开始考虑实现工资支付系统的详细方案并动手编写程序,对技术人员无疑是很有吸引力的。但是,在这样的早期阶段就考虑具体的技术问题,却很可能会使我们迷失前进的方向。会计部门(用户)并没有要求在学校自己的计算机上实现工资支付系统,仅仅要求研究这样做的可能性。后者是和前者很不相同的问题,它实际上是问,这样做预期将获得的经济效益能超过开发这个系统的成本吗?换句话说,这样做值得吗?

优秀的系统分析员还应该进一步考虑,用户面临的问题究竟是什么。财务科长为什么想研究在自己的计算机上实现工资支付系统的可能性?询问财务科长后得知,该校一直由会计人员计算计算工资并编制财务报表,随着学校规模扩大工作量也越来越大。目前每个月都需要两名会计紧张工作半个月才能完成,不仅效率低而且成本高。今后学校规模进一步扩大,人工计算工资的成本还会进一步提高。

因此,目标是寻找一种比较便宜的生成工资明细表和各种财务报表的办法,并不一定必须在学校自己的计算机上实现工资支付系统。财务科长提出的要求,实际上并没有描述应该解决的问题,而是在建议一种解决问题的方案。这种解决方案可能是一个好办法,分析员当然应该认真研究它,但是也还应该考虑其他可能的解决方案,以便选出最好的方案。良好的问题定义应该明确地描述实际问题,而不是隐含地描述解决问题的方案。

分析员应该考虑的另一个关键问题,是预期的项目规模。为了改进工资支付系统最多可以花多少钱呢?虽然没人明确提出来,但是肯定会有某个限度。应该考虑下述3个基本数字:目前计算工资所花费的成本,新系统的开发成本和运行费用。新系统的运行费用必须低于目前的成本,而且节省的费用应该能使学校在一个合理的期限内收回开发新系统时的投资。

目前,每个月由两名会计用半个月时间计算工资和编制报表,一名会计每个月的工资和岗位津贴共约2000元,因此,每年为此工作花费的人工费约2.4万元。显然,任何新系统的运行费用也不可能减少到小于零,因此,新系统每年最多可能获得的经济效益是2.4万元。

为了每年能节省2.4万元,投资多少钱时可以接受的呢?绝大多数单位都希望在3年内收回投资,因此,7.2万元可能是投资额的一个合理的上限值。虽然这是一个很粗略的数字,但是它确实能使用户对项目规模有一些了解。

为了请客户(会计科和学校校长)检验分析员对需要解决的问题和项目规模的认识是否正确,以便在双方达成共识的基础上开发出确实能满足用户实际需要的新系统,典型地,分析员用一份简短的书面备忘录表达他对问题的认识,这份文档称为“关于系统规模和目标的报告书”(见表2.1)。

表2.1 关于工资支付系统规模和目标的报告书

校长和财务科经过研究同意了上述报告书,可以对工资支付项目进行更仔细的研究了。

(2)可行性研究

可行性研究是抽象和简化了的系统分析和设计的全过程,它的目标是用最小代价尽快确定问题是否能够解决,以避免盲目投资带来的巨大浪费。

本项目的可行性研究过程由下述步骤组成。

①澄清系统规模和目标

为了确保从一个正确的出发点着手进行可行性研究,首先通过访问财务科和校长进一步验证上一阶段写出的“关于工资支付系统规模和目标的报告书”的正确性。

通过访问分析员对人工计算机工资存在的弊端有了更具体的认识,并且了解到工资总数应该记入分类日记账,显然,新工资支付系统不能忽略与分类账系统的联系。

②研究现有的系统

了解任何应用领域的最快速有效的方法,可能都是研究现有的系统。通过访问具体处理工资事务的两名会计,可以知道处理工资事务的大致过程。开始时把工资支付系统先看作一个黑盒子,图2.11所示的系统流程图描绘了处理工资事务的大致过程。

图2.11 处理工资事务的大致过程

处理工资事务的大致过程是,每月月末教师把他们当月实际授课时数登记在课时表上,由各系汇总后交给财务科,职工把他们当月完成承包任务的情况登记在任务表上,汇总后交给财务科。两名会计根据这些原始数据计算每名教职工的工资,编制工资表、工资明细表和财务报表。然后,把记有每名教职工工资总额的工资表报送银行,由银行把钱打到每名教职工的工资存折上,同时把工资明细表发给每名教职工。

接下来应该搞清楚图2.11中黑盒子(工资支付系统)的内容。

通过反复询问财务人员,可以知道现有的人工系统计算工资和编制报表的流程如下:接到课时表和任务表之后,首先审核这些数据,然后把审核后的数据按教职工编号排序并抄到专用的表格上,该表格预先印有教职工编号、姓名、职务、职称、基本工资、生活补贴、书报费、交通费、洗理费等数据。接下来根据当月课时数或完成承包任务情况,计算课时费或岗位津贴。算出每个人的工资总额之和,再计算应该扣除的个人所得税,应交纳的住房公积金和保险费,最后算出每个人当月的实发工资数。把算出的上述各项数据登记到前述的专用表格上,就得到了工资明细表。然后对数据进行汇总,编制出各种财务报表,而工资表不过是简化的工资明细表,它只包含工资明细表中的教职工编号、姓名和实发工资这3项内容。图2.12所示的系统流程图描绘了所有的人工工资支付系统的工作流程。

图2.12 现有的工资支付系统

必须请有关人员仔细审查图2.12所示的系统流程图,有错误就应该及时纠正,有遗漏就应该及时补充。

③导出高层逻辑模型

系统流程图很好的描绘了具体的系统,但是,在这样的图中把“做什么”和“怎样做”这两类不同范畴的知识混在一起了。我们的目标不是一成不变地复制现有的人工系统,而是开发一个能完成同样功能的新系统,因此,应该着重描绘系统的逻辑功能。

删除图2.12中表示的有关具体实现方法的信息,把它抽象成图2.13。在这张数据流图中用“事务数据”代表课时表和任务表中包含的数据,用“加工事务数据”笼统地代表计算课时费、岗位津贴、工资总额、个人所得税、住房公积金、保险费、实发工资等一系列功能。这张数据流图描绘的系统高层逻辑模型,在可行性研究阶段还不需要考虑完成“加工事务数据”功能的具体算法,因此没必要把它分解成一系列更具体的数据处理功能。

图2.13 工资支付系统的数据流图

在图2.13中的处理框“更新分类账”虽然不属于本系统应完成的功能,但是,工资支付系统至少必须和“更新分类账”所在的系统通信,因此搞清楚他们之间的接口要点是很重要的。

在数据流图是上直接注明关键的定时假设很有必要。在以后的系统设计过程中这些假设将起重要作用。清楚地注明这些假设也可以增加及时发现和纠正误解的可能性。

④进一步确定系统规模和目标

现在,分析员再次访问会计和财务科长,讨论的焦点集中在图2.13所示的数据流图,它代表了到现在为止分析员对所要开发的系统的认识。通过仔细分析和讨论数据流图,能够及时发现并纠正分析员对系统的误解,补充被他忽视了的内容。

分析员现在对工资支付系统的认识已经比问题定义阶段深入多了,根据现在的认识,可以更准确地确定系统规模和目标。如果系统规模有较大变化,则应及时报告给客户,以便做出新的决策。

可行性研究的上述4个步骤可以看作是一个循环。分析员定义问题,分析这个问题,导出试探性的逻辑模型,在此基础上再次定义问题……重复这个循环直至得出准确地逻辑模型为止,然后分析员开始考虑实现这个系统的方案。

⑤导出供选择的解法

现在分析员对用户的问题已经有了比较深入的理解,但是,问题有行得通的解决办法吗?回答这个问题的唯一方法是,导出一些供选择的解决办法,并且分析这些解法的可行性。

导出供选择的解法的一个常用的简单方法是从数据流图出发,设想几种划分自动化边界的模式,并且为每种模式设想一个系统。

在分析供选择的解法时,首先考虑的是技术上的可行性。显然,从技术角度看不可能实现的方案是没有意义的。但是,技术可行性只是必须考虑的一个方面,还必须能同时通过其他校验,一种方案才是可行的。

接下来考虑操作可行性。例如,在对学生开发的公共计算机房内运行工资支付程序显然是不适合的。这样做不仅不安全而且会暴露教职工的个人隐私。因此,必须为工资支付系统单独购置一台计算机及必要的外部设备,并且放在一间专用的房间里。

最后,必须考虑经济可行性问题,即“效益大于成本吗?”因此,分析员必须对已经通过了技术可行性和操作可行性检验的解决方案再进行成本/效益分析。

为了给客户提供在一定范围内进行选择的余地,分析员应该至少提出3种类型的供选择的方案:低成本系统,中等成本系统和高成本系统。

如果把每月发一次工资改为每两月发一次工资,则人工计算工资的成本大约可减少一半,即每年可节省1.2万元。除了已经进行的可行性研究的费用外,不再需要新的投资,这是一个很诱人的低成本方案。

当然,也必须充分认识上述低成本方案的缺点:违反常规;教职工反对;不能解决根本问题,随着学校规模扩大,人工处理工资事务的费用也将成比例地增加。

作为中等成本的解决方案,建议基本上复制现有系统的功能:课时表和任务表交到处理工资事务的专用机房,操作员把这些数据通过终端送入计算机,数据收集程序接收并校核这些事务数据,把它们存储在磁盘上。然后运行工资支付程序,这个程序从磁盘中读取事务数据,计算工资,打印出工资表、工资明细表和财务报表。图2.14所示的系统流程图描绘了上述系统。

图2.14 中等成本方案的系统流程图

上述中等成本方案看起来比较现实,因此对它进行了完整的成本/效益分析,分析结果列在表2.2中。从分析结果可以看出,中等成本的解决方案是比较合理的,经济上是可行的。

表2.2 中等成本方案的成本/效益分析

最后,考虑一种成本更高的方案:建立一个中央数据库,为开发完整的管理信息系统做好准备,并且把工资支付系统作为该系统的第一个子系统。这样做开发成本大约将增加到12万元,然而从工资支付这项应用中获得的经济效益并不变。因此,如果仅考虑这一项应用,投资是不划算的,但是,将来其他应用系统(例如,教学管理,物资管理,人力资源管理)能以较低成本实现,而且这些子系统能集成为一个完整的系统。如果校长对这个方案感兴趣,可以针对它完成更详尽的可行性研究(大约需要用1万元)。

⑥推荐最佳方案

低成本方案虽然诱人,但是很难付诸实现;高成本的系统从长远看是合理的,但是它所需要的投资超出了预算。从已经确定的系统规模和目标来看,显然中等成本的方案是最好的。

⑦草拟开发计划

应该为推荐的最佳方案草拟一份开发计划,把系统生命周期划分成阶段,有助于制定出相对合理的计划。当然,在这样的早期开发阶段,制定出的开发计划是比较粗略的,表2.3给出了所制定的计划。

表2.3 实现中等成本的工资支付系统的粗略计划

⑧写出文档提交审查

分析员归纳整理本阶段的工作成果写成正式文档(其中成本/效益分析的内容,根据表

2.3所示的实现计划适当修正),提交由校长和财务科全体人员参加的会议审查。

(3)需求分析

需求分析的目的是确切地回答下述问题:“系统必须做什么?”

需求分析在可行性研究的基础上进行,前一阶段产生的文档,特别是数据流图(见图2.13),是需求分析的出发点。在需求分析过程中分析员将设计出更精确的数据流图,并将写出数据字典及一系列简明的算法描述,它们都是软件需求规格说明书的重要组成部分。

需求分析的主要任务是更详尽地定义系统应该完成的每一个逻辑功能。怎样完成这个任务呢?

任何数据处理系统的基本功能,都是把输入数据变成需要的输出信息。数据决定了处理和算法,看来数据应该是分析工作的出发点。必须经过计算才能得到的数据元素引出了必要的算法,算法反过来又引出了更多的数据元素。对数据的描述记录在数据字典中,对算法的描述记录在一组初步的IPO表中(目前描述的是说明数据处理功能的原理性算法)。

对系统有了更深入的认识之后,可以进一步细化数据流图。在细化数据流图的过程中,又会进一步加深对系统的认识。这样一步一步地分析,将更详尽更准确地定义出所需要的逻辑系统。

下面叙述工资支付系统的需求分析过程。

①沿数据流图回溯

为了把数据流和数据存储定义到元素级,一般说来,从数据流图的输出端着手分析是有意义的。这是因为,系统最基本的功能是产生需要的输出数据,在输出端出现的数据元素决定了系统的基本构成。

从图2.13的数据终点“教师”和“职工”开始分析,流入他们的数据流是“工资明细表”。工资明细表由哪些数据元素组成呢?从该职业高中目前使用的工作明细表上可以看出它包含许多数据元素,表2.4列出了这些数据元素。这些数据元素是从什么地方来的呢?既然它们是工资支付系统的输出,它们或者是从外面输入进系统的,或者是由系统经过计算产生出来的。沿数据流图从输出端网输入端回溯,分析员应该可以确定每个数据元素的来源。如果分析员不能确定某个数据元素的来源,那么,工资问题的专家应该知道,因此需要再次调查访问。这样有条不紊地分析下去,分析员将逐渐定义出系统的详细功能。

表2.4 工资明细表上包含的数据元素

例如,表2.4中的数据元素“工资总额”是怎么得出来的呢?从图2.13可以看出,包含数据元素“工资总额”的工资明细表,是从处理4(“分发工资明细表”)输出到数据终点的,但是这个处理的功能是分发已经打印好的工资明细表,并不能生成新的数据元素。沿着数据流图回溯(即逆着数据流箭头方向前进),接下来遇到数据存储D3(“工资明细表”)。数据存储只不过是保存数据的介质,它不具有变换数据的功能,因此也不会生成工资总额这

项数据元素。再回溯则来处理3(“加工事务数据”),显然,工资总额是由这个处理框计算出来的,因此应该确定相应的算法,以便更准确地定义这个处理框的功能。

根据常识,工资总额等于各项收入(基本工资、生活补贴、书报费、交通费、洗理费、课时费或岗位津贴)之和。虽然不同教职工的基本工资、生活补贴、书报费、交通费和洗理费的数额可能并不相同,但是对同一个人来说,在一段时间内这些数值时稳定不变的,不需要在每次计算工资总额时都从外面输入这项数据。事实上,在输入的事务数据中并不包含这些数据元素,因此,它们必定保存在某个数据存储中。目前,还不知道这项数据保存在何处,分析员在笔记本中记下“必须搞清楚基本工资、生活补贴、书报费、交通费和洗理费等数据元素存储在何处。”此外,为了计算工资总额必须先计算课时费或岗位津贴,因此,分析员在笔记本中记下“必须弄清课时费或岗位津贴的计算方法。”然后,着手分析另一个重要的数据元素“实发工资”。

显然,从工资总额中扣除个人所得税、住房公积金和保险费之后,余下的就是实发工资。沿数据流图回溯可知,个人所得税、住房公积金和保险费的数值都由处理3(“加工事务数据”)计算得出。但是,目前还不知道怎样计算这些数值,分析员在笔记本中记下“必须搞清楚个人所得税、住房公积金和保险费的计算方法。”

②写出文档初稿

分析员在分析过程中不断加深对目标系统的认识,应该把获得的信息用一种容易修改、容易更新的形式记录下来。

通常,一个系统会涉及许多人,他们彼此理解是至关重要的。文档是主要的通信工具,因此,文档必须是一致的和容易理解的。结构化分析方法要求,在需求分析阶段完成的正式文档(软件需求规格说明书)中必须至少包含三个重要成分:数据流图,数据字典,以及一组黑盒形式的算法描述。

数据字典是描述数据的信息的集合。在分析阶段数据字典能帮助分析员组织有关数据的信息,并且是和用户交流信息的有力工具,此外,它还能起备忘录的作用。在设计阶段可以根据它确定记录、文件或数据库的格式。在实现阶段,程序员可以根据数据字典确定数据描述。在系统投入运行以后,数据字典可以清楚地告诉维护人员,具体的数据元素在系统中是怎样使用的,当必须修改程序时,这样的信息是极其宝贵的。

在手边没有数据字典软件包可用时,可以用卡片形式人工建立数据字典。例如,为工资支付系统中几个数据元素填写的数据字典卡片如图2.15所示。

图2.15 工资支付系统的数据字典卡片

分析员还应该以黑盒形式记录算法。所谓黑盒子就是不考虑一个功能的具体实现方法,只把它看作给予输入之后就能够产生一定输出的黑盒子。这正是在早期开发阶段分析员对算法应持有的正确观点,目的是用原理性算法准确地定义功能,算法的细节可以等到以后的开发阶段再确定。

通常使用IPO表记录对算法的初步描述。以后可以进一步精化它,而且在详细设计阶段可以把它作为HIPO图的一部分。图2.16是描述计算工资总额的初步算法的IPO表。

图2.16 描述工资总额初步算法的IPO表

目前写出的文档还仅仅是初稿,写出文档初稿的目的,一方面是记录已经知道的信息,另一方面是供用户审查。随着需求分析工作的深入,这些文档还将进一步修改完善。

③定义逻辑系统

通过前一步的工作,已经划分出许多必须在工资支付系统中流动的数据元素,并且把它们记录在初步的数据字典中,此外,还把某些算法以黑盒形式记录在IPO表中。上述这些工作成果正确吗?某些数据元素(例如,基本工资、生活补贴、书报费、交通费、洗理费)是从哪里来的呢?分析员必须设法得到这些问题的答案。

关于工资支付系统的详细信息只能来源于直接工作在这个系统上的人。因此,再次访问财务科长和具体处理工资事务的两位会计。数据流图(见图2.13)是使讨论时焦点集中的极好工具,从数据流图的数据源点开始,沿着数据流循序讨论。事务数据从教职工流进收集数据这个处理中,以前已经在数据字典中描述了组成事务数据的元素(图2.16中未列出这张卡片),这个描述正确吗?有没有遗漏?“收集数据”的功能是什么?审核数据的算法是什么?……对于分析员来说,数据流图、数据字典和算法描述可以作为校核时的清单或备忘录。必须审核已经知道的信息,还必须补充目前尚不知道的信息,填补文档中的空白。

软件工程试题及答案

软件工程 窗体顶端 1: 92.下面说法哪个不属于设计准则() 1.①提高模块的内聚,降低模块间的耦合 2.②降低模块接口的复杂程度 3.③模块大小要适中 4.④模块要有重用性 2:88.计算机的体系结构对程序设计语言具有() 1.①反作用 2.②促进作用 3.③抑制作用 4.④完善作用 3:79.程序图的作用是() 1.①定性度量软件的复杂程度 2.②定量度量软件的复杂程度 3.③预测软件的质量标准 4.④估计软件中的错误数量 4: 87.下面说法正确的是() 1.①模块的作用域在模块的控制域之内 2.②模块的控制域在模块的作用域之内 3.③模块的作用域和模块的控制域有时相同

4.④模块的作用域和模块的控制域都是一种层次结构5:94.等价类划分属于() 1.①白盒测试 2.②黑盒测试 3.③穷尽测试 4.④系统测试 6:90.软件维护组织包括() 1.①系统维护人员和系统管理人员 2.②系统程序员和硬件维护人员 3.③系统程序员和操作员 4.④打字员和软件工程师 7: 86.可行性研究阶段使用的图形工具是() 1.①DFD图 2.②N-S图 3.③PAD图 4.④Warnier图 8: 85.好的软件结构它的外观形状一般呈() 1.①线性 2.②扇形 3.③椭圆形 4.④层次型

9: 93.变换型结构的数据流呈() 1.①线性形状 2.②辐射状 3.③椭圆形 4.④阶梯形 10:78.结构化程序设计就是要() 1.①保留GOTO语句 2.②取消前转GOTO语句 3.③限制GOTO语句的使用 4.④取消后转GOTO语句 11: 89.若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用() 1.①自顶向下的开发方法 2.②自底向上的开发方法 3.③渐增式的开发方法 4.④非渐增式的开发方法 12: 软件工程的七条基本原理中有一条是“坚持进行阶段评审”,要这么做的理由有(1 )。 ①大部分错误是在编码之前造成的 ②在软件开发过程中插入阶段评审是为了张弛有度、提高开发效率 ③错误发现得越晚,所付出的修正代价越高 ④为了便于控制开发进度 1.供选择的答案: 1.A. ①② 2.B. ①③

最新软件工程试题和答案

一、选择 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)软件。

软件工程考试题库

软件工程考试题库 Final approval draft on November 22, 2020

一填空题 1.用原型过程代替全部开发阶段,这种快速原型是(实验型或演化型)原型。 2.可行性研究实质上是进行一种简化、压缩了的(需求分析和设计)。 3.结构图的主要内容有(模块)、(模块的控制关系)、(模块的信息传递)。 4.模块之间的联系越紧密,其耦合性就越(强),模块的独立性就越(差)。 5.软件工程研究的主要内容包括软件开发技术和软件开发管理两个方面,在软件开发技术方面,主要是研究(软件开发方法)、(软件开发过程)、(软件开发工具和环境),在软件开发管理方面,主要是研究(软件管理学)、(软件经济学)、(软件心理学)。 6.状态图反映了(状态)与(事件)的关系,状态图确定了由事件序列引起的(状态序列)。 7.可行性研究实质上是进行一种简化、压缩了的(需求分析和设计)。 8.在数据流图中,(数据流)是数据在系统内传播的路径,因此由一组(成分固定的数据项)组成,加工(又称为数据处理)是对数据流进行某些(操作或交换)。 9.(偶然内聚)指一个模块内的各处理元素之间没有任何联系,这是内聚程度最(差)的内聚。 10假如n个相同的系统(硬件或软件)进行测试,它们的失效时间分别是t1,t2,tn,则平均失效等待时间MTTF=(1/n )。 11(维护申请报告)是一种由用户产生的文档,它用作计划维护任务的基础。 12在软件开发和维护过程中,一个软件往往有许多版本,版本控制工具用来存储、更新、恢复和管理一个软件的(多个版本)。 13软件工具通常由工具、(工具接口)和用户工具三个部分组成。 14类的实例化是(对象)。 15形式化规约语言由(语法)、(语义)和(一组关系)组成。 16 软件质量保证应从(产品计划和设计)开始,直到投入使用和售后服务的软件生存期的每一个阶段中的每一步骤。 17 为了提高软件的质量,软件质量保证的任务大致可归结为以下8类:(正确定义用户要求)、(技术方法的应用)、(提高软件开发的工程能力)、(软件的复用)、(发挥每个开发者的能力)、(组织外部力量协作)、(排除无效劳动)、(提高计划和管理质量)。 18 软件测试时需要的三类信息,分别是(软件配置)、(测试配置)、(测试工具)。 19 在面向对象方法中,信息隐蔽通过对象的(封装性)来实现,类结构分离了(接口)与(实现),从而支持了信息隐蔽。 20 增量模型在开发工程中以一系列(增量方式)开发系统,推迟某阶段的(细节),从而(尽早)产生工作软件。 二选择题 1.(A)是计算机程序及其说明程序的各种文档。 A 软件 B文档 C 数据 D 程序 2.软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、(B)和维护等活动。 A 应用 B 测试 C 检测 D 以上答案都不正确 3.建立原型的目的不同,实现原型的途径也有所不同,下列不正确的类型是(B)。 A 用于验证软件需求的原型 B 垂直原型 C 用于验证设计方案的原型 D 用于演化出目标系统的原型

软件工程试题(附答案)

软件工程试题(附答案)

《软件工程》作业 班级2000(春)计算机本科姓名罗国南学号001000490 成绩____________ 一、判断题 可行性研究的最根本的任务是对以后的行动方针提出建议。√ PDL语言是详细设计的重要工具,可方便地实现程序的自动生成。√ 模块的控制域应该在作用域之内。 面向对象方法把对象作为数据及可以施加在这些数据上的操作所构成的统一体。√ 软件是一种逻辑实体,而不是具体的物理实体。√ 软件测试时经常要输入无效的,不合理的数据进行测试。√ 高级程序设计语言从应用的角度看,可以分为基础语言、结构化语言和专用语言三大类。√

软件维护的前提是不能失去原有软件的基本功能。√ Gantt图可以明确地表示出各子任务之间的依赖与制约关系。× 与其它开发的方法相比较,结构化方法的主要优点之一是对用户需求的变更响应迅速。× 适应性维护的目的是为了适应计算机软、硬件环境的变化。√ 系统流程图可以描述系统的逻辑模型,它的基本思想是用图形符号以黑盒子形式描绘系统里 的每个部件。× 工程网络图可以描绘各子任务作业的工作时间和可以机动(延长)时间。√ 在面向对象方法中,对象是进行处理的主体。√ 调试是在测试出错误之后,找到错误的位置并改正的过程。√

不允许使用GOTO语句是结构程序的特征。× 面向对象技术的最大优点是减少了软件的开发时间。× 用盒图和PAD图设计出来的算法必定是结构化的。√ 逻辑输入数据流是离物理输入端最远,且沿同一输入路径输入的数据流。√ 可行性研究的结果有可能将软件开发项目否定。√ 在面向对象方法学中,使用“对象”不仅需要知道它向外界提供的接口形式,而且必须知道它的内部实现算法。× 传统的流程框图不能用来进行结构化程序设计。× 一个模块执行时,必须引用另一个模块的某些数据,则这个模块的独立性不强。√ 成功的测试是没有发现错误的测试。×

软件工程试题与答案

安徽三联学院2011-2012学年度第一学期 《软件工程》期终考试试卷(A卷) 一、选择题(每小题2分,计20分) 1.请按顺序写出软件生命期的几个阶段__F__,__D__ ,__C__,___E_,__B__,___A_。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析 2.一个模块直接控制(调用)的下层模块的数目称为模块的_____B__。 A.扇入数 B、扇出数 C、宽度 D、作用域 3.在进行软件测试时,首先应当进行以下哪项测试,然后再进行组装测试,最后再进行有效性测试 (A) A.单元测试 B.系统测试 C.集成测试D.确认测试 4.一个软件项目是否进行开发的结论是在___B___文档中作出的。 A.软件开发计划B、可行性报告C、需求分析说明书D、测试报告 5.系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在 (B)阶段进行的。 A.需求分析B.总体设计C.详细设计D.编码阶段 6.CMMI标准的5个级别分别是完成级、管理级、定义级、量化管理级和( C ) A.初始级B.可重复级C.优化级D.过程级 7.PAD(Problem Analysi s Diagram)图是一种____工具。( B) A.系统描述B.详细设计C.测试D.编程辅助 二、填空题(每空格1分,计20分) 1、软件的通俗解释是软件= 程序+ 数据+ 文档资料。 4、系统测试包括的4种类型:恢复测试、安全测试、强度测试和性能测试。 6、统一建模语言(UML)提供的9种图分别是:用例图、类图、对象图、 状态图、顺序图、协作图、活动图、组件图和部署图。 7、软件工程标准的5个级别:国际标准、国家标准、行业标准、企业 规范 和项目规范。 三、名词解释题(每题4分,计20分) 1、软件工程: 软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 2、再工程: 软件再工程是指对既存对象系统进行调查,并将其重构为新形式代码的开发过程3.模块化: 模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性 四、简答题(每题5分,计20分) 1、简述软件工程的基本原理? 1.严格按照软件生命周期计划进行管理.2.坚持进行阶段评审.3.实行严格的产品控制. 4.采用先进的程序设计技术. 5.结果应能清楚的审查.6.开发小组成员应少而精.7.承认不断改进软件工程实践的必要性

软件工程考试题库

软件工程概述 一单项选择 1.软件生命周期一般包括:软件开发期和软件运行期,下述(D)不是软件开发期所应包含的内容。 A需求分析B结构设计C程序编制D软件维护 2.软件是一种逻辑产品,它的开发主要是(A)。 A研制B拷贝C再生产D复制 3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是(C)。 A喷泉模型B增量模型C瀑布模型D螺旋模型 4.在软件生存周期中,(B)阶段必须要回答的问题是“要解决的问题是做什么?”。 A详细设计B可行性分析和项目开发计划C概要设计D软件测试 5.软件产品与物质产品有很大区别,软件产品是一种(C)产品 A有形B消耗C逻辑D文档 6.(C)把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。 A原型模型B螺旋模型C基于知识的智能模型D喷泉模型 7.(B)阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。 A概要设计B详细设计C编码D测试 8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A)。 A原型模型B瀑布模型C基于知识的智能模型D变换模型 9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是(C)。 A原型模型B瀑布模型C喷泉模型D螺旋模型 10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是(D)。 A原型模型B瀑布模型C喷泉模型D螺旋模型 11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C)。 A可修改性B可靠性C可适应性D可重用性 12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B)。 A可移植性B可重用性C容错性D可适应性 13.软件特性中,(A)是指系统具有清晰的结构,能直接反映问题的需求的程度。 A可理解性B可靠性C可适应性D可重用性 14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为(B)。 A可理解性B可维护性C可适应性D可重用性 15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是(C). A可理解性B可修改性C可移植性D可重用性 16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是(D)。 A有效性B可适应性C正确性D可靠性 17.软件特性中,允许对软件进行修改而不增加其复杂性指的是(A)。 A可修改性B可适应性C可维护性D可移植性 18.软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是(B)。 A可理解性B可互操作性C可维护性D可追踪性 19.软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向

软件工程复习题库(挂答案)

一、选择题 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.输入、输出、外部实体和加工

软件工程试题及答案34385

软件工程期末试卷(A) 说明:本试卷为04级计算机专业(专升本)软件工程期末试卷,总计100分,时间100分钟 一、选择题:(每题1分,共20分)(将答案写在题号前的()中) ( C )1. 软件是()。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 ( B )2. 软件需求规格说明的内容不应包括()。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 ( B )3. 程序的三种基本控制结构是()。 A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移 ( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 ( C ) 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 ( A ) 6. 各种软件维护的类型中最重要的是( )。 A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护 ( B ) 7.软件测试的目标是()。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 ( D )8.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测试 D.软件维护 ( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 ( D )10、详细设计的基本任务是确定每个模块的( )设计 A.功能 B.调用关系 C.输入输出数据 D.算法 ( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:() A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 ( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则() A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖

软件工程题库

软件工程单元一(概述) 一单项选择 1.软件是一种逻辑产品,它的开发主要是(A )。 A研制B拷贝C再生产D复制 2.软件生命周期一般包括:软件开发期和软件运行期,下述(D )不是软件开发期所应包含的内容。 A需求分析 B 结构设计C程序编制D软件维护 3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。 A喷泉模型 B 增量模型C瀑布模型D螺旋模型 4.在软件生存周期中,(B )阶段必须要回答的问题是“要解决的问题是做什么?”。 A详细设计 B 可行性分析和项目开发计划C概要设计D软件测试 5.软件产品与物质产品有很大区别,软件产品是一种(C )产品 A有形 B 消耗C逻辑D文档 6.(C )把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。 A 原型模型 B 螺旋模型 C 基于知识的智能模型 D 喷泉模型 7.( B )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。A概要设计 B 详细设计 C 编码 D 测试 8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A )。 A 原型模型 B 瀑布模型 C 基于知识的智能模型 D 变换模型 9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是( C )。 A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型 10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是(D )。 A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型 11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C )。 A可修改性B可靠性C可适应性 D 可重用性 12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B )。 A可移植性B可重用性 C 容错性 D 可适应性 13.软件特性中,(A )是指系统具有清晰的结构,能直接反映问题的需求的程度。 A可理解性B可靠性C可适应性 D 可重用性 14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为(B )。 A可理解性 B 可维护性C可适应性 D 可重用性 15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是(C ). A可理解性B可修改性C可移植性 D 可重用性 16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是( D )。 A有效性B可适应性C正确性 D 可靠性 17.软件特性中,允许对软件进行修改而不增加其复杂性指的是(A )。 A可修改性B可适应性C可维护性 D 可移植性 18.软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是(B )。 A可理解性B可互操作性C可维护性 D 可追踪性 19.软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力指的是(C )。 A 可理解性 B 可互操作性C可追踪性 D 可维护性 20.软件的可修改性支持软件的(D )。 A 有效性 B 可互操作性C可追踪性 D 可维护性 21.软件的可移植性支持软件的(A )。 A 可适应性 B 可互操作性C可追踪性 D 有效性 22.软件的可理解性支持软件的(B )。

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性 D) 实体、属性、操作 9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[, ],现从输入的角度考虑一组测试用例:, , , . 设计这组测试用例的方法是( c ) A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法 11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a ) A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D ) A.数据流程图案 B.数据字典 C.判定表D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A.数据库设计 B.数据通信 C.数据定义 D.数据维护 18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型D.螺旋模型 (×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。 (×)4、软件需求分析的任务是建立软件模块结构图。 (√)5、尽可能使用高级语言编写程序(×)6、以结构化分析方法建立的系统模型就是数据流图。 (×)7、进行总体设计时加强模块间的联系。(×)8、编码时尽量多用全局变量. (√)9、用CASE环境或程序自动生成工具来自动生成一部分程序.(×)10、软件测试是要发现软件中的所有错误。 1. 软件生命期各阶段的任务是什么答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么?

软件工程考试题(带答案)..

一、选择题 1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B) A) 可行性研究,问题定义,需求分析。 B) 问题定义,可行性研究,需求分析。 C) 可行性研究,需求分析,问题定义。 D) 以上顺序都不对。 2.可行性研究主要从以下几个方面进行研究:(A) A)技术可行性,经济可行性,操作可行性。 B)技术可行性,经济可行性,系统可行性。 C)经济可行性,系统可行性,操作可行性。 D)经济可行性,系统可行性,时间可行性。 3 耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:(C) A) 内容耦合,控制耦合,数据耦合,公共环境耦合。 B) 内容耦合,控制耦合,公共环境耦合,数据耦合。 C) 内容耦合,公共环境耦合,控制耦合,数据耦合。 D) 控制耦合,内容耦合,数据耦合,公共环境耦合。4.在详细设计阶段所使用到的设计工具是:(A) A) 程序流程图,PAD图,N-S图,HIPO图,判定表, 判定树. B) 数据流程图,Yourdon 图,程序流程图,PAD图, N-S图,HIPO图。 C) 判定表,判定树,PDL,程序流程图,PAD图,N- S图。 D) 判定表,判定树,数据流程图,系统流程图,程序 流程图,层次图。 5 按照软件工程的原则,模块的作用域和模块的控制域之间的关系

是:(A) A)模块的作用域应在模块的控制域之内。 B)模块的控制域应在模块的作用域之内。 C)模块的控制域与模块的作用域互相独立。 D)以上说法都不对。 6在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C) A.概要设计 B.详细设计 C.需求分析 D.可行性分析 7下面不是软件工程的3个要素的是(C) A过程 B.方法 C.环境 D.工具 8.下面不属于软件的组成的是(B) A程序 B.记录 C.文档 D.数据 9在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于(C) A.维护时期 B.运行时期 C.定义时期 D.开发时期 10.在瀑布模型中,下面(C)是其突出的缺点。 A.不适应平台的变动 B.不适应算法的变动 C.不适应用户需求的变动 D.不适应程序语言的变动 11下面不属于软件的特点的是(D)。 A软件是一种软件产品 B软件产品不会用坏,不存在磨损、消耗问题 C软件产品的生产主要是研制 D软件产品非常便宜 12 软件开发工具是协助开发人员进行软件开发活动所使用的软件或环境。下面不是软件开发工具的是(A)。

软件工程题库及答案

一、选择题 软件(2) 1.在软件开发的各种资源中,( D )是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 2.软件的复杂性是(A ),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 3.3:软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(D )。 A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档 4.软件是一种(B )产品。 A、有形 B、逻辑 C、物质 D、消耗 软件危机(1) 5.1:开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生 6.2:在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了 ( A ) A.软件危机B.软件工程C.程序设计革命D.结构化程序设计 7.3:以下哪一项不是软件危机的表现形式( C ) (A)成本高(B)生产率低 (C) 技术发展快(D)质量得不到保证 8.4:“软件危机”产生的主要原因是( A )。 A.软件日益庞大 B.开发方法不当 C.开发人员编写程序能力差 D.没有维护好软件 9.5:软件危机是指在软件开发和( C )过程中遇到的一系列严重问题。 A 开发 B 使用C维护D更新 软件工程(2) 10.1:为了解决软件危机人们提出了用(B )的原理来设计软件,这就是软件工程诞生 的基础。 (A) 运筹学(B) 工程学(C) 软件学(D) 数学 11.2.在软件工程时期,决定软件质量的主要因素是( A )

A.管理水平 B.个人程序技术C.小组技术水平 D.硬件的发展 12. 3. 软件管理工作涉及到的直接对象不包括( B )。 A.软件开发人员 B.硬件设备 C.项目经费 D.软件项目 13. 4. 软件工程方法学有三个要素,它们是(A ) A.方法、工具和过程 B.质量、进度和成本 C.顺序、分支和循环 D.入口、过程、出口生命周期及模型(5) 14.1:软件工程中描述生命周期的瀑布模型一般包括计划、( A )、设计、编码、测试、维 护等几个阶段。 A.需求分析 B.需求调查 C.可行性分析 D.问题定义 15. 2.瀑布模型把软件生存周期划分为软件计划、软件开发与(C )三个阶段,而每一阶 段又可分为若干更小的阶段。 A. 详细设计 B. 可行性分析 C. 运行与维护 D. 测试与排错 16.3:下列哪个模型没有采用迭代的思想(A ) A.瀑布模型 B.渐增模型C.螺旋模型 D.RUP模型 17.4:下列关于瀑布模型的描述正确的是( D )。 A.利用瀑布模型,如果发现问题修改的代价很低 B.瀑布模型的核心是按照软件开发的时间顺序将问题简化 C.瀑布模型具有良好的灵活性 D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开 18.5:瀑布模型本质上是一种(A )模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 19. 6. 快速原型模型的主要特点之一是( D ) A.开发完毕才见到产品 B.及早提供全部完整的软件产品 C.开发完毕后才见到工作软件 D.及早提供工作软件 20.7:瀑布模型的关键不足在于( B ) (A)过于简单(B)不能适应需求的动态变更 (C)过于灵活(D)各个阶段需要进行评审 21.8:瀑布模型存在的问题是( D )。 A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求 问题定义(1)

《软件工程》试题及参考答案(第6套)

第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 A 业务需求 B 功能要求 C 非功能需求 D 用户需求 3、软件测试计划开始于需求分析阶段,完成于()阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试 4.下面关于面向对象方法中消息的叙述,不正确的是( )。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。 A.工作无序,项目进行过程中经常放弃当初的计划 B.建立了项目级的管理制度 C.建立了企业级的管理制度 D.软件过程中活动的生产率和质量是可度量的 6.在McCall软件质量度量模型中,()属于面向软件产品修改。 A.可靠性B.可重用性C.适应性 D.可移植性 7.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测 试 D.软件维护 8.需求分析阶段的任务是确定() A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能

软件工程题库

软件工程题库 一单项选择 1.软件是一种逻辑产品,它的开发主要是(A )。 A研制B拷贝C再生产D复制 2.软件生命周期一般包括:软件开发期和软件运行期,下述(D )不是软件开发期所应包含的内容。 A需求分析 B 结构设计C程序编制D软件维护 3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。 A喷泉模型 B 增量模型C瀑布模型D螺旋模型 4.在软件生存周期中,(B )阶段必须要回答的问题是“要解决的问题是做什么?”。 A详细设计 B 可行性分析和项目开发计划C概要设计D软件测试 5.软件产品与物质产品有很大区别,软件产品是一种(C )产品 A有形 B 消耗C逻辑D文档 6.(C )把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。 A 原型模型 B 螺旋模型 C 基于知识的智能模型 D 喷泉模型 7.( B )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。A概要设计 B 详细设计 C 编码 D 测试 8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A )。 A 原型模型 B 瀑布模型 C 基于知识的智能模型 D 变换模型 9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是( C )。 A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型 10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是( D )。 A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型 11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C )。 A可修改性B可靠性C可适应性 D 可重用性 12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B )。 A可移植性B可重用性 C 容错性 D 可适应性 13.软件特性中,(A )是指系统具有清晰的结构,能直接反映问题的需求的程度。 A可理解性B可靠性C可适应性 D 可重用性 14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为( B )。 A可理解性 B 可维护性C可适应性 D 可重用性 15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是(C ). A可理解性B可修改性C可移植性 D 可重用性 16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是( D )。 A有效性B可适应性C正确性 D 可靠性 17.软件特性中,允许对软件进行修改而不增加其复杂性指的是(A )。 A可修改性B可适应性C可维护性 D 可移植性 18.软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是(B )。 A可理解性B可互操作性C可维护性 D 可追踪性 19.软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行

软件工程试题及答案

综合练习一答案 一.选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末 B.60年代初C.60年代末 D.70年代初 A.运筹学B.工程学 C.软件学 D.软件学 E.数字 2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用 5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析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.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的____。 总貌B.细节C.抽象D.软件的作者 13.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。 A.变换型 B 事务型 14.需求分析说明书不能作为______。

软件工程试题与答案

《软件工程模拟试题及参考答案》(一) 一、单向选择题(四选一、每小题3分,共18分) 1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式(B )到计算机世界的方法。 对应 映射 反映 反射 2、盒图也称为(D)或Chapin图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 流程图 框图 判定表 N-S图 3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。 程序 数据 逻辑 物理 4、人机界面的风格大致经过了(B)代的演变。

三 四 五 六 5、以下不属于白盒测试技术的是(D) 逻辑覆盖 基本路径测试 循环覆盖测试 等价类划分 6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。 纠错性维护 适应性维护 改善性维护 预防性维护 二、填空题(每空2分,共18分) 1.文档—一种数据媒体和其上所记录的(数据)。 2.机器语言、汇编语言:依赖于机器,面向(机器) 3.软件有效性,指软件系统的时间和(空间)效率。 4.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 5.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。 6.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。

7.一个软件的深度是指其控制的(层数)。 8.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终 可运行的代码的过程叫(编码)过程。 9.软件维护是软件生命周期的(最后)一个阶段。 三、判断题(每小题2分,共24分,错误打X、正确打√) 1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之 一。(√) 2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(X) 3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第 一手资料,并从中提取出有价值的需求。(√) 4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计 一些复杂的算法等场合。(√) 5.流程图也称为程序框图是最常用的一种表示法。(√) 6.面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三 种基本形式表示数据等步骤。(√) 7.理想的人机界面应针对具有典型个性的特定的一类用户设计。(√) 8.数据输入的一般准则中包括尽量增加用户输入的动作。(X) 9.用穷举测试是较现实的测试方法。(X) 四、简答题(每小题4分,共20分)

软件工程试题库集及答案

综合练习一答案 选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末B.60年代初C.60年代末D.70年代初 A.运筹学B.工程学C.软件学D.软件学E.数字2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析6.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计B.可行性分析C.运行及维护D.测试与排错7.划分软件生存周期的阶段时所应遵循的基本原则是_____。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 8.一个软件项目是否进行开发的结论是在______文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 9.分析员是____。 A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员D。用户和软件人员的领导

相关主题
文本预览
相关文档 最新文档