第7章 软件工程(答案)
精品文档-软件工程经济学(赵玮)-第7章

第7章 软件测试的资源分配、进度管理与最优发行 NIS软件的测试过程通常包括拟定测试计划和编制测试大 纲,设计和生成测试用例,按序完成单元测试、集成测试、系 统测试和运行测试,生成相应的测试报告等基本活动,其测试 流程见图7.1。需要说明的是,系统测试是需在相关硬件(计 算机硬件与网络设备)配置好的情况下所进行的软/硬件系统联 试,经系统测试通过后即可交付用户运行,而运行测试则是在 用户的作用下为提高软件可靠性所做的相关测试。此外,为使 软件测试能省时高效,应采用测试与开发同步进行和逐步推进 的渐近策略,并将测试贯穿于软件的整个生命周期的始终。
第7章 软件测试的资源分配、进度管理与最优发行
集成测试包括功能集成测试、操作剖面建立和有效性测试 三部分,其中功能测试通常采用非增量式集成方法或增量式集 成方法。非增量式集成方法是首先分别测试各个模块,然后再 把这些已被测试并确认为功能与性能符合设计要求的模块组合 起来进行整体测试;增量式集成测试方法则是采用测试一个模 块组装一个模块,然后再测试再组装,直到所有模块均被组装 完毕,并被整体测试合格为止的一种逐步组装的方式。显然, 非增量式集成测试可以对所有模块并行进行单元测试,能充分 利用人力,加快工程进度;但这种一步到位的方法容易形成混 乱,出现错误后不容易查找和定位,故一般适用于规模较小的 软件。增量式集成测 试虽然采用逐步到位的方法,要多费人力和工时,但由于每个 已被测试过的模块还可以在以后组装过程中的每一步骤(组装 一个新模块)进行新的测试,从而使得程序测试更为彻底。因 而从测试有效性角度来看,增量式集成测试将比非增量式集成
第7章 软件测试的资源分配、进度管理与最优发行 集成测试的第三个重要部分是有效性测试。由于软件经组 装测试并排错后,接口方面的问题已经解决,故以后集成测试 的主要问题是解决软件的有效性问题,所谓软件的有效性问题, 是指软件的功能、性能、可靠性、安全性及保障性等方面软件 的实际水平是否达到用户的需求。有效性测试是在开发方地点 在模拟用户运行环境的条件下所进行的一种用户需求测试,一 般采用黑盒测试来检验所开发并经单元测验、组装集成测试及 排错后的软件是否与描述用户需求的需求分析说明书相一致。 测试人员一般由开发方的测试人员及软件设计人员组成。以下 简述各类测试的基本内涵。
《软件工程实用教程》第7_章_软件测试技术

第7 章 軟體測試技術
7.2.3 白盒測試方法 白盒測試也稱結構測試或邏輯驅動測試。在使 用白盒測試方案時,測試者必須檢查程式的 內部結構,從檢查程式的邏輯著手,對所有 邏輯路徑進行測試,得出測試數據。 開始 1 .邏輯覆蓋法:以程式內部的邏輯結構為基礎 的測試用例設計技術。 X=x/a a>1andb= 0 (1)語句覆蓋 X=x+1 A = 2 o r (2)判定覆蓋 x>1 (3)條件覆蓋 輸出a,b,x
第7 章 軟體測試技術
3.錯誤推測法
錯誤推測法是基於經驗和直覺推測程式中所 有可能存在的各種錯誤,從而有針對性的 設計測試用例的方法。
第7 章 軟體測試技術
4.因果圖方法 (1) 分析軟體規格說明描述中,哪些是原因(即輸入條件 或輸入條件的等價類 ),哪些是結果 (即輸出條件 ) , 並給每個原因和結果賦予一個識別字。 (2) 分析軟體規格說明描述中的語義,找出原因與結果之 間、原因與原因之間對應的關係,根據這些關係,畫 出因果圖。 (3) 由於語法或環境限制,有些原因與原因之間,原因與 結果之間的組合情況不可能出現。為表明這些特殊情 況,在因果圖上用一些記號表明約束或限制條件。 (4) 把因果圖轉換為判定表。 (5) 把判定表的每一列拿出來作為依據,設計測試用例
第7 章 軟體測試技術
7.1.2 軟體測試原則 1. 應早並不斷地進行測試 2. 程式員應盡可能避免檢查自己的程式 3. 測試用例應當包括合理的輸入條件和 不合理的輸入條件 4. 測試用例應包括輸入數據和預期的輸 出結果兩部分 5. 全面檢查每個測試結果 6. 嚴格按照測試計畫來測試 7. 充分注意測試中的集群現象 8. 注意遵守“經濟性”的原則
第7 章 軟體測試技術
3)根據規格說明的每個輸出條件,使用前面的原則 1)。 4)根據規格說明的每個輸出條件,應用前面的原則 2)。 5)如果程式的規格說明給出的輸入域或輸出域是有序集 合,則應選取集合的第一個元素和最後一個元素作 為測試用例。 6)如果程式中使用了一個內部數據結構,則應當選擇這 個內部數據結構的邊界上的值作為測試用例。 7)分析規格說明,找出其他可能的邊界條件。
软件工程学课后习题答案

