软件工程期末考试题库(超全)[通俗易懂]

软件工程期末考试题库(超全)[通俗易懂]软件工程期末考试题库选择题具有风险分析的软件生命周期模型是(  C   )。A.瀑布模型      B.喷泉模型  C.螺旋模型        D.增量模型软件工程的基本要素包括方法、工具和(A)。A. 过程        B. 软件系统   C. 硬件环境         D. 人员软件的复杂性是( A),它引起人员通信困难、开发费用超支、开发时间超时等问题。A. 固有的         B. 人为的   C. 可消除的         D. 不可降低的在结

大家好,又见面了,我是你们的朋友全栈君。

软件工程期末考试题库

选择题

  1. 具有风险分析的软件生命周期模型是(  C   )。

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

  1. 软件工程的基本要素包括方法、工具和( A )。

A. 过程        B. 软件系统   C. 硬件环境         D. 人员

  1. 软件的复杂性是( A ),它引起人员通信困难、开发费用超支、开发时间超时等问题。

A. 固有的         B. 人为的   C. 可消除的         D. 不可降低的

  1. 在结构化分析方法中,( C )表达系统内部数据运动的图形化技术。

A. 数据字典         B. 实体关系图   C. 数据流图         D. 状态转换图

  1. “软件危机” 是指(  C  )。

A.计算机病毒的出现      B.利用计算机进行经济犯罪活动

C.软件开发和维护中出现的一系列问题 D.人们过分迷恋计算机系统

  1. 随着软硬件环境变化而修改软件的过程是(  B  )。

A.校正性维护       B.适应性维护     C.完善性维护       D.预防性维护

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

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

  1. 软件详细设计的主要任务是确定每个模块的(  A  )。

A.算法和使用的数据结构     B.外部接口     C.功能         D.编程

  1. 为了提高模块的独立性,模块内部最好是(  C  )。//外部耦合,功能内聚

A.逻辑内聚       B.时间内聚     C.功能内聚       D.通信内聚

  1. 一个模块的(  C  )太大一般是因为缺乏中间层次,应当适当增加中间层次的控制模块。

A.深度         B. 宽度  C. 扇出         D. 扇入

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

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

  1. 需求分析是(  A  )。

A. 软件开发工作的基础     B. 软件生存周期的开始

C. 由系统分析员单独完成的    D. 由用户自己单独完成的

  1. 在白盒测试技术测试用例的设计中,(  B  )是最强的覆盖标准。

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

  1. 软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称( A )。 A. 改正性维护      B. 适应性维护   C. 完善性维护             D. 预防性维护

  2. ( C ) 是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。

A. 多态性         B. 继承   C. 封装        D. 消息

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

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

  1. 面向对象的开发方法中,(  C  )将是面向对象技术领域内占主导地位的标准建模语言。

A.Booch方法  B.Coad方法  C.UML语言  D.OMT方法

  1. ( A )意味着一个操作在不同的类中可以有不同的实现方式。

A.多态性  B.多继承   C.类的可复用  D.信息隐藏

  1. 单元测试的测试用例主要根据(  D  )的结果来设计。

A.需求分析      B.源程序   C.概要设计  D.详细设计

  1. 软件测试是为了( B )而执行程序的过程。

A. 纠正错误    B. 发现错误  C. 避免错误        D. 证明正确

21.类构件的重用方式有多态重用、继承重用和( A )

A.实例重用       B.重载重用    C. 代码重用           D. 方法重用

  1. 支持面向对象技术的软件生存周期模型是(  A  )。

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

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

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

  1. 下面哪些测试方法属于白盒测试(  A E   )。//BCD是黑盒测试

A、基本路径测试  B、等价类划分  C、边界值分析  D、错误推测  E、逻辑覆盖测试

  1. 瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C )。

A、详细计划  B、可行性分析 C、运行阶段  D、测试与排错

  1. 从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大( C )。

