现代软件工程课后习题答案文档格式.docx
《现代软件工程课后习题答案文档格式.docx》由会员分享,可在线阅读,更多相关《现代软件工程课后习题答案文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
是描述软件开发过程中各种活动如何执行的模型。
(模型:
是为了理解事物而对事
物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。
)
2》软件生存周期主要模型:
瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等
5.什么是软件开发的方法?
有哪些主要方法?
软件开发的方法:
是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。
主要方法:
结构方法、Jackson方法、维也纳开发方法(VDM)、面向对象的开发方法。
6.软件生命期个阶段的任务是什么?
答:
软件生命期瀑布模型分为六个阶段:
。
可行性研究与计划
需求分析与规格说明
设计
编程
测试
运行维护
第二章可行性研究
填空题
1.值得去开发,其中的问题能否解决,设计
2.技术,经济,社会
3.研究正在运行的系统,建立新系统的高层逻辑模型
4.。
所建议系统的技术可行性分析,所建议系统的经济可行性分析,社会因素可行性分析
5.经济角度,开发成本,比较和权衡
选择题
1.A2.B3.B4.D5.D6.D7.A8.A9.C10.D
简答题
1.可行性研究的任务是什么?
a.技术可行性:
考虑的因素
(1).开发的风险
(2)资源的有效性(3)技术(4)开发人员在主段技术可行性时,一旦估计错误,将会
出现灾难性后果。
b.经济可行性。
c.社会可行性。
2、技术可行性一般要考虑的情况包括:
(1)开发的风险。
再给出的限制范围内,能否设计出系统并实现必要的功能和性能。
(2)资源的有效性。
可用于开发的人员是否存在问题。
可用于建立系统的其它资源是否具备。
(3)技术。
相关技术的发展是否支持这个系统。
(4)开发人员在评估技术可行性时,一旦估计错误,将会出现灾难性后果。
3、可行性研究有哪些步骤?
a.确定项目规模和目标
b.研究正在运行的系统
c.建立新系统的高层逻辑模型
d.导出和评价各种方案
e.推荐可行的方案
f.编写可行性研究报告
4、可行性研究报告有哪些就要内容?
a.引言
b.可行性研究前提
c.对现有系统的分析
d.所建议系统的技术可行性分析
e.所建议系统的经济可行性分析
f.社会因素可行性分析
g.其他可供选择方案
h.结论意见
5、成本---效益分析可用哪些指标进行度量?
有形效益度量:
a货币的时间价值
b.投资回收期
c.纯收入无形效益:
主要从性质上、心理上进行衡量,很难直接进行量的比较。
通常以有形效益度量作为成本---效益分析的度量。
6、项目开发计划有哪些内容?
a.项目概述b.实施计划c.人员组织及分工d.交付期限
第三章需求分析
填空题:
1.需求分析
2.新系统的目标,“做什么”
3.功能需求,性能需求,环境需求,用户界面需求
4.客户说不清楚,分析人员和用户理解有误
5.数据流数据存储加工源和终点
6.“做什么”,加工规则
7.数据流图,数据字典,描述加工逻辑的结构化语言,判定表,判定树
8.各个成分的具体含义,逻辑模型,需求说明书
9.结构化语言,判定表,判定树
10.数据处理方面吗“做什么”,静态模型,控制模型
1.D2.C3.A4.D5.C6.A7.C8.D9.C10.D
1.什么是需求分析?
需求分析阶段的基本任务是什么?
1》需求分析是指:
开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。
2》需求分析阶段的基本任务是:
要准确的定义新系统的目标,为了满足用户需求,回答系统必须“做什么”的问题,活的需求规格说明书
2.、画数据流程图的步骤是什么?
画数据流图应该注意什么事项?
1把一个系统看成一个整体功能,明确信息的输入和输出。
2
据流
到外
找到系统的外部实体。
一旦找到外部实体,则系统与外部世界的界面就可以确定下来,系统的数
的源点和终点也就找到了。
3找出外部实体的输入数据流和输出数据流。
4在图的边上画出系统的外部实体。
5从外部实体的输入流(源)出发,按照系统的逻辑需要,逐步画出一系列逻辑处理过程,直至找
部实体处理所需的输出流,形成数据流的封闭。
6将系统内部数据处理又分别看做整体功能,其内部又有信息的处理、传递、存储过程。
7如此一级一级地剖析,直到所有处理步骤都很具体为止。
画数据流图注意事项:
a.命名.不论是数据流\数据存储还是加工,合适的命名使人们易于理解基含义.
b.画数据流而不是控制流.
c.一般不画物质流.
d.每个加工到少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果.
e.编号.
f.父图与子图的平衡.
g.局部数据存储.
h.提高数据流图的易理解性.
3、描述加工逻辑有哪些工具?
a,结构化语言b,判定表c.判定树
4.什么是结构化分析方法?
该方法使用什么描述工具?
结构化分析方法:
是面向数据汉进行需求分析的方法。
描述工具:
a、数据流图b、数据字典c、描述加工逻辑的结构化语言、判定表、判定树。
附加题:
1.什么是数据流图?
其作用是什么?
其中的基本符号各表示什么含义?
数据流图:
简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具,是一种功能模型。
作用:
它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能.基本符号有四种:
T,箭头,表示数据流;
O,圆或椭圆,表示加工;
=,双杠,表示数据存储;
□,方框,表示数据的源点或终点
2.什么是IDEF方法?
IDEF0方法有什么特点?
IDEF方法:
是美国空军在1981年针对集成化计算机辅助制造(IntegratedComputerAidedManufacturing,简称ICAM)工程项目中用于进行复杂系统分析和设计的方法,是在结构化分析与设计技术的基础上提出来的。
IDEF是ICAMDefinition的缩写。
IDEF0方法特点:
a.采用方框和箭头等简单的图形符号描述系统的活动和数据流,描述活动所受到的约束及实现机制。
b.采用严格的自顶向下、逐层分解的方式建立系统功能模型。
3.简述SA方法的优缺点。
优点:
1)公认的、有成效的、技术成熟、使用广泛的一种方法,比较适合于开发数据处理类型软件的需求分析。
2)该方法利用图形等半形式化工具表达需求,简明、易读,也易于使用,为后一阶段的设计、测试、评
价提供了有利条件。
缺点:
1)传统的SA方法主要用于数据处理方面的问题,主要工具DFD体现了系统"
做什么"
的功能,但它仅是一个静态模型,没有反映处理的顺序,即控制流程。
因此,不适合描述实时控制系统。
2)SA方法在使用DFD在分析与描述"
数据要求"
方面是有局限的。
3)DFD不适合描述人机界面系统的要求。
4)为了更精确地描述软件包需求,提高软件系统的可靠性、安全性,也便于实现自动化,SA方法可与形式方法结合起来。
4.某银行的计算机储蓄系统功能是:
将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、
住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;
如果是取款,系统计算清单储户。
请用DFD
和IDEF0描绘该功能的需求,并建立相应的数据字典。
(1)数据流条目:
数据流名称:
存款单别名:
无
简述:
储户存款时填写的项目
来源:
储户
去向:
记帐数据流量:
未知
组成:
姓名+住址+存款类型+存款日期+利率数据流名称:
取款单
别名:
储户取款时填写的项目
统计数据流量:
姓名+住址+取款类型+取款日期+利率
数据流名称:
清单别名:
无简述:
储户取款后得到的项目来源:
记录去向:
储户数据流量:
未知组成:
姓名+住址+取款类型+取款日期+利率+余额
(2)数据存储条目:
数据存储名称:
账单别名:
存放储户信息及其账目组成:
姓名+住址+余额+存款类型+最后修改日期+利率组织方式:
未知查询要求:
能立即查询
(3)数据项条目:
未知
(4)加工条目:
加工名:
分类检查编号:
无激发条件:
接收到存/取款单优先级:
优先输入:
存/取款单
输出:
加工逻辑:
IF存款单THEN把存款单输出到统计
ELSE把取款单输出到统计
ENDIF
加工名:
统计
编号:
激发条件:
取款单优先级:
无输入:
取款单输出:
清单加工逻辑:
根据账单检查此储户是否存在,不存在输出错误{
IF取款数<余额THEN余额=余额-取款数输出清单到储户,输出现金到储户
ELSE
输出错误清单到储户
}
加工名:
记录
存款单
优先级:
输入:
根据账单检查此储户是否存在,不存在则建立此储户{
余额=余额+存款数
输出存款单到储户
5•某图书管理系统工程有以下功能:
(1)借书:
输入读者借书证。
系统首先检查借书证是否有效,对于第一次借书的读者,在借书文件建立档案。
否
则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10本,拒借,未达10本,办理借书(检查库
存、修改库存目录并将读者借书情况登入借书文件)
(2)还书:
从借书文件中读出与读者有关的记录,查阅所借日期,如果超期(3个月)作罚款处理。
否则,修改库
存目录与借书文件。
(3)查询:
可通过借书文件、库存目录文件查询读者情况、图书借阅情况及库存情况,打印各种统计表。
请就以上系统功能画出分层的DFD图,并建立重要条目的数据字典。
6•某厂对部分职工重新分配工作的政策是:
年龄在伙岁以下者,初中文化程度脱产学习。
高中文化程度当电工;
年龄在20岁到40岁之间者,中学中学文化
程度男性当钳工,女性当车工,大学文化程度都当技术员。
年龄在40岁以上者,中学文化程度当材料员,大学
文化程序当技术员。
请用结构化语言、判定表或判定树描述上述问题的加工逻辑。
(1)结构化语言:
根据职工年龄和文化程序:
REPEAT
If年龄<
=20
If初中文化Then脱产学习endif
elseif高中文化Then电工endif
endif
If20<
年龄<
40
If中学文化
If男性Then钳工
Else
车工
Endif
elseif大学文化Then技术员endif
If年龄>
=40
If中学文化Then材料员
Until没有剩余未分配员工
判定表
1
3
4
5
6
7
8
9
10
11
年龄
C
D
E
文化
G
H
I
性别
--
M
F
脱产学习
电工
钳工
V
技术员
材料员
条件取值表
条件名
取值
符号
取值数
<
M1=3
>
20,<
文化程度
中学
M2=3
高中
大学
男
M3=2
女
「初中脱产学习
厂年龄W20岁一
L岛中电工
7、自学考试
-高屮成初屮-
20岁V年龄W40^—
L人学:
「崗中或初中材料员
一年龄AM0岁一
L大学技术员
录报名单”的加工。
该加工主要是根据报名表(姓名、经校核,编号、填写、输出准考证给报名者,同时记录到考生名册中DFD图,并写出数据词典中的数据流条目。
/|:
4课程
“决定比赛名单”这个加工,根据
项目
「男性钳工
-女性车丁
报名过程中有个“记
性别、身份证号、课程名)和开考课程(课程名、开考时间)
(准考证号、姓名、课程)。
请绘制该加工的
数据流词典
数据流条目:
报名单=姓名+性别+身份证号+课程名开考课程=课程名+开考时间
考生名册=准考证号+姓名+课程
“运动员名单”和“比赛项目”产生“项目参加者”,如下图所示,运动员
及参加的所有项目。
请写出这三个数据流条目。
运动员名单=队名+运动员号+姓名+{项目}
项目=项目名
项目参加者=项目名+{运动员号}
9、某旅馆的电话服务如下:
可以拨分机号和外线号码。
分机号是从7201至7299。
外线号码先拨9,然后是市话号码或长话号码。
长话号码是
以区号和市话号码组成。
区号是从100到300中任意的数字串。
市话号码是以局号和分局号组成。
局号可以是455,466,888,552中任意一个号码。
分局号是任意长度为4的数字串。
要求:
写出在数据字典中,电话号码的数据条目的定义(即组成)。
电话号码=分机号I外线号码
分机号=7201...7299
外线号码=9+[市话号码I长话号码]
长话号码=区号+市话号码
区号=100...300
市话号码=局号+分局号
局号=:
455I466I888I552:
分局号=4{数字}4
(自由选修)第四章概要设计
1.什么是软件概要设计?
该阶段的基本任务是什么?
软件概要设计:
在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实现,即把软件需求转
换为软件包表示的过程。
基本任务:
(1)设计软件系统结构(简称软件结构)
a•采用某种设计方法,将一个复杂的系统按功能划分成模块(划分)
b.确定模块的功能。
(功能)
c.确定模块之间的调用关系。
(调用)
d.确定模块之间的接口,即模块之间传递的信息。
(接口)
e•评价模块结构的质量。
(质量)
(2)数据结构及数据库设计
a.数据结构设计
b.数据库设计:
(概念设计、逻辑设计、物理设计)
(3)编写概要设计文档(文档主要有:
概要设计说明书、数据库设计说明书、用户手册、修订测试计划)
(4)评审
2.软件设计的基本原理包括哪些内容?
软件设计的基本原理:
(1)模块化(四个属性:
接口、功能、逻辑、状态)
(2)抽象
(3)信息隐蔽
(4)模块独立性(两个定性的度量标准:
耦合性与内聚性)
3.衡量模块独立性的两个标准是什么?
它们各表示什么含义?
两个定性的度量标准:
耦合与内聚性耦合性:
也称块间联系。
指软件系统结构中各模块间相互联系紧密程度的一种度量。
模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
内聚性:
也称块内联系。
指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
模块内元素联系越紧密,内聚性越高。
4.模块间的耦合性有哪几种?
耦合性有六种:
无直接耦合、数据耦合、标记耦合、控制耦合、公共耦合、内容耦合无直接耦合:
两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。
(无直接关系)
数据耦合:
指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。
(数据值)
标记耦合:
指两个模块之间传递的是数据结构。
(数据结构)控制耦合:
指控制模块调用另一个模块时,传递的是控制变量,被调用块通过该控制变量的值有选择地执行块内某一功能(控制变量)
公共耦合:
指通过一个公共数据环境相互作用的那些模块间的耦合。
(一个公式数据环境)内容耦合:
一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部(内部数据)
5.模块的内聚性有哪几种?
各表示什么含义?
模块间的内聚性有6种:
偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。
偶然内聚:
一个模块内的各处理元素之间没有任何联系。
逻辑内聚:
模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
时间内聚:
把需要同时执行的动作组合在一起。
通信内聚:
指模块内所有处理元素都在同一个数据结构上操作,或者指各处理使用相同的输入数据或产生相同的输出数据。
顺序内聚:
一个模块中各处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出是下一功能元素的输入。
功能内聚:
最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。
6.什么是软件结构?
简述软件结构设计优化准则。
软件结构:
软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。
软件结构设计优化准则:
a•划分模块时,尽量做到高内聚,低耦合,保持模块相对独立性,以此为原则优化初始的软件结构。
b•—个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近c.软件的深度、宽度、扇入、扇出应适当。
D.模块的大小要适中。
E.模块的控制范围模块的接口要简单、清晰、含义明确,便于理解,易于实现、测试与维护。
7.什么是模块的影响范围?
什么是模块的控制范围?
它们之间应该建立什么关系?
模块的影响范围:
受该模块内的一个判定影响的所有模块的集合。
模块的控制范围:
模块本身及其所有下属模块(直接或间接从属于它的模块)的集合。
一个模块的影响范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。
8.什么是"
变换流”?
什么是”事务流”?
试将相应形式的数据流图转换成软件结构图。
变换流由输入、变换(或处理)、输出三部分组成。
某个加工将它的输入流分离成许多发散
的数据流,形成许多加工路径,并根据输入选择其中一个路径来执行这种特征的DFD称为事物流。
9•试述”变换分析”,”事务分析"
的设计步骤。
变换分析:
a.确定DFD中的变换中心。
b.设计软件结构的顶层和第一层变换结构。
c.设计中下层模块。
(输入模块下属模块的设计,输出模块下属模块的设计,变换模块下属模块的设计,设计的优
化)
事务分析:
a.确定DFD中的事务中心和加工路径。
b.设计软件结构的顶层和第一层——事务结构。
(接收、发送给支)
c.事务结构中、下层模块的设计、优化工作同变换结构。
附加:
2、已知模块C中的一个判定影响到模块B,如图所示,它违反了SD的设计原则。
试问:
可以采用哪些手段对结构图作改进,请说明改进办法并画出改进的结构图。
答:
4、咼考录取统分子系统有如下功能:
(1)计算标准分:
根据考生原始分计算,得到标准分,存入考生分数文件;
(2)计算录取线分:
根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。
试根据要求画出该系统的数据流程图,并将其转换为软件结构图。
(1)数据流图:
旭生计划菽脫分数
(2)软件结构图:
5、图书馆的预定图书子系统有如下功能:
(1)由供书部门提供书目给订购组。
(2)订书组从各单位取得要订的书目。
(3)根据供书目录和订书书目产生订书文档留底。
(4)将订书信息(包括数目,数量等)反馈给供书单位。
(5)将未订书目通知订书者。
(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。
试根据要求画出该问题的数据流程图,并把其转换为软件结构图。
答:
1.2—植肝书目3―类书目.ST书活宓一归类书超5—可书活孤
6—书书目7——U书书目S——已U书目9—.仏3
10—11-13——昱新节昌14——讦书惰皑
楼入变换传出
部分中心部分
第五章软件内部设计
1.软件需求,软件表示,概要设计,详细设计
2.信息隐蔽,访问
3.模块之间的联系,耦合性,内聚性,模块独立性
4•模块,功能,调用关心,接口
5.模块化,子功能,组装
6块间联系,各模块间,紧密,独立性
7•块间联系。
功能联系,紧密
8•体系结构
9.SD,事物,变换
10.具体设计工程,过程设计
1.A2.C3.D4.C5.D6.D7.D8.C9.A10.B
1什么是软件概要设计?
软件概要设计的基本任务
1》软件概要设计是软