软件工程基础(复习题及答案)

合集下载

软件工程基础习题及答案

软件工程基础习题及答案

软件工程基础习题及答案1.下面描述不属于软件特点的是()。

DA)软件是一种逻辑实体,具有抽象性B)软件在使用中不存在磨损、老化问题C)软件复杂性高D)软件使用不涉及知识产权3.下面不属于软件需求分析阶段工作的是()。

BA)需求获取B)需求计划C)需求分析D)需求评审5.下面不属于黑盒测试方法的是()。

BA)边界值分析法B)基本路径测试C)等价类划分法D)错误推测法7.下面描述中不属于软件需求分析阶段任务的是()。

BA)撰写软件需求规格说明书B)软件的总体结构设计C)软件的需求分析D)软件的需求评审9.软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是()。

DA)软件测试B)软件实现C)软件总体设计D)可行性研究11.某系统结构图如下所示该系统结构图的最大扇入数是()。

AA)nB)1C)2D)313.某系统结构图如下图所示该系统结构图的最大扇出数是()。

DA)1B)2C)3D)n15.下面对软件测试和软件调试叙述错误的是()。

C A)严格执行测试计划,排除测试的随意性B)软件调试的目的是改正软件错误C)软件测试不需考虑测试成本D)正确的执行测试用例17.使用白盒测试方法时,设计测试用例应根据()。

A A)程序的内部逻辑B)程序的复杂结构C)程序的功能D)使用说明书19.下面对软件特点描述错误的是()。

DA)软件没有明显的制作过程B)软件是一种逻辑实体,不是物理实体,具有抽象性 C)软件的开发、运行对计算机系统具有依赖性D)软件在使用中存在磨损、老化问题20.某系统结构图如下图所示该系统结构图中最大扇入是()。

CA)021.软件生命周期是指()。

AA)软件产品从提出、实现、使用维护到停止使用退役的过程 B)软件的需求分析、设计与实现C)软件的运行和维护D)软件的实现和维护22.某系统结构图如下图所示该系统结构图中最大扇出数是()。

CA)123.程序流程图中带有箭头的线段表示的是()。

软件工程复习题与答案

软件工程复习题与答案

二、填空题1.为了支持软件人员开发和维护活动而使用的软件一般是指___软件工具_____。

3.在软件结构的设计中,各个模块之间要力求降低耦合性,提高__内聚性_____。

5.数据流图(DFD)一般可分为变换型和__事务性_____两类。

6.软件维护的内容包括校正性维护、适应性维护、__完善性维护__和预防性维护。

7.软件的生产经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程时代___。

8.渐增模型是瀑布模型的变种,分为两类:增量构造模型和__演化提交模型__。

9.状态图反映了_事件与状态____的关系。

10.软件项目管理过程一个关键的活动是__制定项目计划__,它是软件开发工作的第一步。

11.组成软件的两个部分是:____程序和文档________。

14.变换型数据流图是由输入、__变换(或处理)_____和输出三部分组成的。

15.Jackson方法是一种面向___数据结构_____的开发方法。

16.结构化语言是介于___自然语言_____和形式语言之间的一种半形式语言。

17.软件产品在交付使用之前一般要经过___单元测试___、集成测试、确认测试和系统测试。

18.不采用软件工程的方法开发软件,软件只有程序而无文档,从而导致维护工作困难,这是一种__结构化______的维护。

19.子类自动共享父类数据结构和方法的机制是___继承性_____,这是类之间的一种关系。

21.软件生产的发展经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程____时代。

22.可行性研究从以下三个方面研究每种解决方法的可行性:经济可行性、社会可行性和__技术可行性____。

23.HIPO图的H图用于描述软件的层次关系,矩形框表示一个模块,矩形框之间的直线表示模块之间的____调用_____关系。

24.数据流图描绘数据在系统中___流动和处理___的过程。

25.为了便于对照检查,测试用例应由输入数据和预期的___输出结果(输出数据)____两部分组成。

软件工程复习题库带答案完整版

软件工程复习题库带答案完整版

软件工程复习题库带答案完整版一、选择题1、白盒测试法是通过分析程序的(C)来设计测试用例的。

A.应用范围B.功能C.内部逻辑D.输入数据2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。

A.风险产生的原因B.风险监控技术C.风险能否消除D.风险发生所产生的后果3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。

A.好的计划B.不断的发布C.反馈和勇气D.持续集成4、等价分类法的关键是(C)。

A.确定等价类的边界条件B.按照用例来确定等价类C.划分等价类D.确定系统中相同和不同的部分5、下列不属于黑盒测试的技术是(A)。

A.程序段或语句的功能 B.模块的接口C.数据的名称和用途 D.模块的功能6、为了提高模块的独立性,模块之间最好是(D)耦合。

A.控制耦合B.公共耦合C.内容耦合D.数据耦合7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。

A.角色B.活动C.制品D.工作流8、功能性注释嵌入在源程序内部,它是用来说明(A)。

A.程序段或语句的功能 B.模块的接口C.数据的名称和用途 D.模块的功能9、在结构化分析方法中,数据字典是重要的文档。

对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。

A.只有结构化语言 B.有结构化语言和判定树C.有结构化语言、判定树和判定表 D.有判定树和判定表10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。

A.正确性 B.适应性C.完善性 D.预防性11、软件危机的主要原因是(A)。

A软件本身特点与开发方法B对软件的认识不够C软件生产能力不足D软件工具落后12、13、下列关于面向对象分析与设计说法错误的是(C)。

