软件工程概论题库「建议收藏」

一、选择题:1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。A.软件工程 B.软件周期 C.软件危机 D.软件产生2.瀑布模型本质上是一种(A)模型。A.线性顺序B.顺序迭代C.线性迭代D.早期产品3.瀑布模型存在的问题是(B)。A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求4.螺旋模型是…

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

一、选择题:

1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。

A.软件工程 B.软件周期 C.软件危机 D.软件产生

2. 瀑布模型本质上是一种(A )模型。

A.线性顺序        B.顺序迭代      C.线性迭代     D.早期产品

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

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

4. 螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。

A.增量模型 B.专家系统 C.喷泉模型 D.变换模型

5. 原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。

A.需求不确定性高的 B.需求确定的 C.管理信息 D.实时

6. 下列有关软件工程的标准,属于国际标准的是(C )

A.GB  B.ANSI  C.ISO  D.IEEE

7. 结构化方法是一种基于(D)的方法。

A.数据结构 B.程序结构 C.算法 D.数据流

8. 软件可行性研究实质上是要进行一次( A)需求分析、设计过程。

A、简化、压缩的  B、详细的 C、彻底的 D、深入的

9. 可行性研究的目的是(D)

A、分析开发系统的必要性 B、确定系统建设的方案

C、分析系统风险 D、确定是否值得开发系统

10. 可行性研究是在(A)之前

A、系统开发 B、测试 C、试运行 D、集成测试

11. 可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的(C)。

A、1% B、20% C、8% D、50%

12. 我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。

A.《计算机软件保护条例》

B.《中华人民共和国计算机信息系统安全保护条例》

C.《中华人民共和国著作权法》

D.《计算机病毒防治管理办法》

13. 效率是一个性能要求,因此应当在以下哪个阶段规定?B

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

14. 需求规格说明书的作用不包括(D)

A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解

C、软件可行性研究的依据 D、软件设计的依据

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

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

16. 数据流程图是(A)方法中用于表示系统逻辑模型的一种图形工具。

A、SA B、SD C、SP D、SC

17. DFD中的每个加工至少有(A)。

A、一个输入流或一个输出流 B、一个输入流和一个输出流

C、一个输入流 D、一个输出流

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

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

19. 在SD方法中全面指导模块划分的最重要的原则是(D)。

A、程序模块化B、模块高内聚C、模块低耦合D、模块独立性

20. 在模块的3种基本属性中,反映模块内部特性的是(C)。

A、接口 B、功能 C、逻辑 D、状态

21. 模块的耦合性可以按照耦合程度的高低进行排序,以下哪一项符合从低到高的正确次序(D)。

A、数据结构耦合,公共耦合,控制耦合,内容耦合

B、数据耦合,控制耦合,数据结构耦合,公共耦合

C、无直接耦合,数据结构耦合,内容耦合,控制耦合

D、无直接耦合,数据耦合,控制耦合,内容耦合

22. PDL(过程设计语言)是描述处理过程( C )

A、做什么B、为什么做 C、怎么做D、对谁做

23. (D)工具在软件详细设计过程中不采用。

A、判定表 B、IPO图 C、PDL D、DFD图

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

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

25. 当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为(D)

A、数据耦合B、公共耦合C、标记耦合D、内容耦合

26. 详细设计与概要设计衔接的图形工具是(B)。

A、DFD图 B、SC图 C、PAD图 D、程序流程图

27. 下列几种类型中,耦合性最弱的是(D)。

A、内容型B、控制型C、公共型D、数据型

28. 软件结构使用的图形工具,一般采用(C)图。

A、DFD B、PAD C、SC D、ER

29. 在七种偶合中,最低偶合是(D)。

A、 内容偶合B、公共偶合C、数据偶合D、非直接偶合

30. 结构化程序设计,主要强调的是(C)

A.程序的执行效率 B.模块的内聚

C.程序的可理解性 D.模块的耦合

31. 基线可作为软件生存期中各开发阶段的一个检查点。当采用的基线发生错误时,可以返回到最近和最恰当的(C)上

A.配置项  B.程序  C.基线  D.过程

32. 在软件设计中应该保持模块的独立性原则,( A )反映模块独立性。

A. 耦合和内聚 B.数据和模块    C. 模块内部的凝聚力   D.模块之间的耦合

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

A. 瀑布模型                             B. 喷泉模型

C. 螺旋模型                             D. 增量模型

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

A. 过程                                 B. 软件系统

C. 硬件环境                             D. 人员

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

A. 数据字典                             B. 实体关系图

C. 数据流图                             D. 状态转换图

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

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

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

37. 软件的( A  )设计又称为总体设计,其主要任务是建立软件系统的总体结构。

A.概要                                 B.抽象          

C.逻辑                                 D.规划

38. 下列不属于数据字典组成部分的是?(  D  )

A. 数据项                               B. 数据流    

C. 数据文件                             D. 数据库

39. 下列不属于软件需求范畴的是?( A   )

A. 软件项目采用什么样的实现技术         B . 用户需要软件能做什么样的事情

C. 用户需要软件完成什么样的功能         D. 用户需要软件达到什么样的性能

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

A. 逻辑内聚                             B. 时间内聚       

C. 偶然内聚                             D. 功能内聚

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

A. 语句覆盖                            B. 路径覆盖      

C. 条件组合覆盖                        D. 判定覆盖

42. Jackson程序设计方法是一种面向( A    )的设计方法。

A. 数据结构                            B. 数据流图    

C. IPO图                               D. 系统流程图

43. 软件设计中划分模块的一个准则是(  C    )。

A. 低内聚低耦合                        B. 低内聚高耦合  

C. 高内聚低耦合                        D. 高内聚高耦合

44. 以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C   )。

A. 喷泉模型                            B. 增量模型      

C. 瀑布模型                            D.螺旋模型

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

A. 实例重用                            B. 重载重用       

C. 代码重用                            D. 方法重用

46. 软件维护工作的最主要部分是(  C    )。

A. 校正性维护                                B. 适应性维护

C. 完善性维护                                 D. 预防性维护

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

A. 深度                                 B. 宽度         

