软件工程期末复习

article/2025/9/20 21:25:36

《软件工程》期末考试复习提纲

 

目录

一、单项选择题

二、填空题

三、判断题

四、简答题

1.什么是软件危机?(P5)

2. 简述软件生存周期。(P7)

3.什么是瀑布模型?(P16)

4.什么是增量模型?(P18)

5.什么是喷泉模型?(P21)

6.简述软件设计原则。(P49)

7. 面向对象分析过程是什么?

8. 简述用况模型及用况建模步骤。(P137)

9.简述状态迁移。(P165)

10.简述白盒测试和黑盒测试。(P249)

11.简述α测试和β测试。(P273)

12.高考录取统分子系统功能:

13.某图书管理系统有以下功能: 

14.某企业销售管理系统的功能为:

15.试用 UML 对新闻发布系统进行分析和设计。

16.现有一个产品销售系统,其总体需求如下:

17.创建一个类图,以下给出创建类图所需的信息。

18.变量的命名规则一般规定如下:变量名的长度不多于 40 个字符,第一个字符必须为英文字母,其他字母可以英文字母、数字以及下划线的任意组合。等价分类法与设计测试用例如表 1、表 2 所示。

19.有二元函数 f(x,y),其中 x∈[1,12],y∈[1,31];请写出该函数采用基本边界值分析法设计的测试用例。

20.为以下程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖。


 

 

一、单项选择题

1.对象实现了数据和操作的结合,使数据和操作(  C )于对象的统一体中。

   A.结合            B.隐藏           C.封装            D.抽象

2.软件调试技术包括( B )

   A.边界值分析      B.演绎法         C.循环覆盖        D.集成测试

3.瀑布模型的存在问题是( B )

   A.用户容易参与开发   B.缺乏灵活性   C.用户与开发者易沟通   D.适用可变需求

4.软件生命周期中所花费用最多的阶段是(  D )

   A.详细设计         B.软件编码       C.软件测试        D.软件维护

5.程序的三种基本控制结构是( B )

   A.过程、子程序和分程序   B.顺序、选择和重复   C.递归、堆栈和队列   D.调用、返回和转移

6.在详细设计阶段,经常采用的工具有( A  )

    A.PAD              B.SA            C.SC               D.DFD

7.详细设计的结果基本决定了最终程序的(  C  )

    A.代码的规模        B.运行速度       C.质量             D.可维护性

8.需求分析中开发人员要从用户那里了解( A )

    A.软件做什么        B.用户使用界面   C.输入的信息       D.软件的规模

9.结构化程序设计主要强调的是( D    )

         A.程序的规模           B.程序的效率    C.程序设计语言的先进性       D.程序易读性

10.经济可行性研究的范围包括( C   )

    A.资源有效性       B.管理制度         C.效益分析        D.开发风险

11.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出(  B  )的回答。

     A.确定            B.行或不行         C.正确            D.无二义

12.需求分析阶段的任务是确定(   D  )

         A.软件开发方法        B.软件开发工具       C.软件开发费           D.软件系统的功能

13.软件测试的目的是(  B  )。

A. 试验性运行软件  B. 发现软件错误  C. 证明软件正确  D. 找出软件中全部错误

14.软件测试中白盒法是通过分析程序的(  B  )来设计测试用例的。

         A. 应用范围               B. 内部逻辑        C. 功能               D. 输入数据

15.黑盒法是根据程序的( C )来设计测试用例的。

         A. 应用范围               B. 内部逻辑        C. 功能               D. 输入数据

16.软件是(   C  )

A.处理对象和处理规则的描述    B. 程序         C. 程序及其文档         D. 计算机系统

17.软件需求规格说明的内容不应包括(  B   )

A.主要功能       B. 算法的详细描述        C.用户界面及运行环境       D. 软件的性能

18.面向对象的分析方法主要是建立三类模型,即(  D   )

       A.系统模型、ER 模型、应用模型              B. 对象模型、动态模型、应用模型

        C.E—R模型、对象模型、功能模型         D. 对象模型、动态模型、功能模型

19.在 E—R 模型中,包含以下基本成分(  C   ) 

    A. 数据、对象、实体    B. 控制、联系、对象  C. 实体、联系、属性     D. 实体、属性、操作

