《历年软件工程复习题与答案.doc》由会员分享,可在线阅读,更多相关《历年软件工程复习题与答案.doc(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、优质文本一、单项选择题在每题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多项选择或未选均无分。1在软件生存周期中,时间最长的阶段是 D A需求分析B详细设计C编码D.维护2以下最适合于面向对象的软件开发的软件生存周期模型是 D A瀑布模型B.增量模型C螺旋模型D.喷泉模型3以下不适用于需求分析的工具是 C A数据流图B.判定表CPAD图D.数据字典4以下几种模块内聚类型中,内聚性最低的是 B A时间内聚B.逻辑内聚C顺序内聚D功能内聚5系统流程图中 符号的名称是 A A联机存储B.处理C磁盘D.文档6数据流图中的每个加工至少有 D A一个输入流或一个输出流B
2、.一个输出流C一个输入流D.一个输入流和一个输出流7HIPO图是软件工程中的一种描述工具,采用HIPO图进行描述的阶段是 C A可行性分析B.需求分析C概要设计D.详细设计8Jackson方法是软件开发过程中常用的方法,使用Jackson方法可以实现 A A从数据结构导出程序结构B.从数据流图导出初始结构图C从模块结构导出数据结构D.从模块结构导出程序结构9过程设计语言(PDL),又称为 A A伪码B.高级程序设计语言C中级程序语言D.低级程序设计语言10单元测试阶段主要涉及的文档为 B A需求设计B.编码和详细设计C详细设计D概要设计11软件维护会产生副作用,下面选项中不属于维护副作用的是
3、B A编码副作用B.测试副作用C文档副作用D.数据副作用l2以下不适合作为科学工程计算的语言是 B APascalB.CCFortranD.Prologl3PAD图为以下哪个方面提供了有力的工具 A A系统分析B软件的自动化生成C自动分析数据D.测试软件14结构化软件设计是 C A面向数据结构的B.面向数据库的C面向数据流的D.面向对象设计的15在McCall软件质量度量模型中,面向软件产品修改的质量因素为 B A可用性B.完整性C适应性D.互操作性16汽车是一种交通工具,汽车类和交通工具类之间的关系是 A A一般具体B.has aC整体局部D.组成l7Westinghouse公司于1992年
4、公布了l3类软件工具分类标准和该类的范例工具以及例子,下面说法错误的选项是 A A代码生成程序属于编码和单元测试工具 设计工具B桌面出版系统属于文档工具C数据库管理系统属于需求追踪工具D方案和进度属于工程管理工具18对McCabe度量法,表达错误的选项是 C A.McCabe度量法是一种基于程序控制流的复杂性度量法B.McCabe度量法以图论为工具,用图的环路作为程序复杂性的度量值C.McCabe度量法将简单IF语句和赋值语句的复杂性同等看待D.McCabe复杂性度量也称为环路度量19瀑布模型本质是一种 B A顺序迭代模型B.线性顺序模型C线性迭代模型D.非线性模型20对于使用原型的建议,下面
5、说法错误的选项是 C A开发周期很长的工程,可通过原型开发来缩短开发周期B.系统的使用可能变化较大,不能相对稳定,而原型模型具有适应变化的机制C缺乏开发工具,或对原型的可用工具不了解的时候宜使用原型D.用户对系统的需求较为模糊,对某种要求缺乏信心时宜使用原型21以下哪一项不是软件危机的表现BA开发的软件可维护性差B软件极易被盗版C经费预算经常被突破D开发的软件不能满足用户需求22以下哪个软件生存周期模型是一种风险驱动的模型CA瀑布模型B增量模型C螺旋模型D喷泉模型23各种需求分析方法都有共同适用的DA分析方法B说明方法C表示方法D根本原那么24结构化分析建立功能模型的工具是AADFDB判定树/
6、判定表CDDD结构化语言25模块中所有成分结合起来完成一项任务,该模块的内聚性是AA功能内聚B顺序内聚C通信内聚D逻辑内聚26系统定义明确之后,应对系统的可行性进行研究,可行性研究应包括AA技术可行性、经济可行性、社会可行性B经济可行性、平安可行性、操作可行性C经济可行性、社会可行性、系统可行性D经济可行性、实用性、社会可行性27以下哪一项对模块耦合性没有影响DA模块间接口的复杂程度B调用模块的方式C通过接口的信息D模块内部各个元素彼此之间的紧密结合程度28检查软件产品是否符合需求定义的过程称为AA确认测试B集成测试C系统测试D单元测试29下面关于详细设计的表达中,错误的选项是BA程序流程图可
7、以描述结构化程序B程序流程图不能描述结构化程序CNS图描述的程序一定是结构化的DPAD图描述的程序一定是结构化的30在整个软件维护阶段所花费的全部工作中,所占比例最大的是C A校正性维护B适应性维护C完善性维护D预防性维护31以下不属于序言性注释的有CA模块设计者B修改日期C程序的整体说明D语句功能32集成测试是为了发现AA接口错误B编码错误C性能、质量不合要求D功能错误33一个只有顺序结构的程序,其环形复杂度是BA0B1C3D534结构化程序设计,主要强调的是CA程序的执行效率B模块的内聚C程序的可理解性D模块的耦合35下面关于文档的表达,错误的选项是AA文档是仅用于说明使用软件的操作命令,
8、不包括软件设计和实现细节B文档是软件产品的一局部,没有文档的软件就不成为软件C高质量文档对于转让、变更、修改、扩充和使用有重要的意义D软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量36在McCall软件质量度量模型中,面向软件产品操作的质量因素是AA正确性B可维护性C适应性D互操作性37对度量法,表达错误的选项是CA度量法是一种基于程序控制流的复杂性度量法B度量法以图论为工具,用图的环路数作为程序复杂性的度量值C度量法不能区分简单IF语句和循环语句的复杂性D度量法对模块间的接口和简单IF语句区分对待38在快速原型模型的开发过程中,仅用于代替设计阶段的原型是CA探索型模型B演化型模
9、型C实验型模型D提交型模型39对于构造原型的建议,下面说法错误的选项是DA暂不考虑错误恢复和处理,但应考虑速度、空间等性能效率方面的要求B可降低可靠性和软件质量标准C原型界面局部的设计,最好能与最终系统的界面相容D根据不同的软件类型和应用领域,可使用不同风格的高级语言来构造原型40面向对象开发方法中,将在面向对象技术领域内占主导地位的标准建模语言是CABooch方法BCoad方法CUML语言DOMT方法4l.以下哪一项不是软件产品所具有的特性 C A软件是逻辑产品B软件产品不会用坏,不存在磨损、消耗问题C.随着技术的提高,软件开发的费用不断降低D.软件产品的本钱主要表达在软件的开发与研制上42
10、.“确定软件系统必须做什么是哪个阶段的任务 B A.可行性分析和工程开发方案B需求分析C概要设计D详细设计43以下哪一项不是软件测试时需要的信息 B A软件配置B软件结构C测试工具D测试配置44结构化分析方法的分析策略是 B A自底向上的抽象B自顶向下的分解C用DFD建模D用DD描述数据需求45.一组语句在程序中多处出现,为了节省存储,将这些语句组成一个新的模块,该模块的内聚性为 C A功能内聚B顺序内聚C偶然内聚D逻辑内聚46系统流程图是描绘以下哪一项的工具 C A软件结构B逻辑系统C物理系统D软件功能47数据库的设计一般要进行三个方面的设计:概念设计、逻辑设计和物理设计,其中逻辑设计对应于
11、系统开发的什么局部 C A可行性分析B需求分析C概要设计D详细设计48以下哪种语言可用于描述模块算法设计和处理细节 B AUML语言B过程设计语言CFORTRAN语言DPascal语言49软件维护是软件生命周期中的固有阶段,一般认为,以下哪种软件维护在整个维护活动中所占的比例最小 C A校正性维护B适应性维护C预防性维护D完善性维护50软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试 D A结构合理性B软件外部功能C程序正确性D程序内部逻辑51使用Jackson方法可以得到 D A程序流程图B具体的语言程序C模块结构图及模块的功能说明书D分层数据流图52.以下哪种测试的任
12、务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合 B A集成测试B确认测试C单元测试D系统测试53与编程风格有关的因素不包括 B A源程序文档化B语句构造C输入输出D模块间耦合性54.对于构造原型的建议,下面说法错误的选项是 D A. 暂不考虑速度、空间等性能效率方面的要求。B暂不考虑错误恢复和处理。C可降低可靠性和软件质量标准。D原型界面局部的设计,暂不考虑与最终系统的界面相容。55.有关软件工程进度安排的表达,错误的选项是 C AGantt图常用水平线段来描述把任务分解成子任务,以及每个子任务的进度安排。BGantt图中线段的长度表示完成子任务所需要的时间。C工程网络图是一种
13、有向图,用圆表示事件,用有向弧或箭头表示任务,有向弧或箭头的长度表示子任务持续的时间。D工程网络图只有一个开始点和一个终止点,开始点没有流入箭头,终止点没有流出箭头。56.以下哪一项为哪一项软件开发环境中的主要组成局部 C A软件模型B软件工程C软件工具D硬件环境57对于一个大型系统,假设对设计方案没有把握,可以通过以下哪种原型来证实设计方案的正确性。 B A探索型B实验型C演化型D增量型58对UML的表达不正确的选项是 D AUML统一了Booch方法、OMT方法、OOSE方法的表示方法。BUML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。CUML融入了软件工程领域的新思想、新方
14、法和新技术。DUML仅限于支持面向对象的分析与设计,不支持其它的软件开发过程。59在McCall软件质量度量模型中,以下哪一项为哪一项面向软件产品适应的质量因素 D A可用性B可维护性C适应性D可重用性60下面说法错误的选项是 D A软件可靠性能够定量计算。BMTBF是指两次相继失效之间的平均时间。CMTTF是一个描述失效模型或一组失效特性的指标量。DMTTF与失效率成正比61软件开发环境按解决的问题分类包含AA程序设计环境B工具箱环境C基于方法的环境D以语言为中心的环境62为了提高软件产品的质量和可靠性,对某些无法避开的过失,使其影响减至最小程度所采用的技术是AA容错技术B避开错误技术C检测
15、技术D排错技术63软件复杂性的常用度量方法包括DABOEHM度量法B可扩充度量法C线性度量法D代码行度量法64面向对象的要素包含BA对象的唯一性B抽象C继承性D分类性65构造原型时,主要考虑BA全部功能B原型要表达的特征C全部细节D全部要求66维护中,因修改文件的翻开或关闭而引起的错误是CA文档副作用B数据副作用C编码副作用D设计副作用67诊断和消除程序在使用过程中发生错误的过程称为AA校正性维护B适应性维护C完善性维护D预防性维护68在白盒技术测试用例的设计中,以下覆盖标准中发现错误能力最强的是CA语句覆盖B判定/条件覆盖C条件组合覆盖D判定覆盖69软件调试技术包括AA回溯法调试B循环覆盖调
16、试C边界值分析调试D集成测试调试70在软件测试中,首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起测试,称为DA确认测试B系统测试C渐增式测试D非渐增式测试71源代码的可维护性表现了程序设计语言的BA心理特性B工程特性C技术特性D传统特性72至今已有好几百种不同的高级语言,它们有的是用于数值计算,有的是用于商业管理,有的是用于编写系统软件。以下语言中较适用于数值计算的语言是DABASICBSQLCLISPDFORTRAN73在JSP方法中解决结构冲突的具体方法是AA引入中间数据结构或中间文件B删除某个输入数据结构C删除某个输出数据结构D增加某个输入或输出数据结构74模块的
17、内聚性可以按照内聚程度的上下进行排序,以下排列中属于从低到高的正确次序是CA偶然内聚,时间内聚,逻辑内聚B通信内聚,时间内聚,逻辑内聚C逻辑内聚,通信内聚,顺序内聚D功能内聚,通信内聚,时间内聚75以下软件生存周期的活动中,要进行软件结构设计的是BA测试用例设计B概要设计C程序设计D详细设计76能够清楚地表示复杂的条件组合与应做的动作之间的对应关系的工具是CA结构化语言BPAD图C判定表D程序流程图77需求分析方法必须能够表达和理解问题的数据域和CA数据流B用户类型C功能域D应用领域78以用户需求为动力,以对象作为驱动的模型是CA瀑布模型B基于知识的模型C喷泉模型D增量模型79把软件生产的全过
18、程人为地划分为假设干阶段使得软件人员能根据每一阶段的不同特点更好地组织和管理软件工程的开发,这种概念就是DA软件工程管理B软件工程C软件工程方案D软件生存期80在软件生存期的各个阶段中跨越时间最长的阶段是DA需求分析阶段B设计阶段C测试阶段D维护阶段81Wasserman提出的软件工程环境的五级模型中,支持工作台或环境中一个工具对系统中其它工具的访问称为( C )A平台集成B表示集成C控制集成D过程集成82以下被详细设计阶段用来描述处理过程的工具是( C )A软件结构图B程序流程图C数据流图D对象图83在McCall软件质量度量模型中,属于面向软件产品适应的是( C )A可用性B可维护性C适应
19、性D可互操作性84在实现系统功能时,为了增加系统的可靠性,在规定功能之外,多参加了一些资源,这种技术称为( A )A冗余技术B可靠性技术C可重用技术D检测技术85快速原型思想是在研究以下哪个阶段的方法和技术中产生的?( D )A软件开发B设计C编码D需求分析86软件维护中,因修改交互输入的顺序,没有正确的记录而引起的错误是以下哪一项产生的副作用?( A )A文档B数据C编码D设计87以下属于软件维护阶段文档的是( C )A软件需求说明B操作手册C软件问题报告D测试分析报告88以下哪一项属于白盒技术设计测试用例的方法?( A )A循环覆盖B等价类划分C边界值分析D因果图89效率是一个性能要求,因
20、此应当在以下哪个阶段规定?( B )A可行性分析B需求分析C概要设计D详细设计90PAD图的优点之一是支持逐步求精的设计方法,其逐步细化的方式为( B )A由右到左B由上到下C由下到上D由左到右91在模块的四种根本属性中,反映模块内部特性的是( C )A接口B功能C逻辑D状态92模块的耦合性可以按照耦合程度的上下进行排序,以下哪一项符合从低到高的正确次序?( D )A标记耦合,公共耦合,控制耦合,内容耦合B数据耦合,控制耦合,标记耦合,公共耦合C无直接耦合,标记耦合,内容耦合,控制耦合D无直接耦合,数据耦合,控制耦合,内容耦合93在建立软件系统的模块结构时,评价系统模块划分质量的根据为( C
21、)A数据独立性B程序独立性C模块独立性D设备独立性94PDL是描述处理过程( C )A做什么B为什么做C怎么做D对谁做95结构化语言是介于自然语言和形式语言之间的一种( D )A半形式语言B半自然语言C过程描述语言D高级语言96软件需求分析产生的重要文档一个是软件需求分析规格说明书,另一个可能产生的文档是( C )A软件维护说明书B概要设计说明书C可行性分析报告D初步的用户手册97结构化分析SA,是面向下面哪一项进行需求分析的方法?( D )A过程B对象C用户D数据流98系统流程图用于可行性分析中描述以下哪一方面?( D )A目标系统B当前运行系统C新系统D当前逻辑模型99为了克服软件危机,人
22、们首先想到要用以下哪种方法来开发软件?( D )A模块化B结构化C工程化D形式化100以下哪一项为哪一项面向数据结构的软件开发方法?( D )AIDEF方法B结构化方法CVDM方法DJACKSON方法二、填空题请在每题的空格中填上正确答案。错填、不填均无分。1为了支持软件人员开发和维护活动而使用的软件一般是指_软件工具_。2在IDEF0方法中,一个活动可以无输入,但必须至少有一个_控制箭头_。3在软件结构的设计中,各个模块之间要力求降低耦合性,提高_内聚性_。4在类的层次结构中,通常上层类称为父类或超类,下层类称为_子类_。5数据流图(DFD)一般可分为变换型和_事务型_两类。6软件维护的内容
23、包括校正性维护、适应性维护、_完善性维护_和预防性维护。7软件的生产经历了三个阶段,分别是程序设计时代、程序系统时代和_软件工程时代_。8渐增模型是瀑布模型的变种,分为两类:增量构造模型和_演化提交模型_。9状态图反映了_事件与状态_的关系。10软件工程管理过程一个关键的活动是_制定工程方案_,它是软件开发工作的第一步。11组成软件的两个局部是:_程序和文档_。12工程开发方案的主要内容包括工程概述、_实施方案_、人员组织及分工、交付期限。13为了克服软件危机,1968年北大西洋公约组织的工作会议上首先提出了_软件工程_的概念。14变换型数据流图是由输入、_变换或处理_和输出三局部组成的。15
24、Jackson方法是一种面向_数据结构的_的开发方法。16结构化语言是介于_自然语言_和形式语言之间的一种半形式语言。17软件产品在交付使用之前一般要经过_单元测试_、集成测试、确认测试和系统测试。18不采用软件工程的方法开发软件,软件只有程序而无文档,从而导致维护工作困难,这是一种_结构化_的维护。19子类自动共享父类数据结构和方法的机制是_继承性_,这是类之间的一种关系。20软件版本控制是属于_软件控制_的活动内容。21软件生产的开展经历了三个阶段,分别是程序设计时代、程序系统时代和_软件工程时代_时代。22可行性研究从以下三个方面研究每种解决方法的可行性:经济可行性、社会可行性和_技术可
25、行性_。23HIPO图的H图用于描述软件的层次关系,矩形框表示一个模块,矩形框之间的直线表示模块之间的_调用_关系。24数据流图描绘数据在系统中_流动和处理_的过程。25为了便于对照检查,测试用例应由输入数据和预期的_输出数据_两局部组成。26软件详细设计阶段常采用的工具有图、表和_语言_。27由于运用原型的目的和方式不同,在使用原型中可以采取_抛弃_策略和附加策略。28实现容错技术的主要手段是_冗余_。29软件开发环境的目标是提高软件开发的生产率和_降低软件的费用_。30面向对象分析的目的是对_目标系统_进行建模。31软件工具通常由工具、工具接口和_工具用户接口_三局部构成。32软件工程管理
26、中的控制包括进度控制、人员控制、经费控制和_质量控制_。33软件开发的原型模型可以分为三类,它们是:探索型原型、实验型原型和_演化型原型_。34软件复杂性主要表现在程序的复杂性。程序的复杂性主要指_模块内_程序的复杂性。35白盒法中_根本路径测试_首先以详细设计或源程序为根底,导出控制流程图的拓扑结构程序图。36在软件的详细设计中,根据控制流程从上到下,从左到右展开的设计工具是_PAD图_。37一个模块通过传递开关、标志对某一模块的多种功能进行选择,那么这两个模块之间的耦合方式是_控制耦合_。38结构化分析是面向_数据流_进行需求分析的方法。39有效的模块化是通过定义一组_相互独立_的模块来实
27、现信息隐蔽的,这些模块彼此之间仅交换那些为了完成系统功能所必须的信息。40在软件生产中,_软件工程过程_的作用是规定了获取、供给、开发、操作和维护软件时,要实施的过程、活动和任务。41开发软件工具的主要目的是为了提高软件生产率和_改善软件的质量_。42确定、到达和维护需要的软件质量而进行的所有有方案、有系统的管理活动称为_软件质量保证活动_。43面向对象分析阶段所使用的三种模型是_对象模型_、动态模型和功能模型。44在软件测试的所有覆盖方法中发现错误能力最弱的覆盖是_软件测试语句覆盖_。45黑盒测试又被称为数据驱动测试或_功能测试_。46PDL具有严格的关键字外层语法,用于定义_控制结构_、数
28、据结构和模块接口。47如果一个模块可调用n个模块,其中直接的下属模块的个数是m个m=n,那么该模块的扇出数是_m_个。48在概要设计阶段,形成软件结构并经过优化改良后,还应为每个模块写一份处理说明和提供一份_接口说明_。49描述加工逻辑的三种工具是结构化语言、判定表、_判定树_。50计算机辅助软件工具简单地定义为软件开发自动化,通常简称为_CASE_。三、名词解释题1软件开发方法软件开发方法是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。2耦合性用于衡量不同模块彼此间互相依赖连接的紧密程度。3多态性指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。不同的对象,收到
29、同一消息可以产生不同的结果。4软件质量保证是指在软件开发过程中,为了保证产品满足指定标准而进行的各种活动。5确认测试确认组装完毕的程序是否满足软件需求规格说明书SRS的要求。6软件生存周期一个软件从提出开发要求直到该软件报废为止的整个时期。7需求分析需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求成熟转化为完整的需求定义,再由需求定义转换到相应的形式功能规约需求规格说明的过程。8程序设计风格程序设计风格指一个人编制程序时所表现出来的特点,习惯逻辑思路等。9白盒测试该方法把测试对象看作一个翻开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为根
30、底,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。10基线基线(Baseline),基线是软件文档或源码(或其它产出物)的一个稳定版本,它是进一步开发的根底.所以,当基线形成后,工程负责SCM的人需要通知相关人员基线已经形成,并且哪儿可以找到这基线了的版本.这个过程可被认为内部的发布.至于对外的正式发布,更是应当从基线了的版本中发布.11软件开发方法12软件工程的纯收入在整个生存周期之内的累计经济效益与投资之差。13完善性维护增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动。14类的继承性继承性是子类自动共享父类数据结构
31、和方法的机制,这是类之间的一种关系。15软件工具软件工具一般是指为了支持软件人员开发和维护活动而使用的软件。16软件开发环境指在计算机的根本软件的根底上,为了支持软件的开发而提供的一组工具软件系统。17错误推测法在测试程序时,人们可能根据经验或知觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。18黑盒测试法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。19软件质量保证 20瀑布模型将软件生存周期各个活动规定为依线性顺序连接的假设干阶段的一种软件开发模型。它包括可行性
32、分析,工程开发方案,需求分析,概要设计,详细设计,编码,测试和维护。21软件可靠性1在规定的条件下,在规定的时间内,软件不引起系统失效的概率; 2在规定的时间周期内,在所述条件下程序执行所要求的功能的能力; 22类的继承性23白盒测试法24信息隐蔽信息隐蔽指在设计和确定模块时,使得一个模块内包含信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。25模块化模块化是指解决一个复杂问题时自顶向下逐层把系统划分成假设干模块的过程。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。四、简答题1简述可行性研究的目的和任务。答:1软件可行性
33、研究的目的:就是用最小的代价在尽可能短的时间内确定该软件工程是否能够开发,是否值得去开发。注意,可行性研究的目的不是去开发一个软件工程,而是研究这个软件工程是否值得去开发,其中的问提能否解决。可行性研究实质上是要进行一次简化、压缩了的需求分析、设计过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。 2可行性研究的任务 :技术可行性:对要开发工程的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,工程是否能实现。包括:开发的风险;资源的有效性;技术;开发人员在评估技术可行性时,一旦估计错误,将会出现灾难性后果。 经济可行性:包括本钱效果分析、公司经营长期策略、开发所需
34、的本钱和资源、潜在的市场前景。 社会可行性包括:合同、责任、侵权、用户组织的管理模式及标准,其他一些技术人员常常不了解的陷阱等。2什么是模块化?软件结构设计的优化准那么是什么?答:模块化是按规定的原那么将一个大型软件划分为一个个较小的、相对独立但又相关的模块。模块设计的准那么:(1) 改良软件结构, 提高模块独立性。在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合。(2) 模块大小要适中。大约50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中。(3) 软件结构图的深度、宽度、扇入和扇出要适当。一般模块的调用个数不要超过5个。(4
35、) 尽量降低模块接口的复杂程度。(5) 设计单入口、单出口的模块。(6) 模块的作用域应在控制域之内。3简述详细设计的根本任务。答:(1)为每个模块确定采用的算法;(2)确定每一模块使用的数据结构;(3)确定模块接口的细节;(4)编写过程设计说明书;(5)设计每一模块的测试用例。4简述软件测试的任务、目的与类型。答:1软件测试是一个为了寻找软件错误而运行程序的过程。2目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。3软件测试主要分为白盒测试和黑盒测试两大类。 5简述软件工程过程的含义、目的以及包含的
36、子过程。答:软件工程过程含义:规定了获取、供给、开发、操作和维护软件时,要实施的过程、活动和任务目的:为各种人员提供一个公共的框架,以便用相同的语言进行交流子过程:获取过程、供给过程、开发过程、操作过程、维护过程、管理过程、支持过程6数据字典的作用是什么,它有哪些条目?答:数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和和数据源点/终点。作用:数据流程图描述了系统的逻辑结构,其中的四个根本图形元素的含义无法在数据流程图中详细说明,因此数据流程图需要与其他工具配合使用,数据字典就是这样的工具之一。包括的条目:数据流词条,数据元素词条,数据存储词条,数据加工处理词条,数据源点及终点
37、词条7简述结构化程序设计方法的根本要点。答:(1)采用自顶向下,逐步求精的程序设计方法 (2)使用三种根本控制结构构造程序,分别是顺序,选择和循环 (3)采用主程序员组的组织形式 (4)采用单入口单出口的模块形式。8简述原型的开发步骤。答:快速原型开发步骤可划分以下阶段:1快速分析:迅速确定根本需求、集中力量确定需求说明。2快速构造原型:在快速分析根底上,在强有力的软件工具支持下,快速构造所需原型。3运行原型:在开发者指导下,用户参与原型的运行,各类人员在共同运行原型中进一步加深对系统的了解及相互间的理解,以发现各种问题。4评价原型;在运行根底上,根据原型目标,考核原型的特性,分析原型效果是否
38、满足用户需求,提出修改意见。5修改原型:在评价根底上进行修改。假设不满足需求说明,那么根据明确的需求修改原型。假设不满足用户需求,那么先修改并明确用户需求,再重新构造原型。9简述软件工程研究的内容和它所面临的主要问题。答:内容:软件开发技术软件开发管理面临的主要问题:软件费用软件可靠性软件维护软件生产率软件重用10说明需求分析的定义,并简述需求分析的根本任务。答:1定义:需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求成熟转化为完整的需求定义,再由需求定义转换到相应的形式功能规约需求规格说明的过程。2根本任务:要准确地定义新系统的目标,为了满足用户需要,答复系统
39、必须“做什么的问题。11就程序设计语言的工程特性而言,对程序编码有哪些要求?答:1可移植性;2开发工具的可利用性;3软件的可重用性;4可维护性。12简述提高软件可维护性的方法。答:1建立明确的软件质量目标。2利用先进的软件开发技术和工具。3建立明确的质量保证工作。4选择可维护的程序设计语言。5改良程序文档。13说明面向对象的要素以及这些要素的具体含义。答:1抽象:抽象是指强调实体的本质。内在的属性,忽略一些无关紧要的属性。2封装性信息隐蔽:封装性是指所有软件部件内部都有明确的范围以及清楚的外部边界。3共享性:面向对象技术在不同级别上促进了共享。14增量构造模型有什么特点?答:增量构造模型是局部
40、阶段进行增量开发,即在该模型中,需求分析阶段和设计阶段与瀑布模型一样,按瀑布模型方式进行开发,而编码和测试阶段不采用瀑布模型方式,而采用增量方式开发,即针对局部功能进行编码,进行测试,将这分功能提交用户,然后再对另一局部功能编码,测试提交用户,直至把全部功能按这种方式开发完毕,在这种模型中,用户可以及早看到局部软件功能,及早发现问题,以便在其他软件功能开发时及时解决。15软件测试要经过哪些步骤?简述这些测试的根本任务。答:1单元测试,集成测试,确认测试,系统测试。2单元测试:对源程序中的每个程序单元进行测试,检查各模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。集成测试:检查与
41、设计相关的软件结构的有关问题。确认测试:主要检查已实现的软件是否满足需求规格说明书中确定了的各种需求。系统测试:把已确认的软件与其他系统元素结合在一起进行测试。16简述需求分析方法应遵循的根本原那么。答:1必须能够表达和理解问题的数据域和功能域。 2可以把一个负责问题按功能进行分解并可逐层细化。 3建模。17模块间的耦合性包括哪些类型?答: 1无直接耦合 2数据耦合 3标记耦合 4控制耦合 5公共耦合 6内容耦合。18软件维护的困难性表现在哪几个方面?答:(1) 一般来讲,维护人员对开发人员写的程序及文档,理解都比拟困难,对维护工作不会喜欢;(2) 维护持续时间都很长,在开发人员不在现场的轻快下,维护软件通常是很困难的;(3) 绝大多数软件在设计时对将来的软件修改都没有考虑或考虑不多,尤其未能在设计中强调并认真 解决好模块的独立性,使软件的修改既困难又易发生过失。19增量模型和瀑布模型的本质区别是什么?答:瀑布模型:开发模型呈线性,所以当开发成果未经过测试时,用户