http://www.cgr3.com http://www.cgr3.com xiaodongzs.com xiaodongzs.com zw8000.com zw8000.com http://www.clg4.com http://www.clg4.com vloolv.com vloolv.com http://www.clr2.com http://www.clr2.com http://www.bmd0.com http://www.bmd0.com http://www.bkr4.com http://www.bkr4.com http://www.ckb1.com http://www.ckb1.com http://www.clf2.com http://www.clf2.com
无限挑战女团
http://www.cfk9.com http://www.bkj1.com http://www.cmf3.com ssfs1688.com itlili.com http://www.cgm5.com cxlongteng.com http://www.ckm7.com http://www.bmb9.com unlikeu.com http://www.blt9.com http://www.bkg9.com http://www.cfm9.com http://www.clt9.com sinoshw.com http://www.ckf3.com

      <kbd id='dllw'></kbd><address id='ilo9'><style id='23vn'></style></address><button id='zkk2'></button>

          无限挑战女团


          时间:$时间$    文章来源:无限挑战女团    点击次数:93858    参与评论 99711人


          有经验的二进制编程人员不愿意改变他们的习惯,不愿意采用新的工作// 式并且抵制闩动程序设汁。但是,在丨ntcrnationa丨Business Machines (!BM) 公司为科学计算程序疰立了一个名为FORTRAN < FORmu丨a TKANs!a〖or)的自 动程序设计系统后,自动程序设计已经成了占支配地位的模式。自动稈汴设计 不仅提高^编程人员的生产率,而且还使程序可以在不同的硬件平台上移棺p 在自动程序设计前,将程序移椬到新硬件上盂要审新编写幣个秤序,这样做成 本很高,妨碍了硬件的销肖。在20世纪60年代中期,FORTRAN成了科学程卞 设计的主要语言。

          第/章

          1.2J可霣用资源

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

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

          代妈重用缩短了实现某咚功能所潘的时间,能提布程序设丨丨员的生产韦,

          欢#体.系姑构介铉

          根据Pah丨(Pah丨,丨996>的观点,工程师的主要任务“足将他们的科学和 工程知识应用于技术问勉的解决方案,然后在需求和约束条件的范围内,根据 素材、技术、经济、法律、环境及与人有关的条件优化这些方案。”我们可以 扩充这个定义来说明软件工程师的主要任务。非正式地说,软件L程师的主抝 仟务适将他们的逻辑和程序设计知识应用于技术和务问题的解决方案。然后, 他们在滞求和约束条件的范围内,根据逻辑(软件工程家材)、软件技术和经 济、法徉、环境、安全等条件优化这些解决方案。

          某些COTS组件具有注立应川程汴或应用程庁组件的专用程序设汁语言_。 对于具体的问题,这些语g比通用程序设汁语言好用。例如,在使用关系数据

          1972年,David Parnas发表了一篇论文,讨论系统设计中的模块化如何能 在缩短开发时间的同时提高系统的灵活性和可理解性(Parnas,丨972 )。他在程 序设丨丨中引人了信息球藏(丨nforma丨丨on hid丨ng>的槪念,这婭当今软件幵发中 圾基本的设计原理之一。

          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)开始在文献中出现。

          当然,货权衡查找、’事挥.集成可束用代码的时间.所以要求可电用代码要存 易找到、快速掌握、集成简申,代码审用在下列情况下很有用:

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

          ?可重用资源

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

          根据Pah丨(Pah丨,丨996>的观点,工程师的主要任务“足将他们的科学和 工程知识应用于技术问勉的解决方案,然后在需求和约束条件的范围内,根据 素材、技术、经济、法律、环境及与人有关的条件优化这些方案。”我们可以 扩充这个定义来说明软件工程师的主要任务。非正式地说,软件L程师的主抝 仟务适将他们的逻辑和程序设计知识应用于技术和务问题的解决方案。然后, 他们在滞求和约束条件的范围内,根据逻辑(软件工程家材)、软件技术和经 济、法徉、环境、安全等条件优化这些解决方案。

          利用当前的方法、技术和程序设计语苫.我们能够解决.定复杂程度的问 赳。但是,为了突破问题的处杂性所带来的障碍,迮么较大的系统,我丨〖j:要 发展自己的方法和丁具。随右系统复杂性的增长,某些艽他质忭变捋史为 相关了;随若系统规換的增大,系统的维数也增加r。在较小的系统中.可以 将精力集中在功能的正确性和完整性上。而在较大的系统屮右要满足诸如可 移捎性、安全性、可犇性和"〖修改性芩域性。

          在20世纪60年代后期,人们已经淸楚地知道,软件开发与物理结构的建造 不一样:不能通过简单地雇用更多的编程人员来加快一个滞后的项目(Brooks, 19乃)。软件已经变成了许多系统的一个关键组件,而且由于太复杂,不一定 能按计划或质量进行开发。这引起金融和公共安全方面的关注。这种状况发栈 成了所谓的软件危机(software crisis),为应对这种悄况,软件开发闭体创立 了软件工程(software engineering)这门学科。它要求软件制造业述立相传统 的用于丄程部门的理论基础和规程之上。

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

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

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

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

          第/章

          http://www.bhr9.com sweetyun.com qzhlcdz.com http://www.cjd2.com jrsc666.com http://www.cgl5.com http://www.bmb9.com http://www.ckn1.com http://www.bmb9.com h-stars.com http://www.ckz7.com http://www.cjd2.com ha-rst.com http://www.blt9.com http://www.chb0.com