论文库链接:系统架构设计师论文
论文题目
软件系统建模(Software System Modeling)是软件开发中的重要环节,通过构件软件系统模型可以帮助系统开发人员理解系统、抽取业务过程和管理系统的复杂性,也可以方便各类人员之间的交流。软件系统建模是在系统需求分析和系统实现之间架起的一座桥梁,系统开发人员按照软件系统模型开发出符合设计目标的软件系统,并基于该模型进行软件的维护和改进。
请围绕“论软件系统建模方法及其应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与的软件系统开发项目以及你所承担的主要工作。
2.说明软件系统于开发中常用的建模方法有哪几类,阐述每种方法的特点及其适用范围。
3.详细说明你所参与的软件系统开发项目中,采用了哪些软件系统建模方法,具体实施效果如何。
论文参考
论软件系统建模方法与应用
摘要
2022年,某市登记中心决定开发互联网+不动产登记服务平台,我担任本次系统开发的架构师。该系统平台通过信息共享和业务协同,让数据在后台流转,同时简化审批、再造流程,是实现审批电子化、登记业务全程网办的创新政务服务系统。本文以互联网+不动产登记服务平台为例,首先简要论述了瀑布模型、原型模型、喷泉模型、V模型等几种常用的软件开发模型;然后阐述了平台设计与开发所实际采用的瀑布模型和原型模型的应用情况;最后详细阐述了平台开发所经历的需求分析、系统设计、系统实现、部署、后开发等阶段的具体实施过程。由于我们选用了合适的开发模型,不仅提升了软件开发效率,让系统具备了更好的可维护性和可操作性。上线至今,登记中心业务开展工作效率大大提升,同时也为社会公众带来了很大的便利,获得了一致好评。
正文:
2022年,某市登记中心决定开发互联网+不动产登记服务平台,我作为该中心信息部主任,担任了系统开发项目的开发主管,负责系统的架构与设计。建设“互联网+不动产登记”服务平台成为政府进一步简政放权、放管结合、优化服务的关键环节。目前,相关部门以及社会公众不断提出各种不动产登记的需求。为了让公众享受到更加优质便捷的服务,某市登记中心需要建立面向社会公众、金融机构、中介开发商等专业机构,提供全方位便民利民的政务服务;将窗口服务延伸至电脑、手机等终端,实现网上网下深度融合;同时还需要建设效能监管、大数据分析等模块,通过高性能计算,对海量不动产数据进行挖掘分析、发现规律、预测趋势,为政府分析预判提供辅助决策支持。
项目开发前,项目组对比了几种常见的软件开发模型。
(1)瀑布模型将整个开发过程分解为一系列的顺序阶段过程,如果某个阶段发现问题则会返回上一阶段进行修改;如果正常则项目开发进程从一个阶段“流动”到下一个阶段。瀑布模型适用于需求明确的软件开发项目,但如果这种方式下,需求发生变动,则修改的代价较大。
(2)原型模型是一种迭代方法,开发人员通过交流生成计划和设计模型,之后构建原型,开发、部署和交付,通过反馈再次迭代。原型模型适用于需求不明确的软件开发项目。
(3)喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。喷泉模型的开发过程包含分析、设计、实现、维护和演化,在各项活动之间无明显分界。
(4)V模型是开发与测试相结合的开发模型,分为需求模型、概要设计、详细设计、编码、单元测试、集成测试、系统测试和验收测试几个阶段。
互联网+不动产登记服务平台项目是面向社会公众的便民服务类项目,前期总体方向明确,但后期需求调整不大。因此,我们平台开发总体采用瀑布模型逐级开发,同时利用原型模型的迭代特性,及时调整业务功能,完善服务内容。下面,我们将一一阐述瀑布模型各开发阶段的具体工作。
一、需求分析阶段
该阶段工作通过多种方式进行需求调研与需求获取。如通过网上发布调查问卷,通过采访不动产登记相关的专家等,采集和描述不动产登记服务的业务场景和需求点。通过分析,了解到服务平台业务可以分为业务查询、登记事项在线办理、证明打印、一键过户、效能监管和大数据分析等。
基于用户的数量、业务要求的预测,我们得到平台重要的质量属性。在网络正常的情况下,1000个并发用户查询,响应时间少于1s;为支持系统分布式部署,平台应采用集群式架构;平台的核心功能均采用独立服务型模式运行,各核心功能之间互不影响;根据相关政策,信息系统应按信息系统三级等保要求进行开发和部署,最后应进行对应的三级定级、测试、备案等工作。
二、系统设计阶段
互联网+不动产登记服务平台的设计阶段主要确定功能要求和系统边界,并且结合瀑布模型,对需求进行评审。我们依据“4+1”视图模型,将系统从逻辑视图、进程视图、物理视图、开发视图和场景视图5个角度来描述体系架构。我们分析了业务需求,并借助用例图和概述图等工具分析设计需求。我们将系统各部分进行抽象描述,使用类图和状态图描述各部分之间的交互关系。我们利用绘制活动图来描述系统中的进程模型,通过绘制包图描述系统各部分模块和组件的关系,绘制部署图确定系统部署关系。
三、系统实现阶段与构件组装阶段
在系统实现阶段与构件组装阶段,我们根据分析与设计阶段的成果,构建平台模型,采用Axure开发工具绘制平台原型。因平台系统与第三方交互接口较多,因此在开发阶段,前端采用Mock与后端定义的接口数据,通过JSON脚本模拟出来,实现功能展示和业务交互,并且交付给登记中心进行确认,经过确认再进行后端开发。在与第三方进行对接时,通过数据流图、数据字典、梳理出平台系统需要交互的部分形成API接口,主要采用Rest风格的方式对外提供接口,它有轻量级依赖(基于HTTP)、较少设计(常用方法不需要单独设计)等优点。
构件组装阶段,检验师检验操作构件、结构审核构件、查询构件等构件后,与服务运行构件相连接,进行数据对接。服务运行构件通过数据访问构件来和数据库的数据交互。通过构件的组装,完成整个平台系统的连接,形成一个可运行的平台系统。可运行的平台系统进行测试评审和试运行,并结合用户的反馈意见及时修改。最后就是不断迭代与更新,不断完善系统。
四、部署阶段与后开发阶段
平台系统总体建设完成后,进入部署阶段。我们将应用系统部署在4台虚拟机上,并且都放置在政务外网内,服务通过Nginx实现负载均衡。考虑到数据的保密性,系统还采用了容灾备份,通过MySQL数据库的发送同步机制,对数据进行实时异地备份。
后开发阶段,考虑到用户使用量增多,为了提高性能,我们增加了平台的并发处理能力。在与第三方业务系统交互时,我们针对接口服务做了限流和熔断处理,在服务压力过大的时候,动态对部分服务降级或关闭等。
项目耗时10个月完成并成功上线,上线后得到使用单位用户和公众用户的高度认可和好评。当然我们也发现了系统存在的一些缺陷,比如用户界面层数太多和操作不便,导致用户流失的情况。针对这个问题,我们通过统计用户画像,分析用户行为后,建立了用户模型,并对前端页面上的操作进行定位分析,从而发现问题。
通过这个项目,本人更进一步了解到软件系统建模的重要性,也为今后的工作积累了经验。在以后的项目架构工作中,我将砥砺前行,为祖国的信息化建设添砖加瓦。