【软考论文】论结构化设计及应用

【软考论文】论结构化设计及应用

本文以该项目建设为例,讨论了结构化设计的特点、在本系统中的具体应用以及遇到的问题和解决方案。项目于2021年11月顺利通过验收上线运行,已稳定运行2年多的时间,获得用户一致好评。

摘要

2021年初,我所在的研发部承担了公司自研XXXX管理平台项目的建设,为客户公司提供一站式的股权管理服务。我在该项目中中承担架构设计师的职务,主要负责该项目的系统架构、技术方案评估与实现、项目立项论证等工作。平台为上市公司提供资金管理、财富管理、税务服务等一站式XXXX相关服务的支持,涵盖股权管理、估值管理、多样化激励方案信息化管理、税务与财务咨询服务及系统个性化定制服务等。

本文以该项目建设为例,讨论了结构化设计的特点、在本系统中的具体应用以及遇到的问题和解决方案。项目于2021年11月顺利通过验收上线运行,已稳定运行2年多的时间,获得用户一致好评。

正文

国务院发布的《关于支持浙江高质量发展建设共同富裕示范区的意见》中提到了浙江到2025年和2035年要实现的共同富裕相关目标。越来越多的上市企业选择对员工开展XXXX计划。我所在的某集团公司,为了集团的发展,需要在XXXX相关服务这一赛道上保持竞争力,根据这一目标,XXXX管理平台这一项目应运而生。2021年初,我所在的研发部承担了公司自研XXXX管理平台项目的建设,为客户公司提供一站式的股权管理服务。我在该项目中中承担系统分析师的职务,主要负责该项目的系统分析和设计工作。整个平台为上市公司提供资金管理、财富管理、税务服务等一站式XXXX相关服务的支持,涵盖股权管理、估值管理、多样化激励方案信息化管理、税务与财务咨询服务及系统个性化定制服务等,更高效、更便捷地为企业客户提供“一篮子”金融解决方案。整个平台涉及证券、税务、银行、电子签署等过个复杂业务逻辑,业务流程复杂、系统可靠性和可扩展性要求较高,影像的范围比较广。整个平台以多租户的模式,进行统一的管理及日常运营,通过组织机构管理提供给上市公司进行业务的管理和服务。

系统是一个由多个组成部分相互协作、共同实现目标的整体,这些目标和功能的实现,需要系统中的各个组成部分紧密协作、相互支持才能达成的。为了解决复杂问题,人们常常采用将问题分解为更小、更易于管理的部分的策略。在结构化设计领域,这种思想体现为将系统划分为多个模块,每个模块都是系统的一个基本构建块,具有灵活性,可以根据需要进行自由的组合、分解和变换。

在进行模块结构设计时,我们遵循两个基本原则:信息隐蔽和抽象。信息隐蔽原则强调了对模块内部实现细节的保护,通过封装技术将具体实现过程或数据隐藏起来,使其不被外部模块所访问。当模块的内部实现发生变化时,只要接口保持不变,其他依赖于该模块的代码就无需进行修改。这样可以提高代码的可维护性,减少潜在的错误风险。同时,我们也追求模块之间的低耦合和高内聚。低耦合意味着模块之间的依赖关系尽可能弱,这样当一个模块发生变化时,对其他模块的影响会降到最低。高内聚则表示模块内部的组件紧密协作,共同完成一个明确的功能或任务。遵循这些设计原则,可以使得系统更加灵活,更容易适应需求的变化。

