软件工程试题

软件工程习题

1. 什么是软件危机?产生软件危机的原因?怎样消除?

2. 什么是软件工程?包括哪些内容?

3. 软件生存周期包含哪些内容?

4. 软件开发模型有几种?各有什么特点?

5. 软件技术审查和管理复审的作用是什么?

6. 软件开发与写程序有什么不同?

7. 在软件开发的早期阶段,为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?

8. 一个软件开发系统的可行性研究报告应如何编写?

9. 数据流图有哪几种基本符号?

10. 画数据流图原则是什么?

11. 数据流图在软件分析中的作用是什么?

12. 数据字典的作用?

13. 什么是数据字典?有几个定义?各自特点是什么?

14. 有几种效益的分析方法?

15. 需求分析的任务是什么?

16. 需求分析通常采用哪些分析技术?

17. 什么是结构化分析?他的结构化体现在哪里?

18. 简述面向对象分析技术的主要步骤?

19. 原型开发技术的目的,特点是什么?

20. 简述总体设计的一般过程?

21. 什么叫软件结构?什么叫软件工程?二者之间关系?

22. 解释深度、宽度、扇出、扇入对软件的影响。

23. 什么叫模块化?M代表的含义是什么?

24. 模块化的三个重要特征是什么?阐明各自的作用。

25. 举例说明各种耦合情况和各种内聚情况。

26. 简述设计准则的内容。

27. 简述层次方框图与软件结构图的异同点。

28. 事物型软件结构图有什么特点?原因是什么?

29. 详细设计的任务是什么?

30. 什么是结构化程序设计?用N-S图表示三种基本结构。

31. 简述Jackson程序设计方法的主要内容。

32. 简述Wariner程序设计方法的主要内容。

33. McaHei(Muahe,笔记有些模糊,未校正)方法的核心是什么?有何用途?

34. 简述程序设计语言两次本质性变化的内容及意义。

35. C语言属于第几代语言?第四代语言特点是什么?

36. 简述高级语言的应用特点和内在特点。

37. 试分析程序设计语言特点及软件可靠性、可理解性、可修改性、可测试性及成本的关系。

38. 选择一种语言的实用标准是什么?

39. 简述开发环境、计算机体系结构、软件设计方法、软件开发过程与程序设计语言之间的促进和制约作用。

40. 程序的编码风格主要体现在哪几个方面?

41. 软件测试的基本任务是什么?测试与调试区别是什么?

42. 软件测试的目标是什么?

43. 软件测试分几个步骤进行?每个步骤解决什么问题?



44. 软件测试有几种方法?每种方法的特点是什么?

45. 软件出错有几种类型?验证其程序正确性有几种方法?

46. 什么是单元测试和集成测试?他们各有什么特点?

47. 简述渐增式测试方法与非渐增式测试方法的优劣。

48. 简述存根程序 驱动程序的作用。

49. 编 最大、最小公倍数程序,并为它设计测试用例。

50. 测试的具体任务是什么?为什么说调试是软件开发过程中最艰巨的任务?

51. 举出几种常用的测试工具,说明他们的用法。

52. MTTF的含义是什么?如何计算Et值?

53. 假设有一个由1000行Pascal语句构成的程序(编译后约有5000条机器指令),请估算对它进行测试期间将发现多少错误。为什么?

54. 什么叫软件维护?软件维护的基本内容是什么?

55. 软件维护分几类?每类的基本内容是什么?占软件维护总工作量的百分比是多少?

56. 软件维护有哪些特点?

57. 简述软件的维护过程。

58. 软件的可维护性与哪些因素有关?在软件开发过程中应采取哪些措施才能提高软件产品的可维护性?

59. 什么是软件工程的文档?分哪两大类?每类内容是什么?

60. 计算软件价格时,应不应该把维护费用计入成本?为什么?

61. 软件项目分几类?划分依据是什么?

62. 简述软件项目的特点和项目中人员的特点对软件管理的影响。

