系统概要设计中的构架设计(2).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.2 软件架构设计 3.2.1 软件架构及架构设计 1.什么是架构 在IT业,软件的系统架构是指通过某种特定的技术平台,完成软件系统整体功能的开发过程。也可以通俗地理解为:总体设计和总体结构布局。 (1)架构 架构普遍指通过某种特定的平台,而达到完成整体软件的功能。也即软件体系结构通常被称为架构,指可以预制和可重构的软件框架结构。并最终产生出本软件系统的《体系结构设计报告》的开发过程。 (2)架构的英文Architecture。 其英文的本意来源于建筑行业的建筑艺术、建筑风格和结构。下面是摘录1EEE-Std-1471-2000 Recommended Practice for Architectural Description of Software-Intensive Systems中有关Architecture一词的解释。 Architecture:The fundamental organization of a system embodied in its components,theirrelationships to each other,and to the environment,and the principles guiding its design and evolution.[IEEE Std 1471.2000](Architecture是一个系统的基本组织,它蕴含于系统的组件、组件之间的相互关系、组件与环境的相互关系中,以及呈现于其设计和演进的原则中)。 软件架构可以有多种定义,不管对软件架构如何定义和说明,所有的定义都有一个共同的主题,那就是必须考虑软件系统中诸如技术方向、开发平台的选择、组件的构建、设计风格的确定、设计模式的具体应用、系统中各个模块职责的划分、协作、连接等问题。 2.架构是一组有关软件系统要素的重要决策 (1)决定软件系统的组织结构。 ·构成系统的结构化元素的选择,实现对目标软件系统从整体到部分的最高层次的 划分。 ·接口和它们相互协作行为的选择。 ·将结构化元素和行为元素再次组合成粒度更大的子系统方式的选择。 (2)指导这一组织结构(元素及其接口、协作和组合方式)架构风格的选择。 即选择包括架构中的组成组件、组件之间的联结器等组成元素,同时还要决定建造本应用系统采用的具体技术。 (3)软件开发中的架构既可以是名词,也可以是动词。 软件系统的架构实际上应该是两个层面的事情。将架构作为名词来理解时,是指为软件系统设计并提供一个统一的共享框架(Framework),这种架构事实上是系统的一个层;而将架构作为动词来理解时,则是指设计构造系统或者是框架(Architecture)。 3.软件架构重要性的体现 强调软件架构最主要的目的是希望本软件项目能够实现可重用——因为开发者希望系统能够重用以前的代码和系统设计,从而提高本次项目开发的效率,这也是分析设计人员在进行架构实践时应该把握的原则:另一个目的则是希望能够实现可扩展——同样开发者还希望在系统保持结构稳定的前提下,能够很容易地扩充系统的功能和性能t这可以通过合理地应用其他比较成熟的框架。好的架构一定易于理解,易于学习,易于维护,开发者希望通过一个简洁的架构来把握系统。因为一个复杂的架构不论是测试还是维护都很困难,所以开发者希望架构能够在满足目标的前提下尽可能地简单明了。 (1)软件架构是软件各相关方联系的载体。 ·软件系统开发涉及许多相关人员。 它们包括软件系统的使用者、项目管理人员、分析和设计人员、编码人员、测试人员、维护人员等。由于各类人员都有自己的独特见解和思想,要求和技术水平也不同,因此他们一般都会从自己的视角来了解和理解所要开发的软件系统。导致不同层次和不同角色的人员对软件系统的了解和技术理解是不同的,这将给以后再开发过程中的沟通、交流带来一定的困难。 ·软件架构是沟通和联系各类人员的特殊载体。 在各种要求和理解存在矛盾的情况下,软件架构又成为协调和沟通各相关方人员的共同语言。因为各个方面的人员,都应该围绕系统架构开展各自的工作。 (2)软件架构代表了软件系统设计早期阶段中一系列重要的决策。 ·软件架构提供了如何满足软件系统各项功能的要求,并为各个部件的设计和其相互 关系提供了必须遵守的约束。软件架构为后面的详细设计工作和系统维护工作的组 织、实施提供了一定的依据。 ·软件架构应该提出软件系统应该实现的质量目标和性能指标,根据这些质量目标, 开发者也能够预测出软件系统的某些质量属性和等级。 ·软件架构为开发人员的技术培训提供了基础,因为,当开发人员在对系统架构中应 用的技术或者应用的某种形式的框架不熟悉的情况下,技术培训是一个比较快捷的 方法。 (3)一个成熟的软件架构可以为今后开发类似

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档