20.  各种软件维护的类型中最重要的是(  A  )                                                   

      A. 完善性维护            B. 纠错性维护            C. 适应性维护     D. 预防性维护

21.软件测试的目标是(  B  )

A. 证明软件是正确的        B. 发现错误、降低错误带来的风险

C. 排除软件中所有的错误    D. 与软件调试相同

22.若有一个计算类型的程序,它的输入量只有一个 X,其范围是[-1 .0 ,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0 ,  1.001,设计这组测试用例的方法是(  C  )

A.条件覆盖法   B.等价分类法    C.边界值分析法    D.错误推测法

23.设函数 C(X)定义问题 X 的复杂程序,函数 E(X)确定解决问题 X 需要的工作量(时间)。对于两个问题P1和 P2,如果 C(P1)> C(P2)显然 E(P1)>E(P2),则得出结论 E(P1+P2)> E(P1)+ E(P2)就是(  A  )

         A.模块化的根据        B.逐步求精的根据  C.抽象的根据   D.信息隐藏和局部化的根据

24.下面几种白箱测试技术,哪种是最的覆盖准则 (  D    )

               A.语句覆盖     B.条件覆盖                 C.判定覆盖     D.条件组合覆盖

25.面向数据流的设计方法把(   A    )映射成软件体系结构。

         A.数据流                B.系统结构              C.控制结构       D.信息流

26.内聚程度最低的是(   A    )内聚。

A.偶然        B.过程      C. 顺序      D.时间

27.需求分析的产品是(   D    )

   A.数据流程图案          B.数据字典       C.判定表          D.需求规格说明书 

28.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是(  C   )

         A.数据库设计           B.数据通信    C.数据定义    D.数据维护

29. 引入了“风险驱动”的思想,适用于大规模的内部开发项目的软件开发模型是(  D  )

    A.增量模型                B.喷泉模型     C.原型模型    D.螺旋模型

30.模块的内聚性最高的是(  D   )

         A.逻辑内聚               B.时间内聚     C.偶然内聚     D.功能内聚

31. 提高测试的有效性非常重要,成功的测试是指(  D     )

A. 证明了被测试程序正确无误    B. 说明了被测试程序符合相应的要求

C. 未发现被测程序的错误        D. 发现了至今为止尚未发现的错误

32.可行性分析研究的目的是(  A )

         A. 项目值得开发否      B. 争取项目         C.开发项目          D.功能内聚

33.在白盒法技术测试用例的设计中,最弱的覆盖标准是( A )

          A.语句     B. 路径         C.条件组合           D.判定

34.软件工程的出现主要是由于(  C ) ,

         A.程序设计方法学的影响     B. 其它工程科学的影响      C.软件危机的出现       D.计算机的发展

35.软件工程方法学的目的是使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )

          A.硬件环境     B. 软件开发的环境      C.软件开发工具和软件开发的环境  D.开发人员的素质 36.UML 是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( C )

       A.基于瀑布模型的结构化方法        B. 基于需求动态定义的原型化方法

      C.基于对象的面向对象的方法       D.基于数据的数据流开发方法

37.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的( B )

      A.控制流       B. 数据流       C. 程序流   D. 指令流

38.需求分析中开发人员要从用户那里了解( A )

     A.软件做什么  B.用户使用界面   C.输入的信息   D.软件的规模

39.数据字典是对数据定义信息的集合,它所定义的对象都包含于( A )

     A.数据流图   B.程序框图   C.软件结构      D.方框图

40.面向对象的主要特征除唯一性、继承性、多态性外,还具有( A )

     A.封装性         B.移植性     C.完整性          D.兼容性

41.关于软件维护的说法错误的是( C )

     A.软件维护是软件生命周期中占用时间最长的一个阶段

     B.软件维护不只是修改软件中的错误

     C.软件维护对于开发商来说是无利可图的

     D.在编码过程中添加适当的注释,可以降低软件维护的难度

42.应用执行对象的操作可以改变该对象的(    A )

     A.属性     B.功能     C.行为       D.数据

 

 

 

