DSSA在智能手机Message开发过程中的应用研究

时间:2022-10-26 03:47:02

DSSA在智能手机Message开发过程中的应用研究

摘 要: 为了优化手机软件的开发过程,结合实践经验,以Message系统开发为例,采用领域分析、领域设计和领域实现的步骤,讨论了特定领域软件架构(DSSA)。在Message项目开发过程中,收集可复用的手机软件领域的构件,增加手机软件构件库的内容,并产生新的手机软件构件;使用Java语言,在Ubuntu Linux平台下成功开发。结果证明,采用DSSA架构方法能够明显缩短开发周期,节约成本。系统尚存在一些不足,比如构件的可复用性不高等等,有待进一步改进。

关键词: 特定领域软件架构; 领域分析; 领域设计; 领域实现; 短信/彩信

中图分类号:TP311.5 文献标志码:A 文章编号:1006-8228(2014)04-07-02

Abstract: In order to optimize the mobile software development process, by taking the message system as an example, and applying domain analysis, the field of design and implementation steps in the field, the specific areas of software architecture (DSSA) are discussed. In the message project development process, reusable software in the field of mobile phone components is collected, the content of mobile software component library is increased, and new mobile phone software components are developed. Java language is used in this project, and is successfully developed on the Ubuntu Linux platform. The results show that applying DSSA architecture approach can significantly shorten the development cycle, and reduce the cost. However, there are some shortcomings, for example, low reusability of components, which need improving in future.

Key words: DSSA; domain analysis; the field of design; the field of implementation; message

0 引言

本人所从事的是智能手机系统项目的架构与研发工作,产品面向国外。一般而言,智能手机软件目前竞争非常激烈,新技术的市场期比较短,如果项目的开发周期过长,将导致新技术的优势逐步丧失。Message系统是整个手机软件系统中非常重要的一个部分,它的设计开发过程对整个手机软件平台的开发起到非常重要的作用。在Message系统的开发过程中,我们采用了特定领域软件架构(DSSA)的开发手段。

特定领域软件架构(DSSA)包括领域分析,领域设计,领域实现[1]。领域分析阶段的主要目标是获得领域模型。领域模型描述的需求为领域需求。领域设计的主要目标是获得特定领域软件架构,特定领域软件架构描述领域模型中表示需求的方案;领域实现的主要目标是依据领域模型和特定领域软件架构开发和组织、重用信息[2]。本文根据Message系统开发的实际经历,就特定领域软件架构中的领域分析、领域设计、领域实现等方面论述并探讨基于特定领域软件架构的软件架构设计与应用。

1 领域分析

在Message系统中,其业务需求可分为:Message list,Compose,Detail。以下对这几个部分作进一步的领域分析。

1.1 对Message list的领域分析

Message list是一个显示所有Message的列表GUI,在Message list中,业务需求可分为:Message接收,Message分类显示,排序,查找,高级设置等。经过分析,其中,Message的接收方式与硬件和底层协议栈有关,由于硬件与底层协议栈的不同,所以其接收方式有很大不同,不宜提取为公共构件。Message分类显示,排序,查找与底层硬件没有关联,通过对手机软件市场的分析,许多手机软件系统的Message子系统均有类似需求,可将其作为领域需求中的公共需求而分别提取。经过领域分析,产生了对Message list的领域模型。

1.2 对Compose的领域分析

Compose是一个可以用来形成某个将要发送的Message的模块。通过分析,Compose的业务需求可分为:Message发送,联系人选择,编辑内容,添加和预览附件(针对彩信),Email模式发送等功能。其中,Message的发送与硬件和底层协议栈有关,由于硬件与底层协议栈的不同,所以其发送有很大不同,不宜提取为公共构件。对于Email模式发送,它是指如果输入了Email地址,那么,将把Compose的内容作为Email发送。许多手机的Message系统并不具有该功能,以往项目也未有过该需求,所以同样不宜提取为公共构件。对于联系人选择,编辑内容,添加和预览附件,为手机软件所共有,可将其作为领域需求中的公共需求而分别提取。经过领域分析,产生了对Compose的领域模型。

1.3 对Detail的领域分析