A、详细设计阶段  B、概要设计阶段 C、需求分析阶段  D、测试和运行阶段

  1. 在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( A )。

A、需求分析阶段  B、详细设计阶段 C、概要设计阶段  D、可行性研究阶段

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

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

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

A、硬件环境     B、软件开发的环境 C、软件开发工具和软件开发的环境  D、开发人员的素质

  1. 软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 ( B )

A、相互排斥  B、相互补充 C、独立使用  D、交替使用

  1. UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( C )

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

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

  1. 软件测试基本方法中,下列 ( D ) 不用测试实例。

A). 白盒测试法 B). 动态测试法 C). 黑盒测试法 D). 静态测试法

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

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

  1. 软件开发的结构化生命周期方法将软件生命周期划分成( A )

A、 计划阶段、开发阶段、运行阶段  B、 计划阶段、编程阶段、测试阶段

C、 总体设计、详细设计、编程调试  D、需求分析、功能定义、系统设计

  1. 可行性研究主要从以下几个方面进行研究:( A )

A) 技术可行性,经济可行性,操作可行性 B) 技术可行性,经济可行性,系统可行性

C) 经济可行性,系统可行性,操作可行性 D) 经济可行性,系统可行性,时间可行性

  1. 耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下: ( C )

A) 内容耦合,控制耦合,数据耦合,公共环境耦合。 B) 内容耦合,控制耦合,公共环境耦合,数据耦合。

C) 内容耦合,公共环境耦合,控制耦合,数据耦合。 D) 控制耦合,内容耦合,数据耦合,公共环境耦合。

  1. 可行性分析研究的目的( B )

A 争取项目 B 项目值得开发否 C 开发项目 D 规划项目

  1. 数据字典是用来定义( D )中的各个成分的具体含义

A 流程图 B 功能结构图 C 系统结构图 D 数据流图

  1. 程序的三种基本控制结构的共同特点是( C )

A 只能用来描述简单程序 B 不能嵌套使用 C 单入口,单出口 D 仅用于自动控制系统

  1. 为高质量的开发软件项目,在软件结构设计时,必须遵循( A )原则

A 信息隐蔽 B 质量控制 C 程序优化 D 数据共享

  1. 黑盒测试在设计测试用例时,主要研究( A )

A 需求规格说明于概要设计说明 B 详细设计说明 C 项目开发计划 D 概要设计说明与详细设计说明

  1. 通过 ( B ) 可以完成数据流图的细化。

A). 结构分解 B). 功能分解 C). 数据分解 D). 系统分解

  1. 程序流程图 (PDF) 中的箭头代表的是 ( B )

A). 数据流 B). 控制流 C). 调用关系 D). 组成关系

  1. 软件定义期问题定义阶段涉及的人员有 ( D )

A). 用户、使用部门负责人 B). 软件开发人员、用户、使用部门负责人

C). 系统分析员、软件开发人员 D). 系统分析员、软件开发人员、用户、使用部门负责人

  1. ( C )应考虑对模块相联和资源共享问题进行描述和制约。

A). 系统设计 B). 详细设计 C). 接口控制 D). 结构化编辑工具

  1. 业界存在三种需求分析方法:面向功能分析、面向对象分析和 B 。

A.面向算法分析 B.面向数据分析 C.面向程序分析 D.面向硬件分析

  1. 软件可维护性的特性中相互矛盾的是 C 。

A.可修改性和可理解性 B.可测试性和可理解性 C.效率和可修改性 D.可理解性和可读性

  1. 软件测试方法中的 D 属于静态测试方法。

A. 黑盒法 B.路径覆盖 C.错误推测 D.人工检测

  1. 结构化分析方法采用的基本手段是 A

A. 分解与抽象 B.分解与综合 C.归纳与推导 D.试探与回溯

  1. 可行性研究要进行一次(D)需求分析。

A.深入的 B.详尽的 C.彻底的 D.简化的、压缩了的

  1. 可维护性的特性中相互促进的是(A)

