《软件工程导论》课后习题答案_第1页
《软件工程导论》课后习题答案_第2页
《软件工程导论》课后习题答案_第3页
《软件工程导论》课后习题答案_第4页
《软件工程导论》课后习题答案_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《软件工程导论》课后习题答案软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严峻问题。这些问题表现在以下几个方面:(1)用户对开发出的软件很难满足。(2)软件产品的质量往往靠不住。(3)一般软件很难维护。(4)软件生产效率很低。(5)软件开发本钱越来越大。(6)软件本钱与开发进度难以估量。(7)软件技术的进展远远满足不了计算机应用的普及与深入的需要。为什么会产生软件危机?开发人员方面,对软件产品缺乏正确生疏,没有真正理解软件产品是一个完整的配置组成。造成(2)软件是规律部件,软件开发过程没有统一的、公认的方法论和标准指导,造成软件维护困难。(3)尤其是随着软件规模越来越大,简洁程度越来越高,原有软件开发方式效率不高、质量不能保证、本钱过高、研制周期不易估量、维护困难等一系列问题更为突出,技术的进展已经远远不能适应社会需求。3.怎样抑制软件危机?充分吸取和借鉴人类长期以来从事各种工程工程中积存的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件争论和开发的阅历教训。在开发软件的过程中努力作到良好的组织,严格的治理,相互友好的协作。(2)推广在实践中总结出来的开发软件的成功的技术和方法,并争论更好、更有效的技术和方法,尽快抑制在计算机系统早期进展阶段形成的一些错误概念和作法。(3)不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织治理措施。构成软件工程的最终产品:应用程序、系统程序、面对用户的文档资料和面对开发者的文档资料。什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。M 4080e0.28(19851960)假设字长为16位,则这个存储器的价格是

4080e7

P048719851974

78假设一条指令的长度为一个字,则使存储器装满程序共需4474263条指令。在1985年一名程序员每天可开发出102010×20指令。为了开发出4474263条指令以装满存储器,需要的工作量是:2004474263237200程序员的月平均工资是4000美元,开发出4474263条指令的本钱是22371400084800在1995M 4080e0.28(19951960) 73,577,679(字)假设字长为32位,则这个存储器的价格是:P000332071995

