2018春季《软件工程概论》作业答案(8-11章)

需积分: 0 0 下载量 162 浏览量 更新于2024-08-04 收藏 21KB DOCX 举报
"2018年春季《软件工程概论》的平时作业参考答案,涵盖了第8至11章的内容,包括模块设计、系统测试等部分。考核方式为考试闭卷笔试占70%,课程作业占30%。" 这篇资料主要涉及软件工程中的关键概念和测试方法,具体知识点如下: 1. **模块设计**:在软件开发过程中,模块化设计是将大型复杂系统分解成更小、更易于管理的部分。模块通常包含输入、处理逻辑、输出以及内部数据。填空题中提到了"component"(组件)、"input data"(输入数据)、"output"(输出)、"algorithm or logic"(算法或逻辑)和"implementation"(实现),这些都是模块设计中的重要元素。 2. **错误与缺陷**:在软件开发中,"mistakes inside"(内部错误)通常指的是开发者在编码过程中的失误,而"departure outside"(外部偏离)可能指的是用户使用软件时遇到的问题。确定和修改这些错误是软件质量保证的关键环节。 3. **文档**:"documentation"(文档)在软件工程中起着至关重要的作用,它记录了软件的设计、实现和维护信息,帮助团队成员理解代码并进行协作。 4. **性能与容量**:"performance"(性能)是指软件在特定条件下的运行效率,如响应时间、处理能力等;"capacity"(容量)则关注软件能够处理的数据量或同时服务的用户数量。 5. **测试类型**: - **功能测试**(function)确保软件满足预定的功能需求。 - **性能测试**(performance)评估软件在高负载或长时间运行下的表现。 - **验收测试**(acceptance)是用户或客户确认软件是否符合合同或规格说明。 - **安装测试**(installation)验证软件在目标环境中能否正确安装和启动。 - **结构测试**(structure testing)包括语句覆盖(Statement Testing)和分支覆盖(Branch Testing),用于确保代码的每一部分都被执行到。 - **路径测试**(Test Path)通过特定的执行路径来测试软件,如题目中的"a-c-e"、"a-b-d"等路径。 6. **测试策略**: - **自顶向下测试**(Top-Down Testing)从主程序开始,逐渐添加子模块进行测试。 - **自底向上测试**(Bottom-Up Testing)从最底层的模块开始,然后逐步集成到高层模块。 - 给出的测试用例展示了不同层次的测试策略,如全路径覆盖、部分路径覆盖等。 7. **预发布测试**:在软件正式发布前,通常会进行"alpha"和"beta"测试,由内部团队或有限的外部用户参与,以发现并修复潜在问题。 8. **系统测试**:这部分内容强调了系统测试的重要性,涉及组件、条件、时间点、程序、资源等多个方面,确保整个系统作为一个整体能够正常运行。 9. **测试覆盖率**:如"BranchTesting"的[2,0,4]和[1,1,1]表示不同级别的分支覆盖率,表明测试用例对代码分支的覆盖程度。 这份作业参考答案涵盖了软件工程中的核心概念,包括模块设计、错误管理、文档、测试策略和系统测试等方面,对于理解和掌握软件开发过程具有重要价值。