63. 软件职能管理的具体内容是什么?

64. 为什么说“时间和人员不能交换”?试说明其原因。

65. 变动分两类,阐述每类特点及二者之间的区别。

66. 谈谈你对软件现代技术的理解,预测一下软件发展方向。

67. 计算机技术已不再是单一学科的发展,它是许多相关学科的融合和渗透。举例说明你所熟悉的这方面的技术、方法和应用。

68. 何为软件?软件可分哪几种类?

69. 软件危机主要有哪些表现?

70. 什么是软件工程?试说明软件工程是如何克服软件危机的。

71. 面向对象生存期模型与传统的生存期模型有什么区别?

72. 列出两种以上的软件开发过程模型。并说明各自的特点。

73. 分析员职责是什么?分析员应具备什么条件?

74. 分析员应采取哪些方法来明确需求?

75. 建立系统模型有什么作用?

76. 建立良好的规格说明的原则有哪些?

77. 为什么要进行规格说明评审?

78. 数据流图作用是什么?

79. 数据字典的作用是什么?数据字典中包含了哪些信息?

80. 何为结构化分析方法?他在发展过程中得到了哪些扩充?

81. 什么是面向数据流的

设计?数据流包括哪几种?

82. 怎样完成从数据流图到程序结构图的转换?

83. 面向数据流的设计方法包含那些步骤?

84. Jackson结构化编程方法是以控制技术为中心还是以数据结构为中心?为什么?

85. Jsp方法包括那些步骤?

86. 如何表示数据的顺序结构、选择结构、重复结构?

87. 回溯用于解决Jsp方法遇到了什么问题?为什么Jsp往往会面临这种问题而别的方法往往不会?

88. 为什么Jsp方法会遇到结构冲突问题?如何解决?

89. DSSD方法包括那些步骤?

90. DSSD方法中,逻辑输出结构和逻辑过程结构的导出各起到什么作用?

91. 什么是原型?原型应具有什么特点?

92. 什么是原型开发?原型开发包括那几类?

93. 原型开发由哪几个步骤组成?

94. 用户界面原型开发方法有哪几种?与传统的用户界面开发方法相比具有哪些优点?

95. 面向对象语言必须支持那些概念?

96. 面向对象编程语言分几大类?

97. 试说明面向对象编程语言用哪些机制支持面向对象方法的基本概念?

98. 什么是实时系统?实时设计与其他系统设计有什么区别?

99. 实时系统设计有哪些要素?

100. 实时系统在进行任务同步时通常采取哪几种方法?

101. 我的软件工程笔记99年末的一段,是当时几乎所有软件工程书籍的习题。这里整理出来,希望对大家学习软件工程有益。

102. Statemate方法是如何解决实时设计的特殊问题的?

103. 什么是规格说明语言?它具有什么性质?

104. 什么是设计语言?它具有什么性质?

105. CASE环境语言提出了什么要求?如何实现?

106. 什么是原型开发语言?它具有什么性质?

107. 如何使原型开发语言可执行?

108. 编程语言从心里工程角度看各具有什么特性?

109. 评价选择可用编程语言的准则是什么?

110. 举例说明编程语言对软件工程的各个步骤的影响。

111. 编程语言中的基础有哪些方面?

112. 第一代至第四代语言是如何划分的?各具有什么特点?包括那些语言?

113. 程序中与编程风格有关的因素有哪些?为建立良好的编程风格应遵循什么原则?

114. 提高编程效率应从哪些方面着手?

115. 人机界面设计包括哪些方面?

116. 在人机界面设计中应如何考虑用户的使用要求?

117. 人机界面的设计应遵循什么原则?

118. 人机交互方式分哪几种?

119. 如何采用结构化的分析方法和面向对象分析方法来明确人机界面设计的任务?

120. 在进行人机界面设计的初期(概要设计阶段)必须解决那些问题?

121. 人机界面的开

发主要采用那些模型?

122. 界面设计有哪些一般准则?