73 假设一条指令为一个字长,则为使存储器装满程序共需73,577,679条指令。在1995年一名程序员每天可开发出30600条指令,为了开发出可装满整个存储600735776791262600器的程序,需要的工作量为 开发上述程序的本钱为1226296000735,776,790(美元)软件生存周期为什么划分成阶段?(1)任何一个阶段的具体任务不仅独立,而且简洁,便于不同人员分工协作,从而降低整个软件开发也便于承受良好的技术方法。(3)使软件开发的全过程以一种有条不紊的方式进展,保证软件的质量,特别是提高了软件的可维护性。6-1..开发上述程序的本钱为:1-6软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件过程定义了运用技术方法的挨次、应当交付的文档资料、为保证软件质量和协调软件变化必需实行的治理措施,以及标志完成了相应开发活动的里程碑。软件过程是软件工程方法学的3个重要组成局部之一。应当怎样来划分阶段?(1)每一个阶段的任务尽可能独立;(2)同一阶段内的任务性质尽可能一样;(3)每一个阶段任务的开头和完毕有严格的标准。软件开发模型有瀑布型、渐增型和变换型。瀑布型开发方法是依据软件生存周期的划分依次实施,每一个阶段有明确规定的任务。它的特点:阶段必需完成规定的文档,对其中问题通过复审及早觉察,及早解决。和信息反响,加深对软件需求的理解,进一步使系统扩大和完善。如此反复,直至软件人员和用户对所设计完成的软件系统满足为止。(2)在渐增型开发下的软件是随软件开发的过程而渐渐形成的。(3)渐增型开发方法适合于学问型软件的开发,设计系统时对用户需求的生疏开头不是很清楚的,需要在开发过程中不断生疏、不断获得的学问去丰富和完善系统。多数争论性质的试验软件,一般承受此方法。变换型开发方法及特点:(1)从软件需求的形式化规格说明动身,经过一系列的程序变换,得到最终的程序系统。(2)该方法必需有严格的数学理论和形式化技术的支持。软件工程是指导计算机软件开发和维护的工程学科。(1)它承受工程的概念、原理、技术和方法来开发和维护软件;(2)它将治理技术与当前经过时间考验的而证明是正确的技术方法结合起来;(3)它强调使用生存周期方法学和构造分析和构造技术;力,渐渐形成了“软件工程学“这一的学科。什么是软件工程环境:法,全面完成生存周期中的各项任务。其次章可行性争论 习题答案问题定义阶段的工作:(1)通过调查争论,了解系统需求;(2)等的需求;(3)问题定义阶段的产品--系统目标与范围说明书。3.可行性争论的任务?2)从系统规律(3)假设问题没有可行的解,建议停顿系统开发;假设问题有可行的解,应当推举一个较好的解决方案,并为工程制定一个初步的打算。可行性争论包括哪几方面的内容?技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足行性:系统开发是否会侵害他人、集体或国家利益,是否违反国家法律。2-4目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观看危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。医院对患者<#>监护系统的根本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),E1护士F4警告信息、病情报告F1要求报告E1护士E2病人F2生理信号P0患者监护系统F6日志E1护士F4警告信息、病情报告F1要求报告E1护士E2病人F2生理信号P0患者监护系统F6日志D1F5安全范围D2E3时钟F3日前、时间从问题陈述可知,本系统数据源点是,他们分别供给生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应当“定时记录病人状况以形成患者日志”这项要求可以想到,还应当有一个供给日期和时间信息的“时钟”作为数据源点。从问题陈述简洁看出,本系统的数据终点是接收警告信息和病情报告的护士。系统对病人生理信号的处理功能主要是此外,系统还应当具有“定时取样生理信号更日志”和“产生病情报告”的功能。为了分析病人生理信号是否超出了医生规定的安全范围,应当存储“患者安全范围”信息。此外,定时记录病人生理信号所形成的“患者日志F5安全范围 D2F5安全范围 D2患者安全范围E2病人P2P3危及病人信息 产生警告信息F2生理信号F4警告信息F2生理信号P1E1护士F2生理信号E3时钟F3日前、时间P4F6日志P5E1护士F6日志F1要求报告P6P2P2危及病人信息E2病人F2生理信号F5安全范围D2P3F2生理信号D3F4警告信息定时的生理信号F2生理信号P5P1E1护士F2定时的生理信号F6日志E3时钟F3日前、时间P4F6日志D1E1护士F1要求报告 P6产生病情报告P2P2分析信号 危及病人信息F2生理信号P3产生警告信息E2病人F5安全范围D2F4警告信息F2生理信号P7制定安全范围E1护士定时的生理信号F2生理信号P5更日志P1接收信号F2定时的生理信号F6日志E3时钟F3日前、时间P4定时取样生理信号F6日志E1护士F1要求报告 P6产生病情报告雏形;(3)导出系统的高层规律模型;(4)推举建议方案;(5)推动展动方针;(6)书写打算任务书(可行性报告);(7)提交审查。5-1.2-5北京某高校可用的号码有以下几类:校内号码由4位数字组成,第1位数字不是0;校外又分为本市和外地两类,拨校外需先拨0,假设是本市则再接着拨8位数字(第1位不是0),假设是外地则拨3位区码再拨8位号码(第1位不是0)。请用定义数据字典的方法,定义上述的电话号码。数据构造的描述符号 含义 举 例= 被定义为+ 与 x=a+b[...,...]或[...|...] 或 x=[a,b],x=[a|b]{...}或m{...}n 重复 x={a},x=3{a}8(...) 可选 x=(a)“...” 根本数据元素 x=“a”.. 连结符 x=1..9号码=[校内号码校外号码]校内号码=非零数字+3位数字 /后面连续定校外号码=[本市号码外地号码]本市号码=数字零+8位数字外地号码=数字零+3+8非零数字=[1|2|3|4|5|6|7|8|9]数字零=03位数字=3{数字}3 //3至3个数字8位数字=非零数字+77位数字=7{数字}7数字=[0|1|2|3|4|5|6|7|8|9]可行性争论报告的主要内容?(1)和开发单位。(2)(3)对现有系统的分析:处理流程,图示说明现有系统的处理流程和数据流程;现有系统存在的问题。(4)系统需求:主要功能;主要性能及其要求;操作要求;信息要求;限制性要求。(5)建议系统:系统目标;处理流程;系统构造,功能,性能;系统技术可行性;投资和效益分析;操作可行性;法律可行性。(6)其它可(7)(8)结论性意见:由用户方、设计方和投资方共同签署意见。第三章需求分析 习题答案1.需求分析的描述工具有哪些?IPO语言等。2.需求分析的根本任务是什么?3.怎样建立目标系统的规律模型?要经过哪些步骤?建立目标系统的规律模型的过程也就是数据流图的分解过程。它的导出过程如图:3-3.3-3银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,假设是存款则系统记录存款人姓名、住址(或号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;假设是取款而且存款时留有密码,则系统首先核对储户密码,假设密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。请用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。E1E1储户F1存款单F2取款单P0储蓄系统F3存单F4利息清单E1储户F5存款信息F5存款信息D1E1E1储户F1存款单F7密码P1P2F3存单F5存款信息F5存款信息E1储户F7密码F2取款单F5存款信息F4利息F4利息F4利息P5打印利息清单P3F6取款信息P4计算利息F8储蓄利率E2F8储蓄利率P6F8储蓄利率D2E1E1储户F2取款单P3.1输入取款信息F5存款信息无效取款信息D1F7密码F7密码P3.2密码校验ER模型本问题中共有两类实体,分别是“储户”和“储蓄所存取款一位储户可以在多家储蓄所存取款,一家储蓄所拥有多位储户,所以“存取款”是多对多〔M:N〕关系。储户的属性主要有姓名、住址、号码和身份证号码,储蓄所的属性主要是名称、地址和号码,而数额、类型、到期日期、利率和密码则是关系类型存取款的属性。4.什么是构造化分析?它的构造化表达在哪里?为构造化说明书的目标文档-需求规格说明书。构造化表达在将软件系统抽象为一系列的规律加工单元,各单元之间以数据流发生关联。5.软件需求规格说明书由哪些局部组成?组成包括:1)(2)特别需求。(3)(4)(5)(6)其它需求,如数据库、操作及故障处理等。为什么数据流图要分层?画分层的DFD分层的目的:便于逐步细化、构造清楚。DFD(1)父图与子图之间数据要平衡。(2)分解的深度和层次到达使加工足够简洁、易于理解的根本加工为止。(3)区分局部文件和局部外部项(局限于数据流中某一层或某几层的文量使用现实系统中有具体意义的名字。3-6复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;假设执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,预备接收复印命令;假设复印时发生卡纸故障,则进入卡纸状态,发出警告等待修理人员来排解故障,故障排解后回到闲置状态。请用状态转换图描绘复印机的行为。从问题陈述可知,复印机的状态主要有“缺纸”和。引起状态转换的大事主要是“复印命令完成复印命令觉察缺纸装满纸发生卡纸故障”和“排解了卡纸故障系统流程图描述系统物理模型的工具,数据流程图描述系统规律模型的工具。系统流程图从系统功能的角度抽象的描述系统的各个局部及其相互之间信息流淌的状况。8.数据字典包括哪些内容?它的作用是什么?数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三局部组成。对用户来讲,数据字典为他们供给了数据的明确定义;对系统分析员来讲,数据字典帮助他们比较简洁修改已建立的系统规律模型。描述加工规律的工具有哪些?有决策树(又称判定树)、决策表(又称推断表)和构造化语言等。某单位拟开发一个计算机房产治理系统,要求系统具有分房、调房、退房和查询统计等功能。房产科申请表依据类型分别进展处理。(1)假设是分房申请,则依据申请者的状况(年龄、工龄、职称、职务、分房时,从空房文件中读出空房信息,如房号、面积、等级、单位面积房租等,把好房优先分给排在分房队列前面的符合该等级房条件的申请者;从空房文件中删掉这个房号的信息,并从分房队列中删掉该申请单,再把此房号的信息和住户信息一起写到住房文件中,输出住房安排单给住户,同时计算房租,并将算(2)的信息写到空房文件中。(3)假设是调房申请,则依据申请者的状况确定其住房等级,然后在空房文件中住户可以向系统查询目前分房的阀值分数,居住某类房屋的条件,某房号的单位面积及房租等信息。房产科可以要求系统打印住房状况的统计表,或更改某类房屋的居住条件、单位面积和房租等。用数据流图描绘该系统的功能需求;在数据字典中给出主要的数据流、文件和加工说明。第四章总体设计 习题答案系统设计包括总体设计与具体设计两个阶段。总体设计的主要任务是什么?总体设计的主要任务是完成软件构造的设计,确定系统的模块及其模块之间的关系。什么是模块?模块具有哪几个特征?总体设计主要考虑什么特征?模块是数据说明、可执行语句等程序对象的集合,可以单独命名且可通过名字来访问。模块具有输入和输出(参数传递)、功能、内部数据构造(局部变量)和程序代码四个特性。概要设计主要考虑输入、输出(参数传递)和功能两个特性。4-3E,再加上另一个可选符号(+或-)及一个或多个二进制位。例如,以下的字符串都是浮点二进制数:110101E-101-100111E11101+1E0更形式化地,浮点二进制数定义如下:〈floating pointbinary〉=〈sign〈bitstrin〉E〈sign〈bitstrin〉〈sign|-〈bitstringbit〈bitstring]〈bit〉∷=0|1其中,

