软件工程导论习题答案Word文档格式.docx
- 文档编号:22193266
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:20
- 大小:725.82KB
软件工程导论习题答案Word文档格式.docx
《软件工程导论习题答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程导论习题答案Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。
缺点:
当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;
而且维护起来仍然很困难。
2.面向对象方法学:
降低了软件产品的复杂性;
提高了软件的可理解性;
简化了软件的开发和维护工作;
促进了软件重用。
1-4软件生命周期划分成哪些阶段
●软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。
1.软件定义时期划分为三个阶段:
问题定义、可行性研究和需求分析
2.开发时期:
总体设计、详细设计、编码和单元测试、综合测试。
3.维护时期:
主要任务是使软件持久地满足用户的需要。
1-5什么是软件过程?
它与软件工程方法学有何关系?
●软件过程:
是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤
●软件工程方法学:
通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型
1-6传统“瀑布模型”的主要缺陷是什么?
试说明改进的方法。
传统的瀑布模型过于理想化了。
增加“反馈环”
第二章
●可行性研究的目的:
就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
●可行性研究的任务:
1.进一步分析和澄清问题;
2.导出系统的逻辑模型;
3.从逻辑模型出发,提出若干种系统实现方案4.研究每种实现方案的可行性:
●技术上的可行性——使用现有的技术能实现这个系统吗?
●经济上的可行性——这个系统的经济效益能超过它的开发成本吗?
(投资与效益)
●操作可行性——系统的操作方式在这个用户组织内行得通吗?
●社会、政策允许的可行性
5.为每个可行的解决方案制定一个粗略的实现进度
6.对以后的行动方针提出建议
方法:
1.系统流程图
2.数据流图:
(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。
符号
3.数据字典:
是关于数据的信息的集合,也就是对数据流图中饮食的所有元素的定义的集合。
数据流图与数据字典共同构成系统的逻辑模型。
4.成本/效益分析
5.数据流图
–定货系统P32
–习题2第2题P43(银行储蓄系统)
–习题2第3题P43(机票预订系统)
–习题2第4题P43(医院监护系统)
6.数据定义1、顺序+2、选择〔|〕3、重复下限{}上限
–定货系统P39
–习题2第5题P44
2-1应该从哪些方面研究目标系统的可行性?
2-2为方便储户,某银行拟开发计算机储蓄系统。
储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;
如果是取款,系统计算利息并印出利息清单给储户。
请画出此系统的数据流图。
●某航空公司拟开发一个机票预定系统。
旅行社把预订机票的旅客信息(姓名、性别…等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统核对无误即印出机票给旅客。
2-3北京某高校可用的电话号码由以下几类:
校内电话号码由4位数字组成,第一位数字不是零;
校外电话又分为本市电话和外地电话两类,拨校外电话先拨0,若是本地电话再接着拨8位数字(固话第一位不是0)或11位数字(移动电话第一位为1);
若是外地电话,则拨3位区码再拨8位电话号码(固话第一位不是0),或拨0再拨11位数字(移动电话第一位为1)。
请用数据定义的方法,定义上述电话号码。
电话号码=[校内号码|校外号码]
校内号码=非0数字+3{数字}3
校外号码=0+[本地号码|外地号码]
本地号码=[固话号码|手机号码]
固话号码=非0数字+7{数字}7
手机号码=1+10{数字}10
外地号码=[外地固话号码|外地手机号码]
外地固话号码=3{数字}3+固话号码
外地手机号码=0+手机号码
非0数字=[1|2|3|4|5|6|7|8|9]
第三章
●需求分析的准则:
1、必须并描述的信息域,根据这条准则应该建立数据模型。
2、必须定义软件应完成的功能,这条准则要求建立功能模型。
3、必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。
4、必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。
●需求分析的任务(P46)1、确定对系统的综合要求;
2、分析系统的数据要求;
3、导出系统的逻辑模型;
4、修正系统开发计划。
●方法
–实体-联系图
●教学管理系统P54
●习题3第3题P63(银行储蓄系统)
●习题3第5题P63(医院监护系统)
–数据流图
–状态转换图
●电话系统P57
●习题3第6题P63(复印机)
第五章
●总体设计的任务
划分出组成系统的物理元素——程序、文件、数据库、人工过程和文档等等
设计软件的结构。
也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。
●总体设计过程两个阶段
1.系统设计阶段,确定系统的具体实现方案;
2.结构设计阶段,确定软件结构。
●总体设计过程9个步骤
1设想供选择的方案2选取合理的方案3推荐最佳方案4功能分解5设计软件结构6设计数据库
7制定测试计划8书写文档9审查和审核
●低耦合(5种类型)
1.数据耦合:
数据传递2.控制耦合:
控制信息传递3.特征耦合:
传过多的信息给被调用模块
4.公共环境耦合:
因全局变量,共享通信区5.内容耦合:
诸如一个模块访问另一个模块内部
●高内聚(7种类型)
功能内聚10分顺序内聚9分通信内聚7分过程内聚5分
时间内聚3分逻辑内聚1分偶然内聚0分
●面向数据流的设计方法P95
–变换流
●数字仪表板系统P96
●患者监护系统(参见习题2第4题)
–事务流
●用户命令交互子系统(DFD)
SC图
机票预订系统(参见习题2第3题)
第六章
●结构程序设计概念P108
–如果一个程序的代码块仅仅通过顺序、选择和循环这三种基本控制结构进行连接,而且每个代码块只有一个入口和一个出口,则称这个程序是结构化的
●结构程序设计3种概念类型P109
1、经典的结构程序设计
只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环着三种基本控制结构
2、扩展的结构程序设计还允许使用DO-CASE型多分支结构和DO-UNTIL型循环结构
3、修正的结构程序设计还允许使用EXIT(或BREAK)结构
方法
1、人机界面设计
2、过程设计的工具P114
3、面向数据结构的设计方法——Jackson方法
4、程序复杂程度的定量度量P127
–McCabe方法
根据程序控制流的复杂程度定量度量程序的复杂程度,这样度量出的结果称为程序的环形复杂度。
可用三种方法之一来计算复杂性:
1.流图中区域的数量对应于环形的复杂度;
2.流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的数量,N是流图中节点的数量;
3.流图G的环形复杂度V(G)=P+1,其中,P是流图中判定节点的数量
–Halstead方法
●
程序流程图P114
–习题六第3题P131
画出下列伪程序的程序流程图和盒图
START
IFpTHEN
WHILEqDO
F
ENDDO
ELSE
BLOCK
G
N
ENDBLOCK
ENDIF
STOP
●PAD(问题分析)图
●判定表P117
–行李托运费计算P118
–讲课课时津贴计算
●判定树P118
–行李托运费计算P119
●过程设计语言(PDL
Jackson设计方法的步骤(5步)P122
–实例P123
–高考后将考生的基本情况文件(简称考生基本情况文件)和考生高考成绩文件(简称考分文件)合并成一个新文件(简称考生新文件)。
考生基本情况文件和考分文件都是由考生记录组成的。
为简便起见,考生基本情况文件中的考生记录的内容包括:
准考证号、姓名、通讯地址。
考分文件中的考生记录的内容包括:
准考证号和各门考分。
合并后的考生新文件自然也是由考生记录组成,内容包括:
准考证号、姓名、通讯地址和各门考分。
操作:
(1)停止;
(2)打开两个输入文件;
(3)建立输出文件。
(4)从输入文件中各读一条记录。
(5)生成一条新记录。
(6)将新记录写入输出文件。
(7)关闭全部文件。
条件:
I
(1)文件结束。
把操作和条件分配到程序结构图的适当位置
●将程序流程图映射为流图P127
●计算环形复杂度P127实例P128-129习题6第8题P132
1:
LOOP:
DOWHILEZ>
2:
A=B+1
IFA>
10
3:
THENX=A
4:
ELSEY=Z
5:
ENDIF
IFY<
5
6:
THENPRINTX,Y
7:
ELSEIFY=2
THENGOTOLOOP
8:
ELSEC=3
9:
G=H+R
ENDDO
10:
IFF>
11:
THENPRINTG
12:
ELSEPRINTR
13:
STOP
V(G)=6
第七章
●软件测试的概念P140
目的:
(1)测试是为了发现程序中的错误而执行程序的过程;
(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;
(3)成功的测试是发现了至今为止尚未发现的错误的测试。
定义:
为了发现程序中的错误而执行程序的过程。
测试绝不能证明程序是正确的
●测试方法P141
–黑盒测试
1把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程
2对程序接口进行测试,检查程序功能是否能按规格说明书的规定正常使用;
程序是否能适当地接受输入数据并产生正确的输出信息;
程序运行过程中能否保持外部信息的完整性
–白盒测试
1把程序堪称装在一个透明的白盒子里,测试者完全知道程序的结构处理算法
2按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按
预定要求正确工作
●测试步骤P141
–单元测试:
(模块测试)发现的往往是编码和详细设计的错误
–集成测试:
着重测试模块的接口
–系统测试:
发现的往往是软件设计中的错误,也可能发现需要说明中的错误
–验收测试:
(确认测试)往往发现需求说明书中的错误
白盒测试
●逻辑覆盖
–逻辑覆盖类型
逻辑覆盖是以程序的内部逻辑结构为基础的测试用例设计技术,属于白盒测试。
它要求测试人员十分清楚程序的逻辑结构,考虑的是测试用例对程序内部逻辑覆盖的程度。
从覆盖源程序语句的详尽程度分析,大致有以下一些不同程度的覆盖标准:
1语句覆盖2判定覆盖3条件覆盖4判定/条件覆盖5条件组合覆盖
–实例P153
–习题7第4题第(3)小题P174
●控制结构测试
–基本路径测试P156
–
黑盒测试法实例:
输入三个整数作为三边的边长构成三角形。
当此三角形为一般三角形、等腰三角形及等边三角形时,分别做计算…”
分析:
输入:
三个非零正整数
输出:
一般三角形、等腰三角形、等边三角形
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 导论 习题 答案