C. 扇出                                 D. 扇入

48. 从本质上说,面向对象是“先”确定(A)后确定执行的动作。

A.动作的主体 B.属性 C.关系 D.方法

49.(B)是对象的静态特征。

A.方法 B.属性 C.关系 D.操作

50. 对象的(D)使对象的动态特征

A.特征 B.属性 C.关系 D.操作

51. 属于某个类的一个具体对象称为该类的(A)。

A.实例 B.虚拟 C.继承 D.多态

52. UML是(A)。

A) 一种可视化的建模语言

B) 是一种可视化的程序设计语言

C) 是一种过程

D) 是一种方法

53. 封装的的作用是(A)。

A.复用 B.对象 C.实例 D.方法

54. 面向对象分析的核心在于建立(B)模型。 

A. 建立正确的模型

B. 识别问题域对象

C.识别对象之间的关系

D.上面所有

55. 面向对象分析过程中建立的模型有(D )。 

 A. 数据模型、功能模型、活动模型

 B. 对象模型、功能模型、测试模型

 C. 属性模型、功能模型、对象模型

 D. 对象模型、功能模型、动态模型

56. 下列的( C)不是分析建模的目的。 

 A. 定义可验证的软件需求 

 B. 描述客户需求 

 C. 开发一个简单的问题解决方案 

 D. 建立软件设计的基础 

57. 下列的( C)不属于面向对象分析模型。 

 A. 用例图 

 B. 类图 

 C. 实体关系图 

 D. 顺序图 

58.(A )用于描述系统中概念层次的对象。 

A.分析类

B. 界面类

C.实体类

D.控制类

59. 在基于用例的面向对象分析过程中,定义交互行为的关键在于通过描述分析类实例之间的(A)将用例的职责分配到分析类中。

A. 消息传递

B  关联关系

C  继承关系

D  上下文关系

60. 用例的实现细节不会在(B)描述。

A. 用例说明

B. 用例图

C.活动图

D.顺序图

61. 用例的职责通常分配给(D)的对象。

A. 发送消息

B. 接收消息

C.发送和接收双方

D.分析类

62. 组织机构图是(C)。

A. UML的一个最新图

B. 类图的一种

C.用于识别角色的辅助图

D.用例图的一种

63. 在图书馆系统中,假如已经构造了一个一般借书者类,后来发现图书馆的学生和教师在借书中有不同要求。请问在面向对象设计中用(B)方法可以方便地设计这两个类?

A.信息隐藏  B.继承  C.动态联编  D.代码复制

64. 框架是一组可用于不同应用的(A)集合

A. 类  B.对象  C.模块  D.代码 

65. 下面哪个选项不能描述子系统之间的关系。(D)

A. 请求——服务关系  B.继承关系  C.依赖关系  D.数据关系

66. 每个子系统的接口上定义了若干(B),体现了子系统的功能。

A. 说明  B.操作 C.属性  D.关系

67. 通常将具有共性的非功能要求设计在(B),以减少重新开发的工作量。

A. 接口层  B.中间层  C.最低层  D.最高层

68. 每个用例至少应该有一个(C),它通常没有属性而只有方法,只是起协调和控制作用。

A. 接口类  B.实体类  C.控制类  D.界面类

69. 类有三种类型即(A)。

A. 边界类、实体类、控制类 

B. 实体类、数据类、界面类

C. 控制类、实体类、数据类

D. 界面类、控制类、公共类

70. 下面那个选项不是正确的面向对象设计思想。(C)

A.对接口进行设计

B.发现变化并且封装它

C.先继承后组合

D.先组合后继承

71. 定义类的属性类型时尽量使用已有的类型,太多的自定义类型会降低系统的(A)指标。

A.可维护性  B.安全性 C.开发效率 D.可移植性

72. 从本质上说,面向对象是“先”确定动作的(  )“后”执行( D )。

A.数据结构/主体   B.主体/数据结构   C.动作/主体  D.主体/动作

73. 结构化语言是介于自然语言和形式语言之间的一种(D)。

A.半形式语言B.计算机语言 C.低级语言 D.高级语言

74. 程序设计语言的技术特性不应包括(C)。

A、数据结构的描述性B、抽象类型的描述性

C、数据库的易操作性D、软件的可移植性

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

A.过程、子程序和分程序 B.顺序、选择和重复

C.递归、堆栈和队列 D.调用、返回和转移

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

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

77. 下列关于功能性注释不正确的说法是(B)。

A.功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态

B.注释用来说明程序段,需要在每一行都要加注释

C.可使用空行或缩进,以便很容易区分注释和程序

D.修改程序也应修改注释

78. 下列关于效率的说法不正确的是(D)。

A.效率是一个性能要求,其目标应该在需求分析时给出

B.提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法

C.效率主要指处理机时间和存储器容量两个方面

D.程序的效率与程序的简单性无关

79. 结构化维护与非结构化维护的主要区别在于(B )。

A.软件是否结构化 B.软件配置是否完整 C.程序的完整性 D.文档的完整性

80. 关于JAVA语言下列说法不正确的是(B)。

A.跨平台的 B.动态指针 C.解释型的 D.面向对象的

81. 使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。

A程序内部逻辑      B.程序复杂结构

C.使用说明书 D.程序的功能

82. 确认测试主要涉及的文档是(A)。

A、需求规格说明书B、概要设计说明书

C、详细设计说明书D、源程序

83. 测试的关键问题是(D)。

A.如何组织对软件的评审 B.如何验证程序的正确性

C.如何采用综合策略 D.如何选择测试用例

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

A.需求规格说明 B.详细设计说明

C.项目开发计划 D.概要设计说明与详细设计说明

85. 下面哪些测试属于黑盒测试(B)。

A、路径测试B、等价类划分 C、条件判断 D、循环测试

86. 在下述哪一种测试中,测试人员必须接触到源程序(B)。

A、功能测试 B、结构测试C、功能测试和结构测试 D、性能测试

87. 检查软件产品是否符合需求定义的过程称为(D)。

A、确认测试B、集成测试C、验收测试D、验证测试

88. 软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)。

A、 结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑

89. 软件维护中,因修改交互输入的顺序,没有正确的记录而引起的错误是(A)产生的副作用。

A、文档B、数据 C、编码D、设计

90. 以下属于软件维护阶段文档的是(C)。

A、软件需求说明B、操作手册C、软件问题报告D、测试分析报告

91. 产生软件维护的副作用,是指(C)。

A、开发时的错误 B、隐含的错误

C、因修改软件而造成的错误 D、运行时误操作

92. 维护中,因误删除一个标识符而引起的错误是(C)副作用。

A、文档 B、数据 C、编码 D、设计

93. 可维护性的特性中,相互促进的(A)。

A、可理解性和可测试性B、效率和可移植性

C、效率和可修改性 D、效率和结构好

94. 软件维护的困难主要原因是(C)

A、费用低 B、人员少 C、开发方法的缺陷 D、用户不配合

95. 软件维护费用高的主要原因是(C)。

A、人员少  B、人员多   C、生产率低D、生产率高

96. 为了适应软硬件环境变化而修改软件的过程是(C)。

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

97. 可维护性的特性中,相互矛盾的是(B)

A.可理解性与可测试性 B.效率与可修改性

C.可修改性和可理解性 D.可理解性与可读性

98. 各种不同的软件维护中,以(C)维护所占的维护量最小。

A、 纠错性维护B、代码维护C、预防性维护D、文档维护

99. 在变更控制中,(B)可以用来确保由不同用户所执行的并发变更。

A.异步控制B.同步控制C.存取控制D.基线控制

100. 变更控制是一项最重要的软件配置任务,其中“检出”和(A)处理实现了两个重要的变更控制要素,即存取控制和同步控制。

A.登入B.管理C.填写变更要求D.审查

101. 在整个软件维护阶段所花费的全部工作中,所占比例最大的是(   )

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

102. 下面关于文档的叙述,错误的是( B )

A.文档是软件产品的一部分,没有文档的软件就不成为软件。

B.文档是仅用于说明使用软件的操作命令,不包括软件设计和实现细节。

C.高质量文档对于转让、变更、修改、扩充和使用有重要的意义。

D.软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量。

103. 在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的(  B  )。

A. 安全性                                 B. 健壮性

C. 可用性                                 D. 可靠性

104. 在下列测试技术中,( D   )不属于黑盒测试技术。

A. 等价划分                               B. 边界值分析

C. 错误推测                               D. 逻辑覆盖

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

A. 多态                                   B. 继承      

C. 封装                                   D. 消息

106. Jackson方法是在软件开发过程中常用的方法,使用Jackson方法时可以实现( A   )。

A. 从数据结构导出程序结构                 B. 从数据流图导出初始结构图

C. 从模块结构导出数据结构                 D. 从模块结构导出程序结构

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

A. 纠正错误                               B. 发现错误

C. 避免错误                               D. 证明错误

108. 在软件系统中,一个模块应具有什么样的功能,这是由(  B  )决定的。

A. 总体设计                               B. 需求分析

C. 详细设计                               D. 程序设计

109. 软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件的(  B  )。

A. 可理解性                              B. 可维护性

C. 可扩展性                              D. 可移植

110. 模块内聚度越高,说明模块内各成分彼此结合的程序越(  B  )。

A. 松散                                  B. 紧密

C. 无法判断                              D. 相等

111. 常用的面向对象的软件过程模型是( B   )。

A. 瀑布模型                              B. 喷泉模型

C. 原型模型                              D. 增量模型

112. 面向对象的分析阶段建立的系统模型不包括(  D  )。

A. 对象模型                                 B. 动态模型

C. 功能模型                                 D. 数据模型

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

A. 用户容易参与开发                         B. 缺乏灵活性

C. 用户与开发者易沟通                       D. 适用可变需求

114. 以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C   )。

A. 喷泉模型                                 B. 增量模型      

C. 瀑布模型                                 D. 螺旋模型

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

A. 实例重用                                 B. 重载重用       

C. 代码重用                                 D. 方法重用

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

A. 语句覆盖                                 B. 路径覆盖

C. 条件组合覆盖                             D. 判定覆盖

117. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C   )。

  A.软件工程                                B.软件周期

  C.软件危机                                D.软件产生

二、填空题

1. 软件模块独立性的两个定性度量标准是(耦合和内聚 )。

2. 软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个(由下而上)的过程。

3. (等价划分)是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测试用例。

4. (数据流图)和数据字典共同构成了系统的逻辑模型。

5. 可行性研究主要集中在以下三个方面:经济可行性、(技术可行性)、法律可行性。

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

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

8. 可行性研究主要集中在以下三个方面:经济可行性、(技术可行性)、法律可行性。

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

10. 复杂问题的对象模型通常由下述五个层次组成:主题层、类与对象层、结构层、属性层和(服务层)。

11. 软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、(可移植性)、可使用性和效率。

12. 软件一般由程序、数据和(文档)组成。

13. 面向对象模型主要由对象模型、动态模型、(功能模型)。

14. 软件需求分析过程应该建立数据模型、功能模型和(行为模型) 三种模型之上。

15. 需求分析的最终结果是(需求规格说明书)。

16. 常见的测试方法一般分为:白盒测试和(黑盒测试)。

17. 软件工程三要素包括方法、(工具)和过程,其中,过程是支持软件开发的各个环节的控制和管理。

18. 类构件的重用方式有实例重用、继承重用和(多态重用)三种。

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

20. 软件测试的步骤按顺序分别是:(单元测试)、子系统测试、系统测试、__确认测试和系统测试。21. 数据库的“概念设计”与“逻辑设计”分别对应于系统开发中的“    ”与“    ”,而数据库的“物理设计”与模块的“    ”相对应。

解:需求分析  概要设计  详细设计

22. 概要设计文档主要有                

解:概要设计说明书  数据库设计说明书  用户手册  组装测试计划

23. 模块化指解决一个复杂问题时    逐层把软件系统划分成若干    的过程。解:自顶向下  模块24. 模块之间联系越紧密,其    就越强,模块的    则越差。解:耦合性  内聚性