A.可理解性和可测试性  B.效率和可移植性 C.效率和可修改性   D.效率和结构好

  1. (D)是以提高软件质量为目的的技术活动。

A.技术创新  B.测试  C.技术创造  D.技术评审

  1. 软件测试可能发现软件中的( B ),但不能证明软件 ( )。

A.所有错误,没有错误 B.错误,没有错误 C.逻辑错误,没有错误 D. 设计错误,没有错误

  1. 以下不属于软件维护困难表现的是 ©。

A.读懂别人的程序是困难的。
B.文档的不一致性。
C.源程序及相关文档的错误或丢失。
D.软件开发和软件维护在人员和时间上的差异。E. 软件维护不是一项吸引人的工作。

  1. 软件设计一般分为总体设计和详细设计,它们之间的关系是 (A)。

A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构

  1. 一组语句在程序多处出现,为了节省空间,把这些语句放在一个模块中,该模块的内聚度是( C )的。

A.逻辑性 B.瞬时性 C.偶然性 D.通信性

  1. 在一个课程注册系统中,定义了类 CourseSchedule 和类 Course , 并在类 CourseSchedule 中定义了方法 add (c:Course) 和方法 remove (c:Course),则类 CourseSchedule 和类 Course 之间的关系是( C )。

A.泛化关系 B.组合关系 C.依赖关系 D.包含关系

  1. 软件策划的上游是( A ),下游是( B )

A)需求分析 B)软件设计 C)软件测试 D)可行性分析

  1. 概要设计的结果是提供一份 ( A )。

A). 模块说明书 B). 框图 C). 程序 D). 数据流图

  1. 面向数据流软件设计方法一般是把数据流图中的数据流化分为 (B) 两种流,再将数据流图映射为软件结构。

A). 数据流与事务流 B). 交换流和事务流
C). 信息流与控制流 D). 交换流和数据流

填空题

  1. 一般来说,可以从 一致性完整性__、现实性____和有效性___四个方面验证软件需求的正确性。

  2. IPO图是 _输入、处理和输出图 _ 的简称,它是美国IBM公司发展完善起来的一种图形工具。

  3. 系统流程图是描述__物理模型__的传统工具,用图形符号表达了系统中各种元素之间的__信息流动_____情况。

  4. 数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点

  5. 集成测试的方法主要有 渐增式和非渐增式

  6. 软件生命周期一般可分为**问题定义、可行性研究、需求分析、设计编码、测试、运行与维护**阶段。

  7. 可行性研究主要集中在以下四个方面**经济可行性**、技术可行性__、__法律可行性___和抉择。

  8. 在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。

  9. 实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的_独立性

  10. 按软件的功能进行划分,软件可以划分为 系统软件支撑软件应用软件

  11. 单元测试一般以**白盒**测试为主,__黑盒__测试为辅。

  12. 面向对象的数据存储管理模式分为__文件__、关系数据库面向对象数据库三种。

  13. 通用体系结构模式有:分层模式、管道与过滤器模式和黑板模式

  14. 成本效益分析的目的是从( 经济 )角度评价开发一个项目是否可行。

  15. 自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和 ( 宽度优先策略  ) 。

  16. 汇编语言是面向( 机器 ) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。

  17. 详细设计的任务是确定每个模块的内部特性,即模块的算法、( 使用的数据 )。

  18. 所有软件维护申请报告要按规定方式提出,该报告也称(  软件问题  )报告。

  19. 有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的( 维护支援 )技术。

  20. 科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:( FORTRAN语言)、PASCAL语言、C语言和PL/1语言。

  21. 用户界面的 可使用性 是用户界面设计最重要的也是最基本的目标

  22. 数据流图数据字典 共同构成系统的逻辑模型

  23. 软件测试的方法有 分析方法非分析方法(即黑盒法)

  24. 成本估计方法主要有 自底向上估计自顶向下估计算法模型估计三种类型

  25. 常见的软件概要设计方法有三大类:以数据流图为基础构造模块结构的 结构化设计方法 ,以数据结构为基础构造模块的 Jackson方法 ,以对象、类、继承和通信为基础的 面向对象设计方法

  26. 实用的白盒测试覆盖技术有 4 种:语句覆盖、条件覆盖、分支 (或判定) 覆盖和组合覆盖。

  27. 传统软件维护一般分为 4 大类,分别是纠错性维护适应性维护完善性维护和预防性维护

  28. 在 V 测试模型中,编码结束后,首先作单元测试,然后是集成测试系统测试和验收测试

  29. 传统软件维护一般分为 4 大类,分别是纠错性维护适应性维护完善性维护和预防性维护

  30. 需求建模的基本方法包括抽象、分解与多视点分析 3 种。

  31. 用例之间的关系主要有三种:包含(include)、扩展(extend)和继承。

  32. 用于表示分析模型的 UML 图形机制主要是类图、活动图、交互图与状态图。

  33. 软件设计基本原则包括抽象与逐步求精、强内聚及松耦合、信息隐藏及关注点分离。

  34. 内聚性有 6 种类型 偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。

  35. 一般而言,在面向对象建模过程中,人们最常用的是建立系统的用例图、类图和顺序图。

  36. 常用的软件开发方法有结构化方法、面向对象方法和形式化开发方法

  37. 内聚性 是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。

  38. 在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、 判定树

  39. 结构化语言是介于自然语言和形式语言之间的一种半形式语言

  40. 软件概要设计的主要任务就是软件体系结构的设计

