软件工程导论 第7章 测试
- 格式:ppt
- 大小:1.91 MB
- 文档页数:73


1
1-5、根据历史数据可以做出如下的假设 :
对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=4080e0.28(Y-1960)
存储器的价格按下面公式描述的趋势逐年下降:P1=0.3×0.72Y-1974(美分/位)
如果计算机字长为16位,则存储器价格下降的趋势为:P2=0.048×0.72Y-1974(美元/字)
在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。
基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算:
(1) 在1985年对计算机存储容量的需求估计是多少?如果字长为16位,这个存储器的价格是多少?
(2) 假设在1985年一名程序员每天可开发出10条指令,程序员的平均工资是每月4000美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。
(3) 假设在1995年存储器字长为32位,一名程序员每天可开发出30条指令,程序员的月平均工资为6000美元,重复(1)、(2)题。
2
2-4 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。
医院对患者8监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。
从问题陈述可知,本系统数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。
从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。
1/16十万种考研考证电子书、题库视频学习平台圣才电子书第7章实现1.下面给出的伪码中有一个错误。仔细阅读这段伪码,说明该伪码的语法特点,找出并改正伪码中的错误。字频统计程序的伪码如下:答:(1)错误:INSERTtheextractedwordintothetable在这个后面,没有给这个word的occurrencecount赋值为1。(2)语法特点:该伪代码在循环结构中嵌套循环结构,并且在嵌套的循环结构中又嵌套了IFELSE结构。2.研究下面给出的伪码程序,要求:(1)画出它的程序流程图。(2)它是结构化的还是非结构化的?说明理由。(3)若是非结构化的,则:
2/16十万种考研考证电子书、题库视频学习平台圣才电子书a.把它改造成仅用3种控制结构的结构化程序;b.写出这个结构化设计的伪码;c.用盒图表示这个结构化程序。(4)找出并改正程序逻辑中的错误。答:(1)程序流程图,如图7-8所示。
3/16十万种考研考证电子书、题库视频学习平台圣才电子书图7-8程序流程图(2)此程序是非结构化的,它有一个GOTO语句,并且是从一个循环体内转到循环体外的一条件语句内部。(3)①修改后的伪码,如图7-9所示。
4/16十万种考研考证电子书、题库视频学习平台圣才电子书图7-9修改后的伪码②修改后程序的盒图,如图7-10所示。图7-10修改后程序的盒图(4)程序中的错误:①语句“IFWORD=KEYWORD”里的变量“WORD”没有预先赋值。②程序中没有预先输入T的值。③“N=0”应该是“MATCH=0”。3.在第2题的设计中若输入的N值或KEYWORD不合理,会发生问题。(1)给出这些变量的不合理值的例子。(2)将这些不合理值输入程序会有什么后果?
5/16十万种考研考证电子书、题库视频学习平台圣才电子书(3)怎样在程序中加入防错措施,以防止出现这些问题?答:(1)N=1,KEYWORD=#。(2)不合理的值输入程序后无法打印出任何信息。(3)可以通过加入循环来防止出现这些错误的问题。4.回答下列问题。(1)什么是模块测试和集成测试?它们各有什么特点?(2)假设有一个由1000行FORTRAN语句构成的程序(经编译后大约有5000条机器指令),估计在对它进行测试期间将发现多少个错误?为什么?(3)设计下列伪码程序的语句覆盖和路径覆盖测试用例:答:(1)①模块测试时对每个单独的模块,分别用黑盒和白盒测试技术,测试它地功
1第一章
4.什么是软件工程?它与软件工程方法学有何关系?
软件过程是为了开发高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任
务的工作步骤。
软件过程定义了运用技术方法的顺序,应该交付的文档资料,为保证软件质量和协调软件变
化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。软件过程是软件工程方法
学的3个重要组成部分之一。
2、假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果要求
精确到小数点后4位。一旦实现并测试完成后,该产品将被抛弃。你打算选用哪种软件生命
周期模型?说明你做出选择的理由。
该软件的要求很明确,实现开平方算法的功能也很成熟,因此既无需通过原型来分析需求也
无需用原型来验证设计方法。此外,一旦实现并测试完成后,该产品将被抛弃,因此无需使
用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。
综上所述,为了开发这个软件,使用瀑布模型就可以了。
8.假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处
理软件的新版本的开发。由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。
你打算采用哪种软件生命周期模型?为什么?
答:对这个项目的一个重要要求是,严格按照已对外公布的日期完成产品开发工作,因此,
选择生命周期模型时应该着重考虑哪种模型有助于加快产品开发的进度。使用增量模型开发
软件时可以并行完成开发工作,因此能够加快开发进度。
这个项目是开发该公司已被广泛应用的字处理软件的新版本,从上述事实至少可以得出三点
结论:第一,旧版本想当于一个原型,通过收集用户对旧版本的反应,较容易确定对新版本
的需求,没有必要再专门建立一个原型系统来分析用户的需求;第二,该公司的软件工程师
对子处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版本字处理
软件所需要的技术水平;第三,该软件收到广大用户的喜爱,今后很可能还要开发更新版本,
软件⼯程导论知识点总结(整理)
《软件⼯程导论》课后习题答案
第⼀章软件⼯程概论1.什么是软件危机?
软件危机是指在计算机软件的开发和维护过程中所遇到的⼀系列严重问题。这
些问题表现在以下⼏个⽅⾯:(1)⽤户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)⼀般软件很难维护。
(4)软件⽣产效率很低。
(5)软件开发成本越来越⼤。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满⾜不了计算机应⽤的普及与深⼊的需要。
2.为什么会产⽣软件危机?
(1) 开发⼈员⽅⾯,对软件产品缺乏正确认识,没有真正理解软件产品是⼀个完整的配置组成。造成开发中制定计划盲⽬、编程草率,不考虑维护⼯作的必要性。(2) 软件本⾝⽅⾯,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统⼀的、公认的⽅法论和规范指导,造成软件维护困难。(3) 尤其是随着软件规模越来越⼤,复杂程度越来越⾼,原有软件开发⽅式效率不⾼、质量不能保证、成本过⾼、研制周期不易估计、维护困难等⼀系列问题更为突出,技术的发展已经远远不能适应社会需求。3.怎样克服软件危机?
(1) 充分吸收和借鉴⼈类长期以来从事各种⼯程项⽬中积累的⾏之有效的有效原理、概念、技术与⽅法,特别是吸取⼏⼗年来⼈类从事计算机硬件研究和开发的经验教训。在开发
软件的过程中努⼒作到良好的组织,严格的管理,相互友好的协作。(2) 推⼴在实践中总结出来的开发软件的成功的技术和⽅法,并研究更好、更有效的技术和⽅法,尽快克服在计算机系统早期发展阶段形成的⼀些错误概念和作法。(3) 根据不同的应⽤领域,开发更好的软件⼯具并使⽤这些⼯具。将软件开发各个阶段使⽤的软件⼯具集合成⼀个整体,形成⼀个很好的软件开发⽀环环境。
总之为了解决软件危机,既要有技术措施(⽅法和⼯具),⼜要有必要的组织管理措施。4.构成软件项⽬的最终产品:
应⽤程序、系统程序、⾯向⽤户的⽂档资料和⾯向开发者的⽂档资料。5.什么是软件⽣存周期?