24. 软件结构往往用     结构的图形来表示。软件结构图是软件系统的      结构。解:树状或网状  模块层次

25. 面向数据流的设计又称     ,它是以需求分析阶段产生的    为基础,按一定的步骤映射成软件结构。解:结构化设计  数据流图

26. 数据流图一般可分为          两类。解:变换型  事务型

27. 详细设计也称     ,它是软件设计的第二阶段,主要确定每个     的具体执行过程。解:过程设计  模块

28. 处理过程设计中最典型的方法是     方法,其基本要点是采用的程序设计方法是          。解:结构化程序设计  自顶向下  逐步求精

29. 任何程序都可由               3种基本控制结构构造。这3种基本结构的共同点是          。解:顺序  选择  循环  单入口  单出口

30. 详细描述处理过程常用3种工具:          、和     。解:图形  表格  语言

31.  Jackson方法是面向     的设计方法,它的描述工具是     。解:数据结构  Jackson

32. 软件测试的目的是尽可能多地发现软件中存在的    ,将    作为纠错的依据。解:错误  测试结果

33. 测试阶段的基本任务是根据软件开发各阶段的    和程序的    ,精心设计一组    ,利用这些实例执行    ,找出软件中潜在的各种        。解:文档资料  内部结构  测试用例  程序  错误  缺陷

34. 测试用例由    和预期的    两部分组成。解:输入数据  输出数据

35. 软件测试方法一般分为两大类:    方法和    方法。解: 动态测试  静态测试

36. 动态测试通过    发现错误。根据    的设计方法不同,动态测试又分为        两类。解:运行程序  测试用例  黑盒测试  白盒测试

37. 黑盒法只在软件的    处进行测试,依据    说明书,检查程序是否满足    要求。解:接口  需求规格  功能

38. 白盒法必须考虑程序的        ,以检查    的细节为基础,对程序中尽可能多的逻辑路径进行    。解:内部结构  处理过程  处理过程  测试

39. 白盒测试是    测试,被测对象是    ,以程序的    为基础设计测试用例。解:结构  源程序  内部逻辑

40. 逻辑覆盖是对程序内部有    存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为                        6种覆盖技术。解:判定  语句覆盖  判定覆盖  条件覆盖  判定/条件覆盖  条件组合覆盖  路径覆盖

41. 黑盒测试是    测试,用黑盒技术设计测试用例有4种方法:                 。解:功能  等价类划分  边界值分析  错误推测  因果图

42. 等价类划分从程序的       说明,找出一个输入条件(通常是           ),然后将每个输入条件划分成两个或多个     解:功能  一句话  一个短语  等价类

43. 边界值分析是将测试     情况作为重点目标,选取正好等于、刚刚大于或刚刚小于     的测试数据。如果输入或输出域是一个有序集合,则应选取集合的     元素和     元素作为测试用例。解:边界  边界值  第一个  最后一个

44. 软件测试一般经过4个测试:               和     。解:单元测试  集成测试  确认测试  系统测试

45. 集成测试的方法有两种:          。解:非渐增式测试  渐增式测试

46. 软件配置审查的任务是检查软件的所有文档资料的        。解:完整性  正确性

47. 调试也称    ,是在成功的测试之后才开始进行,其目的是确定错误的        ,并改正错误。解:纠错  原因  位置

48. 调试技术包括                解:简单调试  归纳法调试  演绎法调试  回溯法调试

49. 为了提高程序的易读性,同时为减少错误,提高软件开发效率,编码时应注意养成良好的   程序设计风格       

50. 程序加注释对理解程序提供了明确指导,根据作用不同注释分   序言性注释          功能性注释   

三、简答题

1. 什么是软件工程?软件工程的目标是什么?

答:软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。

目标:

1 合理预算开发成本,付出较低的开发费用。

2 实现预期的软件功能,达到较好的软件性能,满足用户的需求。

3  提高软件的可维护性,降低维护费用。

4  提高软件开发生产率,及时交付使用

2. 指出瀑布模型中下列任务的顺序:验收测试,项目计划,单元测试,需求评审,成本估计,概要设计,详细设计,系统测试,设计评审,编码,需求规格说明书。

答:项目计划,成本估计,需求规格说明书,需求评审,概要设计,详细设计,设计评审,编码,单元测试,系统测试,验收测试

3. 可行性研究报告的主要内容是什么?

答:可行性研究主要包括以下几个部分:

   (1)概述(2)技术可行性(3)项目成熟程度(4)市场需求情况和风险分析(5)投资估算及资金筹措(6)经济与社会效益(7)综合实力和产业基础(8)项目实施进度计划(9)其它尚需要说明的必要的方面(10)结论

4. 什么是需求分析?需求分析阶段的基本任务是什么

答:所谓”需求分析”,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,“需求分析”就是确定要计算机“做什么”。

任务:确定软件项目的目标和范围。调查使用者的要求,分析软件必须做什么,编写需求规格说明书等它相关文档,并进行必要的需求审查。除此之外,还包括需求变更控制,需求风险控制,需求版本控制等对需求的管理工作

5. 什么是结构化分析方法?该方法使用什么描述工具?

答:结构化的分析方法是面向数据流的方法,因此,此方法研究的核心是数据的组成和数据流向和对数据的加工处理。结构化分析方法用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直至找到满足功能要求的所有可实现的软件元素为止

描述工具:1系统流程图 2 数据流程图3数据字典4 IPO图 5层次方框图6实体—关系图

7状态—变迁图

6. 结构化分析方法通过哪些步骤来实现?

答:1)确定系统的功能要求

2) 确定系统的数据要求

3) 确定系统的操作要求和界面要求

4) 确定系统的性能要求

5) 确定系统的运行要求

6) 获得当前系统的物理模型

7) 抽象出当前系统的逻辑模型

8) 建立目标系统的逻辑模型。

9) 修正开发计划

10)如果需要则开发系统原型 

7. 什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?

答:数据流图:简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

  数据流图的基本符号的意思:

1.矩形表示数据的外部实体;

2.圆角的矩形表示变换数据的处理逻辑;

3.少右面的边矩形表示数据的存储;