判断题

  1. 向滞后的项目中增加人手会使得项目更加滞后。(T)

  2. 过程描述语言可以用于描述软件的系统结构。(F)

  3. 按照瀑布模型开发软件的一条指导思想是清楚地区分逻辑设计与物理设计,以便尽早开始程序的物理实现。( F )

  4. 只有质量差的软件产品才需要维护。( F )

  5. 层次图用来描述软件的层次结构。层次图中的一个矩形框代表一个模块,方框间的连线表示模块的组成关系。在层次图中除最顶层的方框之外,给每个方框都加编号,即成为带有编号的层次图。( F )

  6. 建立动态模型的第一步,是编写典型交互行为的脚本。( T )

  7. 软件错误可能出现在开发过程的早期,越早修改越好。(T)

  8. 软件模块的耦合是越低越好。( T )

  9. 一个好的测试用例在于能发现至今未发现的错误。(  T  )

  10. 面向对象设计的结果只能采用面向对象语言来实现( F )

  11. 一个成功的项目唯一提交的就是运行程序。( F  )

  12. 用例之间的关系有3种。(  T  )

  13. 面向对象设计准则也要遵循弱耦合的原则,但是继承耦合则应该提高,紧密地继承耦合与高度的一般-特殊内聚是一致的。 ( T )

  14. 软件工作的考虑范围主要是程序设计和实现。( F   )

  15. 环形复杂度定量度量程序的逻辑复杂度,可以用这个公式来计算环形复杂度:流图G的环形复杂度V(G) = N– E + 2。(改成E-N+2)( F )

  16. 等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。( T )

  17. 在进行总体(改成概要)设计时应加强模块间的联系。(    F   )

  18. 系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图当作系统流程图使用。( T )

  19. 建立动态模型的第一步,是编写典型交互行为的脚本。(   T    )

  20. 在程序调试时,找出错误的位置和性质比改正该错误更难。(   F   )

  21. 如果通过软件测试没有发现错误,则说明软件是正确的。(  F    )

  22. 快速原型模型可以有效地适应用户需求的动态变化。(  T   )

  23. 模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。( T )

  24. 集成测试主要由用户来完成。(    F   )

  25. 面向对象 = 对象 + 类 + 继承 + 消息传递。(    T   )

  26. 面向对象的分析是面向计算机系统建立软件系统的对象模型。(  F  )

  27. 软件的开发与运行经常受到硬件的限制和制约。( T )

  28. 模块内的高内聚往往意味着模块间的松耦合。( T )

  29. Jackson图只能表达程序结构,不能表达数据结构。( F )

  30. 软件测试的目的是为了无一遗漏的找出所有的错误。( F )

  31. 软件的质量好坏主要由验收人员负责,其他开发人员不必关心。( F )

  32. 判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。( T )

  33. 应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。( F )

  34. UML只能应用于软件系统模型的建立。( F )

  35. 容错就是每个程序采用两种不同的算法编写。( F )

