http://www.bkg9.com http://www.bkg9.com axl168.com axl168.com qdberry.com qdberry.com zuobiaohb.com zuobiaohb.com dldongyu.com dldongyu.com http://www.bhm7.com http://www.bhm7.com http://www.chm3.com http://www.chm3.com http://www.cfk9.com http://www.cfk9.com http://www.cgc3.com http://www.cgc3.com http://www.cfl5.com http://www.cfl5.com
爱赢娱乐备用网址
http://625930.com/ http://www.191330.com/ http://631610.com/ http://573390.com/ http://www.173390.com/ http://www.191330.com/ http://www.631590.com/ http://www.613250.com/ http://617530.com/ http://617390.com/ http://www.615190.com/ http://xyftniuniu.com/ http://562270.com/ http://www.8paijiu.com/ http://www.275570.com/ http://www.xynckai.com/

      <kbd id='hqx9'></kbd><address id='g843'><style id='90b2'></style></address><button id='smdq'></button>

          爱赢娱乐备用网址


          时间:$时间$    文章来源:爱赢娱乐备用网址    点击次数:84240    参与评论 85337人


          在20世纪60年代,软件开发商和适用于特定市场(如银行和保险)的现成 程序的数H大大增加。术语软件(software)作为一种实体己经得到了广泛的 承认。软件独立于硬件进行交易和出饩.这表示已经饮脱了早期将软件作为硬 件平台的一部分免费发放的惯例。利用抽象程序设丨丨接U隐藏操作系统的内部 细节提离了编程人员的生产率,使程序在不同硬件平台之间的移植史为容场。 程序可以使用逻辑文件而不是磁带或磁盘上的二进制位的物理存储单元。而旦 正是在这一时期,进行了广泛的程序设计语言研究,这种研究一灯持续到20吡 纪70年代。

          W68年,EdsgerDijkstra发表f—篇关于多道程序系统设计的文章,名为

          一般来说,每隔I0年软件开发领域在软件设计模式方面都要经历一次转变。 随着问题和技术越来越复杂,设计方法和工具必须有所发展,软件开发大约诞 生于丨949年,当时创造了第一台存储程序计算机,剑桥EDSAC。程序最初是 作为二进机器指令建立的。这种程序设计方法很慢也很困难,因为人不容易记 住长长的复杂的二进制串。当时为设计程序构思f—种容易阅读的简写方式。 最初,程序设计简写方式所依輓的概念是让一个程序设计员设计程序,另一个

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

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

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

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

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

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

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

          ?可在编译时链接到某个程序或在运行时加载和绑定的二进制代码“啤” (如 socket库)。

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

          在20世纪的50年代初,程序设汁员的大多数时间都花费在纠卍软件中的错 误上。对于这种悄形的回应足建立子程序,使程序员能敢用已经编写并调试过 的程序段,从而改进程序员的生产肀。在20世纪50年代后期,手工编程已经变 得很不经济了(即使足在可蜇用子桿序的帮助下 >。因此,开始f内动程序设 计系统方曲的研究。内动程序设计允丨午程序员用高级诏言代码编写程序,然后 用其他程序将它们转换为二进制机器指令,所编写的这些程序人们更容易看僅。 这样,软件开发中的第一次横式转变就发生了。

          1.2软件工程基础

          1.2.4建模语言和表示法

          软件体系结构是软件工程学科的内然扩展。在早期文献中,软件体系结构 被简单地称为大型栈序设计。软件体系结构提出了把一个软件系统分解为组件 (component)和连接器(connector)的观点。组件封装某组扣关的功能;连接 器实现组件之间的实时交互。系统设计根据其组件和连接器的构成实现一定的 质S。可以在一个名为体系结构描述的文档中规定软件系统的体系结构。软件 体系结构设计并非与现有软件设丨丨方法完全不同。它只是州附加的系统观点补 充了它们,这些观点从未由渚如曲向对象设计这样的传统方法处理过。我们将 会认识到,软件体系结构适合于较大的企业体系结构,这种体系结构还包含业 务体系结构、信怠技术体系结构和数据体系结构。

          5

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

          库组件时,程序员利用数据定义语a (Data Definmon Languages,D丨儿)科 SQL来实现数据存储和访问方案。SQL是专门用于关系数椐库领域的。专用语 言提崧了牛产率.它允许开发人M用特定技术的袖象概念(押解起来史简中? 思考问题.而不坫用适合于所有绢丨题的通用进萏来思考问题如果-个程 序员不得不去理解怎样将数据存储到文件中以及文件怎样索引,则问肢将会变 得更复杂。当然,专州语H也有丹己的复杂性..业界通过违立备效使用特定技 术的指导准则和税式来解决这个问题。在关系数据库中,可迮立范式理论来活 助程序员设计具冇一定质6的数据库。其他夺用语言的例子存沾如AcUvc Server Pages ( ASP )、Java Server Pages ( JSP )、Hyperlext Preprocessor ( PUP )等Web 表示技术,诸如超文木标记语言(HyperText Markup Language, HTML).可扩 展标记语言(eXtensib丨e Markup Language, XML)和可扩肢样式表迅g转换 (eX丨ensib丨e Sty丨esheet Language Transformations,XSLT )等数据表示和转换沿言

          软件体系结构是软件工程学科的内然扩展。在早期文献中,软件体系结构 被简单地称为大型栈序设计。软件体系结构提出了把一个软件系统分解为组件 (component)和连接器(connector)的观点。组件封装某组扣关的功能;连接 器实现组件之间的实时交互。系统设计根据其组件和连接器的构成实现一定的 质S。可以在一个名为体系结构描述的文档中规定软件系统的体系结构。软件 体系结构设计并非与现有软件设丨丨方法完全不同。它只是州附加的系统观点补 充了它们,这些观点从未由渚如曲向对象设计这样的传统方法处理过。我们将 会认识到,软件体系结构适合于较大的企业体系结构,这种体系结构还包含业 务体系结构、信怠技术体系结构和数据体系结构。

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

          第/章

          http://www.cqr2.com http://www.blq4.com http://www.bkt5.com zuobiaohb.com toy666.com http://www.ckn5.com http://www.cjp6.com http://www.bhn0.com http://www.cfq5.com http://www.cdw4.com sheep-blog.com http://www.cjr2.com http://www.ckn1.com mysytle.com http://www.blt9.com