电脑编程技巧与维护 有关软件开发中的架构设计探究 李建晋 (云南省化工学校,昆明650500) 摘要:通过软件架构的诠释、软件开发中采用软件设计架构的必要性、架构设计的重要思想和有关流程进行探究 与分析。 关键词:软件开发;架构设计;需求分析 Relevant Software Development Architecture Design Exploration LI Jian-jin (Yunnan Chemical School,Kunming 650500,China) Abstract:This chapter focuses on software architecture interpretation,software development,software design architecture necessity of the use,the important thought architecture design and several processes to carry out explore the architecture of software development and design exploration analysis. Key words:software development;architecture design;needs analysis 1 引言 对于软件构架来说,它在软件系统中的地位是很关键的, 来说.一般是通过这种方式来判断这些模型是否已经达到了 软件品质的需求。 3.2架构设计相关人员达成一致的目标 可以说是软件系统的基础,也可以说是软件系统的关键元素, 它的存在影响着软件系统的大致主体布局、宏观特性及具备 的基础功能及特点,它开始于软件开发中的初期阶段,在架 构设计的进行中,需要研究客户的要求、深入发展非功能性 要求。同时也需要对客户要求所涉及到的相关领域内容转变 构架设计的作用可以发挥一个辩论体系处理方案的媒体 平台,就是基于这一点,架构设计能够让一些涉众达到统一 的目标。而在经过有效传递的过程中,架构体系的发展能够 更进一步地促使体系架构师之间的联系、软件开发工作者之 间的联系及一些新老成员之间的建议对比,同时还有他们之 间在视图上保留的相似建议【21。 3.3架构设计能够支持计划编制过程 为软件系统模型。在实质上来看,软件构架的存在其实也属 于对软件要求的一种笼统的改善方法,达到引导一些大型软 件系统各个方向设计的目的。 2软件架构定义 软件架构fSoftware archiecture)在相关因素的决策上可以 架构设计的整个过程有90%左右是用来支持设计工作及 实现活动目的的,这是因为在软件开发的过程中,是能够更 直接地使用这些活动项目的。一般这涉及到:细节筹划、日 程编排、工作调配、成本探究、风险经营和技能研发等。 3.4架构设计能够有效地管理软件复杂性 在现今社会里,软件系统的复杂性越来越高,不过要懂得 更快捷、更有效地管理这种复杂性的现实情况。对于架构设计 过程来说,应该注意的是组件的传递与分解。这也是解决某一 个大类型问题的最佳有效方法,它的作用是能够将一些大问题 更好地分散成为一些小问题,然后慢慢地逐步来进行解决。 3.5架构设计为复用奠定了基础 通过以下内容来了解:软件系统的结构、组成系统的元素、 对接口与其相关协作方式的择选、结构化与行为化元素统一 变为力度较大的子系统方式的择选,同时还关系着引导这一 组织(元素及对应接I=1、互助及组成方法)的架构类型的择 选【 1。对于软件架构来说,可以说统一性对体系完整性结构设 计的雕刻,这里面涉及到整体组织和布局、构件之间的 通信、同步及访问数据的、设计元素的性能配置,物理 布局、设计元素集中、延展收缩特性、设计择选等内容。 3软件开发中需要为软件设计架构 3.1不进行架构设计将很难满足系统的品质 在架构设计过程当中,要懂得如何一边支持使用,同时 对于软件架构设计中的一个重要性质来说,应该说是系 也可以做好成立复用资源的目的。从一个组织上来讲,复用 资源带来的好处是存在的.因为它的存在可以更好地使一个 系统的经营成本减少。同时也可以提高系统的质量。架构设 统品质借助一些方式来完成的。像软件的品质(比如特性、 安全因素及可维护因素等)在没有完整的架构设计过程中是 不能逐步完成达到目标的,考虑到软件的品质的体现无法单 一化地表现在一些软件元素当中,却是融人在一个完整的软 作者简介:李建晋(1977一),女,中专讲师,研究方向:数据 库管理。 收稿日期:2013—12—02 件体系当中,所以我们应该尽一切可能地在一些软件项目的 开发周期中做好评估品质的工作。对于软件架构模型的构建 、\■∥函iii 酾与堆 S0FrWARE DEVEL0PMENT AND DESIGN 计能够发挥的作用是可以对一些规模较大的开发提供一些基 础及规范性、并且能够有重用价值的资产【 。如想开展大规模 的软件体系研发的话,就需要依照这个基础及按照相关的规 范来进行,这就是进行软件工程发展自身存在的需求,同时 也是客户的需求。架构设计的过程能够将一些公共部分笼统 性地提取出来,发展成为公共类与工具类,这样就可以完成 软件开发与设计 件构架设计来说,是一个系统工程,它对于软件系统架构师 来说,是需要其拥有很宽广的知识面,而按照相关的要求分 析、架构设计到类设计尤其是代码结束再到项目管理都要做 好有关的清晰分析,这里面涉及到的关系是很复杂的,像你 中有我,我中有你,是无法单独分开来看的。所以软件系统 设计的方式其实不是一个固化的原则,特别是在一些理论基 重用的效果及目的。 3.6架构设计能够降低维护费用 础当中的一些实事求是的原则性探索规律来看,是能够发现 一些契合实践.并且达到所需要求的设计。 (1)对于需求分析和探究业务模型来说,要提前做好关 架构设计过程对我们的维护费用的影响是有多方面的,能 5软件架构设计步骤 够从多个角度更好地降低其中的花费问题。比如,架构设计过 程中一个关键的涉众就是要明确系统的维护工作者.同时也要 把他们的要求看做最重要也是最关键的前提任务。对于一个正 好被文档化的架构是可以达到减轻系统的可维护性。同时也可 以更好地做到结合了恰当的系统维护体质.并且对于构建体系 架构的过程中,还要顾及到系统的适应性及一定的扩充特点。 4软件开发中架构设计的核心思维 4.1架构设计的源泉来自于需求分析,并且它的设计重心和 特点来自于质量需求而非功能性需求 对于所有的软件系统来说,都需要考虑一个关键的因素, 那就是一定要做到满足于某个需求,所以。对于一个不错的 软件架构来说,就需要对一些逐步深入的全面性需求来作为 最基本的分析基点。不过对于架构设计来说,是不能够做到 一个统一性的系统模式的,不管哪一种模式的架构。也只是 在面对一些针对性问题的时候才可以发挥想过的作用【41。对于 架构设计来说,在开展需求分析的过程中.对于系统研究员 来说,在进行需求分析的时候,要有~个完善的理解能力, 这样才可以在面对一些客户要求的时候,更好地转化为相关 的计算机模型,这样在软件的设计过程中,就能够更好地设 计出一些更优秀、更满意的软件作品。当然,在需求分析的 进展中,对于系统架构设计者来说,还应该考虑一个重要的 问题,那就是注重挖掘体系的质量需求.但不是非功能性需 求,比如软件体系的稳固性、安全性、可延展性、可定制性、 可维护性及客户体验等都方面的需求。 4.2软件架构的实现还需依赖于好的项目管理 对于任何架构思想来说,在形成的时候都需要依据一个 完善的项目管理,这个项目管理的发展也需要和架构思想对 应,而且相匹配,这样才可以更好地发挥一定的效果。在做 架构设计的时候,想要做到更完美,这不仅是关系到经济成 本的问题,同时也需要花费一定的时间。比如一些好的架构 设计在完成的时候一般是在花费的经历上有60%左右是用在 时间上,因为有足够的时间来准备的话.这样才可以更好地 设计出一些不超越经济成本预算的架构.才可以在生产当中, 更好地生产出更具有契合要求的软件产品。所以.对于软件 架构设计来说,在设计软件架构的过程中.应该注意着眼现 代项目管理的思维及方式,摸清其中的特色,依照自身的设 计思路来制定一些项目管理的解决方案 这样就可以达到软 件满足非功效性的要求,同时在某种程度上对于减少开发经 济费用及相关的维护花费也是有一定的促进效果的。对于软 键事例分析。对于软件的需求来说,要做好辨别用户视野及 研发人员视野的需求,站在客户的角度来看,可以将其划分 为功能性和非功能性需求。因此就需要按照不一样的视角及 档次来统一地了解需求并且做到探究需求,从而了解业务模 型 通过实践显示.有时候不常注意的一些非功能性需求有 可能是让整个项目失败的关键因素。 (2)站在软件开发的每 个视野来开展软件架构设计。对于软件架构设计要注意到多 方面的内容,依照初期阶段工作确定的相关领域模型、相关 的关键性需求、系统制约等开展设计研究,我们要按照系统 客户、研发人员、系统管理员、部署管理员、数据管理员等 这些成员的立场来研究及处理这些问题。 (3)处理技术层面 的相关关键问题和疑惑。对于开展软件架构设计来说,一般 是要针对一些疑难问题及重点问题进行了解和攻克,这就是 一个关键性需要一定扎实基础知识及需要相关丰富实践经验 的工作。 (4)对于架构设计评审这一环节来说,它在整个软 件阶级当中是很重要的,在开展架构设计的前期,应该参加 架构设计评审会议同时开展同行评审步骤。 (5)在针对一些 关键案例方面。也要考虑到设计架构上能够需要实现其功能 性,这样才是验证架构设计成功与否的关键。 (6)转交给客 户让其开始评审,同时也可以让客户更好地从中了解并认可 这种架构设计方案,对于架构设计方案来说,在得到客户的 好评之后,接下来就可以顺利地进入大规模的开发过程了。 6结语 从软件架构的定义、软件架构在软件设计开发中的必要 性、架构设计的核心思维、架构设计的步骤这几个方面来全 面地梳理分析,从而站在架构的角度来分析软件设计的重要 性。这样就可以明确架构设计与软件开发之间相互依存的重 要关系。所以对于架构设计在软件开发中扮演的角色,应该 更重视、更关注。 参考文献 【1]张勇.浅谈如何做好软件系统的架构设计[N】.东方烟草 报.2010. [2]张纵放.软件架构设计面临新挑战[N].计算机世界, 2010. [3】邓海.浅谈软件开发中的架构设计【J_1.中国高新技术企 业,2010,28:9~10. 【4]辛伯宇,刘岩.软件开发架构——MDA fJ】.太原理工大 学学报,2010,S1:104—106+109.