简答题

  1. 简述软件设计的过程。

软件设计是把许多事物和问题抽象起来,并且抽象它们不同层次和角度,是将需求转变为软件陈述的过程,是迭代的过程。

软件设计,要根据需求规格说明书,对整个设计过程进行计划,然后实施具体的设计过程,即“先整体,再局部”,也是不断迭代和精化的过程。

然后需要对生成的设计规格说明书进行评审,启动 质量评价的标准,若未通过评审,需重新修改设计,直至评审通过,确定最后定型的过程本身。进入后续阶段,完成软件设计过程。

  1. 简述结构化程序设计方法的基本特点。

1)尽可能少用goto语句的程序设计方法。

2)每个代码块都单入单出。

3)使用控制结构:顺序、选择和循环。

4) 自顶向下逐步求精。

  1. 衡量模块独立性的两个定性标准是什么?这两个标准的定义分别是什么?在我们的软件设计中,关于模块独立性我们追求的目标是什么?

衡量模块独立性的两个定性标准是内聚和耦合(2分)。

耦合是指对一个软件结构内不同模块彼此之间互相依赖(连接)的紧密程度;而内聚则标志一个模块内部各个元素彼此结合的紧密程度(2分)。

在我们的软件设计中,关于模块独立性我们追求的目标是紧密内聚松散耦合(1分)。

  1. 什么是黑盒测试法?

黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程(2分)。

它只检查程序功能是否能按照规格说明书的规定正常使用(1分),

程序是否能适当地接收输入数据(1分),

产生正确地输出信息(1分)。

  1. 如何选择程序设计语言的工程特性

1.系统用户的要求

2.可以使用的编译程序

3.可以得到的软件工具

4.工程规模

5.程序员的知识

6.软件可移植性的要求

7.软件的应用领域

  1. 简述面向对象的4个要点的含义。

面向对象的4个要点是:对象分解、数据专有、继承、封装性。(1分)

1)对象分解:认为客观世界是由各种对象组成的。  (1分)

2)数据专有,方法共享:把所有对象都划分成各种对象类(简称为类,class),每个对象类都定义了一组数据和一组方法。 (1分)

3)继承:按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。(1分)

4)封装性:对象彼此之间仅能通过传递消息互相联系。(1分)

  1. 软件维护的过程

在软件开发完成交付用户使用后,为了保证软件在一个相当长的时期能够正常运行,就需要对软件进行维护。 软件维护的过程:

(1) 确认维护要求。(1分)

(2) 对于改正性维护申请,评价错误的严重性。对于严重的错误,立即安排人员,分析问题原因,进行”救火”性的紧急维护;对于不严重的错误,根据任务情况和轻重缓急进行统一安排。(2分)

(3) 对于适应性和完善性维护申请,需要确定申请的优先级,然后安排维护工作。并不是所有的完善性维护申请都必须承担,需要考虑商业需要、现有资源、未来发展方向等进行决定。(2分)

  1. 软件维护的目的和主要任务是什么?维护的类型有哪些?

软件维护是软件生命周期中最后一个、持续时间最长的阶段。

主要任务是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件。

目的是提高软件的可靠性、可用性,延长软件的寿命。

维护的类型有:改正性(错误)、适应性(环境)、完善性(功能)、预防性(新产品)

  1. 什么是耦合?模块的耦合包括哪些类型?

