一、建模介绍
一个软件工程总是为解决某个问题或某类问题而产生。软件产品由于不确定性和多样性,其功能、特性等往往随研发人员、需求变更而发生较大变动。因软件系统的结构复杂、软件研发过程工作量大,研发人员及需求具有不确定性等特点,我们在完成一个软件工程的过程中,首先要有一个定性的框架或可参考的原型系统,指导后续具体功能实现、量化指标等。
系统建模就是构建这一定性的框架或原型系统,它描绘了系统的整体构架、各部分的定位、功能及交互接口。
用例图是指由参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的视图。用例图是外部用户所能观察到的系统功能的模型图,是系统的蓝图。
二、建模过程
1、建模背景
我司某业务系统完成后,需要给领导报告项目总体情况,包括项目结构、各模块功能、定位、部署及运行情况。
2、建模过程
该系统主要以用例图为蓝本,为某自动化业务构建模型。
该系统用自然语言描述如下:
1)系统能自动收集数据,并对收集的数据进行清洗等预处理,获得待处理数据集
2)系统对待处理数据集进行处理,得到一级、二级、三级结果
3)系统对三个等级数据结果进行存储,并推送形成报表
4)系统能处理实时数据和离线数据
该系统用用例图描述如下:
3、开发过程
该项目为小型项目,在实际开发过程中使用的是增量模型。各模块开发顺序如下:
1)C/S分发构架的模块开发及测试
2)各数据处理模块独立开发及测试
3)数据处理模块(核心业务)统一测试
4)数据清理模块开发及测试
5)数据存储模块开发及测试
6)数据收集模块开发及次数
7)数据预处理模块统一测试
8)实时数据模块统一测试
9)离线数据模块开发及测试
10)展示模块开发及测试
11)整个系统统一测试
三、总结分析
在一般存在甲乙双方的项目中,系统建模首先能在宏观上沟通甲乙双方,我要干一个什么事情,需要什么东西,避免方向出现错误。其次,系统建模能加深甲乙双方对该软件项目的理解,通过构造项目模型/原型系统,明确项目核心功能。再者,通过相对完善的系统建模,能较好地分清各模块的定位、功能及各模块间的关系,并为后续讨论各模块功能、确定各模块接口标准、量化各项功能指标等具体事宜提供依据。
本例中,因开发人员即为业务人员,熟悉数据情况、业务流程,对系统功能主体功能不存在方向上的偏差,沟通确认结构、功能、需求这一大块作用没有体现。本例中系统建模的作用主要在向上级领导汇报项目情况和帮助开发人员自身进一步理清项目结构、明确模块功能、确定接口等事宜上。
四、参考文献
[1] 软件工程方法 https://pmlpml.gitee.io/sem/post/index-2020/
[2] 软件的几种开发模式 https://blog.csdn.net/m15712884682/article/details/53033886
[3] UML建模——用例图 https://www.cnblogs.com/lcword/p/10472040.html