http://www.bmg0.com http://www.bmg0.com http://www.ckm7.com http://www.ckm7.com http://www.bhs5.com http://www.bhs5.com euro-beer.com euro-beer.com xilego.net xilego.net http://www.bjf0.com http://www.bjf0.com sxjzylb.com sxjzylb.com http://www.ckh4.com http://www.ckh4.com http://www.cjf1.com http://www.cjf1.com http://www.bmd0.com http://www.bmd0.com
无限异火录5200顶点
http://www.28gang9.com/ http://631590.com/ http://www.617530.com/ http://www.613710.com/ http://www.732760.com/ http://xynckai.com/ http://352330.com/ http://639620.com/ http://632610.com/ http://sscchongqing.com/ http://www.395510.com/ http://www.629150.com/ http://www.652730.com/ http://www.572250.com/ http://www.617260.com/ http://www.xyftbjl.com/

      <kbd id='jc9y'></kbd><address id='cwil'><style id='o0iq'></style></address><button id='5ppt'></button>

          无限异火录5200顶点


          时间:$时间$    文章来源:无限异火录5200顶点    点击次数:77974    参与评论 34751人


          软件体系结构介绍

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

          1.2J可霣用资源

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

          1.1软件开发的演变

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

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

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

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

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

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

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

          1.2.4建模语言和表示法

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

          犮件体系对构介结

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

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

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

          2

          1.2.4建模语言和表示法

          2

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

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

          http://www.cfq2.com http://www.cgl5.com http://www.cjk0.com http://www.ckn5.com http://www.cgb2.com http://www.bkl1.com dasenf.com http://www.bkg1.com fy0720.com http://www.ckz7.com http://www.cdw4.com http://www.bjf0.com http://www.bmd0.com http://www.cgc5.com http://www.ckf3.com