资源描述
. .
选择题
1. 开发软件的高本钱和产品的低质量之间有着锋利的矛盾,这称作〔 B 〕。
A.软件投机B.软件危机C.软件工程D.软件产生
2. 软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是〔 B 〕。
A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件C.缩短研制期扩大软件功能D.硬软件结合使系统面向应用
3. 瀑布模型把软件生存期划分为软件定义、软件开发和〔 C 〕三个阶段,而每一阶段又可细分为假设干个更小的阶段。
A.详细设计B.可行性分析C.运行及维护D.测试与排错
4. 一个软件工程是否进展开发的结论是在〔 B 〕文档中作出的。
A.软件方案B.可行性报告C.测试报告D.需求分析说明书
5. 常用的本钱估计技术不包括〔 D 〕。
A.任务分解B.自动估计本钱C.代码行D.投资回收估算
6. 需求分析说明书不能作为〔 A 〕。
A.可行性研究的依据B.用户和开发人员之间的合同C.系统概要设计的依据D.软件验收测试的依据
7. 需求分析需要确定的系统根本需求不包括〔 A 〕。
A.开发语言 B.功能C.性能D.接口
8. 状态图中定义的状态不包括〔 D 〕。
A.初态B.终态C.中间状态D.事件
9. 验证软件正确性不包括〔 B 〕。
A.一致性B.易操作性C.完整性D.有效性
10. 软件的〔 A 〕设计主要任务是建立软件系统的总体构造。
A.总体B.抽象C.逻辑D.规划
11. 下面〔 D〕不是模块化设计的目的。
A.可采用构造化设计法B.降低复杂度
C.有利于信息隐蔽 D.描述系统的功能与性能
12. 模块部的算法设计在构造化法的〔 C 〕阶段进展。
A.系统分析 B.概要设计C.详细设计D.可行性分析
13. 〔 D 〕先于任技术活动之前开场,贯穿于软件的整个生命期中。
A.工程方案B.风险评估C.软件测试D.软件工程管理
14. 实现包括编码和〔 B 〕两个阶段。
A.选择开发工具B.测试C.数据库设计D.程序复杂度计算
15. 类构件的重用式不包括〔 C 〕。
A.继承重用B.实例重用C.动态重用D.多态重用
16.下面具有继承关系的一组是〔 C 〕。
A.铅笔-钢笔B.冰箱-空调C.汽车-客车D.教师-学生
17. 软件的〔 D 〕是理解和使用该系统的容易程度。
A.可维护性B.可靠性C.效率D.可理解性
18. 软件配置管理是在软件的生命期管理变化的活动,不能用来〔 B 〕。
A.标识变化B.预测变化C.控制变化D.确保实现变化
19. 能力成熟度的级别最高的是〔 A 〕。
A.优化级B.已管理级C.已定义级D.可重复级
20. 面向对象语言的重要优点不包括〔 C 〕。
A.可重用性 B.一致的表示法C.简单性D.可维护性
21.计算机系统可以划分为软件系统和硬件系统,软件是一种( A )
A.逻辑产品 B.文档资料 C.程序代码 D.物理装置
22.可行性分析研究的主要目的是( B )
A.定义工程 B. 工程是否值得开发 C.开发工程 D.规划工程
23.在以下四种模块的耦合性中,信息隐蔽性能最好的是〔 C 〕
A.控制耦合 B.容耦合 C. 数据耦合 D. 特征耦合
24.需求分析是答复系统必须〔 D 〕的问题。
A. 为谁做 B.怎么做 C.时做 D.做什么
25.在UML中,类是用 〔 A 〕表示的
A 矩形框 B 椭圆 C 箭头 D 菱形框
26.编码阶段是位于哪个阶段之后( A )
A. 详细设计 B. 可行性研究 C. 总体设计 D. 需求分析
27.在数据流图中,圆圈符号表示的是( B )
A. 数据源点或终点 B.数据处理C. 数据存储 D. 数据流
28.聚是衡量模块部聚合能力的量度。聚越高,说明模块各成分彼此联系的程度( C )
A.越松散 B.彼此相等 C.越严密 D.没有联系
29.在瀑布模型中,将软件划分为假设干个时期,软件工程的可行性研究一般归属于〔 D 〕
A、维护时期 B、开发时期 C、运行时期 D、方案时期
30.软件维护有四种,下面哪一个不是的( B )
A. 完善性维护B. 测试性维护 C. 预防性维护 D. 适应性维护
31.构造化程序设计采用的三种根本控制构造是〔 A 〕
A.顺序、选择、重复 B.选择、循环、重复
C.顺序、分支、选择 D.输入、变换、输出
32.软件测试的目的是〔 B 〕
A. 为了说明程序没有错误 B.为了发现程序中的错误
C. 为了说明程序能正确地执行 D.为了评价程序的质量
33.在UML〔面向对象建模语言〕的用例图中,人形符号表示的是( C )
A 关联 B 用例 C角色 D 系统
34.软件测试法中,黑盒、白盒测试法是常用的法,其中白盒测试主要用于测试〔 D 〕
A、构造合理性 B、软件外部功能 C、程序正确性 D、程序部逻辑
35.下面哪些测试属于黑盒测试〔 C 〕。
A、路径测试 B、循环测试 C、等价类划分 D、条件判断
36.〔 A 〕是把对象的属性和操作结合在一起,构成一个独立的对象,其部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
A封装 B 继承 C 多态性 D 消息
37.在UML中,协作图反映收发消息的对象的构造组织,它与〔 B 〕是同构的
A 用例图 B时序图 C 活动图 D 类图
38.需求分析是软件生存期中的一个重要阶段,它的应该是在〔 C 〕进展。
A、维护阶段 B、软件开发全过程 C、软件定义阶段 D、软件运行阶段
39.下面哪个阶段不属于软件的开发时期( D )
A.编码 B.测试 C.需求分析 D. 维护
40.模块聚可分为七类,最低的聚是( D )
A. 顺序聚 B. 时间聚 C. 过程聚D. 偶然性聚
41.在以下工具与环境中〔 C 〕属于较早期的CASE。
A.基于信息工程CASE B.人工智能CASE
C.构造的基于图形CASE D.集成的CASE环境
42.Putnam本钱估算模型是一个〔 D 〕模型。
A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量
43.在McCall软件质量度量模型中,〔 C 〕属于面向软件产品修改。
A.可靠性 B.可重用性 C.适应性 D.可移植性
44.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准那么是〔 D 〕
A.SQIC B.SQMC C.SQRC D.SQDC
45.软件复杂性度量的参数包括〔 B 〕
A.效率 B.规模 C.完整性 D.容错性
46.对象实现了数据和操作的结合,使数据和操作〔 C 〕于对象的统一体中。
A.结合 B.隐藏 C.封装 D.抽象
47.软件调试技术包括〔 B 〕
A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试
48.瀑布模型的存在问题是〔 B 〕
A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求
49.软件测试法中的静态测试法之一为〔 A 〕
A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析
50.软件生命期中所花费用最多的阶段是〔 D 〕
A.详细设计 B.软件编码 C.软件测试 D.软件维护
51.第一个表达构造化编程思想的程序设计语言是〔 B 〕
A.FORTRAN语言 B.Pascal语言 C.C语言 D.PL/1语言
52.程序的三种根本控制构造是〔 B 〕
A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移
53.在详细设计阶段,经常采用的工具有〔 A 〕
A.PAD B.SA C.SC D.DFD
54.详细设计的结果根本决定了最终程序的〔 C 〕
A.代码的规模 B.运行速度 C.质量 D.可维护性
55.需求分析中开发人员要从用户那里了解〔 A 〕
A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模
56.构造化程序设计主要强调的是〔 D 〕
A. 程序的规模 B. 程序的效率C. 程序设计语言的先进性 D. 程序易读性
57.IDEF。图反映系统〔 D 〕
A.怎么做 B.对谁做 C.时做 D.做什么
58.经济可行性研究的围包括〔 C 〕
A.资源有效性 B.管理制度 C.效益分析 D.开发风险
59.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出〔 B 〕的答复。
A.确定 B.行或不行 C.正确 D.无二义
60.需求分析阶段的任务是确定〔 D 〕
A.软件开发法B.软件开发工具C.软件开发费 D.软件系统的功能
61 .软件工程管理的具体容不包括对 _________ 管理。( D )
A .开发人员 B .组织机构 C .控制 D .设备
62 .在 McCall 软件质量度量模型中, _________ 属于面向软件产品操作。( C )
A .正确性 B .可维护性 C .适应性 D .互操作性
63 .在快速原型模型的开发过程中,用原型过程来代替全部开发阶段所用模型是 _________ 模型。( B )
A .探索型原型 B .演化型原型 C .实验型原型 D .增量型原型
64 .维护中因删除一个标识符而引起的错识是 _________ 副作用。( C )
A .文档 B .数据 C .编码 D .设计
65 .软件维护的困难主要原因是( C )
A .费用低 B .人员少 C .开发法的缺陷 D .维护难
66 .用白盒法技术设计测试用例的法包括( C )
A .错误推测 B .因果图 C .根本路径测试 D .边界值分析
67 .软件测试中根据测试用例设计的法的不同可分为黑盒测试和白盒测试两种,它们( D )
A .前者属于静态测试,后者属于动态测试
B .前者属于动态测试,后者属于静态测试
C .都属于静态测试 D .都属于动态测试
68 .程序设计语言的心理特性在语言中表现不应包括( C )
A .歧义性 B .简洁性 C .XX性 D .传统性
69 .程序的三种根本控制构造的共同特点是( C )
A .只能用来描述简单程序 B .不能嵌套使用
C .单入口,单出口 D .仅用于自动控制系统
70 . JSP 法是一种面向 _________ 的设计法。( D )
A .控制构造 B .对象 C .数据流 D .数据构造
71 .当一个模块直接使用另一个模块的部数据,这种模块之间的耦合为( D )
A .数据耦合 B .公共耦合 C .标记耦合 D .容耦合
72 .软件设计的法有多种, _________ 法不属于面向数据流的设计法。( A )
A .基于 Jackson 图的设计 B .基于 IDEF 0 图的设计
C .交换分析设计 D .事务分析设计
73 .为高质量地开发软件工程,在软件构造设计时,必须遵循 _________ 原那么。( A )
A .信息隐蔽 B .质量控制 C .程序优化 D .数据共享
74 .数据流图( DFD )是 _________ 法中用于表示系统的逻辑模型的一种图形工具。( A )
A . SA(需求 分析) B . SD C . SP D . SC
75 .螺旋模型是一种将瀑布模型和 _________ 结合起来的软件开发模型。( A )
A .增量模型 B .专家系统 C .喷泉模型 D .变换模型
76 .需求规格说明书的作用不包括( C )
A .软件验收的依据
B .用户与开发人员对软件要做什么的共同理解
C .软件可行性研究的依据 D .软件设计的依据
77 .数据字典是用来定义 _________ 中的各个成份的具体含义的。( D )
A .流程图 B .功能构造图 C .系统构造图 D .数据流图
78 .设年利率为 i ,现存入 p 元,不计复利, n 年后可得数为( A )
A . p ﹡ (1+i ﹡ n)
B . p ﹡ (i+1)* n
C . p ﹡ (1+i) ﹡ n
D . p ﹡ (i+n)
79 .在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( A )
A .软件危机B .软件工程 C .程序设计革命 D .构造化程序设计
81.“软件工程的概念是为解决软件危机而提出的〞这句话的意思是( C )
A.强调软件工程成功解决了软件危机的问题
B.说明软件危机的存在总是使软件开发不像传统工程工程那样容易管理
C.说明软件工程这门学科的形成是软件开展的需要
D.说明软件工程的概念,即:工程的原那么、思想、法可解决当时软件开发和维护存在的问题
82.瀑布模型的主要特点是( A )
A.将开发过程格地划分为一系列有序的活动 B.将开发过程分解为阶段
C.提供了有效的管理模式 D.缺乏灵活性
83.在软件工程的需求分析阶段,不属于问题识别容的是( D )
A.功能需求B.性能需求 C.环境需求D.输入/输出需求
84.画某系统的数据流图时,顶层图有( B )
A.0B.1 C.2D.3及其以上
85.软件模块聚性最强的是( A )
A.功能聚B.通信聚 C.偶然聚D.逻辑聚
86.最早提出软件系统维护问题的阶段是( A )
A.可行性分析B.需求分析 C.概要设计D.详细设计
87.SD(构造化设计)法设计的结果是( B )
A.模块B.模块构造图 C.模块的算法D.数据流图
88.在进展软件测试时,首先应当进展以下哪项测试,然后再进展组装测试,最后再进展有效性测试( A )
A.单元测试B.系统测试 C.集成测试D.确认测试
89.软件详细设计阶段的任务是( A )
A.算法与数据构造设计B.功能设计C.调用关系设计D.输入/输出设计
90.以下属于静态测试法的是( D )
A.黑盒法B.路径覆盖 C.白盒法D.人工检测
91.Fortran语言主要作为以下哪个面的语言( A )
A.科学工程计算B.系统软件 C.事务处理D.人工智能
92.用构造化语言来描述加工逻辑的外层构造时,以下不属于根本构造的是( C )
A.顺序构造B.选择构造 C.嵌套构造D.重复构造
93.可维护软件的主要特性包括( A )
A.可理解性、可修改性、可移植性 B.可使用性
C.可维护性、可使用性、可靠性 D.可测试性
94.程序设计语言不具有的特性是( C )
A.心理特性B.工程特性 C.应用特性D.技术特性
95.以下不属于工程进度安排主要法的是( D )
A.工程网络图B.Gantt图 C.进度构造图D.任务资源表
96.以下不属于通常冗余技术的是( D )
A.构造冗余B.信息冗余 C.时间冗余D.代码冗余
97.以下工具中,属于需求追踪工具的是( A )
A.在DBMS上的应用运行工具B.追踪和状态报告 C.访问和版本控制机构D.文件和修改管理
98.关于软件测试的目的,下面观点错误的选项是( C )
A.为了发现错误而执行程序的过程 B.一个好的测试用例能够发现至今尚未发现的错误
C.证明程序是正确、没有错误的 D.一个成功的测试用例是发现了至今尚未发现的错误的测试
99.在制定工程开发方案文档时,不包含的容是( C )
A.工程概述B.实施方案 C.测试方案D.交付期限
100.面向对象的开发法中,以下哪种法原是面向Ada语言的,并处于面向对象开发法的奠基性地位( A )
A.Booch法B.Coad法 C.UML语言D.OMT法
填空题
1. 面向对象法=对象+类 +继承 +用消息通信。
面向对象=对象+类+继承+通过消息的通信 对象:一组属性及其上的操作的封装体 类:一组有一样属性和操作的对象的集合 继承:一个类为另一个类上的扩大的式,子类继承父类,主要目的是代码复用 消息:对象间通信的手段
2. 常用的软件过程模型有:瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型等。
3. 软件的对象模型通常由下述5个层次组成:主题层、类与对象层、构造层、属性层和效劳层。
4. 开发一个铁路售票系统,请完成图1所示的数据流图,从供选择的答案中选出A、B、C、D、E的容。供选择的答案:车次表、承受的请求、售票记录、购票请求、拒绝的请求。A购票请求、B承受、C拒绝的请求、D车次表、E 售票记录。
5. 计算一个班学生的平均成绩,层次图如图2所示,确定标号为〔1〕至〔4〕的四个模块的聚类型。〔1〕、〔2〕、〔3〕、〔4〕。
已收款
受理
收款
A
B
车票
车费
C
乘客
登记
D
E
计算某个科目的平均成绩
初始化变量sum
并翻开文件〔1〕
创立新的成绩记录〔2〕
存储成绩记录〔3〕
关闭文件并打印平均成绩〔4〕
计算一个班学生的平均成绩
读取科目和成绩
图1铁路售票系统数据流图 图2 计算一个班学生平均成绩层次图
6. 图2所示的软件构造中,模块〔2〕的扇入是 1,该软件构造的宽度是4。
7. 常用的软件规模估算技术有代码行技术和工程估算法 功能点技术。
8. 基线就是通过了正式复审的软件配置项。
9. 软件过程的输出信息可以分为3类:计算机程序、描述计算机程序的文档和程序数据。
10.根据软件规模可以估算出完成该工程所需的工作量,常用的估算模型为静态单变量模型、和COO2模型和动态多变量模型IBM模型。Gannt图
11.常用〔【1】耦合〕和聚这两个定性度量标准来评定模块的独立性。
12.构造化设计法以数据流图为根底,按一定步骤映射成软件构造,数据流图有两种根本构造:变换型构造和〔【2】事务流型构造〕。
13.软件的定义可以简单的表述为:软件=〔【3】程序+文档〕
14.测试技术有黑盒测试和白盒测试两种,根据程序的功能来设计测试用例,这种法称为〔 【4】黑盒〕测试。
15.在面向对象的系统设计过程中,有4种主要的设计组件必须定义,它们是领域组件、〔 【5】人机交互组件〕 、任务管理组件和数据管理组件。
16.统一建模语言是面向对象软件工程所使用的一种建模工具,其英文缩写是〔【6】UML〕
17.软件构造的深度、宽度、扇人、扇出四个特征,定义了软件构造的形态。〔【7】扇出〕是指一个模块直接调用的下属模块的数目。
18.软件维护的容包括纠错性维护,〔【8】适应性维护〕、完善性维护和〔【9】预防性维护〕。
19.向一个已经拖期的工程追加开发人员,可能使它完成得更晚。鉴于这一发现的重要性,多文献称之为〔【10】Brooks〕定律。
20.在UML的图形符号中,虚线箭头表示的是两个元素之间的 〔【11】依赖〕关系。
21.软件的测试可以分为4个步骤,主要包括〔【12】单元测试〕、集成测试、〔【13】确认测试〕和系统测试。
22.在软件的开发过程中,必须遵循的原那么是抽象、信息隐蔽和〔【14】模块化 〕。
23.为使软件适应运行环境的改变而进展的一类维护称之为〔【15】适应性维护〕。
24.在软件开发过程中要产生大量的信息,要进展大量的修改,〔【16】软件配置管理 〕 能协调软件开发,并使混乱减到最低程度。
25.规定功能的软件,在一定程度上对自身错误的作用〔【17】软件错误〕具有屏蔽能力,那么称此软件具有〔【18】容错功能〕的软件。
26.McCall提出的软件质量模型包括11个〔【19】软件质量〕特性。
27.软件可维护性度量的七个质量特性是可理解性、〔【20】可测试性〕、可修改性、可靠性、可移植性、可使用性和效率。
28.为了便于对照检查,测试用例应由〔输入数据〕和预期的输出结果两局部组成。
29.程序设计语言的心理特性主要表现在〔歧义性〕 、简洁性、传统性、局部性和顺序性。
30.软件构造是以〔模块〕为根底而组成的一种控制层次构造。
31.在构造化分析中,用于描述加工逻辑的主要工具有三种,即:构造化语言、〔判定表〕、判定树。
32.〔构造化语言〕是介于自然语言和形式语言之间的一种半形式语言。
33.假设年利率为i,不计复利,n年后可得数为F,那么现在的价值〔P=F/(1+(n*i))。
34 .在面向对象法中,对象实现了数据和操作的结合,使数据和操作 _封装__ 于对象的统一体中。
35 .面向对象分析的目的是对客观世界的系统进展 ______建模______ 。
36 .软件维护工作的生产性活动包括分析评 价、修改设计和 ________编写程序代码__________ 等。
37 .为了使应用软件适应计算机环境的变化而 __修改软件________________ 的过程称为适应性维护。
38 .一个进展学生成绩统计的模块其功能是先对学生的成绩进展累加,然后求平均值,那么该模块的聚性是 _顺序聚_________________ 。
39 .基于 IDEF 0 图的设计是以系统的功能模型和 ____信息构造______________为根底设计系统的软件构造。
40 .软件构造图的宽度是指一层中 ___最大_______________ 的模块个数。
41 .投资回收期就是使累计的经济效益等于 __最初的投资费用________________ 所需的时间。
42 .软件生存期是指一个软件从提出开发要求开场直到 _____软件废弃____软件报废_________ 为止的整个时期。
43.可行性研究从技术可行性、经济可行性、__工程可行性_社会可行性____三面进展分析。
44.IDEF0法用来描述系统的功能活动及其联系,建立系统的____功能___模型。
45.构造化法总的指导思想是__自顶向下_____逐层分解。
46.在一段程序中,将屡次出现的一组语句设计为一个子程序,供多个局部调用,这种情况出现的聚称为_偶然聚_______。
47.软件部件的部实现与外部可访问性别离,这是指软件的__封装____。
48.用来模拟被测模块的上级调用模块的模块称为__驱动模块_____。
49.软件复杂性度量的参数很多,主要有规模、__难度_____、构造、智能度。
50.软件开发环境中最主要的组成局部是_需求分析工具__软件工具___。
51.软件工程管理的具体容包括对开发人员、组织机构、用户和___文档资料__文档管理_等面的管理。
52.增量模型根据增量式和形式的不同,分为__渐增模型___和原型模型。
名词解释
1.白盒法
该法把测试对象看作一个翻开的盒子,测试人员须了解程序的部构造和处理过程,以检查处理过程的细节为根底,对程序中尽可能多的逻辑路径进展测试,检查部控制构造和数据构造是否有错,实际的运行状态与预期的状态是否一致。白盒法也不可能进展穷举测试。
2.类
具有一样或相似性质的对象的抽象就是类。
3.信息隐蔽
指在设计和确定模块时,使得一个模块包含的信息〔过程或数据〕,对于不需要这些信息的其它模块来说,是不能访问的。
4.路径覆盖
指设计足够的测试用例,覆盖被测程序中所有可能的路径。
5.软件工程
软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术法结合起来,这就是软件工程。
6.软件复用
就是将已有的软件成分用于构造新的软件系统。可以被复用的软件成分一般称作可复用构件,无论对可复用构件原封不动地使用还是作适当的修改后再使用,只要是用来构造新软件,那么都可称作复用。
7.软件生存期模型
描述软件开发过程中各种活动如执行的模型
8.数据字典〔DD〕
数据字典是用来定义数据流图中的各个成分的具体含义的。
它以一种准确的、无二义性的说明式为。系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。
9.聚性
聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块部各个元素彼此结合的严密程度的度量
10.多态性
指一样的操作或函数、过程可作用于多种类型的对象上并获得不同结果。或〔不同的对象,收到同一消息可以产生不同的结果。
11.面向对象法
是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统法,简称OO (Object-Oriented)法,是建立在“对象〞概念根底上的法学。
12.面向过程法
13.黑盒测试
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能翻开的黑盒子,在完全不考虑程序部构造和部特性的情况下,在程序接口进展测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部构造,不考虑部逻辑构造,主要针对软件界面和软件功能进展测试。
14.详细设计
是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部构造。
15.需求分析
是指对要解决的问题进展详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,在软件工程当中的“需求分析〞就是确定要计算机“做什么〞,要到达什么样的效果。可以说需求分析是做系统之前必做的。
16.设计模式
是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经历的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基脉络,如同大厦的构造一样。
17.条件覆盖
是指选择足够的测试用例,使得运行这些测试用例后,要使每个判断中每个条件的可能取值至少满足一次,但未必能覆盖全局部支
18.可行性分析
通过对工程的主要容和配套条件,如市场需求、资源供应、建立规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、工程等面进展调查研究和分析比较,并对工程建成以后可能取得的财务、经济效益及社会环境影响进展预测,从而提出该工程是否值得投资和如进展建立的咨询意见,为工程决策提供依据的一种综合性的系统分析法。可行性分析应具有预见性、公正性、可靠性、科学性的特点。
19.瀑布模型
是一个工程开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开场直到产品发布和维护,每个阶段都会产生循环反响,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回〞上一个阶段并进展适当的修改,工程开发进程从一个阶段“流动〞到下一个阶段,这也是瀑布模型名称的由来。
20.软件维护
是指根据需求变化或硬件环境的变化对应用程序进展局部或全部的修改,修改时应充分利用源程序。修改后要填写?程序修改登记表?,并在?程序变更通知书?上写明新旧程序的不同之处。
分析设计
1. 分析图3和表1,其中模块p、t、u更新同一个数据库,其它模块的关系如表1所示,请确定模块之间的耦合类型。
P和q之间,r和t之间,s和u之间都是数据耦合,因为他们之间传递的都是一个简单的变量。Q和r之间传递一个功能代码是,他们之间就是一个控制耦合。P和t以及u更新同一个数据库,他们之间具有公共的环境耦合。P调用s时〔接口2〕,是数据耦合。S至访问局部元素,那么是特征耦合
解析:综合分析图和表所提供的信息可知各个模块之间的耦合情况。如,当模块p调用模块q时〔接口1〕,它传递了一个参数——飞机类型。当模块q把控制返还给模块p时,它返还一个状态标志。某些模块之间的耦合类型是明显的,如,模块p和q之间〔接口1〕、模块r和t之间〔接口5〕以及模块s和u之间〔接口6〕都是数据耦合,因为他们传递的都是一个简单的变量。
假设两个模块中的一个模块给另一个模块传递控制元素,即,如果一个模块明显地控制另一个模块的逻辑,那么它们之间具有控制耦合。例如,当给具有逻辑聚的模块传递功能代码时就传递了控制元素。另一个控制耦合的例子是把控制开关作为一个参数传递。图中模块q调用模块r时〔接口3〕传递一个功能代码,因此,这两个模块之间时控制耦合。
由文字说明“模块p、t和u更新同一个数据库〞可知,他们之间具有公共环境耦合。由文字说明“模块p、t和u更新同一个数据库〞可知,他们之间具有公共环境耦合。
答:1.p-q :数据耦合
2.p-s:标记耦合
3.q-r:控制耦合
4.q-s:标记耦合
5.r-t:数据耦合
6.s-u:数据耦合
7.p,t,u之间为公共环境耦合
P
q
s
r
u
t
1
2
6
4
3
5
表1 模块间的接口描述
编号
输入
输出
1
班级名称
班级编号
2
学生学号
3
功能代码
4
学生XX
5
班级编号
班主任
6
班级编号
班长
图3程序模块互连图
p-q:数据耦合
p-s:标记耦合
q-r:控制耦合
q-s:标记耦合
r-t:数据耦合
s-u:数据耦合
p-t-u:公共环境耦合
2.分析图4所示程序流程图,请分析采用条件覆盖进展测试的测试用例,将测试数据写入对应单元格。
A
B
C
D
1
1
2
0
0
1
1
1
1
0
1
1
输入A/B/C/D
A>0 and B>0
X=A-B
X=A+B
C>A and D<B
Y=C-D
Y=C+D
终止
T1 A>0 , F1 A<0
T2 B>0 , F2 B<0
T3 C>A , F3 C<A
T4 D<B , F4 D>B
测试用例:
A=1,B=1,C=2,D=0 覆盖了 T1,T2,T3,T4
A=0,B=1,C=1,D=1 覆盖了 F1,T2,T3,F4
A=1,B=0,C=1,D=1 覆盖了 T1,F2,F3,F4
图4程序流程图
3.分析图5所示程序流程图,画出对应的流图,采用McCabe法计算其复杂度。
计算复杂度有三种方法:
V〔G〕=D;D代表区域数
V〔G〕=E-N+2;E为流图中的边的条数,N是流图中结点数
V〔G〕=P+1;P为判定结点的数目。
复杂度为4.
4. 分析图6所示的公文提交时序图,用文字描述对象间的交互过程。
图6 公文提交时序图
答:访问者访问浏览器,提交自己的访问请求,并且向效劳器提交公文,效劳器解析访问者的请求参数,获取公文提交法〔〕,效劳器进展业务处理,调用数据库进展数据更新,更新公文状态〔〕,向数据库返回更新结果〔〕和返回公交结果〔〕,对浏览器发送Response响应〔〕,最后,访问者获得公文提交结果。
5.软件工程课程资源的主要模块有:首页、教学队伍、课程描述、教学大纲、理论教学、实验教学、课程资源、习题试卷、师生互动等。请根据界面设计的一般原那么,设计该的首页。
院系----------------------- 专业、班级--------------------- XX------------------- 学号 --------------------
------------------------- 密-----------------------封-------------------------------线-------------------------------------------------
6.某学籍管理系统需要输入学生代码。合法的代码符合以下3条规那么:
〔1〕由6位数字构成;
〔2〕前四位是入学年份(2021—2021);
〔3〕后2位是专业类别(01-12)。
采用等价类划分法进展测试,请列出测试等价类表、设计测试用例。
“学生代码〞输入条件的等价类表
输入条件
有效等价类
无效等价类
学生代码的类型及长度
6位数字字符〔1〕
有非数字字符 (4)
少于6个数字字符 (5)
多于6个数字字符 (6)
入学年份的围
在2021-2021之间〔2〕
小于2021〔7〕
大于2021〔8〕
专业类别的围
在01-12之间〔3〕
小于01〔9〕
大于12〔10〕
测试用例设计表
测试数据
期望结果
覆盖围
202101
输入有效
等价类〔1〕〔2〕〔3〕
20210a
输入无效
等价类〔4〕
20210
输入无效
等价类〔5〕
2021001
输入无效
等价类〔6〕
202101
输入无效
等价类〔7〕
2021 01
输入无效
等价类〔8〕
202100
输入无效
等价类〔9〕
202113
输入无效
等价类〔10〕
7.实验教学管理系统的用户主要有学生、教师和管理员。管理员可以在学期初为教师开通实验工程管理权限,教师可以添加实验工程、修改实验工程、删除实验工程、查询实验工程,确定无误后提交实验工程。实验工程提交后,学生、教师、管理员只能查看实验工程。根据以上描述,完成下面题目。
1〕.分析实验教学管理系统的功能,请用数据流图或者用例图建立功能模型。说明:如果采用数据流图,至少画出顶层和零层。
院系-
展开阅读全文