4.箭头表示数据流。

8. 什么是据字典?其作用是什么?它有哪些条目?

答:数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和和数据源点/终点。

作用:数据流程图描述了系统的逻辑结构,其中的四个基本图形元素的含义无法在数据流程图中详细说明,因此数据流程图需要与其他工具配合使用,数据字典就是这样的工具之一。

包括的条目:

数据流词条

数据元素词条

数据存储词条

数据加工处理词条

数据源点及终点词条

9. 什么是概要设计?有哪些基本任务?

答:概要设计:根据用户的需求先确定软件系统的总体结构和总的设计原则。

  基本的任务:

设想供选择的方案。

推荐最佳方案。

功能分解,确定软件结构。

设计软件结构。

制定测试计划。

数据设计。

书写文档。包括总体设计规格说明书。用户手册。测试计划。

设计审查和复审。

10. 详细设计的基本任务是什么?有那几种描述方法?

答:详细设计阶段的任务是要为编写程序代码设计“图纸”,由程序员按“图纸”用某种高级程序设计语言编写程序代码。主要方法有设计程序流程图,表格设计符号以及过程设计语言。

11. 什么是变换流?什么是事物流?

答:变换型数据流可以划分为明显的三部分:逻辑输入,中心变换,逻辑输出

  事务流的特点是数据沿某个输入路径流动,该路径将外部信息转换成事务,其中发射出多条事务处理路径的中心处理被称为中心事务

12. 在软件开发的早期阶段,简述从哪些方面研究目标系统的可行性。

一般说来,至少应该从下述3个方面研究系统的可行性。

(1)技术可行性。使用现有的技术能实现这个系统吗?

(2)经济可行性。这个系统的经济效益能超过它的开发成本吗?

(3)操作可行性。系统的操作方式在这个用户组织内行得通吗?

必要时还应该从法律、社会效益等更广泛的方面研究系统的可行性。

13. 简述需求分析中的情景分析技术。

所谓情景分析就是对用户将来使用目标系统解决某个具体问题的方法和结果进行分析。系统分析员利用情景分析技术,往往能够获知用户的具体需求。

情景分析技术的用处主要体现在下述两个方面。

(1)它能在某种程度上演示目标系统的行为,从而用于用户理解,而且还可能进一步揭示出一些分析员目前还不知道的需求。

(2)由于情景分析较易为用户所理解,使用这种技术能保证用户在需求分析过程中始终扮演一个积极主动的角色。需求分析的目标是获知用户的真实需求,而这一信息的唯一来源是用户,因此,让用户起积极主动的作用对需求分析工作获得成功是至关重要的。

14. 简述系统设计原理中的模块化。

模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整理,可以完成指定的功能满足用户的需求。

采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。因为程序错误通常局限在有关的模块及它们之间的接口中,所以模块化是软件容易测试和调试,因而有助于提高软件的可靠性。因为变动往往只涉及少数几个模块,所以模块化能够提高软件的可修改性。模块化也有助于软件开发工程的组织管理,一个复杂的大型程序可以由许多程序员分工编写不同的模块,并且可以进一步分配技术熟练的程序员编写困难的模块。

15. 用例建模时,如何寻找行为者?

为获取用例首先要找出系统的行为者,可以通过请系统的用户回答一些问题的办法来发现行为者。

(1)谁将使用系统的主要功能?

(2)谁需要借助系统的支持来完成日常工作?

(3)谁来维护和管理系统?

(4)系统控制哪些硬件设备?

(5)系统需要哪些其他系统交互?

(6)哪些人或系统对本系统产生的结果感兴趣?

16. 举例说明类和对象的关系。

答:学生可作为一个类—学生类,每个学生就是这个学生类的一个实例,例如,学生张三就是学生类的一个实例。

17. 面向对象分析的关键步骤有哪些?应建立哪几个模型?

答:关键步骤有识别问题域的对象并分析它们相互之间的关系,建立简洁、精确、可理解的正确模型;应建立的模型有功能模型,对象模型,动态模型。

18. 什么是实体类、边界类和控制类?为什么将分析类划分成这三种类型? 

答:(1)实体类保存要存入永久存储体的信息。实体类通常在事件流或交互图中,是对用户最有意义的类。 

边界类位于系统与外界的交界处,包括所有的窗体、报表、系统硬件接口、与其他系统的接口。

控制类负责协调其他类的工作。每个用例中至少应该有一个控制类,它控制用况中的事件顺序。

(2)分为三种类型是因为它们各自的功能不同。界面类——描述系统与角色之间的接口。

控制类——在分析模型内表示协调、顺序、事务处理以及控制其他对象的类。

实体类——为需要长久保存的信息进行建模的类。

19. UML中有哪几类个视图,它们的作用分别是什么?

答:(1)用例视图(Use-Case view)

用例视图用于描述系统的功能集。它是从系统外部以用户角度,对系统做的抽象表示。用例视图所描述的系统功能依靠于外部用户或另一个系统触发激活,为用户或另一个系统提供服务,实现与用户或另一个系统之间的交互。

用例视图中可以包含若干个用例,用例表示系统能够提供的功能,用例视图是其他视图的核心和基础。其他视图的构造依赖于用例视图中所描述的内容,因为系统的最终目标是实现用例视图中描述的功能,同时附带一些非功能性的特性,因此用例视图影响着所有其他的视图。

(2)逻辑视图(Logical view)

如果说用例视图描述系统“做什么”,那么逻辑视图就是描述“怎么做”。系统的静态结构描述类、对象和它们之间的关系,反映的是系统静态特征或结构组成。

(3)组件视图(Component view)

组件视图用来描述系统实现的结构和行为特征,反映系统各组成元素之间的关系。组件视图由组件图实现,主要供开发者和管理者使用。

(4)并发视图(Concurrency View)

并发视图用来描述系统的动态和行为特征。并发视图将任务划分为进程或线程形式,通过任务划分引入并发机制,可以高效地使用资源、并行执行和处理异步事件。除了划分系统为并发执行的进程或线程外,并发视图还必须处理通信和同步问题。

(5)配置视图(Deployment View)