2020/10/27
2020/10/27
2020/10/27
2020/10/27
•作业及解答(第3章)
电话号码=[校内电话号码|校外电话号码] 校内电话号码=非零数字+ 3 位数字 //后面继续定义 校外电话号码=[本市号码|外地号码] 本市号码=数字零+8位数字 外地号码=数字零+3位数字+8位数字 非零数字=[1|2|3|4|5|6|7|8|9] 数字零=0 3位数字=3{数字}3 //3至3个数字 8位数字=非零数字+7位数字 7位数字=7{数字}7 数字=[0|1|2|3|4|5|6|7|8|9]
2020/10/27
•作业及解答(第3章)
2020/10/27
•作业及解答(第3章)
从问题陈述可知,本系统数据源点是“病人”和“护士”,他 们分别提供生理信号和要求病情报告的信息。进一步分析 问题陈述,从系统应该“定时记录病人情况以形成患者日 志”这项要求可以想到,还应该有一个提供日期和时间信 息的“时钟”作为数据源点。
软件工程学课后习题答案
2020/10/27
•作业及解答(第3章)
2-4 医院对患者2监护系统的基本要求是随时接收每个病人 的生理信号(脉搏、体温、血压、心电图等),定时记录病 人情况以形成患者日志,当某个病人的生理信号超出医生 规定的安全范围时向值班护士发出警告信息,此外,护士 在需要时还可以要求系统印出某个指定病人的病情报告。
2020/10/27
1 2 3 4 5 6 7 8 9 10 11 12
人数≤40
TTTT
40<人数≤60
TTTT
人数>60
TT T T
助教
T
T
T
软件工程导论(第7章)

测试的正确定义:“为了发现程序中的错 误而执行程序的过程。”
7.2.2 软件测试准则
1)所有测试都应该能追溯到用户需求;
2)应该远在测试前就制定出测试计划;
3)把Pareto原理应用到软件测试中;Pareto原理 说明测试发现的错误中的80%很可能是由程序 中20%的模块造成的。
4)应该从“小规模”测试开始,并逐步进行“大 规模”测试;
USER32.DLL; GDI32.DLL; KERNEL32.DLL。
Windows消息机制:
1)基于消息的事件驱动 消息可以是由硬件发来的(存于系统队列),
也可以由Windows系统和应用程序发来(存于 程序队列中);
每一个Windows程序在不停的捕捉各种消息, 并进行处理;
每个窗口都必须有一个窗口函数,来负责消息 的判断与处理。
3)重要的执行路径 由于不可能进行穷尽测试,因此选择测试
路径是非常关键的。 4)出错处理通路 5)边界条件
7.3.2 代码审查
审查小组: 1)组长; 2)程序的设计者; 3)程序的编写者; 4)程序的测试者。
7.3.3 计算机测试
由于软件模块不是一个独立的系统,不能独 立运行,要依靠其他模块调用,或需要调用其 他模块。
1.模块测试 模块测试又称单元测试,它把每个模块作为
单独的实体来测试。 2.子系统测试
子系统测试是把经过单元测试的模块放在一 起形成一个子系统来测试。
3.系统测试 系统测试是把经过测试的子系统装配成一个完
整的系统来测试。 4.验收测试
验收测试把软件系统作为单一的实体进行测试 (利用用户的实际数据测试)。 5.平行运行
如PL/1、PASCAL、C、ADA等 3)专用语言 如APL、BLISS、FORTH、LISP、PROLOG等
软件工程考核知识点-第7章-软件测试

