您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程课后题答案大全(详细)
软件工程习题解答第一章概述3.什么是软件危机?其产生的原因是什么?软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现在以下几个方面:a.经费预算经常突破,完成时间一再拖延。b.开发的软件不通满足用户要求。c.开发的软件可维护性差。d.开发的软件可靠性差。软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:a.软件的规模越来越大,结构越来越复杂。b.软件开发管理困难而复杂。c.软件开发费用不断增加。d.软件开发技术落后。e.生产方式落后。f.开发工具落后,生产率提高缓慢。4.什么是软件工程?它的目标和内容是什么?软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:a.付出较低的开发成本;b.面到要求的软件功能;c.取得较好的软件性能;d.开发的软件易于移植;e.需要较低的维护费用;f.能按时完成开发任务,及时交付使用;g.开发的软件可靠性高;软件工程的内容:1)软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。2)软件开发管理:软件管理学、软件经济学、软件心理学。6.什么是软件生存周期?它有哪几个活动?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等.7.什么是软件生存周期模型?有哪些主要模型?软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。)软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等第三章需求分析1.什么是需求分析?需求分析阶段的基本任务是什么?需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。需求分析阶段的基本任务是:(1)问题识别:双方对问题的综合需求:a.功能需求b.性能需求c.环境需求d.用户界面需求.(2)分析与综合,导出软件的逻辑模型.(3)编写文档4.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?数据流图:简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具,是一种功能模型。作用:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能.基本符号有四种:→,箭头,表示数据流;○,圆或椭圆,表示加工;=,双杠,表示数据存储;□,方框,表示数据的源点或终点.5.画数据流图应该注意什么事项?画数据流图注意事项:a.命名.不论是数据流\数据存储还是加工,合适的命名使人们易于理解基含义.b.画数据流而不是控制流.c.一般不画物质流.d.每个加工到少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果.e.编号.f.父图与子图的平衡.g.局部数据存储.h.提高数据流图的易理解性.7.描述加工逻辑有哪些工具?a,结构化语言b,判定表c.判定树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岁到40岁之间者,中学中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员。年龄在40岁以上者,中学文化程度当材料员,大学文化程序当技术员。请用结构化语言、判定表或判定树描述上述问题的加工逻辑。(1)结构化语言:根据职工年龄和文化程序:REPEATIf年龄=20If初中文化Then脱产学习endifelseif高中文化Then电工endifendifIf20年龄40If中学文化If男性Then钳工Else车工Endifelseif大学文化Then技术员endifendifendifIf年龄=40If中学文化Then材料员elseif大学文化Then技术员endifendifendif储户分类并检查储户记录统计存款单取款单存款单取款单清单帐单存单表单处理1处理存款2处理取款3存款单取款单储户表单Until没有剩余未分配员工判定表1234567891011年龄CCDDDDDEEE文化GHHGGHIGHI性别----MMFF--------脱产学习√电工√钳工√√车工√√技术员√√材料员√√条件取值表条件名取值符号取值数年龄=20CM1=320,40D=40E文化程度中学GM2=3高中H大学I性别男MM3=2女F附加题:1、自学考试报名过程中有个“记录报名单”的加工。该加工主要是根据报名表(姓名、性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报名者,同时记录到考生名册中(准考证号、姓名、课程)。请绘制该加工的DFD图,并写出数据词典中的数据流条目。答:数据流词典数据流条目:报名单=姓名+性别+身份证号+课程名开考课程=课程名+开考时间考生名册=准考证号+姓名+课程2、“决定比赛名单”这个加工,根据“运动员名单”和“比赛项目”产生“项目参加者”,如下图所示,运动员名单要包括所在队名,运动员编号号,运动员姓名,及参加的所有项目。请写出这三个数据流条目。答:运动员名单=队名+运动员号+姓名+{项目}项目=项目名项目参加者=项目名+{运动员号}3、某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4的数字串。要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。答:电话号码=分机号|外线号码分机号=7201...7299外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100...300市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4第四章概要设计1.什么是软件概要设计?该阶段的基本任务是什么?软件概要设计:在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实现,即把软件需求转换为软件包表示的过程。基本任务:(1)设计软件系统结构(简称软件结构)a.采用某种设计方法,将一个复杂的系统按功能划分成模块(划分)b.确定模块的功能。(功能)c.确定模块之间的调用关系。(调用)d.确定模块之间的接口,即模块之间传递的信息。(接口)e.评价模块结构的质量。(质量)(2)数据结构及数据库设计a.数据结构设计b.数据库设计:(概念设计、逻辑设计、物理设计)(3)编写概要设计文档(文档主要有:概要设计说明书、数据库设计说明书、用户手册、修订测试计划)(4)评审2.软件设计的基本原理包括哪些内容?软件设计的基本原理:(1)模块化(四个属性:接口、功能、逻辑、状态)(2)抽象(3)信息隐蔽(4)模块立性(两个定性的度量标准:耦合性与内聚性)3.衡量模块独立性的两个标独准是什么?它们各表示什么含义?两个定性的度量标准:耦合与内聚性耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。模块内元素联系越紧密,内聚性越高。4.模块间的耦合性有哪几种?它们各表示什么含义?耦合性有六种:无直接耦合、数据耦合、标记耦合、控制耦合、公共耦合、内容耦合无直接耦合:两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。(无直接关系)数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。(数据值)标记耦合:指两个模块之间传递的是数据结构。(数据结构)控制耦合:指控制模块调用另一个模块时,传递的是控制变量,被调用块通过该控制变量的值有选择地执行块内某一功能(控制变量)公共耦合:指通过一个公共数据环境相互作用的那些模块间的耦合。(一个公式数据环境)内容耦合:一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部(内部数据)5.模块的内聚性有哪几种?各表示什么含义?模块间的内聚性有6种:偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。偶然内聚:一个模块内的各处理元素之间没有任何联系。逻辑内聚:模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。时间内聚:把需要同时执行的动作组合在一起。通信内聚:指模块内所有处理元素都在同一个数据结构上操作,或者指各处理使用相同的输入数据或产生相同的输出数据。顺序内聚:一个模块中各处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出是下一功能元素的输入。功能内聚:最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。6.什么是软件结构?简述软件结构设计优化准则。软件结构:软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。软件结构设计优化准则:a.划分模块时,尽量做到高内聚,低耦合,保持模块相对独立性,以此为原则优化初始的软件结构。b.一个模块的作用范围应在其控制范围之内,且判定所
本文标题:软件工程课后题答案大全(详细)
链接地址:https://www.777doc.com/doc-4808639 .html