软件开发技术

涵盖软件开发方法学、过程、工具和环境,核心是软件开发方法学,指导软件开发流程和文档产出。

软件工程管理

包含软件管理学、工程经济学、心理学等。

- 软件管理学:人员、进度、质量、配置管理、项目计划。

- 工程经济学:软件开发成本估算、效益分析。

- 心理学:从个人、组织行为和企业文化角度研究软件管理和工程。

软件工程原则

- 抽象:抽取事物特征,控制复杂性。

- 信息隐蔽:模块实现细节隐藏,接口简单化。

- 模块化:程序中相对独立的组件,良好的接口定义。

- 局部化:集中逻辑相关资源,模块间松散耦合,内部强内聚。

- 确定性:概念表达清晰、无歧义、规范化。

- 一致性:模块、数据、文档使用统一概念、符号和术语。

- 完备性:实现系统所需功能,不丢失重要组件。

- 可验证性:自顶向下分解,逐层验证。

软件开发工具与环境

- 开发工具:自动化或半自动软件支撑环境,提升效率。

- 开发环境:全面支持软件开发全过程的软件工具集合,如计算机辅助软件工程(CASE)。