A.面向对象的设计以面向对象分析为基础归纳出类B.建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象C.面向对象的设计是面向对象分析的另一种思维方式D.面向对象的设计是面向对象分析进一步的细化和更高的抽象14、在软件的可行性分析中,可以从不同的角度对软件进行研究,其中(B)是从软件的功能可行性角度考虑的。

软件工程复习题及答案

软件工程复习题及答案

一、单项选择题(本大题共60小题,在每小题的四个备选答案中,选出一个正确答案,并将正确答案填涂在答题卡上)1.软件质量因素不包括。

A.正确性B.高性能C.可测试性D.可理解性2.软件可行性研究实质上是要进行一次需求分析、设计过程。

A.简化、压缩的B.详细的C.彻底的D.深入的3.以下哪个软件生存周期模型是一种风险驱动的模型。

A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型4.可行性分析中,系统流程图用于描述。

A.当前运行系统B.当前逻辑模型C.目标系统D.新系统5.结构化分析建立功能模型的工具是。

A.DFDB.判定树/判定表C.SCD.结构化语言6.检查软件产品是否符合需求定义的过程称为。

A.确认测试B.集成测试C.系统测试D.单元测试7.在整个软件维护阶段所花费的全部工作中,所占比例最大的是。

A.校正性维护B.适应性维护C.完善性维护D.预防性维护8.通信内聚是指。

A.把需要同时执行的动作组合在一起形成的模块B.各处理使用相同的输入数据或者产生相同的输出数据C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行D.模块内所有元素共同完成一个功能,缺一不可9.一个只有顺序结构的程序,其环形复杂度是。

A.0B.1C.3D.510.下述四个能力成熟度等级,级别最高的是。

A.已定义级B.优化级C.可重复级D.已管理级11.结构化程序设计,主要强调的是。

A.程序的执行效率B.模块大小C.程序的可理解性D.模块关系12.软件调试技术包括。

A.边界值分析B.演绎法C.循环覆盖D.集成测试13.需求分析中开发人员要从用户那里了解。

A.软件做什么B.用户使用界面C.输入的信息D.软件的规模14.数据字典是对数据定义信息的集合,它所定义的对象都包含于。

A.数据流图B.程序框图C.软件结构D.方框图15.面向对象的主要特征除唯一性、继承性、多态性外,还具有。

A.封装性B.移植性C.完整性D.兼容性16.关于软件维护的说法错误的是。

软件工程复习题

软件工程复习题

第三章软件工程基础习题部分一、选择题(1) 软件工程的出现是由于______。

A)程序设计方法学的影响B)软件产业化的需要C)软件危机的出现D)计算机的发展(2) 下列描述中正确的是______。

A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题(3) 下列描述中正确的是______。

A)程序就是软件B)软件开发不受计算机系统的限制C)软件既是逻辑实体,又是物理实体D)软件是程序、数据与相关文档的集合(4) 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做______。

A)软件投机B)软件危机C)软件工程D)软件产生(5) 软件开发的结构化生命周期方法将软件生命周期划分成______。

A. 定义、开发、运行维护B. 设计阶段、编程阶段、测试阶段C. 总体设计、详细设计、编程调试D. 需求分析、功能定义、系统设计(6) 需求分析阶段的任务是确定______。

A. 软件开发方法B. 软件开发工具C. 软件开发费用D. 软件系统功能(9) 需求分析中,开发人员要从用户那里了解______。

A)软件做什么B)用户使用界面C)输入的信息D)软件的规模(10) 软件生命周期中所花费用最多的阶段是______。

A)详细设计B)软件编码C)软件测试D)软件维护(11) 软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及______。

A. 阶段性报告B. 需求评审C. 总结D. 都不正确(12) 下面不属于软件工程的3个要素的是______。

A. 工具B. 过程C. 方法D. 环境(13) 下面不属于软件设计原则的是______。

A. 抽象B. 模块化C. 自底向上D. 信息隐蔽(16) 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为______。

软件工程试卷及答案

软件工程试卷及答案

软件工程试卷及答案篇一:复习题及答案软件工程复习题第一部分(第1~6章)一、选择题: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. 下列有关软件工程的标准,属于国际标准的是(C )7. 结构化方法是一种基于(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)中的各个成份的具体含义的。

软件工程复习题及答案(完整)

软件工程复习题及答案(完整)

一、选择1、文档是软件产品的一部分,没有文档的软件就不称其为软件.对2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。

错3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。

错4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。

错5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。

错6、软件配置管理是一组标识、组织和控制修改源程序的活动. 错7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。

错8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。

对9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。

对10、面向对象的分析是面向计算机系统建立软件系统的对象模型.错11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。

A 软件过程B 软件测试C 软件生存周期D 软件工程12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。

A 质量控制B 质量管理C 质量策划D 质量改进13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级.除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B).A 关键实践B 关键过程域C 软件过程能力D 软件过程14、在软件开发的各种资源中,(D)是最重要的资源。

A 开发工具B 方法C 硬件环境D 人员15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。

A 固有的B 人为的C 可消除的D 不可降低的16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。

A 业务需求B 功能需求C 非功能需求D 用户需求17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。

A 需求不确定的B 需求确定的C 管理信息D 决策支持18、(A)意味着一个操作在不同的类中可以有不同的实现方式.A 多态性B 多继承C 类的可复用D 信息隐蔽19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。

软件工程复习题(带答案)

软件工程复习题(带答案)

