【软考论文】论结构化分析方法及应用
本文以该项目建设为例,讨论了结构化分析中常用的工具、以及在本系统中的具体应用以及遇到的问题和解决方案。项目于2021年11月顺利通过验收上线运行,已稳定运行2年多的时间,获得用户一致好评。
摘要
2021年初,我所在的研发部承担了公司自研XXXX管理平台项目的建设,为客户公司提供一站式的股权管理服务。我在该项目中中承担架构设计师的职务,主要负责该项目的系统架构、技术方案评估与实现、项目立项论证等工作。平台为上市公司提供资金管理、财富管理、税务服务等一站式XXXX相关服务的支持,涵盖股权管理、估值管理、多样化激励方案信息化管理、税务与财务咨询服务及系统个性化定制服务等。
本文以该项目建设为例,讨论了结构化分析中常用的工具、以及在本系统中的具体应用以及遇到的问题和解决方案。项目于2021年11月顺利通过验收上线运行,已稳定运行2年多的时间,获得用户一致好评。
正文
国务院发布的《关于支持浙江高质量发展建设共同富裕示范区的意见》中提到了浙江到2025年和2035年要实现的共同富裕相关目标。越来越多的上市企业选择对员工开展XXXX计划。我所在的某集团公司,为了集团的发展,需要在XXXX相关服务这一赛道上保持竞争力,根据这一目标,XXXX管理平台这一项目应运而生。2021年初,我所在的研发部承担了公司自研XXXX管理平台项目的建设,为客户公司提供一站式的股权管理服务。我在该项目中中承担系统分析师的职务,主要负责该项目的系统分析和设计工作。整个平台为上市公司提供资金管理、财富管理、税务服务等一站式XXXX相关服务的支持,涵盖股权管理、估值管理、多样化激励方案信息化管理、税务与财务咨询服务及系统个性化定制服务等,更高效、更便捷地为企业客户提供“一篮子”金融解决方案。整个平台涉及证券、税务、银行、电子签署等过个复杂业务逻辑,业务流程复杂、系统可靠性和可扩展性要求较高,影像的范围比较广。整个平台以多租户的模式,进行统一的管理及日常运营,通过组织机构管理提供给上市公司进行业务的管理和服务。
结构化分析方法中常用的技术和工具包括:数据流图(DFD):用来描述系统的数据流动过程,由外部实体、数据流、数据存储和处理过程等符号组成。它清晰地展示了系统中数据的来源、去向和转换过程。数据字典:对数据流图中涉及的所有数据元素、数据流、数据存储和过程进行详细的定义和说明,确保整个项目组对系统有统一的理解。实体关系图(ERD):用于描述系统中数据之间的关系,包括实体类型、实体间的联系以及实体属性等,ERD对于数据库设计非常重要。状态转移图:描述系统中各个实体或过程在不同状态下的变化情况,有助于分析和设计复杂的业务流程。结构图:通过模块化的方式,分层描述系统的结构,包括顶层模块、底层程序模块等,反映了系统的层次关系。伪代码:使用类似编程语言的结构化格式,描述程序处理逻辑和算法流程,作为设计和编码的基础。
在XXXX管理平台项目中,我们将团队划分为若干专门小组,如股权、税务、协议等。每个小组负责研究不同的领域需求收集,并绘制出初步的数据流图。在绘制顶层数据流图时,我们梳理出证券代表、董秘、参与方、银行、税局以及电子签署等多个外部实体;XXXX管理平台一个加工;以及发起XXXX计划、激励计划审核、资金归集、税费缴纳、电子协议签署等多个数据流。其中,证券代表会发起XXXX计划,公司董秘对激励计划进行审核,参与方会和公司进行电子协议签署以及进行资金归集,证券代表负责激励计划资金归集和税费缴纳的管理。
然后我们又对顶层数据图进一步细化,生成0层数据流图。在0层数据流图中,我们增加了提交激励计划、审核激励计划、电子协议签署、参与方资金归集、资金归集状态查询、税费缴纳等多个加工;也增加了激励计划、参与方信息等多个数据存储。例如证券代表提交激励计划这个流程,在1层流程图中体现的是证券代表这个外部实体通过激励计划信息流程以及提交激励计划加工后,最终产生激励计划数据存储。通过这样逐层分解的方式,我们最终绘制出完整的数据流图,然后客户公司的骨干员工再次进行了需求细节以及系统数据流转过程的沟通和确认。最后,我们基本上完成了整个系统数据流图的绘制,并根据数据流图定义了相应的数据字典。
然后,针对系统的关键业务流程,我们以状态转移图的方式对其进行分析,找出潜在的逻辑缺陷和遗漏点。例如,我们在分析证券代表发起电子协议签署的业务时,发现当证券代表确认所有参与方人员都完成个人信息维护后,会批量发起与所有参与方进行电子协议签署的请求,并会通过短信通知所有参与方人员。这个过程如果服务层处理逻辑速度较慢,可能会导致证券代表在点击发送按钮后,系统的页面会出现长时间的等待而不能进行其它操作。为了解决这个问题,我们引入了消息队列来进行异步推送,这样表现层不需要等待服务层的处理结果,从而大大缩短了用户页面等待时间。与此同时,我们也结合数据流图和实体关系图,对系统的数据库结构进行了设计,我们共映射出78张数据库表,包括用户权限表、XXXX计划表、激励计划参与方信息表、消息推送流水表等。
最后,基于对业务需求的全面了解,我们使用结构图对系统进行了模块化分解,我们将整个系统拆分成了六个独立的功能模块:1、用户权限管理模块:负责系统的用户及权限管理功能,需要提供用户注册、登录、身份验证等功能。2、XXXX管理模块:负责XXXX计划的管理和执行,需要提供XXXX计划的设计和配置等功能。3、资金归集模块:负责资金的归集工作以及与多家银行进行对接和集成,该服务需要提供资金流入和流出的记录和管理功能。同时,它还需要与不同的银行系统进行对接,实现资金的自动汇入汇出等功能。4、税务缴纳模块:负责税费的缴纳以及与税务机关的对接。需要提供各种税种的计算、申报和缴纳功能。5、电子签署模块:负责电子协议的签署以及与第三方电子签约厂商的对接,使双方可以通过互联网完成合同或协议的签署过程。6、消息推送模块:负责系统消息的推送以及与多个消息推送渠道的对接。需要提供消息的发布、订阅和通知等功能,确保企业能够及时向用户发送重要信息和通知。将整个系统拆分成六个独立模块后,我们梳理了各个模块之间的调用关系,例如XXXX管理模块会调用资金归集模块的接口进行激励计划资金归集信息的查询和确认、调用税务缴纳模块进行参与方人员税费缴纳信息的查询;电子签署模块会调用消息推送模块进行电子协议签署状态的通知等。
2021年11月,XXXX管理系统正式上线运行,至今已经稳定地运行了超过两年的时间,期间不仅顺利应对了访问量激增的挑战,还成功处理了紧急情况下客户公司的接入需求,这些都是对我们运维能力的巨大考验。在整个系统开发过程中也遇到了一些问题,例如在需求获取阶段,由于需求存在多样性和不确定性等问题,需要对客户进行深入的交流和分析,以便充分理解其需求和意图。由于我们的客户分布在全国各地、客户时间难以协调等因素,大大增加了我们对于需求获取和分析的难度。在对系统进行模块化分解的过程中,团队内部对于某些功能点具体划分到哪个模块、如何设计模块之间的接口和调用关系等问题也产生了分歧。经过这次结构化分析方法的应用效果后,我也看到了自己身上的不足之处,在未来还会不断地更新知识,完善本系统在各方面的设计,使整个系统能够更加好用。
【软考论文】论结构化分析方法及应用