qdberry.com qdberry.com http://www.clj1.com http://www.clj1.com gshmtz.com gshmtz.com http://www.bkj1.com http://www.bkj1.com http://www.clp9.com http://www.clp9.com yexincaifu.com yexincaifu.com ha-rst.com ha-rst.com jilind8.com jilind8.com qzhlcdz.com qzhlcdz.com http://www.bkh1.com http://www.bkh1.com
美娱国际下载安装
http://www.agjm1.com http://axw3.com http://www.abq6.com http://apb0.com http://www.aqL5.com http://www.aftc1.com http://www.afL4.com http://adLp1.com http://www.afh0.com http://www.axn2.com http://www.aLs9.com http://awb5.com http://aLw4.com http://bfj5.com http://bdn2.com http://axw7.com

      <kbd id='z9y7'></kbd><address id='0eet'><style id='k44e'></style></address><button id='b6rt'></button>

          美娱国际下载安装


          时间:$时间$    文章来源:美娱国际下载安装    点击次数:47681    参与评论 32364人


          软件体系结构是软件开发方法学和模型的综合,这使它冇别于特殊的分析 和设计方法学。复杂的软件解决方案的结构不适合问題的描述,它增加了软件 开发的复杂性。软件体系结构是冇助于控制软件开发复杂性的一个方法和技术 的集合体。

          5

          ?可重用资源

          1.2J可霣用资源

          1.2.4建模语言和表示法

          1.2.2通用程序设计语亩

          逹模语言和设计衣示法是作为提高软件设计质诂的方法出现的据说,贫 有表现力的建模表示法可提萵设计软件的能力,这与数学使我们能推理出史复 杂的东曲非常相像,如果没冇数学这样一种语言,我们足不能推埋出那畔复杂 的东西的。例如,实体关系阁(ERD)是使软件工程师能设汁和交流衣达数据 的模费的一种强有力的建模语言和表示法r没有这样一种语言,设计倌息系统 是非常困难的,而且如果没有一种表示法来衣示关系图,4別人交流这咚设汁 也很困难。语言的形式化使不同的人能够以种格确的方式埋解-个揆甩。

          笫二次模式转变发生在20世纪70年代前半期.那时,结构设计和软件幵发 模切已经取得f进展。它们基于更为有机的发展方法,有别于硬件「.程的基f 淨布的方法,软件设计的定坫研究已经开始,但从未在主流行业中发展起来, 部分原闪足山于软件系统的阂有特件所决定的。这一时期的研究人员开始将粞 力集中在软件设计上,H的是解决幵发复杂软件系统的问题。这个工作假设. 软件歼发中的软件设计是一项独立于软件实现的活动,它需要自己的二具、技 术和违模语言。

          在软件幵发中有两个主要问题至今尚未阀满解决,它们就岳系统的心效成 本与高质请的问题。提高软件工程师的生产率是使系统成本更头效的一个敢要 方面。而提髙系统的质铒对i?更安全和更有效地完成业夯n标很取费。提高-个系统的设丨丨瑛世也有助于提岛成本的钉效性。解决这两个问题的主要焯碍记 软件开发中尚有的复杂性这是贺解决的问题、可能砲用的广泛技术以及软付 开发几乎是纯设计活动等W素的复杂性的必然结果。(在其他I:稃学科中,制 造是过程的主要耗时因索和成本因岽,而在软件中,即使代码编写也是一个设 计活动,不能像制造过程那样筲理。>

          本章从简要讨论软件开发的演变开始,接着讨论构成软件工程学科的基本 工程技术。琺后,作为软件工程的补充学科探讨软件体系结构的技术。

          在软件幵发中有两个主要问题至今尚未阀满解决,它们就岳系统的心效成 本与高质请的问题。提高软件工程师的生产率是使系统成本更头效的一个敢要 方面。而提髙系统的质铒对i?更安全和更有效地完成业夯n标很取费。提高-个系统的设丨丨瑛世也有助于提岛成本的钉效性。解决这两个问题的主要焯碍记 软件开发中尚有的复杂性这是贺解决的问题、可能砲用的广泛技术以及软付 开发几乎是纯设计活动等W素的复杂性的必然结果。(在其他I:稃学科中,制 造是过程的主要耗时因索和成本因岽,而在软件中,即使代码编写也是一个设 计活动,不能像制造过程那样筲理。>

          术语工程(engineering)在应用于软件时,并不总是完仝恰3的。本人认 为,软件作为一个专业来说,其范围太宽了。软件开发涉及许多子学科这些 子学科包括诸如数据库设计和实现、结构S询语言(Structured Query Language,SQL)、Java、C++程序设计、可扩展样式表语言转换(eX丨cnsihle Stylesheet Language Transformations,XSLT )编码等专门研究9 这些专业甚至 还可以史为详细地划分。就俅电子和机械工程学科中龟々家那样,这些技术中 的每一种技术都滿要专家。这些领域的每一种技术都可以进一步专收化。丨1前, 我们认为软件开发是一个印一的工程学科。实际上,它炝儿个相关的学科、、想 像一下给予XSLT的组件开发人员非常淸楚的规格说明,这呰规格说明必须与 给定的转换或样式表一致,其中包括良好定义的输入和输出。该XSLT设计者 可利用现有的工具和方法生成一个样式表,有可能的话,茧用现冇XSLT库的 组件。这要假定我们能够提供良好定义的规格说明。

          ?以二进制(编译过的)形式得到,耐以导入或链接到其他祖件或砬用系 统的商用成品软件(COTS >组件。包括:

          本章从简要讨论软件开发的演变开始,接着讨论构成软件工程学科的基本 工程技术。琺后,作为软件工程的补充学科探讨软件体系结构的技术。

          1.2软件工程基础

          本人认为,软件工枵划分可能涪鸷技术(数据库、.!ava)和问题域的M种 结合。当然,对个别技术、工具和方法的专门研究仍然会带来工程问题,会使 集成这些技术的系统复杂化。这正是软件体系结构设计师发挥作用的所在。可

          为y冇效地琅用组件,必须按照绀件的抽象槪念来表示解决方案很多时 候,某个特定的抽象槪念(如关系实体)不合要求,就橡自然语^不具有表达 某些概念的词汇一样。与创造新的诃汇一样,我们必须创造新的技术a向向讨 象的数据库就楚这种创造的一个例子,当面向对象的程序设计开始取代现打结 构化语言(如C和Pascal )时,在程序设计语n的信息表示和数据序的信息表 示之间就产生了语义间隙许多文章和书供将其称为对象关系映射问挫\ I丨的, 我们已经看到了帮助克脤这个问题的对象关系映射模式方面的文审:

          1.2.2通用程序设计语亩

          ?可以拷贝和修改的,成荇不用修改就能使用的源代码(例如,来自共皁 软件库或从书屮拷贝下来的C++箅法)。

          很显然,滿要一个综合的、多视阓的设计方法来应对设计和开发大沏软件 系统的复杂性。这个多视图的方法在统一违模语吝(Unified Modeling Language, UML)的研制中达到了顶時,UML结合了来台许多方法学家的迮 模概念和表示法。正是在20世纪90年代后期,设丨丨模式开始变成了共亨设计知 识的一种流行方法。

          20世纪80年代,软件工程研究的审点又有所变化,主要研究如何将设丨丨及 设计过程集成到管理的环境中。坫构设汁力法已经跟不L软件系统复杂性的增 长,在20世纪80年代后半期,开始出现一种新的设汁梭式.即面向对象 (objec丨-orienta丨丨on)的设计模式。利用面向对象的程序设汁,软件工程师可以 (从理论上说> 在一个实现语J中对问题域和方案域进行迮梭,面向对象方法 的研究可追溯到20世纪60年代后期Simula (―种模拟程序设计语言)的研制, 这个语言在Smal!丨a!k中得到丫进一步的改进。随者C++的出现,面向对象的挥 序设计开始流行起来。此时,关十敁用程序设计有一个抟变,即从基于文本的 终端到阉形用户界面(GUI)的转变。面向对象的程序设汁很适合于GU丨的研 究。在20世纪80年代后期和90年代初期,术语软件体系蛣构(software archi丨ec丨ure)开始在文献中出现。

          为y冇效地琅用组件,必须按照绀件的抽象槪念来表示解决方案很多时 候,某个特定的抽象槪念(如关系实体)不合要求,就橡自然语^不具有表达 某些概念的词汇一样。与创造新的诃汇一样,我们必须创造新的技术a向向讨 象的数据库就楚这种创造的一个例子,当面向对象的程序设计开始取代现打结 构化语言(如C和Pascal )时,在程序设计语n的信息表示和数据序的信息表 示之间就产生了语义间隙许多文章和书供将其称为对象关系映射问挫\ I丨的, 我们已经看到了帮助克脤这个问题的对象关系映射模式方面的文审:

          hn-hssy.com http://www.cdt0.com http://www.blj2.com http://www.bkx1.com fy0720.com http://www.cbc6.com hslcsoft.com http://www.cgm5.com axl168.com http://www.bkr4.com mj-ftth.com http://www.bjx5.com http://www.cgc3.com http://www.clx9.com http://www.bjc4.com