- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
应用领域驱动设计实现工程安全监测软件中的复杂业务
中国水利水电科学研究院 第12届青年学术交流会论文
文章编号:
应用领域驱动设计实现工程安全监测软件中的复杂业务
1 1,2 1,2 1,2 1,2 1,2
易广军 ,朱赵辉 ,孙建会 ,王万顺 ,熊成林 ,贺虎
(1.北京中水科工程总公司,北京 100038 2. 中国水利水电科学研究院,北京 100038)
摘要:计算机技术的发展促使各个行业的应用软件不断进步和完善,但其使用上的智能性和高效性也让系统开发
的复杂度不断增加,传统的开发设计模式已很难适应复杂业务的系统开发。长期以来,工程安全监测软件开发多
使用传统的数据驱动开发模式,需求分析人员从业务需求上去分析问题,很少考虑技术上的可行性,而开发人员
总是以适应技术的方式满足需求,造成需求分析人员与开发人员理解上的差异,这种差异或多或少地改变着需求;
同时,虽然系统采用了面向对象的开发设计,但以数据为中心的开发模式又制约了面向对象技术的应用,开发人员
很容易回到面向过程编程方式,从而导致不同模块、不同层次之间代码的混乱,难以清晰表达工程安全监测复杂
的业务逻辑。本文通过领域驱动设计,合理地分离出领域知识,用软件开发人员和领域专家都能理解的模型表达
业务逻辑,使工程安全监测软件中的核心业务脉络清晰,耦合度降低,能很好地适应需求的变更和新功能的增加。
关键词:工程安全监测;领域驱动设计;领域模型;重构
中图分类号: 文献标识码:A
1 研究背景
随着全国水利工程建设的持续、稳定向前发展,因旱涝而起的自然灾害有所减少,生态环境逐步
得到改善。但新建工程的不断增多,也给工程施工质量管理及运行安全保障工作带来了挑战。工程安
全监测作为掌握水利工程各建筑物工作状态,反馈设计、指导施工进行的主要手段之一被广泛应用。
近些年来,在水利信息化集成企事业单位和仪器厂商的推动下,有关安全监测的信息化系统也不断地
改进完善——数据的采集、存储、处理、分析等功能日趋成熟。但总体来看,仍存在复杂业务需求不
能满足、对用户专业水平要求过高、自动化处理程度较低等诸多问题。究其原因,主要是由于采用了
以数据库为中心的数据驱动开发模式。这种模式虽然可以快速实现项目目标,但从根本上制约了面向
对象技术的使用,很容易使项目陷入困境,原因如下:
(1)概念不清 在设计和开发阶段,没有统一的概念定义,经常出现需求文档和开发文档对同一
元素理解的不同,开发人员专于技术,常以自己的理解完成代码的编写;
(2)需求设计文档难于理解 由于需求分析和设计的分离,模型边界不清,关系复杂,开发人员
在参考相关资料时不能抓住设计重点,以致避重就轻地实现而出现不同程度的曲解;
(3)代码复杂 由于没有对象的封装或有对象而认识不统一,多个业务的重合部分以不同方式实
现,或基础架构与业务逻辑混杂,造成理解的困难;
(4)适应需求变化能力差 当需求变化时,可能要修改数据表,这时新增的字段和业务逻辑将造
成大量的修改,很容易使设计文档与代码出现不一致;
(5)复杂业务难以开展 随着业务功能的不断实现,整个项目进入一个不断修正的怪圈,很可能
牵一发而动全身,使项目最终陷入高代价的维护之中。
收稿日期: 论文未公开发表过。
作者简介:易广军(1980-),男,陕西,水利水电工程本科毕业,软件工程硕士,主要从事工程安全监测资料整编分析、软件系
统设计与实现,水利信息化及水库安全鉴定方面的工作。E_mail:stanchion@
[1]
针对这些情况,本文提出应用领域驱动设计(Domain-Driven Design,DDD) 方法解决工程安全
监测领域的复杂问题。领域驱动设计摒弃了分裂的分析和设计方法,使用单一的领域模型来满足分析
与设计两方面的需求。领域模型是软件项目的公共语言核心,其术语和关系反映了领域的深层次含义,
将这些术语和关系作为模型语言,保证了开发人员与领域专家对用户需求有一致的、精确的认识。领
域模型设计通过一系列的柔性设计模式,将潜在的概念显式地展现出来,使开发人员可以灵活地
文档评论(0)