需求驱动的软件体系结构设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第25卷第3期合肥工业大学学报(自然科学版)V o l.25N o.3 2002年6月JOU RNAL O F H EFE I U N I V ER S IT Y O F T ECHNOLO GY Jun.2002需求驱动的软件体系结构设计

琚川徽, 程 勇, 袁兆山

(合肥工业大学计算机与信息学院,安徽合肥 230009)

摘 要:利用目标逻辑机制组织软件需求,在需求驱动下,只考虑体系结构设计方案是否满足相应目标,然后使用场景评价

体系结构设计方案。研究表明,这种设计思想扩大了软件体系结构的选择空间和抽象层次,有助于提高软件系统设计质量、可靠性及适应环境变化的能力。

关键词:框架;场景;需求驱动软件体系;结构设计

中图分类号:T P311.5 文献标识码:A 文章编号:100325060(2002)0320350205

Arch itecture design of requ irem en t-dr iven sof tware system

JU Chuan2hu i, CH EN G Yong, YU AN Zhao2shan

(Schoo l of Computer Science and Info rm ati on Engineering,H efei U niversity of T echno logy,H efei230009,Ch ina)

Abstract:In th is p ap er,the softw are requ irem en ts are o rgan ized by the logic m echan is m of goals,and the atten ti on in the arch itectu re design of the requ irem en t2driven softw are system is focu sed on w hether the co rresponding goal is satisfied,and certain scenari o can be u sed to evaluate the concrete arch itectu ral design alternative.It is found that w ith th is idea,alternative sp ace of softw are arch itec2 tu re is en larged and the ab stract level is enhanced,w h ich con tribu tes to the i m p rovem en t of design quality,system reliab ility and the ab ility of the system to adap t to diverse environm en ts.

Key words:fram ew o rk;scenari o;requ irem en t2driven softw are system;arch itectu re design

0 引 言

随着电子商务、企业资源规划和移动计算等新的应用领域的出现,逐步改变人们对软件及软件系统的认识,即软件系统必须基于开放的体系结构,并要求能适应新需求的演变,因此,对软件系统健壮性、友好性、可移植性及适应环境变化的能力提出了更高的要求,促使人们改进传统的需求建模技术和软件设计方法,特别是软件体系结构设计方法。

软件体系结构是软件需求、业务技术流程和社会环境因素的整体高层规划,在体系结构设计过程

收稿日期:2001210222

基金项目:国家重点实验室开放课题基金资助项目(011601B2)

作者简介:琚川徽(1971-),女,浙江江山人,硕士生,安徽大学讲师;

袁兆山(1945-),男,山东苍山人,合肥工业大学教授,硕士生导师.

中,反映用户需求并根据需求指导软件体系结构设计选择是一个相互作用的过程。

本文利用目标逻辑机制组织软件需求,在需求驱动下,只考虑设计方案是否满足相应目标,然后使用场景评价设计方案,如不能满足目标可以重新考虑目标模型所确定的设计空间中的其它方案。1 目标、场景模型及表示

1.1 建模目标

当前,软件系统仅建模了需求的静态和动态本体,即软件做什么和如何去做,这样的系统缺乏灵活性,不能很好地适应技术和组织频繁变化的环境,根本原因是没有建模需求的意愿本体,没有考虑系统为什么要这样建造的问题。建模用户需求的底层原因及关系是成功开发软件系统的关键,因此,需求工程处理的不仅仅是技术知识,还包括组织、管理、经济和社会问题,需求规约说明不仅仅包括软件规约,还要包括软件系统的外围环境和其它各种信息。

i 3框架[1]

提供了行为者概念,行为者可以是主体、职位和角色。主体是一个具有物理表现的行为者,如一个具体的人,角色是在特定的环境和领域中,社会行为者的一种抽象行为特征,职位处于角色和主体之间,它是一个主体所能充当的角色的集合,职位包括多个角色,而主体只能占据职位,同时主体也能直接担当角色。

i 3框架还建模了行为者之间的社会依赖关系,如目标依赖、

软目标依赖、任务依赖及资源依赖等。目标依赖中,依赖者依赖被依赖者产生某些状态,但不限制被依赖者如何去做,由被依赖者自由选择。任务依赖中,依赖者依赖被依赖者执行某些活动,任务依赖说明任务如何执行,而不是为什么要执行它。资源依赖中,一个行为者依赖某个行为者获得某种实体,依赖者能使用某种资源。软目标依赖中,依赖者依赖被依赖者执行某些任务满足某一软目标,软目标的意义由目标执行过程中所选方法说明,这些概念不仅可以建模需求的前期阶段和后期阶段,而且可用于体系结构设计。

i 3框架中包括策略依赖模型(SDM )和策略原理模型(SRM ),前者描述行为者之间的策略依赖关系,后者通过分析行为者之间的关系支持推理。策略依赖关系是一个图,它的每个节点表示一个行为者,行为者是一个主动实体,行为者之间的链表示一个行为者为达到其目标而依赖另一个行为者。策略原理(SR )模型是一个更细化的模型层次,通过分析行为者内部关系对内部意愿关系进行建模,在SR 模型中的意愿元素(目标、任务、资源及软目标)不仅是外部依赖元素,也是内部依赖元素,这些元素根据手段、结果及任务分解关系组成一种层次结构。

1.2 场景模型

由于场景可以精确地刻画系统行为,相比形式化方法又显得更为直观,另外,场景概念还极大地方便系统开发者和用户之间的交流协商、文档编写及需求通信等,所以场景概念在软件工程中正得到越来越广泛的应用[2]。多数学者认为,场景是用户或外部系统对某一特定系统使用情况的部分描述,但是,不同人对场景概念的外延理解和解释可能有较大差异,这依赖于所使用的语义和表示法。

图1 场景4个视图

本文从广义上理解场景概念,认为场景不仅帮助

描述和揭示系统功能需求,而且可产生规约说明、驱动

设计和评价软件体系结构。

从场景的目的、内容、生命周期和形式4个不同的

视图理解场景模型[3],如图1所示。

目的是指场景在软件开发过程中所起的作用,如

利用场景描述系统功能,考察不同的设计方案或解释

系统的缺点与不足等。内容是指场景表达的知识。生

命周期是指场景的操作过程,如场景管理、场景演化及

153第3期 琚川徽,等:需求驱动的软件体系结构设计

相关文档
最新文档