热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

软件工程不知道从哪搞的谢谢学长学姐

名词解释题1、可移植性:指与软件从某一环境转移到另一环境下的难易程度2、软件维护:指软件系统交付使用后,为了改正错误或满足新的需要而修

名词解释题

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. 大多数的构建分类模式可以归结为3类,枚举分类、刻面分类、属性一致分类
  2. 模块的内聚性最高的是功能内聚
  3. 衡量模块独立性的两个定性标准是内聚度与耦合度
  4. 用于描述基本加工的小说迷的三种描述工具是结构化语言、判定树、判定表
  5. 汽车有一个发动机,汽车和打洞机之间的关系是整体-部分关系
  6. 在画分层的DFD时,父图和子图的输入输出数据流要平衡
  7. 在信息处理和计算机领域内,一般认为软件是 程序、文档和数据。
  8. 数据流图的基本组成部分有数据的源点与终点、数据流、加工、数据文件。
  9. 数据流图和数据字典共同构成了系统的 逻辑 模型,是需求规格说明书的主要组成部分。
  10. 划分模块时尽量做到高内聚、低耦合,保持模块的独立性,尽量使用公共模块。
  11. 类的实例化是对象
  12. 人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可靠性的两个指标是成功地运行的概率平均故障时间
  13. 将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,将得到软件的总开发量。这种成本估算方法称为自底向上
  14. 如果一个模块被 n 个模块调用&#xff0c;其中直接的上级模块的个数是 m 个&#xff08; m<&#61;n &#xff09;那么该模块的扇入数是N个。
  15. 结构化设计以数据流图为基础&#xff0c;按一定的步骤映射成软件结构。
  16. 软件的风险分析可包括风险识别、风险预测和风险驾驭&#xff08;或风险管理&#xff09;等3项活动。
  17. 软件著作权登记的3种主要类型&#xff1a;&#xff08;1&#xff09;著作权登记&#xff1b;&#xff08;2&#xff09;著作权延续登记&#xff1b;&#xff08;3&#xff09;权利转移备案登记
  18. 软件工程管理的主要内容有&#xff1a;项目经费管理&#xff0c;软件质量管理&#xff0c;项目进度管理和人员管理
  19. 面向对象分析的目的是对客观世界的系统进行建模。
  20. 软件维护工作的生产性活动包括分析评价、修改设计和编写程序代码等。
  21. 为了使应用软件适应计算机环境的变化而修改软件的过程称为适应性维护。
  22. 一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加&#xff0c;然后求平均值&#xff0c;则该模块的内聚性是顺序内聚
  23. 投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。
  24. 软件生存周期是指一个软件从提出开发要求开始直到软件废弃为止的整个时期。
  25. 曾被誉为“程序设计方法的革命”的结构化程序设计&#xff0c;使程序设计从主要依赖于程序员个人的自由活动变成为有章可循的一门科学。
  26. 从结构化程序设计到面向对象程序设计&#xff0c;是程序设计方法的又一次飞跃。
  27. 在单元测试时&#xff0c;需要为被测模块设计测试用例
  28. 系统分析、设计的两大方法&#xff1a;结构化分析与设计方法、
  29. 软件测试的白盒子测试方法中&#xff0c;逻辑覆盖有&#xff1a;
  30. 软件可行性研究从技术可行性、     三个方面分析研究每种解决方案的可行性

简答题

1、软件生存周期和任务

6个阶段&#xff1a;计算机系统工程、需求分析、设计、编码、测试、运行和维护。

1&#xff09;确定待开发软件的总体要求和范围&#xff0c;该软件与其他计算机系统元素之间的关系&#xff0c;进行成本估计&#xff0c;做出进度安排&#xff0c;并进行可行性分析&#xff0c;并在过若干可行的解决方案中做出选择

2&#xff09;解决待开软件做什么的问题

3&#xff09;解决待开发软件怎么做的问题

4&#xff09;用某种语言将设计的结果转换为可执行的程序代码

5&#xff09;发现并纠正软件中的错误和缺陷

6&#xff09;发现软件中潜藏的错误或需要增加新的功能或使软件适应外界环境变化等情况出现时&#xff0c;对软件进行的修改

2、瀑布模型优缺点&#xff1a;

对确保软件开发的顺利进行、提高软件项目的质量和开发效率起到重要作用。

