软件工程填空题
软件工程填空题
1.可行性研究从技术可行性、经济可行性、___三方面进行分析。
答案:社会可行性2. .IDEF0 方法用来描述系统的功能活动及其联系,建立系统的___模型。
答案:功能3.结构化方法总的指导思想是 ___逐层分解。
答案:自顶向下4.在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称为 ___。
答案:偶然内聚5.软件部件的内部实现与外部可访问性分离,这是指软件的___ 。
答案:封装6.用来模拟被测模块的上级调用模块的模块称为___。
答案:驱动模块7.软件复杂性度量的参数很多,主要有规模、___ 、结构、智能度。
答案:难度8.软件开发环境中最主要的组成部分是___。
答案:软件工具9.软件工程管理的具体内容包括对开发人员、组织机构、用户和___ 等方面的管理。
答案:文档资料10.增量模型根据增量方式和形式的不同,分为___ 和原型模型。
答案:渐增模型浙江省2002年1月11.瀑布模型是以文档为驱动、适合于 __软件需求明确 ______的软件项目的模型。
12.纯收入是指在整个生存周期之内的 ___累计经济效益 _____与投资之差。
13.数据项是指 _不可再分解的 __数据单元。
14.软件概要设计的主要任务就是 _软件结构的设计 __。
15.结构化程序设计方法是使用 __基本控制结构 _构造程序。
16.软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个_自底向上 _集成的过程。
17.软件维护的内容包括校正性维持,适应性维护、__完善性维护 __和预防性维护。
18.CASE 工具的平台集成指工具运行在相同的__操作系统 __平台上。
19.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和_数据存储对象 __。
20.将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,得出开发项目的总成本。
软件工程填空题
1.软件开发技术包括:软件开发方法学、工具和环境支持,其内容是。
2.软件工程中,开发阶段包括、概要设计、详细设计、编码及测试几个阶段。
3.在软件工程中,高质量的文档标准是完整性、一致性和性。
4.软件的生产经历了程序设计、程序系统和 3 个阶段。
5.软件开发方法中的结构化方法是一种面向数据流的开发方法,其指导思想是。
6.综合应用观点和虚拟机观点,软件可分为系统软件、和应用软件3类。
7.软件工程的结构化生命周期方法中,一般将软件设计阶段划分为和详细设计两个阶段。
8.总体设计阶段主要由两个小阶段组成,首先要进行,然后进行软件结构设计。
9. 阶段主要完成的任务是确定每个模块的具体执行过程。
10.软件的详细设计可采用图形、和过程设计语言3种形式的描述工具表示模块的处理过程。
11.软件工程是一种分阶段实现的软件程序开发过程。
12.采用自顶向下逐步分解的分析方法是。
13.软件详细设计的方框图方法常用两个盒子;数据盒和过程盒,在数据盒中包含四种描述,它们是,局部数据,数据结构和调用参数模式。
14.软件的详细设计需要设计人员为每个设计模块确定所使用的算法、、接口细节和输入、输出数据等。
15.软件需求说明包括概述、数据描述、功能说明、参考文献目录和附录。
16. 是为了便于了解程序所需的资源说明,是与程序的开发、维护和使用有关的资料。
17.软件可分为应用软件、系统软件和支撑软件3种。
其中是最靠近硬盘的一层。
18.对于变形的数据流图,按照软件设计的思想,要将一个大型复杂的软件进行分解,要确定数据流图的、逻辑输入、逻辑输出。
19.软件结构以图形的方式表示。
20.Jackson 方法可以实现从推导出程序结构。
21.软件工程标准化所涉及的主要内容是:软件开发程序、软件设计、、和项目管理。
22.在程序设计时代的生产方式是个体手工劳动,使用的工具是和汇编语言,主要通过编程来实现,不重视程序设计方法。
23.面向数据流的设计方法定义了不同的映射方法,可以将数据流图映射和变换成。
2023软件工程导论期末考试题库及参考答案
2023软件工程导论期末考试题库及参考答案一、选择题(每题2分,共20分)1. 以下哪个不是软件工程的三个基本目标?A. 可维护性B. 可用性C. 可靠性D. 高效性参考答案:D2. 软件生命周期中,以下哪个阶段是软件开发过程的核心阶段?A. 需求分析B. 设计C. 编码D. 测试参考答案:C3. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程参考答案:A4. 在软件工程中,以下哪个方法用于估算软件项目的成本和进度?A. COCOMOB. WBSC. SDLCD. CASE参考答案:A5. 以下哪个是软件工程中的一个重要原则?A. 分而治之B. 一次性编写C. 重用D. 模块化参考答案:D6. 以下哪个不是软件工程的基本活动?A. 软件规格B. 软件开发C. 软件验证D. 软件测试参考答案:C7. 以下哪个是软件工程中用于提高软件质量的技术?A. 设计模式B. 重构C. 代码审查D. 单元测试参考答案:C8. 以下哪个不是软件工程的五大基本过程?A. 软件规格B. 软件开发C. 软件维护D. 软件项目管理参考答案:D9. 以下哪个是软件工程中的一个重要概念,用于描述软件系统中的各个组件之间的关系?A. 耦合B. 内聚C. 模块化D. 重用参考答案:A10. 以下哪个是软件工程中的一个重要原则,用于指导软件开发过程?A. 迭代B. 增量C.螺旋D. 模型驱动参考答案:A二、填空题(每题2分,共20分)11. 软件工程的三要素是:方法、工具和______。
参考答案:过程12. 软件生命周期包括:需求分析、设计、编码、______和软件维护。
参考答案:测试13. 软件工程中的面向对象方法包括:封装、继承和______。
参考答案:多态14. 软件工程中的 CASE 工具主要用于支持______。
参考答案:软件设计和开发15. 软件工程中的敏捷开发方法强调______、可维护性和可扩展性。
软件工程练习题
"软件工程"练习题一、填空题1.软件主要包括程序、数据和文档三局部容。
2. 目前使用最广泛的软件工程方法学是传统〔构造化方法〕方法和面向对象方法。
3.软件可行性研究的任务是从技术、经济和社会可行性三个方面分析软件工程的可行性。
4.软件测试的目的是找出软件潜在的错误和缺陷;通常把软件测试方法分为黑盒测试〔功能测试〕和白盒测试〔构造测试〕两大类。
5.软件测试中,测试用例由输入数据和预期的输出结果两局部组成。
6.典型的软件生命周期模型〔软件过程模型〕包括瀑布模型、快速原型模型和增量模型、螺旋模型、喷泉模型等。
7.模块 A 调用模块 B 以查询学生成绩,模块A 通过参数向模块 B 传送所查询学生的**,模块 B通过参数向模块 A 返回学生的考试成绩。
模块A 和模块 B 之间的耦合类型属于数据耦合。
8.在类的继承构造中,不同层次的类共享同一个行为名称,但各个类可以按照自己的需要为同名行为设计不同的算法,此性质称为类的重写。
9.测试软件中的模块时,通常需要为被测模块设计辅助模块,辅助模块的名称分别是驱动模块和桩模块。
10.软件生存期中时间最长的是_软件维护阶段。
11.构造化分析方法中,功能模型用 DFD 描述;数据模型用 E-R 描述。
12.过程设计〔详细设计〕中,常用的描述工具有图形、表格和语言三类。
13.在模块构造图中,直接调用*一模块的其他模块数称为该模块的扇入数。
14.面向对象分析〔OOA〕方法中,必须定义对象间的通信机制,对象间通信是通过消息传递机制来实现的。
15.面向对象方法用对象分解取代了构造化方法的功能分解。
16.写出以下各对事物之间的关系〔继承、会萃、普通关联〕:交通工具——汽车的关系是:继承;书——读者的关系是:普通关联;班级——学生的关系是:会萃;多边型——线段的关系是:会萃。
17.面向对象设计〔OOD〕阶段,可以将面向对象的设计容划分为四局部,分别是:人机界面部分、问题域局部、任务管理局部和数据管理局部。
软件工程期末考试参考题及答案
一、填空题(每空1分, 共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件旳功能进行划分, 软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究重要集中在如下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.顾客界面旳可使用性是顾客界面设计最重要旳也是最基本旳目旳。
5.常见旳软件概要设计措施有3大类: 以数据流图为基础构造模块构造旳___构造化设计措施_________, 以数据构造为基础构造模块旳__jackson措施__________, 以对象、类、继承和通信为基础旳__面向对象设计措施__________。
6.__数据流图________和__数据字典___共同构成系统旳逻辑模型。
7.软件测试旳措施有__分析措施________和___非分析措施_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主, ___黑盒______测试为辅。
9.成本估计措施重要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。
二、单项选择题(每题2分, 共10分)1.下列哪个阶段不属于软件生存周期旳三大阶段( C )。
A.计划阶段B.开发阶段2. C.编码阶段 D.维护阶段3.需求分析是(A )。
A. 软件开发工作旳基础B. 软件生存周期旳开始C. 由系统分析员单独完毕旳D. 由顾客自己单独完毕旳原型化措施是软件开发中一类常用旳措施, 它与构造化措施相比较, 更需要( B )。
A. 明确旳需求定义B.完整旳生命周期C、较长旳开发时间D、纯熟旳开发人员软件维护时, 对测试阶段未发现旳错误进行测试、诊断、定位、纠错, 直至修改旳回归测试过程称为( A )。
A、改正性维护B、适应性维护C、完善性维护D、防止性维护一般说来, 投入运行旳软件系统中有错误(A )。
软件工程期末试题及答案
软件工程期末试题及答案一、选择题(每题2分,共20分)1. 以下哪项不是软件工程的基本目标?A. 提高软件的生产效率B. 提高软件的质量C. 减少软件的开发成本D. 增加软件的复杂性答案:D2. 下面哪个不属于软件工程的三个主要过程?A. 软件规格B. 软件开发C. 软件测试D. 软件维护答案:A3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A4. 以下哪个不属于软件项目的管理活动?A. 项目计划B. 风险管理C. 质量保证D. 软件开发答案:D5. 以下哪个不是软件需求分析的工具?A. 数据流图(DFD)B. 实体关系图(ERD)C. 状态转换图(STD)D. 类图答案:B6. 以下哪个不属于软件设计的原则?A. 模块化B. 抽象C. 封装D. 继承7. 以下哪种测试方法主要用于检测软件的功能是否满足需求?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:C8. 以下哪个不属于软件维护的类型?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:D9. 以下哪个不属于软件项目管理工具?A. Microsoft ProjectB. JiraC. TrelloD. Visual Studio10. 以下哪个不属于敏捷软件开发的特点?A. 短周期迭代B. 客户参与C. 重构D. 线性开发流程答案:D二、填空题(每题2分,共20分)1. 软件工程的基本目标包括提高软件的生产效率、提高软件的质量和______。
答案:减少软件的开发成本2. 软件工程的三个主要过程分别是软件规格、软件开发和______。
答案:软件维护3. 软件需求分析的主要工具包括数据流图(DFD)、实体关系图(ERD)和______。
答案:状态转换图(STD)4. 软件设计的原则包括模块化、抽象、封装和______。
答案:继承5. 软件测试的四个层次分别是单元测试、集成测试、系统测试和______。
软件工程填空题(18套试题与答案)
《软件工程》填空题二、填空题(请把答案写在相应的横线上,每小题1.5分)1、软件是数据、计算机程序及其说明程序的各种文档。
2、概要设计主要是把各项功能需求转换成系统的体系结构。
3、面向对象开发方法包括OOA 、OOD 、OOP 三部分。
4、结构化设计中以数据流图为基础的两种具体分析设计方法是变换分析、事物分析设计。
5、在单元测试时,需要为被测模块设计驱动模块和桩模块。
6、CMM把软件过程从无序到有序的进化分成5个阶段,排序而形成5个逐层提高的等级,分别是初始级、可重复级、已定义级、已管理级和可优化级。
7.子类自动共享父类的属性和操作的机制称为继承。
8. 软件工程管理的具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。
9、可行性研究的三个方面是技术可行性、社会可行性和__经济可行性__。
10、在软件概要设计阶段,建立软件结构后,还应为每个模块写一份处理说明和_接口说明__。
11、在画分层的DFD时,父图与子图的输入输出数据流要__平衡__。
12、在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据结构_进行设计。
13. 对象的抽象是___类___。
14. 基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。
因此,基线可以作为项目的一个___检查点__。
15. 软件工程包括软件开发技术和__软件工程管理__两大部分内容。
16、开发过程管理包括项目计划、控制和___任务管理__等。
17、CASE是多年来在软件开发管理、软件开发方法、软件开发环境和__软件工具__等方面研究和发展的产物。
18、数据字典中有四类条目,分别是___数据流、数据项、数据存储、基本加工。
19、用于描述基本加工的小说明的三种描述工具是结构化语言、判定表、判定树_。
20、子类只继承一个父类的属性和操作,这称为__单重继承__。
21、McCabe复杂性度量又称__环路度量_。
22、喷泉模型是一种以用户需求为动力,以__对象__为驱动的模型。
软件工程考试试题含答案
一、填空题每空1分,共25分1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、编码、测试和____________;2.基于软件的功能划分,软件可以划分成__________、__________、__________三种;3.可行性研究,应从、技术可行性、运行可行性、和开放方案可行性等方面研究;4.系统流程图是描绘的传统工具;它的基本思想是用图形符号以描绘系统里面的每个部件;5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、和;6.结构化分析方法是面向________________进行需求分析的方法;结构化分析方法使用________________与________________来描述;7.是自动地共享类、子类和对象中的方法和数据的机制;8.软件详细设计工具可分为3类,即________________、________________和________________;9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、复查和管理复审、________________;10.大型软件测试包括、、确认测试和四个步骤;1、可行性研究需求分析运行与维护2、系统软件支撑软件应用软件3、经济可行性法律可行性4、物理系统黑盒子形式5、加工数据流数据存储文件6、数据流数据流图DFD数据字典DD7、继承性8、图示工具、设计语言表格工具9、审查测试10、单元测试集成测试系统测试二、单项选择题每小题2分,共20分1.软件设计中划分模块的一个准则是;A、低内聚低耦合B、低内聚高耦合C、高内聚低耦合D、高内聚高耦合2.Jackson设计方法是由英国的提出的,它是一种面向的软件设计方法;A、对象B、数据流C、数据结构D、控制结构3.试判断下列叙述中,哪个些是正确的4.;a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c5.是用户和设计交换最频繁的方法;A、原型化方法B、瀑布模型方法C、螺旋模型方法D、构件组装模型6.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是;A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质7.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言;A、PASCALB、VISUALBASICC、C++D、汇编语言8.软件测试的目的是A、证明软件的正确性B、找出软件系统中存在的所有错误C、证明软件系统中存在错误D、尽可能多的发现软件系统中的错误9.使用白盒测试方法时,确定测试数据应根据和指定的覆盖标准;A、程序的内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能10.软件维护工作的最主要部分是;A、校正性维护B、适应性维护C、完善性维护D、预防性维护11.PDL是语言;A、高级程序设计语言B、伪码式B、C、C、中级程序设计语言D、低级程序设计语言三、判断题正确的在括号内打上“√”,错误的打上“×”;每题2分,共20分1.用黑盒法测试时,测试用例是根据程序内部逻辑设计的;X2.发现错误多的程序模块,残留在模块中的错误也多;V3.为了加快软件维护作业的进度,应尽可能增加维护人员的数目;X4.软件维护就是改正软件中的错误;X5.质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动;V6.软件开发的主要任务是写程序;X7.测试只能证明程序有错误,不能证明程序没有错误;V8.模块化程序设计中,模块越小,模块化的优点越明显;一般来说,模块的大小都在10行以下;X9.在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排,等等;X10.程序设计风格指导原则提出,尽量多使用临时变量;X四、简答题每题5分,共20分1.什么是软件工程软件工程是指导计算机软件开发和维护的工程学科;采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来;2.耦合性和内聚性有几种类型其耦合度、内聚强度的顺序如何低:非直接耦合数据耦合标记耦合控制耦合外部耦合公共耦合内容耦合:高强:功能内聚信息内聚通信内聚过程内聚时间内聚逻辑内聚巧合内聚:弱3.简述需求分析工作可以分成哪四个方面软件需求分析的有哪三个基本原则4.:需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审;三个基本原则:必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;要给出系统的逻辑视图和物理视图;5.什么是黑盒测试法黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息;五、程序设计与算法描述题共15分1.根据下面的伪代码程序,完成相应要求;8分STARTIFC1THENWHILEC2DOfENDDOELSEBLOCKgpENDBLOCKENDIFREPEATUNTILC3qrENDREPSTOP1)画出程序流程图4分2)用N—S图描述4分2.有下列伪码程序:STARTINPUTM,NIFM>=10THENX=10ELSEX=lENDIFIFN>=20THENY=20ELSEY=2ENDIFPRINTX,YSTOP设计该程序的语句覆盖和路径覆盖测试用例;7分M=9或<l0,N=l9或<20;M=l0或>=10,N=20或>=20路径覆盖的测试用例为M=9,N=19;M=9、N=20;M=l0,N=l9;M=10,N=20要目标是提高软件质量,减少软件维护代价;软件过程五个模型对比瀑布模型、快速原型、增量、螺旋、喷泉模型可行性研究:1、任务:用最小的代价在尽可能短的时间内确定问题是否能够解决;2、四个方面:技术、经济、操作可行性3、数据流图四种成分:1、源点/终点2、处理3、数据存储4、数据流需求分析:1、任务:确定系统必须完成哪些工作,对目标系统提出完整、清晰、具体的要求;2、结构化方法就是面向数据流自顶向下逐步求精进行需求分析的方法;3、实体联系图:1、数据对象2、属性3、联系1:1、1:N、M:N总体设计:任务:回答“概括的说,系统应该如何实现”,用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成系统的每个程序结构;系统设计阶段确定系统具体实施方案、结构设计阶段确定软件结构模块独立:内聚和耦合耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统内聚Cohesion:一个模块内各元素结合的紧密程度面向数据流的设计方法:变换流和事务流详细设计:任务:确定应该怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序;过程设计的工具程序流程图、盒图、PAD图、判定表、判定树面向数据结构的设计方法jackson方法:程序复杂程度的定量McCabe方法:1、VG=E-N+2E是流图中边的条数,N是结点数2、VG=P+1P是流图中判定结点的个数3、流图中的区域数等于环形复杂度;编码单元测试:又称模块测试;每个程序模块完成一个相对独立的子功能,所以可以对该模块进行单独的测试;由于每个模块都有清晰定义的功能,所以通常比较容易设计相应的测试方案,以检验每个模块的正确性;集成测试:在单元测试完成后,要考虑将模块集成为系统的过程中可能出现的问题,例如,模块之间的通信和协调问题,所以在单元测试结束之后还要进行集成测试;这个步骤着重测试模块间的接口,子功能的组合是否达到了预期要求的功能,全程数据结构是否有问题等;白盒测试技术逻辑覆盖、基本路经测试白盒测试时将程序看作是一个透明的盒子,也就是说测试人员完全了解程序的内部结构和处理过程;所以测试时按照程序内部的逻辑测试程序、检验程序中的每条通路是否都能按预定的要求正确工作;白盒测试又称为结构测试;语句覆盖就是设计足够的调试用例,使得程序中的每个语句至少执行一次;判定覆盖就是设计足够的测试用例,使得程序中每个判定的取“真”分支和取“假”分支至少都执行一次,判定覆盖又称分支覆盖条件覆盖就是设计足够的测试用例,使得程序判定中的每个条件能获得各种可能的结果;判定/条件覆盖就是设计足够的测试用例,使得判定中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果;条件组合覆盖就是设计足够的测试用例,使得每个判定中的条件的各种可能组合都至少出现一次;基本路经测试:黑盒测试技术等价划分黑盒测试时完全不考虑程序内部的结构和处理过程,只按照规格说明书的规定来检查程序是否符合它的功能要求;黑盒测试是在程序接口进行的测试,又称为功能测试;1、黑盒测试检查的主要方面有:程序的功能是否正确或完善;数据的输入能否正确接收,输出是否正确;是否能保证外部信息如数据文件的完整性等;用黑盒法设计测试用例时,必须用所有可能的输入数据来检查程序是否都能产生正确的输出2、等价类划分等价类的划分在很大程度上依靠的是测试人员的经验,下面给出几条基本原则:1如果输入条件规定了取值范围,则可划分出一个有效的等价类输入值在此范围内和两个无效的等价类输入值小于最小值、输入值大于最大值;2如果输入条件规定了输入数据的个数,则可相应地划分出一个有效的等价类输入数据的个数等于给定的个数要求和两个无效的等价类输入数据的个数少于给定的个数要求、输入数据的个数多于给定的个数要求;3如果输入条件规定了输入数据的一组可能的值,而且程序对这组可能的值做相同的处理,则可将这组可能的值划分为一个有效的等价类,而这些值以外的值划分成无效的等价类;4如果输入条件规定了输入数据的一组可能的值,但是程序对不同的输入值做不同的处理,则每个输入值是一个有效的等价类,此外还有一个无效的等价类所有不允许值的集合;5如果输入条件规定了输入数据必须遵循的规则,则可以划分一个有效的等价类符合规则和若干个无效的等价类从各种角度违反规则;维护改正性维护、适应性维护、完善性维护、预防性维护决定软件可维护性因素可理解性、可测试性、可修改性、可移植性、可重用性面向对象方法学优点:1、与人类习惯的思维方法一致2、稳定性好3、可重用性好4、较易开发大型软件产品5、可维护性好对象模型1、关联2、聚集3、泛化4、依赖和细化贰软件工程软件危机1、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题;熟记2、了解软件危机主要的一些典型表现;P23、出现软件危机的原因:4、消除软件危机的途径:首先,我们要对计算机软件有一个正确的认识;更重要的是,必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严格、各类人员协同配合、共同完成的工程项目;最后,应该开发和使用更好的软件工具;总之,为了解决软件危机,既要有技术措施方法和工具,又要有必要的组织管理措施;软件工程1、软件工程:采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它;熟记2、了解软件工程的本质特征:1、软件工程关注于大型程序的构造2、软件工程的中心课题是控制复杂性3、软件经常变化4、开发软件的效率非常重要5、和谐的合作是开发软件的关键6、软件必须有效地支持它的用户7、在软件工程的领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品3、缺乏应用领域地相关知识,是软件开发项目出现问题的常见原因;4、软件工程的基本原理:1、用分阶段的生命周期计划严格管理2、坚持进行阶段审评3、实行严格的产品控制4、采用现代程序设计技术5、结果应能清楚地审查6、开发小组的人员应该少而精7、承认不断改进软件工程实践的必要性5、方法学范型:在软件生命周期全过程中使用的一整套技术方法的集合;6、软件工程方法学3要素:方法、工具和过程;7、目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学8、传统方法学也成为生命周期方法学或结构化范型;9、面向对象方法学具有的4个要点;P10软件生命周期1、概括地说,软件生命周期由软件定义、软件开发和运行维护也称为软件维护3个时期组成,每个时期又进一步划分成若干个阶段;2、软件定义时期的任务3、软件定义时期通常进一步划分成3个阶段:问题定义、可行性研究、需求分析4、维护时期的主要任务是使软件持久地满足用户的需要;5、软件开发时期通常分成4个阶段:总体设计、详细设计、编码和单元测试、综合测试;前两个阶段又称为系统设计,后两个阶段又称为系统实现;6、软件生命周期每个阶段的基本任务:问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试;软件工程生命周期模型过程模型:瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型;对各种模型要了解小结熟读,对本章系统地了解可行性分析可行性分析的目的:用最小的代价在尽可能短的时间内确定问题是否能够解决;可行性研究的任务研究解法的可行性的三个方面:技术可行性、经济可行性、操作可行性;可行性研究最根本的任务:对以后的行动方针提出建议;可行性研究需要的时间长短取决于工程的规模;可行性研究过程复查系统规模和目标研究目前正在试用的系统导出新系统的高层逻辑模型进一步定义问题导出和评价供选择的解法推荐行动方针草拟开发计划书写文档提交审查系统流程图1、系统流程图:概括地描绘物理系统的工具;2、系统流程图的基本思想:用图形符号以黑盒子形式描绘组系统的每个部件程序、文档、数据库、人工过程等;3、P39符号4、系统流程图的习惯画法:使信息在图中从顶向下或从左向右流动;5、面对复杂的系统时,一个比较好的方法时分层次地描绘这个系统;数据流图数据流图DFD:一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换;数据流图的四种基本符号P41数据存储静止状态和数据流运动都是数据;数据流图的基本要点是描绘“做什么”,而不是考虑“怎么做”;星号是数据流之间的“与”关系;加号+表示“或”关系;⊕号表示只能从中选一个互斥关系;画数据流图的基本目的是利用它作为交流信息的工具;数据字典数据字典应由对下列4类元素的定义组成:数据流、数据流分量即数据元素、数据存储、处理;由数据元素组成数据的方式的三种基本类型:顺序、选择、重复;+可选用以下符号描述由数据元素组成数据的关系:=意思是等价于或定义为、+意思是和即连接两个分量、}意思是或通常用“|”号隔开供选择的分量、{}意思是重复、意思是可选;数据字典最重要的用途是作为分析阶段的工具;成本/效益分析成本/效益分析的目的:从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定;软件开发成本:主要表现为人力消耗;成本估算技术:代码行技术、任务分解技术、自动估计成本技术;货币的时间价值:用利率的形式;假设年利率为i,如果现在存入P元,则n年后的价值:F=P1+i^n衡量一项开发工程的价值:投资回收期;纯收入投资回收率小结三需求分析需求分析是软件定义时期的最后一个阶段;基本任务:准确地回答“系统必须做什么”这个问题;用于需求分析的结构化分析方法必须遵守下述准则:1、必须理解并描述问题的信息域,根据这条准则应该应该建立数据模型;E-R图2、必须定义软件应完成的功能,这条准则要求建立功能模型;数据流图3、必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型;状态图4、必须对描述信息、功能和行为的模型进行分解,用层次的方式展开细节;需求分析的任务对软件系统的综合要求:功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求、将来可能提出的要求;需求分析的任务:确定对系统的综合要求分析系统的数据要求导出系统的逻辑模型修正系统开发计划与用户沟通获取需求的方法访谈、面向数据流自顶向下求精、简易地应用规格说明技术,快速建立软件原型;结构化分析方法就是面向数据流自顶向下求精进行需求分析的方法;快速建立软件原型是最准确、最有效、最强大的需求分析技术;分析建模与规格说明需求分析过程应建立3种模型:数据模型、功能模型、行为模型;数据流图是建立功能模型的基础;状态转换图是行为建模的基础;实体-联系图E-RE-R图中包含着实体即数据对象、关系和属性3种基本成分;数据规范化第一范式:每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构;第二范式:满足第一范式的条件,而且每个非关键字都由整个关键字决定而不是由关键字的一部分来决定;第三范式:符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述即一个非关键字属性值不依赖于另一个非关键字属性值;状态转换图状态转换图简称状态图:通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为;在状态图中定义的状态主要有:初态即初始状态、终态即最终状态和中间状态;在状态图中只能有一个初态,而终态则可以有0至多个;事件就是引起系统做动作或和转换状态的控制信息;在状态图中,初态用一对同心圆内圆为实心圆表示;中间状态用圆角矩形表示;如图:/动作表达式3种标准事件:EntryExitDo;/动作表达式事件说明与守卫条件同时使用时,则当且仅当事件发生且布尔表达式为真时,状态转换才发生;如果只有守卫条件没有事件说明则只要守卫条件为真,状态转换就发生;守卫条件是一个布尔表达式;动作表达式是一个过程表达式,当状态表达式开始时执行该表达式;其他图形层次方框图、warnier图、IPO图输入、处理、输出图的简称验证软件需求从四个方面进行验证:一致性、完整新、现实性、有效性小结五总体设计设计过程总体设计过程通常有两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件的结构;典型的总体设计过程包括下述9个步骤:1、设想宫选择的方案需求分析阶段得出的数据流程图是总体设计的极好的出发点;2、选择合理的方案对每个合理的方案,分析员都应准备下列四份材料:A.系统流程图B.组成系统的物理元素清单C.成本/效益分析D.实现各个系统的进度计划3、推荐最佳方案4、功能分解5、设计软件结构软件结构可以用层次图或结构图来描绘;6、设计数据库7、制定测试计划8、书写文档这个阶段完成的文档有:系统说明、用户手册、测试计划、详细的实现计划、数据库设计结果;9、审查和复查设计原理模块化、抽象、逐步求精、信息隐藏和局部化、模块独立模块是由边界元素限定的相邻程序元素的序列,而且有一个总体标识符代表它;模块是构成程序的基本构件;模块化就是把程序分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求;抽象:把相似的方面集中和概括起来,暂时忽略它们之间的差异,或者说,抽出事物的本质特性而暂时不考虑它们之间的细节;逐步求精是人类解决复杂问题时采用的基本方法,也是许多软件工程技术的基础;定义:为了能集中精力解决主要问题而尽量推迟对问题细节的考虑;信息隐藏原理指出:应该这样设计和确定模块,使得一个模块内包含的信息过程和数据对于不需要这些信息的模块来说,是不能访问的;局部化:把一些关系密切的软件元素物理地放得彼此靠近;模块独立的概念是模块化,抽象,信息隐藏和局部化概念的直接结果;模块独立化重要性的原因:第一,有效地模块化的软件比较容易开发出来;第二,独立的模块化比较容易测试和维护;模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合;耦合是对一个软件结构内不同模块之间互连程度的度量;耦合的强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据;如果两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据,那么这种耦合称为数据耦合;如果传递的信息中有控制信息尽管有时这种控制信息以数据的形式出现,则这种耦合称为控制耦合;数据耦合是低耦合;公共环境耦合、最高程度的耦合式内容耦合;内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展;偶然内聚、逻辑内聚、时间内聚低内聚、中内聚、高内聚的分类;启发规则/软件结构提高模块独立性模块规模应该适中深度、宽度、扇出和扇入都应适当模块的应用域应该在控制域之内力争降低模块接口的复杂程度设计单入口单出口的模块模块功能应该可以预测。
软件工程期末试题(含答案)
一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行和维护。
2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。
3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方案可行性等方面研究。
4.系统流程图是描绘物理系统的传统工具。
它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文件。
6.结构化分析方法是面向_数据流_进行需求分析的方法。
结构化分析方法使用_数据流图DFD_与_数据字典_来描述。
7.继承性是自动地共享类、子类和对象中的方法和数据的机制。
8.软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___测试_。
10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。
二、单项选择题(每小题2分,共20分)1.软件设计中划分模块的一个准则是(C )。
A、低内聚低耦合 B.低内聚高耦合C.高内聚低耦合 D.高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。
A、对象 B.数据流 C.数据结构 D.控制结构3.试判断下列叙述中,哪个(些)是正确的( C )。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.( A )是用户和设计交换最频繁的方法。
A、原型化方法B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )。
软件工程题库
第一章一、名称解释1.软件工程是指导计算机软件开发和维护的工程科学。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的整个时期被称为是软件生命周期二、填空题1.构成一个完整计算机系统的两部分是硬件与(软件)。
2.程序设计时代的生产方式是(个体手工劳动)。
3.软件工程涉及到若干个学科,它是一门(综合性交叉)学科。
4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能(相同)。
5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是(瀑布)模型。
6.喷泉模型是一种以用户需求为动力,以(对象)为驱动的模型。
7.结构化方法是一种面向数据流的开发方法。
由结构化分析、(结构化设计)、结构化程序设计构成。
8.软件工程研究的主要内容是软件开发管理和(软件开发技术)两个方面。
9.软件工具是支持软件开发人员的开发和维护活动而使用的(软件)。
10.一个软件项目的开发中,要采用一种生存周期模型,要按照某种(开发方法),使用相应的工具来进行。
11 .瀑布模型本质上是一种(线性顺序)模型。
12.瀑布模型不适应需求可变的软件开发,只有到开发结束时才能见到(整个软件系统)。
13.增量模型在开发过程中以一系列增量方式开发系统,忽略某阶段的细节,从而尽早产生(工作软件)。
14.增量构造模型在分析和设计阶段按整体方式开发,按增量方式开发的是(编码和测试)阶段。
15.演化提交模型中,项目开发各阶段都是按(增量方式)开发的。
16.软件原型是软件的早期可运行版本,反映最终系统的(重要特性)。
17.用原型过程来代替需求分析,使需求说明完整、一致、准确,该原型是(探索型)原型。
18.用原型过程来代替全部开发阶段,这种快速原型是(演化型)原型。
19.若原型不满足需求说明,则根据明确的要求修改(原型)三、选择题1.软件是一种( )产品。
软件工程填空题
目的模型。 12. 纯收入是指在整个生存周期之内的___累计经济效益_____与投资之
差。 13. 数据项是指_不可再分解的__数据单元。 14. 软件概要设计的主要任务就是_软件结构的设计__。 15. 结构化程序设计方法是使用__基本控制结构_构造程序。 16. 软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个
明书 87. ___就是使累计的经济效益等于最初的投资费用所需的时间。项目
的是指___在整个生存周期之内的累计经济效益(折合成现在值)与投 资之差。答案:投资回收期纯收入 88. 硬件与___一起构成完整的计算机系统。答案:软件 89. 常借用硬件可靠性的定量度量方法来度量软件的可靠性与可用性。 常用指标有___与___。答案:平均失效等待时间MTTF平均失效间 隔时间MTBF 90. IDEF0方法中,将系统功能称为___,将表示系统功能的图形称为 ___。答案:活动活动图形 91. 测试用例应由输入数据和预期的___两部分组成。这样便于对照检 查。答案:输出数据 92. 可以从三方面研究可行性,即___可行性、___可行性、___可行 性。答案:技术经济社会 93. IPO图描述分层图中一个模块的输入、输出___和内容。答案:处理 94. 软件是一种___产品,它与物质产品有很大区别。答案:逻辑 95. 瀑布模型是将___各活动规定为___依联接的若干阶段的模型。答 案:生存周期线性顺序 96. 项目开发计划的主要内容有:项目概述、___、___、交付期限。答 案:实施计划 人员组织及分工 97. 软件工程是一门___学科,计算机科学着重于___,软件工程着重于 ___。答案:综合性交叉理论和原理建造软件系统开发过程管理包 括___和___等。答案:项目计划和控制任务管理纯收入是软件生存
软件工程试题-填空选择
一、填空题()1.软件生存周期一般可以划分为。
2.基于软件的功能划分,软件可以划分成、支撑软件、三种。
3.可行性研究,应从技术可行性、、操作可行性、法律可行性和社会效益可行性等方面研究。
4.系统流程图是描绘的传统工具。
它的基本思想是用图形符号以描绘系统里面的每个部件5.数据流图的基本四种成分:数据输入的源点和数据输出终点、、和。
6.结构化分析方法是面向进行需求分析的方法。
结构化分析方法使用与来描述。
7.用户界面的是用户界面设计最重要的也是最基本的目标。
8.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的____________,以数据结构为基础构造模块的____________,____________。
9.__________和共同构成系统的逻辑模型。
10.软件测试的方法有__________和__________(即黑盒法)。
11.单元测试一般以________________测试为主,_________测试为辅。
12.软件危机是指在所遇到的一系列严重问题。
13.面向对象方法=对象+类+ + 。
14.传统的软件开发方法学也称为。
15.在需求分析阶段,描绘系统逻辑模型的方法主要是用和。
16.程序的三种基本控制结构是、、。
17.模块独立性可以由、两个定性标准度量。
18.阶段在软件生命周期中工作量最大。
19.用面向对象方法开发软件,通常需要建立三种形式的模型,它们分别是、、。
20.黑盒测试又称为,白盒测试也称。
21.目前使用最广泛的软件工程学方法分别是传统方法学和。
22.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:FORTRAN语言、、C语言和PL/1语言。
23.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的技术。
24.成本估计方法主要有、和三种类型。
25.机器语言、汇编语言:依赖于机器,面向。
软件工程基础考试题目和答案
软件工程基础考试题目和答案一、选择题(每题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. 请简要介绍敏捷开发方法的主要特点和实践原则。
答案:敏捷开发方法主要包括个体和互动、工作软件、客户合作、响应变化等价值观。
实践原则包括短迭代周期、持续反馈、自我组织和协作等。
敏捷开发方法强调快速响应变化,提高软件质量和开发效率。
软件工程填空题20分
1.结构化分析方法的分析策略是___自顶向下逐步求精_______。
2.衡量模块独立性的两个定性标准是_耦合性与内聚性________。
3.软件集成测试的方法主要有两种,它们是___渐增式与非渐增式测试_______。
4.可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目_是否值得开发_。
5.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是__功能需求_。
6.软件生存周期中时间最长、花费的精力和费用最多的一个阶段是__维护_____阶段。
7. 计算机辅助软件工程这一术语的英文缩写为_CASE_______。
8.McCall提出的软件质量模型包括______11_____个软件质量特性。
9.软件结构是以____模块_______为基础而组成的一种控制层次结构。
10.软件概要设计的主要任务就是__软件结构的设计______。
11.结构化程序设计方法是使用___三种基本控制结构(条件\控制\循环)____构造程序。
12.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和__数据存储对象_1.增量模型适合于___软件需求_____不明确、设计方案有一定风险的软件项目。
2.结构化分析方法的分析策略是____自顶向下逐步求精______。
3.可行性研究实质上是要在较高层次上以较抽象的方式进行_____需求分析和设计______的过程。
4.衡量模块独立性的两个定性标准是____耦合性和内聚性_____。
5.Jackson方法是一种面向_____数据结构_________的设计方法。
6.软件集成测试的方法主要有两种,它们是____渐增式和非渐增式测试______。
7.维护阶段是软件生存周期中花费精力和费用_____最多________的阶段。
8.继承性是子类自动共享其父类的________数据结构和方法______机制。
9.在面向对象方法中,人们常用状态图描述类中对象的_______动态行为____。
软件工程填空题(18套试题及答案)
《软件工程》填空题二、填空题(请把答案写在相应的横线上,每小题1.5分)1、软件是数据、计算机程序及其说明程序的各种文档。
2、概要设计主要是把各项功能需求转换成系统的体系结构。
3、面向对象开发方法包括OOA 、OOD 、OOP 三部分。
4、结构化设计中以数据流图为基础的两种具体分析设计方法是变换分析、事物分析设计。
5、在单元测试时,需要为被测模块设计驱动模块和桩模块。
6、CMM把软件过程从无序到有序的进化分成5个阶段,排序而形成5个逐层提高的等级,分别是初始级、可重复级、已定义级、已管理级和可优化级。
7.子类自动共享父类的属性和操作的机制称为继承。
8. 软件工程管理的具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。
9、可行性研究的三个方面是技术可行性、社会可行性和__经济可行性__。
10、在软件概要设计阶段,建立软件结构后,还应为每个模块写一份处理说明和_接口说明__。
11、在画分层的DFD时,父图与子图的输入输出数据流要__平衡__。
12、在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据结构_进行设计。
13. 对象的抽象是___类___。
14. 基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。
因此,基线可以作为项目的一个___检查点__。
15. 软件工程包括软件开发技术和__软件工程管理__两大部分内容。
16、开发过程管理包括项目计划、控制和___任务管理__等。
17、CASE是多年来在软件开发管理、软件开发方法、软件开发环境和__软件工具__等方面研究和发展的产物。
18、数据字典中有四类条目,分别是___数据流、数据项、数据存储、基本加工。
19、用于描述基本加工的小说明的三种描述工具是结构化语言、判定表、判定树_。
20、子类只继承一个父类的属性和操作,这称为__单重继承__。
21、McCabe复杂性度量又称__环路度量_。
22、喷泉模型是一种以用户需求为动力,以__对象__为驱动的模型。
(完整版)软件工程填空题汇总
_软件__是计算机程序及其说明程序的各种文档。
_文档____是有关计算机程序功能、设计、编制、使用的文字或图形资料。
2.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。
通常,软件生存周期包括问题定义、可行性研究__需求分析__总体设计、详细设计、编码测试____软件维护活动,可以将这些活动以适当方式分配到不同阶段去完成。
3.软件详细设计阶段采用的工具有__图、表、过程设计语言4.行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
5.模块的耦合性分为四种类型:_据耦合控制公共内容6.内聚性有七种类型,最强的是_功能___,最弱的是偶然____。
7.结构图的深度指结构图_控制的层数_____,结构图宽度指__同一层个数______。
8.集成测试采用的具体方法有--_渐增式方法、非渐增式方法___、______9.对于变换型的数据流图,按照软件设计思想,要将一个大型复杂的软件进行分解,要确定数据流图的变换中心、逻辑输入、逻辑输出。
10.软件编码阶段要善于积累编程的经验,使得编出的程序清晰易懂____,易于_测试与维护,从而提高软件质量。
11 Jackson方法是一种__面向数据结构__的开发方法。
12 M=P+K(C_D) 是__维护工作量模型 P_生产性工作量 C_复杂度 D_熟悉度 K_常数13效益分有形效益和无形效益两种。
有形效益可用纯收入、投资回收期回收率__等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。
14.需求分析的基本任务是要准确回答系统必须“做什么”的问题。
15.数据流图有四种基本成分:_.源、终点,处理,存储,数据流16.通过功能分解可以完成数据流图的细化。
17.模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。
每个模块完成一个特定的子功能_,所有的模块按某种方法_组装_起来。
软件工程考试题及答案
软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的主要目标是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 软件工程的三要素包括()。
A. 方法、工具和过程B. 方法、工具和人员C. 方法、过程和人员D. 工具、过程和人员答案:C3. 软件需求分析阶段的主要任务是()。
A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:A4. 软件设计阶段的主要任务是()。
A. 制定软件开发计划B. 确定软件的体系结构C. 编写软件详细设计文档D. 进行软件测试答案:B5. 软件测试的目的是()。
A. 证明软件是正确的B. 发现软件中的错误C. 证明软件是无错误的D. 证明软件是可维护的答案:B6. 软件维护不包括以下哪项活动()。
A. 改正性维护B. 适应性维护C. 完善性维护D. 软件设计答案:D7. 软件项目管理的主要任务不包括()。
A. 进度管理B. 质量管理C. 风险管理D. 软件编码答案:D8. 面向对象方法中,对象的基本特性不包括()。
A. 抽象B. 封装C. 继承D. 多态答案:D9. UML(统一建模语言)是一种()。
A. 程序设计语言B. 数据库查询语言C. 建模语言D. 脚本语言答案:C10. 在软件开发过程中,需求变更是不可避免的,以下哪项不是需求变更的原因()。
A. 客户的需求不明确B. 项目范围的扩大C. 技术实现的困难D. 软件已经完成答案:D二、多项选择题(每题3分,共15分)11. 软件工程的基本原理包括()。
A. 抽象B. 模块化C. 逐步求精D. 迭代开发答案:ABC12. 软件需求分析阶段的输出包括()。
A. 需求规格说明书B. 用户手册C. 系统架构图D. 测试计划答案:A13. 软件设计阶段的主要文档包括()。
A. 架构设计文档B. 详细设计文档C. 用户手册D. 测试计划答案:AB14. 软件测试的类型包括()。
软件工程复习试题及答案
一、填空题(在下划线上填写正确的答案,每题2分,共20分)1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。
2.数据流图和数据字典共同构成了系统的逻辑模型。
3.盒图也称为N-S图。
这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
4.软件有效性,5.IPO输出(Output)。
6.数据流图有四种基本成分:源、终点,处理,存储,数据流。
7.数据字典有以下四种条目:数据流、数据项、数据存储、基本加工,其中数据项是组成数据流和数据存储的最小元素。
8.软件工程中的结构化分析SA是一种面向数据流的分析方法。
9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程. 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。
2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。
3.软件测试的步骤:单元、集成、系统、验收。
4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点.5.IPO图由输入、处理和输出三个框组成。
这个图的特点是能够直观的显示三者之间的关系。
6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。
7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。
8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。
9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。
10.常用的测试方法有黑盒测试和白盒测试。
1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益可行性等方面研究.2.构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环结构。
软件工程习题及答案-填空题
1.传统的瀑布模型把软件生存周期划分成问题定义、、、、、、和维护共8个阶段。
(可行性研究,需求分析,概要设计,详细设计,编码,测试)2.软件= + + 。
(程序,数据,文档)3.画数据流图的正确做法是:从系统的开始,逐层地对系统进行。
每一次,系统的加工数量就增加一些,每个加工的功能也就更具体一些。
继而重复这种分解,直到所有的加工都足够简单,不必再分解为止。
(模型,分解,分解)4.结构化分析方法是一种面向需求分析方法(数据流)5.最低一层的包含了系统的全部数据和加工,从哪里开始分析呢?W.Davis认为,一般应该从数据的开始。
因为的数据代表系统的输出,其要求是明确的。
由这里天始,沿着一步步向数据,较易看清楚数据流中每一个数据项的来龙去脉,有利于减少错误和遗漏。
(DFD图,终点,终点,DFD图,数据源点回溯)6.通过需求分析,开发人员已经基本上理解了用户的要求,确定了目标系统的功能,定义了系统的数据,描述了处理这些数据的基本策略。
将这些共同的理解进行整理,最后形成文档。
(需求规格说明书)7.SA方法利用图形等半形式化的描述方式表达需求,简明易懂,用它们形成需求说明书中的主要部分。
这些描述工具是、、、、。
(数据流图,数据字典,描述加工逻辑的结构化语言,判定表,判定树)8.需求分析的基本任务是要准确地定义,为了满足用户需要,回答系统必须的问题(新系统的目标、做什么)9.在软件需求分析阶段,已经搞清楚了软件的的问题,(做并把这些需求通过描述出来,这也是目标系统的。
什么、需求规格说明书、逻辑模型)10.面向对象的三种分析模型是:模型、模型和、模型。
(对象,行为,功能)11.和是模块独立性的两个定性标准,将软件系统划分成模块时,尽量做到内聚、耦合,提高模块的,为设计高质量的软件奠定基础。
(内聚性、耦合性、高、低、独立性)12.是最高程度的耦合。
这种耦合出现在当一个模块直接使用另一个模块的,或通过转入另一个模块内部。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.可行性研究从技术可行性、经济可行性、___三方面进行分析。
答案:社会可行性2..IDEF0方法用来描述系统的功能活动及其联系,建立系统的___模型。
答案:功能3.结构化方法总的指导思想是___逐层分解。
答案:自顶向下4.在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称为___。
答案:偶然内聚5.软件部件的内部实现与外部可访问性分离,这是指软件的___。
答案:封装6.用来模拟被测模块的上级调用模块的模块称为___。
答案:驱动模块7.软件复杂性度量的参数很多,主要有规模、___、结构、智能度。
答案:难度8.软件开发环境中最主要的组成部分是___。
答案:软件工具9.软件工程管理的具体内容包括对开发人员、组织机构、用户和___等方面的管理。
答案:文档资料10.增量模型根据增量方式和形式的不同,分为___和原型模型。
答案:渐增模型浙江省2002年1月11.瀑布模型是以文档为驱动、适合于__软件需求明确______的软件项目的模型。
12.纯收入是指在整个生存周期之内的___累计经济效益_____与投资之差。
13.数据项是指_不可再分解的__数据单元。
14.软件概要设计的主要任务就是_软件结构的设计__。
15.结构化程序设计方法是使用__基本控制结构_构造程序。
16.软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个_自底向上_集成的过程。
17.软件维护的内容包括校正性维持,适应性维护、__完善性维护__和预防性维护。
18.CASE工具的平台集成指工具运行在相同的__操作系统__平台上。
19.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和_数据存储对象__。
20.将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,得出开发项目的总成本。
这种成本估算方法称为__差别估算__。
2007年10月21.组成软件的两个部分是:___。
答案:程序和文档22.项目开发计划的主要内容包括项目概述、___、人员组织及分工、交付期限。
答案:实施计划23.为了克服软件危机,1968年北大西洋公约组织的工作会议上首先提出了___的概念。
答案:软件工程24.变换型数据流图是由输入、___和输出三部分组成的答案:变换(或处理)25.Jackson方法是一种面向___的开发方法。
答案:数据结构26.结构化语言是介于___和形式语言之间的一种半形式语言。
答案:自然语言27.软件产品在交付使用之前一般要经过___、集成测试、确认测试和系统测试答案:单元测试28.不采用软件工程的方法开发软件,软件只有程序而无文档,从而导致维护工作困难,这是一种___的维护。
答案:非结构化29.子类自动共享父类数据结构和方法的机制是___,这是类之间的一种关系答案:继承性30.软件版本控制是属于___的活动内容。
答案:软件配置管理2006年10月31.软件工具通常由工具、工具接口和___三部分构成。
答案:工具用户接口32.软件工程管理中的控制包括进度控制、人员控制、经费控制和___。
答案:质量控制33.软件开发的原型模型可以分为三类,它们是:探索型原型、实验型原型和___。
答案:演化型原型34.软件复杂性主要表现在程序的复杂性。
程序的复杂性主要指___程序的复杂性。
答案:模块内35.白盒法中,___首先以详细设计或源程序为基础,导出控制流程图的拓扑结构(程序图)。
答案:基本路径测试36.在软件的详细设计中,根据控制流程从上到下,从左到右展开的设计工具是___。
答案:PAD图37.一个模块通过传递开关、标志对某一模块的多种功能进行选择,则这两个模块之间的耦合方式是___。
答案:控制耦合38.结构化分析是面向___进行需求分析的方法。
答案:数据流39.有效的模块化是通过定义一组___的模块来实现信息隐蔽的,这些模块彼此之间仅交换那些为了完成系统功能所必须的信息。
答案:相互独立40.在软件生产中,___的作用是规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。
答案:软件工程过程2005年10月41.软件项目计划是___阶段的结果产品。
答案:可行性研究42.McCall质量度量模型高层特性包含面向软件产品操作、产品修改和___三个方面的11个特性。
答案:产品适应43.在面向对象方法中,___是子类共享父类数据结构和方法的机制,体现了类之间的一种关系。
答案:继承性44.演化提交模型是在___的基础上,项目开发的各阶段都进行增量开发。
答案:瀑布模型45.软件编码是将___阶段产生的算法,用某种程序设计语言编写成程序的过程。
答案:详细设计46.IDEF0用来描述系统的功能活动及其联系,建立系统的___模型。
答案:功能47.两个模块之间把简单的数值作为参数传递,这种耦合方式为___。
答案:数据耦合48.把在几个模块中都出现的一些毫无联系的处理序列抽出来组成一个新的模块,那么这个模块的内聚性是___。
答案:偶然内聚49.成本效益分析的目的是从___角度评价开发一个新的软件项目是否可行。
答案:经济角度50.软件工程的主要思想是在软件生产中用___代替传统手工方法。
答案:工程化方法2004年10月51.基于方法的软件开发环境可分为两大类:支持软件开发周期特定阶段的管理和___。
答案:开发过程52.开发软件工具的主要目的是为了和___改善软件的质量。
答案:提高软件生产率53.动态模型把脚本表示成事件跟踪表,其中对象为___。
答案:表中的列54.提高程序效率的根本途径在于选择良好的设计方法、良好的___、而不是靠编程时对程序语句的调整。
答案:数据结构与算法55.在许多软件项目中,输入数据和输出数据之间很少或没有结构上的对应关系,Jackson把这种情况称为___。
答案:结构冲突56.PDL是一种用于描述模块___和处理细节的语言。
答案:算法设计57.如果一个模块被n个模块调用,其中直接的上级模块的个数是m个(m<=n)那么该模块的扇入数是个___。
答案:m58.结构化设计以___为基础,按一定的步骤映射成软件结构。
答案:数据流59.软件需求分析方法必须能够表达和理解问题的___和功能域。
答案:数据域60.软件生存周期模型是描述软件开发过程中___的模型。
答案:各种活动如何执行2003年10 月61.第二代CASE工具的特点是支持图形表示的___如数据流图与结构图。
答案:结构化方法62.在面向对象方法中,对象实现了数据和操作的结合,使数据和操作___于对象的统一体中。
答案:封装63.面向对象分析的目的是对客观世界的系统进行___。
答案:建模64.软件维护工作的生产性活动包括分析评价、修改设计和___等。
答案:编写程序代码65.为了使应用软件适应计算机环境的变化而___的过程称为适应性维护。
答案:修改软件66.一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是___。
答案:顺序内聚67.基于IDEF0图的设计是以系统的功能模型和___为基础设计系统的软件结构。
答案:信息结构68.软件结构图的宽度是指一层中___的模块个数。
答案:最大69.投资回收期就是使累计的经济效益等于___所需的时间。
答案:最初的投资费用70.软件生存周期是指一个软件从提出开发要求开始直到___为止的整个时期。
答案:该软件报废71.可行性研究的目的是用___的代价,在尽可能___的时间内,确定该项目是否能够___。
最小;短;开发72.在算法描述工具中,PAD图可自动生成程序。
由机器自动通过___生成相应的源代码,大大提高了___。
答案:走树的办法软件的生产率73.效益分析有___效益和___效益两种。
答案:有形无形74.系统流程图是描述___的传统工具,用图形符号表示系统中各个___,表达了系统中各种元素之间的___情况。
答案:物理模型元素信息流动75.在类层次中,子类只继承一个父类的数据结构和方法,则称为___。
子类继承了多个父类的数据结构和方法,则称为___。
答案:单重继承多重继承76.由于数据流是流动中的数据,所以必须有___。
除了与___之间的数据流不用命名外,数据流应该用名词或名词短语命名。
答案:流向数据存储77.不同对象的同一属性可以具有相同或不同的___。
答案:属性值78.McCabe质量度量模型,针对面向软件产品的运行、___、___。
答案:修正转移79.若年利率为i,不计复利,P元在n年后的价值F=___。
答案:P×(1+n×i)80.Lisp是一种___语言,Prolog是一种___语言。
答案:函数型逻辑型81.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是___。
答案:功能需求82.详细描述处理过程常用三种描述工具:图形、表格和___。
答案:语言83.软件开发中的原型是软件的一个___,它反映了最终系统的___。
答案:早期可运行的版本,重要特性84.任何程序都可由顺序、选择、___三种基本控制结构构造。
答案:重复85.两个模块都使用同一张表,这种耦合称为___。
答案:公共耦合86.需求分析阶段产生的最重要的文档之一是___。
答案:需求规格说明书87.___就是使累计的经济效益等于最初的投资费用所需的时间。
项目的是指___在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。
答案:投资回收期纯收入88.硬件与___一起构成完整的计算机系统。
答案:软件89.常借用硬件可靠性的定量度量方法来度量软件的可靠性与可用性。
常用指标有___与___。
答案:平均失效等待时间MTTF平均失效间隔时间MTBF90.IDEF0方法中,将系统功能称为___,将表示系统功能的图形称为___。
答案:活动活动图形91.测试用例应由输入数据和预期的___两部分组成。
这样便于对照检查。
答案:输出数据92.可以从三方面研究可行性,即___可行性、___可行性、___可行性。
答案:技术经济社会93.IPO图描述分层图中一个模块的输入、输出___和内容。
答案:处理94.软件是一种___产品,它与物质产品有很大区别。
答案:逻辑95.瀑布模型是将___各活动规定为___依联接的若干阶段的模型。
答案:生存周期线性顺序96.项目开发计划的主要内容有:项目概述、___、___、交付期限。
答案:实施计划人员组织及分工97.软件工程是一门___学科,计算机科学着重于___,软件工程着重于___。
答案:综合性交叉理论和原理建造软件系统开发过程管理包括___和___等。
答案:项目计划和控制任务管理纯收入是软件生存周期内___与___之差。
答案:累计经济效益投资98.为了确保每个开发过程的质量,防止把软件差错传递到下一个过程,必须进行质量检验。