http://www.bhr5.com http://www.bhr5.com zmxqm.com zmxqm.com http://www.cky3.com http://www.cky3.com http://www.bjy3.com http://www.bjy3.com http://www.cky5.com http://www.cky5.com jingtoupj.com jingtoupj.com http://www.bjf0.com http://www.bjf0.com http://www.chm3.com http://www.chm3.com http://www.bhn0.com http://www.bhn0.com http://www.bkt2.com http://www.bkt2.com
京彩竞猜
http://aqr9.com http://www.atz0.com http://ahr9.com http://apz3.com http://awp8.com http://www.awt8.com http://www.azh7.com http://www.azd5.com http://adrh1.com http://www.aqg4.com http://bfL0.com http://www.aph0.com http://akp6.com http://anj1.com http://aLg7.com http://axr7.com

      <kbd id='8kmb'></kbd><address id='lmka'><style id='dlbw'></style></address><button id='dahd'></button>

          京彩竞猜


          时间:$时间$    文章来源:京彩竞猜    点击次数:91342    参与评论 30481人


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

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

          《THE》(D丨jkstra,丨968 >。这珐记栽采用层次结构的软忭系统设计的第-篇文献? 抽象层次(丨aycrs of ahs丨rac!丨on )这个短语就足来丹于此文献Dijks丨ra以&次 来绀织系统的设计,以便减少软件的赘体较杂性。虽然当时还没有用术语体系 结构(architecture)来描述软件设计.不过这锃定娃软件体系结构槪念的笫 次出现;1时川来描述软件设计中这个方曲的-个常见术语是大纲程序设汁

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

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

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

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

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

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

          欢#体.系姑构介铉

          1.1软件开发的演变

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

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

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

          逹模语言和设计衣示法是作为提高软件设计质诂的方法出现的据说,贫 有表现力的建模表示法可提萵设计软件的能力,这与数学使我们能推理出史复 杂的东曲非常相像,如果没冇数学这样一种语言,我们足不能推埋出那畔复杂 的东西的。例如,实体关系阁(ERD)是使软件工程师能设汁和交流衣达数据 的模费的一种强有力的建模语言和表示法r没有这样一种语言,设计倌息系统 是非常困难的,而且如果没有一种表示法来衣示关系图,4別人交流这咚设汁 也很困难。语言的形式化使不同的人能够以种格确的方式埋解-个揆甩。

          5

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

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

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

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

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

          1.2J可霣用资源

          1.2J可霣用资源

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

          pyyongjia.com julongyl.com 029imo.com smhxj.com youkolife.com http://www.cky3.com http://www.cjk0.com http://www.cjr3.com http://www.clf7.com http://www.cfh7.com lnjiahua.com bwnsf.com http://www.bhr9.com http://www.bkl2.com http://www.ckm5.com