123. 何为智能人机界面?智能人机界面由哪几部分构成?各部分之间存在什么关系?

124. 多媒体技术可用于解决人机界面设计中的什么问题?

125. 为什么在CASE中需要有数据库的支持?

126. 软件工程中有哪些数据需要管理?

127. 数据模型的评价准则有哪十个方面?他们对CASE有什么意义?

128. CASE需要什么样的数据库支持?

129. 为什么说软件设计十分重要?

130. 完成良好的软件设计应遵循哪些原则?

131. 抽象有哪几种形式?他们各起什么作用?

132. 如何理解模块独立性?用什么指标来衡量模块独立性?

133. 为什么数据设计是设计活动中十分重要的一项?进行数据设计应遵循什么原则?

134. 何为体系结构设计?进行体系结构设计应遵循什么原则?

135. 什么是结构化设计?他在软件发展史上具有什么地位?

136. 过程设计语言具有哪些特征?

137. 什么是对象?对象有哪几种形式?

138. 什么是类?类与对象间是什么关系?

139. 面向对象方法特征有哪些?

140. 面向对象方法基本要点是什么?

141. 面向对象设计涉及那几个主要活动?面向对象设计如何体现三个主要的软件设计概念:抽象信息、隐藏和模块化?

142. 面向对象分析涉及那几个主要活动?如何应用系统建模?

143. Booch方法中运用了那几类图表?他们各有什么作用?

144. Booch方法包括那些开发步骤?

145. Petri网是与分析与设计哪类系统?它是通过什么方式来反映系统动态行为的?

146. 运用Petri网进行系统建模与性能分析的具体步骤是什么?

147. Petri网客分析系统哪些行为特征?这些特征含义是什么?

148. Petri网的性能分析方法有哪几种?其原理各是什么?

149. 软件开发工具分哪几类?各完成什么工作?

150. 软件开发环境一般用来解决哪几类问题?

151. 何为CASE,Z-CASE含义是什么?

152. 环境集成包括那三个方面的集成?

153. 集成方式分哪几种?那种方式使集成思想得到充分体现?如何体现的?

154. 软件质量的含义是什么?

155. 影响软件质量的因素分哪两大类?

156. Boehm和McCall等人从哪些方面来确定软件质量?他们有什么异同?

157. ISO1985提出的关于软件质量度量模型有哪三个层次组成?它有哪些特点?

158. 软件质量的各种特性怎样度量?

159. 什么是软件质量保证的策略?现代软件质量保证的策略是什么?

160. 软件质量保证活动有哪七个主要方面?如缺少一两个方面行不行?是否还有没有考虑到的方面?

161. 为什么说软件正是技术

评审是软件质量保证的一个最基本的活动?

162. 为什么在软件进行技术评审中要有一张预先设定的评审检查表?

163. 软件的缺陷为什么在软件开发和维护过程中会扩大?硬件会产生这样的问题吗?

164. 什么是Halstead软件科学度量?这种方法的实质是什么?它可以用来进行软件质量哪些方面的度量?它有哪些优缺点?

165. 什么是McCabe复杂性度量?这种方法的实质是什么?它可以用来进行软件质量哪些方面的度量?它有哪些优点?

166. 什么是软件可靠性和软件可用性?他们能否定量计算?

167. 什么是软件安全性?软件安全性与软件可靠性有什么不同?为什么有了软件可靠性还要考虑软件安全性?软件安全性应从哪些方面去考虑?

168. 为什么说软件质量保证中最重要的两个方面是:对软件质量保证活动和软件配置的审计;软件质量保证计划的制定和标准的采用?

169. 为什么说软件测试是软件开发中不可缺少的重要的遗患,但不是软件质量保证的“安全网”?

170. 为什么把软件测试的目标定义为只是发现错误?

171. 软件测试应当遵循什么原则?为什么要遵循这些原则?

172. 单元(模块)测试、组装测试和确认测试各自主要的目标是什么?他们之间有哪些不同?相互有什么关系?

