基于架构软件设计研讨

时间:2022-07-03 05:44:41

导语:基于架构软件设计研讨一文来源于网友上传,不代表本站观点,若需要原创文章可咨询客服老师,欢迎参考。

基于架构软件设计研讨

一、关于软件设计的现状

随着社会的发展,软件应用规模和应用领域的不断扩大,作为相应支撑的各种软件系统将与之相适应,使得软件开发成了一项的系统工程,而这对软件开发方式也提出了更大的挑战。基于架构软件设计方法着重于在软件开发的设计阶段即按照业务特点及软件设计原则,在软件设计方法上采用一定的方法隔离业务关注点,设计及代码局部化,为需求变更及业务逻辑变化,采用递归分解的方法将大的业务分解,增加程序的可扩展性、可修改性,并将设计元素归类管理,在可预测范围内预留可变空间,应对需求变更及业务逻辑变化。基于架构的软件设计根据业务需求隔离关注点,它可以在可预见的范围内考虑可变性,为应对变化预留空间。信息技术的发展改变了人们的工作方式,由于软件工程管理的出现,促进了制造业等传统产业的发展,而软件开发也面临着现实的问题,即业务逻辑的易变性。如何将变化缩小到最小范围,业务功能的隔离无疑可以起到一定的作用。从另一方面讲,软件开发方式自身也存在一定的问题,开发过程中某些环节需要细化。软件架构是软件设计阶段的产物,具体地说,软件架构包含了结构、协作和技术等方面的重要决策,它对后期的软件维护,为系统的开发活动建立基础,对改动力度比较大的软件升级都起着重要的作用。现在,大多数企业都开始注重产品线的开发,完成从面向业务到面向技术的转换,因此要为整个产品线设计软件架构。一般内容是:上承业务目标、下接技术决策、.控制复杂性、组织开发、利于迭代开发和增量交付、提高质量。软件开发方法随着软件系统的规模增大而不断变化,20世纪70年代以前,软件开发基本上都是汇编程序设计;70年代中后期,软件开发中出现了概要设计与详细设计;90年代中期,是面向对象开发方法;90年代以后则是基于构件的软件开发。纵观软件体系结构技术发展过程,架构设计得到了充足的发展,并成为软件工程领域的研究热点。基于架构的软件设计方法能更好地隔离业务关注点及决策,可以更好地应对需求变更,以及更好地采用模块化设计方法。

二、基于架构的软件设计方法的理论

基于架构的设计提供了一个系统化的步骤,此方法在发展中不断在完善,用于设计概念性软件架构,包含了一些基础的理论概念,如设计元素、所采用的视图、用例及质量场景等。架构设计包括共性与可变性,软件模板与系统基础设施,架构驱动元组需求,质量属性、功能及架构模型。其中基于架构的设计关注对架构设计有影响的变化粒度,共性是指变化中的不变部分,可变性可以发生在功能、平台或环境中;软件模板与特定的设计元素相对应,包括设计元素与公共服务的交互模式、设计元素与基础设施的交互模式、自身职责功能。软件模板作用具体为有助于集成、对于系统中可重用的组件是一个库,并为构成系统架构提供基础。而对于一些质量属性建模技术,软件模板的定义决定了交互模式;架构驱动元组包括功能需求、质量属性及业务需求。架构驱动元素依赖抽象的功能需求,确定架构驱动元素要进行特定方面需求的详细调查,架构驱动元素满足了,设计就可以开始;架构模型包括组件类型集合及它们互操作模式,确定操作数量及功能的标准将会不同于驱动需求,架构风格就是实时计划策略。需求阶段结果包括功能需求、质量属性、业务需求及约束,运用基于架构的设计方法进行设计,为考虑决策跟踪,需要重新审视决策。基于架构的设计方法包括:抽象功能需求。基于架构的设计假定需求输出是抽象的功能需求,各种终端用户与特定系统相关联,理解需求间的相关性对设计来说是很重要,抽象功能的需求捕获可以对详细需求提供分类;用例。用例是终端用户与系统间互操作的具体描述;质量属性及业务目标。每个质量需求应当包括具体的输入及设想的应答,而业务目标与质量属性的区别不是很明晰。架构可选方案。方案的列举,逻辑上属于基于架构的设计阶段,它针对每,一个质量属性及业务目标,作为需求阶段的一个一输出,并将凡是满足需求的架构都应当列出来。质量场景。质量场景也可以具体化质量需求,应当对它们分优先级进行管理。约束。约束是预先指定的设计决策,约束来自于业务还是技术并没有关系,其设计过程就是做决策。很少有系统设计时无需考虑现存系统,遗留系统将影响当前系统的设计。

三、基于架构的软件设计方法

首先要定义设计元素。它包括概念子系统、概念组件、具体组件、软件模板、基础设计的应用。基于架构的软件设计方法是对整个系统的分解。其次是设计元素的生成顺序。随着理解的深入,要对前期的决策重新考虑,必须在适当的地方给以予记录。要考虑相关领域知识、新知识的融合应用和架构组人员的素质。第三是设计元素内部的活动。它包括功能拆分,选择基础架构,功能分配。在功能分解中要基于功能一致性、数据或基于数据之上的操作行为模式相似、相似的抽象层和功能局部化标准;设计元素应有一个首要的架构风格模型,确定的架构方案必须满足质量需求,在设计记录中与设计元素相关联;架构模型的选择产生了组件类型集合,每个设计元素的概念性接口也应当确定,依据质量属性进行权衡;设计元素都有一个依附于它软件模板,对于模板中的每一个功能,要考虑是传递到子设计元素还是保留在当前位置,并对子设计元素的功能也将进行核对。在这个过程中输出一个子设计元素列表,表现带反馈循环的拆分设计元素的顺序步骤,每执行一步都要对系统的更深入理解。用例可以用来对所选择的架构进行校验,用例检验设计对需求的覆盖度,然后生成生成并发视图、生成部署视图、校验质量场景以及校验约束。最后,按项目不同,基于架构的软件设计依据一定的优先级顺序,执行相应过程后生成设计元素的集合。