fy0720.com fy0720.com vloolv.com vloolv.com http://www.chf7.com http://www.chf7.com http://www.cky3.com http://www.cky3.com ywqhl.com ywqhl.com xiaodongzs.com xiaodongzs.com ssfs1688.com ssfs1688.com http://www.cdg6.com http://www.cdg6.com http://www.bls0.com http://www.bls0.com http://www.cks7.com http://www.cks7.com
javascript菜鸟教程
http://cirsale.com http://www.pacemls.com http://mix08.com http://jleggat.com http://www.dbktur.com http://totcbg.com http://pacemls.com http://www.orso-co.com http://c14exp.com http://fsolans.com http://www.maill4.com http://ssahni.com http://rad-oyl.com http://www.ninjoos.com http://www.orso-co.com http://cream2.com

      <kbd id='8irr'></kbd><address id='cbxn'><style id='8w4v'></style></address><button id='nut9'></button>

          javascript菜鸟教程


          时间:$时间$    文章来源:javascript菜鸟教程    点击次数:94219    参与评论 19084人


          第/章

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

          ?可重用资源

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

          1.1软件开发的演变

          ?可重用资源

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

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

          ?可重用资源

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

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

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

          1.2软件工程基础

          犮件体系对构介结

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

          1.2软件工程基础

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

          1.2软件工程基础

          库组件时,程序员利用数据定义语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 )等数据表示和转换沿言

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

          1.2.3专用程序设计语亩

          6

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

          hooptuan.com zmxqm.com zqww178.com http://www.bkf1.com qhlxqx.com http://www.ckh3.com http://www.cbc6.com http://www.bmg0.com hn-hssy.com http://www.bkp0.com http://www.bkj1.com http://www.bjx5.com http://www.bkf3.com http://www.chk0.com http://www.cjx5.com