Detail主要是用来显示Message的内容,以及与本机用户相关的一些信息。通过分析,Detail的业务需求可分为:Message内容浏览,收件人或发件人大头贴显示,前后Message的翻页,livePim功能,附件的打开与保存等功能。这部分比较明了,除了livePim功能外,其他均可将其作为领域需求中的公共需求而分别提取。经过领域分析,产生了对Detail的领域模型。

1.4 其他部分的领域分析

这些部分分散在以上几个模块中。业务需求包括:回复,转发,打电话,设置Message提醒,删除等。其中,Message的回复,转发,删除都是具有共性的领域需求。

2 领域设计

特定领域软件架构的第二阶段是领域设计。在这个阶段,是对领域分析的再研究,通过分析,最终获取到一个针对领域分析所得到的共同需求的有效解决方案[3]。开展这个阶段的工作必须遵循如下原则:首先,解决方案中所使用的技术力求稳定实用;其次,解决方案的设计必须严格基于领域分析。根据领域分析,建立了领域模型之后,就可以派生出满足这些被建模领域需求的特定领域软件架构[4]。在解决方案中使用成熟的技术有利于系统的开发和提高系统的可靠性,并且降低开发成本。严格基于领域分析是提高软件重用性的前提条件[5]。

根据Message系统的领域分析,分别提取了一些与智能手机软件有差异的模块和一些与手机软件有共性的模块。其中,有差异的模块分别为:Message接收,Message发送,Email模式发送,livepim,Message地址提取用以打电话,设置Message提醒等,可以作为项目特有功能而独自设计;有共性的模块为:Message分类显示,排序,查找,联系人选择,编辑内容,添加和预览附件,Message内容浏览,收件人或发件人大头贴显示,前后Message的翻页,Message的回复,转发,删除等,可以将其作为标准的手机软件构件,加入到构件库中,以最大程度地提高手机软件的复用,当其他项目需要时,可以方便使用。

根据Message系统的领域模型,我们决定采用典型的分层架构模式,即表现层、控制层和持久层。这样的设计使得各个项目的手机系统的Message子系统逻辑上的差异得到有效的封装,最大程度地提高软件的重用。

3 领域实现

进入了DSSA的最后阶段。通过对领域分析和领域设计阶段获得的领域模型和DSSA进行进一步的分析和研究,我们一致认为采用面向对象的编程风格更有利于软件的变更和提高重用性,故采用Java语言。平台使用Ubuntu Linux,并使用针对于该项目的模拟器进行调试。在编程实现过程中,我们坚持高内聚、低耦合的编码原则。对部分系统接口反复斟酌,例如对Message List和Compose模块的实现,尽量多地抽取出系统接口,大大提高了这些模块和系统整合上的灵活性,力求使软件界面与功能符合用户的多样化需求。

4 结束语

通过我们的不懈努力和公司其他部门的多方配合,此次Message子系统的开发任务在指定的时间内顺利完成。在Message的大部分功能模块实现了可重用性较高的构件,极大地缩短了同类项目的开发周期,节约了项目研发成本,增强了市场竞争力。由此可见,DSSA架构与方法特别能适用于此类周期短、技术要求高的智能手机项目,以及一些移动互联网软件项目,其实用前景较好。在本Message项目中,由于出现了大量的新构件,使现有的构件库出现了冗余,需要重新设计现有构件库的结构;而且有的可复用构件复用程度不高,需要做大量修改才能在下一项目复用它们,这是本次项目开发遗留的不足,也是后续项目设计待完善之处。

参考文献:

[1] 张友生,李雄.软件体系结构原理,方法与实践[M].清华大学出版社,2009.

[2] 杨芙清,梅宏主编,赵海燕,张伟,麻志毅.面向复用的需求建模[M].清华大学出版社,2008.

[3] (美)Carma McClure著,王亚沙,谢冰,赵俊峰译.软件复用标准指南[M].电子工业出版社,2004.

[4] (美)Donald J.Reifer著,孙艳春,马亮等译.软件复用实践[M].机械工业出版社,2005.

[5] (美)Erich Gamma等著,李英军,马晓星,蔡敏,刘建中 译.设计模式:可复用面向对象软件的基础[M].机械工业出版社,2005.

上一篇:浅谈学校的绩效管理 下一篇:甘做精神支柱用爱感化学生