软件工程:解决程序TRIANGLE测试数据的挑战

需积分: 0 9 下载量 84 浏览量 更新于2024-07-13 收藏 3.5MB PPT 举报
"该资源是清华大学软件工程课程的课件,重点关注了程序TRIANGLE的测试数据,用于验证其处理不同类型的三角形的能力,包括等边、等腰、不等边、非三角形和退化情况。测试数据包括各种边界值和异常输入,如零数据和负数。" 在软件工程领域,测试数据的选择对于确保程序的正确性和可靠性至关重要。在程序TRIANGLE的案例中,测试数据设计涵盖了多种三角形的特性,以检查程序是否能正确识别和处理这些特性: 1. 等边三角形 - 测试数据如(10, 10, 10),所有边长相等,程序应识别出这是一个等边三角形。 2. 等腰三角形 - 比如(10, 10, 17),其中两边相等,应被识别为等腰三角形。 3. 不等边三角形 - 如(8, 10, 12),所有边长均不相同,应识别为不等边三角形。 4. 非三角形 - 数据如(10, 10, 21),由于不满足两边之和大于第三边的条件,不应被视为三角形。 5. 退化情况 - 包括(10, 5, 5)这样的数据,表示两线重合或一点接触,可能被视为退化的三角形。 6. 零数据和负数 - 如(0, 0, 0)和(0, 10, 12),测试程序对无效输入的处理能力。 软件工程是解决传统软件开发过程中出现的问题,如软件危机,它在60年代末期开始受到关注。软件危机体现在以下几个方面: 1. 成本和进度估算不准确 - 软件项目的规模和复杂性经常超出预期。 2. 用户满意度低 - 完成的软件系统未能满足用户需求。 3. 质量问题 - 软件产品往往不稳定,难以保证质量。 4. 不可维护性 - 软件难以进行修改和更新。 5. 缺乏文档 - 缺乏必要的文档使得软件理解和维护困难。 6. 成本占比增加 - 随着技术发展,软件成本在系统总成本中的比例不断上升。 7. 生产率提升滞后 - 软件开发效率无法跟上计算机应用的增长速度。 为应对软件危机,采取了以下解决途径: 1. 实践中的成功技术和方法 - 将已验证的开发方法应用于实际项目。 2. 开发和使用更好的软件工具 - 通过自动化工具提高开发效率和质量。 3. 组织管理措施 - 引入项目管理,规范软件开发过程。 软件工程学和程序设计方法学应运而生,前者侧重于工程化的开发方法、工具和管理,后者则专注于程序设计的理论和数学基础。1968年的NATO会议标志着软件工程这一概念的正式提出,强调了软件开发的系统化和工程化方法。