配置视图体现了系统的实现环境,反映系统的物理架构。配置视图还包括一个映射,该映射显示在物理架构中组件是怎样分配的。

20. 顺序图在分析阶段的作用?

答:顺序图描述了一组交互对象间的交互方式,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序

21. 活动图在分析阶段的作用?

答:活动图反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程。活动图特别适合描述工作流和并行处理过程。具体地说活动图可以描述一个操作过程中需要完成的活动;描述一个对象内部的工作;描述如何执行一组相关的动作,以及这些动作如何影响它们周围的对象;说明一个业务活动中角色、工作流、组织和对象是如何工作的。

22. 比较结构化设计和面向对象设计区别?

答:结构化设计:系统被划分成多个模块,这些模块被组织成一个树型结构。根就是主模块,叶子是最低级的功能模块。这棵树也表示调用结构:每个模块都调用自己的直接下级模块,并被自己的直接上级模块调用。顶层模块负责收集应用程序最重要的那些执行策略,底层模块实现处理细节。在这个体系结构中越靠上层位置,概念的抽象层次就越高。但是,由于上层模块需要调用下层模块,所以这些上层模块就依赖于下层模块的处理细节。也就是说,当实现细节发生变化时,抽象也会受到影响;如果想复用某一个抽象的话,就必须把它依赖的细节都一起拖过去。

面向对象设计:上层创建的抽象不依赖于任何细节,而细节则高度依赖于上层的抽象。这种依赖关系的变化正是结构化设计与面向对象设计的根本区别。

23. 为建立良好的编程风格应遵循什么原则?

答:1)节简化

①不使用不必要的变量和函数

②避免变量重名,变量重名可导致很难被发现的错误。

③尽量减小代码量。

④尽量减少代码的执行时间,提高执行效率。

⑤避免功能冗余的模块。

⑥尽量不使用全局变量。

2)模块化

   ①确保物理和逻辑功能密切相关。

   ②限定一个模块完成一个独立的功能,

       提高模块的内聚度。

   ③检查代码的重复率,重复多的代码,

       要抽出来作为一个单独的模块。

3)简单化

   ①采用直接了当的算法,避免使用技巧

       性高和难懂的代码。

   ②使用简单的数据结构,避免使用多维

       数组、指针和复杂的表。

   ③注意对象命名的一致性。

   ④以手工的方式简化算术和逻辑表达式。

4)结构化

①按标准化的次序说明数据;

②按字母顺序说明对象名

③使用读者明了的结构化程序部件;

④采用直截了当的算法;

⑤根据应用背景排列程序各个部分;

⑥不随意为效率而牺牲程序的清晰度和可读性;

⑦让机器多做烦琐的工作,如重复、库函数;

⑧用公共函数调用代替重复出现的表达式;

⑨避免循环、分支的嵌套层数过高;

⑩单入口单出口。

5)文档化(documentation)

①有效、适当地使用注释。

②协调使用程序块注释和程序行注释。

③保持文档和程序的同步。

6)格式化(layout)

①始终采用统一缩进规则;

②适当插入括号表明运算次序、排除二义性;

③有效地使用空格符以区别程序的不同意群。

24. 什么是软件测试?

答:软件测试从广义上讲,是指软件产品生存周期内所有的检查、评审和确认活动。从狭义上讲,软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各个阶段的规格说明和程序内部结构而精心设计一批测试用例,用这些测试用例运行程序,以发现程序错误的过程。

25. 什么是白盒测试?它适应哪些测试?

答:白盒测试也叫结构测试,测试者需要了解被测程序的内部结构。白盒测试通常根据覆盖准则设计测试用例,有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖和条件组合覆盖。

白盒测试适用与单元测试、集成测试、系统测试

26. 采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点?

答:黑盒测试设计测试用例的方法有1)等价类划分法 特点是:a、测试的内容相同 b、一个等价类中的某个测试可以发现缺陷,那么这个等价类的其他测试也能发现缺陷 c、一个等价类中的某个测试不能发现缺陷,那么这个等价类的其它测试也不能发现缺陷2)边界值分析法 特点是:用边界值分析时时常收获较大,它是在等价类的边界上选择测试用例3)错误推测法  特点是:没有确定的步骤,很大程度上是凭借经验进行的 4)因果图法  特点是:考虑输入条件间的组合关系;考虑输出条件对输入条件的信赖关系;测试用例发现错误的效率高;能查出功能说明中的某些不一致或遗漏

27. 白盒测试法有哪些覆盖标准?试对它们的检错能力进行比较。

答:白盒测试的覆盖标准有:语句覆盖->判定覆盖->条件覆盖->判定/条件覆
盖->条件组合覆盖->路径覆盖  检错能力由弱到强

28. 软件的可维护性是软件设计师最关注的性能,谈谈为了获得软件良好的可维护性,在设计时应该注意哪些问题?

答:为获得软件的良好可维护性,在设计阶段应该做一些变更实验,检查系统的可维护性、灵活性和可移植性,设计时应该将今后可能变更的内容与其他部分分离开来,并且遵循高内聚、低偶合的原则。

在软件文档中,你认为哪些文档对于软件的维护最重要?

需求分析文档、设计文档、程序文档对软件维护很重要

29. 简述从哪些方面验证软件需求的正确性。

答:一般说来,应该从下述4个方面进行验证。

(1)一致性。所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。

(2)完整性。需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。

(3)现实性。指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步则很难做出预测,只能从现有技术水平出发判断需求的现实性。

(4)有效性。必须证明需求是正确有效的,确实能解决用户面对的问题。

30. 简述系统测试。

答:系统测试是把经过测试的子系统装配成一个完整的系统来测试。在这个过程中不仅应该发现设计和编码的错误,还应该验证系统确实能提供需求说明书中指定的功能,而且系统的动态特性也符合预定要求。在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。

31.简述结构化维护。

答:如果有一个完整的软件配置存在,那么维护工作从评价设计文档开始,确定软件重要的结构特点、性能特点以及接口特点;估量要求的改动将带来的影响,并且计划实施途径。然后首先修改设计并且对所做的修改进行仔细复查。接下来编写相应的源程序代码;使用在测试说明书中包含的信息进行回归测试;最后,把修改后的软件再次交付使用。