客户在测试完成后才看到真正可运行的软件&#xff0c;若不满足要求&#xff0c;修改软件代价巨大&#xff0c;实际软件开发很少能按其顺序没有回流地顺流而下

3、什么是黑盒测试法&#xff1f;常用的黑盒测试方法有哪些&#xff1f;

解答&#xff1a;黑盒测试法把被测试对象看成是一相黑盒子&#xff0c;测试人员完全不考虑程序的内部结构和处理过程&#xff0c;只在软件接口处进行测试&#xff0c;依据需求规格说明书&#xff0c;检查程序是否满足功能要求。

采用黑盒技术测试用例的方法有&#xff1a;等价类的划分、边界值分析、错误推测和因果图。

4、软件维护种类&#xff1a;纠错性维护&#xff1b;适应性维护&#xff1b;改善性维护&#xff1b;预防性维护

5、构件库管理系统的主要功能有哪些&#xff1f;简要说明&#xff1a;

&#xff08;1&#xff09;构件的分类存储&#xff1a;根据构建库的分类模型将入库的构建储存在构建库中&#xff0c;并保存构建描述信息

&#xff08;2&#xff09;构件检索&#xff1a;从构建库中检索出满足用户要求或接近用户要求的构建

&#xff08;3&#xff09;构件库浏览&#xff1a;浏览库中的全部或部分构建

&#xff08;4&#xff09;删除构件&#xff1a;将不再使用的构建从构建库中删除

&#xff08;5&#xff09;构件使用情况评价&#xff1a;根据用户使用和检索构建的反馈意见。对构建做出评价&#xff0c;为进一步的进提供依据

6、在模块化设计过程中&#xff0c;必须遵循的设计原则是什么&#xff1f;为了实现有效的模块化&#xff0c;采用的启发设计策略师什么&#xff1f;

解答&#xff1a;在模块化设计过程中&#xff0c;必须遵循的设计原则&#xff1a;抽象与逐步求精、信息隐藏、模块化、高内聚低耦合。

按照模块化设计原则&#xff0c;相应的启发式设计策略(6条)&#xff1a;

(1)改造程序结构图&#xff0c;降低耦合度&#xff0c;提高内聚度

(2)避免高扇出&#xff0c;并随着深度的增加&#xff0c;力求高扇入

(3)模块的影响范围应限制在该模块的控制范围内

(4)降低模块接口的复杂程度和冗余程度&#xff0c;提高一致性

(5)模块的功能应是可预测的&#xff0c;避免对模块施加过多的限制

(6)尽可能设计单入口和单出口的模块

7、简述软件生存周期及其每一阶段的主要任务结果以及所采用的工具&#xff1f;

解答&#xff1a; 6个阶段&#xff1a;计算机系统工程、需求分析、设计、编码、测试、运行和维护。


  1. CMM的能力成熟度共分哪五级&#xff1f;简要说明&#xff1f;

  1. 初始级&#xff1a;软件过程的特点是无秩序的&#xff0c;甚至是混乱的
  2. 可重复级&#xff1a;建立了基本的项目管理过程来跟踪成本&#xff0c;进度和共轭能特性
  3. 已定义级&#xff1a;已将管理和工程活动两方面的软件工程文档化&#xff0c;标准化
  4. 已管理级&#xff1a;对软件过程和产品都有定量的理解和控制
  5. 优化级&#xff1a;过程的量化反馈和现金的新思想&#xff0c;新技术促使过程不断改进

  1. 软件体系结构的风格

  1. 一些实现系统所需的功能部件
  2. 定义部件之间怎样整合的系统约束
  3. 一组用来连接部件通信&#xff0c;协作和合作的连接件
  4. 使设计者能够理解整个系统属性并分析已知

  1. 什么是系统测试&#xff1f;系统测试有哪些&#xff1f;

  1. 是对整个机遇计算机的系统进行的一系列测试
  2. 恢复测试、安全保密性测试、压力测试、性能测试

  1. 黄金三原则

置用户于控制之下、减少用户的记忆负担、保持界面一致

12、请给出5种软件过程模型&#xff0c;并简单说明每种模型的特点。

瀑布模型、V模型、原型模型、增量式模型、螺旋式模型。

13、在模块化设计过程中&#xff0c;必须遵循的设计原则是什么&#xff1f;为了实现有效的模块化&#xff0c;采用的启发设计策略师什么&#xff1f;