二、填空题

  1. 软件生存周期大致可以分为 6 个阶段:计算机系统工程需求分析设计编码测试运行和维护
  2. CMM 模型定义了 5 个软件过程成熟度等级,分别为初始级可重复级已定义级已管理级优化级
  3. CMMI(能力成熟度模型集成)提供了两种表示方法:阶段式模型连续式模型
  4. 为了减少因为对需求了解不确切而给软件开发带来的风险,可以在获取了一组基本的需求后,通过快速分析,构造出该软件的一个初始可运行版本,通常称之为原型
  5. 典型的深化模型有增量模型原型模型螺旋模型
  6. 原型模型类型可以分为以下 3 种类型:探索型实验型深化型
  7. 喷泉模型是一种支持面向对象开发的过程模型。
  8. CASE 研究和实践的重点集中在 CASE 工具软件开发环境两个方面。
  9. 组成基于计算机系统的元素主要有:软件硬件人员数据库文档规程
  10. 可行性分析主要从经济技术法律等方面分析所给出的解决方案是否可行,通常只有当解决方案可行并有一定的经济效益社会效益时,才真正开始基于计算机的系统的开发。
  11. 软件需求工程可细分为:需求获取需求分析与协商系统建模需求规约需求验证需求管理
  12. 需求获取方法与策略主要有:建立顺畅的通信途径访谈与调查观察用户操作规程组成联合小组用况
  13. 常用的软件需求分析方法有:面向数据流的结构化分析方法面向数据结构的分析方法面向对象的分析方法
  14. 软件需求规约是分析任务的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。
  15. 软件设计是把软件需求变换成软件表示的过程,早期的软件设计分为概要设计详细设计,现在的软件设计分为数据/类设计软件体系结构设计接口设计部件级设计
  16. 软件设计的原则是抽象与逐步求精模块化信息隐藏
  17. 模块的功能独立性可以由内聚度耦合度两项指标来衡量,设计模块时尽量做到高内聚低耦合
  18. 软件设计阶段的主要输出是设计规约,为了确保文档的质量,还必须对设计文档进行评审。
  19. 结构化方法采用自顶向下逐层分解的思想进行分析建模,体现了分解抽象的原则。
  20. 结构化分析方法的分析结果包括:数据流图数据字典加工规约以及其他补充材料等。
  21. 加工逻辑的描述方法主要有:结构化语言判定表判定树等。
  22. 结构化设计是将结构化分析所得到的数据流图映射成软件体系结构的一种设计方法。
  23. 结构图也称程序结构图,其基本成分有:模块调用数据
  24. 根据信息流的特点,数据流图到软件体系结构的映射可分为:变换分析事务分析
  25. JSP 方法是一种面向数据结构的分析与设计方法。
  26. 是一组具有相同属性和相同操作的对象的集合。多态性是指同一个操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果。
  27. UML2.0 把视图划分成 4 个主题域:结构化域动态域物理域模型管理域。结构化域描述了系统中的结构成员及其相互关系,包括静态视图设计视图用况视图。动态域描述了系统的行为或其他随时间变化的行为,包括状态机视图活动视图交互视图
  28. 一个用况模型由若干幅用况图组成,一幅用况图包含的模型元素有系统执行者用况关系
  29. CRC 技术实际上是一组表示类的索引卡片,每张卡片分成 3 个部分,分别描述类名类的责任类的协作者
  30. 聚集是表示整体-部分关系的一种关联,而组合代表整体的组合对象有管理它的部分对象的特有责任。泛化是指类之间的一般-特殊关系。
  31. 一个对象的状态可以因某种原因而改变,一个对象从一个状态改变成另一个状态称为状态迁移
  32. 顺序图用来描述对象间的交互行为,其有两个坐标,垂直坐标表示时间,水平坐标表示一组对象
  33. 测试用例的设计是软件测试的关键所在,大体可分为两类:白盒测试黑盒测试
  34. 白盒测试方法主要有逻辑覆盖测试基本路径测试数据流测试循环测试等。
  35. 黑盒测试方法主要有:等价类划分边界值分析比较测试错误猜测因果图方法
  36. 软件测试策略把软件测试用例的设计方法集成到一系列经周密计划的步骤中去,从而使软件的测试得以成功地完成,其中一种策略将测试分为单元测试集成测试系统测试确认测试
  37. 调试的目的是确定错误的原因和准确位置,并加以纠正,主要的调试方法有蛮力法回溯法原因排除法。   
  38. 软件维护是指软件系统交付使用之后,为了改正错误或满足新的需要而修改软件的过程。
  39. McCall 模型是一个包含软件质量要素评价准则度量 3 个层次的软件质量度量模型。

