瀑布型软件生命周期模型的案例实践研究
2022-03-02颜家远峻通信作者
颜家远,刘 峻通信作者
(广西大学计算机与电子信息学院,广西 南宁 530004)
0 引言
为更好地研究瀑布型软件生命周期模型,本文以学校物业管理系统的设计和实现为案例。选择本案例的初衷是以点带面,更好地让读者掌握瀑布型软件生命周期模型的设计和实现步骤。或许部分读者会问,为什么选择学校物业管理系统,而不选择其他系统?事实上,无论选择哪个系统,都有读者会提出相同的问题,这里不再赘述。
学校物业管理系统,通过科学合理、可靠可行的方法对涉及学校的物业信息进行规范化的管理,将学校物业信息存放到数据库系统中,然后通过网站的形式提供物业管理者或者其他相关人员浏览查看,通过科学合理、可靠可行的方法对学校物业进行规范化管理,从而达到对学校物业进行科学管理的目标;该系统采用B/S架构,基于Microsoft Visual Studio开发平台,选择SQL Server Management Studio数据库,应用Asp.Net等技术实现。
1 问题定义
国内外对物业管理系统的研究不计其数,但从总体上来说,物业管理系统的研究,从功能上来进行划分,可以分为以下层次:一是功能简单,单机使用,使用小型数据库ACCESS或VF等开发软件,开发的一般是小型桌面数据库,所存在的缺陷主要体现在涉及面窄,功能少,稳定性差。二是功能灵活,单机使用,使用大型数据库SQL,一般使用Myeclipse或者Microsoft Visual Studio等开发软件,支持局域网的使用,其存在的缺陷主要表现在接入互联网需要通过接入组件来实现,并且设计打印速度慢等不利因素,具有局限性。
学校物业管理系统属于信息管理系统(MIS)的一种,含客户端应用程序开发和后台数据库设计与开发,具体包括系统登录、物业管理、系统维护等。
2 可行性研究
一是在经济可行性方面:系统易于实现,开发成本低,使用该系统可减少物业管理的经费,且系统稳定性好,维护成本较低,经费不是很充裕的学校也用得起,是一个功能相对齐全的物业管理系统,在经济上具有可行性。二是在技术可行性方面:对硬件要求不高、开发技术成熟、开发环境安全、开发平台稳定,系统包含用户登录、物业公告、物业资料、物业管理、数据备份等模块,各个模块相对容易实现,具有技术可行性。三是在资源可行性方面:具有较为充足的计算资源和存储资源、丰富的知识库、完备的问题库、充裕的时间支配、成熟稳定高效的开发平台,对系统的开发较为容易,在资源上具有可行性。四是在社会可行性方面:系统没有抄袭侵权等违法行为,在法律上是可行的;系统没有违反国家的法律法规的限制,也没有违反地方性法规规章的约束,在政策上是可行的;系统人性化设计,没有烦琐流程,操作简单,在使用上是可行性。
根据软件开发可行性标准,对系统的可行性采用10分制进行分析。分析情况如表1所示。
表1 可行性评价分析表
3 需求分析
(1)功能需求方面:系统分为系统前台和系统后台,系统前台包括用户登录、物业公告、物管人员、学校基本信息、学校设施等功能模块;系统后台包括用户登录、物业公告管理、物业资料维护、物业信息管理、数据备份等功能模块;系统用户角色包括系统管理员、物管员和访客,系统管理员登录账号后可以对全站的所有信息进行增删改查,物管人员登录账号后仅能对本人负责的物业信息进行增删改查,访客仅能浏览系统信息,但不能对系统信息进行增删改,也无法对数据库进行维护。
(2)性能需求方面:安全性上,系统具有相对比较严格的身份验证功能,且系统的授权遵循最小且必要的基本原则,坚决杜绝过大授权、过多越权使用的情况,同时,系统需按照国家网络安全等级保护标准和国家商用密码标准开展建设,部署相关安全产品,优化安全策略,满足等保测评和国密测评要求,并按要求开展数据安全风险评估和数据审计等工作;在响应度上,系统要求秒级响应,系统应能满足教职工使用和维护需求。
(3)运行需求方面:系统应具有高可靠性和稳定性,系统应能持续不断运行3个月,平均无故障运行时间应不小于13 000分钟;系统涉及的业务数据应能实现异地灾备,首次进行全量数据备份,后续按照5分钟/次的频次开展增量备份。
(4)其他需求方面:系统数据能够按要求开展共享开放,系统需按要求与教育主管部门系统实现互联互通、互信互认;系统应具有高拓展性、高灵活性、高可靠性、高稳定性、高安全性[1]。
4 概要设计
为提高安全性,将系统部署于单独的Web服务器上,Web服务器只与特定客户端或服务器进行操作,采取NAT技术虚拟IP地址,减少安全隐患,系统总体结构详见图1。物管员和系统管理员的功能模块结构详见图2和图3。
图1 系统总体结构图
图2 物管员功能模块结构图
图3 系统管理员后台功能模块结构图
5 详细设计
5.1 系统数据库设计
针对面向分布式系统的自身特点,本系统采用的数据库是SQL Server Management Studio,其数据库的设计必须满足系统的功能指标和性能指标[2]。本系统的数据库设计主要达到以下几个目标:一是提高数据在数据库中的存储使用效率;二是系统计算耗时少、运行快、效率高;三是数据的存储空间尽可能少,节约存储资源。
鉴于篇幅有限,本文仅对系统的个别实体进行分析,建立了管理员的实体关系模型(E-R模型),详见图4。
图4 系统E-R图
系统包括用户管理、物业公告、学校设施、物管人员、学校介绍等数据库表,本文以学校设施对应的库表为例简要阐述数据库表的设计,详见表2。
表2 学校设施信息表
5.2 系统用例建模和数据流图分析
对于学校物业管理系统的系统总体用例图,参与者主要是系统管理员和物管员,用例建模主要有系统管理、学校管理等,详见图5。数据流图包含系统顶层、访问控制和系统总体的数据流图,以总体数据流为例,详见图6。
图6 总体数据流图
6 系统实现
物业管理系统基于B/S架构,分为前台和后台。前台为学校师生提供物业报修和物业查询的渠道,包括系统首页、物业公告、学校设施、物管人员等模块,基本通过HTML语言以及数据库语言实现,后台为物管人员和系统管理员增删改查信息提供渠道,包含楼栋信息管理、设施管理、物业收费管理等。限于篇幅有限,实现本系统的界面和具体代码省略。
7 测试和维护
根据需求规格说明书,围绕系统功能和性能,编写测试用例逐一执行测试并完成测试报告。为使得测试具有针对性和代表性,在系统开发全生命周期先后进行单元测试、集成测试、确认测试和验收测试等;其中,单元测试可用Visual Unit软件进行测试,性能测试可用Load Runner进行测试。维护阶段除了满足需求规格说明书的功能和性能,还将结合实际对系统开展适应性、完善性、预防性和改正性等维护工作。
8 案例实践总结
学校物业管理系统上线运行后,发现该系统在宏观上功能模块齐全,能够满足基本物业管理需求,但是在微观上还存在一些不足,例如,系统稳定性还不够,无法承受大规模的并发访问;未采用国产商用密码技术,需进一步从物防、人防、技防等方面健全网络安全监管体系,提高系统安全的鲁棒性[3]。
通过对学校物业管理系统的案例实践,进一步表明瀑布型软件生命周期模型能够应对复杂的系统结构和多变的用户需求,且有经过论证的阶段性成果,可进一步提高系统整体稳固性和溯源性,但同时我们也发现该模型不够灵活,相对“死板”。
9 瀑布模型的思考
瀑布模型的结构化分析方法SA是文档驱动的,瀑布模型优点是每个阶段都有交付物,都经过严格论证或评审后才进入下一环节,便于溯源;其缺点是风险后期才暴露,难以适应需求的变化,灵活性低,缺乏反馈机制。为提高瀑布型生命周期模型的灵活性,可结合实际情况在某些环节增加反馈机制,并且采取并行开发和迭代开发,进而改善传统瀑布型的缺点。同时,面对用户个性化需求不断增多、系统功能复杂性呈井喷式增长的客观情况,将软件产品工程过程域的内容应用于瀑布模型[4],可融合软件能力成熟度模型(CMM),构建CMM+瀑布模型,即基于CMM3(已定义级Defined)把软件生命周期分为5个阶段、7大管理过程域、7大开发过程域和6大支撑过程域[5],详见图7。
图7 CMM+瀑布模型架构图
如果采用CMM+瀑布模型进行设计和开发软件,往往需要做到几点:一是项目团队需按CMM的内容,出台与之对应的标准;二是项目团队按照这一标准进行系统的设计和开发;三是标准不仅要符合CMM的要求,而且要符合瀑布型软件生命周期的规范。■