32.简述筛选出正确的类与对象的标准。

答:筛选时主要依据下列标准,删除不正确或不必要的类与对象。

(1)冗余

(2)无关

(3)笼统

(4)属性

(5)操作

(6)实现

四、应用题

1. 下面是旅客订飞机票的需求描述,试画出分层的数据流程图。

顾客将订票单交给预订系统:(1)如果是不合法订票单,则输出无效订票信息;(2)对合法订票单的预付款登录到一个记账文件中;(3)系统有航班目录文件,根据填写的旅行时间和目的地为顾客安排航班;(4)在获得正确航班信息和确认已交了部分预付款时发出取票单,并记录到取票单文件中。

顾客在指定日期内用取票单换取机票:(1)系统根据取票单文件对取票单进行有效性检查,无效的输出无效取票信息;(2)持有有效取票单的顾客在补交了剩余款后将获得机票;(3)记账文件将被更新,机票以及顾客信息将被登录到机票文件。

订单中有订票日期、旅行日期、时间要求(上午、下午、晚上)、出发地、目的地、顾客姓名、身份证号、联系电话。

                          0层流程图

                                 预定流程图

                           取机票流程图

2. 一个简化的图书馆信息管理系统有以下功能:(1)借书:输入读者借书证,系统检查借书证是否有效;查阅借书文件,检查该读者所借图书是否超过10本,若已达10本,显示信息“已经超出借书数量”,拒借;未达10本,办理借书(检查库存、修改库存信息并将读者借书信息登入借书记录)(2)还书:输入书号和读者号,从借书记录中读出与读者有关的记录,查阅所借日期,如果超过3个月,作罚款处理。否则,修改库存信息与借书记录。(3)查询:可通过借书记录、库存信息查询读者情况、图书借阅情况及库存情况,打印各种统计表。

请就以上系统功能画出分层的DFD图,并建立重要条目的数据字典。

               0层数据流程图

                  还书流程图

借书流程图

                          查询流程图

数据字典:

元素名称

名称

类型

说明

IPO1

还书处理

处理

根据书号做还书处理,违规做处罚

IPO2

有效性检查

处理

检查读者号,图书号的有效性

IPO3

借书处理

处理

按读者号,图书号进行借书处理

IPO4

查询

处理

管理员对一些基本信息进行查询

IPO5

打印报表

处理

打印查询到的信息

IPO6

处罚管理

处理

根据规则对延期给予相应的处罚

IPO7

数量检查

处理

对读者借出的数量是否符合规定进行检查

DS001

读者信息

数据存储

读者信息录入,修改,删除,保存

DS002

库存信息

数据存储

图书的基本的情况以及所有图书的整体情况

DS003

错还信息

数据存储

存储借还书信息,系统自动处理,不能人工录入

DS004

处罚信息

数据存储

存储延期的处罚信息

3. 某企业的设备维修委托给专业的技术公司完成,现在要开发软件对设备维修信息进行管理,具体描述如下:

车间主任填写维修申请单,内容有设备名称、型号、故障描述、维护时间要求、预计费用;填好后交给审计人员,审计人员根据企业的审计规定对维修申请单进行审计,填写审计意见和审计结果,审计意见可以修改费用,审计结果是同意或不同意;车间主任可以随时查询审计意见和结果;审计通过的维修申请单送给总经理进行审核,并填写审核意见和结果,审核也是以修改费用,审核结果是同意或不同意。审核通过后,车间把设备送去维修。维修后由车间主任组织对设备维修结果进行验收,企业对每台有设备验收标准。验收通过后,由财务人员进行结算,填写支付单并支付维修费。最后收取发票后,财务人员填写发票记录。

请画出设备维修信息管理软件的数据流程图。

参考答案如下,结果不唯一。

4. 某个学生成绩管理系统的部分功能如下:

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

(2)学生选课:学生根据教学执行计划进行选课;

(3)分配任课教师:教务管理人员为符合开课条件的课程分配教师

(4)教师查询并打印课表

(5)成绩管理:每门课程的教师在考试评分结束后将考试成绩录入,学生查询。

  请根据要求画出该问题的数据流程图。

5. 一个简化的养老院软件需求描述如下:老人来到养老院,接待人员将老人的基本信息录入到系统中,管理员读取老人信息,进行护理级别的评估,根据评估结果分配床位、确定护理方案,床位的分配信息存入床位分配数据表,每位老人的护理方案也要保存到数据库表中。财务人员根据收费标准、床位分配信息、护理方案和老人的日常护理记录计算应收费用,老人的家属可以查询应收费信息和老人的日常护理信息。护士根据老人基本信息、护理方案对老人进行日常护理,并向系统录入每日的护理信息。请你根据以上的描述,画出数据流程图。

6. 学校教师工资管理系统的需求描述如下:教师每月末将本月的工作量输入到系统中,学院负责人对教师输入的工作量进行审核,财务部门对审核后的工作量计算本月工资,本月工资=基本工资+各种补贴+工作量奖金-税收-保险一公积金金。基本工资、各种补贴、保险、公积金信息由人事处负责输入和维护,教师可以查询月工资明细。银行系统每月从本系统读入每位教师的实发工资,并向每位教师的银行卡帐户打入月工资。教师可以查询自己银行卡的金额。

请针对上面描述的需求画出数据流程图。

7. 学校开发的网上作业管理信息系统需求如下:教师使用本系统将作业题输入到数据库中,并且针对不同的学生布置不同的作业。学生在网上查看教师给自己布置的作业,并完成作业,完成的作业放在学生作业表中。教师在网上批阅作业,并可以统计作业完成情况。学生可以查看教师批阅的作业,修改作业中的错误,教师仍然可以查看学生修改作业的情况,并给予批阅。

请仔细阅读上面的描述,画出数据流程图。

8. 试根据以下储蓄所取款过程画出数据流程图:储户将填好的取款单及存折交储蓄所,经查对存款帐,将不合格的存折和取款单退回储户,合格的存折和取款单被送交取款处理,处理的结果是将存折、利息单和现金交储户,同时将取款单存档。

