摘要:300/2
202年6月,我参与了某省政府线上采购云服务计算平台的建设,该平台主要包含网上超市系统、在线询价系统、电子招投标项目采购系统、基础数据管理系统等多个子系统。
本文以该系统为例,主要论述了结构化需求分析方法在该平台建设中的具体应用,主要分三部分来进行需求分析的建模工作。其中还用到了数据字典对数据进行详细和准备的描述。
功能模型方面,通过数据流图DFD来对功能建模,描绘系统的输入输出和外部实体的数据交互和系统的功能组成。
行为模型方面,通过状态转换图STD来描述实体的状态转换关系。
数据模型方面,通过实体联系ER图来明确实体之间的关系。
在该项目中,我担任系统分析师岗位,负责系统的分析和设计工作,该项目总投入约800万元,历时9个月,于2023年3月正式交付使用至今,收到用户的一致好评。

项目背景: 500/2
2022年6月,我所在单位承接了参与了某省政府线上采购云服务计算平台的建设,我在项目中担任系统分析师岗位。
该平台是有某省政府牵头与社会企业合作开发建设的集”网上交易,网上监督“于一体的政采采购云计算服务平台,该平台涵盖了政府采购的全流程,各个环节,其中包含了新型的电子卖场采购模式和传统与现代相融合的采购模式。其中,电子卖场模式体现了便捷高效、自主灵活的特点,将交易模式创新为网上超市和在线询价等。同时,该平台也将采购监管等流程融入在交易的各个环节中,方便监管部门可以对政府采购过程中的各种场景进行监督。通过以上这些手段来解决长期以来政府采购价格高、效率低、服务差的问题。

该平台主要由四部分组成,包括网上超市系统、在线询价系统、电子招投标项目采购系统以及基础数据管理系统。
网上超市子系统实现了采购单位对采购法中集采目录以外的项目进行灵活采购交易,该系统主要包商城前台展示模块和购物车管理模块。
在线询价子系统则是对集采目录以内金额较大,但是未达到公开招标限额标准的项目进行询价采购,该系统主要提供了询价管理模块和报价管理模块。
电子超投标项目采购子系统则是对传统招标流程的电子化和信息化,可以通过在线的方式完成一整套招标、投标、开标、评标、定标的流程。
基础数据管理子系统则是其他业务系统的底层依赖。包括商品管理、供应商管理、用户管理、机构管理、交易订单管理等模块。
该平台的业务流程较为复杂,不同流程之间相互依赖关联度高,业务的专业性强,需求分析存在不小的挑战。因此要高质量的建设该平台,选择一种合适的需求分析方法至关重要。

论文概述: 300/1
需求分析是为了将杂乱无章的用户要求和期望转换成用户需求的过程,具体的分析工作通常会包括以下几个方面:
确定系统上下文范围关系图来确定需求边界,创建用户界面模型方便用户理解系统,分析需求的技术、经济可行性、法律可行性和用户使用可行性,对需求进行优先级排序并制定迭代计划,建立需求模型,帮助系统分析师理解分析系统,创建数据字典确保开发人员统一业务相关专业术语的语义,使用QFD讲产品的特性、属性和用户的重要性关联起来。常见的需求分析方法分为结构化需求分析方法和面向对象的需求分析方法。两者的区别主要在与思想和方法论不同,结构化需求分析方法,侧重于流程和数据,适合需求明确的情况,面向对象的需求分析方法更重注对象与对象的关系,适合于需求较为复杂的情况。经过项目组分析人员的一致讨论,最终才用了结构化的需求分析方法。

三大论点: 1000/3
本文主要从需求模型建模方面对结构化分析方法进行论述,主要分为功能模型、行为模型和数据模型。

通过数据流图建立功能模型,更好的向客户描述清楚系统由哪些功能部分组成。首先识别出参与系统交互的实体有采购单位、供应商、评审专家、平台运营、代理机构、监管单位等。例如供应商品发布商品的业务流程,其产生数据流的主体是供应商,经过页面的商品信息填报后产生商品信息数据流,该输入数据流经过发布商品加工处理,生产出商品信息、价格信息、库存信息等输出数据流,最终由商品数据存储将输出数据流就行保存。对于采购单位而言的核心业务流程是浏览商品、添加购物车、进行交易结算等业务流程。在浏览商品时,供应商的商品信息流会流向采购单位,当发生交易加工后,会产生交易订单的数据流,这些数据流会输出到交易的数据存储中。通过数据流图可以直观的识别出系统内不同实体之间数据交互和输入输出,对分析系统功能提供了很大帮助。

通过行为转换图建立行为模型,状态转换图一种描述系统对内部或外部事件响应的行为模型,它主要描述了系统状态和事件,以及事件引发的状态转换。我们对该系统商品的生命周期状态建立了对应的行为模型,商品在系统中会经历新品、正常、停供、停售和退供五个阶段,每个阶段所表示的商品状态和所支持的业务操作是有所不同的,例如正常发布的商品首先会处于新品阶段,创建后会触发一个延时事件,延时事件到期后会将商品的状态从新品改为正常。当供应商停售商品供货时,触发停售事件,商品的状态会转为停售状态,停售的商品对于采购单位不可见,不能进行正常的交易。状态转换图的建立可以帮助我们对于系统中事件及事件的影响进行分析,同时也有助于开发人员根据状态流程保证业务流程健壮性。

通过实体联系图建立数据模型,识别出系统中的实体和联系,商品部分可以分析出商品表、价格表、库存表、订单表、订单商品表,其中商品表中包含了商品的基础信息、商品的品牌、商品的所属的类目、商品的图文详情描述等,价格表中包含了商品表的主键,以及价格的类型和具体的价格数值,价格类型可以分为市场价、售价、结算价等多种价格类型,价格表与商品的表时一对多的对应关系,库存表与商品表是一对一对应关系,库存表中维护的商品表的主键以及对应的库存值,订单表和商品表是多对多关系,一个订单可以包含多个商品,一个商品也可以属于多个订单,对于这种多对多的关系存储,使用了中间表订单商品表。通过ER图描述出了系统内实体与实体之间的联系。

总结:400/2
同时在项目开发过程中也遇到了一些问题,以及存在需要优化改进的地方,例如没有充分考虑到用户的使用成本和学习成本,因此后续的迭代中,我们对复杂链路进行了合并简化,并且组织了多次产品功能给业务使用方进行演示,成功的降低了用户的使用成本和学习成本,得到了领导、用户的一致好评。
通过对该平台的建设开发,我体会到了一个合适的需求分析方法对于大型项目中需求分析过程中重大帮助和重要性,以及对软件开发各个生命周期的侧重点有了更深一步的了解。随着国家信息化程度越来越高,业务系统的设计也会变得越来越复杂,因此需要我们在今后的实践中不断总结,不断提升。