qdberry.com qdberry.com http://www.chz0.com http://www.chz0.com juhuiok.com juhuiok.com http://www.cjs4.com http://www.cjs4.com http://www.bkr4.com http://www.bkr4.com http://www.cgl5.com http://www.cgl5.com zuobiaohb.com zuobiaohb.com http://www.cyn5.com http://www.cyn5.com s-hj.com s-hj.com http://www.cjp0.com http://www.cjp0.com
彩吧手机版下载
http://www.danzhang9.com/ http://www.623960.com/ http://www.261330.com/ http://www.151330.com/ http://www.523370.com/ http://www.629710.com/ http://623910.com/ http://631270.com/ http://233630.com/ http://233620.com/ http://291330.com/ http://652390.com/ http://www.651950.com/ http://jssckai.com/ http://www.613570.com/ http://651910.com/

      <kbd id='anbr'></kbd><address id='72it'><style id='lo12'></style></address><button id='82jb'></button>

          彩吧手机版下载


          时间:$时间$    文章来源:彩吧手机版下载    点击次数:53314    参与评论 87037人


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

          本人认为,软件工枵划分可能涪鸷技术(数据库、.!ava)和问题域的M种 结合。当然,对个别技术、工具和方法的专门研究仍然会带来工程问题,会使 集成这些技术的系统复杂化。这正是软件体系结构设计师发挥作用的所在。可

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

          济/肴

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

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

          2

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

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

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

          1.2.3专用程序设计语亩

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

          1.2软件工程基础

          软件体系结构是软件工程学科的内然扩展。在早期文献中,软件体系结构 被简单地称为大型栈序设计。软件体系结构提出了把一个软件系统分解为组件 (component)和连接器(connector)的观点。组件封装某组扣关的功能;连接 器实现组件之间的实时交互。系统设计根据其组件和连接器的构成实现一定的 质S。可以在一个名为体系结构描述的文档中规定软件系统的体系结构。软件 体系结构设计并非与现有软件设丨丨方法完全不同。它只是州附加的系统观点补 充了它们,这些观点从未由渚如曲向对象设计这样的传统方法处理过。我们将 会认识到,软件体系结构适合于较大的企业体系结构,这种体系结构还包含业 务体系结构、信怠技术体系结构和数据体系结构。

          1.2J可霣用资源

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

          ?可重用资源

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

          当然,货权衡查找、’事挥.集成可束用代码的时间.所以要求可电用代码要存 易找到、快速掌握、集成简申,代码审用在下列情况下很有用:

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

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

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

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

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

          http://www.clg4.com nopeng.com http://www.bhs5.com http://www.cjr2.com http://www.ckz7.com http://www.chw2.com http://www.bkc6.com http://www.cgm4.com http://www.bkg9.com tousen-jp.com http://www.bln1.com http://www.bkp5.com http://www.bjq1.com bjqyjy.com http://www.cjs4.com