2022年软件系统开发技术答案- .pdf
《2022年软件系统开发技术答案- .pdf》由会员分享,可在线阅读,更多相关《2022年软件系统开发技术答案- .pdf(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 软件系统开发技术试题(一)一、单项选择题(本大题共10 小题,每小题1 分,共 10 分)1. 设计软件结构一般不确定 ( D ) A.模块之间的接口B.模块间的调用关系C.模块的功能D.模块内的局部数据2. 软件结构化设计中,好的软件结构应该力求做到( B ) A.顶层扇出较少,中间扇出较高,底层模块低扇入B.顶层扇出较高,中间扇出较少,底层模块高扇入C.顶层扇入较少,中间扇出较高,底层模块高扇入D.顶层扇入较少,中间扇入较高,底层模块低扇入3. 两个模块都使用同一张数据表,模块间的这种耦合称为( A ) A.公共耦合B.内容耦合C.数据耦合D.控制耦合4. 划分模块时,下列说法正确的是
2、( A ) A.作用范围应在其控制范围之内B.控制范围应在其作用范围之内C.作用范围与控制范围互不包含D.作用范围与控制范围不受限制5. 重用率高的模块在软件结构图中的特征是( B ) A.扇出数大B.扇入数大C.扇出数小D.内聚性高6. 面向对象建模得到的三个模型,其中核心的模型是( A ) A.对象模型B.功能模型C.逻辑模型D.动态模型7. 从结构化的瀑布模型看,在软件生存周期的几个阶段中,对软件的影响最大是( C ) A.详细设计阶段B.概要设计阶段C.需求分析阶段D.测试和运行阶段8对 UML的叙述不正确的是( D )AUML统一了 Booch 方法、 OMT 方法、 OOSE 方法
3、的表示方法。BUML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。CUML融入了软件工程领域的新思想、新方法和新技术。DUML仅限于支持面向对象的分析与设计,不支持其它的软件开发过程。9以下哪个软件生存周期模型是一种风险驱动的模型(C )A瀑布模型B增量模型C螺旋模型D喷泉模型10以下哪一项对模块耦合性没有影响(D )A模块间接口的复杂程度B调用模块的方式C通过接口的信息D模块内部各个元素彼此之间的紧密结合程度二、填空题(本大题共10 小题,每空2 分,共 20 分)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师
4、精心整理 - - - - - - - 第 1 页,共 18 页 - - - - - - - - - 2 1数据流图描绘数据在系统中_流动和处理 _的过程。 P40 2为了便于对照检查,测试用例应由输入数据和预期的_输出结果(输出数据)_两部分组成。 P162 3面向对象分析的目的是对_目标系统 _进行建模。4. 结构化方法总的指导思想是_自顶向下 _逐层分解。5. 在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称为_偶然内聚 _。6. 用来模拟被测模块的上级调用模块的模块称为_驱动模块 _ 7一个模块的作用域指受该模块内一个_判定 _影响的所有模块的集合
5、。8. 在用况图中,关联是参与者和用况(USE CASE )之间的唯一关系。9. RUP 的突出特点是一种以用况(Use Case)为驱动的、以体系结构为中心的、迭代增量式开发。10. 在 RUP中,规定了四个开发阶段:初始阶段、精化阶段、构造阶段和移交阶段。三、名词解释题(本大题共6 小题,每小题3 分,共 18 分)1软件生存周期模型答:从概念上来讲,软件生存周期模型是一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,覆盖了从该系统的需求定义到系统的使用终止。从应用的角度来说,软件生存周期模型为组织软件开发活动提供了有意义的指导。2. 系统模型答:简单地说,模型是任一抽象,其中
6、包括所有的基本能力、特性或一些方面,而没有任何冗余的细节。进一步地说,模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述,给出系统内个模型元素以及它们之间的语义关系。3白盒测试法答:该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。白盒法也不可能进行穷举测试。4信息隐蔽答:信息隐蔽是指在每个模块中所包含的信息(包括具有特定语义的数据和处理过程)不允许其他不需要这些信息的模块访问。5. 测试用例答:为
7、了发现程序中的故障而专门设计的一组或多组测试数据。6. 类答:类是一组具有相同属性、操作、关系和语义的对象的描述。四、简答题(本大题共5 小题,每小题6分,共 30 分)1. 简述演化模型以及可适应的情况,为什么?答:简述演化模型如图所示:演化模型主要是针对事先不能完整定义需求的软件开发。在用户提出待开发系统的核心需求的基础上,软件开发人员按照这一需求,首先开发一个核心系统,并投入运行,以便用户能够有效地提出反馈,接名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 18 页
8、 - - - - - - - - - 3 着,软件开发人员根据用户的反馈,实施开发的迭代过程。2. 结构化分析方法为了表达系统模型,给出了几个基本概念?它们是如何表示的?答:结构化分析方法给出了5 个术语:数据流:加工,数据存储、数据源、数据潭,数据流是数据的流动,数据流表示为加工是对数据进行变换的单元,即它接受输入的数据,对其进行处理,并产生输出。数据存储是数据的静态结构。数据源是数据流的起点;数据潭是数据流的归宿地。数据源和数据潭是系统之外的实体,可以是人、物或其他软件系统。表示。3. 简述衡量模块独立性的两个标准及其含义。答:衡量模块的独立性的标准是两个定性的度量标准:耦合性和内聚性。(
9、1) 耦合性。也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。(2) 内聚性。又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素( 语句之间、程序段之间) 的联系越紧密,则它的内聚性就越高。耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。4. 说明用况之间有哪几种关系,说明每种关系的含义。答:用况之间可以具有三种关系,
10、即泛化、扩展和包含。泛化:泛化是用况之间的一般/ 特殊关系。 USE CASE A到 USE CASE B的泛化,指出A是 B的特殊情况。扩展:记为extend ,USE CASE A 到 USE CASE B 的一个扩展关系,指出了USE CASE B的一个实例可以由 A说明的行为予以扩展( 根据该扩展所说明的特定条件) ,并依据该扩展点定义的位置,A 说明的行为被插入到B中。包含:记为include ,USE CASE A 到 USE CASE B 的一个包含,指出A的一个实例将包含B说明的行为,即这一行为将包含在A定义的那部分中。5. 结构化设计中总体设计和详细设计的目标和任务是什么?答
11、:结构化设计分为总体设计和详细设计。总体设计的目标是:建立系统的模块结构,即系统实现所需要的软件模块系统中可标识的软件成分,以及这些模块之间的调用关系。总体设计的具体任务是:将DFD转化为 MSD 详细设计的目标是将总体设计阶段所产生的系统高层结构,映射为以这些术语所表达的低层结构,也是系统的最终结构。详细设计的主要任务是:给出软件模块结构中各个模块的内部过程描述,也就是模块内部的算法设计。五、应用题(本大题共2 小题,第1 小题 10 分,第 2 小题 12 分,共 22 分)1根据下列变换型的数据流图,设计出初始软件结构图。名师资料总结 - - -精品资料欢迎下载 - - - - - -
12、- - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 18 页 - - - - - - - - - 4 答:2下列是某程序的N-S 图(1)请将其转换成PAD图(2)请将其转换成伪码表示。答:(1)PAD图主模块get f5 get f3 A get f4 get f2 B C 由 f5 变为 f9 D E F put f9 Put f10 G get f1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 18 页 -
13、- - - - - - - - 5 (2)伪码表示:begin if L1 then Begin S1; while L2 do begin S2; if L3 then S3 else S4; end end else S5; end; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 18 页 - - - - - - - - - 6 软件系统开发技术试题(二)一、单项选择题(本大题共10 小题,每小题1 分,共 10 分)1以下哪个软件生存周期模型是一种风险驱动的模型(
14、C )A瀑布模型B增量模型C螺旋模型D喷泉模型2结构化分析建立功能模型的工具是(B )ADFD B判定树 / 判定表CDD D结构化语言3模块中所有成分结合起来完成一项任务,该模块的内聚性是(A )A功能内聚B顺序内聚C通信内聚D逻辑内聚4以下哪一项对模块耦合性没有影响(D )A模块间接口的复杂程度B调用模块的方式C通过接口的信息D模块内部各个元素彼此之间的紧密结合程度5检查软件产品是否符合需求定义的过程称为(A )A确认测试B集成测试C系统测试D单元测试6下面关于详细设计的叙述中,错误的是(B )A程序流程图可以描述结构化程序B程序流程图不能描述结构化程序CNS图描述的程序一定是结构化的D
15、PAD图描述的程序一定是结构化的7集成测试是为了发现(A )A接口错误B编码错误C性能、质量不合要求D功能错误8结构化程序设计,主要强调的是(C )A程序的执行效率B模块的内聚C程序的可理解性D模块的耦合9下面关于文档的叙述,错误的是(A )A文档是仅用于说明使用软件的操作命令,不包括软件设计和实现细节B文档是软件产品的一部分,没有文档的软件就不成为软件C高质量文档对于转让、变更、修改、扩充和使用有重要的意义D软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量10面向对象开发方法中,将在面向对象技术领域内占主导地位的标准建模语言是(C )ABooch 方法B Coad方法CUML语言
16、D OMT 方法二、填空题(本大题共10 小题,每小题2 分,共 20 分)1为了克服软件危机,1968 年北大西洋公约组织的工作会议上首先提出了_软件工程 _的概念。2变换型数据流图是由输入、_变换(或处理)_、数据加工 (中心变换 )_和输出三部分组成的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 18 页 - - - - - - - - - 7 3软件产品在交付使用之前一般要经过_单元测试 _、集成测试、确认测试和系统测试。4子类自动共享父类数据结构和方法的机制
17、是_继承性 _,这是类之间的一种关系。5GJMyers 提出:软件测试是为了发现_程序错误 _而执行程序的过程。6. 状态图反映了状态与_事件与状态 _的关系。7. 两个或两个以上的模块共同引用一个全局数据项,这种耦合被称为公共耦合。8. 用况之间可以具有三种关系,即泛化、扩展和包含。泛化是用况之间的一般/ 特殊关系。9. RUP 的突出特点是一种以用况(Use Case)为驱动的、以体系结构为中心的、迭代增量式开发。10. 在 RUP中,规定了四个开发阶段:初始阶段、精化阶段、构造阶段和移交阶段。三、名词解释题(本大题6 小题,每小题3 分,共 18 分)1. 软件工程答:软件工程定义为:软
18、件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科。2. 软件生存周期答:软件生存周期是软件产品或系统的一系列相关活动的全周期。从形成概念开始,历经开发、 交付使用、在使用中不断修订和演化,直到最后被淘汰,让位于新的软件产品”。3. 用况答:用况 (use case)是对一组动作序列的描述,系统执行这些动作应产生对特定的参与者有值的、可观察的结果。4. 软件需求分析:答:就软件需求分析而言, 即为 : 系统化地使用问题域术语, 给出该问题的模型5. 模块化:答:把一个待开发的软件分解成若干简单的、具有高内聚低耦合的模块,
19、这一过程称为模块化。6. 类的操作答:操作是服务的一个实现,由该类的任意对象为其行为所要求的。四、简答题(本大题共5 小题,每小题6分,共 30 分)1. 简述瀑布模型以及可适应的情况,为什么?答:瀑布模型如图所示:(1)软件生存周期分为若干规定阶段并规定了各开发阶段的活动,项目的开发依次经过:需求、设计、编码和单元测试、集成以及维护这一基本路径。 ( )在每一阶段提交以下产品:软件需求规约、设计文档、实际代码、 测试用例、 最终产品等。 工作产品 ( 又称可提交的产品)流经“正向”开发的基本步骤路径。( ) “反向”步骤流表示对前一个可提交产品的重复变更( 又称为“返工” ) 。瀑布模型可适
20、应的情况在开发中,向下、渐进的路径占支配地位。也就是说,需求已被很好地理解;过程设计人员也很清楚:开发组织非常熟悉为实现这一模型所需要的过程(或经过培训后,熟悉什么时候来支持这一项目,以实现这一模型所需要的过程)。2数据字典的作用是什么,它有哪些条目?答:数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和和数据源点/ 终点。作用:数据流程图描述了系统的逻辑结构,其中的四个基本图形元素的含义无法在数据流程图中详细说明,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页
21、,共 18 页 - - - - - - - - - 8 因此数据流程图需要与其他工具配合使用,数据字典就是这样的工具之一。包括的条目:数据流词条,数据元素词条,数据存储词条,数据加工处理词条,数据源点及终点词条3. 简述结构化设计中总体设计的任务,说明实现该任务的基本步骤。答:总体设计的具体任务是:将DFD转化为 MSD 基本步骤(1) 将系统的DFD图转化为初始的模块结构图MSD 变换型数据流图变换设计事务型数据流图事务设计(2) 基于“高内聚低耦合”这一软件设计原理,通过模块化,将初始的模块结构图转化为最终的、可供详细设计使用的模块结构图4简述结构化程序设计方法的基本要点。答: (1) 采
22、用自顶向下,逐步求精的程序设计方法 (2) 使用三种基本控制结构构造程序,分别是顺序,选择和循环 (3) 采用主程序员组的组织形式 (4)采用单入口单出口的模块形式。5. 简述面向对象中的继承性和多态性。答:继承性。继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。继承性是面向对象程序设计语言不同于其他语言的最主要的特点,是其他语言所没有的。在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。在类层次中,子类继承了多个父类的数据结构和
23、方法,则称为多重继承o 多态性 ( 多形性 ) 。多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。多态性允许每个对象以适合自身的方式去响应共同的消息。这样就增强了操作的透明性、可理解性和可维护性。用户不必为相同的功能操作但作用于不同类型的对象而费心去识别。五、应用题(本大题共2 小题,第1 小题 10 分,第 2 小题 12 分,共 22 分)1. 一个软件公司有许多开发部门,每个部门由部门名字唯一确定。每个开发部门开发多个软件产品。开发部门有许多员工,分为经理和开发人员。每个开发人员可参加多个开发项目,每
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年软件系统开发技术答案- 2022 软件 系统 开发 技术 答案
限制150内