2. 习题与思考
2.1 试简述“软件危机”产生的原因和解决方法。
答:原因:随着软件需求量、规模及复杂度的迅速增大,生产作坊的方式已经不能够
适应软件生产的需要。
解决方法:NATO 举行的的软件可靠性学术会议上第一次提出了“软件工程”的概念,
其核心是讲软件开发纳入工程化的轨道,以保证软件开发的效率和质量。
2.2 软件危机最严重的征兆也许是低质量软件的开发。根据你自己的经验,如何区分“好的”
(高质量的) 软件和“差的” (低质量的) 软件?
答:1.系统中模块的独立性。好的软件系统中模块的独立性比较高,每个模块都能单独拿
出来使用,而差的软件独立性比较低,耦合程度较大。
2.软件开发周期与生命周期的长短。一般来说,开发周期短的,生命周期长的软件最
好。
3.开发费用。相同情况下,做出类似的软件,开发费用低得占优。
4.软件使用范围。开发出的软件使用范围越广,软件越好。
2.3 有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。对否?
请解释你的回答。
答:我认为是正确的。因为越早发现错误越方便修改,因为开发初期的代码量比较少,
代码之间的联系也不多样。如果发现的比较晚甚至是软件发布的时候才发现错误,那就需
要花费更多的时间和精力去寻找与修改。
2.4 软件工程学的基本原则有哪些?为什么?
答:1.必须认识软件需求的可变动性,以便采取适当的措施来保证产品能最好的满足
用户要求。在软件设计中,通常要考虑模块化、抽象与信隐蔽、局部化、一致性等原则。
2.稳妥的设计方法将大大的方便软件开发,以达到软件工程的目标。软件工具与
环境对软件设计的支持颇为重要。
3.软件工程项目的质量与经济开销直接取决于对它所提供支撑的环境、工具、开
发过程、技术的质量与效用。
4.只有在强调对软件过程进行有效管理的情况下,才能实现有效的软件工程。
原因:遵循软件工程学的基本原则可以促进软件产业的迅速发展,软件管理是软件开
发成功的关键。
2.5 在下列说法中,( ④⑤⑥ ) 是造成软件危机的主要原因。
供选择的答案:
① 用户使用不当 ③ 硬件不可靠
② 软件本身特点 ④ 对软件的错误认识
⑤ 缺乏好的开发方法和手段 ⑥ 开发效率低
2.6 瀑布模型 (Waterfall Model) 突出的缺点是不适应 ( ④ ) 的变动。
供选择的答案:
① 算法 ② 平台 ③ 程序语言 ④ 用户需求
3. 实验:软件工程的计算环境
本实验的目的是: