1、数据库系统工程师-系统开发和运行维护(二)及答案解析(总分:54.00,做题时间:90 分钟)1.通常在软件的 (31) 活动中无需用户参与。A需求分析 B维护 C编码 D测试(分数:1.00)A.B.C.D.2.用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具;通常也称为 (97) 工具。ACAD BCAI CCAM DCASE(分数:1.00)A.B.C.D.在系统转换的过程中,旧系统和新系统并行工作一段时间,再由新系统代替旧系统的策略称为 (13) :在新系统全部正式运行前,一部分一部分地代替旧系统的策略称为 (14) 。(分数:2.00)(1).A直接转换
2、B位置转换 C分段转换 D并行转换(分数:1.00)A.B.C.D.(2).A直接转换 B位置转换 C分段转换 D并行转换(分数:1.00)A.B.C.D.3.内聚是一种指标,表示一个模块 (25) 。A代码优化的程度 B代码功能的集中程度C完成任务的及时程度 D为了与其他模块连接所要完成的工作量(分数:1.00)A.B.C.D.结构化分析方法(SA)、结构化设计方法(SD)和 Jackson方法是在软件开发过程中常用的方法。人们使用SA方法时可以得到 (43) ,这种方法采用的基本手段是 (44) ;使用 SD方法时可以得到 (45) ,并可以实现 (46) ,而使用 Jackson方法可以
3、实现 (47) 。(分数:5.00)(1).A程序流程图 B具体的语言程序C模块结构图及模块的功能说明书 D分层数据流图和数据字典(分数:1.00)A.B.C.D.(2).A分解与抽象 B分解与综合C归纳与推导 D试探与回溯(分数:1.00)A.B.C.D.(3).A程序流程图 B具体的语言程序C模块结构图及模块的功能说明书 D分层数据流图和数据字典(分数:1.00)A.B.C.D.(4).A从数据结构导出程序结构 B从数据流图导出初始结构图C从模块结构导出数据结构 D从模块结构导出程序结构(分数:1.00)A.B.C.D.(5).A从数据结构导出程序结构 B从数据流图导出初始结构图C从模块结
4、构导出数据结构 D从模块结构导出程序结构(分数:1.00)A.B.C.D.4.在软件项目开发过程中,评估软件项目风险时, (26) 与风险无关。A高级管理人员是否正式承诺支持该项目B开发人员和用户是否充分理解系统的需求C最终用户是否同意部署已开发的系统D开发需要的资金是否能按时到位(分数:1.00)A.B.C.D.5.系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。 (4) 不是系统测试的内容。A路径测试 B可靠性测试 C安装测试 D安全测试(分数:1.00)A.B.C.D.在 UML提供的图中, (20) 用于描述系统与外部系统及用户之间的交互; (21) 用于
5、按时间顺序描述对象间交互。(分数:2.00)(1).A用例图 B类图 C对象图 D部署图(分数:1.00)A.B.C.D.(2).A网络图 B状态图 C协作图 D序列图(分数:1.00)A.B.C.D.6.软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定 (3) 。A模块间的操作细节 B模块间的相似性C模块间的组成关系 D模块的具体功能(分数:1.00)A.B.C.D.结构化设计方法在软件开发中用于 (73) ,它是一种面向 (74) 的设计方法。该方法使用的图形工具是 (75) , (75) 中矩形表示 (76) 。如果两矩形之间有直线相连,表示它们存在 (
6、77) 关系。(分数:5.00)(1).A链接 B调用 C并列 D顺序执行(分数:1.00)A.B.C.D.(2).A测试用例设计 B概要设计 C程序设计 D详细设计(分数:1.00)A.B.C.D.(3).A对象 B数据结构 C数据流 D控制流(分数:1.00)A.B.C.D.(4).A程序结构图 B数据流程图 C程序流程图 D实体联系图(分数:1.00)A.B.C.D.(5).A数据 B加 C模块 D存储(分数:1.00)A.B.C.D.下列要素中,不属于 DFD的是 (15) 。当使用 DFD对一个工资系统进行建模时, (16) 可以被认定为外部实体。(分数:2.00)(1).A加工 B
7、数据流 C数据存储 D联系(分数:1.00)A.B.C.D.(2).A接收工资单的银行 B工资系统源代码程序C工资单 D工资数据库的维护(分数:1.00)A.B.C.D.7.使用软件开发工具有助于提高软件的开发、维护和管理的效率。集成型软件开发环境通常由工具集和环境集成机制组成。这种环境应具有 (98) 。环境集成机制主要有数据集成机制、控制集成机制和界面集成机制。A开放性和可剪裁性 B开放性和不可剪裁性C封闭性和可剪裁性 D封闭性和不可剪裁性(分数:1.00)A.B.C.D.8.软件开发中的瀑布模型典型地刻画了软件生存周期的阶段划分,与其最相适应的软件开发方法是 (1) 。A构件化方法 B结
8、构化方法C面向对象方法 D快速原型法(分数:1.00)A.B.C.D.9.耦合度描述了 (23) 。A模块内各种元素结合的程度B模块内多个功能之间的接口C模块之间公共数据的数量D模块之间相互关联的程度(分数:1.00)A.B.C.D.在表示多个数据流与加工之间关系的符号中,下列符号分别表示 (104) 和 (105) 。(分数:2.00)(1).A若 A, 则(B 或 C)或(B 与 C) B若 A或 B,则 CC若 A与 B,则 C D若 A,则(B 或 C)但非(B 与 C)(分数:1.00)A.B.C.D.(2).A若 A,则(B 或 C)或(B 与 C) B若 A或 B,则 CC若 A
9、与 B,则 C D若 A,则(B 或 C)但非(B 与 C)(分数:1.00)A.B.C.D.采用 UML进行软件建模过程中, (34) 是系统的一种静态视图,用 (35) 可表示两类事物之间存在的整体/部分形式的关联关系。(分数:2.00)(1).A序列图 B协作图 C类图 D状态图(分数:1.00)A.B.C.D.(2).A依赖关系 B聚合关系 C泛化关系 D实现关系(分数:1.00)A.B.C.D.10.下述任务中,不属于软件工程需求分析阶段的是 (2) 。A分析软件系统的数据要求 B确定软件系统的功能需求C确定软件系统的性能要求 D确定软件系统的运行平台(分数:1.00)A.B.C.D
10、.11.在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法 (6) 。A只有结构化语言 B有结构化语言和判定树C有结构化语言、判定树、判定表 D有判定树和判定表(分数:1.00)A.B.C.D.(68) 在实现阶段进行,它所依据的模块功能描述和内部细节以及测试方案应在 (69) 阶段完成,目的是发现编程错误。(70) 所依据的模块说明书和测试方案应在 (71) 阶段完成,它能发现设计错误。(72) 应在模拟的环境中进行强度测试的基础上进行,测试计划应在软件需求分析阶段完成。(分数:5.00)(1).A用户界面测试 B输入/输出测试 C集成测试 D
11、单元测试(分数:1.00)A.B.C.D.(2).A需求分析 B概要设计 C详细设计 D结构设计(分数:1.00)A.B.C.D.(3).A集成测试 B可靠性测试C系统性能测试 D强度测试(分数:1.00)A.B.C.D.(4).A编程 B概要设计 C维护 D详细设计(分数:1.00)A.B.C.D.(5).A过程测试 B函数测试C确认测试 D逻辑路径测试(分数:1.00)A.B.C.D.在用白箱法设计测试用例时,常用的 5种覆盖标准是:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、多重条件组合覆盖。假设 A和 B是两种覆盖标准,我们用 A B表示 A包含 B,用 A (分数:5.00)(1)
12、. (分数:1.00)A.B.C.D.(2). (分数:1.00)A.B.C.D.(3). (分数:1.00)A.B.C.D.(4). (分数:1.00)A.B.C.D.(5). (分数:1.00)A.B.C.D.12.结构化开发方法中,数据流图是 (28) 阶段产生的成果。A需求分析 B总体设计 C详细设计 D程序编码(分数:1.00)A.B.C.D.在测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(即分支覆盖)、路径覆盖等,其中 (78) 是最强的覆盖准则。为了对如图 9-2所示的程序段进行覆盖测试,必须适当地选取测试数据组。若 x,y 是两个变量,可供选择的测试数据组共有,四组(如表 9
13、-3所示),则实现判定覆盖至少应采用的测试数据组是 (79) ;实现条件覆盖至少应采用的测试数据组是 (80) ;实现路径覆盖至少应采用的测试数据组是 (81) 或 (82) 。(分数:5.00)(1).A语句覆盖 B条件覆盖 C判定覆盖 D路径覆盖(分数:1.00)A.B.C.D.(2).A和组 B和组 C和组 D和组E,和组 F,和组G,和组 H,和组(分数:1.00)A.B.C.D.E.F.G.H.(3).A和组 B和组 C和组 D和组E,和组 F,和组G,和组 H,和组(分数:1.00)A.B.C.D.E.F.G.H.(4).A和组 B和组 C和组 D和组E,和组 F,和组G,和组 H
14、,和组(分数:1.00)A.B.C.D.E.F.G.H.(5).A和组 B和组 C和组 D和组E,和组 F,和组G,和组 H,和组(分数:1.00)A.B.C.D.E.F.G.H.13.在面向数据流的设计方法中,一般把数据流图中的数据划分为 (8) 两种。A数据流和事务流 B变换流和数据流C变换流和事务流 D控制流和事务流(分数:1.00)A.B.C.D.14.在软件项目管理中可以使用各种图形工具来辅助决策,下面对 Gantt图的描述中,不正确的是 (22) 。AGantt 图表现了各个活动的持续时间BGantt 图表现了各个活动的起始时间CGantt 图反映了各个活动之间的依赖关系DGant
15、t 图表现了完成各个活动的进度(分数:1.00)A.B.C.D.在软件开发过程中常用图作为描述工具。如 DFD就是面向 (93) 分析方法的描述工具。在一套分层 DFD中,如果某一张图中有 N个加工(process),则这张图允许有 (94) 张子图。在一张 DFD图中,任意两个加工之间 (95) 。在画分层 DFD时,应注意保持 (96) 之间的平衡。(分数:4.00)(1).A数据结构 B数据流 C对象 D构件(component)(分数:1.00)A.B.C.D.(2).A0 B1 C1N D0N(分数:1.00)A.B.C.D.(3).A有且仅有一条数据流B至少有一条数据流C可以有 0
16、条或多条名字互不相同的数据流D可以有 0条或多条数据流,但允许其中有若干条名字相同的数据流(分数:1.00)A.B.C.D.(4).A父图与其子图 B同一父图的所有子图C不同父图的所有子图 D同一子图的所有直接父图(分数:1.00)A.B.C.D.15.在统一建模语言(UML)中, (33) 用于描述系统与外部系统及用户之间的交互。A类图 B用例图 C对象图 D协作图(分数:1.00)A.B.C.D.数据库系统工程师-系统开发和运行维护(二)答案解析(总分:54.00,做题时间:90 分钟)1.通常在软件的 (31) 活动中无需用户参与。A需求分析 B维护 C编码 D测试(分数:1.00)A.
17、B.C. D.解析:解析 为确保软件符合用户需求,在各种软件开发过程中,用户承担着非常重要的作用。进行需求分析时,需要用户和软件人员共同讨论,并且只有用户参与,才能有助于软件人员了解用户的知识、管理和技能等背景,也才能确保软件符合用户需求。软件设计是将需求分析阶段确定的、直接反映用户需求的逻辑方案转换为可以在计算机中实现的技术方案。在此过程中,不仅需要技术专家参与,也要求系统的用户高度参与和控制,用户主要参与系统总体设计、代码设计和数据库设计等工作。测试是软件质量的保证性手段,因为用户是软件的直接或间接使用者,这一群体能对软件系统成果产生重大影响,不同种类的用户可以以不同形式参与系统测试活动。
18、软件编码是用程序代码实现软件设计活动,这一活动只是将软件人员与用户共同确定的软件设计用指定的程序设计语言进行实现,得到可以在计算机上运行的实体,用户通常不需要参与这个过程。2.用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具;通常也称为 (97) 工具。ACAD BCAI CCAM DCASE(分数:1.00)A.B.C.D. 解析:解析 软件开发工具是指用于辅助软件开发、运行、维护、管理、支持等过程中的活动的软件,通常也称为CASE(Computer Aided Software Engineering,计算机辅助软件工程)工具。在系统转换的过程中,旧系统和新系统
19、并行工作一段时间,再由新系统代替旧系统的策略称为 (13) :在新系统全部正式运行前,一部分一部分地代替旧系统的策略称为 (14) 。(分数:2.00)(1).A直接转换 B位置转换 C分段转换 D并行转换(分数:1.00)A.B.C.D. 解析:(2).A直接转换 B位置转换 C分段转换 D并行转换(分数:1.00)A.B.C. D.解析:解析 这道题属于纯概念题,题目中的字句都是从概念中抽出来的,下面我们来看系统转换的一些概念。新老系统之间的转换有三种方式:直接转换、并行转换和分段转换。(1)直接转换就是在确定新系统运行无误时,立刻启用新系统,终止老系统运行。这种方式对人员、设备费用很节省
20、。这种方式一般适用于一些处理过程不太复杂,数据不很重要的场合。(2)并行转换是新老系统并行一段时间,经过一段时间的考验以后,新系统正式替代老系统。对于较复杂的大型系统,它提供了一个与老系统运行结果进行比较的机会,可以对新老两个系统并行工作,消除了尚未认识新系统之前的紧张和不安。在银行、财务和一些企业的核心系统中,这是一种经常使用的转换方式。它的主要特点是安全、可靠,但费用和工作量都很大,因为在相当长的时间内系统要两套班子并行工作。(3)分段转换又称逐步转换、向导转换、试点过渡法等。这种转换方式实际上是以上两种转换方式的结合。在新系统全部正式运行前,一部分一部分地代替老系统。那些在转换过程中还没
21、有正式运行的部分,可以在一个模拟环境中继续试运行。这种方式既保证了可靠性,又不至于费用太大。但是这种分段转换要求子系统之间有一定的独立性,对系统的设计和实现都有一定的要求,否则就无法实现这种分段转换的设想。由此可以看出题目所说的“旧系统和新系统并行工作一段时间,再由新系统代替旧系统的策略”是并行转换,而“在新系统全部正式运行前,一部分一部分地代替旧系统的策略”是分段转换。3.内聚是一种指标,表示一个模块 (25) 。A代码优化的程度 B代码功能的集中程度C完成任务的及时程度 D为了与其他模块连接所要完成的工作量(分数:1.00)A.B. C.D.解析:解析 内聚是指一个模块内各个元素彼此结合的
22、紧密程度。内聚按强度从低到高有以下几种类型。(1)偶然内聚:如果一个模块的各成分之间毫无关系,则称为偶然内聚。(2)逻辑内聚:几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。如一个模块读取各种不同类型外设的输入。尽管逻辑内聚比偶然内聚合理一些,但逻辑内聚的模块各成分在功能上并无关系,即使局部功能的修改有时也会影响全局,因此这类模块的修改也比较困难。(3)时间内聚:如果一个模块完成的功能必须在同一时间内执行,但这些功能只是因为时间因素关联在一起,则称为时间内聚。(4)过程内聚:如果一个模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行,则称为过程内聚。(5)通信内聚:如果一个模块
23、的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。(6)顺序内聚:如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入,则称为顺序内聚。(7)功能内聚:模块的所有成分对于完成单一的功能都是必需的,则称为功能内聚。结构化分析方法(SA)、结构化设计方法(SD)和 Jackson方法是在软件开发过程中常用的方法。人们使用SA方法时可以得到 (43) ,这种方法采用的基本手段是 (44) ;使用 SD方法时可以得到 (45) ,并可以实现 (46) ,而使用 Jackson方法可以实现 (47) 。(分数:5.00)(1).A程序流程图 B具体的语言程序C模块
24、结构图及模块的功能说明书 D分层数据流图和数据字典(分数:1.00)A.B.C.D. 解析:(2).A分解与抽象 B分解与综合C归纳与推导 D试探与回溯(分数:1.00)A.B. C.D.解析:(3).A程序流程图 B具体的语言程序C模块结构图及模块的功能说明书 D分层数据流图和数据字典(分数:1.00)A.B.C. D.解析:(4).A从数据结构导出程序结构 B从数据流图导出初始结构图C从模块结构导出数据结构 D从模块结构导出程序结构(分数:1.00)A.B. C.D.解析:(5).A从数据结构导出程序结构 B从数据流图导出初始结构图C从模块结构导出数据结构 D从模块结构导出程序结构(分数:
25、1.00)A. B.C.D.解析:解析 本题考查常用的软件设计方法。结构化设计方法、Jackson 方法和 Parnas方法是软件工程设计阶段常用的设计方法,下面分别进行介绍。1结构化方法结构化方法是软件开发的常用方法,包括结构化分析、结构化设计和结构化程序设计。(1)结构化分析方法结构化分析(Structured Analysis,SA)方法是一种面向数据流的需求分析方法,适用于分析大型数据处理系统,其基本思想见 6题的分析。SA方法的分析结果由数据流图 DFD、数据词典和加工逻辑说明几个部分组成,软件需求说明书(SRS)是需求分析阶段的最后成果。其中数据流图用来描述数据流从输入到输出的变换
26、流程;数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。(2)结构化设计方法结构化设计(Structured Design,SD)方法是一种面向数据流的设计方法,它是以结构化分析阶段所产生的文档(包括数据流图、数据字典和软件需求说明书)为基础,自顶向下,逐步求精和模块化的过程。SD可以与 SA方法衔接,采用结构图(SC)来描述程序的结构。结构图的基本成分由模块、调用和输入/输出数据组成。在需求分析阶段,用 SA方法产生了数据流图。面向数据流的设计能方便地将 DFD转换成程序结构图,DFD 中从系统的输入数据到系统的输出数据流的一连串连续变换将形成一条信息流。DFD
27、的信息流大体可分为两种类型,一种是变换流,另一种是事务流。SD方法的设计步骤有:复查并细化数据流图:确定 DFD的信息流类型;根据信息流类型分别将变换流或事务流转换成程序结构图;根据软件设计的原则对程序结构图作改进。(3)结构化程序设计结构化程序设计(Structured Programming,SP)采用自顶向下逐步求精的设计方法和单入口、单出口的控制结构。自顶向下逐步求精的设计方法符合抽象和分解的原则,是人们解决复杂问题时常用的方法。SA方法和 SD方法也采用了自顶向下逐步求精的方法,在详细设计时也同样如此。在设计一个模块的实现算法时,先考虑整体后考虑局部,先抽象后具体,逐步细化,最后得到
28、详细的实现算法。单入口、单出口的控制结构,使程序的静态和动态结构执行过程一致,使程序具有良好的结构。2Jackson 方法Jackson方法是由 MJackson 提出的,Jackson 方法的基本思想和 SD方法是一致的,但它不是面向数据流,而是面向数据结构的,在数据结构基础上建立程序结构。该方法特别适合于设计企事业管理一类的规模适中的数据处理系统。Jackson 方法有时也称为面向数据结构的软件设计方法。Jackson方法的基本步骤是:(1)建立系统的数据结构;(2)以数据结构为基础,对应地建立程序结构;(3)列出程序中要用到的各种基本操作,再将这些操作分配到程序结构适当的模块中。3Par
29、nas 方法Parnas方法是由 DParnas 在 1972年提出的。由于当时软件在可维护性和可靠性方面存在着严重问题,因此 Parnas提出的方法是针对这两个问题的。首先,Parnas 提出了信息隐蔽原则:在概要设计时列出将来可能发生变化的因素,并在模块划分时将这些因素放到个别模块的内部。这样,在将来由于这些因素变化而需修改软件时,只需修改这些个别的模块,其他模块不受影响。信息隐蔽技术不仅提高了软件的可维护性,而且也避免了错误的蔓延,改善了软件的可靠性。现在信息隐蔽原则已成为软件工程学中的一条重要原则。Parnas提出的第二条原则是在软件设计时应对可能发生的种种意外故障采取防范措施。软件是
30、很脆弱的,很可能因为一个微小的错误而引发严重的事故,所以必须加强防范。如在分配使用设备前,应该取设备状态字,检查设备是否正常。此外,模块之间也要加强检查,防止错误蔓延。Parnas对软件开发提出了深刻的见解。遗憾的是,他没有给出明确的工作流程。所以这一方法不能独立使用,只能作为其他方法的补充。4.在软件项目开发过程中,评估软件项目风险时, (26) 与风险无关。A高级管理人员是否正式承诺支持该项目B开发人员和用户是否充分理解系统的需求C最终用户是否同意部署已开发的系统D开发需要的资金是否能按时到位(分数:1.00)A.B.C. D.解析:解析 软件开发中的风险与高级管理人员的支持程度有关,与对
31、系统需求理解的程度有关,与开发资金的及时投入有关,但是与最终用户无关,系统的最后部署与运行不属于开发过程。Boehm 提出的十大风险是:开发人员短缺、不能实现的进度和预算、开发了错误的软件功能、开发了错误的用户接口、华而不实的需求、需求不断变动、外部执行的任务不符合要求、外部提供的组件不符合要求、实时性不符合要求、超出了计算机科学发展的水平。5.系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。 (4) 不是系统测试的内容。A路径测试 B可靠性测试 C安装测试 D安全测试(分数:1.00)A. B.C.D.解析:解析 系统测试的任务是把软件放在实际的硬件和网络环境中
32、进行测试,主要测试软件的非功能需求和质量属性是否得到满足。系统测试通常采用黑盒测试,强调的是功能而不是结构,其中主要的几种测试如下。(1)恢复测试:是指通过各种手段,让软件强制性地发生故障,然后来验证恢复是否能正常进行的一种系统测试方法。(2)安全测试:用来验证集成在系统内的保护机制是否能够在实际中保护系统不受到非法侵入。(3)压力测试:本质上说,进行压力测试的人应该这样问“我们是将系统折腾到什么程度而不会出错?”。压力测试是在一种需要反常数量、频率或资源的方式下执行系统。(4)性能测试:就是用来测试软件在集成系统中的运行性能的。选项中的可靠性测试包含了容错性、恢复及安全等测试。路径测试是白盒
33、测试方法,一般用在单元测试中。在 UML提供的图中, (20) 用于描述系统与外部系统及用户之间的交互; (21) 用于按时间顺序描述对象间交互。(分数:2.00)(1).A用例图 B类图 C对象图 D部署图(分数:1.00)A. B.C.D.解析:(2).A网络图 B状态图 C协作图 D序列图(分数:1.00)A.B.C.D. 解析:解析 请读者参考 11题的分析。6.软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定 (3) 。A模块间的操作细节 B模块间的相似性C模块间的组成关系 D模块的具体功能(分数:1.00)A.B.C. D.解析:解析 软件设计阶段
34、的任务是着手实现软件的需求,即要着手解决“软件怎么做”的问题。根据用数据、功能和行为模型表示的软件需求,采用某种设计方法进行数据设计、体系结构设计、接口设计和过程设计。数据设计将 E-R图中描述的对象和关系,以及数据词典中描述的详细数据内容转化为数据结构的定义。体系结构设计定义软件系统各主要成分之间的关系。接口设计根据数据流图定义软件内部各成分之间、软件与其他协同系统之间及软件与用户之间的交互机制。过程设计则是把结构成分转换成软件的过程性描述。软件设计是开发阶段中最重要的步骤,它是软件开发过程中质量得以保证的关键步骤。软件设计又可分为概要设计和详细设计两个步骤。概要设计将软件需求转化为数据结构
35、和软件的系统结构。详细设计通过对结构表示进行细化,得到软件的详细的数据结构和算法。常用的软件设计方法有结构化设计方法(SD)、Jackson 设计方法(JSD)、Parnas 方法和面向对象的设计方法(OOD)等。软件设计的原则有抽象的原则、模块化的原则、信息隐蔽的原则、模块独立的原则等。结构化设计方法在软件开发中用于 (73) ,它是一种面向 (74) 的设计方法。该方法使用的图形工具是 (75) , (75) 中矩形表示 (76) 。如果两矩形之间有直线相连,表示它们存在 (77) 关系。(分数:5.00)(1).A链接 B调用 C并列 D顺序执行(分数:1.00)A.B. C.D.解析:
36、解析 结构化设计用于软件的概要设计,它是一种面向数据流的设计方法。程序结构图是采用结构化设计方法进行软件概要设计的描述手段。结构图中的主要成分有:(1)模块。以矩形框表示,框中标有模块的名字。对于已定义(或者已开发)的模块,则可以用双纵边矩形框表示,如图 9-6所示。(2)模块间的调用关系。两个模块,一上一下,以箭头相连,上面的模块是调用模块,箭头指向的模块是被调用模块,如图 9-7中,模块 A调用模块 B。在一般情况下,箭头表示的连线可以用直线代替。(3)模块间的通信。以表示调用关系的长箭头旁边的短箭头表示,短箭头的方向和名字分别表示调用模块和被调用模块之间信息的传递方向和内容。如图 9-7
37、中,首先模块 A将信息 C传给模块 B,经模块 B加工处理后的信息 D再传回给 A。(4)辅助控制符号。当模块 A有条件的调用模块 B时,在箭头的起点标以菱形。模块 A反复地调用模块 D时,另加一环状箭头。如图 9-8所示。(2).A测试用例设计 B概要设计 C程序设计 D详细设计(分数:1.00)A.B. C.D.解析:(3).A对象 B数据结构 C数据流 D控制流(分数:1.00)A.B.C. D.解析:(4).A程序结构图 B数据流程图 C程序流程图 D实体联系图(分数:1.00)A. B.C.D.解析:(5).A数据 B加 C模块 D存储(分数:1.00)A.B.C. D.解析:下列要
38、素中,不属于 DFD的是 (15) 。当使用 DFD对一个工资系统进行建模时, (16) 可以被认定为外部实体。(分数:2.00)(1).A加工 B数据流 C数据存储 D联系(分数:1.00)A.B.C.D. 解析:(2).A接收工资单的银行 B工资系统源代码程序C工资单 D工资数据库的维护(分数:1.00)A. B.C.D.解析:解析 数据流图(Data Flow Diagram,DFD)是描述数据处理过程的一种图形工具。数据流图从数据传递和加工的角度,以图形的方式描述数据在系统流程中流动和处理的移动变换过程,反映数据的流向、自然的逻辑过程和必要的逻辑数据存储。数据流图的基本要素如表 9-2
39、所示。7.使用软件开发工具有助于提高软件的开发、维护和管理的效率。集成型软件开发环境通常由工具集和环境集成机制组成。这种环境应具有 (98) 。环境集成机制主要有数据集成机制、控制集成机制和界面集成机制。A开放性和可剪裁性 B开放性和不可剪裁性C封闭性和可剪裁性 D封闭性和不可剪裁性(分数:1.00)A. B.C.D.解析:解析 软件开发环境是指支持软件产品开发的软件系统。集成型软件开发环境是一种把支持多种软件开发方法和开发模型、支持软件开发全过程的软件工具集成在一起的软件开发环境。软件开发环境具有集成性、开放性、可裁减性、数据格式一致性、风格统一的用户界面等特性,因而能大幅度提高软件生产率。
40、其中开放性是指允许其他的软件工具加入到软件开发环境之中,为环境外的工具集成到环境中来提供方便。可剪裁性是指根据不同的应用或不同的用户需求进行剪裁,以形成特定的开发环境。通常,软件开发环境可由环境机制和工具集构成。按功能划分,环境机制又可分为环境信息库(数据集成机制)、过程控制和消息服务(控制集成机制)、用户界面规范(界面集成机制)。数据集成机制提供统一的数据接口规范,需要相互协作的工具通过这种统一的模式与规范交换数据。数据集成可以有不同的层次,如共享文件、共享数据结构和共享信息库等。环境信息库存储软件工程项目在生存周期中的全部信息,是软件开发环境的核心。控制集成机制支持各工具或各开发活动之间的
41、通信、切换、调度和协同工作,并支持软件开发过程的描述、执行和转接。通常使用消息通信机制实现控制集成,工具间发送的消息统一由消息服务器进行管理。界面集成机制为统一的工具界面风格和统一的操作方式提供支持,使得环境中的工具具有相同的视觉效果和操作规则,减少用户为学习不同工具的使用所花费的开销。界面集成主要体现在相同或相似的窗口、菜单、工具条、快捷键、操作规则与命令语法等。工具集包括事务系统规划工具、项目管理工具、支撑工具、分析设计工具、程序设计工具、测试工具、原型建造工具、维护工具和框架工具等,所有这些工具可分为贯穿整个开发过程的工具(例如软件项目管理工具)和解决软件生命周期中某一阶段问题的工具(例
42、如软件价格模型及估算工具)。8.软件开发中的瀑布模型典型地刻画了软件生存周期的阶段划分,与其最相适应的软件开发方法是 (1) 。A构件化方法 B结构化方法C面向对象方法 D快速原型法(分数:1.00)A.B. C.D.解析:解析 瀑布模型严格遵循软件生命周期各阶段的固定顺序:计划、分析、设计、编程、测试和维护,上一阶段完成后才能进入下一阶段,整个模型就像一个飞流直下的瀑布,如图 9-1所示。下面,我们来分析试题所给出的 4个选项。1快速原型法快速原型是指快速建立起来的可以在计算机上运行的程序,它所完成的功能往往是最终软件产品功能的一个子集。快速原型模型的第一步是快速建立一个能反映用户主要需求的
43、软件原型,让用户在计算机上使用它,通过实际操作了解目标系统的概貌。开发人员按照用户提出的意见快速地修改原型系统,然后再次请用户试用一旦用户认为这个原型系统确实能够满足他们的需求,开发人员便可据此书写软件需求说明,并根据这份文档开发出可以满足用户真实需求的软件产品。9.耦合度描述了 (23) 。A模块内各种元素结合的程度B模块内多个功能之间的接口C模块之间公共数据的数量D模块之间相互关联的程度(分数:1.00)A.B.C.D. 解析:解析 耦合度是指从模块外部考察模块的独立性程度。它用来衡量多个模块间的相互联系。一般来说,耦合度应从以下三方面来考虑,即:耦合内容的数量,即模块间发生联系的数据和代
44、码的多少,同这些数据和代码发生联系的模块的多少,多的耦合强,少的耦合弱。模块的调用方式,即模块间代码的共享方式。可分为用 CALL语句调用方式和用 GOTO 语句直接访问方式。模块间的耦合类型有以下几种方式:(1)独立耦合:指两个模块彼此完全独立,没有直接联系。它们之间的唯一联系仅仅在于它们同属于一个软件系统或同有一个上层模块。这是耦合程度最低的一种。当然,系统中只可能有一部分模块属于此种联系,因为一个程序系统中不可能所有的模块都完全没有联系。(2)数据耦合:指两个模块彼此交换数据。如一个模块的输出数据是另一个模块的输入数据,或一个模块带参数调用另一个模块,下层模块又返回参数。应该说,在一个软
45、件系统中,此种耦合是不可避免的,且有其积极意义。因为任何功能的实现都离不开数据的产生、表示和传递。数据耦合的联系程度也较低。(3)控制耦合:若在调用过程中,两个模块间传递的不是数据参数而是控制参数,则模块间的关系即为控制耦合。控制耦合属于中等程度的耦合,比数据耦合模块间的联系更为紧密。但控制耦合不是一种必须存在的耦合。当被调用模块接收到控制信息作为输入参数时,说明该模块内部存在多个并列的逻辑路径,即有多个功能。控制变量用于从多个功能中选择所要执行的部分,因而控制耦合是完全可以避免的。(4)公共耦合:又称公共环境耦合或数据区耦合。若多个模块对同一个数据区进行存取操作,则它们之间的关系称为公共耦合
46、。公共数据区可以是全程变量、共享的数据区、内存的公共覆盖区、外存上的文件、物理设备等。当两个模块共享的数据很多,通过参数传递可能不方便时,可以使用公共耦合。公共耦合共享数据区的模块越多,数据区的规模越大,则耦合程度越强。公共耦合最弱的一种形式是:两个模块共享一个数据变量,一个模块只向里写数据,另一个模块只从里读数据。当公共耦合程度很强时,会造成关系错综复杂,难以控制,错误传递机会增加,系统可靠性降低,可理解、维护性差。(5)内容耦合:是耦合程序最高的一种形式。若一个模块直接访问另一模块的内部代码或数据,即出现内容耦合。内容耦合的存在严重破坏了模块的独立性和系统的结构化,代码互相纠缠,运行错综复
47、杂,程序的静态结构和动态结构很不一致,其恶劣结果往往不可预测。内容耦合往往表现为以下几种形式:一个模块访问另一模块的内部代码或数据;一个模块不通过正常入口而转到另一个模块的内部;两个模块有一部分代码重叠;一个模块有多个入口。一般讲,在模块划分时,应当尽量使用数据耦合,少用控制耦合(尽量转成数据耦合),限制公共耦合的范围,完全不用内容耦合。在表示多个数据流与加工之间关系的符号中,下列符号分别表示 (104) 和 (105) 。(分数:2.00)(1).A若 A, 则(B 或 C)或(B 与 C) B若 A或 B,则 CC若 A与 B,则 C D若 A,则(B 或 C)但非(B 与 C)(分数:1
48、.00)A. B.C.D.解析:(2).A若 A,则(B 或 C)或(B 与 C) B若 A或 B,则 CC若 A与 B,则 C D若 A,则(B 或 C)但非(B 与 C)(分数:1.00)A.B. C.D.解析:解析 在数据流图中,如果有两个以上的数据流指向一个加工或从一个加工中引出两个以上的数据流,这些数据流之间往往存在一定的关系。在图 9-9中给出了所有的符号以及其含义。其中“*”表示相邻的一对数据流同时出现,“ ”则表示相邻的两个数据流只取一个。根据图 9-9所示,题中左图表示有 A则有月或 C或两者都有;题中右图表示当 A或 B其中一个存在就有C。采用 UML进行软件建模过程中, (34) 是系统的一种静态视图,用 (35) 可表示两类事物之间存在的整体/部分形式的关联关系。(分数:2.00)(1).A序列图 B协作图 C类图 D状态图(分数:1.00)A.B.C. D.解析:(2).