软件工程复习题(带答案)软件工程复习题一、单选题1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c )A模块高内聚 B模块低耦合 C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D )A产生危机 B质量保证 C开发效率 D生产工程化3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于( A )A软件系统目标 B软件的性能C软件的功能 D软件的质量4、软件需求分析一般应确定的是用户对软件的( D )A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试计划的制订应始于软件开发的哪个阶段? ( D )A.需求分析B.软件设计C.程序编码D.软件计划6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B )A.原型化方法B.结构化方法C.面向对象方法.D.功能分解法7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A )A.软件模型B.软件功能C.软件结构D.软件加工8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?(D)A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依据,而且也影响软件的()A.可理解性B.可维护性C.可扩展性D.可靠性10、从( )语言开始,软件摆脱了对硬件的依赖。

A.第一代B.第二代C.第三代D.第四代11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( )A.实体B.数据存储C.关系 D属性13、结构化程序设计主要强调程序的(C)A.效率B.速度C.可读性D.大小14、在软件工程中根据程序的功能说明,而不关心程序内部逻辑的测试方法为( A )A.黑盒法B.白盒法C.灰盒法D.综合法15、软件开发的结构化分析方法,常用的描述软件功能需求的工具有( C )A业务流程图,数据字典 B.软件流程图,模块说明C.数据流图,数据字典D.系统流程图,程序编码16、结构化程序设计思想的核心是要求程序只由顺序、循环和( A )三种结构组成。

软件工程 简答题复习题(带答案)

软件工程 简答题复习题(带答案)

软件工程简答题复习题(带答案)软件工程简答题复习题(带答案)1. 什么是软件工程?软件工程是一种系统化、规范化、可量化的方法,用于开发、维护和测试软件系统的过程。

它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。

2. 软件开发生命周期有哪些阶段?常见的软件开发生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。

3. 什么是需求分析?需求分析是软件开发过程中的第一步,它涉及与客户进行沟通和理解客户需求的过程。

通过需求分析,开发团队可以明确软件系统的功能和性能要求,并将这些要求转化为详细的规格说明。

4. 需求分析的主要目标是什么?需求分析的主要目标是确保开发团队和客户对软件系统的需求达成共识。

它需要明确软件系统的功能需求、性能需求和约束条件,以便后续的设计和开发工作能够按照这些需求进行。

5. 什么是软件设计?软件设计是在需求分析的基础上,根据系统需求和约束条件,将系统划分为模块,确定模块之间的接口和关系,设计出满足系统需求的软件结构和算法的过程。

6. 软件设计的原则有哪些?常见的软件设计原则包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)和迪米特法则(LoD)等。

7. 什么是软件测试?软件测试是为了评估系统的质量和功能是否满足需求的过程。

它通过设计和执行测试用例,检查系统的输出是否符合预期,并发现潜在的错误和缺陷。

8. 软件测试的分类有哪些?软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的层次。

单元测试用于测试软件的最小功能单元,集成测试用于测试不同模块之间的交互,系统测试则测试整个系统的功能和性能,验收测试是由客户进行的测试,以确认系统是否达到了合同中规定的要求。

9. 什么是软件维护?软件维护是在软件交付给客户后,为了保证其正常运行和适应环境变化而进行的一系列活动。

维护包括错误修复、性能优化、功能扩展等。

软件工程复习习题(含答案)

软件工程复习习题(含答案)

一、选择题1.在软件危机中表现出来的软件质量差的问题,其原因是___没有软件质量标准____。

2.在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的___健壮性__。

3.在下列测试技术中,___逻辑覆盖___不属于黑盒测试技术。

4.___封装___是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。

5.软件测试时为了___发现错误_____而执行程序的过程。

6.在软件系统中,一个模块应具有什么样的功能,这是由___需求分析__决定的。

7.面向对象分析是对系统进行___需求分析_____的一种方法。

8.软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件的___可维护性____。

9.模块内聚度越高,说明模块内各成分彼此结合的程序越____紧密__。

10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码、测试和维护等阶段,一般认为可能占用人员最多的阶段是_维护阶段__。

11.常用的面向对象的软件过程模型是__喷泉模型_____。

生命周期模型A.瀑布模型(规范化,阶段性取得前进)B.喷泉模型(面向对象,开发活动间没明显边界,无缝过渡)C.原型模型(快速,线性顺序,不带反馈环)D.增量模型(产品分解为一系列增量构件,开发中逐步加入)E.螺旋模型(瀑布&快速原型结合,每阶段加风险评估)12.面向对象的分析阶段建立的系统模型不包括____数据模型____。

有对象模型、动态模型、功能模型13.提高软件的可维护性可采用很多措施,下列哪个不在措施之列?提供没有错误的程序。

措施:建立质量保证制度、改进程序文档质量、明确软件质量标准14.计算机系统可以划分为软件系统和硬件系统,软件是一种逻辑产品。

15. 可行性分析研究的主要目的是项目是否值得开发16.在下列四种模块的耦合性中,信息隐蔽性能最好的是(C数据耦合)A.控制耦合B.内容耦合C. 数据耦合D. 特征耦合17.需求分析是回答系统必须(D做什么)的问题。

软件工程复习卷(有答案)

软件工程复习卷(有答案)

一、填空题(每空1分,共20分)1.软件生存周期一般可以划分为,需求分析、____________、____________、_______________和维护。

2.软件管理主要包括软件生命周期中的__________、__________、____________和组织管理。

3.可行性研究,应从技术可行性、、操作可行性、和法律可行性等方面研究分析。

4.在软件系统边界确定方面,从接口方面考虑,主要考虑_________、____________、_____________和____________四个方面。

5.软件成本估计中已经发展有一些价格估算模型,公式为____________。

6.形式语言是一种符合化,规范化的语言。

其语义无__________。

7.规格说明书应该严格,精确,同时又要容易为用户和软件设计人员理解。

目前,普遍流行的有三种语言___________、____________、___________。