在模块化设计过程中&#xff0c;必须遵循的设计原则&#xff1a;抽象与逐步求精、信息隐藏、模块化、高内聚低耦合。

按照模块化设计原则&#xff0c;相应的启发式设计策略(6条)&#xff1a;

(1)改造程序结构图&#xff0c;降低耦合度&#xff0c;提高内聚度

(2)避免高扇出&#xff0c;并随着深度的增加&#xff0c;力求高扇入

(3)模块的影响范围应限制在该模块的控制范围内

(4)降低模块接口的复杂程度和冗余程度&#xff0c;提高一致性

(5)模块的功能应是可预测的&#xff0c;避免对模块施加过多的限制

(6)尽可能设计单入口和单出口的模块

14、简述面向对象的设计过程。

&#xff08;1&#xff09;系统设计  将子系统分配到处理器、选择实现数据管理、界面支持和任务管理的设计策略、为系统设计合适的控制机制&#xff1b;

&#xff08;2&#xff09;对象设计  在过程级别&#xff08;procedural lavel&#xff09;设计每个操作&#xff0c;即设计每个操作的实现细节、定义内部类、为类属性设计内部数据结构&#xff1b;

&#xff08;3&#xff09;消息设计  使用对象间的协作和对象--关系模型&#xff0c;设计消息模型

&#xff08;4&#xff09;复审  复审设计模型并在需要时迭代。

15、 OOA包括哪些活动?

面向对象分析包括活动&#xff1a;

1.  获取客户对系统的需求&#xff1a;包括标识场景&#xff08;scenario&#xff09;和用况&#xff08;use case&#xff0c;也称用例&#xff09;&#xff0c;以及建造需求模型

2.  用基本的需求为指南&#xff0c;来选择类和对象&#xff08;包括属性和操作&#xff09;。

3.  定义类的结构和层次。

4.  建造对象—关系模型。

5.  建造对象—行为模型。

6.  利用用况/场景来复审分析模型。

16、说明软件测试和调试的目的有何区别&#xff1f;

软件测试是设计合适的测试用例&#xff0c;用尽可能少的测试用例&#xff0c;来发现尽可能多的软件错误。

调试的目是确定错误的原因和准确位置&#xff0c;并加以纠正。

17、结构化程序设计方法的基本要点是什么?

结构化设计是将结构化分析得到的数据流图映射成软件体系结构的一种设计方法。强调模块化、自顶向下逐步求精、信息隐蔽、高内聚低耦合等设计准则&#xff1b;分为概要设计和详细设计两大步骤。

18、简述单元测试的内容&#xff0c;什么是白盒测试法&#xff1f;常用的白盒测试方法有哪些&#xff1f;

把测试对象看作一个透明的盒子&#xff0c;测试人员根据程序内部的逻辑结构及有关信息设计测试用例&#xff0c;检查程序中所有逻辑路径是否都按预定的要求正确地工作

常用的白盒测试方法有&#xff1a;逻辑覆盖测试、基本路径覆盖测试、数据流测试、循环测试。

19、什么是类&#xff1f;什么是继承&#xff1f;什么是多态&#xff1f;简述类在建模中的作用。

20、什么是需求规约&#xff1f;简述需求规约的作用。

21、CMM的能力成熟度共分哪五级&#xff1f;简要说明。

 

综合题

1、试求下列问题的判定树和判定表&#xff1a;

描述旅游票预定问题&#xff1a;旅游票预定系统中&#xff0c;在旅游旺季7、8、9、12月&#xff0c;如果订票超过50张&#xff0c;则优惠票价的15%&#xff1b;50张以下&#xff0c;优惠5%。在旅游淡季1、2、3、11月&#xff0c;若订票超过50张&#xff0c;则优惠30%&#xff1b;50张以下&#xff0c;优惠20%。一般旅游季4、5、6、10月,若订票超过50张,则优惠20%&#xff1b;50张以下&#xff0c;优惠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%

 

 

 

 

 

 

 

 

 

四、设有一个档案管理系统&#xff0c;要求用户输入以年月表示的日期。假设日期限定在1990年1月~2049年12月&#xff0c;并规定日期由6位数字字符组成&#xff0c;前4位表示年&#xff0c;后2位表示月。现用等价类划分法设计测试用例&#xff0c;来测试程序的"日期检查功能"