9. 根据以下材料,画出数据流程图:供应商送来发货单及货物,供应科作如下处理:(1)审核发货单。通过核对合同,将不合格的发货单退回供应商。(2)处理到货。对货物做质量检查,将质量检查不合格的发货单及货物退回供应商,对合格的货物开入库单,并将入库单及货物送仓库,同时,向财务科发出付款通知,发货单存档。

10. 
某公司给购货5万元的顾客不同的折扣率,否则无折扣。如果顾客最近三个月内无欠款,折扣率为15%;有欠款,但与公司有10年及以上的交易关系,折扣率为10%,否则为5%。请将公司的折扣规则用决策树和决策表的方式描述出来。

11. 某企业收到订货单后,需要根据判断树确定如何进行处理。其判断逻辑如下:(1)如果用户现在欠款时间超过100天,则通知他先还欠款,再考虑销售;(2)如果欠款时间少于30天(含30天),而且订货量小于或等于库存量,则立即发货,但如果订货量大于库存量,则先按库存发货,等进货后再补发;(3)如果欠款时间大于30天,而小于等于100天,同时订货量小于或等于库存量,则先付款,再发货,但如果订货量大于库存量,则不发货。试按此画出判断树。

12. 考试科目英语、数学、政治三门,录取规则是:(1)总分必须200分(含)以上,200分以下不录取。(2)在总分200分以上的情况下,单科要求如下:英语、数学都在60分(含)以上录取;英语70分(含)以上,数学55分(含)以上的需参加复试决定是否录取;其他情况一律不录取。请用决策表表示出录取规则。

13. 请根据学生、课程、教师和系等四个实体,每种实体的特性为:

学生:学号、姓名、性别、出生日期;

课程:课程号、课程名、学分时间;

教师:教师编号、姓名、性别、职称;

系:系号、系名。

画出E-R图,并写出其数据库的3NF关系。

其中:3NF关系为:

学生(学号、姓名、性别、出生日期、系号)其中系号为外关键字;

教师(教师编号、姓名、性别、职称、系号)其中系号为外关键字;

系(系号、系名);

课程(课程号、课程名、学分、时间);

选课(学号课程号)其中学号、课程号为外关键字;

教课(教师编号课程号)其中教师编号、课程号为外关键字;

14. 按图书、出版社和读者三个实体,每种实体的特性为:

图书:ISBN、图书名称、图书价格、作者;

出版社:出版社编号、出版社名称、出版社地址、联系电话;

读者:读者编号、读者姓名、读者年龄、读者单位。

画出E-R图,并建立3NF数据库。

其中:3NF关系为:

读者(读者编号、读者姓名、读者年龄、读者单位);

图书(ISBN、图书名称、图书价格、作者、出版社编号)其中出版社编号为外关键字;

出版社(出版社编号、出版社名称、出版社地址、联系电话);

读书(读者编号ISBN)其中读者编号、ISBN为外关键字。

15. 某工厂生产多种产品,每种产品使用多种零件,一种零件可以安装在多种产品上,每种零件由一种材料制造,每种材料可以制作不同的零件,每种实体的特性为:

零件:零件号、零件名、零件重量、零件单价、零件数量;

产品:产品号、产品名、产品单价、产品数量;

材料:材料号、材料名、计量单位、材料单价、材料数量。

以上产品需要各种零件的零件数目,各种零件需要制造它的材料数量。请根据以上描述画出E-R图,并写出其数据库的3NF关系。

其中:3NF关系为:

产品(产品号、产品名、产品单价、产品数量);

零件(零件号、零件名、零件重量、零件单价、零件数量);

材料(材料号、材料名、计量单位、材料单价、材料数量);

使用零件(产品号零件号、单位产品使用零件数量)其中产品号、零件号为外关键字;

使用材料(零件号材料号、单位零件使用材料数量)其中零件号、材料号为外关键字。

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

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

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

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

(1)


相关推荐

  • Spring Cloud与Dubbo的完美融合之手「Spring Cloud Alibaba」[通俗易懂]

    Spring Cloud与Dubbo的完美融合之手「Spring Cloud Alibaba」[通俗易懂]很早以前,在刚开始搞SpringCloud基础教程的时候,写过这样一篇文章:《微服务架构的基础框架选择:SpringCloud还是Dubbo?》,可能不少读者也都看过。之后也就一直有关于这两个框架怎么选的问题出来,其实文中我有明确的提过,SpringCloud与Dubbo的比较本身是不公平的,主要前者是一套较为完整的架构方案,而Dubbo只是服务治理与RPC实现方案。由于Dubbo在…

  • JAVA对象转map_java处理字符串类型的map

    JAVA对象转map_java处理字符串类型的map1、使用fastJson将String转map:Stringout;ObjectsuccesResponse=JSON.parse(out);//先转换成ObjectMapmap=(Map)succesResponse;//Object强转换为Map2、String转java对象fastjson应用string字符串转换成java对象或者对象数…

  • VMware虚拟机下Centos8 设置静态IP地址

    VMware虚拟机下Centos8设置静态IP地址,如何做?

  • java软件工程师是做什么的_JAVA软件工程师是做什么的?

    java软件工程师是做什么的_JAVA软件工程师是做什么的?Java是一种高级语言,就是用来编程的,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用…

  • Vue上传图片并展示

    Vue上传图片并展示上传图片并展示

  • 有什么软件方便画er图_数据库ER图绘制工具(DbSchema)「建议收藏」

    有什么软件方便画er图_数据库ER图绘制工具(DbSchema)「建议收藏」DbSchema是一款专业的数据库ER图绘制工具,也是一款通用数据库设计器和查询工具,可以将数据库以交互的视觉展现,支持文件创建报表,加载数据,生成随机数据等功能。有需要的小伙伴欢迎来西西下载体验。软件功能:1、ER图DBNAME图表设计器在DbSchema中,您将通过图表布局与模式交互。通过创建多个布局来更好地理解模式,每个布局都专注于模式的特定部分。布局和模式结构将保存在DbSchema项目文…

发表回复

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

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