http://www.bjx5.com http://www.bjx5.com http://www.cfn4.com http://www.cfn4.com youkolife.com youkolife.com zaozaogo.com zaozaogo.com xilego.net xilego.net http://www.bhz5.com http://www.bhz5.com http://www.cgx2.com http://www.cgx2.com china-utopia.com china-utopia.com jrsc666.com jrsc666.com http://www.cgl5.com http://www.cgl5.com
无极娱乐
http://www.illdips.com http://www.fs-gg.com http://www.gapaya.com http://wretv.com http://www.tabplex.com http://radoyl.com http://uavcpa.com http://www.c2erllc.com http://www.mix08.com http://www.rincon1.com http://msaenz.com http://www.sentl4.com http://dluxsec.com http://www.fs-gg.com http://bre-oto.com http://www.uinoise.com

      <kbd id='r6x2'></kbd><address id='ucfi'><style id='ji3j'></style></address><button id='qwrn'></button>

          无极娱乐


          时间:$时间$    文章来源:无极娱乐    点击次数:50405    参与评论 47432人


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

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

          6

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

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

          2

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

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

          1.1软件开发的演变

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

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

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

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

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

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

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

          ?通用程序设计语芑 ?令用程序设计语言 ?逑模语在和表示法

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

          将软ft体系结构设计师视为一种软件工程师?他不必在所冇特定软件丁程领域 内都是专家。这个软件专家是体系结构设汁方而的专家,他了解各种技术,足 以把这些技水集成到…个复杂间题的解决方案中。

          H前.按技术路线别分工作在实际疢川中比较常见通常会将用户界如 (u丨)或表示开发弓中间M开发成后端幵发分开> 似是,如果没有体系结构. 即使足这种工程专业划分也不一定行助于产生商质坩的系统。冇的程序设丨丨人 员认为,这种分离(称为水f分M>并不一定有效.他丨丨丨提們难宵分层,在承 A分层中,毎个开发人员负炎一组功能浠求,并R从前到后地实现它们。这两 种方法都可以有效使用。差别只不过足个人的技能与技术领导、项丨J筲理技水 的结合而已。

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

          http://www.chp9.com http://www.cjr2.com http://www.bjf4.com qzhlcdz.com http://www.clq4.com http://www.cgc5.com ynnubbs.com http://www.bkn2.com http://www.cjp0.com http://www.bkm3.com http://www.bkd9.com http://www.cjk0.com http://www.bkb7.com http://www.cgk3.com bangfuchou.com