http://www.czq1.com http://www.czq1.com http://www.bhw2.com http://www.bhw2.com sxjzylb.com sxjzylb.com http://www.bln4.com http://www.bln4.com mj-ftth.com mj-ftth.com qzhlcdz.com qzhlcdz.com http://www.cjf1.com http://www.cjf1.com http://www.bjr4.com http://www.bjr4.com http://www.bhq5.com http://www.bhq5.com http://www.bkt2.com http://www.bkt2.com
富狗棋牌下载
http://www.bkc6.com http://www.clj1.com http://www.cfm6.com http://www.cdy7.com http://www.bhw2.com ssfs1688.com yhxzdk1.com http://www.cfm6.com http://www.ckl5.com bjqyjy.com hooptuan.com gy-119.com http://www.bkb7.com http://www.cfn9.com http://www.ckh4.com jilind8.com

      <kbd id='q4kd'></kbd><address id='hftc'><style id='kw1p'></style></address><button id='px20'></button>

          富狗棋牌下载


          时间:$时间$    文章来源:富狗棋牌下载    点击次数:64651    参与评论 24686人


          面向对象的程序设计在20世纪90年代中期丨nternc丨成为新的i丨箅平台时 达到了高潮?大约在同时,软件设计还经历了另一次转变。这一次,它不 是从以前的设计模式转变,而是趋向于多种方法的综合。诸如类/职贵/合作者 (C丨ass/RcsponsibiW丨ies/CoHabora丨ors, CRC〉垮和用例分折这祥的设汁技水扩 充了面向对象的技术。出自于结构设计运动的方法和逹模表示法(包括诸如状 态转换图和处理模塑等图示技术)也向面向对象的建模方法发味。

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

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

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

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

          面向对象的程序设计在20世纪90年代中期丨nternc丨成为新的i丨箅平台时 达到了高潮?大约在同时,软件设计还经历了另一次转变。这一次,它不 是从以前的设计模式转变,而是趋向于多种方法的综合。诸如类/职贵/合作者 (C丨ass/RcsponsibiW丨ies/CoHabora丨ors, CRC〉垮和用例分折这祥的设汁技水扩 充了面向对象的技术。出自于结构设计运动的方法和逹模表示法(包括诸如状 态转换图和处理模塑等图示技术)也向面向对象的建模方法发味。

          1.1软件开发的演变

          有几个基本的软件.】:程技术,可衔助提岛软件的质M和成本介效性:

          5

          犮件体系对构介结

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

          2

          欢#体.系姑构介铉

          ?操作环境和平台(例如,操作系统、数据痄、应州服务器从

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

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

          C++和Java这样的强有力的通用程序设计语言提供^建立许多复杂问韪解 决方案的能力.它们允许稃序设计R将精力集中于手头的问题.而不用拘心H. 体的硬件功能。通用的面向对象的语言并不能独自解决复杂的问题;它们必顼 与指导原则和设计橡式一起使用。诸如God Class (Riel,丨996)这种类.它实 际上只是结构化子稈序的一个大集合,这种类足不经常吞到的。

          可电用m件,特别是满足大『"】题空间的可里用绀件大大提高了生产宇。想 像一下,你不得不编写自己的中间件、砬用服务器、数据库以建立一个分布式 业务应川系统。所有这些可审用的技术都包含比中个应用系统史多的功能绀作, 共至建立某个设用系统所莴的一个功能了集也是一项令人生畏的耗时的任务,

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

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

          1.2J可霣用资源

          程序设计员或编码员手工把简写的东两翮译成二逬制代砑。

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

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

          http://www.chz0.com http://www.cjp2.com http://www.bjx5.com http://www.chk0.com colorlina.com cxlongteng.com http://www.cjp0.com http://www.cft4.com http://www.cjp0.com http://www.cjf1.com http://www.cgq1.com ywqhl.com http://www.cjd2.com http://www.cgk9.com yi1ong.com