三、判断题

  1. 开发软件就是编写程序。( ×  )
  2. 系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。( × )
  3. 编程序时应尽可能利用硬件特点以提高程序效率。(  × )
  4. 软件需求分析的任务是建立软件模块结构图。( ×  )
  5. 尽可能使用高级语言编写程序。( √  )
  6. 以结构化分析方法建立的系统模型就是数据流图. ( ×  )
  7. 进行总体设计时加强模块间的联系。( ×  )
  8. 编码时尽量多用全局变量。( ×  )
  9. 用 CASE 环境或程序自动生成工具来自动生成一部分程序. ( √  )
  10. 软件测试是要发现软件中的所有错误。( ×  )
  11. 软件的开发与运行经常受到硬件的限制和制约。  ( √ )
  12. 模块内的髙内聚往往意味着模块间的松耦合。  ( √ )
  13. Jackson 图只能表达程序结构,不能表达数据结构。 ( × )
  14. 软件生命周期中需我进行需求分析,再进行可行性研究。   ( × )
  15. 软件的质量好坏主要由验收人员负责,其他开发人员不必关心。   ( × )
  16. 判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。   ( √ )
  17. 应该尽量使用机器语言编写代码, 提髙程序运行效率, 而减少高级语言的使用。( × )
  18. 8.UML 只能应用于软件系统模型的建立。 ( × )
  19. 容错就是每个程序采用两种不同的算法编写。  ( × )
  20. 软件测试的目的是为了无一遗漏的找出所有的错误。  ( × )
  21. 在进行总体设计时应加强模块间的联系。  ( × )
  22. 系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图当作系统流程图使用。 ( × )
  23. 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。   ( × )
  24. 在程序调试时,找出错误的位置和性质比改正该错误更难。   ( √ )
  25. 以对象、类、继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一。 ( √ )
  26. 如果通过软件测试没有发现错误,则说明软件是正确的。( × )
  27. 快速原型模型可以有效地适应用户需求的动态变化。    ( √ )
  28. 模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到髙内聚,低耦合度的软件产品 ( √ )
  29. 集成测试主要由用户来完成。 ( × )
  30. 软件危机完全是由硬件问题引起的。 ( × )

 

四、简答题

1.什么是软件危机?(P5)

答:随着计算机在各个领域的广泛应用,软件的需求量越来越大,软件的复杂度也越来越高,导致软件的开发远远满足不了社会发展的需要,超出预算的经费、超过预期的交付时间的事情经常发生。由于缺乏文档及没有好的开发方法的指导,使得大量已有的软件难以维护。到 20 世纪 60 年代中期出现了人们难以控制的局面,即“软件危机”。

2. 简述软件生存周期。(P7)

答:软件生存周期是指软件产品或软件系统从产生、投入使用到淘汰的全过程,其大致可以分为以下 6 个阶段:

  1. 计算机系统工程,其任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机系统元素之间的关系,进行成本估算,作出进度安排,并进行可行性分析。
  2. 需求分析,主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面等要求,生成软件需求规约。
  3. 设计,主要解决待开发软件“怎么做”的问题,通常可分为系统设计和详细设计。
  4. 编码,此阶段的任务是用某种程序设计语言,将设计的结果转换为可执行的程序代码。
  5. 测试,此阶段的任务是发现并纠正软件中的错误和缺陷。
  6. 运行和维护,在软件运行期间,需对投入运行的软件进行维护。

 

3.什么是瀑布模型?(P16)

答:瀑布模型给出了软件生存周期活动的固定顺序,上一阶段的活动完成后向下一阶段的活动过渡,最终得到所开发的软件产品,其特征是:接收上一阶段活动的结果作为本阶段活动的输入;依据上一阶段活动的结果实施本阶段应完成的活动;对本阶段活动进行评审;将本阶段活动的结果作为输出,传递给下一阶段。

4.什么是增量模型?(P18)

答:增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软件的一个可发布的“增量”版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,直到产生最终的完善产品。增量模型整合了瀑布模型的基本成分和深化模型的迭代特征,强调每一次增量发布一个可运行的产品。