软件工程考核知识点-第7章-软件测试7.1 软件测试的目的及原则7.1.1 软件测试的目的(1)软件测试是为了发现错误而执行程序的过程。
(2)一个好的测试用例能够发现至今尚未发现的错误。
(3)一个成功的测试是发现了至今尚未发现的错误的测试。
因此,测试阶段的基本任务应该是根据软件开发各阶段的文档资料和程序的内部结构,精心设计一组“高产”的测试用例,利用这些实例执行程序,找出软件中潜在的各种错误和缺陷。
7.1.2软件测试的原则在软件测试中,应注意以下原则:(1)测试用例应由输入数据和预期的输出数据两部分组成。
这样便于对照检查,做到"有的放矢"。
(2)测试用例不仅选用合理的输入数据,还要选择不合理的输入数据。
这样能更多地发现错误,提高程序地可靠性。
对于不合理地输入数据,程序应拒绝接受,并给出相应提示。
(3)除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事。
例如程序正确打印出用户所需信息的同时还打印出用户并不需要的多余的信息。
(4)应制定测试计划并严格执行,排除随意性。
(5)长期保留测试用例。
测试用例的设计耗费很大的工作量,必须作为文档保存。
因为修改后的程序可能有新的错误,需要进行回归测试。
同时,为以后的维护提供方便。
(6)对发现错误较多的程序段,应进行更深入的测试。
有统计数字表明,一段程序中所发现的错误数越多,其中存在的错误概率也越大。
因为发现错误数多的程序段,其质量较差。
同时在修改错误过程中又容易引入新的错误。
(7)程序员避免测试自己的程序。
测试是一种"挑剔性"的行为,心理状态是测试自己程序的障碍。
另外,对需求规格说明的理解而引入的错误则更难发现。
因此应由别的人或另外的机构来测试程序员编写的程序会更客观,更有效。
7.2 测试方法软件测试方法一般分为两大类:动态测试方法与静态测试方法,而动态测试方法中又根据测试用例的设计方法不同,分为黑盒测试与白盒测试两类。
软件工程课后习题答案2-12章

D3生理信息 定时的生理信号
F2生理信号 P1 接收信号 F2生理信号 定时的 生理信号
F6日志 E3 时钟 F3日前、时间 P4 定时取样 生理信号 F6日志 E1 护士 F1要求报告 P6 产生病情报告 D1患者日志
范
信
理
生
患者生理信 号获取
生理信号
定
时
生
理
生
号
理
信
信
围
号
号
患者监护系 统
危 日志 机信息
安排航班
预 定 信 息
机票 信息
交款
打印取票单 据
打印及发放 机票
有
航班
通 效 知
设置航班
录入预定信 息
录入取票凭 证
核对取票凭 证
P2 分析信号 E2 病人 F2生理信号
危及病人信息 F2生理信号 D2患者安全范围 P7制定安 全范围 P5 更新日志
P3 产生警告信息 F4警告信息 E1 护士
F5安全范围
监护处理
志 日 定时生理信号
号 生理信
监护信息输 出
息
生
理
制定生理信 号安全范围
接收信号
定时取样 生理信号
时间
分析信号
更新日志
报警
危机信
信
号
范
围
信息 危机
生
信 理 生 时 定 号 信 理
日 志
取得时间
号
病情报告
• P104:4 • 美国某大学有200名教师,校方与教师工会刚刚签订一项协议。 按照协议,所有年工资超过$26000(含$26000 )的教师工 资将保持不变,年工资少于$26000的教师将增加工资,所增 加工资数额按下述方法计算:给每位教师所赡养的人(包括 教师本人)每年补助$100,此外,教师有一年工龄每年再多 补助¥50,但是,增加后的年工资总额不能多于$26000。 • 教师工资档案存储在行政办公室的磁带上,档案中有目前的 年工资、赡养的人数、雇佣日期等信息。需要写一个程序计 算并印出每名教师的原工资和调整后的新工资。 • 要求:(1)画出此系统的数据流图;(2)写出需求说明; • (3)设计上述的工资调整程序(要求用HIPO图描绘设计结果), 设计时分别采用两种算法,并比较两种算法的优缺点: – (a)搜索工资档案数据,找出年工资少于$26000的人, 计算新工资,校核是否超过$26000,存储新工资,印出新 旧工资对照表; – (b)把工资档案数据按工资从最低到最高的次序排序,当 工资数额超过$26000时即停止排序,计算新工资,校核是 否超过限额,存储新工资,印出结果。 • (4)你所画出的数据流图适应用那种算法?
软件工程课后习题答案2-12章

