《2023年电大期末考试试题带答案软件工程》文档主要涵盖了软件工程领域的多个核心知识点,包括软件开发模型、可行性研究、软件设计原则、系统架构等方面。以下是相关知识点的详细说明:
1. **软件成熟度模型(SW-CMM)**:CMM,即Capability Maturity Model,是由美国卡内基·梅隆大学制定的,用于评估和改进软件开发组织的能力和成熟度的框架。SW-CMM 是软件工程中的一个关键概念,它提供了五个成熟度级别,帮助组织提升软件开发的规范化和效率。
2. **螺旋模型**:螺旋模型是一种结合了瀑布模型的线性顺序和快速原型的迭代方式的软件开发模型,特别强调风险分析,适合大型复杂的项目。
3. **可行性研究的四大要素**:经济、技术、法律和社会环境是可行性研究的四个基本方面,用来评估项目是否值得投资和实施。
4. **软件调研报告**:通常在需求分析之前提交,用于收集和整理项目背景、市场状况、技术要求等相关信息,为后续的系统开发提供依据。
5. **系统流程图**:描绘了系统操作的物理过程,是系统分析阶段的重要工具,用来表示业务流程或数据处理流程。
6. **PDL(过程设计语言)**:PDL 用于描述软件设计的详细步骤和逻辑,是结构化设计方法中的一种语言。
7. **模块设计原则**:低耦合,高内聚是软件设计的基本原则,意味着模块之间的相互依赖性应该最小,而模块内部的元素应紧密相关。
8. **配置视图**:反映了系统的物理架构,包括硬件、操作系统、网络配置等,体现系统的实现环境。
9. **角色类型**:在系统中,角色可以是使用者、硬件设备、外部系统,也可以是接口,它们定义了系统中不同实体的功能和交互。
10. **功能模型**:在面向对象法中,功能模型通常通过用例图和场景描述来表达,为需求分析和设计阶段提供基础。
11. **控制类**:在分析模型中,控制类负责协调其他对象的活动,实现事务管理和流程控制。
12. **继承耦合**:这是一种特殊类型的关联,存在于一般化类(父类)和特殊化类(子类)之间,允许子类继承父类的属性和行为。
13. **架构设计**:主要目标是拟定系统总体结构,确保系统的可扩展性和稳定性,这需要有经验的架构设计师来完成。
14. **测试用例**:一组包括输入数据和预期输出的组合,用于验证系统功能的正确性。
15. **面向对象的继承和消息机制**:增加了软件的复杂性,同时也提供了更好的复用性和灵活性,对软件测试提出了更高的要求。
16. **软件维护副作用**:通常由修改程序引起,可能导致未预期的行为或错误。
17. **项目计划活动**:包括估算项目进度、分配工作量、规划资源使用等多个方面,确保项目按期完成。
18. **可读性**:良好的代码可读性可以显著降低调试成本,提高软件维护的效率。
19. **浮点数比较**:由于浮点数计算的精度问题,比较浮点数相等时,通常会设置一个较小的误差范围(如e),判断两数之差是否在这个范围内。
20. **瀑布模型的问题**:瀑布模型强调严格的线性顺序,一旦需求确定就难以更改,可能导致用户参与度低、沟通困难和缺乏灵活性。
提供的学生成绩信息管理系统部分功能描述涉及了系统的基本管理模块,包括基本信息管理、学生选课、教师分派、成绩管理和教师查询等,这些都是软件开发中常见的功能需求,体现了系统设计的实用性。