软件工程:解决危机与有效实践

需积分: 0 9 下载量 137 浏览量 更新于2024-07-13 收藏 3.5MB PPT 举报
在软件工程的课程中,学习者将接触到关于如何处理特定边界条件的问题。题目(14)要求编写一个程序,使得输出刚刚小于最小的负整数,当输入为'-32769'时,预期输出应为"错误-无效输入",这是因为32768是当时可表示的最大负整数,减去1的结果即为最小负整数,但编程语言通常不会直接输出这个数值,而是会有溢出或特殊处理机制,因此输出错误信息表示输入超出预期范围。 同样,题目(15)涉及到的是使输出大于最大正整数。当输入为'32768'时,预期输出也是"错误-无效输入",因为32768已经是正整数的最大值,再加1将无法实现。这强调了软件工程师在处理边缘情况时需要考虑数据类型的限制以及异常处理的重要性。 软件工程是一门研究软件开发过程、方法和技术的学科,旨在解决软件开发中的问题,如成本估算不准确、产品质量不稳定、维护困难等。软件危机在60年代中叶到70年代初开始显现,主要源于软件本身的特点以及开发方法的不足,如忽视需求分析、将软件开发简化为编程和运行,以及对软件维护的轻视。在软件生命周期的不同阶段,修改成本会显著增加,因此需要通过采用成熟的开发技术、工具和管理策略来提高效率。 为应对软件危机,软件工程和程序设计方法学作为两个互补的领域应运而生。软件工程侧重于运用工程方法和技术来改进软件开发和维护,包括需求分析、设计、编码、测试和维护等环节,同时强调文档记录和组织管理。程序设计方法学则关注程序的理论基础和设计原则,以便设计出更高效、可维护的代码。 1968年的NATO会议标志着软件工程这一概念的正式提出,自此,软件开发进入了更加系统化和规范化的阶段,旨在提升软件质量、降低成本并适应快速发展的计算机应用。理解和处理这类边界条件问题,是软件工程师必须掌握的基本技能之一,也是衡量其实践能力的关键点。