名词解释题
1、可移植性:指与软件从某一环境转移到另一环境下的难易程度
2、软件维护:指软件系统交付使用后,为了改正错误或满足新的需要而修改软件的过程。
3、多态性:同一个操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果;
4、逆向工程:指在软件生存周期中,将软件的某种形式描述转换成更抽象形式的活动。
5、软件项目管理:通过项目经理和项目组织的努力,运用系统理论的方法对项目及其资源进行计划、组织、协调、控制,旨在实现项目的特定目标的管理方法的体现。
6、软件工程:软件工程是应用计算机科学、数学及管理科学等原理,以工程化的原则和方法制作软件的工程。
7、扇入:指直接调用该魔铠的模块数目
8、扇出:该模块直接调用的模块数目
9、系统响应时间:指从用户执行某个控制动作到软件做出响应的时间
10、条件覆盖:选择足够测试用例,是的执行这些测试用例时,被测试的程序的每个判定的每个图熬煎的所有可能结果都至少出现一次。
11、内聚:内聚是一个模块内部各个元素彼此结合的紧密程度的度量。
12、耦合:是模块之间的相互独立性(互相连接的紧密程度)的度量。
13、对象:在计算机系统中,对象是指一组属性以及这组属性上的准用操作的封装体。
14、类:是一组具有相同属性和相同操作的对象的集合。
15、多态性:指同一操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果。
16、构件:是软件系统中具有相对独立功能,可以明确标识,接口由规定指定,与语境具有明显依赖关系,可独立部署,且多由第三方提供的可组装软件实体。
17、数据词典:是描述数据信息的集合,它对数据流图中的各个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。
18、数据流图:他以图形的方式反映系统的数据流程
19、白盒测试:按照程序内部的结构测试程序,检验程序中的每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法
20、黑盒测试:按照程序的功能测试程序,检验与程序功能有关的输入、输出与程序执行是否正确。有四种方法既等价分类法、边界值分析法、错误猜测法和因果图法
21、完善性维护:为了适应用户业务和机构的发展变化而对软件的功能、性能进行修改、扩充的过程称为完善性维护。因为各种用户的业务和机构在相当长的时期内不可能是一成不变的,所以功能、性能的增加是不可避免的,而且这种维护活动在整个维护工作中所占的比重很大
22、软件可靠性:指在给定的时间内,程序按照规定的条件成功地运行的概率
23、软件配置:是一个软件在生存周期内,他的各种形式、各种版本的文档与程序的总称
24、软件再工程:运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合、并重新构建软件,用于提高软件的可理解性、可维护性可复用性或演化性。
25、α测试:是在一个受控的环境下,由用户在开发者的“指导”下进行的的测试,由开发者负责记录错误和使用中出现的问题。
β测试:是由软件的最终用户(多个)在一个或多个用户场所来进行。由用户负责记下遇到的所有问题,包括主观认定的和真实的问题,定期向开发者报告,开发者在综合用户的报告之后进行修改,最后将软件产品交付给全体用户使用。
26、聚集关系:表示类或对象之间的整体与部分的关系
泛化关系:表示类或对象之间的一般与特殊的关系
27、软件工程:软件工程是应用计算机科学、数学及管理科学等原理,以工程化的原则和方法制作软件的工程
28、模块:是数据说明、可执行语句等程序对象的集合,它是单独命名的,并且可以通过名字来访问。
模块完成独立的功能并且与其他模块的接口简单, 模块间关联和依赖程度尽可能小。
29、计算机系统工程:是一个问题求解的活动,其目的是分析基于计算机的系统的功能、性能等要求,并把它们分配到基于计算机系统的各个系统元素中,确定它们的约束条件和接口。
30、程序设计语言:是指用于书写计算机程序的语言,它是一种实现性的软件语言
31、模块的独立性: 模块完成独立的功能并且与其他模块的接口简单, 模块间关联和依赖程度尽可能小.
32、软件演化:是指软件在交付以后,对软件进行的一系列活动的总称。
33、软件需求规约:分析任务的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。
填空题
1、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和广度优先策略。
2、按数据流的类型,结构化设计方法有两种设计策略,它们是变换型设计和事物型设计。
3、风险管理包括:风险标识、风险预测、风险评估、风险管理与监控
4、数据流图和数据字典共同构成了系统的需求分析模型,是需求规格说明书的主要组成部分
6、为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。
7、衡量模块独立性的两个定性标准是什么1.耦合性 2.内聚性
8、用于描述基本加工的小说名的三种描述工具是结构化语言、判定表和判定树。
9、G.J.Myers提出:软件测试是为了发现错误而执行程序的过程。
10、再画分层的DFD时,父图与子图的输入输出数据流要相同
11、一般而言,单独测试某一模块时,要为它设计驱动模块和 调用 模块,它们的作用是分别模拟被测试模块的 调用 和 被调用
简答题
1、软件生存周期和任务
6个阶段:计算机系统工程、需求分析、设计、编码、测试、运行和维护。
1)确定待开发软件的总体要求和范围,该软件与其他计算机系统元素之间的关系,进行成本估计,做出进度安排,并进行可行性分析,并在过若干可行的解决方案中做出选择
2)解决待开软件做什么的问题
3)解决待开发软件怎么做的问题
4)用某种语言将设计的结果转换为可执行的程序代码
5)发现并纠正软件中的错误和缺陷
6)发现软件中潜藏的错误或需要增加新的功能或使软件适应外界环境变化等情况出现时,对软件进行的修改
2、瀑布模型优缺点:
对确保软件开发的顺利进行、提高软件项目的质量和开发效率起到重要作用。
客户在测试完成后才看到真正可运行的软件,若不满足要求,修改软件代价巨大,实际软件开发很少能按其顺序没有回流地顺流而下
3、什么是黑盒测试法?常用的黑盒测试方法有哪些?
解答:黑盒测试法把被测试对象看成是一相黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。
采用黑盒技术测试用例的方法有:等价类的划分、边界值分析、错误推测和因果图。
4、软件维护种类:纠错性维护;适应性维护;改善性维护;预防性维护
5、构件库管理系统的主要功能有哪些?简要说明:
(1)构件的分类存储:根据构建库的分类模型将入库的构建储存在构建库中,并保存构建描述信息
(2)构件检索:从构建库中检索出满足用户要求或接近用户要求的构建
(3)构件库浏览:浏览库中的全部或部分构建
(4)删除构件:将不再使用的构建从构建库中删除
(5)构件使用情况评价:根据用户使用和检索构建的反馈意见。对构建做出评价,为进一步的进提供依据
6、在模块化设计过程中,必须遵循的设计原则是什么?为了实现有效的模块化,采用的启发设计策略师什么?
解答:在模块化设计过程中,必须遵循的设计原则:抽象与逐步求精、信息隐藏、模块化、高内聚低耦合。
按照模块化设计原则,相应的启发式设计策略(6条):
(1)改造程序结构图,降低耦合度,提高内聚度
(2)避免高扇出,并随着深度的增加,力求高扇入
(3)模块的影响范围应限制在该模块的控制范围内
(4)降低模块接口的复杂程度和冗余程度,提高一致性
(5)模块的功能应是可预测的,避免对模块施加过多的限制
(6)尽可能设计单入口和单出口的模块
7、简述软件生存周期及其每一阶段的主要任务结果以及所采用的工具?
解答: 6个阶段:计算机系统工程、需求分析、设计、编码、测试、运行和维护。
置用户于控制之下、减少用户的记忆负担、保持界面一致
12、请给出5种软件过程模型,并简单说明每种模型的特点。
瀑布模型、V模型、原型模型、增量式模型、螺旋式模型。
13、在模块化设计过程中,必须遵循的设计原则是什么?为了实现有效的模块化,采用的启发设计策略师什么?
在模块化设计过程中,必须遵循的设计原则:抽象与逐步求精、信息隐藏、模块化、高内聚低耦合。
按照模块化设计原则,相应的启发式设计策略(6条):
(1)改造程序结构图,降低耦合度,提高内聚度
(2)避免高扇出,并随着深度的增加,力求高扇入
(3)模块的影响范围应限制在该模块的控制范围内
(4)降低模块接口的复杂程度和冗余程度,提高一致性
(5)模块的功能应是可预测的,避免对模块施加过多的限制
(6)尽可能设计单入口和单出口的模块
14、简述面向对象的设计过程。
(1)系统设计 将子系统分配到处理器、选择实现数据管理、界面支持和任务管理的设计策略、为系统设计合适的控制机制;
(2)对象设计 在过程级别(procedural lavel)设计每个操作,即设计每个操作的实现细节、定义内部类、为类属性设计内部数据结构;
(3)消息设计 使用对象间的协作和对象--关系模型,设计消息模型
(4)复审 复审设计模型并在需要时迭代。
15、 OOA包括哪些活动?
面向对象分析包括活动:
1. 获取客户对系统的需求:包括标识场景(scenario)和用况(use case,也称用例),以及建造需求模型
2. 用基本的需求为指南,来选择类和对象(包括属性和操作)。
3. 定义类的结构和层次。
4. 建造对象—关系模型。
5. 建造对象—行为模型。
6. 利用用况/场景来复审分析模型。
16、说明软件测试和调试的目的有何区别?
软件测试是设计合适的测试用例,用尽可能少的测试用例,来发现尽可能多的软件错误。
调试的目是确定错误的原因和准确位置,并加以纠正。
17、结构化程序设计方法的基本要点是什么?
结构化设计是将结构化分析得到的数据流图映射成软件体系结构的一种设计方法。强调模块化、自顶向下逐步求精、信息隐蔽、高内聚低耦合等设计准则;分为概要设计和详细设计两大步骤。
18、简述单元测试的内容,什么是白盒测试法?常用的白盒测试方法有哪些?
把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确地工作
常用的白盒测试方法有:逻辑覆盖测试、基本路径覆盖测试、数据流测试、循环测试。
19、什么是类?什么是继承?什么是多态?简述类在建模中的作用。
20、什么是需求规约?简述需求规约的作用。
21、CMM的能力成熟度共分哪五级?简要说明。
综合题
1、试求下列问题的判定树和判定表:
描述旅游票预定问题:旅游票预定系统中,在旅游旺季7、8、9、12月,如果订票超过50张,则优惠票价的15%;50张以下,优惠5%。在旅游淡季1、2、3、11月,若订票超过50张,则优惠30%;50张以下,优惠20%。一般旅游季4、5、6、10月,若订票超过50张,则优惠20%;50张以下,优惠15%。
判定表:
条件 |
| 1 | 2 | 3 | 4 | 5 | 6 |
旅游旺季7、8、9、12月 | T | T | F | F | F | F | |
旅游淡季1、2、3、11月 | F | F | T | T | F | F | |
一般旅游季4、5、6、10月 | F | F | F | F | T | T | |
订票张数>50 | T | F | T | F | T | F | |
动作 | 优惠5% |
| √ |
|
|
|
|
优惠15% | √ |
|
|
|
| √ | |
优惠20% |
|
|
| √ | √ |
| |
优惠30% |
|
| √ |
|
|
|
四、设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。
1)划分等价类并编号,下表等价类划分的结果
1)划分等价类并编号,下表等价类划分的结果
输入等价类 | 有效等价类 | 无效等价类 |
日期的类型及长度 | ①6位数字字符 | ②有非数字字符 ③少于6位数字字符 ④多于6位数字字符 |
年份范围 | ⑤在1990~2049之间 | ⑥小于1990 |
月份范围 | ⑧在01~12之间 | ⑨等于00 ⑩大于12 |
2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为①、⑤、⑧,设计的测试用例如下:
测试数据 期望结果 覆盖的有效等价类
200211 输入有效 ①、⑤、⑧ |
3)为每一个无效等价类设计一个测试用例,设计结果如下:
测试数据 期望结果 覆盖的无效等价类
95June 无效输入 ② 20036 无效输入 ③ 2001006 无效输入 ④ 198912 无效输入 ⑥ 200401 无效输入 ⑦ 200100 无效输入 ⑨ 200113 无效输入 ⑩ |
五、工资计算系统中的一个子系统有如下功能:
( 1 )计算扣除部分—由基本工资计算出应扣除(比如水电费、缺勤)的部分;
( 2 )计算奖金部分—根据职工的出勤情况计算出奖励金;
( 3 )计算工资总额部分—根据输入的扣除额及奖金计算出总额;
( 4 )计算税金部分—由工资总额中计算出应扣除各种税金;
( 5 )生成工资表—根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。
试根据要求画出该问题的数据流程图,并把其转换为软件结构图。
六、假设某航空公司规定,乘客可以免费托运重量不超过30公斤的行李。当行李重量超过30公斤时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。请给出该问题的判定树和判定表。
解答:
条
件 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
国内乘客 |
| T | T | T | T | F | F | F | F | |
头等舱 |
| T | F | T | F | T | F | T | F | |
残疾乘客 |
| F | F | T | T | F | F | T | T | |
行李重量W≤30 | T | F | F | F | F | F | F | F | F | |
动
作 | 免费 | √ |
|
|
|
|
|
|
|
|
(W-30)×2 |
|
|
| √ |
|
|
|
|
| |
(W-30)×3 |
|
|
|
| √ |
|
|
|
| |
(W-30)×4 |
| √ |
|
|
|
|
| √ |
| |
(W-30)×6 |
|
| √ |
|
|
|
|
| √ | |
(W-30)×8 |
|
|
|
|
| √ |
|
|
| |
(W-30)×12 |
|
|
|
|
|
| √ |
|
|
残疾乘客 |
(W-30)×2 |
正常乘客 |
(W-30)×4 |
正常乘客 |
(W-30)×6 |
残疾乘客 |
(W-30)×3 |
残疾乘客 |
(W-30)×4 |
正常乘客 |
(W-30)×8 |
残疾乘客 |
(W-30)×6 |
正常乘客 |
(W-30)×12 |
头等舱 |
其他舱 |
头等舱 |
其他舱 |
国内乘客 |
国外乘客 |
行李重量 W>30 |
行李重量 W≤30 |
免费 |
行李费 |
七、图书馆的预定图书子系统有如下功能(本题15分):
采用结构化费明细、设计的方法,对该题目进行分析设计,并根据要求画出该问题的数据流程图,并把其转换为软件结构图。
八、根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。(本题10分)
“一个程序读入3个整数,它们分别代表一个三角形的3个边长。该程序判断所输入的整数是否构成一个三角形,以及该三角形是一般的、等腰的或等边的,并将结果打印出来。”
要求:设三角形的3条边分别为A、B、C,并且
(1) 列出等价类表,格式如下:
输入条件 | 有效等价类 | 无效等价类 |
| (注意:将等价类编号) | (注意:将等价类编号) |
(2) 设计测试用例,格式如下:
用例n:输入【A,B,C】覆盖等价类……(列出等价类序号),输出结果为……。
例如:用例10:输入【3,3,3】覆盖等价类(100)(600),输出结果为等边三角形。
解答:
(1) 列出等价类表
输入条件 | 有效等价类 | 无效等价类 |
是否构成一个三角形 | (1)A>0且B>0且C>0且 A+B>C且B+C>A且 A+C>B。 | (2)A≤0或B≤0或C≤0 (3)A+B≤C或A+C≤B 或B+C≤A |
是否等腰三角形 | (4)A=B或A=C或B=C | (5)A≠B且A≠C且B≠C |
是否等边三角形 | (6)A=B且A=C且B=C | (7)A≠B或A≠C或B≠C |
(2) 设计测试用例
用例1:输入【3,4,5】覆盖等价类(1,2,3,4,5,6),输出结果为构成一般三角形。
用例2:三者取一
输入【0,1,2】覆盖等价类(2),输出结果为不构成三角形。
输入【1,0,2】覆盖等价类(2),输出结果为不构成三角形。
输入【1,2,0】覆盖等价类(2),输出结果为不构成三角形。
用例3:三者取一
输入【1,2,3】覆盖等价类(3),输出结果为不构成三角形。
输入【1,3,2】覆盖等价类(3),输出结果为不构成三角形。
输入【3,1,2】覆盖等价类(3),输出结果为不构成三角形。
用例4:三者取一
输入【3,3,4】覆盖等价类(1)(4),输出结果为等腰三角形。
输入【3,4,4】覆盖等价类(1)(4),输出结果为等腰三角形。
输入【3,4,3】覆盖等价类(1)(4),输出结果为等腰三角形。
用例5:输入【3,4,5】覆盖等价类(1)(5),输出结果为不是等腰三角形。
用例6:输入【3,3,3】覆盖等价类(1)(6),输出结果为等边三角形。
用例7:三者取一
输入【3,4,4】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。
输入【3,4,3】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。
输入【3,3,4】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。
九、面向对象的分析设计方法(本题15分)
某银行计算机储蓄系统的工作流程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人的姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存款单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
采用面向对象的思想方法对该问题进行分析、设计,并对下列问题给出解答
(1)给出系统的用例图;
(2)给出类图;
(3)给出系统中的一个用户“张三”存款20元的顺序图;
(4)给出有关的数据库(表)的结构;
十、根据下列条件使用等价类划分法设计测试用例。(本题10分)
某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065。
解答:
有效等价类:(1)以零开头,为是为1;
(2)以零开头,为是为2;
(3)以零开头,为是为3;
(4)带负号的,以零开头,为是为1;
(5)带负号的,以零开头,为是为2;
(6)带负号的,以零开头,为是为3;
无效等价类:(7)含有数字8
(8)含有数字9
(9)含有其它非法符号的
(10)数据小于-0177
(11)数据大于0177设计测试用例:
输出正确结果的:
01
012
0123
-01
-012
-0123
输出非法结果的:
08
09
0a
0233
-0234
十一、试求下列问题的判定树和判定表:描述旅游票预定问题:旅游票预定系统中,在旅游旺季7、8、9、12月,如果订票超过50张,则优惠票价的15%;50张以下,优惠5%。在旅游淡季1、2、3、4、5、6、10、11月,若订票超过50张,则优惠30%;50张以下,优惠20%。
旅游时间 | 7、8、9、12月 | 1、2、3、4、5、6、10、11月 | ||
订票量 | £50 | >50 | £50 | >50 |
折扣量 | 5% | 15% | 20% | 30% |
十二、某个学生成绩管理系统的部分功能如下:
(1)基本信息管理:教务管理人员输入或修改学期教学执行计划、学生名单和教师名单;
(2)学生选课:学生根据教学执行计划进行选课;.
(3)分配任课教师:教务管理人员为符合开课条件的课程分配教师,并打印任课通知单给教师;
(4)成绩管理:每门课程的教师在考试评分结束后将考试成绩交给教务管理人员,教务管理人员输入、维护成绩,系统可生成成绩单(发给学生)、成绩统计分析表(发给教务管理人员)。
问题:
请根据要求画出该问题的分层数据流图(要求画出顶层和0层数据流图),并给出软件结构层次图。
十三、某医院打算开发一个以计算机为中心的患者监护系统,医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。请用数据流图描绘本系统的功能。
十四、下面是一个学校中的类图。语义如下:学校有多个系,每个系有多个老师,一个老师可以讲多门课,一门课也可以有多个老师来讲,一个学生只能在一个学校上课,一个学校至少有一名学生,每个学生可以选多门课。
十五、销售店员结算一件商品系统的描述如下:顾客到柜台前结算,店员使用 UPC 读卡器读 取商品名称和价格,管理员可以对固定种类商品18(18 岁以下禁止)结算,库存店员通过 UPC 读卡器管理库存。 该结算商品系统的用况图见图