软件工程(第5版课后答案)PPT资料.ppt
《软件工程(第5版课后答案)PPT资料.ppt》由会员分享,可在线阅读,更多相关《软件工程(第5版课后答案)PPT资料.ppt(26页珍藏版)》请在冰豆网上搜索。
输入关键字,看是否输出约20个加了行号的字,是否与关键字完全相同的字约在屏幕中央。
输入:
“计算机”预期输出:
约20个加行号的字BS:
输入关键字,选取屏幕上行号,是否生成包含索引号的文件。
“计算机”;
12预期输出:
约20个加行号的字;
文件BSD:
输入关键字,选取屏幕上行号,检索索引号有关信息,是否显示文件中索引信息。
12;
3预期输出:
文件;
文件中索引信息。
F:
输入作者姓名,是否在屏幕上显示该作者的著作的索引号,是否将这些索引存入文件。
“金庸”预期输出:
该作者著作的索引号FD:
输入作者姓名,检索索引号有关信息,是否现实文件中索引信息。
“金庸”;
该作者著作索引号;
文件中索引信息P1755参考答案测试系统的非正常操作B:
搜索关键字为空字串,是否提示关键字不能为空串。
“”预期输出:
关键字不能为空串BS:
选取行的行号超过屏幕行号,是否提示行号超界。
80预期输出:
行号超界BSD:
检索的索引号不合法,是否提示索引号不合法。
-1预期输出:
索引号不合法直接调用DISPLAY,是否提示非法操作输入:
1预期输出:
非法操作P2785试用面向对象方法,设计本书习题2第2题中描述的储蓄系统。
习题2第2题为方便储户,某银行拟开发计算机储蓄系统。
储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;
如果是取款,系统计算利息并印出利息清单给储户。
P2785参考答案需求描述(参照课本P227ATM系统需求描述)定义系统边界确定类与对象储户、银行、储蓄系统、存款单、取款单、业务员、系统、存款人、姓名、住址、存款类型、存款日期、利率、信息、利息、利息清单、帐户、事务日志。
确定关联、属性P2785参考答案静态结构P2785参考答案建立动态模型事件跟踪图(正常、异常)状态图以正常存款为例说明事件跟踪图画法业务人员键入系统记录存款信息存款入账户打印存款单(作业中,请包含所有正常和异常情况)(作业中,请包含所有正常和异常情况)P2785参考答案建立动态模型事件跟踪图(正常、异常)状态图若某个类的状态较多,变化较复杂,则应当画出该类的状态图,说明该类状态改变的条件等。
补充习题一为什么基于约束覆盖率作为测试软件充分性的一个指标?
类测试:
由那些与验证类的实现是否和该类的说明完全一致的相关联的活动组成类测试后,测试程度用测试充分性表示,即测试多少类实现和多少类说明包括三个标准即基于类状态的覆盖率、基于约束的覆盖率和基于代码的覆盖率。
基于约束的覆盖率以测试用例覆盖状态转换图中多少个约束为依据。
如对于状态的边界值,取决于状态相关属性范围,对于状态的每一个转换所应满足的条件,以及转换后应满足何种条件,根据属性来定义每一个状态等。
这些测试展现了类测试系列充分性。
补充习题二比较传统和现代开发方法中基于约束的覆盖率的区别补充习题二参考答案在传统方法测试中:
单元测试集中检测软件,设计的最小单元为模块,可独立测试单个操作;
集成测试存在层次的控制结构,依自顶向下或自底向上策略;
确认测试集中检查用户可见的动作和可识别的输出传统方法的约束覆盖针对软件设计模块,孤立测试单个操作。
补充习题二参考答案在现代方法测试中:
单元测试中单元的概念改变了,它的“封装”导致类和对象的定义,从而使最小的可测试单元变为封装起来的类和对象;
集成测试不存在层次的控制结构,采用基于线程或使用的测试;
确认测试不再考虑类之间的连接细节在现代方法的约束覆盖率中,要测试封装的类和对象,而不能孤立地仅对个体模块测试在传统和现代设计中,针对不同对象,其覆盖程度也有所不同P223习题1第3题什么是软件工程?
它有哪些本质特性?
怎样用软件工程消除软件危机?
P223参考答案软件工程是:
把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;
研究中提到的途径软件工程的本质特性:
软件工程关注于大型程序的构造软件工程的中心课题是控制复杂性软件经常变化开发软件的效率非常重要和谐地合作是开发软件的关键软件必须有效地支持它的用户在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品P223参考答案软件危机解决途径技术措施使用更好的软件开发方法和开发工具组织管理措施软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目软件工程采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科P236习题1第6题什么是软件过程?
它与软件工程方法学有何关系?
P236参考答案软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件工程方法学包含三个要素:
方法、工具和过程。
方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题工具是为运用方法而提供的自动的或半自动的软件工程支撑环境过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤P237习题1第7题什么是软件生命周期模型?
试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用范围P237参考答案软件生命周期模型是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。
P237参考答案瀑布模型缺点:
实际的项目大部分情况难以按照该模型给出的顺序进行,而且这种模型的迭代是间接的,这很容易由微小的变化而造成大的混乱。
经常情况下客户难以表达真正的需求,而这种模型却要求如此,这种模型是不欢迎具有二义性问题存在的。
客户要等到开发周期的晚期才能看到程序运行的测试版本,而在这时发现大的错误时,可能引起客户的惊慌,而后果也可能是灾难性的。
会经常在过程的开始和结束时碰到等待其他成员完成其所依赖的任务才能进行下去,有可能花在等待的时间比开发的时间要长。
称之为“堵塞状态”。
P237参考答案优点:
它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
虽然有不少缺陷但比在软件开发中随意的状态要好得多。
软件工程中应用最广泛的过程模型,在软件工程中占有肯定和重要的位置。
P237参考答案快速原型模型在进行了基本需求分析之后,快速开发出产品的原型,然后基于这个原型,同客户沟通、交流,更好地了解客户需求,不断修改这个原型,到了双方认可的程度,再做详细地分析、设计和编程,最终开发出令客户满意的产品。
优点:
使用户能够感受到实际的系统,使开发者能够快速地构造出系统的框架。
缺点:
产品的先天性不足,因为开发者常常需要做实现上的折中,可能采用不合适的操作系统或程序设计语言,以使原型能够尽快工作。
P237参考答案增量模型缺点:
至始至终开发者和客户纠缠在一起,直到完全版本出来。
人员分配灵活,刚开始不用投入大量人力资源,当核心产品很受欢迎时,可增加人力实现下一个增量。
当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径,这样就可以先发布部分功能给客户,对客户起到镇静剂的作用。
具有一定的市场。
适合于软件需求不明确、设计方案有一定风险的软件项目。
P237参考答案螺旋模型缺点:
需要相当的风险分析评估的专门技术,且成功依赖于这种技术。
很明显一个大的没有被发现的风险问题,将会导致问题的发生,可能导致演化的方法失去控制。
这种模型相对比较新,应用不广泛,其功效需要进一步的验证。
对于大型系统及软件的开发,这种模型是一个很好的方法。
开发者和客户能够较好地对待和理解每一个演化级别上的风险。
适合于大型软件的开发