书状态为S2&终端 输入“H=”加书名 管理员设置状 态 管理员删除 管理员添加
预约
书出库(删除) 书入库
图4.4.2
(三)图书馆终端用户模式的有穷状态机描述 • 状态机J:{读者查询状态,查询结果} • 输入集K:{终端输入用户查询命令,书的各种 状态(S1,S2,S3)} • 转换函数T:如图4.4.3所示 • 初始态S:{读者查询状态} • 终态集F:{查询结果}
取票通知 账单 机票 账单
P3.1 核对取票凭证 顾客 取票通知 P3.2 交款 机票 P3.3 打印机票
机票预定系 统
信 息 通 知 单 机 票
账
单
信息
机票
通
预定信息处 理
信息
知
账
通
单
有
单
取票凭证处 理
通知 账单 单
账单
信 息 定 预 航班信
息
机票预定子 系统
单 知
机票发放子 系统
效 通 知
机
票
取款单
P3.1输入取款 信息
取款信息 E1储 户 密码 P3.2 密码校验
P4 计算利息
利息 利息 P5 打印利息 清单
密码正确信息
E2业 务员
利率
P6设置利 率
利率
不能是两个分开的子系统,是相同的前台单个处理
银行储蓄系 统
存 款 单 款
率 利
利 存单 息清单
密 码
业务单据录 入
利 率
存款单
取
单
储蓄业务处理
(一)图书状态的有穷状态机描述 • 状态机J:{书在图书馆S1,书被借出S2, 书被预约S3} • 输入集K:{书上条形码,借阅卡条形码, 终端输入各种命令} • 转换函数T:如图4.4.1所示 • 初始态S:{书在图书馆S1,书被借出S2} • 终态集F:{书被借出S2,书被预约S3}
软件工程课后答案(清华大学出版社--钱乐秋)

