软件工程期末复习资料涵盖了多个关键知识点,以下是根据题目内容整理的详细解释:
1. 软件工程的活动:软件工程的研究者将软件开发和维护过程概括为多个活动,通常是7个大活动,包括需求获取、需求分析、设计、编码、测试、实施和维护。
2. 软件工程师的必要条件:自律、善于沟通和具备一定的软件技能是成为职业软件工程师的基础条件。
3. 计算机病毒:计算机病毒是一组自我复制并自动执行的具有破坏能力的代码,而非系统漏洞、细菌或程序错误。
4. 软件需求特性:软件需求具有主观性、不确定性、多变性等特性,需要不断调整和管理。
5. 需求描述工具:描述软件需求通常会使用数据流程图、数据字典、E-R图,但不会用模块结构图,因为它是设计阶段的工具。
6. 软件结构图元素:软件结构图包含模块、调用参数,但不包括返回结果,返回结果是过程或函数的一部分。
7. 程序流程图与数据流程图的关系:数据流程图可以转换成程序流程图,但反之不成立。
8. 用例的包含关系:包含关系用于构造多个用例的共性部分,使得用例更具可重用性。
9. 扩展用例:如果用例F被用例T扩展,意味着F是一个一般用例,T是一个特殊用例,扩展提供了更具体的行为。
10. 长久保存信息的建模:实体类或数据库表常用来对需要长久保存的信息进行建模。
11. SW-CMM:美国卡内基梅隆大学制定的SW-CMM是软件成熟度模型,用于评估和改进软件开发过程。
12. 螺旋模型:螺旋模型结合了风险判断和瀑布模型,提供了一种迭代和风险管理相结合的开发方法。
13. 可行性研究要素:可行性研究考虑经济、技术、法律和社会环境四个主要方面。
14. 软件调研报告提交时间:通常在需求分析之前提交软件调研报告。
15. 系统流程图的作用:系统流程图描述系统的物理模型,展示系统的操作流程。
16. PDL:过程设计语言,用于描述软件的详细设计。
17. 结构化设计原则:模块划分应遵循低耦合、高内聚的原则,以提高模块的独立性。
18. 配置视图:反映了系统的物理架构,即系统如何在硬件和软件环境中实现。
19. 角色类型:角色包括系统的使用者、硬件设备、外部系统,以及接口。
20. 功能模型实现:在面向对象方法中,功能模型通常通过用例图和场景描述来实现。
21. 软件工程宗旨:软件工程的目的是开发满足用户需求的软件、及时交付并确保软件质量,而不仅仅是研究算法。
22. 不确定需求的开发模型:快速原型化模型适合需求不明确的项目,允许快速创建和修改原型以确定需求。
23. 可行性分析费用:可行性分析研究的费用通常占项目总经费的2%到6%。
24. 业务需求描述:业务需求描述了用户的业务流程和目标,是功能需求和用户需求的基础。
25. 数据流程图符号:数据流程图通常包括4种基本图形符号:处理、数据存储、数据流和外部实体。
26. 模块独立性:非直接耦合的模块独立性最强,容耦合的模块独立性最弱。
27. 信息隐藏:信息隐藏的核心是保护数据,防止未经授权的模块访问,以确保模块的功能独立性和安全性。
以上知识点覆盖了软件工程的不同阶段,包括需求、设计、实现和维护,是软件工程项目期末复习的重要参考资料。