章习题答案.docx
《章习题答案.docx》由会员分享,可在线阅读,更多相关《章习题答案.docx(25页珍藏版)》请在冰豆网上搜索。
![章习题答案.docx](https://file1.bdocx.com/fileroot1/2023-2/4/38083898-ef51-47a7-9be5-71fb7f944bd8/38083898-ef51-47a7-9be5-71fb7f944bd81.gif)
章习题答案
第1章绪论例题分析与解答
一、填空题答案1.逻辑
2.建造一个软件系统
3.体系结构
4.瀑布模型
5.结构化方法
二、选择题答案1.B2.C3.C4.A5.D
第1章自测题参考答案
二填空题1.软件
2.个体手工劳动
3.综合性交叉
4.相同
5.瀑布
6.对象
7.结构化设计
8.软件开发技术
9.软件
10.开发方法
三、选择题1.B 2.D 3.A 4.C
5.A 6.B 7.C 8.B 9.D
第一章仿真试卷答案
1.C 2.C 3.A 4.C 5.C 6.B
7.C 8.B 9.B 10.A 11.A
12.C 13.⑴B⑵D⑶A⑷D⑸A
习题参考答案1
第一章
1﹑软件产品的特性是什么?
产品特性:
⑴是一种逻辑产品,与物质产品有很大的区别。
⑵软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。
⑶软件产品不会用坏,不存在磨损,消耗。
⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的
⑸开发软件的费用不断增加,致使生产成本相当昂贵。
2﹑软件生产有几个阶段?
各有何特征?
⑴程序设计时代:
这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言。
⑵程序系统时代:
这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。
⑶软件工程时代:
这个阶段生产方式是工程化的生产,使用数据库﹑开发工具﹑开发环境﹑网络﹑分布式﹑面向对象技术来开发软件。
3﹑什么是软件危机?
产生原因是什么?
软件开发技术的进步未能满足发展的要求。
在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。
产生原因:
⑴软件规模越来越大,结构越来越复杂。
⑵软件开发经管困难而复杂。
⑶软件包开发费用不断增加。
⑷软件开发技术落后。
⑸生产方式落后,仍采用手工方式。
⑹开发工具落后,生产率提高缓慢。
4﹑什么是软件工程?
它目标和内容是什么?
软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。
软件工程目标:
付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
软件工程内容:
研究内容包括开发技术和开发经管两个方面。
开发技术主要研究:
软件开发方法,开发过程,开发工具和环境。
开发经管主要研究:
软件经管学,软件经济学,软件心理学。
5﹑软件工程面临的问题是什么?
软件工程需要解决的问题:
软件的费用,可靠性,可维护性,软件生产率和软件的重用。
6﹑什么是软件生存周期?
它有哪几个活动?
软件生存周期:
一个软件从提出开发要求开始直到该软件报废为止的整个时期。
包括:
可行性分析和工程开发计划,需求分析,概要设计,详细设计,编码,测试,维护。
7﹑什么是软件生存周期模型?
有哪些主要模型?
生存周期模型:
描述软件开发过程中各种活动如何执行的模型。
对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。
主要有:
瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。
8﹑什么是软件开发方法?
有哪些主要方法?
使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。
通过使用成功的软件开发方法,在规定的投资和时间内,开发出符合用户需求的高质量的软件。
软件开发方法是克服软件危机的重要方面之一,对软件工程及软件包产业的发展起了不可估量的作用。
主要有:
结构化方法,JACKSON方法,维也纳开发方法﹙VDM﹚,面向对象开发方法。
第2章例题分析与解答
答案一、填空题
1.[答案]需求分析和设计
2.[答案]经济可行性
3.[答案]确定工程的规模和目标
4.[答案]p×(1+n×i)
5.[答案]系统流程图
二、选择题
1.B2.D3.B4.B
1.B 2.D 3.D
第二章习题
1.可行性研究的任务是什么?
可行研究的任务:
首先需要进行概要的分析研究,初步确定工程的规模,目标,约束和限制。
分析员再进行简要的需求分析,抽象出工程的逻辑结构,建立逻辑模型。
从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的解决方法,对每种解决方法都要研究它的可行性。
主要从三个方面考虑:
⑴.技术可行性:
一般要考虑的情况包括开发的风险即设计出的系统能否达到要求的功能和性能。
资源的有效性。
相关技术的发展是否支持。
⑵.经济可行性:
进行开发成本的估算以及了解取得效益的评估,确定要开发的工程是否值得投资。
⑶.社会可行性:
要开发的工程是否存在任何侵权问题,运行方式在用户组织内是否可行,现有经管制度﹑人员素质﹑操作方式是否可行。
2.可行性研究有哪些步骤?
⑴.确定工程规模和目标;
⑵.研究正在运行的系统;收集﹑研究﹑分析现有系统的文档资料,实地考察系统访问有关人员,然后描绘现有系统的高层系统流程图。
⑶.建立新系统的高层逻辑模型;使用数据流图和数据字典描述数据在系统中的流动和处理情况。
⑷.导出和评价各种方案;导出若干较高层次的物理解决方法,根据技术可行性﹑经济可行性﹑社会可行性进行评估,得到可行的解决方法。
⑸.推荐可行方案;进行成本~效益分析,决定该工程是否值得开发,若值得开发那么解决方案是什么,并且说明该方案可行的原因和理由。
⑹.编写可行性研究报告;将上述可行性过程的结果写成相应文档,即可行性研究报告。
3.可行性研究报告有哪些主要内容?
⑴.引言:
编写本文档的目的;工程名称﹑背景;本文档用到的专门术语和参考资料。
⑵.可行性研究前提:
说明开发工程的功能﹑性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。
⑶.对现有系统的分析:
说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需各类专业技术人吧和数量;所需各种设备;向有系统存在什么问题。
⑷.所建议的技术可行性分析:
所建议系统的简要说明;处理流程和数据流程;与现有系统比较的优越性;采用所建议系统对用户的影响;对各种设备﹑现有软件﹑开发环境﹑运行环境的影响;对经费支出的影响;对技术可行性的评价。
⑸.所建议系统的经济可行性分析:
说明建议系统的确良各种支出,各种效益;收益投资比;投资顺收周期。
⑹.社会因素可行性分析:
说明法律因素,对合同责任﹑侵犯专利权﹑侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政经管﹑工作制度﹑人吧素质的要求。
⑺.其它可供选择方案:
逐一说明其他可供选择的方案,并说明未被推荐的理由。
⑻.结论意见:
说明工程是否能开发;还需什么条件才能开发;对工程目标有何变动等。
4.成本--效益分析可用哪些指标进行度量?
⑴.投资回收率:
通常把建立系统若干年后能取得的收益折算成现在的价值和开发系统所需的费用进行比较得出投资回收率。
⑵.投资回收期:
就是使累计的经济效益等于最初的投资费用所需的时间。
⑶.纯收入:
整个生存周期之内的累计经济效益(折成现在值)与投资之差。
5.工程开发计划有哪些内容?
⑴.工程概述:
说明工程的各项主要工作;说明软件的功能﹑性能;为完成工程应具有的条件;用户及合同承包者承担的工作完成的期限及其他条件限制;应交付的程序名称;所使用的语言及程储形式;应交付的文档。
⑵.实施计划:
说明任务的划分,各任务责任人,工程开发进度,工程的预算,各阶段的费用支出,各阶段应完成的任务,用图表说明每项任务的开始和完成时间。
⑶.人员组织及分工:
所需人员类型﹑数量﹑组成结构。
⑷.交付期限:
最后完工日期。
第3章自测题参考答案
参考答案
二、填空题
1.需求规格说明书
2.自顶向下逐步分解
3.数据流图和数据字典
4.数据流、加工、数据存储、数据源点和终点
5.数据流、数据项、数据存储、基本加工
6.活动
7.平衡
8.结构化语言、判定表、判定树
9.功能
10.内外关系图
三、选择题
1.B 2.B 3.D 4.D 5.D
6.A 7.D 8.A 9.C 10.B
五、应用题
1.
2.设乘客托运行李的重量为W,则判定表如表3-1所示。
仿真题
答案:
1.A 2.A 3.C 4.C 5.A 6.B 7.D 8.C 9.D 10.C 11.D 12.B 13.B 14.A 15.B 16.A 17.C 18.①B②D③C④A⑤B 19.D 20.B 21.D
第三章
⒈什么是需求分析?
需求分析阶段的基本任务是什么?
需求分析:
开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。
基本任务:
⑴问题识别:
双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。
⑵分析与综合,导出软件的逻辑模型
⑶编写文档:
包括编写"需求规格说明书","初步用户使用手册","确认测试计划","修改完善软件开发计划"
⒉什么是结构分析方法?
该方法使用什么描述工具?
结构化分析:
简称SA,面向数据流进行数据分析的方法。
采用自顶向下逐层分解的分析策略。
顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。
中间层则是从抽象到具体的过渡。
使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。
⒊结构化分析方法通过哪些步骤来实现?
⑴了解当前系统的工作流程,获得当前系统的物理模型。
⑵抽象出当前系统的逻辑模型。
⑶建立目标系统的逻辑模型。
⑷作进一步补充和优化。
⒋什么是数据流图?
其作用是什么?
其中的基本符号各表示什么含义?
数据流图(DFD):
以图形的方式描述数据在系统中流动和处理的过程。
只反映系统必须完成的逻辑功能,是一种功能模型。
⒌画数据流图应注意什么事项?
命名:
不能使用缺乏具体含义的名字,加工名应能反映出处理的功能。
画数据流而不是控制流。
数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
一般不画物质流。
每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。
编号:
某个加工分解成加一张数据流图时,上层图为父图,下层图为子图。
子图应编号子图上的所有加工也应编号,子图的编号应与父图的编号相对应。
父图与子图的平衡:
子图的输入输出数据流同父图相应加工的输入输出数据流必须一致
局部数据存储:
当某慨数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。
注意数据流图的易理解性。
⒍什么是数据字典?
其作用是什么?
共有哪些条目?
数据字典(DD)用来定义数据库流图中的各个成分的具体含义。
有以下四类条目:
数据流,数据项,数据存储,基本加工。
具体条目内容及举例如下:
数据流条目
数据流名称:
订单
别名:
无
简述:
顾客订货时填写的工程
来源:
顾客
去向:
加工1"检验订单"
数据流量:
1000份/每周(单位时间内的传输次数)
组成:
编号+订货日期+顾客编号+地址+电话+银行帐号+货物名称+规格+数量
数据存储条目
数据存储名称:
库存记录
别名:
无
简述:
存放库存所有可供货物的信息
组成:
货物名称+编号+生产厂家+单价+库存量
组织方式:
索引文件,以货物编号为关键字
查询要求:
要求能立即查询
数据条目
数据项名称:
货物编号
别名:
G-No,G-num,Goods-No
简述:
本公司所有货物的编号
类型:
字符串
长度:
10
取值范围及含义:
第一位:
进口/国产
第2-4位:
类别
第5-7位:
规格
第8-10位:
品名编号
加工条目
加工名:
查阅库存
编号:
1﹒2
激发条件:
接收到合格订单时
优先级:
普通
输入:
合格合格订单
输出:
可供货订单,缺货订单
加工逻辑:
根据库存记录
IF订单工程数量<该工程库存量临界值
THEN可供货处理
ELSE此订单缺货,登录,待进货后再处理
ENDIF
⒎描述加工逻辑有哪些工具?
加工逻辑的描述:
一般用结构化语言,判定表,判定树
结构化语言是介于自然语言和形式语言之间的一种半形式化语言。
它的结构可分里层和内层
⑴外层:
用来描述控制结构,采用顺序,选择,重复三种基本结构。
①顺序结构:
是一组祈使语句,选择语句,重复语句的顺序排列
②选择结构:
一般用IF-THEN-ELASE-ENDIF,CASE-OF-ENDCASE等关键词。
③重复结构:
一般用DO-WHILE-ENDDO,REPEAT-UNTIL等关键词。
⑵内层:
一般采用祈使语句的自然语言短语,使用数据字典中的名词和有限的自定义词,其动词含义要具体,尽量不使用形容词和副词来修饰。
例:
加工逻辑描述为,如果申请者的年龄在21岁以下,要额外收费;如果申请者是21岁以上并是26岁以下的女性,适用于A类保险;如果申请者是26岁以下的已婚男性,或者是26岁以上的男性,适用于B类保险;如果申请者是21岁以下的女性或是26岁以下的单身C类保险。
附此之外的其他申请者都适用于A类保险。
⒏什么是IDEF方法?
IDEF0方法有哪些特点?
IDEF方法是美国空军针对计算机辅助制造工程工程中用于进行复杂系统分析和设计的方法,是在结构化分析方法基础上提出来的。
包括:
IDEF0描述系统的功能活动及联系,建立系统的功能模型。
即反映系统"做什么"折功能。
IDEF1描述系统的信息及联系,建立系统的信息模型。
IDEF2进行系统模拟,建立系统的动态模型。
IDEF0特点:
⑴采用方框和箭头等简单图形符号描述系统的活动和数据流,描述活动所受的约束条件及实现机制。
如下图描述,其中输入为完成某活动时所需的数据,输出指执行活动产生时的数据,控制活动指所受到的约束条件,机制是指活动由谁来完成。
⑵采用严格的自顶向下﹑逐层分解的方式建立系统功能模型。
⒐简述SA方法的优缺点。
SA方法是软件需求分析中公认的,有成效的,技术成熟,使用广泛的一种结构化分析方法。
较适用于开发数据处理类型软件的需求分析。
利用图形等半形式化工具表达需求,简明,易读,也易于使用。
但也存在一些弱点,表现如下:
⑴SA方法仅是一个静态模型,没有反映处理的顺序,即控制流程。
⑵SA方法使用DFD在分析与描述"数据要求"方面是有局限的,只有与数据库技术中的实体联系图(ER图)结合起来,才能较完整地描述用户对系统的需求。
⑶DFD不适合描述人机界面系统的要求,一些人机交互较频繁的软件系统。
⑷SA方法要与形式化方法结合起来,才能更精确地描述软件需求。
⑸要借助需求分析工具,提高需求分析的质量及效率。
⒑某银行的计算机储蓄系统功能是:
将储户的存户填写的存款单或存款单输入系统,如果是存款,系统记录存款人姓名﹑住址﹑存款类型﹑存款日期﹑利率等信息,并打印出存款单给储户;如果是取款,系统计算清单给储户。
请用DFD,IDEF0描绘该功能的需求,并建立相应数据字典。
答:
数据流名称:
取款单、存款单
别名:
无
简述:
顾客存/取款时填写的单据
来源:
顾客
去向:
核查
数据流量:
200份/天
组成:
日期+[取|存款金额]+姓名+地址+[存/取款类型]+密码+{账号}
数据流名称:
存款凭证
别名:
无
简述:
顾客存款后得到的凭据
来源:
银行存款系统
去向:
顾客
数据流量:
200份/天
组成:
日期+存款金额+储户姓名+储户地址+存款类型+账号+利率+操作员
数据流名称:
结算单
别名:
无
简述:
顾客取款时得到的利率清单
来源:
银行储蓄系统
去向:
顾客
数据流量:
200份/天
组成:
取款日期+取款金额+储户姓名+储户地址+存款类型+利息+总金额+操作员
数据流名称:
存/取款信息
别名:
无
简述:
系统检查确认后得到的存/取信息
来源:
银行储蓄系统
去向:
登录
数据流量:
200份/天
组成:
日期+[存|取款金额]+储户姓名+储户地址+存款类型+账号+利率+密码+操作员
数据流名称:
付款信息
别名:
无
简述:
存储系统处理的取款信息
来源:
银行储蓄系统
去向:
付款处理
数据流量:
200份/天
组成:
日期+取款金额+储户姓名+储户地址+存款类型+账号+利息+总金额+操作员
数据存储名称:
账卡
别名:
无
简述:
存放用户信息及存取款情况
组成:
储户姓名+储户地址+账号+|日期|+[存/取款金额]+存款类型+利率+密码+操作员
组织方式:
数据文件,以储户姓名或账号为关键字进行索引
查询要求:
要求能立即查询并修改
数据项名称:
存款类型
别名:
无
简述:
国家规定的几类存款方式
类型:
字符串
长度:
2位
取值范围及含义:
00:
定期;01:
零存整取;10:
活期;11:
定/活两便
加工名:
核查
编号:
激发条件:
接受存款单或取款单
输入:
存款单或取款单
输出:
认定的合格的村/取款信息
加工逻辑:
根据账卡及用户存/取款单据
if单据=存款单then
存款单据是否填写规范,是否与现金一致
else
审核是否为有效取款单,取款金额不得超出存款金额,密码是否正确
⒒某图书经管系统有以下功能:
⑴借书:
输入读者借书证。
系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在借书证上建立档案。
否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10,拒借,末达10本,办理借书(检查库存,修改库存目录并将读者借书情况录入借书文件。
)
⑵还书:
从借书文件中读出与读者有关的记录,查阅所借日期,如超期(3个月)作罚款处理。
否则,修改库存目录与借书文件。
⑶查询:
通过借书文件,库存目录文件查询读者情况﹑图书借阅及库存情况,打印统计表。
解:
数据字典
数据流名称:
借书
别名:
借书单
简述:
读者借书时填写的单据
来源:
读者
去向:
审核借书
数据流量:
250份/天
组成:
借书证编号+借阅日期+书名+借阅方式+密码+借阅人
数据流名称:
还书
别名:
无
简述:
读者还书时附带的数据
来源:
读者
去向:
审核还书
数据流量:
250份/天
组成:
借书证编号+借阅日期+书名+借阅方式
数据存储名称:
借书文件
别名:
无
简述:
借书证编号+借阅日期+书名+借阅方式+密码+借阅人+操作员
查询要求:
要求能立即查询并修改
数据存储名称:
库存文件
别名:
无
简述:
存放图书出/入库信息
组成:
书名+出版社+作者+出版日期+入库数据+总数量+(内容简介)+当前库存量
组织方式:
数据文件,以书名为关键字进行索引
查询要求:
要求能立即查询并修改
加工名:
审核借书证
编号:
1.1
激发条件:
接受到借书证
输入:
借书证
输出:
认定合格的借书证
加工逻辑:
根据借书文件及读者借书证
if借书证编号在借书文件存在and未过期and密码正确then
借书证有效
else借书证无效
⒓某厂对部分职工重新分配工作的政策是:
年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工。
20岁至40岁之间,中学文化程度,男性当钳工,女性当车工,大学文化程度都当技术员。
年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。
请用结构化语言﹑判定表或判定树描述上述问题的加工逻辑。
结构化语言:
CASE年龄<20
CASE文化程度初中
分配工种脱产学习
CASE文化程度高中
分配工种电工
ENDCASE
CASE年龄<=40.AND.>=20
CASE文化程度初中.OR.高中
CASE性别男
分配工种钳工
CASE性别女
分配工种车工
ENDCASE
ENDCASE
CASE文化程度大学
分配工种技术员
ENDCASE
ENDCASE
CASE年龄>40
CASE文化程度初中.OR.高中
分配工种材料员
CASE文化程度大学
分配工种技术员
ENDCASE
ENDCASE
模拟试卷二答案
二、填空
1.软件需求 2.自顶向下逐步求精
3.需求分析和设计 4.耦合性与内聚性
5.数据结构 6.渐增式与非渐增式测试
7.最多 8.数据结构和方法
9.动态行为 10.容错
三、选择
1.A 2.B
3.B 4.D
5.A 6.C
7.A 8.D
9.C 10.A
四、(略)
五、综合应用
1.划分等价类:
计测试用例:
2.
3.