您的位置:首页 > 运维架构 > 网站架构

[我的软考作文]论基于DSSA的软件架构设计与应用

2015-01-05 08:26 302 查看
本文是作者在软考考场写的文章,但此处只是一个回忆,并非100%还原,很多内容已经忘记。

【摘要】 随着信息技术的快速发展和企业信息化建设的稳步推进,软件的重用问题已经日益在软件架构设计中突显。特定领域软件架构(Domain Specific Software Architecture, DSSA)作为一种有效实现特定领域软件重用的手段,不仅有利于降低软件开发的成本,而且极大的缓解了软件危机,已经受到越来越受到软件公司和企业的关 注。本文从笔者所在的软件公司为该市的某商品零售业企业开发商品信息管理系统,并最终成功的将该套商品信息管理系统运行在该市的五家零售业企业中的经历着 笔,着重阐述了项目的需求分析,架构设计以及系统实现过程,重点论述了特定领域软件架构在此次项目开发中的应用和取得的成效。

【关键词】 DSSA,特定领域软件架构,行业软件,软件重用

【Abstract】 With the rapid development of information technology and the steady progress of enterprise information construction, the software reuse problem has been increasingly highlighted in the software architecture design. Domain-specific software architecture
as an effective realization of domain-specific software reuse means, not only help to reduce software development costs, but also eased the software crisis greatly, which has been more and more software companies and firms’ attention. In this paper, the author
start with the development of a commodities information management system in his corporation for a local retail enterprise, focuses on the requirements analysis, architecture design and system implementation process of the project, discourses the application
and the effect achieved of domain-specific software architecture in this project development.

【Keywords】 DSSA, Domain-Specific Software Architecture, Profession software, Software Reuse

【正文】 软件危机伴随着信息技术的高速发展到来。软件危机中一个很突出的现象——不少企业已经俱备了开发一个 功能完备,质量到位的软件系统,但是,在下一次软件开发任务到来里,很多企业、公司选择了完全从新开发,从头做起,很少有开发团队考虑到软件的重用问题。 这一方面是因为软件项目本身需求不同,更重要的原因是前一次软件开发对软件的重用问题考虑甚少或几乎没有考虑——这无疑造成软件的开发成本上投入巨大。于 是,不少软件公司认识到了传统软件架构设计中的不足,纷纷寻求一种新的软件架构模式。在这样的背景下,特定领域软件架构应运而生。

软件架构设计的一个重要课题是如何解决软件重用问题。特定领域软件架构是一种有效实现特定领域软件重用的手段。按照Tracz的说法,DSSA就是 一个特定的问题领域中由领域模型、参考需求、参考架构等组成的开发基础架构,其目标冒死支持一个选定领域中多个应用的生成。

DSSA的基本活动包括领域分析、领域设计和领域实现。领域分析的主要目的是获得领域模型,领域模型描述领域中系统之间共同的需求——领域需求;领 域设计的主要目标是获得DSSA,DSSA描述领域模型中表示需求的方案;领域实现的主要目标是依据领域模型和DSSA开发和组织、重用信息。

我所在的软件开发公司在2007年5月接到本市一家零售业龙头企业开发一个商品信息管理系统的软件需求。公司将此次项目的开发工作分配到了我所在的 开发小组。通过我们小组11位成员(含一名项目经理)的有序合作和共同努力,最终在07年年尾前顺利完成了系统的交付工作。在此次开发中,我以技术骨干的 身份,主要负责领域需求方面的工作开展及最终的文档整理以及后期概要设计阶段系统接口的设计,最终协助项目经理按时完成了这个项目的开发。值得一提的是, 由于我们成功地运用了特定领域软件架构的思想,截至09年10月,在只更改部分系统接口的情况下,顺利地将这套商品信息管理系统部署在了本市的五家零售业
企业中。

下面我就以此次面向零售业商品信息管理系统开发的实际经历出发,就DSSA中的领域分析、领域设计、领域实现等方面对基于DSSA的软件架构设计与 应用作一下论述。

一、领域分析

在进入正式开发之前,我们小组成员以项目经理为核心,进行了多次的会议讨论,比较分析,最终小组成员达成共识:采用基于DSSA的软件架构模式进行 开发。