5.什么是喷泉模型?(P21)

答:喷泉模型是一种支持面向对象开发的过程模型。在分析阶段,标识类及对象,定义类之间的关系,建立对象-关系模型和对象-行为模型。在设计阶段,从实现的角度对分析模型进行调整和扩充。在编码阶段,用面向对象语言实现类及对象,通过消息机制实现对象之间的通信,完成软件的功能。在面向对象方法中,分析模型和设计模型采用相同的符号表示体系,开发的各个活动没有明显的边界,各个活动经常重复,迭代地交替进行。

6.简述软件设计原则。(P49)

答:在将软件的需求规约转换为软件设计的过程中,软件的设计人员通常采用抽象逐步求精、模块化和信息隐藏等原则,具体简述如下:

  1. 抽象与逐步求精。抽象的过程是从特殊到一般的过程,上层概念是下层概念的抽象。逐步求精是把问题的求解过程分解成若干步骤或阶段,每一步都比上一步更精华,更接近问题的解法。
  2. 模块化。把软件按照规定原则,划分为一个个较小的、相互独立的但又相互关联的部件,模块化实际上是系统分解和抽象的过程。
  3. 信息隐藏。每个模块的实现细节对于其他模块来说应该是隐蔽的,即模块中所包含的信息不允许其他不需要这些信息的模块使用。

7. 面向对象分析过程是什么?

答:(1)获取客户对系统的需求,需求获取必须让客户与开发者充分交流,一般采用用况来收集客户需求的技术。

  1. 标识类和对象。在确定了系统的所有用况后,即可开始标识类以及类的属性和操作。
  2. 定义类的结构和层次。类的结构主要有两种:一般-特殊结构和整体-部分结构。
  3. 建造对象-关系模型。对象-关系模型描述了系统的静态结构,它指出了类间的关系。
  4. 建立对象-行为模型。对象-行为模型描述了系统的动态行为,指明系统如何响应外部的事件或激励。

8. 简述用况模型及用况建模步骤。(P137)

答:用况建模是用于描述一个系统应该做什么的建模技术,通过开发者和客户之间为导出需求规约而进行的交互过程来建立用况模型,其主要成分有有况、执行者和系统。

创建用况模型的步骤如下:

  1. 定义系统。
  2. 确定执行者。
  3. 确定用况。(4)描述用况。
  1. 定义用况间的关系。
  2. 确认模型。

 

9.简述状态迁移。(P165)

答:一个对象的状态可以因为某种原因而改变,一个对象从一个状态改变成另一个状态称为状态迁移,在状态机图中用连接这两个状态的箭头来表示。引起状态迁移的原因通常有两种:一是当出现某一事件时会引起状态的迁移;另一种情况是状态机图中相应的迁移上未指明事件,这表示当位于迁移箭头源头的状态中的内部动作全部执行完后,该状态迁移自动触发。

10.简述白盒测试和黑盒测试。(P249)

答:白盒测试又称结构测试,这种方法把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否按预定的要求正确地工作。

黑盒测试又称行为测试,这种方法把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能需

11.简述α测试和β测试。(P273)

答:α测试是由一个用户在开发者的场所进行的,软件在开发者对用户的“指导下”进行的测试。

β测试是由软件的最终用户在一个或多个用户场所进行的,开发者通常不在测试现场,因此,β测试是软件在一个开发者不能控制的环境中“活的”应用,用户记录所有在β测试中遇到的问题,并定期把这些问题报告给开发者,在接到β测试的问题报告后,开发者对软件进行最后的修改,然后着手准备向所有用户发布最终的软件产品。

12.高考录取统分子系统功能:

  1. 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;
  2. 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。

4b99f038a4a94a6abdf3626c8ad53bf6.png

 

 

13.某图书管理系统有以下功能: 

⑴借书:输入读者借书证。系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在借书证上建立档案。否则,查阅借书文件,检查该读者所借图书是否超过 10 本,若已达 10,拒借,未达 10 本,办理借书(检查库存,修改库存目录并将读者借书情况录入借书文件。) 

⑵还书:从借书文件中读出与读者有关的记录,查阅所借日期,如超期(3 个月)作罚款处理。否则,修改库存目录与借书文件。 