8.数据流图的基本四种成分:数据的源点和终点___________、___ 、和。

9.在软件详细设计中,过程细节说明工具有三种:图形工具、__________和语言工具。

10.软件程序测试技术通常分为静态测试和___________两种:后一种又可分为__________和__________。

11.动态分析方法的动态测试包括三部分______________、执行程序与_______________。

12.软件维护按维护的内容来分,分为四种类型的维护:_______________、________________、_________________和________________。

13.软件工程开发模型中的清洁房间模式的关键技术方法是结构化程序设计+ ______________ + 验证。

14._________现实世界的一个组成部分,被映像到软件域中。

选择:1.软件危机出现于____,为了解决软件危机,人们提出了用工程的原理来设计软件,这是软件工程诞生的基础。

软件工程复习题及参考答案

软件工程复习题及参考答案

《软件工程》课程复习资料一、单项选择题:1.下面哪些UML图描述系统行为?()A.用例图B.类图C.对象图2.属于概要设计活动的是()A.软件结构设计B.数据结构设计C.算法设计3.属行为型设计模式的是()A.组合模式B.工厂方法模式C.观察者模式4.下列说法正确的是()A.UML 是软件开发方法B.UML是系统描述语言C.UML是软件开发过程5.根据程序流程图划分的模块通常是()A.信息内聚的模块B.过程内聚的模块C.逻辑内聚的模块6.如果某程序中的比较个数是m,则其 McCabe环形复杂度为()A.m-1B.mC.m+17.按ISO9000-3的说明,下列属软件配置项的是()A.软件开发方法B.软件开发组织管理制度C.软件开发合同8.软件测试的目的是()A.证明软件无错B.发现软件中的所有错误C.尽可能发现软件系统中的错误9.软件重构关注的是()A.软件体系结构B.模块细节C.软件性能10.软件项目开发计划的内容有()A.数据分析B.风险分析C.功能分析11.在UML的类图中,描述整体与部分关系的有()A.泛化关系B.聚合关系C.依赖关系12.软件过程能力成熟度模型CMM用以评价()A.软件过程能力B.组织能力C.学习能力13.因计算机硬件和软件环境的变化而作出的修改软件的过程称为()A.完善性维护B.改正性维护C.适应性维护14.对项目软件而言,软件功能需求信息主要由谁提供()A.软件用户B.软件开发人员C.软件项目管理人员15.IDEF0 图反映不出()A.系统做什么B.系统功能由谁做C.系统如何做16.原型模型是一种什么开发过程模型()A.自顶向上B.由外至内C.增量式17.系统流程图描述()A.物理系统B.逻辑系统C.软件体系结构18.需求规格说明书的内容不应该包括()A.软件确认准则B.软件的性能描述C.算法过程的详细描述19.适合需求模糊或需求不确定系统开发的软件开发模型有()A.瀑布模型B.RAD 模型C.原型模型20.UML 图中描述系统结构的有()A.组件图B.顺序图C.状态图21.面向对象方法是一种什么软件开发方法()A.层次化B.迭代增量式C.逐步求精22.不可以用来衡量软件可维护性的有()A.可靠性B.可用性C.可行性23.系统分析员在需求分析最后负责编写()A.用户手册B.概要设计说明书C.可行性研究报告24.为了提高软件的可靠性、可维护性等而对软件的修改称为()A.改正性维护B.适应性维护C.预防性维护25.在结构化方法中,为使需求改变对软件影响较小,应该使软件结构()A.与问题结构对应B.与问题结构独立C.与用户界面对应26.单元测试的计划应该在什么阶段完成?()A.需求分析B.概要设计C.详细设计27.下列属面向对象软件开发方法的有()A.LCP 方法B.OMT 方法C.IDEF0 方法28.强调信息隐藏的软件工程设计方法有()A.Jackson 方法B.Parnas 方法C.SA/SD 方法29.描述系统动态行为的模型有()A.包图B.软件结构图C.状态图30.考虑输入条件组合的测试用例设计方法有()A.等价分类法B.语句覆盖法C.因果图法31.下列能减少支援性维护活动的有()A.利用软件包B.进行配置管理C.对用户进行适当培训32.只支持单重继承的程序设计语言有()A.C++B.DelphiC.C33.IDEF0 图的顶层图是()A.A0 图B.A-0 图C.A-1图34.在UML 的用例图中,扩展关系是一种()A.泛化关系B.依赖关系C.关联关系35.独立测试小组开始介入测试是在()A.模块测试阶段B.集成测试阶段C.确认测试阶段36.在成本估计中容易低估局部问题的方法是()A.基于经验模型的估计B.自底向上估计C.自顶向下估计37.在IDEF1X图中,如果子实体与父实体存在联系,则子实体将继承父实体的()A.全部属性B.主关键字属性C.非主关键字属性38.结构化分析方法使用的工具有()A.数据流图B.类图C.软件结构图39.白盒测试设计用例的方法是()A.等价分类法B.基本路径覆盖法C.因果图法40.在衡量软件质量时,最重要的标准是()A.可维护性好B.可用性好C.满足用户功能需求41.瀑布模型是一种()A.演化模型B.顺序模型C.增量模型42.模块的独立程度可以由什么定性标准度量?()A.耦合度B.复杂度C.可靠性43.以下选项中,不属于对象的特点有()A.继承B.多态C.封闭44.面向数据结构的设计方法有()A.Parnas 方法B.Jackson 方法C.IDEF0 方法45.与UML配合最好的软件开发方法是()A.RUP 方法B.Coad/Yourdon方法C.IDEF4方法二、填空题:1.统一建模语言UML提供了两种描述整体/部分关系的方法,分别是和。