1)划分等价类并编号,下表等价类划分的结果

1)划分等价类并编号,下表等价类划分的结果


输入等价类

有效等价类

无效等价类

  日期的类型及长度

  ①6位数字字符

②有非数字字符

③少于6位数字字符

④多于6位数字字符

 年份范围

  ⑤在1990~2049之间

⑥小于1990
⑦大于2049

 月份范围

  ⑧在01~12之间

⑨等于00

⑩大于12

 

2)设计测试用例&#xff0c;以便覆盖所有的有效等价类在表中列出了3个有效等价类&#xff0c;编号分别为①、⑤、⑧&#xff0c;设计的测试用例如下&#xff1a;

测试数据 期望结果 覆盖的有效等价类


200211 输入有效 ①、⑤、⑧

3)为每一个无效等价类设计一个测试用例&#xff0c;设计结果如下&#xff1a;

测试数据    期望结果      覆盖的无效等价类


95June      无效输入          

20036       无效输入          

2001006     无效输入          

198912      无效输入          

200401      无效输入          

200100      无效输入          

200113      无效输入          

五、工资计算系统中的一个子系统有如下功能&#xff1a;

  ( 1 )计算扣除部分—由基本工资计算出应扣除(比如水电费、缺勤)的部分;

  ( 2 )计算奖金部分—根据职工的出勤情况计算出奖励金;

  ( 3 )计算工资总额部分—根据输入的扣除额及奖金计算出总额;

  ( 4 )计算税金部分—由工资总额中计算出应扣除各种税金;

  ( 5 )生成工资表—根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。

试根据要求画出该问题的数据流程图&#xff0c;并把其转换为软件结构图。

六、假设某航空公司规定&#xff0c;乘客可以免费托运重量不超过30公斤的行李。当行李重量超过30公斤时&#xff0c;对头等舱的国内乘客超重部分每公斤收费4元&#xff0c;对其他舱的国内乘客超重部分每公斤收费6元&#xff0c;对外国乘客超重部分每公斤收费比国内乘客多一倍&#xff0c;对残疾乘客超重部分每公斤收费比正常乘客少一半。请给出该问题的判定树和判定表。

解答&#xff1a;


 

 

 

 

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

行李重量W30

T

F

F

F

F

F

F

F

F

 

 

 

免费

 

 

 

 

 

 

 

 

&#xff08;W-30&#xff09;×2

 

 

 

 

 

 

 

 

&#xff08;W-30&#xff09;×3

 

 

 

 

 

 

 

 

&#xff08;W-30&#xff09;×4

 

 

 

 

 

 

 

&#xff08;W-30&#xff09;×6

 

 

 

 

 

 

 

&#xff08;W-30&#xff09;×8

 

 

 

 

 

 

 

 

&#xff08;W-30&#xff09;×12

 

 

 

 

 

 

 

 

 


残疾乘客


&#xff08;W-30&#xff09;×2


正常乘客


&#xff08;W-30&#xff09;×4


正常乘客


&#xff08;W-30&#xff09;×6


残疾乘客


&#xff08;W-30&#xff09;×3


残疾乘客


&#xff08;W-30&#xff09;×4


正常乘客


&#xff08;W-30&#xff09;×8


残疾乘客


&#xff08;W-30&#xff09;×6


正常乘客


&#xff08;W-30&#xff09;×12


头等舱


其他舱


头等舱


其他舱


国内乘客


国外乘客


行李重量

W>30


行李重量

W30


免费


行李费

 

、图书馆的预定图书子系统有如下功能(本题15分)&#xff1a;

 


  1. 由供书部门提供书目给订购组&#xff1b;
  2. 订书组从各单位取得要订的书目&#xff1b;
  3. 根据供书目录和订书书目产生订书文档留底&#xff1b;
  4. 将订书信息&#xff08;包括数目&#xff0c;数量等&#xff09;反馈给供书单位&#xff1b;
  5. 将未订书目通知订书者&#xff1b;
  6. 对于重复订购的书目由系统自动检查&#xff0c;并把结果反馈给订书者。

采用结构化费明细、设计的方法&#xff0c;对该题目进行分析设计&#xff0c;并根据要求画出该问题的数据流程图&#xff0c;并把其转换为软件结构图。

 