符号∷=表示定义为;符号[...]表示可选项;a|bab。假设有这样一个有穷状态机:以一串字符为输入,推断字符串中是否含有合法的浮点二进制数。试对这个有穷状态机进展规格说明输人尾数”状态;在初态假设接收到其他字符,则进人终态“非浮点二进制数”。在“输人尾数”状态假设接收到二进制位,则保持该状态不变;假设接收到字符E,则进人“输人指数”状态;假设接收到其他字符,则进人终态“非浮点二进制数”。在“输人指数”状态假设接收到二进制位,则保持该状态不变;假设输人其他字符,则进人终态“非浮点二进制数”;假设输人完毕认真争论图示的有穷状态机可以觉察,它还有不够严格的地方。有兴趣的同学请进一步改进它,画出更严格的、与浮点二进制数定义完全全都的有穷状态机什么是模块化?模块设计的准则?模块化是按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。模块设计的准则:(1)改进软件构造,提高模块独立性:在对初步模块进展合并、分解和移动的(2)50模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中。(3)软件构造图的深度、宽度、扇5(4)尽量降低模块接口的简洁程度;(5)设计单入口、单出口的模块。(6)模块的作用域应在把握域之内。变换型数据流由哪几局部组成?变换型构造由三局部组成:传入路径、变换(加工)中心和传出路径。SC;(3)SC(4)对初始构造图依据设计准则进展精化与改进。事务型数据流由哪几局部组成?事务型构造由至少一条承受路径、一个事务中心与假设干条动作路径组成。DFD?quot;映射“为事务把握模块,接收模块和动作发送模块.一般得到SC图的顶层和第一层(假设第一层简洁可以并入顶层);(3)分解和细化接收分支和动作SC;(4)对初始构造图依据设计准则进展精化与改进。比较层次方框图与构造图是的异同?(1)(2)层次方框图的顶层矩形框代表完整的数据构造,下面各层矩形框依次代表上个框数据的子集;构造图的箭头表示模块调用过程中传递的信息。欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统作以下处理;业务分类处理:系统首先依据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理;最终将存折还给储户;最终将现金和存折还给储户。绘制该系统的数据流图和软件构造图。顶层一层二层软件构造图一.答复以下问题具体设计的目的?具给出清楚的描述.具体设计的主要任务?编写软件的“具体设计说明书”.软件人员要完成的工作:(1)为每一个模块确定承受的算法,选择某种适当的工具表达算法的过程,写出模块的具体过程描述(2)确定每一模块使用的数据构造.(3)确定模块构造的细节,包括对系统外部的接口和用户界面,对.(4)为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进展预定的测试.构造化程序设计的根本原则?在具体设计中全部模块都使用单入口、单出口的挨次、选择、循环三种根本把握构造.一样点:(1)遵守构造程序设计“由顶向下”逐步细化的原则,并以其为共同的根底;(2)均听从规章。DFD计阶段按数据流类型,将数据流图转换为软件构造。面对数据构造的设计以数据构造为根底,从问题的数(2)SC设计的最终目标是程序的过程性描述。比较JacksonLCP。它们的主要差异是:(1)使用不同的表达工具,其中LCPWarnierJackson(2)JacksonLCP方法则更加严密。具体设计的描述工具应具备什么功能?力气,而且在编码阶段能够直接将它翻译为用程序设计语言书写的源程序。二.给出一组数从小到大的排序算法,分别用以下工具描述其具体过程:(3)PAD(4)PDLPDL;(2Jackson(3)列出程序所需用的操作,并加到上一步画出的程序构造图上;(4JacksonK1K2K1K2试用Jackson方法编一程序,要求依次完成以下分析工作:A;-----打印起始卡的内容;-----统计起始卡后消灭的K1卡和K3B;-----统计起始卡后消灭的K1C;-----统计起始卡后消灭的K3D;-----打印终了卡的内容;-----打印A、B、C、D请为某仓库的治理设计一个ER模型。该仓库主要治理零件的订购和供给等事项。仓库向工程工程供给零件,并且依据需要向供给商订购零件。一种零件可供给多个工程工程,一个工程工程需要使用多种零件,因此,零件与工程工程之间的联系〔M”N〕〔MN〕联系。实体类型“零件”的主要属性是:零件编号,零件名称,颜色,重量。实体类型“工程工程”的属性主要是:工程编号,工程名称,开工日期。实体类型“供给商”的属性主要有:供给商编号,供给商名称,地址。联系类型“供给”的属性是,向某工程工程供给的某种零件的数量。联系类型“订购”的属性是,向某供给商订购的某种零件的数量。某火车售票系统的数据流程图如下所示某定货系统的需求分析DFD图如下,请按SD方法的设计步骤画出构造图定货系统定货系统配件库存合格订货单暂存订货单合格订货单配件库存暂存订货单猎取订货及库存信息处理顾客订货输出订信息合格订货单合格订货单配件库存暂存订货单货单猎取配件库存合格订货单合格订货单暂存订货单暂存订货单货单订货单配件信息订货单顾客信息订货单发货暂存发货货单猎取配件信息猎取顾客信息合格订货单订货单发货单销售信息账款信息货单产生发货单产生应收款明细帐产生销售历史用面对数据流的方法设计以下系统的软件构造储蓄系统2-2机票预定系统2-3为了便利旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息〔姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等〕输入该系统,系统为旅客安排航班,旅客在飞机起飞前一天凭取票通知和账单交款取票,系统核对无误即印出机票给顾客患者监护系统2-4E1E1储户F1存款单F7密码P1记录存款信息P2打印存单F3存单F5存款信息F5存款信息D1E1储户F7密码F2取款单F5存款信息F4利息F4利息F4利息P5打印利息清单P3核算密码F6取款信息P4计算利息F8储蓄利率E2业务员F8储蓄利率P6设置利率F8储蓄利率D2E1E1储户F2取款单P3.1输入取款信息F5存款信息无效取款信息F7密码F7密码P3.2密码校验E1储户存款单E1储户存款单P1记录存款信息存款信息P2打印存单户取款单信息存单E1储户取款信息P4计算利息利息户密码P3.2密码校验利息密码正确信息P5打印利息清单E2务员利率P6设置利率利率银行储蓄系统率利单款单利清存款存单单取密码业务单据录入储蓄业务处理单据输出率利存款单取存款单利存单利利码率息单存息清单存款利率设置入据输入存款取款存单利息清单旅客信息社机票顾客预定信息旅客信息机票预定系统账单、取票通知账单、取票通知顾客社机票机票航班信息航班信息旅客信息旅客信息旅行社 旅客信息预定信息取票通知P2安排航班航班信息P1录入预定信息取票通知账单机票账单机票取票通知账单顾客取票通知机票P3顾客取票机票时钟日期账单顾客取票通知取票通知P3.1核对取票凭证取票通知取票信息交款信息账单信息取票账单P3.2交款P3.3交款信息打印机票机票顾客机票机票机票航空公司航班信息旅客信息P2.1设置航班旅客信息航班信息P2.1安排航班航班信息航班信息机票机票机票P2.3打印取票单据账单 取票通知账单取票通知社航空公司航班信息预定信息P2.1设置航班P1录入预定信息 旅客信息P2.1安排航班航班信息顾客机票P2.3打印取票单据账单账单P3.1核对取票凭证顾客取票通知P3.2交款机票P3.3打印机票4.美国某大学有200名教师,校方与教师工会刚刚签订一项协议。依据协议,全部年工资超过$26000〔含$26000〕的教师工资将保持不变,年工资少于$26000的教师将增加工资,所增加工资数额按下述方法计算:给每位教师所赡养的人〔包括教师本人〕每年补助$100,此外,教师有一年工龄每年再多补助¥50,但是,增加后的年工资总额不能多于$26000。教师工资档案存储在行政办公室的磁带上,档案中有目前的年工资、赡养的人数、雇佣日期等信息。需要写一个程序计算并印出每名教师的原工资和调整后的工资。〔1〕〔2〕写出需求说明;设计上述的工资调整程序(要求用HIPO图描绘设计结果),设计时分别承受两种算法,并比较两种算法的优缺点:搜寻工资档案数据,找出年工资少于$26000的人,计算工资,校核是否超过$26000,存储工资,印出旧工资比照表;把工资档案数据按工资从最低到最高的次序排序,当工资数额超过$26000时即停顿排序,计算工资,校核是否超过限额,存储工资,印出结果。你所画出的数据流图适应用那种算法?E1E1行政办公室原工资档案工资调资系统 调资后工资档案E1行政办公室调资后工资档案工资档案工资调资系统导入调资档工资调资系统导入调资档案调资打印工资对照表导入工输入调 检索需调资计算工校核工 更工资资档案资标准 工资数据 资 资 数据E1行政办公室原工资档案P1导入原工资档案P5输出工资比照表调资后工资档案调资标准工资档案调资后工资档案E1行政办公室P2输入调资标准P4P3调资标准调资标准调资标准工资标准工资调资系统工资调资系统导入调资档案调资打印工资对照表导入工输入调 工资数据整 计算工校核工 更工资资档案资标准 理排序 资 资 数据第六章习题参考答案对源程序根本要求?(1)源程序的正确性是对程序质量的最根本要求;(2)源程序的简明清楚,便于验证源代码和模块规格说明的全都性,简洁进展测试和维护;(3)对于大多数模块,编码时应当把简明清楚放在第一位;(4)除了编码阶段产生源代码外,在测试阶段也需要编写一些测试程序,用于对软件的测试。(1)名字说明:程序中使用对象的名字,能为编译程序所检查和识别;(2)类型说明:定义对象的类型,确定该对象的使用方式;(3)初始化:为变量供给适当的初始值或由系统给变量赋一特别的说明未初始化的值;(4)对象的局部性:程序中真正需要的那局部才能访问的对象;(5)程序模块:把握程序对象的名字;(6)循环把握构造:如FORWHILE-DOREPEAT-UNTILCASE(8)特别处理:为程序运行过程中发生的错误和意外大事供给检测和处理上的帮助;(9)独立编译:能分别编译各个程序单元。选择程序设计语言需要考虑的因素?(1)选择用户生疏、便于用户维护的语言。(2)选择目标系统的环境中可以供给的编译程序所能选用的语言(3)选择可以得到的软件工具,能支持程序开发中可以利用的语言。AdaCSQL、dBASE选择程序员生疏的语言。(6)选择标准化程度高、程序可移植性好的语言。(7)依据算法与PascalC(8)依据实时要求系统需要的响应速度和效率选择相应的语言。编码风格的指导原则。(1)源程序:包括适当的标识符、适当的注解、程序清单的合理布局与清楚;中要说明在程序设计中实现这个数据构造的方法。语句的构造简洁明白:不要为节约空间将多个语句写在同一行;尽量避开简洁的条件及“非”条件的测试;避开大量使用循环嵌套和条件嵌套;括号的使用是为了使规律表达式和算术表达式的运算挨次清楚直观。(4)/输出的效率;在处理程序正确性、清楚与效率之间第四代语言(4GL)应具备哪些的特征?(1)些命令说明“做什么(3)能满足多功能、一体化的要求。为此,语言中除必需含有把握程序规律与实现数据库操作的语句外,还应包括生成与处理报表、表格、图形,以及实现数据运算和分析统计功能的各种语句,共同构成一个一体化的语言,以适应多种应用开发的需要。画出以下伪码程序的程序流程图和盒图STARTIFpTHENWHILEqDOELSEg

fENDDOBLOCKnENDBLOCKENDIFSTOP以以下图给出的程序流程图代表一个非构造化的程序,请问:开头pFTgqFT 停顿〔1〕为什么说它是非构造化的?2〕〔3〕在〔2〕题的设计中你使用附加的开头pFTgqFT 停顿通常所说的构造化程序,是依据狭义的构造程序的定义衡量,符合定义规定的程序。图示的程序的循环把握构造有两个出口,明显不符合狭义的构造程序的定义,因此是非构造化的程序。使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的构造化程序,图示盒图描绘了等价的构造化程序。不使用flag把该程序改造为等价的构造化程序的方法如以下图。8画出以下伪码程序的流图,计算它的环形简洁度。你觉得这个程序的规律有什么问题吗?C EXAMPLELOOP:DOWHILEX>0A=B+1IFA>10THENX=AIFY<5

ELSEY=ZENDIFTHENPRINTX,YELSEIFY=2THENGOTOLOOPELSEC=3ENDIFENDIF

STARTFZ>0TA=B+1A>10TX=AFSTARTFZ>0TA=B+1A>10TX=AFY=ZY<5TPrintX,YFY>=5TY=2FC=3G=H+RFF>0TPrintG PrintKstop=17-11+1=711=2域数推断+134568710911111111令P代表交易的总金额,Q代表每股的售价,n代表交易的股数。(1)表示手续费计算方法的判定表如以下图。判定表的每一列是一条计算规章。例如,第1列(规章1)规定,当交易总金额P少于1000元,且每股售Q14n100的倍数时,给经纪人的手续费为(l+0.05)×0.084P第16列(规章16)说明,当交易总金额P超过10000元,且每股售价Q在14元到25元之间,且交易的股n100的倍数时,手续费为(1+0.06)×(0.04P+134)表示手续费计算方法的判定树如以下图某高校争论生招生系统的初选方法如下:总分300〔含〕以上进入候选学生库,否则退档;数学分数不低于70分,则进入三级备选库,否则进入四级备选库;在三级备选库的根底上,假设专业课分数高于100分,则进入一级备选库,否则进入二级备选库,请画出对应的判定树。某校的课酬计算方案如下:(l)根本课酬为每节课10元;(2)假设班级人数超过40人,课酬增加:根本课酬×0.1;(3)假设班级人数超过60人,课酬增加:根本课酬×0.2;(4)假设教师是副教授,课酬增加:根本课酬×0.1;(5)假设教师是教授,课酬增加:根本课酬×0.2;(6)讲师,课酬不增加;(7)助教,课酬削减:根本课酬×0.1。请用判定表表达上述计算方案。123456789101112人数≤40TTTT40<人数≤60TTTT人数>60TTTT助教TTT讲师TTT副教授教授课酬:9元节√TTTTTT课酬:10元节√√课酬:11元节课酬:12元节√√√√√√第七章习题参考答案一.答复以下问题软件测试的根本任务?测试;成功的测试方案是觉察迄今尚未觉察错误的测试;测试与调试的主要区分?(1)测试从一个侧面证明程序员的失败;调试证明程序员的正确;2)测试从条件开头,使用预先定义的程序,且有预知的结果,不行预见的仅是程序是否通过测试;调试从不行知内部条件开头,除统计性调试外,结果是不行预见的;(3)测试有打算并且要进展测试设计;调试不受时间约束;(4)测试是觉察错误、改正错误、重测试的过程;调试是一个推理的过程;(5)测试执行是有规程的;调试执行要求程序员进展必要的推理;(6)测试由独立的测试组在不了解软件设计的件下完成;调试由了解具体设计的程序员完成;(7)大多数测试的执行和设计可由工具支持;调试用的工具主要是调试器。人工复审的作用:检查程序的静态错误。黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部规律构造。测试者把被测程依据规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试主要承受的技术有:等价分类法、边沿值分析法、错误推想法和因果图等技术。5.什么是白盒测试?白盒测试主要承受的技术有哪些?测试者了解被测程序的内部构造和处理过程,对程序的全部规律路径进展测试,在不同点检查程序状态,确定实际状态与预期状态是否全都。的程序承受基于规律的测试技术。语句掩盖:至少执行程序中全部语句一次。判定掩盖:使被测程序中的每一个分支至少执行一次。故也称为分支掩盖。条件掩盖:执行全部可能的穿过程序的把握路流程。(例略)等价分类法的测试技术承受的一般方法?举例说明?(1)为每个等价类编号;(2)设计一个的测试方案,以尽可能多的掩盖尚未被掩盖的有效等价类,重复这一步骤,直到全部有效等价类被掩盖为止。类被掩盖为止。9.比较集成试的两种方式的优劣?试软件工作量大,模块间的接口错误觉察得晚,错误定位较难诊断,总体测试有的错误简洁漏掉,测试时测试过的模块作测试软件,开销小,较早觉察模块间的接口错误,错误定位往往和最近入的模块相关,对已总的来说,渐增式测试方法比较好。10.软件测试的策略?(1)(2)必要时用等价类划分法补充测(3)(4)(5)依据对程序牢靠性的要求承受不同的规律掩盖标准,再补充一些测试方案。二.某电力公司有A、B、C、D共四类收费标准,并规定,居民用电每月200度以下按A类收费,200B11B1C1C1D为它设计足够的测试用例实现条件组合的完全覆概。规章号123456居民 200度以下Y用电 200度以上Y动非高 1万度以下Y力峰 1万度以上Y用电顶峰 1万度以下1YYA▲收费 B类▲▲标准 C类▲▲D▲用电类型输入数据预期结果居民/月A用电110/月B非/月B动力用 顶峰12023/月C电 顶峰/月C11000/月D测试用例三.如图显示某程序的规律构造。试为它设计足够的测试用例,分别实现对程序的判定覆概、条件覆概和条件组合覆概。设计测试方案掩盖种类需满足的条件测试数据期望结果A>1,B=0A=2,B=0S1判定掩盖A>1,B0A=2,B=1A1,B=0A=1,B=0S2A1,B0A=1,B=1条件掩盖A>1B=0A=2,B=0S1A1B0A=1,B=1S2A>1,B=0A=2,B=0S1条件组合A>1,B0A=2,B=1S2掩盖A1,B=0A=1,B=0S2A1,B0A=1,B=1S2地区码:空白或三位数字;前 非‘0’或‘1’的三位数字;后 数字。规格说明,作等价类的划分,并设计测试方案。划分等价类地区码

1.空白;三位数;

无效等价类1. 2.少于三位数字;3.多于三位数字。前缀 位

4.有非数字字符;5.06.起始位为‘1; 7.少于三位数字;多于三位数字。后缀 4.四位数字。9.有非数字字符;10.少于四位数字;11.多于四位数字。方内容输 入预期案地区码 前缀后缀输出1空白 200~999之间的四位数字 ( )276-2345有效2三位数字 三位数字四位数字 (635)805-9321有效3有非数字字符(20A)723-4567无效4少于三位数字(33)234-5678无效5多于三位数字(5555)345-6789无效6有非数字字符(345)5A2-3456无效7起始位为‘0’(345)012-3456无效8起始位为‘1’(345)132-3456无效9少于三位数字(345)92-3456无效10多于三位数字(345)4562-3456无效11有非数字字符(345)342-3A56无效12少于四位数字(345)342-356无效13多于四位数字(345)562-34567无效4(3)、设计以下伪码程序的语句掩盖和路径掩盖测试用例:STARTINPUT(A,B,C)/判定表达式1IFA>5 X=10ELSEX=1ENDIF/判定表达式2IF B>10 Y=20

/判定表达式3IFC>15 Z=30ELSEZ=3ENDIFPRINT(X,Y,Z)STOPELSEY=2ENDIF序号判定输入预期的输出123ABCX YZ1FFF1111 232TTT20406010 2030序号123ABCXYZ1FFF1111232FFT116012303FTF140112034FTFF201110236TFT20160102307TTF20401102038TTT204060102030第八章软件维护习题答案判定输入判定输入预期的输出护是不行避开的。软件的维护一般分为哪几类?的。件的活动;预防性维护:为了改善将来的可维护性或牢靠性而修改软件的工作。影响软件维护的因素有哪些?立程度越高,对软件修改越简洁,对软件的改进和移植越便利。大地削减软件存在的错误;其次使用标准化的文档资料可为维护供给更好的依据。软件维护困难主要表现在什么方面?一般来讲,维护人员对开发人员写的程序及文档,理解都比较困难,对维护工作不会宠爱;维护持续时间都很长,在开发人员不在现场的轻快下,维护软件通常是很困难的;解决好模块的独立性,使软件的修改既困难又易发生过失。打算软件可维护性的因素?软件的可理解性、可测试性、可修改性;6.软件价格应当计入维护本钱吗?为什么?件的维护本钱远远高于开发本钱假设干倍。因此软件价格中应当计入维护本钱。对前面各章中分析的各应用系统,提出改进和扩大功能的要求?(1)教材销售选购系统;(2)图书治理系统;(3)房产治理系统。第九章软件工程治理 1.软件工程治理的内容?费用治理:对软件开发进展本钱核算,使软件生产依据商品生产的规律办事。包括:以简洁、科学方法估算软件开发费用,作为签定开发合同的依据;治理开发费用的有效使用,即用经济手段来保证产品如(2)的标准进展,保证软件产品的质量。(3)配置治理:通过对于程序、文档和数据的各种版本所进展的治理,保证资料的完整性与全都性。4软件工程有哪些特点?体;开发软件工程产品,在多数状况下,用户给不出明确的想法和要求。(3)在开发过程中,程序及其相关的文档资料常常需要修改,在修改正程中又可能带来的问题,且这些问题要在很久以后才会觉察。(5)软件工程的工作人员,要求具有确定的业务水平和实际工作阅历,而很难完全避开的人员流淌,对工作的影响是很大的。离开的人员不仅带走了重要的信息,而且带走了工作阅历。软件本钱估算的一般方法?自顶向下估量:首先估算出工程总的开发本钱,然后在工程内部进展本钱安排。由少数专家参与,依靠他们过去的阅历,将要开发的软件与过去开发过的软件进展“类比“,以估量的软件开发所需要的工作量和本钱。自底向上估量:将开发任务分成假设干子任务,子任务又分成子子任务,直到每一个单元内容足够明确为止;把各个任务单元的本钱估量出来,集合成工

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论