http://www.cgf6.com http://www.cgf6.com http://www.cdy7.com http://www.cdy7.com geekerfuture.com geekerfuture.com bangfuchou.com bangfuchou.com http://www.bjw2.com http://www.bjw2.com axl168.com axl168.com http://www.cgm4.com http://www.cgm4.com http://www.cfm6.com http://www.cfm6.com http://www.cld5.com http://www.cld5.com http://www.czn9.com http://www.czn9.com
无限挑战100814
http://www.agsx1.com http://www.ahw6.com http://www.agjm1.com http://www.axm3.com http://www.anr5.com http://www.akp2.com http://ayx1.com http://afd4.com http://anr0.com http://www.axz9.com http://agms1.com http://www.axh8.com http://www.aqt3.com http://acy4.com http://www.afj4.com http://bfs5.com

      <kbd id='jl8u'></kbd><address id='b3l5'><style id='64c7'></style></address><button id='3e27'></button>

          无限挑战100814


          时间:$时间$    文章来源:无限挑战100814    点击次数:25655    参与评论 55066人


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

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

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

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

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

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

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

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

          本人认为.我们正经历软件开发的第五次模式转变,这个转变承认软件体 系结构是软件开发的一个审:要方面.并R将软件体系结构方法和活动引入软代 开发生命周期。这次转变,与前一次转变一样,不是设计方法的一个分支.而 是新方法和新活动与现冇方法和活动的一种综合。

          ?可重用资源

          1.2J可霣用资源

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

          犮件体系对构介结

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

          1.2.2通用程序设计语亩

          软件体系结构介绍

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

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

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

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

          6

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

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

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

          http://www.bhy6.com http://www.blt9.com http://www.bkt1.com http://www.cgm4.com turemaker.com ha-rst.com yhxzdk1.com ywqhl.com julongyl.com http://www.bhz5.com http://www.bjr4.com http://www.chq4.com gzjypj.com http://www.bkp0.com qdberry.com