1. 软件工程知识体系概述
软件工程的知识体系内容如下表所示:
构成 | 名称 | 说明 | ||
1 | 3个体系 | 1.业务知识体系 | 客户从事业务所需的知识,如:企业管理、市场销售、成本控制、生产流程等 | |
2.设计知识体系 | 信息化设计所需的知识,如:需求分析、概要设计、功能设计、数据设计等 | |||
3.开发知识体系 | 软件开发所需要的知识,如:技术框架、编码开发、系统测试、硬件、环境设置等 | |||
2 | 3个原理 | 1.分离原理 | 研究拆分对象的理论和方法,如:业务、管理、组织、物品等 | |
2.组合原理 | 研究架构模型的理论&方法,如:组合三元素(要素、逻辑、模型) | |||
3.基干原理 | 研究实现功能复用、数据复用的理论和方法(组件+机制) | |||
3 | 3.1软件工程 -需求工程 | 1.需求调研 | 研究需求调研方法和记录方法:现状构成图、访谈记录、即存表单 | |
2.需求分析 | 研究需求分析的方法:目标需求、业务需求、功能需求 | |||
3.2软件工程 -设计工程 | 工程分解 (3个阶段) | 1.概要设计 | 研究业务的概要设计,如:架构规划、功能规划、数据规划 | |
2.详细设计 | 研究详细设计的方法,如:流程分歧、业务原型、数据算式等 | |||
3.应用设计 | 研究将业务设计成果转换为系统设计内容 | |||
工作分解 (3个层次) | 1.架构层设计 | 对架构进行三个阶段的设计,包括:架构规划、流程分歧、流程机制等 | ||
2.功能层设计 | 对功能进行三个阶段的设计,包括:功能规划、业务功能、应用功能等 | |||
3.数据层设计 | 对数据进行三个阶段的设计,包括:数据规划、数据算式、数据复用等 |
2. 三个知识体系
构建管理类信息系统过程中,需要涉及三大知识体系,即业务知识体系、设计知识体系、开发知识体系。
2.1 业务知识体系
客户业务知识粗略分为个性化业务知识和共性化业务知识。
- 个性化业务知识
即下图“主营业务”知识。
- 共性化业务知识
即下图“辅营业务”知识。
- 管理知识
对于企业资源进行组织、协调等所用的是“管理知识”,它与业务知识不同,它是协助完成业务的知识,如项目管理、阿米巴管理等。
主营、辅营即管理知识
2.2 设计知识体系
设计知识体系,是将客户需求转变为软件陈述过程所需要的知识,软件的设计知识体系可以分为两大部分,业务/应用设计和技术设计。
2.3 开发知识体系
用来指导软件实现,主要包括编码、测试等。
2.4 三个知识体系的关系
三个知识体系共同构成了管理系统建设工作,三个知识体系之间的关系如下图所示。
三个知识体系的关系图
3. 三个基础原理
3.1 分离原理
将一个大的复杂的研究对象拆分为若干个相对小的且易于研究的要素。
3.2 组合原理
对各种业务场景抽取出共同形式,实现标准化、工程化的设计。
3.3 基干原理
主要提供了在应用设计阶段实现产品复用的设计依据。