您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程章节习题解答
软件工程习题解答第一章概述1.软件产品的特性是什么?a.软件产品是一种逻辑产品。b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。c.软件产品不会用坏,不存在磨损、消耗问题。d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且部分是定做的。e.软件费用不断增加,成本相当昂贵。2.软件产品有几个阶段?各有何特征?阶段A.程序设计时代(1946-1956)B.程序系统时代(1956-1968)C.软件工程时代(1968-今)生产方式个体手工劳动小集团合作生产工程化的生产工具机器语言、汇编高级语言数据库、开发工具、开发环境、网络、分布式、面向对象技术开发方法追求编和技巧,追求程序运行效率个人技巧,开始提出结构化方法硬件特征价格贵、存储容量小、运行可靠性差速度、容量、工作可靠性有明显提高,价格降低,销售有爆炸性增长向超高速、大容量、微型化以及网络化方软件特征只有程序、程序设计概念,不重视程序设计方法程序员数量猛增,已意识到软件开发的重要性,开发技术没有新的突破,大量软件开发的需求已提出,开发人员的素质和工程兵的开发技术不适应规模大、结构复杂的软件开发,产生了尖锐矛盾,导致软件危机的产生开发技术有很大进步,但未能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机3.什么是软件危机?其产生的原因是什么?软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现在以下几个方面:a.经费预算经常突破,完成时间一再拖延。b.开发的软件不通满足用户要求。c.开发的软件可维护性差。d.开发的软件可靠性差。软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:a.软件的规模越来越大,结构越来越复杂。b.软件开发管理困难而复杂。c.软件开发费用不断增加。d.软件开发技术落后。e.生产方式落后。f.开发工具落后,生产率提高缓慢。4.什么是软件工程?它的目标和内容是什么?软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:a.付出较低的开发成本;b.面到要求的软件功能;c.取得较好的软件性能;d.开发的软件易于移植;e.需要较低的维护费用;f.能按时完成开发任务,及时交付使用;g.开发的软件可靠性高;软件工程的内容:1)软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。2)软件开发管理:软件管理学、软件经济学、软件心理学。5.软件工程面临的问题是什么?软件工程面临的问题:a.软件费用。b.软件可靠性。c.软件维护。d.软件生产率。e.软件重用。6.什么是软件生存周期?它有哪几个活动?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等.7.什么是软件生存周期模型?有哪些主要模型?软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。)软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等9.什么是软件开发的方法?有哪些主要方法?软件开发的方法:是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。主要方法:结构方法、Jackson方法、维也纳开发方法(VDM)、面向对象的开发方法。第二章可行性研究1.可行性研究的任务是什么?a.技术可行性:考虑的因素(1).开发的风险(2)资源的有效性(3)技术(4)开发人员在主段技术可行性时,一旦估计错误,将会出现灾难性后果。b.经济可行性。c.社会可行性。2、可行性研究有哪些步骤?a.确定项目规模和目标b.研究正在运行的系统c.建立新系统的高层逻辑模型d.导出和评价各种方案e.推荐可行的方案f.编写可行性研究报告3、可行性研究报告有哪些就要内容?a.引言b.可行性研究前提c.对现有系统的分析d.所建议系统的技术可行性分析e.所建议系统的经济可行性分析f.社会因素可行性分析g.其他可供选择方案h.结论意见4.成本---效益分析可用哪些指标进行度量?有形效益度量:a.货币的时间价值b.投资回收期c.纯收入无形效益:主要从性质上、心理上进行衡量,很难直接进行量的比较。通常以有形效益度量作为成本---效益分析的度量。5.项目开发计划有哪些内容?a.项目概述b.实施计划c.人员组织及分工d.交付期限第三章需求分析1.什么是需求分析?需求分析阶段的基本任务是什么?需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。需求分析阶段的基本任务是:(1)问题识别:双方对问题的综合需求:a.功能需求b.性能需求c.环境需求d.用户界面需求.(2)分析与综合,导出软件的逻辑模型.(3)编写文档2.什么是结构化分析方法?该方法使用什么描述工具?结构化分析方法:是面向数据流进行需求分析的方法。描述工具:a、数据流图b、数据字典c、描述加工逻辑的结构化语言、判定表、判定树。3.结构化分析方法通过哪些步骤来实现?结构化分析方法步骤:a.了解当前系统的工作流程,获得当前系统的物理模型.b.抽象出当前系统的逻辑模型.c.建立上标系统的逻辑模型.d.作进一步补充和优化.4.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?数据流图:简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具,是一种功能模型。作用:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能.基本符号有四种:→,箭头,表示数据流;○,圆或椭圆,表示加工;=,双杠,表示数据存储;□,方框,表示数据的源点或终点.5.画数据流图应该注意什么事项?画数据流图注意事项:a.命名.不论是数据流\数据存储还是加工,合适的命名使人们易于理解基含义.b.画数据流而不是控制流.c.一般不画物质流.d.每个加工到少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果.e.编号.f.父图与子图的平衡.g.局部数据存储.h.提高数据流图的易理解性.6.什么是数据字典?其作用是什么?它有哪些条目?数据字典:简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的\无二义性的说明方式为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描述.作用:1)为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描述.2)为分析人员查找数据流图中有关名字的详细定义而服务的.3)它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分.条目:数据流、数据项、数据存储、基本加工。7.描述加工逻辑有哪些工具?a,结构化语言b,判定表c.判定树8.什么是IDEF方法?IDEF0方法有什么特点?IDEF方法:是美国空军在1981年针对集成化计算机辅助制造(IntegratedComputerAidedManufacturing,简称ICAM)工程项目中用于进行复杂系统分析和设计的方法,是在结构化分析与设计技术的基础上提出来的。IDEF是ICAMDefinition的缩写。IDEF0方法特点:a.采用方框和箭头等简单的图形符号描述系统的活动和数据流,描述活动所受到的约束及实现机制。b.采用严格的自顶向下、逐层分解的方式建立系统功能模型。9、简述SA方法的优缺点。优点:1)公认的、有成效的、技术成熟、使用广泛的一种方法,比较适合于开发数据处理类型软件的需求分析。2)该方法利用图形等半形式化工具表达需求,简明、易读,也易于使用,为后一阶段的设计、测试、评价提供了有利条件。缺点:1)传统的SA方法主要用于数据处理方面的问题,主要工具DFD体现了系统做什么的功能,但它仅是一个静态模型,没有反映处理的顺序,即控制流程。因此,不适合描述实时控制系统。2)SA方法在使用DFD在分析与描述数据要求方面是有局限的。3)DFD不适合描述人机界面系统的要求。4)为了更精确地描述软件包需求,提高软件系统的可靠性、安全性,也便于实现自动化,SA方法可与形式方法结合起来。10.某银行的计算机储蓄系统功能是:将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;如果是取款,系统计算清单储户。请用DFD和IDEF0描绘该功能的需求,并建立相应的数据字典。(1)数据流条目:数据流名称:存款单别名:无简述:储户存款时填写的项目来源:储户去向:记帐数据流量:未知组成:姓名+住址+存款类型+存款日期+利率数据流名称:取款单别名:无简述:储户取款时填写的项目来源:储户去向:统计数据流量:未知组成:姓名+住址+取款类型+取款日期+利率数据流名称:清单别名:无简述:储户取款后得到的项目来源:记录去向:储户数据流量:未知组成:姓名+住址+取款类型+取款日期+利率+余额(2)数据存储条目:数据存储名称:账单别名:无简述:存放储户信息及其账目组成:姓名+住址+余额+存款类型+最后修改日期+利率组织方式:未知查询要求:能立即查询(3)数据项条目:未知(4)加工条目:加工名:分类检查编号:无激发条件:接收到存/取款单优先级:优先输入:存/取款单输出:存/取款单加工逻辑:IF存款单THEN把存款单输出到统计ELSE把取款单输出到统计ENDIF加工名:统计编号:无激发条件:取款单优先级:无输入:取款单输出:清单加工逻辑:根据账单检查此储户是否存在,不存在输出错误{IF取款数余额THEN余额=余额-取款数输出清单到储户,输出现金到储户ELSE输出错误清单到储户ENDIF}加工名:记录编号:无激发条件:存款单优先级:无输入:存款单输出:存款单加工逻辑:根据账单检查此储户是否存在,不存在则建立此储户{余额=余额+存款数输出存款单到储户}11.某图书管理系统工程有以下功能:(1)借书:输入读者借书证。系统首先检查借书证是否有效,对于第一次借书的读者,在借书文件建立档案。否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10本,拒借,未达10本,办理借书(检查库存、修改库存目录并将读者借书情况登入借书文件).(2)还书:从借书文件中读出与读者有关的记录,查阅所借日期,如果超期(3个月)作罚款处理。否则,修改库存目录与借书文件。(3)查询:可通过借书文件、库存目录文件查询读者情况、图书借阅情况及库存情况,打印各种统计表。请就以上系统功能画出分层的DFD图,并建立重要条目的数据字典。12.某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习。高中文化程度当电工;年龄在20岁到40岁之间者,中学中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员。年龄在40岁以上者,中学文化程度当材料员,大学文化程序当技术员。请用结构化语言、判定表或判定树描述上述问题的加工逻辑。(1)结构化语言:根据职工年龄和文化程序:REPEATIf年龄=20If初中文化Then脱产学习endifelseif高中文化Then电工endifendifIf20年龄40If中学文化If男性Then钳工Else车工储户分类并检查储户记录统计存款单取款单存款单取款单清单帐单存单表单处理1处理存款2处理取款3存款单取款单储户表单Endifelseif大学文化Then技术员endifendifendifIf年龄=40If中学文化Then材料员elseif大学文化Then技术员endifendifendifUntil没有剩余未分配员工判定表1234
本文标题:软件工程章节习题解答
链接地址:https://www.777doc.com/doc-1991060 .html