软件工程基础期末试题及答案

软件工程基础期末试题及答案

软件工程基础期末试题及答案一、选择题 (每题2分,共20分)1. 软件工程的主要目标是( )。

A. 提高软件的质量B. 降低软件的开发成本C. 提高软件的开发效率D. 以上都对答案:D2. 下列哪个不是软件工程的基本活动?A. 软件规格B. 软件设计和实现C. 软件验证D. 软件评估答案:D3. 下列哪个不是软件工程的关键过程?A. 需求分析B. 软件设计C. 软件测试D. 代码审查答案:D4. 下列哪个不是软件工程的核心思想?A. 规范性B. 可维护性C. 可靠性D. 高效性答案:D5. 在软件开发过程中,需求分析的目的是( )。

A. 确定软件的功能和性能要求B. 确定软件的架构和设计C. 确定软件的开发方法和工具D. 确定软件的测试策略答案:A6. 下列哪个不是需求分析的主要任务?A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的开发需求答案:D7. 下列哪个不是软件设计的主要任务?A. 确定软件的架构B. 确定软件的模块划分C. 确定软件的数据结构D. 确定软件的开发计划答案:D8. 下列哪个不是软件设计的重要考虑因素?A. 软件的可扩展性B. 软件的可维护性C. 软件的可靠性D. 软件的性能答案:D9. 下列哪个不是软件测试的主要目的?A. 发现和修复软件缺陷B. 验证软件的功能和性能是否符合需求C. 评估软件的质量和可靠性D. 提高软件的开发效率答案:D10. 下列哪个不是软件测试的主要方法?A. 黑盒测试B. 白盒测试C. 静态测试D. 代码审查答案:D二、填空题 (每题2分,共20分)1. 软件工程是一种应用系统工程的方法和工具,以规范化的、可量化的和可控制的方式开发和维护软件的工程学科,其基本目标是以$$______$$的方式开发和维护软件,以提高软件的质量、降低软件的开发成本和提高软件的开发效率。

答案:工程化2. 软件工程的核心思想可以概括为规范化、$$______$$、可维护性和可靠性,其中规范化是软件工程的基础,可维护性是软件工程的重要目标,可扩展性是软件工程的关键。

软件工程 简答题复习题(带答案)

软件工程 简答题复习题(带答案)

第一章1,与计算机硬件相比,计算机软件有哪些特点?软件得特点如下。

1)无法直接观察计算机软件得物理形态,只能通过观察它得实际运行情况来了解它得功能、特性与质量等。

2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目得管理过程中,渗透了大量得脑力劳动。

3)不存在像硬件一样得磨损与老化现象,但存在着缺陷维护与技术更新得问题。

4)软件得开发与运行必须依赖于特定得计算机系统环境。

5)具有可复用性。

3,什么就是软件危机?什么原因导致了软件危机?软件危机得现象如下。

1)经费超出预算,项目一再拖延。

2)不重视需求,开发得软件不能满足用户得要求,项目成功率低。

3)没有规范得软件工程方法,软件可维护性差、软件质量差、可靠性差。

4)开发工具落后,手工方式,开发效率低。

所有导致软件危机得原因,都与软件本身得产品特点相关。

1)软件就是一个复杂得逻辑产品。

如果没有解决复杂问题得有效方法,以及软件产品得结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。

2)软件产品不能实现大规模复用,这导致了软硬件生产效率得不同。

3)软件生产就是脑力劳动,它瞧不见、摸不着,开发成本、开发周期等都无法做到准确估算,生产过程不易控制。

4)软件成本主要就是由研发成本构成;而硬件得生产成本主要就是材料与制造成本,分摊得研发成本很少,即软件研发过程与硬件制造过程相比要复杂得多。

5,请简述软件工程研究得内容。

软件工程研究得内容包括软件开发方法、软件开发模型、软件支持过程与软件管理过程。

软件开发方法得内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。

常用得软件开发模型有瀑布模型、迭代模型、增量模型与原型模型等。

软件支持过程由所支持得CASE工具组成,常用得CASE工具有PowerDesigner与Rational Rose等。

7,请简述软件工程得目标、过程与原则。

软件工程基础考试题目和答案

软件工程基础考试题目和答案

软件工程基础考试题目和答案一、选择题(每题5分,共25分)1. 软件工程的主要目标是什么?A. 提高软件开发效率B. 确保软件质量C. 降低软件开发成本D. 提高软件的可维护性答案:B2. 下列哪个阶段不属于软件开发生命周期?A. 需求分析B. 设计C. 测试D. 需求变更答案:D3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 面向过程编程答案:A4. 下列哪个工具主要用于软件项目进度监控?A. Gantt图B. 思维导图C. 帕累托图D. 直方图答案:A5. 下列哪种方法主要用于风险管理?A. 风险识别B. 风险评估C. 风险应对D. 风险监控答案:A二、填空题(每题5分,共25分)1. 软件工程的核心思想是______,通过规范的开发过程和严格的质量控制,提高软件的质量和可靠性。

答案:工程化2. 软件需求分析的主要目的是______,明确软件的功能和性能要求。

答案:理解用户需求3. 结构化分析方法主要包括______、数据流图、实体关系图等。

答案:数据字典4. 软件测试的主要目的是______,发现并修复软件中的缺陷。

答案:保证软件质量5. 敏捷开发方法的核心价值观是______,强调快速响应变化和客户合作。

答案:个体和互动三、简答题(每题10分,共30分)1. 请简要描述软件开发生命周期的主要阶段及其作用。