耦合是对一个软件结构内不同模块之间互连程度的度量。

模块的耦合包括以下几种类型:数据耦合,控制耦合,特征耦合,公共环境耦合,内容   耦合,标记耦合,无耦合/非直接耦合

  1. 什么是内聚?模块的内聚包括哪些类型?

内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展

模块的内聚包括以下几种类型:低内聚 — 偶然内聚,逻辑内聚,时间内聚  中内聚 — 过程内聚,通信内聚; 高内聚 — 顺序内聚,功能内聚

  1. 什么是编码风格?为什么要强调编码风格?

编码风格包括以下内容:程序内部良好的文档(注释)、数据说明、语句构造、输入输出和效率保障等。

因为编码风格对软件的可读性、可维护性、可靠性、可用性很重要,所以要强调编码风格。

  1. 什么是软件危机?软件危机的表现是什么?其产生的原因是什么?

软件发展的第二阶段末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。一些复杂的,大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。在软件开发中遇到的问题找不到解决方法,使问题积累起来,形成了尖锐的矛盾,因此导致了软件危机。

软件危机表现在以下四个方面:(钱与时间,要求,维护性,可靠性)

  • (1)经费预算经常突破,完成时间一再拖延。
  • (2)开发的软件不能满足用户要求
  • (3)开发的软件维护性差
  • (4)开发的软件可靠性差

造成软件危机的原因:(规模和结构,管理,经费,技术,工具)

  • (1)软件的规模越来越大,结构越来越复杂
  • (2)软件开发管理困难而复杂
  • (3)软件开发的经费不断增加
  • (4)软件开发技术落后
  • (5)生产方式落后开发工具落后,生产率提高缓慢
  1. 软件生存周期包括哪些活动?

答:软件生存周期的活动包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等活动。

  1. 请说明 “三个模型” 的定义,以及三者之间的关系。

功能模型是描述系统能做什么,即对系统的功能、性能、接口和界面进行定义。
业务模型是描述系统在何时、何地、由何角色、按什么业务规则去做,以及做的步骤或流程,即对系统的操作流程进行定义。
数据模型是描述系统工作前的数据来自何处,工作中的数据存什么地方,工作后的数据放到何处,以及这些数据之间的关联,即对系统的数据结构进行定义。
功能模型和业务模型是在需求分析时建模,是两个基本点。数据模型是一个中心,在设计时建模。功能模型和业务模型给数据模型提供数据与维护数据,数据模型支持功能模型和业务模型的正常运行。通常,数据模型建模用 Power Designer,ER win 或 Oracle Designer 工具实现;功能模型用功能点列表(或用况图)表示;业务模型用自然语言加上流程图(或顺序图)表示。

  1. “面向对象实现” 的目标是什么?

答:“面向对象实现” 的目标是:按照《详细设计说明书》中对数据结构、算法分析和模块实现等方面的设计说明,用面向对象的语言,将这些部件组装起来,分别实现各模块的功能,从而实现目标系统的功能、性能、接口、界面等要求。

  1. 软件工程的定义
  • (1)将系统的、规范的、可量化的方法应用于软件的开发、运行和维护的过程;
  • (2)及上述方法的研究。

画图题

1.已知有一段代码实现了 “输出ABC三个数中的最大值”,要求完成下列问题:

(1)画出代码的流程图(4分)

(2)根据该程序流程图画出该程序的流图;(4分)

(3)计算该流图的环形复杂度;(4分)

在这里插入图片描述
在这里插入图片描述

​ (3) 环形复杂度

​ V(G) = 区域数 = 边数 – 节点数 + 2 = 判定点 + 1 = 4

2.某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测试用例。
在这里插入图片描述
在这里插入图片描述

3.银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址 (或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码 (可选) 等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
用数据流图描绘本系统的功能,要求绘出数据处理、数据存储、数据流和相关角色。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137012.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号