⑶查询:通过借书文件,库存目录文件查询读者情况﹑图书借阅及库存情况,打印统计表。 

请画出该图书管理系统的顶层数据流图和第 0 层数据流图。

参考答案:顶层图:

483150d9d1c24e2eb3c27c0db210205d.png

第0层图:

84e2693a3f944b9cb78cc55e8cdf33ed.png

 

 

14.某企业销售管理系统的功能为:

    (1)接受顾客的订单,检验订单,若库存有货,进行供货处理,即修改库存,给仓库开备货单,并且将订单留底;若库存量不足,将缺货订单登入缺货记录。

    (2)根据缺货记录进行缺货统计,将缺货通知单发给采购部门,以便采购。

    (3)根据采购部门发来的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货订单进行供货处理。

    (4)根据留底的订单进行销售统计,打印统计表给经理。

根据上述的功能描述,画出该管理系统顶层和第 0 层数据流图。

参考答案:

698a78a44afe4225944434fa43d9fa86.png

 

 

 

15.试用 UML 对新闻发布系统进行分析和设计。

假设管理员可以在后台对新闻、评论、注册会员进行管理,并发布新闻;任何游客可以浏览新闻,浏览者

 

注册后可以成为系统会员;注册会员可以发表新闻评论。新闻信息实体的主要属性主要包含标题(title)、容(content)、发布日期(DateTime),主要操作有添加新闻(Addnews)、删除新闻(Delnews)、修改新闻

(Modinews); 评论实体的主要属性包含新闻标识(ArticleID)、评论者名(UserName)和评论容(body),主要操作有添加评论(AddRemark)、删除评论(DelRemark); 会员实体的主要属性有会员编号(MemberNo)、

会员密码(Memberpsw)、会员名字(MemberName)、会员描述(MemberDesc)等,主要操作有登陆(Login);管理员实体的主要属性有管理员编号(AdmNo)、会员密码(Admpsw)、会员名字(AdmName)等, 主要操作有添加用户(Adduser)、删除新闻(Deluser)。

  1. 画出系统用例图;
  2. 画出分析类图;
  3. 画出“新闻管理”的活动图;参考答案:

(1)系统用例图如下

7a76bbb570334b8aa0f326bf221ac120.jpeg

(2)类图如下

65af46cbb7314de18c494abe4c363095.jpeg

 (3)“新闻管理”的活动图如下

be8076a741014fa9a82a294aeff87d1c.png

 

 

 

 

 

16.现有一个产品销售系统,其总体需求如下:

  1. 系统允许管理员生成存货清单报告。
  2. 管理员可以更新存货清单。
  3. 销售员记录正常的销售情况。
  4. 交易可以使用信用卡或支标,系统需要对其进行验证。
  5. 每次交易后都需要更新存货清单。分析其总体需求,并绘制出其用例图。

参考答案:

334b62cd151841db95a2c2ab5620fd3b.jpeg

 

 

17.创建一个类图,以下给出创建类图所需的信息。

    • 学生(student)可以是在校生(undergraduate)或者毕业生(graduate)。
    • 在校生可以是助教(tutor)。
    • 一名助教指导一名学生。
    • 教师和教授属不同级别的教员。
    • 一名教师助理可以协助一名教师和一名教授,一名教师只能有一名教师助理,一名教授可以有 5 名教师助理。
    • 教师助理是毕业生。

参考答案:e0edcd9a283d44fd8539192bfe84cc43.jpeg

 

 

 

18.变量的命名规则一般规定如下:变量名的长度不多于 40 个字符,第一个字符必须为英文字母,其他字母可以英文字母、数字以及下划线的任意组合。等价分类法与设计测试用例如表 1、表 2 所示。

 

表 1 等价类划分表

输入条件

有效等价类

无效等价类

长度

(1)小于 40 个字符

(2)等于 40 个字符

(5)大于 40 个字符

第一个字符

(3)英文字母

(6)非英文字母

其他字母

 

(4)英文字母、数字或下划线的任意组合

 

(7)空格  (8)标点符号  (9)运算符号

(10)其他可显示字符

表 2 测试用例表

测试数据

覆盖的等价类

期望结果

(1) s_name12

a

有效 

(2) a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6p7q8r9s_tr

b

有效 

(3) a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6p7q8r9s_trff

c