答案:软件开发生命周期主要包括需求分析、设计、编码、测试和维护等阶段。

需求分析阶段用于理解用户需求,设计阶段用于制定软件架构和详细设计,编码阶段用于实现软件功能,测试阶段用于发现并修复软件缺陷,维护阶段用于提供软件支持和更新。

2. 请简要介绍敏捷开发方法的主要特点和实践原则。

答案:敏捷开发方法主要包括个体和互动、工作软件、客户合作、响应变化等价值观。

实践原则包括短迭代周期、持续反馈、自我组织和协作等。

敏捷开发方法强调快速响应变化,提高软件质量和开发效率。

软件工程复习试题及答案

软件工程复习试题及答案

一、填空题(在下划线上填写正确的答案,每题2分,共20分)1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。

2.数据流图和数据字典共同构成了系统的逻辑模型。

3.盒图也称为N—S图.这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题.6.数据流图有四种基本成分:源、终点,处理,存储,数据流。

7.数据字典有以下四种条目数据项是组成数据流和数据存储的最小元素。

8.软件工程中的结构化分析SA是一种面向数据流的分析方法。

9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程.10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。

1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。

2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。

3.软件测试的步骤:单元、集成、系统、验收.4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。

5.IPO图由输入、处理和输出三个框组成。

这个图的特点是能够直观的显示三者之间的关系。

6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法.7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。

8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。

9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。

10.常用的测试方法有黑盒测试和白盒测试。

1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益可行性等方面研究。

2.构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环结构。

3.软件生存周期中时间最长、花费精力和费用最多的一个阶段是维护阶段。

4.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。

软件工程考试试题及答案

软件工程考试试题及答案

软件工程考试试题及答案一、单选题1. 软件需求分析是软件工程的哪个阶段?a. 需求分析与定义b. 软件设计c. 软件测试d. 软件维护答案:a. 需求分析与定义2. 下列哪项不是软件工程的基本原则?a. 可复用性b. 高效性c. 可维护性d. 可理解性答案:b. 高效性3. 下列哪项不是软件质量保证的措施?a. 程序员的自我质量保证b. 审计c. 代码复用d. 测试答案:c. 代码复用4. 下列哪个是软件生命周期模型?a. 瀑布模型b. 程序开发模型c. 螺旋模型d. 增量模型答案:a. 瀑布模型5. 在软件工程中,什么是软件配置管理?a. 设计和开发软件的过程b. 管理软件的版本和更改c. 测试软件的过程d. 分配和调度任务的过程答案:b. 管理软件的版本和更改二、多选题1. 下列哪些是软件需求规格说明的内容?(多选)a. 需求的功能描述b. 系统性能要求c. 用户界面设计d. 软件的安装要求答案:a. 需求的功能描述、b. 系统性能要求、d. 软件的安装要求2. 软件测试的目的是什么?(多选)a. 发现软件中的错误b. 确保软件满足需求c. 评估软件的质量d. 提高软件的可维护性答案:a. 发现软件中的错误、b. 确保软件满足需求、c. 评估软件的质量3. 下列哪些是软件维护的类型?(多选)a. 纠错性维护b. 适应性维护c. 完善性维护d. 增量性维护答案:a. 纠错性维护、b. 适应性维护、c. 完善性维护、d. 增量性维护三、判断题1. 软件工程是一门工程学科,它包括对软件进行开发、测试、维护和管理等方面的知识。

(正确/错误)答案:正确2. 软件需求分析是软件开发的最后一步。

(正确/错误)答案:错误3. 软件测试的目的是为了证明软件是没有错误的。

(正确/错误)答案:错误四、简答题1. 简述软件生命周期模型中的瀑布模型。

答案:瀑布模型是软件生命周期模型中最早的模型之一。

它将软件开发过程分为需求分析、系统设计、详细设计、编码、测试和维护等阶段,并按照顺序执行。

软件工程题库(含答案)

软件工程题库(含答案)

软件工程题库(含答案)一、单选题(共60题,每题1分,共60分)1、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( )A、可用性B、正确性C、完整性D、可靠性正确答案:D2、软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( ).A、可移植性B、可理解性C、可重用性D、可修改性正确答案:A3、在软件质量要素的评价准则中,操作该软件的难易程度指的是( )。

A、容错性B、检测性C、可操作性D、安全性正确答案:C4、下列属于维护阶段的文档是( )A、软件问题报告B、用户操作手册C、软件测试分析报告D、软件规格说明正确答案:B5、快速原型模型的主要特点之一是( )A、及早提供工作软件B、开发完毕才见到产品C、及早提供全部完整的软件产品D、开发完毕后才见到工作软件正确答案:C6、可维护性通常包括( )。

A、可用性和可理解性B、可修改性、数据独立性和数据一致性C、可理解性、可修改性和可测试性D、可测试性和稳定性正确答案:C7、软件的可修改性支持软件的( )。

A、可互操作性B、可维护性C、可追踪性D、有效性正确答案:B8、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( )A、数据通信B、数据定义C、数据维护D、数据库设计正确答案:B9、软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( )。

A、可追踪性B、可理解性C、可互操作性D、可维护性正确答案:C10、可维护性的特性中相互促进的是( )A、效率和可移植性B、可理解性和可测试性C、效率和结构好D、效率和可修改性正确答案:B11、在软件质量特性中,( )是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。

A、可靠性B、易使用性C、正确性D、准确性正确答案:A12、设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X 需要的工作量(时间)。

对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( )A、信息隐藏和局部化的根据B、逐步求精的根据C、抽象的根据D、模块化的根据正确答案:D13、下列说法中,不正确的是( )。

软件工程复习题与答案

