软件开发技术
涵盖软件开发方法学、过程、工具和环境,核心是软件开发方法学,指导软件开发流程和文档产出。
软件工程管理
包含软件管理学、工程经济学、心理学等。
- 软件管理学:人员、进度、质量、配置管理、项目计划。
- 工程经济学:软件开发成本估算、效益分析。
- 心理学:从个人、组织行为和企业文化角度研究软件管理和工程。
软件工程原则
- 抽象:抽取事物特征,控制复杂性。
- 信息隐蔽:模块实现细节隐藏,接口简单化。
- 模块化:程序中相对独立的组件,良好的接口定义。
- 局部化:集中逻辑相关资源,模块间松散耦合,内部强内聚。
- 确定性:概念表达清晰、无歧义、规范化。
- 一致性:模块、数据、文档使用统一概念、符号和术语。
- 完备性:实现系统所需功能,不丢失重要组件。
- 可验证性:自顶向下分解,逐层验证。
软件开发工具与环境
- 开发工具:自动化或半自动软件支撑环境,提升效率。
- 开发环境:全面支持软件开发全过程的软件工具集合,如计算机辅助软件工程(CASE)。