无效 

     (4) 234name 

d

无效 

(5) fg+ghh

e

无效 

(6) ab!2f 

f

无效 

(7) ab gh

g

无效 

(8) H@gh 

h

无效 

 

参考答案:

a: (1),(3),(4)     b: (2),(3),(4) c:(5)        d:(6)       e:(9)       f:(8)       g:(7)       h:(10)

 

 

19.有二元函数 f(x,y),其中 x∈[1,12],y∈[1,31];请写出该函数采用基本边界值分析法设计的测试用例。

参考答案:

{ <1,15>, <2,15>, <11,15>, <12,15>, <6,15>, <6,1>, <6,2>, <6,30>, <6,31> }

 

20.为以下程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖。

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;

 

 


http://chatgpt.dhexx.cn/article/32cnjJ1F.shtml

相关文章

计算机软件销售适用增值税税率,计算机软件研发企业要交什么税,税率是多少...

计算机软件研发企业要交软件产品增值税&#xff1b;按17%税率征收。 软件产品增值税政策要求&#xff0c;增值税一般纳税人销售其自行开发生产的软件产品&#xff0c;按17%税率征收增值税后&#xff0c;对其增值税实际税负超过3%的部分实行即征即退政策。 纳税人受托开发软件产…

销售计算机硬件开票项目写什么,软件产品销售时开具的发票项目是什么?开票时注意事项有哪些?...

您好&#xff0c;软件产品销售时开具的发票项目详见以下内容&#xff0c;开票时注意事项就是税率问题&#xff0c;一般纳税人增值税率是13%&#xff0c;小规模纳税人目前来说是1%。 1060300000000000000软件、电子出版物软件电子出版物 1060301000000000000软件产品软件包括基础…

软件工程大作业——在线零食销售系统

软件工程大作业 在线零食销售系统 &#xff08;Online snack sales system&#xff09; 目 录 第1章 引言 1.1 研究背景 1.2 国内外研究现状 1.3 目标和意义 第2章 可行性分析 2.1 技术可行性分析 2.2 经济可行性分析 2.3 运行可行性分析 第3章 需求分析 …

计算机软件销售收入会计,嵌入式软件产品销售额如何计算

对于软件产品&#xff0c;我国的的增值税计算应当按照13%的税率计算&#xff0c;不过最近很多朋友问&#xff0c;嵌入式软件产品销售额如何计算?对于这个问题&#xff0c;不知道大家是否做过一些具体的了解呢?不过今天文章对此做了解答&#xff0c;感兴趣的朋友&#xff0c;快…

说说传统的软件销售案例

软件销售是什么&#xff1f;我举个例子说明一下。 传统的杀毒软件由公司进行研发的&#xff0c;有瑞星、金山、卡巴斯基等等。这些软件都是通过卖给客户&#xff0c;然后进行收费&#xff0c;进而养活公司。负责把软件卖出去的就是销售&#xff0c;这是传统的商业模式。…

模拟退火算法及常见应用

模拟退火 模拟退火( S i m u l a t e d A n n e a l i n g [ S A ] Simulated ~~Annealing[SA] Simulated Annealing[SA])的出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。模拟退火算法是一种通用的优化算法&#xff0c;其物理退火过程由加温过程、等…

模拟退火算法——理论篇

模拟退火算法&#xff08;Simulated Annealing&#xff0c;SA)是模拟物理退火求解组合问题的算法&#xff0c;核心是要理解Metropolis 采样算法&#xff0c;具有算法简单、适用范围广、可靠性高等特点。 图片来自网络 1 算法理论 模拟退火算法来源于固体退火原理&#xff0c;…

模拟退火算法参数分析

模拟退火算法参数分析 一 模拟退火算法介绍 模拟退火算法是一种寻找全局最优解的优化方法&#xff0c;核心思想就是以一定概率接收差解&#xff0c;并且这个概率会随着退火温度逐渐降低。一个比较形象的比喻是&#xff1a;一个锅底凹凸不平有很多坑的大锅&#xff0c;晃动这…

模拟退火算法(一):基础篇

模拟退火算法 提出问题青铜级别解法&#xff08;盲目搜索&#xff09;王者级别解法&#xff08;启发式搜索&#xff09;操作方法需要研究的地方如果这个优化问题有约束条件怎么办&#xff1f;这个C~t~怎么设置&#xff1f;t的变化在编程里面怎么实现&#xff1f;什么时候停止搜…