8
作业及解答(第3章)
E1 护士
F4警告信息、病情报告 F1要求报告
E1 护士
Hale Waihona Puke E2 病人F2生理信号P0 患者监护系统
F6日志
D1患者日志
F5安全范围
D2患者安全范围
E3 时钟
13:07:42
F3日前、时间
重庆工学院计算机科学与工程学院 李梁(liliang@)
9
作业及解答(第3章)
是: 4474263 22,371(人月) 200
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
5
作业及解答(第1-2章)
程序员的月平均工资是4000美元, 开发出4474263条指
令的成本是 22371 4000 89,484,000(美元)
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
16
作业及解答(第3章)
3-3 银行计算机储蓄系统的工作过程大致如下:储户填写的 存款单或取款单由业务员键入系统,如果是存款则系统记 录存款人姓名、住址(或电话号码)、身份证号码、存款类 型、存款日期、到期日期、利率及密码(可选)等信息,并 印出存单给储户;如果是取款而且存款时留有密码,则系 统首先核对储户密码,若密码正确或存款时未留密码,则 系统计算利息并印出利息清单给储户。 请用数据流图描绘本系统的功能,并用实体-联系图描绘系 统中的数据对象。
医院对患者8监护系统的基本要求是随时接收每个病人的 生理信号(脉搏、体温、血压、心电图等),定时记录病人 情况以形成患者日志,当某个病人的生理信号超出医生规 定的安全范围时向值班护士发出警告信息,此外,护士在 需要时还可以要求系统印出某个指定病人的病情报告。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第7章软件工程习题(答案)一、选择题1. D2. B3. C4. B5. A6. C7. A8. D9. BD 10. C11. B 12. C二、简答题1.什么叫软件危机?答:随着计算机应用的普及和深化,计算机软件的数量、规模、复杂程度和开发所需的人力、物力等都在急剧增加,计算机发展初期个人编写小程序的传统方法,已不再适合现代大型软件的开发,用传统方法开发出来的许多大型软件甚至无法投入运行。
同时,由于计算机应用领域和硬件技术得到丁飞速发展,软件的生产速度、质量和规模远远适应不了对软件的需求,造成大量人力、物力、财力的浪费,在软件开发和维护过程中出现了巨大的困难。
计算机领域把大型软件开发和维护过程中遇到的一系列严重问题称为“软件危机”(Software Crisis)。
2.软件危机的表现形式是什么?答:软件危机的表现形式:(1) 软件的质量难以保证开发的软件可靠性差。
由于在开发过程中,没有确保软件质量的体系和措施,在软件测试时,又没有严格的、充分的、完全的测试,提交给用户的软件质量差,在运行中暴露出大量的问题。
这种不可靠的软件,轻者会影响系统正常工作,重者会发生事故,造成生命财产的重大损失。
(2) 软件开发成本和开发进度难以控制经费预算经常突破,完成时间一再拖延。
由于缺乏软件开发的经验和软件开发数据的积累,使得开发工作的计算很难制定。
主观盲目制定的计算,执行起来和实际情况有很大差距,使得开发经费一再突破。
由于对工作量和开发难度估计不足,进度计划无法按时完成,开发时间一再拖延。
(3) 软件的维护非常困难开发的软件可维护性差。
开发过程没有统一的、公认的规范,软件开发人员按各自的风格工作,各行其事。
开发过程无完整、规范的文档,发现问题后进行杂乱无章的修改。
程序结构不好,运行进发现错误也很难修改,导致维护性差。
(4) 用户对“已完成”的软件系统不满意开发的软件不能满足用户要求。
开发初期对用户的要求了解不够明确,未能得到明确表达。
开发工作开始后,软件人员和用户又未能及进交换意见,使得一些问题不能及时解3.什么叫软件工程?答:软件工程是研究大规模程序设计的方法、工具和管理的一门工程科学,也就是运用系统的、规范的和可定量的方法来开发、运行和维护软件的系统工程。
软件工程是—门交叉学科,涉及到计算机科学、管理科学、工程学和数学。
软件工程的理论、方法、技术都是建立在计算机科学的基础上,它是用管理学的原理、方法来进行软件生产管理;用工程学的观点来进行费用估算、制定进度和实施方案;用数学方法来建立软件可靠性模型以及分析各种算法和性质。
软件工程是指导计算机软件开发和维护的工程学科。
4.软件工程的目标是什么?答:软件工程的目标可概括为:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需要的软件产品。
5.简述软件工程过程。
答:软件工程过程包含如下7个过程。
(1) 获取过程:获取过程为需方按合同获取一个系统、软件产品或服务的活动。
(2) 供应过程:供应过程为供方向需方提供合同中的系统、软件产品或服务所需的活动。
(3) 开发过程:开发过程为开发者和机构为了定义和开发软件或服务所需的活动。
引过程包括需求分析、设计、编码、集成、测试、软件安装和验收等活动。
(4) 操作过程:操作过程为操作者和机构为了在规定的运行环境中为其用户运行一个计算机系统所需要的活动。
(5) 维护过程:维护过程为维护者和机构为了管理软件的修改,使它处于良好运行状态所需要的活动。
(6) 管理过程:管理过程为软件工程过程中各项管理活动,包括项目开始和范围定义;项目管理计划;实施和控制,评审和评价;项目完成。
(7) 支持过程:支持过程对项目的生存周期过程给予支持。
它有助于项目的成功并能提高项目的质量。
6.简述软件生存周期。
答:软件生存周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。
通常,软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等活动,可以将这些活动以适当方式分配到不同阶段去完成。
7.常见的软件开发模型有哪些?答:常见的软件工程模型有:瀑布模型、螺旋模型、快速原型模型、智能模型等等。
8.简述喷泉模型。
答:喷泉模型是一种以用户需求为动力,以对象作为驱动的模型。
它适合于面向对象的开发方法。
它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。
喷泉模型使开发过程具有迭代性和无间隙性。
系统某些部分常常重复工作多次,相关功能在每次迭代中随之加入演化的系统。
无间隙是指在分析、设计和实现等开发活动之间不存在明显的边界。
9.简述智能模型。
智能模型又称智能生存周期模型,是基于知识的软件开发模型,它把瀑布模型与专家系统结合在—起。
该模型在实施过程中要建立知识库,将模型本身、软件工程知识与特定领域的知识分别存入数据库。
以软件工程知识为基础的生成规则构成的专家系统与含应用领域知识规则的其他专家系统相结合,构成这一应用领域软件的开发系统。
10.简述模块划分的原则。
答:模块的划分不能够随意进行,而是应该遵循一定的原则:(1) 划分的模块要有尽量高的功能独立性,而模块之间应该是低耦合(关联少)的。
(2) 模块的大小要适宜,过大,增加模块本身的复杂性;过小,模块数增多,会增加模块间关联度。
(3) 模块间接口是必须是明确的。
(4) 模块间可以有调用关系,这个调用的层次不能太多。
(5) 尽量注意提高模块的复用率,提高开发效率。
11.简述结构化方法遵循的原则。
答:结构化方法通常遵循以下原则:(1) 用户参与的原则。
由于整个软件开发工作的复杂性,用户的需求分析至关重要,但是,用户的需求不是一次就能够明确的,而是随着系统开发工作的深入,用户的需求表达和开发人员对用户需求的理解才能逐步明确、深化和细化。
这就要求软件的开发要有用户的积极参与。
否则,往往导致开发缓慢、不断反复、甚至失败。
(2) 先分析、再设计、后实现的原则。
结构化方法强调在进行系统设计和系统实施之前,要先进行充分的需求调查与分析,进行可行性的论证,即首先解决系统“做什么”的问题,然后再进入系统设计、系统实施阶段,来解决“如何做”的问题。
(3) 自顶向下的原则。
在系统分析、设计、实施等各阶段,结构化方法都强调“自项向下”的原则,即从总体目标和功能出发,逐级分解、逐步细化,将整个开发系统分解,先实现某些子系统,然后再实现总的目标和功能。
遵循这个原则,可以将一个复杂的问题分解成若干个比较简单的问题分别加以解决,从而降低了解决问题的难度。
(4) 阶段成果文档化。
结构化方法强调要将每一工作阶段的成果,用明确的文字和标准化的图形、表格等文档化工具进行完整而又准确的描述。
这些文档即可标志阶段开发工作的结束,又是下阶段工作开展的主要依据。
12.简述软件质量的含义。
答:软件质量是贯穿软件生存期的一个极为重要的问题,关于软件质量的定义有多种说法,从实际应用来说,软件质量定义如下:(1) 与所确定的功能和性能需求的一致性。
(2) 与所成文的开发标准的一致性。
(3) 与所有专业开发的软件所期望的隐含特性的一致性。
13.简述软件质量保证的含义答:软件的质量保证就是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。
14.简述软件可靠性的含义。
答:软件可靠性定义表明了一个程序按照用户的要求和设计的目标,执行其功能的正确程度。
一个可靠的程序应要求是正确的、完整的、一致的和健壮的。
15.简述设计质量的评审内容。
答:设计质量的评审内容:(1) 评价软件的规格说明是否合乎用户的要求,即总体设计思想和设计方针是否明确;需求规格说明是否得到了用户或单位上级机关的批准;需求规格说明与软件的概要设计规格说明是否一致等。
(2) 评审可靠性,即是否能避免输入异常(错误或超载等)、硬件失效及软件失效所产生的失效,一旦发生应能及时采取代替或恢复手段。
(3) 评审保密措施实现情况,即是否提供对使用系统资格进行检查;对特定数据的使用资格、特殊功能的使用资格进行检查,在查出有违反使用资格情况后,能否向系统管理人员报告有关信息;是否提供对系统内重要数据加密的功能等。
(4) 评审操作特性实施情况,即操作命令和操作信息的恰当性,输入数据与输入控制语句的恰当性;输出数据的恰当性;应答时间的恰当性等。
(5) 评审性能实现情况,即是否达到所规定性能的的目标值。
(6) 评审软件是否具有可修改性、可扩充性、可互换性和可移植性。
(7) 评审软件是否具有可测试性。
(8) 评审软件是否具有复用性。
16.简述容错软件的含义。
答:容错软件的定义,有以下4种:(1) 规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件为具有容错功能的软件,即容错软件。
(2) 规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称之为容错软件。
(3) 规定功能的软件,在因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为容错软件。
(4) 规定功能的软件,在一定程度上具有容错能力,则称之为容错软件。
17.简述软件开发环境。
答:软件开发环境是指在计算机的基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统。
软件工程环境是一组方法、过程及计算机程序(计算机化的工具)的整体化构件,它支持从需求定义、程序生成直到维护的整个软件生存期。
三、讨论题1.软件是计算机的灵魂,用软件工程的方法来保证软件开发过程的顺利进行有哪些好处?答案略。
2.学习了软件工程后,你觉得在哪些方面的收获最大?答案略。