软件工程复习题与答案

二、填空题1.为了支持软件人员开发和维护活动而使用的软件一般是指___软件工具_____。

3.在软件结构的设计中,各个模块之间要力求降低耦合性,提高__聚性_____。

5.数据流图(DFD)一般可分为变换型和__事务性_____两类。

6.软件维护的容包括校正性维护、适应性维护、__完善性维护__和预防性维护。

7.软件的生产经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程时代___。

8.渐增模型是瀑布模型的变种,分为两类:增量构造模型和__演化提交模型__。

9.状态图反映了_事件与状态____的关系。

10.软件项目管理过程一个关键的活动是__制定项目计划__,它是软件开发工作的第一步。

11.组成软件的两个部分是:____程序和文档________。

14.变换型数据流图是由输入、__变换(或处理)_____和输出三部分组成的。

15.Jackson方法是一种面向___数据结构_____的开发方法。

16.结构化语言是介于___自然语言_____和形式语言之间的一种半形式语言。

17.软件产品在交付使用之前一般要经过___单元测试___、集成测试、确认测试和系统测试。

18.不采用软件工程的方法开发软件,软件只有程序而无文档,从而导致维护工作困难,这是一种__结构化______的维护。

19.子类自动共享父类数据结构和方法的机制是___继承性_____,这是类之间的一种关系。

21.软件生产的发展经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程____时代。

22.可行性研究从以下三个方面研究每种解决方法的可行性:经济可行性、社会可行性和__技术可行性____。

23.HIPO图的H图用于描述软件的层次关系,矩形框表示一个模块,矩形框之间的直线表示模块之间的____调用_____关系。

24.数据流图描绘数据在系统中___流动和处理___的过程。

25.为了便于对照检查,测试用例应由输入数据和预期的___输出结果(输出数据)____两部分组成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

复习题一、判断题(每题2分,共30分)1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。

(对)2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。

(错)3.JAVA语言编译器是一个CASE工具。

(对)。

4.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。

(错)5.软件模块之间的耦合性越弱越好。

(对)6.数据库设计说明书是一个软件配置项(对)7.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。

(错)8.过程描述语言可以用于描述软件的系统结构。

(错)9.如果通过软件测试没有发现错误,则说明软件是正确的。

(错)10.快速原型模型可以有效地适应用户需求的动态变化。

(对)11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。

(对)12.集成测试主要由用户来完成。

(错)13.确认测试计划应该在可行性研究阶段制定(错)14.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。

(错)15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。

(对)16.在可行性研究中最难决断和最关键的问题是经济可行性。

(╳)17.耦合是指一个模块内各个元素彼此结合的紧密程度。

(╳)18. 一笔交易、一个动作、甚至操作人员按一个按钮都可以看做是一次事物。

(√)19.概要设计阶段完成的主要文档是概要设计说明书。

(√)20.过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。

(╳)21.程序设计语言中应绝对禁止使用GOTO语句。

(╳)22.类是关于对象性质的描述,由方法和数据组成。

(√)23.随着软件技术的发展,人们逐渐认识到编码不仅要强调效率还要强调清晰。

(√)25.为保证程序的安全,必须做到程序中没有任何错误存在,即容错。

(╳)26.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。

(√)名词解释1.数据词典——是描述数据信息的集合,它对数据流图中的各个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。

2.数据流图——他以图形的方式反映系统的数据流程3.白盒测试——按照程序内部的结构测试程序,检验程序中的每条路径是否都能按预定要求正确工作。

有两种测试法既逻辑覆盖测试法和路径测试法4.黑盒测试——按照程序的功能测试程序,检验与程序功能有关的输入、输出与程序执行是否正确。

有四种方法既等价分类法、边界值分析法、错误猜测法和因果图法5.完善性维护——为了适应用户业务和机构的发展变化而对软件的功能、性能进行修改、扩充的过程称为完善性维护。

因为各种用户的业务和机构在相当长的时期内不可能是一成不变的,所以功能、性能的增加是不可避免的,而且这种维护活动在整个维护工作中所占的比重很大6.软件可靠性——指在给定的时间内,程序按照规定的条件成功地运行的概率7.软件配置——是一个软件在生存周期内,他的各种形式、各种版本的文档与程序的总称8.软件再工程——运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合、并重新构建软件,用于提高软件的可理解性、可维护性可复用性或演化性。

9.α测试——是在一个受控的环境下,由用户在开发者的“指导”下进行的的测试,由开发者负责记录错误和使用中出现的问题。

10.β测试——是由软件的最终用户(多个)在一个或多个用户场所来进行。

由用户负责记下遇到的所有问题,包括主观认定的和真实的问题,定期向开发者报告,开发者在综合用户的报告之后进行修改,最后将软件产品交付给全体用户使用。

11.聚集关系——表示类或对象之间的整体与部分的关系12.泛化关系——表示类或对象之间的一般与特殊的关系13.内聚——一个模块内部各个元素彼此结合的紧密程度的度量。

14.耦合——一一个软件结构内不同模块之间互连程度的度量。

填空题1.在信息处理和计算机领域内,一般认为软件是 _程序____、_文档____ 和_数据____ 。

2.数据流图的基本组成部分有 _数据的源点与终点____、数据流_____、加工_____、数据文件_____。

3.数据流图和数据字典共同构成了系统的_逻辑____模型,是需求规格说明书的主要组成部分。

4.划分模块时尽量做到__高内聚、低耦合______,保持模块的独立性,尽量使用公共模块。

5.类的实例化是_对象_______。

6.人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可7.靠性的两个指标是_成功地运行的概率_______和_平均故障时间_______。