173. 什么是黑盒子测试和白盒子测试?他们都适应哪些测试?

174. 单元测试时,为什么需要另外开发驱动程序和连接程序?

175. 比较在组装测试中,自顶向下与自底向上、先深度后宽度与先宽度后深度结合的优缺点。

176. 为什么说在确认测试阶段,如果发现对用户需求理解的错误,要修改就要付出极大的代价?

177. 什么是软件测试中逻辑覆盖?什么是语句、分支、条件、分支/条件、多重合循环覆盖?一般软件测试至少应保证哪些覆盖?为什么?

178. 什么叫邓家华分?在确定等价划分测试用例中,为什么在设计一个测试用例时,要使其尽可能多的覆盖未被覆盖过的合理的等价类,而是其只覆盖且仅一个未被覆盖过的不合理的等价类?

179. 什么是边界值分析?他与等价类划分有什么不同?

180. 什么是因果图?他用于何处?

181. 什么是程序图?他用于何处?

182. 纠错技术中的归纳法和演绎法的中心思想是什么?

183. 什么是软件测试中的回溯测试?他有什么用处?

184. 为什么实时系统测试较一般系统测试要困难得多?

185. 根据统计,软件维护国作量占软件整个生存周期工作量的10%~70%,这个比例随着时间的退役还在增加,为什么软件维护需要这么大的工作量?

186. 软件维护分哪几种类型?根据统计,在

软件维护中,那种类型的维护所占的比重最大?那种类型的维护所占的比重最小?能说出他们的原因吗?

187. 软件维护工作有哪些特点?为什么?

188. 什么是软件维护的副作用?如何防止软件维护的副作用?

189. 什么是软件的可维护性?如何提高软件的可维护性?软件的可维护性与软件维护工作有什么关系?为什么在软件开发过程中,要特别重视软件的可维护性?

190. 软件的可维护性与那些软件质量特性有关?能确定它们的优先次序吗?

191. 什么是软件的反推工程和再生工程?他们主要用于何处?

192. 一个软件的维护任务的工作程序是什么?是否需要设立专门的维护机构?他们的职责是什么?

193. 如何保证和提高软件维护工作的质量和效率?

194. 有人说:“修改软件是危险的”,你对这句话有什么看法?

195. 在软件开发中,在重视技术问题的同时,为什么还要重视管理问题?两者哪个重要?有哪些主要的管理问题?

196. 什么是软件的工作范围?一个软件的工作范围应包括哪些主要内容?对他们有些什么具体要求?

197. 在确定了软件的工作范围之后,为什么还要确定软件开发所需要的人力资源、硬件资源和软件资源?他们对软件开发有什么影响?

198. 成本估算方法有哪几种?

199. 影响软件成本的主要因素有哪些具体方面?

200. 什么是IBM、SLIM和COCOMO成本估算模型?它们之间有什么不同?

201. 什么是软件生产率数据?有哪些主要因素影响这些数据?为什么要重视这些数据?这些数据对软件开发有什么意义?

202. 怎样具体进行软件成本估算?他们分哪几步?

203. 什么是软件开发工作量(人-周 或 人-月 或 人-年)?什么是软件开发时间(周期)(周或月或年)?什么是软件开发进度?三者之间有什么关系?

204. 在安排软件开发进度时,应该考虑哪些问题?为什么?

205. 什么是软件配置管理?他有什么作用?

206. 什么是基线?他在配置管理中有什么作用?

207. 什么是软件配置管理的机制?有哪几类机制?他们怎样实现软件配置管理?

208. 什么是软件开发组织?开发组织有哪几种方式?

209. 什么是主程序员小组?这种组织形式有什么好处?

210. 什么是软件产权?为什么软件产权要保护?

211. 什么是著作权、版权和专利权?他们有哪些异同?

212. 什么是商标权和商业秘密权?

213. 著作权有哪几种登记方式?办理软件著作权登记有哪些基本要求?

214. 著作权为什么要进行登记?


相关文档
最新文档