电脑系统开发怎么开发的-电脑系统开发怎么开发的好
1.软件开发是做什么的?
2.世界上第一个计算机程序是怎样开发出来的?
3.独立开发操作系统需要哪些条件?
4.如何搭建Linux下的c/s开发模式?
5.自己是初中毕业,想学习软件开发,但是对电脑一无所知,我应该怎样去学习,如何去做第一步?
软件开发是做什么的?
软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。
软件通常采用软件开发工具可以进行开发。软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。?
软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试,然后进行编写再提交程序。
扩展资料
开发平台——
软件开发平台源于繁琐的实践开发过程中。开发人员在实践中将常用的函数、类、抽象、接口等进行总结、封装,成为了可以重复使用的“中间件”,而随着“中间件”的成熟和通用,功能更强大、更能满足企业级客户需求的——软件开发平台应运而生。
平台是一段时间内科研成果的汇聚,也是阶段性平台期的标志,为行业进入新的研发领域提供了基础。由于平台对企业核心竞争力的提升非常明显,国内的管理软件市场,软件开发平台的应用已经成为一种趋势。
世界上第一个计算机程序是怎样开发出来的?
世界上第一个程序是1842年写的,恰好在第一个能被称为计算机的真正机器。这段代码的作者是AdaAugusta,被封为Lovelace女伯爵,就是大家所知道的AdaLovelace。作为世界上第一个计算机程序的作者,她被广泛地认为是有史以来第一位程序员。
当把Ada称为一位程序员的时候,很容易忘记世界上第一段代码产生的年代就是塞缪尔·莫尔斯首次展示电话、阿姆斯达号上的黑奴在反抗和美国正处于三十年代、奥斯曼帝国和波斯帝国时期、穆斯林国家的奴隶正和埃及争夺中东地区的年代。计算机这个词在那时候仍然表示一个人做了100多年的计算工作的意思。那都是很久以前的事情了。
世界上第一段代码是为查尔斯·巴贝奇的分析机写的,这个机器从来没有真正建成过,虽然有这个可能。AdaLovelace看到了巴贝奇机器的潜力,产生了可编程的计算机的念头。她为泰勒的科学回忆录翻译了一位意大利数学家LuigiMenabrea的名为“分析机的概念图”的论文,并通过“翻译者的附注(她自己注释的)”把这篇论文弄懂了,那个注释里主要写了查尔斯·巴贝奇分析机都能干些什么。在附注G的开篇,就提到了世界上第一个计算机程序,举例说明了Lovelace意识到巴贝奇的设计是多么的意义深远,但还保持着她做科学的平静。
“防止夸大源于分析机的能量的想法是有必要的。”
Lovelace在她根本没有办法夸大一个包含现代计算机的主要部分的设计的本质。巴贝奇拒绝公布这台分析机的很多内容,使得Lovelace的注释对未来的发展起到了重要影响,最显著的影响便是促使阿兰·图灵产生通用程序存储计算机的想法。这一点Ada并没有看到,她36岁去世,前面提到的注释成了她唯一的出版物。如果她再能多活几年多工作几年,计算机会不会又是另一个样子呢?
让大家回到这个问题上来:如果巴贝奇有足够的资源建好分析机并能让Lovelace在上面跑程序的话,世界上第一个计算机程序是干嘛用的呢?这个程序让巴贝奇分析机计算了伯努利数字序列。接着她描述了怎么把大量的巴贝奇分析机的穿孔卡片作为输入实现这个程序。在她的实现方法中Lovelace设定了伯努利数序列的第一个数字(B0=1,B1=-),然后开始从B2(第一个非正规伯努利数)开始计算整个序列,她把这里的B2标记为B1。
现代重写的Javascript版本的Ada的大量穿孔卡片上的堆栈看起来可能是这个样子。这个重写的版本不是Ada的代码在巴贝奇分析机上的模拟,只是Ada曾经使用过的算法的另一种实现。
顺便提一下,到目前为止从没有人能从Ada的伯努利数计算代码里发现任何bug。尽管她发明了编程,但她显然并没有发明bug。
注:AdaLovelaceDay是一个国际性的庆祝妇女在科学,科技,工程和数学领域取得成就的节日。
最早的程序直接写的是二进制机器代码,没有编译器
将编好的代码通过读卡机读如机器,直接执行。
然后出现的是汇编语言,通过二进制的机器代码来实现汇编的编译连接工作,
然后在用汇编语言完善优化汇编语言;
接着才是高级语言,使用汇编语言编译
逐渐实现高级语言编译高级语言
19世纪之前
一、机械计算机时代的拓荒者
在西欧,由中世纪进入文艺复兴时期的社会大变革,大大促进了自然科学技术的发展,人们长期被神权压抑的创造力得到空前释放。其中制造一台能帮助人进行计算的机器,就是最耀眼的思想火花之一。从那时起,一个又一个科学家为把这一思想火花变成引导人类进入自由王国的火炬而不懈努力。但限于当时的科技总体水平,大都失败了,这就是拓荒者的共同命运:往往见不到丰硕的果实。后人在享用这甜美的时候,应该能从中品出一些汗水与泪水的滋味
1614:苏格兰人JohnNapier(1550-1617)发表了一篇论文,其中提到他发明了一种可以计算四则运算和方根运算的精巧装置。
1623:WilhelmSchickard(1592-1635)制作了一个能进行六位以内数加减法,并能通过铃声输出答案的'计算钟'。通过转动齿轮来进行操作。
1625:WilliamOughtred(1575-1660)发明计算尺
1642:法国数学家Pascal在WILLIAMOughtred计算尺的基础上将计算尺加以改进,能进行八位计算。并且还卖出了许多,成为一种时髦的商品。
1668:英国人SamuelMorl和(1625-1695)制作了一个非十进制的加法装置,适宜计算钱币。
1671:德国数学家GottfriedLeibniz设计了一架可以进行乘法,最终答案可以最大达到16位。
1775:英国Charles制作成功了一台与Leibniz's的计算机类似的机器。但更先进一些。
1776:德国人MathieusHahn成功的制作了一台乘法器。
1801:Joseph-MaireJacuard开发了一台能用穿孔卡片控制的自动织布机。
1820:法国人CharlesXavierThomasdeColmar(1785-1870),制作成功第一台成品计算机,非常的可靠,可以放在桌面上,在后来的90多年间一直在市场上出售。
1822:英国人CharlesBabbage(1792-1871)设计了差分机和分析机,其中设计的理论非常的超前,类似于百年后的电子计算机,特别是利用卡片输入程序和数据的设计被后人所采用。
1832:Babbage和JosephClement制成了一个差分机的成品,开始可以进行6位数的运算。后来发展到20位、30位,尺寸将近一个房子那么大。结果以穿孔的形式输出。但限于当时的制造技术,他们的设计难以制成。
1834:斯德哥尔摩的GeorgeScheutz用木头做了一台差分机。
1834:Babbage设想制造一台通用的分析机,在只读存储器(穿孔卡片)中存储程序和数据,Babbage在以后的时间继续他的研究工作,并于1840年将操作数提高到了40位,并基本实现了控制中心(CPU)和存储程序的设想,而且程序可以根据条件进行跳转,能在几秒内作出一般的加法,几分钟内作出乘除法。
1842:Babbage的差分机项目因为研制费用昂贵,被政府取消。但他自己仍花费大量的时间和精力于他的分析机研究。
1843:Scheutz和他的儿子EdvardScheutz制造了一台差分机,瑞典政府同意继续支持他们的研究工作。
1847:Babbage花两年时间设计了一台较简易的、31位的差分机,但没有人感兴趣并支持他造出这台机器。但后来伦敦科学博物馆用现代技术复制出这台机器后发现,它确实能准确的工作。
1848:英国数学家GeorgeBoole创立二进制代数学。提前差不多一个世纪为现代二进制计算机铺平了道路。
1853:令Babbage感到高兴的是,Scheutzes制造成功了真正意义上的比例差分机,能进行15位数的运算。象Babbage所设想的那样输出结果。后来伦敦的BrianDonkin又造出了更可靠的第二台。
1858:第一台制表机被Albany的Dudley天文台买走。第二台被英国政府买走。但天文台并没有将其充分利用,后来被送进了博物馆。而第二台却被幸运的使用了很长时间。
1871:Babbage制造了分析机的部分部件和印表机。
1878:纽约的西班牙人RamonVerea,制造成功桌面计算器。比前面提到的都要快。但他对将其推向市场不感兴趣,只是想表明,西班牙人可以比美国人做的更好。
1879:一个调查委员会开始研究分析机是否可行,最后他们的结论是:分析机根本不可能工作。此时Babbage已经去世了。调查之后,人们将他的分析机彻底遗忘了。但HowardAiken例外。
1885:这时期更多的计算机涌现出来。如美国、俄国、瑞典等。他们开始用有槽的圆柱代替易出故障的齿轮。
1886:芝加哥的DorrE.Felt(1862-1930),制造了第一台用按键操作的计算器,而且速度非常快,按键抬起,结果也就出来了。
1889:Felt推出桌面印表计算器。
1890:1890美国人口普查。1880年的普查人工用了7年的时间进行统计。这意味着1890年的统计将会超过10年。美国人口普查部门希望能得到一台机器帮助提高普查的效率。HermanHollerith,建立制表机公司的那个人,后来他的公司发展成了IBM公司。借鉴了Babbage的发明,用穿孔卡片存储数据,并设计了机器。结果仅仅用了6个周就得出了准确的数据(62622250人)。HermanHollerith大发其财。
1892:圣多美和普林西比的WilliamS.Burroughs(1857-1898),制作成功了一台比Felt的功能更强的机器,真正开创了办公自动化工业。
1896:HermanHollerith创办了IBM公司的前身。1900~1910
1906:HenryBabbage,CharlesBabbage的儿子,在R.W.Munro的支持下,完成了父亲设计的分析机,但也仅能证明它能工作,而没有将其作为产品推出。
二、电子计算机最初的日子里
在这之前的计算机,都是基于机械运行方式,尽管有个别产品开始引入一些电学内容,却都是从属与机械的,还没有进入计算机的灵活:逻辑运算领域。而在这之后,随着电子技术的飞速发展,计算机就开始了由机械向电子时代的过渡,电子越来越成为计算机的主体,机械越来越成为从属,二者的地位发生了变化,计算机也开始了质的转变。下面就是这一过渡时期的主要事件:
1906:美国的LeeDeForest发明了电子管。在这之前造出数字电子计算机是不可能的。这为电子计算机的发展奠定了基础。
1920~1930
1924年2月:IBM,一个具有划时代意义的公司成立
1930~1940
1935:IBM推出IBM601机。这是一台能在一秒钟算出乘法的穿孔卡片计算机。这台机器无论在自然科学还是在商业意义上都具有重要的地位。大约造了1500台。
1937:英国剑桥大学的AlanM.Turing(1912-1954)出版了他的论文,并提出了被后人称之为'图灵机'的数学模型。
1937:BELL试验室的GeorgeStibitz展示了用继电器表示二进制的装置。尽管仅仅是个展示品,但却是第一台二进制电子计算机。
1938:ClaudeE.Shannon发表了用继电器进行逻辑表示的论文。
1938:柏林的KonradZuse和他的助手们完成了一个机械可编程二进制形式的计算机,其理论基础是Boolean代数。后来命名为Z1。它的功能比较强大,用类似**胶片的东西作为存储介质。可以运算七位指数和16位小数。可以用一个键盘输入数字,用灯泡显示结果。
19391月1日:加利福尼亚的DavidHewlet和WilliamPackard在他们的车库里造出了Hewlett-Packard计算机。名字是两人用投硬币的方式决定的。包括两人名字的一部分。
1939年11月:美国JohnV.Atanasoff和他的学生CliffordBerry完成了一台16位的加法器,这是第一台真空管计算机。
1939:二次世界大战的开始,军事需要大大促进了计算机技术的发展。
1939:Zuse和Schreyer开始在他们的Z1计算机的基础上发展Z2计算机。并用继电器改进它的存储和计算单元。但这个项目因为Zuse服兵役被中断了一年。
1939/1940:Schreyer利用真空管完成了一个10位的加法器,并使用了氖灯做存储装置。
1940~1950
1940年1月:Bell实验室的SamuelWilliams和Stibitz制造成功了一个能进行复杂运算的计算机。大量使用了继电器,并借鉴了一些电话技术,采用了先进的编码技术。
1941夏季:Atanasoff和学生Berry完成了能解线性代数方程的计算机,取名叫'ABC'(Atanasoff-BerryComputer),用电容作存储器,用穿孔卡片作辅助存储器,那些孔实际上是'烧'上的。时钟频率是60HZ,完成一次加法运算用时一秒。
1941年12月:德国Zuse制作完成了Z3计算机的研制。这是第一台可编程的电子计算机。可处理7位指数、14位小数。使用了大量的真空管。每秒种能作3到4次加法运算。一次乘法需要3到5秒。
1943:1943年到1959年时期的计算机通常被称作第一代计算机。使用真空管,所有的程序都是用机器码编写,使用穿孔卡片。典型的机器就是:UNIVAC。
1943年1月:MarkI,自动顺序控制计算机在美国研制成功。整个机器有51英尺长,重5吨,75万个零部件,使用了3304个继电器,60个开关作为机械只读存储器。程序存储在纸带上,数据可以来自纸带或卡片阅读器。被用来为美国海军计算弹道火力表。
1943年4月:MaxNewman、Wynn-Williams和他们的研究小组研制成功'HeathRobinson',这是一台密码破译机,严格说不是一台计算机。但是其使用了一些逻辑部件和真空管,其光学装置每秒钟能读入2000个字符。同样具有划时代的意义。
1943年9月:Williams和Stibitz完成了'RelayInterpolator',后来命名为'ModelIIRelayCalculator'。这是一台可编程计算机。同样使用纸带输入程序和数据。其运行更可靠,每个数用7个继电器表示,可进行浮点运算。
1943年12月:最早的可编程计算机在英国推出,包括2400个真空管,目的是为了破译德国的密码,每秒能翻译大约5000个字符,但使用完后不久就遭到了毁坏。据说是因为在翻译俄语的时候出现了错误。
1946:ENIAC(ElectronicNumericalIntegrator和Computer):第一台真正意义上的数字电子计算机。开始研制于1943年,完成于1946年。负责人是JohnW.Mauchly和J.PresperEckert。重30吨,18000个电子管,功率25千瓦。主要用于计算弹道和氢弹的研制。
三、晶体管计算机的发展
真空管时代的计算机尽管已经步入了现代计算机的范畴,但其体积之大、能耗之高、故障之多、价格之贵大大制约了它的普及应用。直到晶体管被发明出来,电子计算机才找到了腾飞的起点,一发而不可收
1947:Bell实验室的WilliamB.Shockley、JohnBardeen和WalterH.Brattain.发明了晶体管,开辟了电子时代新纪元。
1949:EDSAC:剑桥大学的Wilkes和他的小组建成了一台存储程序的计算机。输入输出设备仍是纸带。
1949:EDVAC(electronicdiscretevariablecomputer):第一台使用磁带的计算机。这是一个突破,可以多次在其上存储程序。这台机器是JohnvonNeumann提议建造的。
1949:'未来的计算机不会超过1.5吨。'这是当时科学杂志的大胆预测。
1950~1960
1950:软磁盘由东京帝国大学的YoshiroNakamats发明。其销售权由IBM公司获得。开创存储时代新纪元。
1950:英国数学家和计算机先驱AlanTuring说:计算机将会具有人的智慧,如果一个人和一台机器对话,对于提出和回答的问题,这个人不能区别到底对话的是机器还是人,那么这台机器就具有了人的智能。
1951:GraceMurrayHopper完成了高级语言编译器。
1951:Whirlwind:美国空军的第一个计算机控制实时防御系统研制完成。
1951:UNIVAC-1:第一台商用计算机系统。设计者:J.PresperEckert和JohnMauchly。被美国人口普查部门用于人口普查,标志着计算机的应用进入了一个新的、商业应用的时代。
1952:EDVAC(ElectronicDiscreteVariableComputer):由VonNeumann领导设计并完成。取名:电子离散变量计算机。
1953:此时世界上大约有100台计算机在运转。
1953:磁芯存储器被开发出来。
1954:IBM的JohnBackus和他的研究小组开始开发FORTRAN(FORmulaTRANslation),1957年完成。是一种适合科学研究使用的计算机高级语言。
1956:第一次有关人工智能的会议在Dartmouth学院召开。
1957:IBM开发成功第一台点阵打印机。
1957:FORTRAN高级语言开发成功。
四、集成电路,现代计算机插上腾飞的翅膀
尽管晶体管的采用大大缩小了计算机的体积、降低了其价格,减少了故障。但离人们的要求仍差很远,而且各行业对计算机也产生了较大的需求,生产更能更强、更轻便、更便宜的机器成了当务之急,而集成电路的发明正如\"及时雨\",当春乃发生。其高度的集成性,不仅仅使体积得以减小,更使速度加快,故障减少。人们开始制造革命性的微处理器。计算机技术经过多年的积累,终于驶上了用硅铺就的高速公路。
1958年9月12日:在RobertNoyce(INTEL公司的创始人)的领导下,发明了集成电路。不久又推出了微处理器。但因为在发明微处理器时借鉴了日本公司的技术,所以日本对其专利不承认,因为日本没有得到应有的利益。过了30年,日本才承认,这样日本公司可以从中得到一部分利润了。但到2001年,这个专利也就失效了。
1959:1959年到1964年间设计的计算机一般被称为第二代计算机。大量采用了晶体管和印刷电路。计算机体积不断缩小,功能不断增强,可以运行FORTRAN和COBOL,接收英文字符命令。出现大量应用软件。
1959:GraceMurrayHopper开始开发COBOL(COmmonBusiness-OrientatedLanguage)语言,完成于1961年。
1960~1970
1960:ALGOL:第一个结构化程序设计语言推出。
1961:IBM的KennthIverson推出APL编程语言。
1963:PDP-8:DEC公司推出第一台小型计算机。
1964:1964年到1972年的计算机一般被称为第三代计算机。大量使用集成电路,典型的机型是IBM360系列。
1964:IBM发布PL/1编程语言。
1964:发布IBM360首套系列兼容机。
1964:DEC发布PDB-8小型计算机。
1965:摩尔定律发表,处理器的性能每年提高一倍。后来其内容又发生了改变。
1965:LoftiZadeh创立模糊逻辑,用来处理近似值问题。
1965:ThomasE.Kurtz和JohnKemeny完成BASIC(BeginnersAllPurposeSymbolicInstructionCode)语言的开发。特别适合计算机教育和初学者使用,得到了广泛的推广。
1965:DouglasEnglebart提出鼠标器的设想,但没有进一步的研究。直到1983年被苹果电脑公司大量采用。
1965:第一台超级计算机CD6600开发成功。
1967:NiklausWirth开始开发PASCAL语言,1971年完成。
1968:RobertNoyce和他的几个朋友创办了INTEL公司。
1968:SeymourPaper和他的研究小组在MIT开发了LOGO语言。
1969:ARPANET计划开始启动,这是现代INTERNET的雏形。
1969年4月7日:第一个网络协议标准RFC推出。
1969:EIA(ElectronicIndustriesAssocia
1970~1980
1970:第一块RAM芯片由INTEL推出,容量1K。
1970:KenThomson和DennisRitchie开始开发UNIX操作系统。
1970:Forth编程语言开发完成。
1970:Internet的雏形ARPAnet(AdvancedResearchProjectsAgencynetwork)基本完成。开始向非军用部门开放,许多大学和商业部门开始接入。
1971年11月15日:MarcianE.Hoff在INTEL公司开发成功第一块微处理器4004,含2300个晶体管,是个4位系统,时钟频率108KHz,每秒执行6万条指令。
在后来的日子里,处理器发展主要指标一览:
处理器主频每秒百万条指令
4004108KHz0.06
80802MHz0.5
680008MHz0.7
80868MHz0.8
6800016MHz1.3
6802016MHz2.6
8028612MHz2.7
6803016MHz3.9
386SX20MHz6
6803025MHz6.3
6803040MHz10
386DX33MHz10
486DX25MHz20
486DX2-5050MHz35
486DX4/100100MHz60
Pentium66MHz100
Pentium133MHz240
Pentium233MHzMMX435
PentiumPro200MHz440
PentiumII233MHz560
PentiumII333MHz770
1971:PASCAL语言开发完成。
1972:1972年以后的计算机习惯上被称为第四代计算机。基于大规模集成电路,及后来的超大规模集成电路。计算机功能更强,体积更小。人们开始怀疑计算机能否继续缩小,特别是发热量问题能否解决?人们开始探讨第五代计算机的开发。
1972:C语言的开发完成。其主要设计者是UNIX系统的开发者之一DennisRitche。这是一个非常强大的语言,开发系统软件,特别受人喜爱。
1972:Hewlett-Packard发明了第一个手持计算器。
1972年4月1日:INTEL推出8008微处理器。
1972:ARPANET开始走向世界,INTERNET革命拉开序幕。
1973:街机游戏Pong发布,得到广泛的欢迎。发明者NolanBushnell,后来Atari的创立者。
1974:第一个具有并行计算机体系结构的CLIP-4推出。
五、计算机技术渐入辉煌
在这之前,计算机技术主要集中在大型机和小型机领域发展,但随着超大规模集
独立开发操作系统需要哪些条件?
1、进程管理,其工作主要是进程调度,在单用户单任务的情况下,处理器仅为一个用户的一个任务所独占, 进程管理的工作十分简单。但在多道程序或多用户的情况 下,组织多个作业或任务时,就要解决处理器的调度、 分配和回收等问题 。
2、存储管理分为几种功能:存储分配、存储共享、存储保护 、存储扩张。
3、设备管理分有以下功能:设备分配、设备传输控制 、设备独立性。
4、文件管理:文件存储空间的管理、目录管理 、文件操作管理、文件保护。
5、作业管理是负责处理用户提交的任何要求。
扩展资料操作系统虚拟化
操作系统虚拟化作为容器的核心技术支撑,得到了研究者的广泛关注。最近几年,无论是在以SOSP/OSDI为代表的计算机系统领域顶级学术会议上,还是以Google为代表的重要互联网企业中,都陆续出现了一批操作系统虚拟化的最新研究成果,并且成果数量呈现出逐年增加的总体趋势。
操作系统虚拟化技术允许多个应用在共享同一主机操作系统 (Host OS) 内核的环境下隔离运行, 主机操作系统为应用提供一个个隔离的运行环境, 即容器实例:操作系统虚拟化技术架构可以分为容器实例层、容器管理层和内核资源层。
百度百科-操作系统
如何搭建Linux下的c/s开发模式?
b/s 是 brower/server 就是用浏览器(如ie)为应用程序客户端操作服务器。这样用浏览器来操作简单易用,但是对输入没有很好的验证。逻辑实现不多。本地只是用于获取数据然后大部分验证需要提交服务器来完成。
c/s 是client/server 客户端软件则是一个拥有很多逻辑验证的软件,本地验证成功后才提交服务器。
我找到的更详细信息:
一、什么是C/S和B/S
要想对“C/S”和“B/S”技术发展变化有所了解,首先必须搞清楚三个问题。
第一、什么是C/S结构。
C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。
传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件, 加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高, 效率低。
第二、什么是B/S结构。
B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。
第三、管理软件主流技术。
管理软件技术的主流技术与管理思想一样,也经历了三个发展时期。首先,界面技术从上世纪DOS字符界面到Windows图形界面(或图形用户界面GUI),直至Browser浏览器界面三个不同的发展时期。其次,今天所有电脑的浏览器界面,不仅直观和易于使用,更主要的是基于浏览器平台的任何应用软件其风格都是一样的,使用人对操作培训的要求不高,而且软件可操作性强,易于识别;再者,平台体系结构也从过去单用户发展到今天的文件/服务器(F/S)体系、客户机/服务器(C/S)体系和浏览器/服务器(B/S)体系。
二、C/S和B/S 之比较
C/S和B/S是当今世界开发模式技术架构的两大主流技术。C/S是美国 Borland公司最早研发,B/S是美国微软公司研发。目前,这两项技术以被世界各国所掌握,国内公司以C/S和B/S技术开发出产品也很多。这两种技术都有自己一定的市场份额和客户群,各家企业都说自己的管理软件架构技术功能强大、先进、方便,都能举出各自的客户群体,都有一大群文人墨客为自己摇旗呐喊,广告满天飞,可谓仁者见仁,智者见智。
1、C/S架构软件的优势与劣势
(1)、应用服务器运行数据负荷较轻。
最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。
(2)、数据的储存管理功能较为透明。
在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。
(3)、C/S架构的劣势是高昂的维护成本且投资大。
首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。
其次,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。
2、B/S架构软件的优势与劣势
(1)、维护和升级方式简单。
目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。
(2)、成本降低,选择更多。
大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。
比如说很多人每天上“网易”(原文为新浪)网,只要安装了浏览器就可以了,并不需要了解“网易”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。
(3)、应用服务器运行数据负荷较重。
由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。
3,C/S 与 B/S 区别
Client/Server是建立在局域网的基础上的,Browser/Server是建立在广域网的基础上的。
(1)、硬件环境不同:
C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务。
B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例如电话上网, 租用设备, 信息自己管理, 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行。
(2)、对安全要求不同
C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强。 一般高度机密的信息系统采用C/S 结构适宜,可以通过B/S发布部分可公开信息。
B/S 建立在广域网之上, 对安全的控制能力相对弱, 面向是不可知的用户群。
(3)、对程序架构不同
C/S 程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。
B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上。 比C/S有更高的要求,B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持网络的构件搭建的系统。SUN和IBM推的JavaBean构件技术等,使B/S更加成熟。
(4)、软件重用不同
C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好。
B/S 对的多重结构,要求构件相对独立的功能。 能够相对较好的重用。就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。
(5)、系统维护不同
系统维护是软件生存周期中,开销大,相当重要
C/S 程序由于整体性,必须整体考察,处理出现的问题以及系统升级难, 可能是再做一个全新的系统。
B/S 构件组成方面构件个别的更换,实现系统的无缝升级。 系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。
(6)、处理问题不同
C/S 程序可以处理用户面固定,并且在相同区域, 安全要求高的需求,与操作系统相关, 应该都是相同的系统。
B/S 建立在广域网上, 面向不同的用户群,分散地域, 这是C/S无法作到的,与操作系统平台关系最小。
(7)、用户接口不同
C/S 多是建立在Window平台上,表现方法有限,对程序员普遍要求较高。
B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流, 并且大部分难度减低,降低开发成本。
(8)、信息流不同
C/S 程序一般是典型的中央集权的机械式处理,交互性相对低。
B/S 信息流向可变化, B-B、 B-C、 B-G等信息流向的变化, 更象交易中心
问题补充:呵呵,不好意思啊,我觉得上面写的比较全,搭建c/s,不是一句话两句话能说明白的,多看看有帮助的. :)
自己是初中毕业,想学习软件开发,但是对电脑一无所知,我应该怎样去学习,如何去做第一步?
学习软件开发其实还算有前途,尤其是以后各行业智能化软件的作用更突出。看你网上有学感觉学不进去,可以考虑这样去学习:
1.先学习电脑基础,然后再进行系统的学习:没有电脑基础语言基础可能会吃力些,所以从一些基础着手,系统的去了解这里面的关系,然后系统的掌握去熟练运用就可以了。
2.可以报一些网课跟老师系统学习:现在的网课也比较方便实用,可以对比下知名的网课报名下去系统的跟老师学习,相对来说会快很多。
3.可以报相关专业去系统学习:这个就是去上课了,跟我们平时没区别就是技能教学实践。认真学习都会学好。
其实只要有兴趣,慢慢的去钻研只要找到法门就会一日千里。重在去学习去思考去实践,网络上不乏一些自学成才的案例。都是因为有浓厚的兴趣和钻研精神才一战成名的。加油!!!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。