八、根据下面给出的规格说明&#xff0c;利用等价类划分的方法&#xff0c;给出足够的测试用例。(本题10分)

“一个程序读入3个整数&#xff0c;它们分别代表一个三角形的3个边长。该程序判断所输入的整数是否构成一个三角形&#xff0c;以及该三角形是一般的、等腰的或等边的&#xff0c;并将结果打印出来。”

要求&#xff1a;设三角形的3条边分别为A、B、C&#xff0c;并且

&#xff08;1&#xff09; 列出等价类表&#xff0c;格式如下&#xff1a;


输入条件

有效等价类

无效等价类

 

&#xff08;注意&#xff1a;将等价类编号&#xff09;

&#xff08;注意&#xff1a;将等价类编号&#xff09;

&#xff08;2&#xff09; 设计测试用例&#xff0c;格式如下&#xff1a;

用例n&#xff1a;输入【A&#xff0c;B&#xff0c;C】覆盖等价类……&#xff08;列出等价类序号&#xff09;&#xff0c;输出结果为……。

例如&#xff1a;用例10&#xff1a;输入【3&#xff0c;3&#xff0c;3】覆盖等价类&#xff08;100&#xff09;&#xff08;600&#xff09;&#xff0c;输出结果为等边三角形。

解答&#xff1a;

&#xff08;1&#xff09; 列出等价类表


输入条件

有效等价类

无效等价类

是否构成一个三角形

&#xff08;1&#xff09;A&#xff1e;0且B&#xff1e;0且C&#xff1e;0且

A&#xff0b;B&#xff1e;C且B&#xff0b;C&#xff1e;A且

A&#xff0b;C&#xff1e;B。

&#xff08;2&#xff09;A≤0或B≤0或C≤0

&#xff08;3&#xff09;A&#xff0b;B≤C或A&#xff0b;C≤B

或B&#xff0b;C≤A

是否等腰三角形

&#xff08;4&#xff09;A&#xff1d;B或A&#xff1d;C或B&#xff1d;C

&#xff08;5&#xff09;A≠B且A≠C且B≠C

是否等边三角形

&#xff08;6&#xff09;A&#xff1d;B且A&#xff1d;C且B&#xff1d;C

&#xff08;7&#xff09;A≠B或A≠C或B≠C

&#xff08;2&#xff09; 设计测试用例

用例1&#xff1a;输入【3&#xff0c;4&#xff0c;5】覆盖等价类&#xff08;1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6&#xff09;&#xff0c;输出结果为构成一般三角形。

用例2&#xff1a;三者取一

输入【0&#xff0c;1&#xff0c;2】覆盖等价类&#xff08;2&#xff09;&#xff0c;输出结果为不构成三角形。

输入【1&#xff0c;0&#xff0c;2】覆盖等价类&#xff08;2&#xff09;&#xff0c;输出结果为不构成三角形。

输入【1&#xff0c;2&#xff0c;0】覆盖等价类&#xff08;2&#xff09;&#xff0c;输出结果为不构成三角形。

用例3&#xff1a;三者取一

输入【1&#xff0c;2&#xff0c;3】覆盖等价类&#xff08;3&#xff09;&#xff0c;输出结果为不构成三角形。

输入【1&#xff0c;3&#xff0c;2】覆盖等价类&#xff08;3&#xff09;&#xff0c;输出结果为不构成三角形。

输入【3&#xff0c;1&#xff0c;2】覆盖等价类&#xff08;3&#xff09;&#xff0c;输出结果为不构成三角形。

用例4&#xff1a;三者取一

输入【3&#xff0c;3&#xff0c;4】覆盖等价类&#xff08;1&#xff09;&#xff08;4&#xff09;&#xff0c;输出结果为等腰三角形。

输入【3&#xff0c;4&#xff0c;4】覆盖等价类&#xff08;1&#xff09;&#xff08;4&#xff09;&#xff0c;输出结果为等腰三角形。

输入【3&#xff0c;4&#xff0c;3】覆盖等价类&#xff08;1&#xff09;&#xff08;4&#xff09;&#xff0c;输出结果为等腰三角形。

用例5&#xff1a;输入【3&#xff0c;4&#xff0c;5】覆盖等价类&#xff08;1&#xff09;&#xff08;5&#xff09;&#xff0c;输出结果为不是等腰三角形。