所谓DSSA,就是面向一个特定的领域进行系统架构设计。因此,在系统开发之前进行大量、充分的需求分析是非常有必要而且是必须要做的工作。因为只 有进行了充分的领域分析才能获得一个比较完备的领域模型,进而才能正确地描述出领域中各系统之间的共同需求,从而为领域设计和领域实现提供可能。如果没有 做好领域分析工作,DSSA只会是一种形式化的架构模式,“实现软件的重用”会变为空谈。因此,我们小组的所有成员把第一阶段的工作重心放在了领域分析, 用了一个多月的时间进行了全方位的市场调研和分析。

在这个阶段,小组成员分成3组,主要以问卷调查和上门询问的方式,对本市的大、中、小型零售业企业进行了为期一个多月的市场调研。并最终由我整理出 了需求文档,主要需求简述如下:

本市的零售业企业以中型企业为主,业务需求大致可以分为:货源地管理、进货管理、企业仓库管理、商场零售管理、企业员工信息管理等等模块。其中,货 源地管理和仓库管理是各大、中、小型企业存在明显差异模块,有些中小企业,尤其是小型企业甚至没有仓库管理。

领域需求的完整文档最后下发给组内的所有成员,进行审阅,其中部分成员再一次到企业中开展需求的复审工作。经过多次的修改、审查,最终产生了一份比 较完善的需求文档。在组内成员对领域需求取得了比较明确的认识之后,我们又利用领域需求建立了一个面向零售业商品信息管理系统的领域模型,最终成功地从这 个领域模型中提取出了零售业商品信息管理系统的共同需求。为后期开展领域分析和领域实现提供了必不可少的基础。

二、领域设计

DSSA的第二阶段是领域设计。在这个阶段,是对领域分析的再研究,通过分析,最终获取到一个领域分析得到的共同需求的有效解决方案。开展这个阶段 工作必须遵循如下原则:

1. 解决方案中所使用的技术力求稳定实用。

2. 解决方案的设计必须严格基于领域分析。

在解决方案中使用成熟的技术有利于系统的开发和系统可靠性的提高,并且降低开发成本。严格基于领域分析是提高软件重用性的前提条件。在会议讨论中, 小组成员纷纷提出了自己的独到见解,通过比较分析,最终得出了较为合理完善的解决方案,获得了项目经理和公司领导的一致好评。

我们采用传统的企业 MIS为基础,结合领域模型,采取了如下措施 :

1. 针对大中小型企业在 货源地管理和仓库管理等模块上的显著差异,我们将这些模块抽取出来独自设计,以符合各类企业的不同需求。

2. 采用典型的分层架构模式,即表现层、控制层和持久层。这样的设计有得各类企业业务逻辑上的差异得到有效的封装,最大程度地的提高 软件的重用。

得到初步的解决方案后,项目经理对我们的工作提出了宝贵的建议。他指出,对于部分模块应该采用可挺拔式设计,允许用户进行部分功能模块上的定制。

针对项目经理的这些建议,我们又对这套初步解决方案进行了一次修改和完善,并通过多次审查,最终完成了领域设计,得到了一套完善的解决方案。

三、领域实现

进入了 DSSA的最后阶段。通过去领域分析和领域设计阶段获得的领域模型和 DSSA进行进一步的分析和研究,小组成员一致认为采用面向对象的编 程风格更有利于软件的变更和提高重用性。在编程实现过程中,我们坚持高内聚、低耦合的编码原则。对部分系统接口反复斟酌,例如对 货源地管理和仓库管理模 块的实现上,尽量多地抽取出系统接口,大大提高了这些模块和系统整合上的随意性, 力求使软件符合用户多样化的需求。

通过小组成员的不懈努力和公司其它部门的多方配合,此次面向零售业的商品管理系统的开发任务在指定的时间内顺利完成。最终系统能够成功的运行在本市 的五家零售业企业,也使我更进一步 地深刻体会到了特定软件架构在解决软件重用问题上所表现出的显著作用。

【参考资料】

[1] Will Tracz. DSSA (Domain-Specific Software Architecture): pedagogical example. [M] ACM New York, NY, USA 199
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