1、软件产品与物质产品有很大区别,软件产品是一种( )产品A、有形 B、消耗 C、逻辑 D、文档 答案: C
2、软件会逐渐退化而不会磨损,其原因在于( )。
A、软件通常暴露在恶劣的环境下 B、软件错误通常发生在使用之后
C、不断的变更使组件接口之间引起错误 D、软件备件很难订购 答案: C
3、( )不是 20 世纪 60 年代中期以前软件开发的特点。
A、开发中已形成文档规范 B、开发依赖个人技能
C、没有开发方法指导 D、开发过程缺乏有效管理 答案: A
4、1968 年的 NATO 会议上针对“软件危机”问题,提出了软件工程,它是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,即将( )应用于软件开发中。
A、文档化 B、工程化 C、信息化 D、自动化 答案: B 5、软件工程要解决的问题是( )。
A、加快软件开发速度 B、降低软件开发成本 C、提高软件质量 D、以上都是 答案: D
6、关于软件与其他工程学科所产生的制品的根本区别的说法,以下正确的是()
A、软件是人类思维和智能所延伸的产物,其数据、状态和逻辑关系的组合以及人类思维的复杂性和不确定性导致它本身具有极高的复杂性。
B、软件具有不可见性,它是抽象的和逻辑化的。
C、软件具有可变性,有用的软件需要不断地修改和扩展,但是频繁的修改可能导致软件的退化。D、软件的开发在很大程度上依然是手工作坊式的,难以实现工厂化的生产。 答 案 : ABCD 7、通常将软件分为以下几类( )
A、系统软件 B、商业软件 C、支持软件 D、应用软件 答案: ACD
8、软件一般包括以下( )部分。
A、程序 B、指令 C、文档 D、界面 答案: AC
9、软件危机的表现包括( )
A、许多软件项目不能满足客户的要求 B、许多软件项目超出预算和时间安排C、大量软件质量优良 D、大量已有软件难以维护 答案: ABD
10、软件工程的目标是生产具有正确性、可用性以及开销合宜的产品,这些目标都能满足。( )
答案:错误
11、瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。( )
答案:正确
12、软件生存周期是指一个软件从定义开始直到该软件最终退役为止的整个时期。( )
答案:正确
13、风险分析是螺旋模型的重要内容之一。( )
答案:正确
14、基于计算机系统的元素包括软件、硬件、人员、数据库、文档和( )。
A、规程 B、规则C、过程 D、规范 答案: A
15、基于计算机的系统本身可以成为一个更大的基于计算机系统中的一个( )。
A、软件 B、硬件 C、文档 D、元素 答案: D
16、计算机系统工程的目的是分析基于计算机的系统的( )、性能等要求,并把它们分配到基于计算机系统的各个系统元素中,确定它们的约束条件和接口。
A、功能 B、非功能 C、人员 D、数据库 答案: A
17、开发一个基于计算机的系统通常都受到( )(人力、财力、设备等)和时间上的限制。A、经费 B、环境C、资源 D、软件 答案: C
18、经济可行性分析中的效益包括经济效益和( )效益。
A、社会 B、成本 C、消耗 D、环境 答案: A
19、在基于计算机系统的元素中,硬件包括( )。
A、提供计算能力的电子设备 B、支持数据流的互连设备(如网络交换器、电信设备)
C、提供外部世界功能的电子机械设备(如传感器、马达等) D、打印、复印设备 答案: ABC
20、系统工程的任务包括( )。
A、识别用户的要求 B、系统建模和模拟 C、成本估算及进度安排 D、可行性分析 答案: ABCD
21、可行性分析主要从( )等方面分析所给出的解决方案是否可行,能否在规定的资源和时间的约束下完成。A、需求 B、经济 C、技术 D、法律 答案: BCD
22、基于计算机的系统的成本主要包括( )。
A、购置硬件、软件(如数据库管理系统、第三方开发的构件等)和设备(如传感器等)的费用
B、系统的开发费用 C、系统安装、运行和维护费用 D、人员培训费用
答案: ABCD
23、计算机系统工程是一个问题求解的活动。( ) 答案:正确
24、开发一个基于计算机的系统时,通常没有什么限制。( ) 答案:错误
25、人员流动是合理的,不会给系统开发带来风险。( ) 答案:错误
26、技术分析中需要考虑技术问题对成本的影响。( ) 答案:正确
27、在软件生存周期中,( )阶段主要任务是“弄清楚要做什么?” 。A、软件设计B、需求分析 C、软件测试 D、编码实现 答案: B
28、下面的( )决策是在需求分析时做出的。
A、自动售票机系统的开发时间预计是 6 个月
B、自动售票机系统由用户界面子系统、价格计算子系统以及与中心计算机通信的网络子系统组成
C、自动售票机系统已经达到交付的要求
D、自动售票机系统将为使用者提供在线帮助 答案: D
29、通常将软件生命周期划分为系统工程、需求分析、软件设计、编码实现、软件测试、运行维护等阶段,每个阶段都有各自侧重的任务和目标,以下不属于需求分析阶段的任务是( )。
A、弄清楚需要做什么 B、弄清楚怎么做,规划系统体系结构
C、编制软件需求规格说明书 D、通过调研等方式获取需求 答案: B
30、需求规格说明描述了( )。
A、计算机系统的功能、性能及其约束 B、每个指定系统的实现C、软件体系结构的元素 D、系统仿真所需要的时间 答案: A
31、需求工程包括( )等基本活动。
A、需求获取 B、分析建模 C、需求规约 D、需求验证
答案: ABCD
32、主要的需求获取技术包括( )。
A、用户面谈 B、需求专题讨论会 C、原型化方法 D、调查问卷 答案: ABCD
33、常用的需求分析方法包括( )
A、面向数据流的结构化分析方法 B、面向事务的分析方法
C、面向对象的分析方法 D、面向数据结构的分析方法 答案: ACD
34、用例的参与者总是人员而不是系统设备。( ) 答案:错误
35、需求验证是检验需求能否满足客户的意愿。( ) 答案:正确
36、Jackson 方法是由英国人 Jackson 所提出的一种面向数据结构的方法。( ) 答案:正确
37、需求规格说明主要用于精确阐述一个软件系统必须提供的功能和性能以及其它要考虑的限制条件。( )
答案:正确
38、软件设计是将软件分析模型中通过数据、功能和行为模型所展示的软件需求的信息,传送给设计阶段,产生数据/类设计、体系结构设计、( )、部件级设计。
A、接口设计 B、数据库设计 C、人机界面设计 D、详细设计
答案: A
39、软件设计的抽象包括过程抽象和( )抽象。
A、数据 B、结构 C、功能 D、非功能
答案: A
40、模块化是把软件按照规定原则,划分为一个个较小的,相互独立的但又相互( )的部件。A、关联B、分隔 C、无关 D、集成
答案: A
41、软件设计的阶段包括( )。
A、体系结构设计 B、数据库设计 C、部件级设计 D、行为设计 答案: AC 42、接口设计包括( )。
A、软件内部接口 B、软件和协作系统之间的接口
C、软件同人之间的接口 D、数据库表之间的接口
答案: ABC
43、衡量设计的技术标准包括( )。
A、设计应当模块化,从逻辑上将软件划分为完成特定功能或子功能的部件
B、设计应当既包含数据抽象,也包含过程抽象
C、设计应当建立具有独立功能特征的模块
D、设计应当建立能够降低模块与外部环境之间复杂连接的接口
答案: ABCD
44、软件设计应遵循的原则包括( )。
A、抽象与逐步求精 | B、模块化 | C、信息隐藏 | D、功能独立 | 答案: ABCD |
45、信息隐藏是指( | )。 |
A、每个模块的实现细节对于其它模块来说应该是公开的B、每个模块的实现细节对于其它模块来说应该是隐蔽的
C、模块中所包含的信息(包括数据和过程)允许其它不需要这些信息的模块使用
D、模块中所包含的信息(包括数据和过程)不允许其它不需要这些信息的模块使用 答案: BD 46、体系结构设计的任务是定义软件的整体结构。( ) 答案:正确
47、在进行软件设计的过程中,要密切关注软件的质量因素。( ) 答案:正确
48、抽象能够描述过程和数据而忽略低层的细节。( ) 答案:正确
49、求精有助于在设计过程中揭示高层的细节。( ) 答案:错误
50、模块划分越小越好。( ) 答案:错误
51、程序应具有良好的风格,力图从编码原则的角度提高程序的可读性,改善程序质量。程序设计风格包括源程序文档
化、数据说明、语句结构和输入输出四个方面。为使软件具有清晰结构和良好的风格,关于程序设计风格不可取的是
( )。
A、程序编写考虑清晰性 B、应当有适量的注释
C、尽量在一行内写多个语句 D、使用有意义的标识符 答案: C 52、下面的( )不是良好编码的原则。
A、在开始编码之前建立单元测试 B、建立一种有助于理解的直观布局
C、确保注释与代码完全一致 D、保持变量名简短以便代码紧凑 答案: D 53、下面的( )是对提高程序编码效率没有影响的。
A、变量名的使用 B、选择良好的设计方法 C、选择良好的算法 D、选择良好的数据结构 答案: A 54、软件编码是一个复杂而迭代的过程,包括程序设计和程序实现,软件编码的要求包括( )
A、正确地理解用户需求和软件设计思想 B、正确地根据设计模型进行程序设计C、正确而高效率地编写源代码 D、正确地编写规格说明书 答 案 : ABC 55、为增加软件的紧凑性,进行设计时尽量加强模块之间的联系。( ) 答案:错误
56、好的程序不仅要求处理速度快,而且易读、易修改。( ) 答案:正确
57、完成测试后,为了缩短源程序的长度,应该删除程序中的注解。( ) 答案:错误
58、软件编码是将软件设计模型机械地转换成源程序代码,这是一种低水平的、缺乏创造性的工作。( ) 答案:错误
59、软件测试用例由测试输入数据、( )及实际输出组成。
A、输出数据 B、预期结果 C、软件需求 D、软件设计 答案: B 60、软件测试是一个( )而执行程序的过程。
A、为了证明程序是正确的 B、为了发现错误
C、为了体现程序满足需求 D、为了让程序能运行 答案: B 62、软件测试的关键是( )。
A、设计测试用例 B、运行测试用例 C、分析源代码 D、获取用户需求 答案: A 63、软件调试的目的是 ( )。
A、发现软件中的错误 B、确定并纠正软件中的错误
C、修改软件的功能 D、发现软件的错误症状 答案: B 64、条件覆盖的目的是( )。
A、使程序中的每个判定中条件结果的所有可能组合都至少出现一次B、使程序中的每个判定的所有可能结果都至少执行一次
C、使程序中的每个判定中每个条件的所有可能结果都至少出现一次D、使程序中的每个可执行语句至少执行一次 答案: C
65、需要遵循的软件测试基本原则包括( )。
A、所有的测试都应可追溯到客户需求 B、应及早进行测试计划
C、测试应从“小规模” 逐步转向“大规模” D、为了达到最有效的测试,应由编程人员来进行测试 答案:ABC 66、主要的白盒测试方法包括( )。
A、等价类划分 B、逻辑覆盖测试 C、基本路径覆盖测试 D、数据流测试答案: BCD 67、逻辑覆盖的主要覆盖标准包括()。
A、语句覆盖 B、判定覆盖 C、判定/条件覆盖 D、路径覆盖 答案: ABCD 68、主要的黑盒测试方法包括( )。
A、等价类划分B、边界值分析 C、错误猜测 D、因果图 答案: ABCD 69、边界是指,相对于输入等价类和输出等价类而言,( )的一些特定情况。
A、直接在其边界上 B、稍高于其边界值 C、稍低于其边界值 D、等价类中的任意值 答案: ABC 70、软件测试能发现程序中所有的错误。( ) 答案:错误
71、穷举测试是不可能的。( ) 答案:正确
72、在设计测试用例时,应包括合理的输入条件和不合理的输入条件。( ) 答案:正确
73、在软件各种维护活动中, ( ) 所占比重最大,约占整个维护工作的 50。
A、纠错性维护 B、适应性维护 C、预防性维护 D、改善性维护 答案: D 74、下面的( )是正确的。
A、只有质量差的软件产品才需要维护 B、软件的维护成本通常比开发成本低
C、软件的不断修改将导致系统结构的恶化 D、重新开发一个新系统通常要比再工程的成本要低 答案: C 75、( )是由于计算机软件和硬件环境变化而修改软件的过程。
A、改正性维护 B、适应性维护 C、完善性维护 D、预防性维护 答案: B 76、软件原来没有帮助信息,使用不方便,现在要增加帮助信息。这种维护性活动称之为( )
A、改正性维护 B、适应性维护 C、完善性维护 D、预防性维护 答案: C 77、软件维护难是导致软件危机的主要原因之一,软件维护难的表现有哪些方面( )。
A、工作量大 B、工作难度大 C、束缚住软件开发组织的手脚 D、没有余力开发新的软件 答案: ABCD 78、软件运维重要性主要体现在哪些方面( )。
A、软件维护周期长 B、软件维护成本高达开发成本的近四倍
C、软件维护困难多 D、软件维护难是导致软件危机的直接原因 答案: BD
79、软件项目管理是指软件生存周期中软件管理者所进行的一系列活动,其目的是在一定的时间和预设范围内,有效地利用人力、资源、技术和工具,使软件系统或软件产品按原定计划和( )如期完成。
A、质量要求 B、人员安排 C、资源限制 D、时间期限 答案: A
80、软件项目进度管理的目的是确保软件项目在规定的时间内( )完成。A、按期 B、提前C、尽量 D、超期 答案: A
81、抽象和( )是结构化开发方法的主要思想,同时也是控制复杂性的两个基本手段。A、细化B、继承 C、分解 D、合并 答案: C
82、数据流图主要用于( )建模,描述系统的输入数据流,如何经过一系列的加工变换,逐步变换成系统的输出数据流。
A、行为 B、功能 C、状态 D、数据 答案: B 83、在系统结构图中,宽度是指( )。
A、结构图中的层数 B、结构图中去除顶层后的层数
C、结构图中同一层次上模块总数的最大值 D、结构图中最底层次上的模块数 答案: C 84、对象是指一组属性以及这组属性上的专用操作的( )。
A、结构体 B、集合 C、封装体 D、抽象体 答案: C
85、继承是类间的基本关系,它是基于层次关系的不同类( )的一种机制。
A、共享数据和操作 B、定义数据和操作 C、区分数据和操作 D、实现数据和操作 答案: A 86、多态性是指( )。
A、不同操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果
B、不同操作作用于同一个对象上可以有同样的解释,并产生同样的执行结果
C、同一个操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果
D、同一个操作作用于不同的对象上可以有同样的解释,并产生同样的执行结果 答案: C 87、轿车类与汽车类之间是( )关系。
A、一般-特殊 B、整体-部分 C、依赖 D、关联 答案: A 88、软件开发方法包括( )。
A、结构化开发方法 B、面向数据结构的开发方法
C、面向对象开发方法 D、基于构件的软件开发方法 答案: ABCD 89、结构化设计强调模块化、( )等设计准则。
A、自顶向下逐步求精 B、信息隐蔽 C、高内聚低耦合 D、低内聚高耦合 答案: ABC 90、面向对象分析的内容包括( )。
A、获取客户对系统的需求 B、定义类的结构和层次
C、建造对象-关系模型 D、建造对象-行为模型 答案: ABCD 91、大量的同类软件重复开发,带来的问题包括( )。
A、软件质量很好 B、造成大量人力浪费 C、造成大量财力浪费 D、软件质量不高 答案: BCD 92、构件是( )。
A、软件系统中具有相对独立功能 B、可以明确标识,接口由规约指定,与语境有明显依赖关系
C、可独立部署,且多由第三方提供的可组装软件实体 D、须承载有用的功能,并遵循某种构件模型 答案:ABCD 93、数据流可以从一个加工流向另一个加工。( ) 答案:正确
94、一个模块的扇出过大通常意味着该模块比较复杂,然而扇出太少,可能导致深度的增加。( ) 答案:正确
95、结构化开发方法是对客观世界的直接映射。( ) 答案:错误
96、对象是创建类的模板,类是对象的实例。( ) 答案:错误
97、消息只告诉接收对象需要完成什么操作,但并不指示接收者怎样完成操作。( ) 答案:正确
98、面向对象开发方法是对客观世界的直接映射。( ) 答案:正确
99、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作( )。A、软件工程 B、软件周期 C、软件危机 D、软件产生 答案: C
100、瀑布模型本质上是一种( )模型。
A、线性顺序 B、顺序迭代 C、线性迭代 D、早期产品 答案: A 101、瀑布模型存在的问题是( )。
A、用户容易参与开发 B、缺乏灵活性 C、用户与开发者易沟通 D、适用可变需求 答案:B 102、螺旋模型是一种将瀑布模型和( )结合起来的软件开发模型。
A、增量模型 B、专家系统 C、喷泉模型 D、变换模型 答案: A 103、原型化方法是用户和设计者之间执行的一种交互构成,适用于( )系统。
A、需求不确定性高的 B、需求确定的 C、管理信息 D、实时 答案: A 104、结构化方法是一种基于( )的方法。
A、数据结构 B、程序结构 C、算法 D、数据流 答案: D 105、软件可行性研究实质上是要进行一次( )需求分析、设计过程。
A、简化、压缩的 B、详细的 C、彻底的 D、深入的 答案: A 106、可行性研究的目的是()
A、分析开发系统的必要性 B、确定系统建设的方案
C、分析系统风险 D、确定是否值得开发系统 答案: D 107、可行性研究是在( )之前
A、系统开发 B、测试 C、试运行 D、集成测试 答案: A 108、需求规格说明书的作用不包括( )
A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解 C、软件可行性研究的依据 D、软件设计的依据 答案: C 109、数据字典是用来定义( )中的各个成份的具体含义的。
A、程序流程图 B、功能结构图 C、系统结构图 D、数据流图 答案: D 110、DFD 中的每个加工至少有( )。
A、一个输入流或一个输出流 B、一个输入流和一个输出流C、一个输入流D、一个输出流 答案: B
111、需求分析阶段的关键任务是确定( )
A、软件开发方法 B、软件开发工具 C、软件开发费 D、软件系统的功能 答案: D 112、在 SD 方法中全面指导模块划分的最重要的原则是( )。
A、程序模块化 B、模块高内聚 C、模块低耦合 D、模块独立性 答案: D 113、在模块的 3 种基本属性中,反映模块内部特性的是( )。
A、接口 B、功能 C、逻辑 D、状态 答案: C
114、模块的耦合性可以按照耦合程度的高低进行排序,以下哪一项符合从低到高的正确次序( )。
A、数据结构耦合,公共耦合,控制耦合,内容耦合 B、数据耦合,控制耦合,数据结构耦合,公共耦合
C、无直接耦合,数据结构耦合,内容耦合,控制耦合 D、无直接耦合,数据耦合,控制耦合,内容耦合 答案:D 115、PDL(过程设计语言)是描述处理过程( )
A、做什么 B、为什么做 C、怎么做 D、对谁做 答案: C 116、( )工具在软件详细设计过程中不采用。
A、判定表 B、IPO 图 C、 PDL D、DFD 图 答案: D
117、为高质量地开发软件项目,在软件结构设计时,必须遵循( )原则。A、信息隐蔽 B、质量控制 C、程序优化 D、数据共享 答案: A
118、当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为( ) A、数据耦合B、公共耦合 C、标记耦合 D、内容耦合 答案: D
119、在七种偶合中,最低偶合是( )。
A、内容偶合 B、公共偶合 C、数据偶合 D、非直接偶合 答案: D 120、在软件设计中应该保持模块的独立性原则,( )反映模块独立性。
A、耦合和内聚 B、数据和模块 C、模块内部的凝聚力 D、模块之间的耦合 答案: A 121、什么是软件工程?软件工程的目标是什么?
答案:软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。 目标:
① 合理预算开发成本,付出较低的开发费用。
② 实现预期的软件功能,达到较好的软件性能,满足用户的需求。
③ 提高软件的可维护性,降低维护费用。
④ 提高软件开发生产率,及时交付使用
122、( )是对象的静态特征。
A、方法 B、属性 C、关系 D、操作 答案: B 123、对象的( )使对象的动态特征
A、特征 B、属性 C、关系 D、操作 答案: D 124、UML 是( )。
A、一种可视化的建模语言 B、是一种可视化的程序设计语言C、是一种过程 D、是一种方法 答案: A
125、面向对象分析过程中建立的模型有( )。
A、数据模型、功能模型、活动模型 B、对象模型、功能模型、测试模型
C、属性模型、功能模型、对象模型 D、对象模型、功能模型、动态模型 答案: D 126、下列的( )不属于面向对象分析模型。
A、用例图 B、类图 C、实体关系图 D、顺序图 答案: C 127、用例的实现细节不会在( )描述。
A、用例说明 B、用例图 C、活动图 D、顺序图 答案: B
128、在图书馆系统中,假如已经构造了一个一般借书者类,后来发现图书馆的学生和教师在借书中有不同要求。请问在面向对象设计中用( )方法可以方便地设计这两个类?
A、信息隐藏 B、继承 C、动态联编 D、代码复制 答案: B 129、下面哪个选项不能描述子系统之间的关系。( )
A、请求--服务关系 B、继承关系 C、依赖关系 D、数据关系 答案: D 130、每个子系统的接口上定义了若干( ),体现了子系统的功能。
A、说明 B、操作 C、属性 D、关系 答案: B 131、下面那个选项不是正确的面向对象设计思想。( )
A、对接口进行设计 B、发现变化并且封装它 C、先继承后组合 D、先组合后继承 答案: C 132、比较结构化设计和面向对象设计区别?
答案:结构化设计:系统被划分成多个模块,这些模块被组织成一个树型结构。根就是主模块,叶子是最低级的功能模块。这棵树也表示调用结构:每个模块都调用自己的直接下级模块,并被自己的直接上级模块调用。顶层模块负责收集应用程序最重要的那些执行策略,底层模块实现处理细节。在这个体系结构中越靠上层位置,概念的抽象层次就越高。但是,由于上层模块需要调用下层模块,所以这些上层模块就依赖于下层模块的处理细节。也就是说,当实现细节发生变化时,抽象也会受到影响;如果想复用某一个抽象的话,就必须把它依赖的细节都一起拖过去。 面向对象设计:上层创建的抽象不依赖于任何细节,而细节则高度依赖于上层的抽象。这种依赖关系的变化正是结构化设计与面向对象设计的根本区别。
133、某学校领书的工作流程为:学生班长填写领书单,班主任审查后签名,然后班长拿领书单到书库领书。 书库保管员审查领书单是否有班主任签名,填写是否正确等,不正确的领书单退回给班长;如果填写正确则给予领书并修改库存清单;当某书的库存量低于临界值时,登记需订书的信息。每天下班前为采购部门提供一张订书单。 用活动图来描述领书的过程。
答案:
134、使用顺序图描述下面的情景,当用户在自己的计算机上向网络打印机发出一个打印任务时,他的计算机便向打印机服务器发送一条打印命令print,打印机服务器如果发现网络打印机处于空闲状态,则向打印机发送打印命令print,否则向打印队列发送一条保存命令store。
答案:
135、程序设计语言的技术特性不应包括( )。
A、数据结构的描述性 B、抽象类型的描述性 C、数据库的易操作性 D、软件的可移植性 答案: C 136、程序的三种基本控制结构是( )。
A、过程、子程序和分程序 B、顺序、选择和重复 C、递归、堆栈和队列 D、调用、返回和转移 答案: B 137、使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。
A、程序内部逻辑 B、程序复杂结构 C、使用说明书 D、程序的功能 答案: A 138、确认测试主要涉及的文档是()。
A、需求规格说明书 B、概要设计说明书 C、详细设计说明书 D、源程序 答案: A 139、测试的关键问题是( )。
A、如何组织对软件的评审 B、如何验证程序的正确性
C、如何采用综合策略 D、如何选择测试用例 答案: D 140、黑盒测试在设计测试用例时,主要研究( )。
A、需求规格说明 B、详细设计说明 C、项目开发计划 D、概要设计说明与详细设计说明 答案:A 141、下面哪些测试属于黑盒测试( )。
A、路径测试 B、等价类划分 C、条件判断 D、循环测试 答案: B 142、检查软件产品是否符合需求定义的过程称为( )。
A、确认测试 B、集成测试 C、验收测试 D、验证测试 答案: D
143、软件维护中,因修改交互输入的顺序,没有正确的记录而引起的错误是( )产生的副作用。A、文档 B、数据 C、编码 D、设计 答案: A
144、以下属于软件维护阶段文档的是( )。
A、软件需求说明 B、操作手册 C、软件问题报告 D、测试分析报告 答案: C 145、产生软件维护的副作用,是指( )。
A、开发时的错误 B、隐含的错误 C、因修改软件而造成的错误 D、运行时误操作 答案: C 145、软件维护的困难主要原因是( )
A、费用低 B、人员少 C、开发方法的缺陷 D、用户不配合 答案: C 146、为了适应软硬件环境变化而修改软件的过程是( )。
A、校正性维护 B、完善性维护 C、适应性维护 D、预防性维护 答案: C 147、在整个软件维护阶段所花费的全部工作中,所占比例最大的是( )
A、校正性维护 B、适应性维护 C、完善性维护 D、预防性维护 答案: C 148、下面关于文档的叙述,错误的是( )
A、文档是软件产品的一部分,没有文档的软件就不成为软件。
B、文档是仅用于说明使用软件的操作命令,不包括软件设计和实现细节。C、高质量文档对于转让、变更、修改、扩充和使用有重要的意义。
D、软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量。 答案: B 149、什么是白盒测试?它适应哪些测试?
答案:白盒测试也叫结构测试,测试者需要了解被测程序的内部结构。白盒测试通常根据覆盖准则设计测试用例,有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖和条件组合覆盖。 白盒测试适用与单元测试、集成测试、系统测试150、采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点?
答案:黑盒测试设计测试用例的方法有
(1)等价类划分法 特点是:
a、测试的内容相同
b、一个等价类中的某个测试可以发现缺陷,那么这个等价类的其他测试也能发现缺陷
c、一个等价类中的某个测试不能发现缺陷,那么这个等价类的其它测试也不能发现缺陷
(2)边界值分析法 特点是:
用边界值分析时时常收获较大,它是在等价类的边界上选择测试用例
(3)错误推测法 特点是:没有确定的步骤,很大程度上是凭借经验进行的
(4)因果图法 特点是:
考虑输入条件间的组合关系;考虑输出条件对输入条件的信赖关系;测试用例发现错误的效率高;能查出功能说明中的
某些不一致或遗漏
151、下面关于面向对象方法中消息的叙述,不正确的是( )。
A、键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息
B、操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C、应用程序之间可以相互发送消息
D、发送与接收消息的通信机制与传统的子程序调用机制不同 答案: B 152、在 McCall 软件质量度量模型中,( )属于面向软件产品修改。A、可靠性 B、可重用性 C、适应性 D、可移植性 答案: C 153、软件生命周期中所花费用最多的阶段是( )
A、详细设计 B、软件编码 C、软件测试 D、软件维护 答案: D 154、需求分析阶段的任务是确定( )
A、软件开发方法 B、软件开发工具 C、软件开发费 D、软件系统的功能 答案: D 155、实现单入口单出口程序的三种基本控制结构是 ( )
A、顺序、选择、循环 B、过程、子程序、分程序
C、调用、返回、转移 D、递归、堆栈、队列 答案: A
156、为高质量地开发软件项目,在软件结构设计时,必须遵循 ( ) 原则。
A、信息隐蔽 B、质量控制 C、程序优化 D、数据共享 答案: A 157、DFD 中的每个加工至少需要( )
A、一个输入流 B、一个输出流 C、一个输入或输出流 D、一个输入流和一个输出流 答案: D 158、快速原型模型的主要特点之一是( )
A、开发完毕才见到产品 B、及早提供全部完整的软件产品
C、开发完毕后才见到工作软件 D、及早提供工作软件 答案: D 159、汽车有一个发动机。汽车和发动机之间的关系是( )关系。
A、一般具体 B、整体部分 C、分类关系 D、主从关系 答案: B
160、在各种不同的软件需求中,( )描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。
A、业务需求 B、功能需求 C、非功能需求 D、用户需求 答案: D
161、CMM 提供了一个框架,将软件过程改进的进化步骤组织成 5 个成熟度等级。除第 1 级外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干( )。
A、关键实践 B、软件过程性能 C、软件过程能力 D、软件过程 答案: A
162、可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出 ( )的回答。
A、确定 B、行或不行 C、正确 D、无二义 答案: B
163、下图显示了某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师
(instructor),一个教师也可以知道所有注册课程的学生。现在提出一个新的需求:"一个教师也可以是某些课程的学生",那么下面设计 A~C 中哪一个是最好的?为什么?
设计 A:
设计 C:
答案:设计 C 最好。
学生和教员均可以从Candidate 类继承而来; 抽象出Role 类,使 Candidate 类与Role 类之间形成多对多的关联关系,实现了"一个人既是教师又是某门课的学生"这个需求。
164、高考录取统分子系统有如下功能:
计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;
计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。试根据要求画出该系统的数据流程图,并将其转换为软件结构图。
答案:
数据流图:
165、为以下程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖。
int test(int A, int B)
{
if((A>1) AND (B<10))
X=A-B; if((A=2) OR (B>20))
X=A+B;
return x;
}
答案不唯一:
语句覆盖测试用例:A=2,B=0;
判定覆盖测试用例:A=3,B=0;A=2,B=20; 条件覆盖测试用例:A=2,B=0;A=0,B=21; 166、学生评奖:
奖励的目的在于鼓励学生品学兼优,此评奖处理功能是要合理确定学生受奖等级。决定受奖的条件
为:已修课程各类成绩比率为:成绩优秀占 50或 70以上,成绩为中或以下占 15或 20以下,团结纪律为优良或一般者。奖励方案为一等、二等、三等奖、鼓励奖四种。其中:
- 成绩优秀占 70以上、成绩为中或下占 15以下、纪律为优良的为一等奖。
- 成绩优秀占 70以上、成绩为中或下占 15以下、纪律为一般或成绩优秀占 70以上、成绩为中或下占 20以下、纪律为优秀
或成绩优秀占 50以上、成绩为中或下占 15以下、纪律为优秀的为二等奖。3.成绩优秀占 70以上、成绩为中或下占 20以下、纪律为一般
或成绩优秀占 50以上、成绩为中或下占 15以下、纪律为一般
或成绩优秀占 50以上、成绩为中或下占 20以下、纪律为优秀的为三等奖4.成绩优秀占 50以上、成绩为中或下占 20以下、纪律为一般的为鼓励奖。画出判定树与判定表。
答案:
167、软件需求分析的任务不应包括( )。
A、问题分析 B、信息域分析 C、结构化程序设计 D、确定逻辑模型 答案: C 168、软件工程学的目的应该是最终解决软件生产的( )问题。
A、提高软件的开发效率 B、使软件生产工程化
C、消除软件的生产危机 D、加强软件的质量保证 答案: B
169、目前存在有若干种软件生存周期模型。例如瀑布模型、增量模型、螺旋模型等。其中规定了由前至后、相互衔接的固定次序的模型是 ( )。
A、瀑布模型 B、增量模型 C、喷泉模型 D、螺旋模型 答案: A
170、系统定义明确之后,应对系统的可行性进行研究。可行性研究包括( ) A、软件环境可行性、技术可行性、经济可行性、社会可行性
B、经济可行性、技术可行性、法律可行性C、经济可行性、社会可行性、系统可行性
D、经济可行性、实用性、社会可行性 答案: B
171、数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘图方法中,( ) 是常采用的。
①自顶向下
②自底向上
③分层绘制
④逐步求精
A、全是 B、 ①③④ C、 ②③④ D、 ①④ 答案: B
172、在软件开发过程中常用图作为描述工具,DFD 就是面向( )分析方法的描述工具。A、数据结构 B、数据流 C、对象 D、构件(component) 答案: B
173、结构化分析方法使用的描述工具( )定义了数据流图中每一个图形元素。A、数据流图 B、数据字典 C、判定表 D、判定树 答案: B
174、软件需求规格说明书的内容不应包括对( )的描述。
A、主要功能 B、算法的详细过程 C、用户界面及运行环境 D、软件的性能 答案: B 175、在面向数据流的软件设计方法中,一般将信息流分为( )。
A、变换流和事务流 B、变换流和控制流 C、事务流和控制流 D、数据流和控制流 答案: A 176、模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的( )。
A、抽象和信息隐蔽 B、局部化和封装化 C、内聚性和耦合性 D、激活机制和控制方法 答案: C 177、Jackson 方法是一种面向( )的方法。
A、对象 B、数据结构 C、数据流 D、控制流 答 案 : B 178、使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。
A、程序的内部逻辑 B、程序的复杂结构 C、使用说明书 D、程序的功能 答案: A 179、在状态机图中定义的状态有( )
A、初态 B、终态 C、变异状态 D、中间状态 答案: ABD 180、关于数据流图有关描述中正确的是( )。
A、数据流图中不夹带控制流 B、数据流图的主图必须包括数据流图中的四种基本元素C、数据流图不是系统的执行程序,不是程序流程图
D、加工可以只有输入数据流,没有输出数据流 答案: ABC
181、用于需求分析的结构化分析方法很多,这些分析方法大都遵循以下准则( ) A、必须理解并描述问题的信息域; B、必须定义软件的功能域;
C、必须描述软件的行为; D、用层次的方法展示各种模型的细节 答案: ABCD 182、软件维护可以分为改正性维护和( )
A、适应性维护 B、文档性维护 C、完善性维护 D、预防性维护 答案: ACD 183、OO 方法建模需要建立以下哪几种模型( )。
A、对象模型 B、功能模型 C、数据模型 D、动态模型 答案: ABD 184、软件生存周期是从软件开始开发到开发结束的整个时期。( ) 答案:错误
185、系统流程图是一个典型的描述逻辑系统的传统工具。( ) 答案:错误
186、数据流图和数据字典共同构成系统的逻辑模型。( ) 答案:正确
187、扇出是一个模块直接调用的模块数目,一般推荐的扇出为 3 或 4。( ) 答案:正确
188、耦合用于衡量一个模块内部的各个元素彼此结合的紧密程度。( ) 答案:错误
189、判定覆盖不一定包含条件覆盖,但是条件覆盖一定包含判定覆盖。( ) 答案:错误
190、在代码的编写中要尽量避免使用 ELSE GOTO 或者 ELSE RETURN 结构。( ) 答案:正确
191、软件测试的目的就是证明软件没有错。( ) 答案:错误
192、语句覆盖的含义是使被测试程序中的每个语句都至少被执行一次。( ) 答案:正确
193、软件开发的成本主要是人的劳动消耗。( ) 答案:正确
194、为了加快软件维护作业的进度,应尽可能增加维护人员的数目( ) 答案:错误
195、软件交付给用户使用后,随即进入软件的维护阶段( ) 答案:正确
196、开发软件时投入的人员越多,开发时间就越短( ) 答案:错误
197、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( ) A、软件工程B、软件周期 C、软件危机 D、软件产生 答案: C
198、在 SD 方法中全面指导模块划分的最重要的原则是( )
A、程序模块化 B、模块高内聚 C、模块低耦合 D、模块独立性 答案: D 199、在设计测试用例时,( )是用得最多的一种黑盒测试方法。
A、等价类划分 B、边界值分析 C、因果图 D、判定表 答案: A 200、需求分析最终结果是产生( )。
A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 答案: B 201、软件详细设计的主要任务是确定每个模块的( )。
A、功能 B、外部接口 C、算法和使用的数据结构 D、编程 答案: C 202、对象实现了数据和操作的结合,使数据和操作( )于对象的统一体中。
A、结合 B、隐藏 C、封装 D、抽象 答案: C 203、软件的维护与硬件维护本质上是相同的。答案:错误
204、软件在运行和使用中也存在退化问题。答案:正确
205、软件危机的产生主要是因为程序设计人员使用了不适当的程序设计语言。答案:错误
206、软件同其它事物一样,有孕育、诞生、成长、成熟和衰亡的生存过程。答案:正确
207、软件开发过程中,一个错误发现得越晚,为改正它所付出的代价就越大。答案:正确
208、喷泉模型适合于面向对象的软件开发。 答案:正确
209、面向对象开发方法的主要缺点是在适应需求变化方面不够灵活。 答案:错误
210、软件开发方法是( )。
A、指导软件开发的一系列规则和约定 B、软件开发的步骤
C、软件开发的技术 D、软件开发的思想 答案: C 211、软件工程的三要素不包括( )。
A、工具 B、过程 C、方法 D、环境 答案: D 212、具有风险控制、客户评审的模型是( )
A、瀑布模型 B、增量模型 C、原型模型 D、螺旋模型 答案: D 213、快速原型的主要优点不包括( )。
A、能让用户参与开发、给出反馈 B、尽早把需求分析清楚,以降低风险
C、尽早地发现问题、纠正错误 D、对软件分析设计人员的素质要求不 高答案: D 214、螺旋模型是一种将瀑布模型和( )结合起来的软件开发模型。
A、增量模型 B、专家系统 C、喷泉模型 D、变换模型 答案: A 215、对用户需求分析的活动是属于( )
A、计划时期 B、开发时期 C、运行维护时期 D、代码实现时期 答案: B 216、简述软件危机产生的原因以及避免的方法。
答案:软件危机的产生有两方面因素,一方面与软件本身的抽象性和复杂性有关;另一方面则与软件开发和维护过程中使用的技术和方法有关,这是主观原因。 为了解决软件危机,既要有技术措施(好的方法和工具),也要有组织管理措施。(1)使用好的软件开发技术和方法。(2)使用好的软件开发工具,提高软件生产率。(3)有良好的组织、严密的管理,各方
面人员相互配合共同完成任务。
217、软件可行性研究的目的是( )。
A、证明软件开发项目可行 B、证明软件开发项目不可行
C、阐述软件开发项目值得或不值得做 D、为了确定软件开发项目要不要做 答案: C 218、可行性研究的任务不包括( )。
A、技术可行性 B、经济可行性 C、法律可行性 D、政治可行性 答案: D 219、可行性研究实质上是要进行一次( )需求分析,设计过程。
A、简化、压缩的 B、详细的 C、彻底的 D、深入的 答案: A 220、软件开发的早期,为什么要进行可行性研究?目标的可行性研究有几个方面? 答案:
许多软件开发问题都不能在预期的时间范围内或资源限制下得到解决。如果开发人员没有尽早停止没有可行解决方案的开发项目,就会造成时间、资金、人力、物力的浪费。为了降低软件开发失败的可能性,需要进行软件可行性研究。可行性研究要从经济可行性、技术可行性、运行可行性和法律可行性四方面进行。
221、需求分析的任务是( )。
A、正确说明让软件“做什么” B、用DFD 建模
C、用 DD 建立数学模型 D、给出需求规格说明书 答案: A
222、需求分析是分析员经了解用户的要求,认真细致地调研、分析,最终建立目标系统的逻辑模型并写出( ) 的过程。
A、模块说明书 B、软件规格说明书 C、项目开发计划 D、合同文档 答案: B 223、软件需求规格说明书可作为可行性研究的依据。答案:错误
224、画数据流图时可以加少量的控制流,使加工之间有时序的关系。答案:错误
225、在数据流图中,带有箭头的线段表示的是控制流。答案:错误
226、需求分析阶段的任务是确定软件的功能。答案:正确
227、软件需求分析阶段要确定软件系统要“做什么”。答案:正确
228、概要设计的目的是确定整个系统的( )。
A、规模 B、功能及模块结构 C、费用 D、测试方案 答案: B 229、软件设计是把( )转换为软件表示的过程。
A、软件需求 B、系统分析 C、数据库 D、软件代码 答案: A 230、一个模块的作用范围应该大于该模块的控制范围。答案:错误
231、模块间的耦合性越强,则模块的独立性越弱。答案:正确
232、在设计模块时,应使一个模块尽量包括多个功能。答案:错误
233、软件结构图可以利用数据流图映射出来。答案:正确
234、在结构化设计过程中首先要确认 DFD。答案:正确
235、详细设计评审应尽可能和概要设计评审一同进行。答案:错误
236、不属于详细设计工具的是( )。
A、DFD 图 B、PAD 图 C、程序流程图 D、N-S 图 答案: A 236、对建立良好的编程风格,下面描述正确的是( )。
A、程序应简单、清晰、可读性好 B、符号名的命名只要符合语法即可
C、充分考虑程序的执行效率 D、程序的注释可有可无 答案: A
237、源程序中应包含一些内部文档,以帮助阅读和理解程序,源程序的内部文档通常包括合适的标识符、注释和( )。A、程序的布局组织 B、尽量不使用或少用 goto 语句
C、检查输入数据的有效性 D、设计良好的输出报表 答案: A
238、编制一个好的程序应强调良好的编程风格,例如,选择标识符的名字时应考虑( )。
A、名字长度越短越好,以减少源程序的输入量 B、多个变量共用一个名字,以减少变量名的数目
C、选择含义明确的名字,以正确提示所代表的实体 D、尽量用关键字作名字,以使名字标准化 答案: C 239、不要修改不好的程序,要重新编写。答案:正确
240、程序中的注释是可有可无的。答案:错误
241、白盒法和黑盒法最大的不同在于( )。
A、测试用例设计方法不同 B、测试的任务不同
C、应用的测试阶段不同 D、基于的知识集不同 答案: A 242、检查软件产品是否符合需求定义的过程称为( )。
A、确认测试 B、集成测试 C、验证测试 D、验收测试 答案: A 243、为了提高测试的效率,应该( )。
A、随机地选取测试数据 B、取一切可能的输入数据作为测试数据
C、在完成编码以后制定软件的测试计划 D、选择发现错误可能性大的数据作为测试数据 答案: D 244、下列逻辑覆盖标准中,查错能力最强的是( )。
A、语句覆盖 B、判定覆盖 C、条件覆盖 D、条件组合覆盖 答案: D 245、白盒测试方法一般适合于( )测试。
A、单元 B、系统 C、集成 D、确认 答案: A 246、黑盒法是根据程序的内部逻辑来设计测试用例的。答案:错误
247、集成测试计划是在概要设计阶段制定的。答案:正确
248、集成测试工作最好由不属于该软件开发组的软件设计人员承担。答案:正确
249、黑盒测试法与白盒测试法的本质区别是什么?它们的使用场合有何不同。
答案:黑盒测试法与白盒测试法的根本区别是设计测试用例的方法不同。前者是测试产品的功能,后者是测试产品的内部结构和处理过程。
通过黑盒测试主要发现以下错误:
- 是否有不正确或遗漏了的功能。
- 界面是否有错,能否正确地接受输入数据,能否产生正确的输出信息。(3)是否有数据结构或外部数据库访问错误。
- 性能是否满足要求。
- 是否有初始化或终止性错误。
白盒测试法是一种程序级的微观上的测试,不适合于大单元、大系统的测试,主要用于很小单元的测试,以及从事软件底层工作、生产构件的测试人员使用。
250、下面哪个不是需求管理的过程( )
A、需求设计 B、需求获取 C 、需求分析 D、需求变更 答案: A 251、项目管理核心的三角形是范围、进度、风险。答案:错误
252、一个好的项目计划的开发应该是渐近式的。答案:正确
253、在 IT 项目中,许多专家都认为:对于成功,威胁最大的就是沟通的失败。答案:正确
254、某书的组成包括封面、目录、前言、若干章、附录;每章有若干节,每节有若干段,每段有若干句子;每节有0 个或多个插图,还有 0 个或多个表格。建立该书的对象模型。
答案:
255、以下哪个阶段确定项目是否值得去做( ).
A、需求分析 B、问题定义 C、可行性分析D、总体设计 答案: C
256、软件生存周期包括可行性分析的项目开发计划、需求分析、概要设计、详细设计、编码、( )、维护等活动。
A、应用 B、检测 C、测试 D、以上答案均不正确 答案: C 257、螺旋模型最大的优点是( )。
A、需求灵活变动 B、风险驱动 C、快速建立模型 D、与用户沟通方便 答案: B 解析:
258、喷泉模型的主要特点是( )。
A、需求灵活变更 B、迭代 C、风险分析 D、支持构件模块化 答案: B 259、在软件开发的各种资源中,( )是最重要的资源。
A、开发工具 B、方法 C、硬件环境 D、人员 答案: D 260、能力成熟度模型可以( )。
A、使软件组织建立一个有规律的成熟的软件过程 B、使软件没有错误C、使软件开发人员掌握更多的技术 D、避免开发人员跳槽 答案: A 261、软件危机的主要表现是( )。
A、软件成本太高 B、软件产品的质量低劣 C、软件开发人员明显不足 D、软件生产率低下 答案: BD
262、软件工程的目标是( | )。 | |||
A、易于维护 B、低的开发成本 C、高性能 | D、短的开发周期 | 答案: ABC | ||
263、软件按工作方式可划分为( )。 | ||||
A、实时处理软件 B、分时处理软件 | C、批处理软件 | D、交互式软件 | 答案: ABCD |
264、软件设计阶段的主要工作包括( )
A、编码 B、总体设计 C、详细设计 D、测试 答案: BC 265、软件维护主要涉及()任务。
A、改正性维护 B、适应性维护 C、完善性维护 D、预防性维护 答案: ABCD
266、快速原型适用于以下( )软件项目的开发。
A、对现有的软件产品进行升级或功能完善 B、开发人员和用户交流困难,需求获取困难C、开发人员技术熟悉但把握性不大 D、具有支持快速开发的工具 答案: ABCD 267、软件工程学的目的和意义是( )。
A、应用科学的方法和工程化的规范管理来指导软件开发 B、克服软件危机
C、作好软件开发的培训工作 D、以较低的成本开发出高质量的软件 答案: ABCD 268、一个成功的项目唯一提交的就是运行程序。答案:错误
269、软件工作的考虑范围主要是程序设计和实现。答案:错误
270、软件错误可能出现在开发过程的早期,越早修改越好。答案:正确
271、软件就是程序,编写软件就是编写程序。答案:错误
272、软件危机的主要表现是软件需求增加,软件价格上升。答案:错误
273、软件工程学科出现的主要原因是软件危机的出现。答案:正确
274、可行性研究阶段要进行一次大大的压缩,简化了系统分析和设计的过程。答案:正确
275、文档只起备忘录的作用,可以在软件开发完成以后再整理生成。答案:错误
276、成本效益分析的目的是从经济角度评价要给软件项目是否可行。答案:正确
277、面向对象方法的基本思想是以对象作为基本元素来分析问题和解决问题。答案:正确
278、用面向对象对象方法分析、设计、实现软件,仍属于线性的瀑布开发模型。答案:错误
279、回避风险就是指风险倘若发生,就接受后果。答案:错误
280、软件开发方法的主要目的是克服软件手工生产带来的问题,使软件开发能进入工程化和规范化的环境。答案: 正确
281、面向对象开发方法把数据和行为看成同等重要。答案:正确
282、结构化开发方法把软件的生命周期依次划分为若干个阶段,然后顺序地完成每个阶段的任务。答案:正确
283、由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。答案:错误
284、软件质量保证,需要各阶段评审验收。答案:正确
285、统一建模语言 UML 重要内容可以由 5 类图来定义,其中静态图是( )
A、协作图 B、类图 C、交互图 D、活动图 答案: B
286、面向对象的开发方法中,( )将是面向对象技术领域内占主导地位的标准建模语言。
A、Booch 方法 B、OMT 方法 C、UML 语言 D、Coad 方法 答案: C 287、顺序图反映对象之间发送消息的时间顺序,它与( )是同构的。
A、用例图 B、类图 C、协作图 D、状态图 答案: C
288、( )定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。
A、用例图 B、类图 C、活动图 D、状态图 答案: A 289、UML 是软件开发中的一个重要工具,它主要应用于( )。
A、基于瀑布模型的结构化方法 B、基于需求动态定义的原型化方法
C、基于对象的面向对象的方法 D、基于数据的数据流开发方法 答案: C 290、UML 是一种建模语言,而不是建模方法。答案:正确
291、UML 是一种建模语言,是一种标准的表示,是一种方法。答案:错误
292、UML 建模语言是由视图、图、模型元素和通用机制构成的层次关系来描述的。答案:正确
293、UML 支持面向对象的主要概念,并与具体的开发过程相关。答案:错误解析:UML 只是一种建模语言,并与
具体的开发过程无关,是独立于开发过程的。
294、类图用来表示系统中类和类之间的关系,它是对系统动态结构的描述。答案:错误解析:类图是对系统静态结构的描述。
295、在软件的可行性分析中,可以从不同的角度对软件进行研究啊,其中从软件的功能角度考虑可行性是( )。A、经济可行性 B、技术可行性 C、操作可行性 D、法律可行性 答案: B
296、以下( )内容属于项目前期的主要工作。
A、现状分析 B、需求分析 C、粗略设计 D、可行性分析 答案: ACD 解析:
297、软件需求包括( )。
A、业务需求 B、用户需求 C、功能需求 D、非功能需求 答案: ABCD 298、需求获取的方式主要有( )等方式获取。
A、用户访谈 B、问卷调查 C、跟班作业 D、原型系统 答 案 : ABCD 299、系统流程图表达了系统中各个元素之间的信息的流动情况。 答案:正确
300、在面向对象方法下,用业务用例来描述一个业务,每个业务用例都用一个活动图来进行描述。 答案:正确
301、可行性分析主要包括哪些内容? 答案:
- 经济可行性分析估算项目的开发成本和投入使用后可能带来的利润,进行成本效益分析。及对其他产品或利 润的影响。
- 技术可行性分析根据客户提出的系统功能、性能要求及实现系统的各项约束条件,从技术的角度研究实现系 统的可行性。
- 运行、操作可行性分析主要研究系统的运行方式在用户单位是否可以有效地实施,是否与原有其他系统相矛盾;系统的操作规程在用户单位内是否可行,它包括人事、科技政策、管理方法等。
- 法律可行性分析
研究新系统的开发和使用是否会侵犯他人的权益,是否触犯了国家的法律法规。
可行性分析最终要对以后的行动提出建议。如果问题没有可行的解,分析人员应建议停止该项目,以避免造成进一步的浪费;如果问题值得解决,则提出并评价实现系统的各种可行的开发方案,从中选择一种最佳方案,并为系统制定一个初步的开发计划。
302、需求分析阶段研究的对象是( ).
A、用户需求 B、分析员要求 C、系统要求 D、软硬件要求 答案: A 303、结构化分析方法中,描述软件功能需求的常用工具有( )。
A、数据流图 B、系统流程图 C、数据字典 D、软件结构图 答案: AC
304、软件需求规格说明文档中包括多方面的内容,下述( )属于软件需求规格说明文档中应包括对内容。
A、数据描述 B、功能描述 C、性能描述 D、代码描述 答案: ABC 305、数据模型最常用的方法是实体关系图,它包括( )。
A、实体 B、接口 C、属性 D、关系 答案: ACD
306、测试 ATM 取款功能,已知取款数只能输入正整数,每次取款数要求是 100 的倍数且不能大于 500,下面( ) 是正确的无效等价类。
A、(0,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞)
B、(500,+∞) C、(500,+∞)、任意大于 0 小于 500 的非 100 倍数的整数
D、(-∞,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞) 答案: C
307、单元测试主要针对模块几个基本特征进行测试,该阶段主要完成( )内容的测试。
A、系统功能 B、局部数据结构 C、重要的执行路径 D、错误处理 答案: BCD 308、黑盒测试方法中常用的方法有( )。
A、等价分类法 B、边界值分析法 C、因果图法 D、错误推测法 答案: ABCD 309、黑盒测试主要发现的错误有( )。
A、是否有不正确或遗漏了的功能 B、在接口上,能否正确地接受输入数据,能否产生正确的输出信息C、访问外部信息是否有错 D、性能上是否满足要求等 答案: ABCD
310、下图给出了猫狗大战小游戏的一个典型的对战场景,其中图中的猫和狗分别代表对战的双方,在人机对战模式下,猫是机器内置的对手,用户可操作的是狗角色,图中中央上方显示的分别是对战双方的血量,中央血条下方是风力和风向标志,四个圆形图标从左到右依次表示:打击两次、强力打击工具、臭弹工具、补血工具(补血工具仅对自己进行补血,不能攻击对手)。通过按下鼠标左键的时间长短控制出手力度,时间越长,出手力度越大。请问, 以下描述中哪些是错误的( )。
A、从输入的角度来说,可使用等价划分方法,划分为如下三种情况:1.没超时打不中,2.没超时打中, 3.超时
B、针对攻击时的风向,可划分为如下两个等价类:1.顺风,2.逆风 C、
若对攻击工具进行等价划分,则可得到如下等价类:1.打击两次工具,2.强力打击工具,3.臭弹工具,4.补血工具
D、可使用等价划分方法,根据风向以及力度,划分为能打中对手、不能打中对手两种情况答案: ABCD
- 什么是软件危机?(P5)
答:随着计算机在各个领域的广泛应用,软件的需求量越来越大,软件的复杂度也越来越高,导致软件的开发远远满足不了社会发展的需要,超出预算的经费、超过预期的交付时间的事情经常发生。由于缺乏文档及没有好的开发方法的指导,使得大量已有的软件难以维护。到 20 世纪 60 年代中期出现了人们难以控制的局面,即“软件危机”。
- 简述软件生存周期。(P7)
答:软件生存周期是指软件产品或软件系统从产生、投入使用到淘汰的全过程,其大致可以分为以下 6 个阶段:
- 计算机系统工程,其任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机系统元素之间的关系,进行成本估算,作出进度安排,并进行可行性分析。
- 需求分析,主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面等要求,生成软件需
求规约。
- 设计,主要解决待开发软件“怎么做”的问题,通常可分为系统设计和详细设计。
- 编码,此阶段的任务是用某种程序设计语言,将设计的结果转换为可执行的程序代码。
- 测试,此阶段的任务是发现并纠正软件中的错误和缺陷。
- 运行和维护,在软件运行期间,需对投入运行的软件进行维护。
- 简述软件设计原则。(P49)
答:在将软件的需求规约转换为软件设计的过程中,软件的设计人员通常采用抽象与逐步求精、模块化和信息隐藏等原则,具体简述如下:
- 抽象与逐步求精。抽象的过程是从特殊到一般的过程,上层概念是下层概念的抽象。逐步求精是把问题的求 解过程分解成若干步骤或阶段,每一步都比上一步更精华,更接近问题的解法。
- 模块化。把软件按照规定原则,划分为一个个较小的、相互独立的但又相互关联的部件,模块化实际上是系统分解和抽象的过程。
- 信息隐藏。每个模块的实现细节对于其他模块来说应该是隐蔽的,即模块中所包含的信息不允许其他不需要 这些信息的模块使用。
- 面向对象分析过程是什么?
答:(1)获取客户对系统的需求,需求获取必须让客户与开发者充分交流,一般采用用况来收集客户需求的技术。
- 标识类和对象。在确定了系统的所有用况后,即可开始标识类以及类的属性和操作。
- 定义类的结构和层次。类的结构主要有两种:一般-特殊结构和整体-部分结构。
- 建造对象-关系模型。对象-关系模型描述了系统的静态结构,它指出了类间的关系。
- 建立对象-行为模型。对象-行为模型描述了系统的动态行为,指明系统如何响应外部的事件或激励。
- 简述用况模型及用况建模步骤。(P137)
答:用况建模是用于描述一个系统应该做什么的建模技术,通过开发者和客户之间为导出需求规约而进行的交互过程来建立用况模型,其主要成分有有况、执行者和系统。
创建用况模型的步骤如下:
(1)定义系统。(2)确定执行者。(3)确定用况。(4)描述用况。(5)定义用况间的关系。(6)确认模型。
- 简述白盒测试和黑盒测试。(P249)
答:白盒测试又称结构测试,这种方法把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否按预定的要求正确地工作。
黑盒测试又称行为测试,这种方法把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能需求。
- 简述α测试和β测试。(P273)
答:α测试是由一个用户在开发者的场所进行的,软件在开发者对用户的“指导下”进行的测试。
β测试是由软件的最终用户在一个或多个用户场所进行的,开发者通常不在测试现场,因此,β测试是软件在一个开发者不能控制的环境中“活的”应用,用户记录所有在β测试中遇到的问题,并定期把这些问题报告给开发者,在接到β测试的问题报告后,开发者对软件进行最后的修改,然后着手准备向所有用户发布最终的软件产品。