用例6&#xff1a;输入【3&#xff0c;3&#xff0c;3】覆盖等价类&#xff08;1&#xff09;&#xff08;6&#xff09;&#xff0c;输出结果为等边三角形。

用例7&#xff1a;三者取一

输入【3&#xff0c;4&#xff0c;4】覆盖等价类&#xff08;1&#xff09;&#xff08;4&#xff09;&#xff08;7&#xff09;&#xff0c;输出结果为不是等边三角形。

输入【3&#xff0c;4&#xff0c;3】覆盖等价类&#xff08;1&#xff09;&#xff08;4&#xff09;&#xff08;7&#xff09;&#xff0c;输出结果为不是等边三角形。

输入【3&#xff0c;3&#xff0c;4】覆盖等价类&#xff08;1&#xff09;&#xff08;4&#xff09;&#xff08;7&#xff09;&#xff0c;输出结果为不是等边三角形。

九、面向对象的分析设计方法(本题15分)

某银行计算机储蓄系统的工作流程大致如下&#xff1a;储户填写的存款单或取款单由业务员键入系统&#xff0c;如果是存款则系统记录存款人的姓名、住址&#xff08;或电话号码&#xff09;、身份证号码、存款类型、存款日期、到期日期、利率及密码&#xff08;可选&#xff09;等信息&#xff0c;并印出存款单给储户&#xff1b;如果是取款而且存款时留有密码&#xff0c;则系统首先核对储户密码&#xff0c;若密码正确或存款时未留密码&#xff0c;则系统计算利息并印出利息清单给储户。

采用面向对象的思想方法对该问题进行分析、设计&#xff0c;并对下列问题给出解答

&#xff08;1&#xff09;给出系统的用例图&#xff1b;

&#xff08;2&#xff09;给出类图&#xff1b;

&#xff08;3&#xff09;给出系统中的一个用户“张三”存款20元的顺序图&#xff1b;

&#xff08;4&#xff09;给出有关的数据库&#xff08;表&#xff09;的结构&#xff1b;

十、根据下列条件使用等价类划分法设计测试用例。&#xff08;本题10分&#xff09;

某一8位微机&#xff0c;其八进制常数定义为&#xff1a;以零开头的数是八进制整数&#xff0c;其值的范围是-177&#xff5e;177&#xff0c;如05&#xff0c;0127&#xff0c;-065。

解答&#xff1a;

有效等价类&#xff1a;&#xff08;1&#xff09;以零开头&#xff0c;为是为1&#xff1b;

&#xff08;2&#xff09;以零开头&#xff0c;为是为2&#xff1b;

&#xff08;3&#xff09;以零开头&#xff0c;为是为3&#xff1b;

&#xff08;4&#xff09;带负号的&#xff0c;以零开头&#xff0c;为是为1&#xff1b;

&#xff08;5&#xff09;带负号的&#xff0c;以零开头&#xff0c;为是为2&#xff1b;

&#xff08;6&#xff09;带负号的&#xff0c;以零开头&#xff0c;为是为3&#xff1b;

 无效等价类&#xff1a;&#xff08;7&#xff09;含有数字8

&#xff08;8&#xff09;含有数字9

&#xff08;9&#xff09;含有其它非法符号的

&#xff08;10&#xff09;数据小于-0177

&#xff08;11&#xff09;数据大于0177设计测试用例&#xff1a;

输出正确结果的&#xff1a;

01

012

0123

-01

-012

-0123

输出非法结果的&#xff1a;

08

09

0a

0233

-0234

十一、试求下列问题的判定树和判定表&#xff1a;描述旅游票预定问题&#xff1a;旅游票预定系统中&#xff0c;在旅游旺季7、8、9、12月&#xff0c;如果订票超过50张&#xff0c;则优惠票价的15%&#xff1b;50张以下&#xff0c;优惠5%。在旅游淡季1、2、3、4、5、6、10、11月&#xff0c;若订票超过50张&#xff0c;则优惠30%&#xff1b;50张以下&#xff0c;优惠20%。


旅游时间

7、8、9、12月

1、2、3、4、5、6、10、11月

订票量

£50

>50

£50

>50

折扣量

5%

15%

20%

30%

 

十二、某个学生成绩管理系统的部分功能如下&#xff1a;

(1)基本信息管理&#xff1a;教务管理人员输入或修改学期教学执行计划、学生名单和教师名单&#xff1b;