智能算法系列之模拟退火算法

本博客封面由ChatGPT DALLE 2共同创作而成。 文章目录 前言1. 算法思想2. 细节梳理2.1 超参数的选择2.2 一些trick 3. 算法实现3.1 问题场景3.2 从算法角度分析3.3 python实现 代码仓库&#xff1a;IALib[GitHub] 前言 本篇是智能算法(Python复现)专栏的第二篇文章&#xff0c…

你也能看懂的:退火算法

模拟退火算法来源于固体退火原理&#xff0c;是一种基于概率的算法&#xff0c;将固体加温至充分高&#xff0c;再让其徐徐冷却&#xff0c;加温时&#xff0c;固体内部粒子随温升变为无序状&#xff0c;内能增大&#xff0c;而徐徐冷却时粒子渐趋有序&#xff0c;在每个温度都…

优化算法-模拟退火算法

一、概念 模拟退火算法(SA)来源于固体退火原理&#xff0c;是一种基于概率的算法。 将固体加温至充分高的温度&#xff0c;再让其徐徐冷却&#xff0c;加温时&#xff0c;固体内部粒子随温升变为无序状&#xff0c;内能增大&#xff0c;分子和原子越不稳定。而徐徐冷却时粒子…

模拟退火算法的优化

优化模拟退火算法 作为现代算法的一种&#xff0c;模拟退火算法是一种用降低搜索的覆盖面积来提高运算速度的算法&#xff0c;适用于解决各种优化类问题。它利用了物理学中一个常见的原理&#xff1a;当物体具有一定的温度时&#xff0c;假设它内部含有的能量为E(I),那么物体从…

模拟退火算法的改进

模拟退火算法的物理模型 在物理退火过程中&#xff0c;当固体的温度很高时&#xff0c;内能较大&#xff0c;固体内部的粒子处于无序运动状态&#xff0c;当温度慢慢降低时&#xff0c;固体的内能减小&#xff0c;粒子的运动趋于有序&#xff0c;如果温度降低得足够慢&#xff…

模拟退火算法简单理解

模拟退火算法 算法流程图 1. 引言 模拟退火算法&#xff08;Simulate Anneal&#xff0c;SA&#xff09;是一种通用概率演算法&#xff0c;用来 在一个大的搜寻空间内找寻命题的最优解 。模拟退火是由S.Kirkpatrick, C.D.Gelatt和M.P.Vecchi在1983年所发明的。V.Čern在198…

理解模拟退火算法

目录 文章目录 目录退火原理爬山算法模拟退火模拟退火伪代码算法评价参考文献 退火原理 模拟退火算法来源于固体退火原理&#xff0c;将固体加温至充分高&#xff0c;再让其徐徐冷却。加温时&#xff0c;固体内部粒子随温升变为无序状&#xff0c;内能增大&#xff0c;而徐徐冷…

量子退火算法入门(6):初识量子退火算法的发明过程

文章目录 一、量子计算机二、模拟退火算法三、量子退火算法的物理基础1. 量子涨落替换热涨落&#xff0c;提出量子退火算法2. 绝热量子演化解决横向磁场强度缓慢变化3. D-Wave Systems公司实现物理量子退火机 总结 一、量子计算机 提示&#xff1a;量子退火机的发展简史&#…

模拟退火算法(SA)详解

一.算法来源&#xff1a;模拟退火算法(SA)源于固体退火原理&#xff0c;是一种基于概率的算法。将固体加温至充分高的温度&#xff0c;再让其徐徐冷却&#xff0c;加温时&#xff0c;固体内部粒子随温升变为无序状&#xff0c;内能增大&#xff0c;分子和原子越不稳定。而徐徐冷…

模拟退火算法介绍和实例实现

一、模拟退火算法简介 模拟退火算法(SA)来源于固体退火原理&#xff0c;是一种基于概率的算法。将固体加温至充分高的温度&#xff0c;再让其徐徐冷却&#xff0c;加温时&#xff0c;固体内部粒子随温升变为无序状&#xff0c;内能增大&#xff0c;分子和原子越不稳定。而徐徐冷…