《软件工程》在线作业二涉及了软件工程领域的多个知识点,以下是根据题目内容提炼的相关知识点:
1. **软件生命周期**:软件定义、软件开发和运行维护是软件生命周期的三个主要时期,分别代表了软件从概念形成到运行维护的全过程。
2. **面向对象设计**:面向对象设计的原则包括模块化、抽象、信息隐藏,但不包括不可重用,相反,重用是面向对象设计的一个重要特征。
3. **详细设计**:也称为过程设计,是将每个模块进行详细设计的阶段。
4. **需求分析结果**:需求分析最终会形成需求规格说明书,这是软件开发的重要依据。
5. **软件工程三要素**:包括方法、过程和工具,而不包括类。
6. **层次图**:在自顶向下的设计过程中,层次图是一种有效的表示工具。
7. **软件重用的级别**:包括代码重用、设计结果重用、分析结果重用,不包括类重用,因为类本身就是面向对象中的重用单位。
8. **瀑布模型问题**:瀑布模型在需求变更频繁、用户参与度不高时可能存在不足。
9. **白盒测试**:主要用于测试程序的内部逻辑,如结构合理性。
10. **模块独立性**:要求模块的内聚程度高,耦合程度低,以提高模块的独立性。
11. **系统复杂度**:通常通过深度、宽度、扇出和扇入等指标来衡量。
12. **黑盒测试方法**:等价类划分是黑盒测试中常用的技术。
13. **Jackson结构程序设计方法**:由3个步骤组成,包括理解、构造和文档化。
14. **单元测试**:主要针对模块进行,检测其功能是否正确。
15. **人机界面设计**:需要考虑系统响应时间、用户帮助设施和错误信息处理,但系统吞吐量通常不作为界面设计时的问题。
16. **判定表和判定树**:用于清晰表达复杂条件下的动作关系。
17. **判定覆盖**:又称分支覆盖,是白盒测试的一种覆盖标准。
18. **人机界面设计指南**:包括一般交互指南、信息输出指南和数据输入指南。
19. **E-R图**:在数据库设计中,菱形表示关系。
20. **软件维护**:适应性维护是为了适应运行环境变化而进行的修改。
21. **软件重用的层次**:包括知识重用、结构重用和数据重用。
22. **信息隐藏**:隐藏的是模块的实现细节,以减少模块间的耦合。
23. **面向对象方法**:强调从对象及其属性、功能来认识和设计系统。
24. **接口需求**:描述应用系统与其环境的通信格式。
25. **分析模型**:是系统分析师与用户交流的有效工具。
26. **盒图(N-S图)**:用于结构化编程,可以清晰表述包含多重条件的算法。
27. **子系统交互**:包括客户-供应商关系和平等伙伴关系。
28. **边界测试**:在单元测试中占有重要地位。
29. **穷举测试**:检查所有可能的执行路径,确保程序的全面性。
30. **松散耦合**:是软件设计中的目标,有利于系统的可维护性和扩展性。
31. **逆向工程**:用于创建程序的高级表示,便于理解和改进。
32. **重载**:提高了面向对象系统的灵活性,使得方法可以有相同的名字但接受不同的参数。
33. **逻辑内聚**:模块内部关联性强,修改可能会比较复杂。
34. **软件配置管理**:管理软件生命周期中的变化。
35. **增量模型**:结合原型方法,逐步增加软件功能。
36. **软件质量**:软件满足明确和隐含需求的程度。
37. **McCabe方法**:用于评估程序控制流的复杂性。
这些知识点涵盖了软件工程的多个方面,包括软件开发过程、设计原则、测试方法、系统分析、人机交互以及软件维护等多个核心概念。