(2)学生选课&#xff1a;学生根据教学执行计划进行选课&#xff1b;.

(3)分配任课教师&#xff1a;教务管理人员为符合开课条件的课程分配教师&#xff0c;并打印任课通知单给教师&#xff1b;

(4)成绩管理&#xff1a;每门课程的教师在考试评分结束后将考试成绩交给教务管理人员&#xff0c;教务管理人员输入、维护成绩&#xff0c;系统可生成成绩单(发给学生)、成绩统计分析表(发给教务管理人员)。

问题&#xff1a;

请根据要求画出该问题的分层数据流图(要求画出顶层和0层数据流图)&#xff0c;并给出软件结构层次图。

十三、某医院打算开发一个以计算机为中心的患者监护系统&#xff0c;医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等)&#xff0c;定时记录病人情况以形成患者日志&#xff0c;当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息&#xff0c;此外&#xff0c;护士在需要时还可以要求系统印出某个指定病人的病情报告。请用数据流图描绘本系统的功能。

十四、下面是一个学校中的类图。语义如下&#xff1a;学校有多个系&#xff0c;每个系有多个老师&#xff0c;一个老师可以讲多门课&#xff0c;一门课也可以有多个老师来讲&#xff0c;一个学生只能在一个学校上课&#xff0c;一个学校至少有一名学生&#xff0c;每个学生可以选多门课。

十五、销售店员结算一件商品系统的描述如下&#xff1a;顾客到柜台前结算&#xff0c;店员使用 UPC 读卡器读 取商品名称和价格&#xff0c;管理员可以对固定种类商品18&#xff08;18 岁以下禁止&#xff09;结算&#xff0c;库存店员通过 UPC 读卡器管理库存。 该结算商品系统的用况图见图


推荐阅读
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 从Oracle安全移植到国产达梦数据库的DBA实践与攻略
    随着我国对信息安全和自主可控技术的重视,国产数据库在党政机关、军队和大型央企等行业中得到了快速应用。本文介绍了如何降低从Oracle到国产达梦数据库的技术门槛,保障用户现有业务系统投资。具体包括分析待移植系统、确定移植对象、数据迁移、PL/SQL移植、校验移植结果以及应用系统的测试和优化等步骤。同时提供了移植攻略,包括待移植系统分析和准备移植环境的方法。通过本文的实践与攻略,DBA可以更好地完成Oracle安全移植到国产达梦数据库的工作。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • monkey初接触
    第一次听说monkey,根本不知道是什么东西,脑海里就一个印象,很厉害的自动化测试工具,可是体验了一下,似乎不 ... [详细]
  • 压力测试_单节点数据库的压力测试
    mysqlslap是mysql自带的基准测试工具,优点:查询数据,语法简单 ... [详细]
  • 本文详细介绍了Objective-C中的面向对象编程概念,重点探讨了类的定义、方法的实现、对象的创建与销毁等内容,旨在帮助开发者更好地理解和应用Objective-C的面向对象特性。 ... [详细]
  • 利用Cookie实现用户登录状态的持久化
    本文探讨了如何使用Cookie技术在Web应用中实现用户登录状态的持久化,包括Cookie的基本概念、优势及主要操作方法,并通过一个简单的Java Web项目示例展示了具体实现过程。 ... [详细]
  • java datarow_DataSet  DataTable DataRow 深入浅出
    本篇文章适合有一定的基础的人去查看,最好学习过一定net编程基础在来查看此文章。1.概念DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据 ... [详细]
  • 本文详细介绍了如何在Windows和Linux系统上配置Openfire服务器,包括安装步骤、数据库配置及端口映射等关键环节。 ... [详细]
  • Java高级工程师学习路径及面试准备指南
    本文基于一位朋友的PDF面试经验整理,涵盖了Java高级工程师所需掌握的核心知识点,包括数据结构与算法、计算机网络、数据库、操作系统等多个方面,并提供了详细的参考资料和学习建议。 ... [详细]
  • 本文探讨了如何在 Spring MVC 框架下,通过自定义注解和拦截器机制来实现细粒度的权限管理功能。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 云原生SRE
    序言年底了,没有分手的朋友的赶紧分了,所谓新年新气象,年年不重样。去留无意,望看风卷残云。。。运维不会消失,但 ... [详细]
author-avatar
陈凯105_462
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有