在概要设计阶段,我们深入分析了该系统的核心需求,并根据这些需求将整个系统进行了模块化拆分。原则是确保不同模块实现独立的业务功能、避免重复开发相同的业务功能,这也符合单一职责原则的要求。我们将整个系统拆分成了六个独立的功能模块:1、用户权限管理模块:负责系统的用户及权限管理功能,需要提供用户注册、登录、身份验证等功能。2、XXXX管理模块:负责XXXX计划的管理和执行,需要提供XXXX计划的设计和配置等功能。3、资金归集模块:负责资金的归集工作以及与多家银行进行对接和集成,该服务需要提供资金流入和流出的记录和管理功能。同时,它还需要与不同的银行系统进行对接,实现资金的自动汇入汇出等功能。4、税务缴纳模块:负责税费的缴纳以及与税务机关的对接。需要提供各种税种的计算、申报和缴纳功能。5、电子签署模块:负责电子协议的签署以及与第三方电子签约厂商的对接,使双方可以通过互联网完成合同或协议的签署过程。6、消息推送模块:负责系统消息的推送以及与多个消息推送渠道的对接。需要提供消息的发布、订阅和通知等功能,确保企业能够及时向用户发送重要信息和通知。将整个系统拆分成六个独立模块后,我们梳理了各个模块之间的调用关系,例如XXXX管理模块会调用资金归集模块的接口进行激励计划资金归集信息的查询和确认、调用税务缴纳模块进行参与方人员税费缴纳信息的查询;电子签署模块会调用消息推送模块进行电子协议签署状态的通知等。同时,我们对数据库也进行了拆分,每个模块的业务都有自己的数据库,并且不能直接访问其他模块的数据库。在拆分过程中,我们充分考虑了系统的可扩展性和可维护性。每个模块都需要将自己的业务暴露成服务,以便其他模块可以方便地调用和集成。

在详细设计阶段,我们首先对系统中的各个功能模块进行了细致的业务流程梳理。基于这些业务流程,我们进一步设计了相应的业务逻辑。以XXXX计划管理模块为例,为了确保数据的准确性和完整性,我们引入了一个复核人角色来审核证券代表提交的激励计划数据和流程。这一机制虽然牺牲了一定的系统便捷性,但显著提升了数据的准确性。在软件开发方面,我们根据团队经验以及开发人员对不同框架的熟悉程度,决定采用分层架构作为软件架构的基础。该架构主要包括以下三个层次,表现层:负责处理用户界面和用户体验,它通过调用业务逻辑层服务来实现具体的业务逻辑处理。业务逻辑层:位于表现层之下,承担应用程序核心业务逻辑的处理任务。数据访问层:位于业务逻辑层之下,主要负责与数据库的交互,提供数据的存取服务。在数据建模方面,我们对各个功能模块进行了详细的数据库设计,共创建了78张数据库表,包括用户权限表、XXXX计划表、激励计划参与方信息表、消息推送流水表等。为了实现不同客户公司数据之间的隔离,我们采用了租户ID字段进行区分。同时,为了保障数据的安全性和隐私性,我们实施了主备架构策略。在主数据库发生故障时,系统能够自动将备份数据库切换为主数据库,继续提供服务,从而确保客户公司数据的稳定运行和安全性。

2021年11月,系统正式上线运行,至今已经稳定地运行了超过两年的时间,期间不仅顺利应对了访问量激增的挑战,还成功处理了紧急情况下客户公司的接入需求,这些都是对我们运维能力的巨大考验。然而系统开发过程中我们也遭遇了一些挑战,在项目开发中期时,客户对系统中一些关键功能提出了新的需求变更,这导致了原本已经完成的部分功能不得不进行返工。我们不得不重新进行设计和研发,这不仅大大增加了我们的工作量,也延长了系统开发和测试的周期。尽管面对这些困难,团队成员们还是通过不懈的努力,确保了系统最终能够按计划成功上线。这次经历虽然充满挑战,但也让我们认识到了在项目研发过程中存在的一些问题。比如,如果当初我们采用了敏捷开发的方法,那么在面对客户需求变更时,我们可能会更加灵活和高效。敏捷开发的迭代特性允许我们在开发过程中更好地适应变化,减少返工的可能性。此外,这次经历也让我意识到了自身在项目管理和技术实践方面的不足。我深刻认识到,要想在未来的工作中取得更好的成绩,就必须不断更新自己的知识储备,提升专业技能。我计划深入研究敏捷开发等现代软件开发方法,以便更好地应对未来可能出现的各种挑战。

【软考论文】论结构化设计及应用

https://www.shuiwh.com/posts/learn-ruankao-005/

作者

水无痕

发布于

2025-07-11

更新于

2025-07-19

许可协议