软件工程作业1(第1~4章)一、选择题:1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。A.软件工程B.软件周期C.软件危机D.软件产生2.瀑布模型本质上是一种(A)模型。A.线性顺序B.顺序迭代C.线性迭代D.早期产品3.瀑布模型存在的问题是(B)。A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求4.螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。A.增量模型B.专家系统C.喷泉模型D.变换模型5.原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。A.需求不确定性高的B.需求确定的C.管理信息D.实时6.下列有关软件工程的标准,属于国际标准的是(D)A.GBB.DINC.ISOD.IEEE7.结构化方法是一种基于(D)的方法。A.数据结构B.程序结构C.算法D.数据流8.软件可行性研究实质上是要进行一次(A)需求分析、设计过程。A、简化、压缩的B、详细的C、彻底的D、深入的9.可行性研究的目的是(D)A、分析开发系统的必要性B、确定系统建设的方案C、分析系统风险D、确定是否值得开发系统10.设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。A、P×(1+i*n)B、P×(i+1)*nC、p×(1+i)nD、p×(i+n)11.可行性研究是在(A)之前A、系统开发B、测试C、试运行D、集成测试12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的(C)。A、1%B、20%C、8%D、50%13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》14.效率是一个性能要求,因此应当在以下哪个阶段规定?BA、可行性分析B、需求分析C、概要设计D、详细设计15.需求规格说明书的作用不包括(D)A、软件验收的依据B、用户与开发人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据16.数据字典是用来定义(D)中的各个成份的具体含义的。A、程序流程图B、功能结构图C、系统结构图D、数据流程图17.数据流程图是(A)方法中用于表示系统逻辑模型的一种图形工具。A、SAB、SDC、SPD、SC18.DFD中的每个加工至少有(A)。A、一个输入流或一个输出流B、一个输入流和一个输出流C、一个输入流D、一个输出流19.需求分析阶段的关键任务是确定(D)A、软件开发方法B、软件开发工具C、软件开发费D、软件系统的功能20.在SD方法中全面指导模块划分的最重要的原则是(D)。A、程序模块化B、模块高内聚C、模块低耦合D、模块独立性21.在模块的3种基本属性中,反映模块内部特性的是(C)。A、接口B、功能C、逻辑D、状态22.模块的耦合性可以按照耦合程度的高低进行排序,以下哪一项符合从低到高的正确次序(D)。A、数据结构耦合,公共耦合,控制耦合,内容耦合B、数据耦合,控制耦合,数据结构耦合,公共耦合C、无直接耦合,数据结构耦合,内容耦合,控制耦合D、无直接耦合,数据耦合,控制耦合,内容耦合23.PDL是描述处理过程(C)A、做什么B、为什么做C、怎么做D、对谁做24.(D)工具在软件详细设计过程中不采用。A、判定表B、IPO图C、PDLD、DFD图25.为高质量地开发软件项目,在软件结构设计时,必须遵循(A)原则。A.信息隐蔽B、质量控制C、程序优化D、数据共享26.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为(D)A、数据耦合B、公共耦合C、标记耦合D、内容耦合27.详细设计与概要设计衔接的图形工具是(B)。A、DFD图B、SC图C、PAD图D、程序流程图28.下列几种类型中,耦合性最弱的是(D)。A、内容型B、控制型C、公共型D、数据型29.软件结构使用的图形工具,一般采用(C)图。A、DFDB、PADC、SCD、ER30.在七种偶合中,最低偶合是(D)。A、内容偶合B、公共偶合C、数据偶合D、非直接偶合二、简答题1.什么是软件工程?软件工程的目标是什么?答:软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。目标:1合理预算开发成本,付出较低的开发费用。2实现预期的软件功能,达到较好的软件性能,满足用户的需求。3提高软件的可维护性,降低维护费用。4提高软件开发生产率,及时交付使用2.指出瀑布模型中下列任务的顺序:验收测试,项目计划,单元测试,需求评审,成本估计,概要设计,详细设计,系统测试,设计评审,编码,需求规格说明书。答:项目计划,成本估计,需求规格说明书,需求评审,概要设计,详细设计,设计评审,编码,单元测试,系统测试,验收测试3.可行性研究报告的主要内容是什么?答:可行性研究主要包括以下几个部分:(1)概述(2)技术可行性(3)项目成熟程度(4)市场需求情况和风险分析(5)投资估算及资金筹措(6)经济与社会效益(7)综合实力和产业基础(8)项目实施进度计划(9)其它尚需要说明的必要的方面(10)结论4.什么是需求分析?需求分析阶段的基本任务是什么?答:所谓需求分析,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,“需求分析”就是确定要计算机“做什么”。任务:确定软件项目的目标和范围。调查使用者的要求,分析软件必须做什么,编写需求规格说明书等它相关文档,并进行必要的需求审查。除此之外,还包括需求变更控制,需求风险控制,需求版本控制等对需求的管理工作5.什么是结构化分析方法?该方法使用什么描述工具?答:结构化的分析方法是面向数据流的方法,因此,此方法研究的核心是数据的组成和数据流向和对数据的加工处理。结构化分析方法用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直至找到满足功能要求的所有可实现的软件元素为止描述工具:1系统流程图2数据流程图3数据字典4IPO图5层次方框图6实体—关系图7状态—变迁图6.结构化分析方法通过哪些步骤来实现?答:1)确定系统的功能要求2)确定系统的数据要求3)确定系统的操作要求和界面要求4)确定系统的性能要求5)确定系统的运行要求6)获得当前系统的物理模型7)抽象出当前系统的逻辑模型8)建立目标系统的逻辑模型。9)修正开发计划10)如果需要则开发系统原型7.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?答:数据流图:简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。数据流图的基本符号的意思:1.矩形表示数据的外部实体;2.圆角的矩形表示变换数据的处理逻辑;3.少右面的边矩形表示数据的存储;4.箭头表示数据流。8.什么是数据字典?其作用是什么?它有哪些条目?答:数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和和数据源点/终点。作用:数据流程图描述了系统的逻辑结构,其中的四个基本图形元素的含义无法在数据流程图中详细说明,因此数据流程图需要与其他工具配合使用,数据字典就是这样的工具之一。包括的条目:数据流词条数据元素词条数据存储词条数据加工处理词条数据源点及终点词条9.什么是概要设计?有哪些基本任务?答:概要设计:根据用户的需求先确定软件系统的总体结构和总的设计原则基本的任务:设想供选择的方案。推荐最佳方案。功能分解,确定软件结构。设计软件结构。制定测试计划。数据设计。书写文档。包括总体设计规格说明书。用户手册。测试计划。设计审查和复审。10.详细设计的基本任务是什么?有那几种描述方法?答:详细设计阶段的任务是要为编写程序代码设计“图纸”,由程序员按“图纸”用某种高级程序设计语言编写程序代码。主要方法有设计程序流程图,表格设计符号以及过程设计语言。11.什么是变换流?什么是事物流?答:变换型数据流可以划分为明显的三部分:逻辑输入,中心变换,逻辑输出事务流的特点是数据沿某个输入路径流动,该路径将外部信息转换成事务,其中发射出多条事务处理路径的中心处理被称为中心事务12.模块的内聚有哪几种?模块间的耦合有哪几种?答:内聚分为七种类型:巧合内聚——一个模块执行多个完全互不相关的动作,那么这个模块就有巧合内聚逻辑内聚——当一个模块执行一系列相关的动作时,称其有逻辑内聚。时间性内聚——当一个模块内的多个任务是与时间有关时,这个模块具有时间性内聚。过程内聚——模块执行的若干动作之间有顺序关系。通信内聚——模块执行的若干动作之间有顺序关系,并且所有动作是在相同的数据上执行。信息内聚——一个模块中执行一系列动作,每个动作都有自己的入口点和处理代码,所有的动作都作用在相同的数据结构上,这样的模块叫做信息内聚。功能性内聚——一个模块中各个部分都是完成某一具体功能必不可少的组成部分耦合分为七类:内容耦合——如果一个模块直接参考另一个模块的内容,则这两个模块是内容耦合。公共耦合——如果多个模块都访问同一个公共数据环境,则称它们是公共耦合。外部耦合——如果两个模块都访问同一个全局简单变量而不是同一全局数据结构,而且,不是通过参数表传递该全局变量的信息,则这两个模块属于外部耦合。控制耦合——如果模块A向模块B传递一个控制信息,则称这两个模块是控制耦合的数据结构耦合——当一个模块调用另一个模块时传递了整个数据结构,这两个模块之间具有数据结构耦合。数据耦合——如果两个模块传递的是数据项,则这两个模块是数据耦合。非直接耦合——如果两个模块之间没有直接关系,它们之间的联系完全通过主模块的控制和调用来实现的,这就是非直接耦合。三、应用题1.某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4的数字串。写出在数据字典中,电话号码的数据条目的定义(即组成)。名称简称类型长度取值范围分机号Extension_Number字符47201..7299外线市话号Addition_Internumber字符99+[455|466|888|552]+4{数字}4外线长话号Addition_Extennumber字符129+[100|101|102|..|298|299|300]+[455|466|888|552]+4{数字}42.下面是旅客订飞机票的需求描述,试画出分层的数据流程图。顾客将订票单交给预订系统:(1)如果是不合法订票单,则输出无效订票信息;(2)对合法订票单的预付款登录到一个记账文件中;(3)系统有航班目录文件,根据填写的旅行时间和目的地为顾客安排航班;(4)在获得正确航班信息和确认已交了部分预付款时发出取票单,并记录到取票单文件中。顾客在指定日期内用取票单换取机票:(1)系统根据取票单文件对取票单进行有效性检查,无效的输出无效取票信息;(2)持有有效取票单的顾客在补交了剩余款后将获得机票;(3)记账文件将被更新,机票以及顾客信息将被登录到机票文件。订单中有订票日期、旅行日期、时间要求(上午、下午、晚上)、出发地、目的地、顾客姓名、身份证号、联系电话。IPO01机票预订系统DS002航班目录文件DS001记帐文件DS004机票文件顾客DS003取票单文件0层流程图DS001记帐文件DS002航班目录文件DS003取票单文件顾客IPO1提交订票单IPO2交预付款IPO3发取票单IPO7有效性检查IPO8安排航班预定流程图DS003取票单文件DS001记帐文件DS004机票文件IPO4提交取票单顾客IPO5补交剩余款IPO6发放机票IPO7有效性检查取机票流程图3.一个简化的图书馆信息管理系统有以下功能:(1)