软件工程的层级结构可以从不同的维度进行划分,以下是常见的两种划分方式:
一、按功能层次划分(面向对象分析模型)
根据面向对象分析(OOA)模型,软件工程包含以下五个层次:
问题论域部分 定义与应用问题直接相关的类和对象,明确系统的基本构成。
人机交互部分
涉及系统特定实现的界面技术(如图形用户界面、命令行界面等)。
任务管理部分
指系统运行时必须管理的操作系统部分(如进程调度、内存管理等)。
数据管理部分
定义与数据库交互的对象,规范数据存储和操作规则。
服务层
规定系统必须遵循的规则和约束,确保对象间的协同合作。
二、按管理层次划分(质量保证体系)
在软件工程的质量保证体系中,通常分为以下四个层次:
质量保证层
最底层,关注软件产品的质量特性(如可靠性、安全性、可维护性等)。
过程层
中间层,涉及软件开发、测试、部署等过程的管理与控制。
方法层
包含软件开发方法(如敏捷开发、瀑布模型)和工程实践规范。
工具层
最上层,提供支持工具(如版本控制、自动化测试工具)以辅助过程层和方法层的工作。
三、其他常见分类维度
标准层次: 国际标准(如ISO/IEC)、国家标准、行业标准、企业标准及项目标准。 人员层次
总结
软件工程的层级划分需结合具体研究视角,功能层次侧重系统构成,管理层次侧重质量保障。实际工程实践中,这些层次相互关联、相互作用,共同支撑软件开发的完整周期。