8.将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,9.将得到软件的总开发量。

这种成本估算方法称为_自底向上_______。

10.如果一个模块被 n 个模块调用,其中直接的上级模块的个数是 m 个( m<=n )那么该模块的扇入数是 ____N_______ 个。

11.结构化设计以 __数据流图_________ 为基础,按一定的步骤映射成软件结构。

12.软件的风险分析可包括风险识别、风险预测和风险驾驭(或风险管理)等3项活动。

13.软件著作权登记的3种主要类型:(1)著作权登记;(2)著作权延续登记;(3)权利转移备案登记。

14.软件工程管理的主要内容有:项目经费管理,软件质量管理,项目进度管理和人员管理。

15.面向对象分析的目的是对客观世界的系统进行___建模_______________ 。

16.软件维护工作的生产性活动包括分析评价、修改设计和____编写程序代码_______ 等。

17.为了使应用软件适应计算机环境的变化而 ___修改软件_______________ 的过程称为适应性维护。

18.一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是 __________顺序内聚________ 。

19.投资回收期就是使累计的经济效益等于 __最初的投资费用______________ 所需的时间。

20.软件生存周期是指一个软件从提出开发要求开始直到 __软件废弃____为止的整个时期。

21.曾被誉为“程序设计方法的革命”的结构化程序设计,使程序设计从主要依赖于程序员个人的自由活动变成为有章可循的一门科学。

22.从结构化程序设计到面向对象程序设计,是程序设计方法的又一次飞跃。

23.在单元测试时,需要为被测模块设计___测试用例_______。

简答题1.软件工程的七条基本原理是什么?答:软件工程的七条基本原理是:(1)用分阶段的是的生存周期计划严格管理;(2)坚持进行阶段评审;(3)严格实施的产品控制;(4)采用现代程序技术;(5)结果应能清楚地审查;(6)开发小组的成员应该少而精;(7)承认不断改进软件工程的必要性。

2.良好的编码风格应具备哪些条件?答:应具备以下条件:(1)使用标准的控制结构;(2)有限制地使用GOTO语句;(3)源程序的文档化(应具备以下内容)①有意义的变量名称——“匈牙利命名规则”。

②适当的注释——“注释规范”。

③标准的书写格式:——用分层缩进的写法显示嵌套结构的层次(锯齿形风格);——在注释段的周围加上边框;——在注释段与程序段、以及不同程序段之间插入空行;——每行只写一条语句;——书写表达式时,适当使用空格或圆括号等作隔离符。

(4)满足运行工程学的输入输出风格。

3.简述文档在软件工程中的作用。

答:(1) 提高软件开发过程的能见度(2) 提高开发效率(3) 作为开发人员阶段工作成果和结束标志(4) 记录开发过程的有关信息便于使用与维护;(5) 提供软件运行、维护和培训有关资料;(6) 便于用户了解软件功能、性能。

4.可行性研究包括哪几方面的内容?答:(1)经济可行性:是否有经济效益,多长时间可以收回成本;(2)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足;(3)运行可行性:系统操作在用户内部行得通吗?(4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。

5.结构化的需求分析描述工具有哪些?答:有数据流图(DFD)、数据字典(DD)、判定表、判定树、结构化语言(PDL)、层次方框图、Warnier图、IPO图、控制流图(CFD)、控制说明(CSPEC)、状态转换图(STD)和实体—关系图(E—R)等。

6.一般面向对象分析建模的工具(图形)有哪些?答:用例图、类/对象图、对象关系图、实体—关系图(E —R)、事件轨迹图(时序图)和状态转换图(STD)等7.UML统一建模语言有哪几种图形?用例图、类图、对象图、构件(组件)图、部署(配置)图、状态图、活动图、顺序(时序)图、合作(协作)图等九种图。

8.在面向对象分析时类和对象的静态关系主要有哪几种?答:类和对象的静态关系主要有关联、聚集、泛化、依赖等四种关系。

9. 什么是模块化?模块设计的准则?模块化是按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。

模块设计的准则:(1) 改进软件结构, 提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合。

(2) 模块大小要适中:大约50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中。

(3) 软件结构图的深度、宽度、扇入和扇出要适当。

一般模块的调用个数不要超过5个。

(4) 尽量降低模块接口的复杂程度;(5) 设计单入口、单出口的模块。

(6) 模块的作用域应在控制域之内。

10.什么是模块独立性?用什么度量?答:模块独立性概括了把软件划分为模块时要遵守的准则,也是判断模块构造是不是合理的标准。

独立性可以从两个方面来度量:即模块本身的内聚和模块之间的耦合。

11. 变换型数据流由哪几部分组成?变换型结构由三部分组成:传入路径、变换(加工)中心和传出路径。

12. 变换分析设计的步骤?(1) 区分传入、传出和变换中心三部分,划分DFD图的分界线;(2) 完成第一级分解:建立初始SC图的框架;(3) 完成第二级分解:分解SC图的各个分支;(4) 对初始结构图按照设计准则进行精化与改进。

13. 事务型数据流由哪几部分组成?事务型结构由至少一条接受路径、一个事务中心与若干条动作路径组成。

14. 事务分析设计的步骤?(1) 在DFD图中确定事务中心、接收部分(包含全部接收路径)和发送部分(包含全部动作路径);(2) 画出SC图框架,把DFD图的三部分,分别映射"为事务控制模块,接收模块和动作发送模块.一般得到SC图的顶层和第一层(如果第一层简单可以并入顶层);(3) 分解和细化接收分支和动作分支,完成初始的SC图;(4) 对初始结构图按照设计准则进行精化与改进。

相关文档
最新文档