您认为一个软件工程师的软件工程知识技能水平高低主要体现在哪些方面,请您简要总结一下
1.扎实的计算机基础知识
2.对软件设计流程的深刻理解
3.代码实现的鲁棒性与兼容性
4.对于软件工程相关的开发工具与开发思想的熟练应用
一、选择题
1. 软件工程的出现主要是由于 ( C )。
A 、程序设计方法学的影响 B 、其它工程科学的影响
C、软件危机的出现 D 、计算机的发展
解析:软件危机是指在计算机软件开发和维护的过程中所遇到的一系列严重问题,为了软件危机,出现了软件工程。
2.“软件危机”是指
A 计算机病毒 的出现 B 利用计算机进行经济犯罪
C 软件开发和维护中出现的一系列问题 D 人们过分迷恋计算机系统
参考答案:C
解析:软件危机指的是随着软件规模不断扩大而产生的一系列开发与维护的难题
3 软件设计中模块划分应遵循的准则是
A.低内聚低耦合 B.高耦合高内聚
C.高内聚低耦合 D.以上说法均错误
参考答案:C
参考解析:根据软件设计原理提出如下优化准则:①划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。②一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。③软件结构的深度、宽度、扇入、扇出应适当。④模块的大小要适中。C正确。
4. 软件开发的结构化生命周期方法将软件生命周期划分成
A 、计划阶段、开发阶段、运行阶段 B 、计划阶段、编程阶段、测试阶段
C 、总体设计、详细设计、编程调试 D 、需求分析、功能定义、系统设计
参考答案:A
5. 软件测试的目的是?
A、 证明软件的正确性 B、 找出软件系统中存在的所有错误
C、 证明软件系统中存在错误 D、 尽可能多的发现软件系统中的错误
参考答案:D
6. 瀑布模型本质上是一种。
A.线性顺序模型 B.顺序迭代模型
C.线性迭代模型 D.及早见产品模型
参考答案:A
二,简述题
7. 简述软件开发的主要流程,并指出每一步的具体内容
需求分析阶段,设计阶段,实现阶段,测试阶段,维护阶段
需求分析阶段:分析用户对象,软件应用场景,用户可能需要的功能,为设计阶段提出具体的要求
设计阶段:通过用例建模和领域建模的方法,确定软件系统每个模块的功能以及模块之间的联系
实现阶段:用效率最高的方式实现设计的程序
测试阶段:测试实现的程序是否有bug;测试实现的程序能否完成预期的功能
维护阶段:程序上线后,对程序的状态进行维护保持程序正常运行,并根据需求替换或增添新的功能
8.请设计一套图书管理系统,建立对象模型,绘制相关图例
9.简单谈谈你对于人月神话的理解,以及提高开发效率的方法
答案:简述关于合作开发的沟通与效率问题,言之有理即可