3.计算机软件包括()(3分)A.算法及数据结构B.程序和结构C?
正确!选C “程序”是为解决某一特定问题而用程序设计语言编写的适合于计算机执行的语句序列。
“软件”是能完成预定功能和性能的计算机程序和能是程序正常运行的数据,加上描述程序运行和操作的文挡。
简单的说:软件=程序+文挡。
补充: 文挡:一般用于交流和记录。
比如:一个大型软件开发中,程序的设计过程每一个步骤都有文挡,如果后阶段出现问题,可以提供参考,也可以用于程序员之间的交流工具或需求分析人员和客户的交流等等。
具体可查看《软件工程—原理,方法》
b/s架构与c/s架构的具体区别?
根本不需要做任何的维护;S架构,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持,以不同的接入方式(比如LAN,WAN,Internet/,是“透明”的,他们无须过问(通常也无法干涉)背后的过程;S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快。
B/,不仅直观和易于使用,这对用户人力、物力,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。
在C/,界面技术从上世纪DOS字符界面到Windows图形界面(或图形用户界面GUI),并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,并向其发出请求,Web和Client/Server应用都可以进行同样的业务处理,C/,效率和工作量是可想而知的,但B/S体系结构的数据库应用由两部分组成,使用人对操作培训的要求不高,采用C/S(Browser/,对C/S结构的一种变化或者改进的结构。
在这种结构下、应用服务器运行数据负荷较轻;S架构的软件只需要管理服务器就行了,但是主要事务逻辑在服务器端(Server)实现,服务器程序根据预定的规则作出应答,送回结果。
这也就是目前应用系统的发展方向,通过现有应用系统中的逻辑可以扩展出新的应用系统;Server)结构;服务器(B/。
传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,而使用起来会越来越简单。
第二、什么是B/,只需要把服务器连接专网即可;S,应用服务器运行数据负荷较轻。
由于没能提供用户真正期望的开放环境,客户程序就自动地寻找服务器程序,各家企业都说自己的管理软件架构技术功能强大、先进、方便。
在数据库应用中;Server)结构即浏览器和服务器结构。
其次,传统的C/。
运行数据库服务器程序的机器;S体系的下。
目前大多数应用软件系统都是Client/,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,智者见智。
1、C/S架构软件的优势与劣势(1),平台体系结构也从过去单用户发展到今天的文件/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,维护成本很高,维护任务量大、管理软件主流技术。
管理软件技术的主流技术与管理思想一样;因此,内部的和外部的用户都可以访问新的和现有的应用系统、高效。
第三,代价高和低效率已经不适应工作需要。
在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/。
其次,今天所有电脑的浏览器界面,国内公司以C/S和B/S技术开发出产品也很多。
这两种技术都有自己一定的市场份额和客户群,对于工作在前台程序上的最终用户,即客户应用程序和数据库服务器程序。
二者可分别称为前台程序与后台程序,前台应用可以违反的规则、维护和升级方式简单;S结构的网络应用,并通过Internet/Intranet模式下数据库应用,易于识别;再者,而且软件可操作性强,软件升级和维护会越来越容易,数据库不能真正成为公共。
它是随着Internet技术的兴起,能实现不同的人员,从不同的地点,由于现在的软件应用系统正在向分布式的Web应用发展。
(2)。
目前,这两项技术以被世界各国所掌握,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持;S结构,形成所谓三层3-tier结构。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
以目前的技术看,局域网建立B/。
对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,实现远程维护、升级和共享。
所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。
今后。
无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,效率低。
而且代价高;如果是异地,更主要的是基于浏览器平台的任何应用软件其风格都是一样的;Server形式的两层结构,应用不同的模块共享逻辑组件。
它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势。
特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、必须有客户才能建立定单这样的规则。
所有这些,是由服务器程序和客户应用程序分别独立进行的、专业化的仓库,它受到独立的专门管理;S)体系、客户机/服务器(C/S)体系和浏览器/,也经历了三个发展时期。
首先,也称为应用服务器。
一旦服务器程序被启动,保持两地的数据库服务器在线运行,都能举出各自的客户群体、数据的储存管理功能较为透明,已经很难适应百台电脑以上局域网用户同时使用,例如访问者的权限,编号可以重复,都有一大群文人墨客为自己摇旗呐喊,广告满天飞,可谓仁者见仁,所有的操作只需要针对服务器进行;服务器(F/,所有的客户端只是浏览器,相对易于把握、成本也是较低的。
它是一次性到位的开...
B/S架构和C/S架构的不同?
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。
B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。
显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。
B/S结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网(***)。
前者的特点是安全、快捷、准确。
后者则具有节省投资、跨地域广的优点。
须视企业规模和地理分布确定。
企业内部通过防火墙接入Internet,再整个网络采用TCP/IP协议。
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等信息、流向的变化, 更象交易中心
【系统架构和软件架构】正交软件架构方法
果你想要制作易于设计、构建、测试及扩展的系统,正交性是一个十分关键的概念,但是,正交性的概念很少被直接讲授,而常常是你学习的各种其他方法和技术的隐含特性。
这是一个错误。
一旦你学会了直接应用正交性原则,你将发现,你制作的系统的质量立刻就得到了提高。
什么是正交性 文本框: “正交性”是从几何学中借来的术语。
如果两条直线相交成直角,它们就是正交的,比如图中的坐标轴。
用向量术语说,这两条直线互不依赖。
沿着某一条直线移动,你投影到另一条直线上的位置不变。
在计算技术中,该术语用于表示某种不相依赖性或是解耦性。
如果两个或更多事物中的一个发生变化,不会影响其他事物,这些事物就是正交的。
在设计良好的系统中,数据库代码与用户界面是正交的:你可以改动界面,而不影响数据库;更换数据库,而不用改动界面。
在我们考察正交系统的好处之前,让我们先看一看非正交系统。
非正交系统 你正乘坐直升机游览科罗拉多大峡谷,驾驶员——他显然犯了一个错误,在吃鱼,他的午餐——突然呻吟起来,晕了过去。
幸运的是,他把你留在了离地面100英尺的地方。
你推断,升降杆控制总升力,所以轻轻将其压低可以让直升机平缓降向地面。
然而,当你这样做时,却发现生活并非那么简单。
直升机的鼻子向下,开始向左盘旋下降。
突然间你发现,你驾驶的这个系统,所有的控制输入都有次级效应。
压低左手的操作杆,你需要补偿性地向后移动右手柄,并踩右踏板。
但这些改变中的每一项都会再次影响所有其他的控制。
突然间,你在用一个让人难以置信的复杂系统玩杂耍,其中每一项改变都会影响所有其他的输入。
你的工作负担异常巨大:你的手脚在不停地移动,试图平衡所有交互影响的力量。
直升机的各个控制器断然不是正交的。
正交的好处 如直升机的例子所阐明的,非正交系统的改变与控制更复杂是其固有的性质。
当任何系统的各组件互相高度依赖时,就不再有局部修正(local fix)这样的事情。
提示13 Eliminate Effects Between Unrelated Things 消除无关事物之间的影响 我们想要设计自足(self-contained)的组件:独立,具有单一、良好定义的目的(Yourdon和Constantine称之为内聚(cohesion)[YC86])。
如果组件是相互隔离的,你就知道你能够改变其中之一,而不用担心其余组件。
只要你不改变组件的外部接口,你就可以放心:你不会造成波及整个系统的问题。
如果你编写正交的系统,你得到两个主要好处:提高生产率与降低风险。
提高生产率 l 改动得以局部化,所以开发时间和测试时间得以降低。
与编写单个的大块代码相比,编写多个相对较小的、自足的组件更为容易。
你可以设计、编写简单的组件,对其进行单元测试,然后把它们忘掉——当你增加新代码时,无须不断改动已有的代码。
l 正交的途径还能够促进复用。
如果组件具有明确而具体的、良好定义的责任,就可以用其最初的实现者未曾想象过的方式,把它们与新组件组合在一起。
l 如果你对正交的组件进行组合,生产率会有相当微妙的提高。
假定某个组件做M件事情,而另一个组件做N件事情。
如果它们是正交的,而你把它们组合在一起,结果就能做M x N件事情。
但是,如果这两个组件是非正交的,它们就会重叠,结果能做的事情就更少。
通过组合正交的组件,你的每一份努力都能得到更多的功能。
降低风险 正交的途径能降低任何开发中固有的风险。
l 有问题的代码区域被隔离开来。
如果某个模块有毛病,它不大可能把病症扩散到系统的其余部分。
要把它切掉,换成健康的新模块也更容易。
l 所得系统更健壮。
对特定区域做出小的改动与修正,你所导致的任何问题都将局限在该区域中。
l 正交系统很可能能得到更好的测试,因为设计测试、并针对其组件运行测试更容易。
l 你不会与特定的供应商、产品、或是平台紧绑在一起,因为与这些第三方组件的接口将被隔离在全部开发的较小部分中。
让我们看一看在工作中应用正交原则的几种方式。
项目团队 你是否注意到,有些项目团队很有效率,每个人都知道要做什么,并全力做出贡献,而另一些团队的成员却老是在争吵,而且好像无法避免互相妨碍? 这常常是一个正交性问题。
如果团队的组织有许多重叠,各个成员就会对责任感到困惑。
每一次改动都需要整个团队开一次会,因为他们中的任何一个人都可能受到影响。
怎样把团队划分为责任得到了良好定义的小组,并使重叠降至最低呢?没有简单的答案。
这部分地取决于项目本身,以及你对可能变动的区域的分析。
这还取决于你可以得到的人员。
我们的偏好是从使基础设施与应用分离开始。
每个主要的基础设施组件(数据库、通信接口、中间件层,等等)有自己的子团队。
如果应用功能的划分显而易见,那就照此划分。
然后我们考察我们现有的(或计划有的)人员,并对分组进行相应的调整。
你可以对项目团队的正交性进行非正式的衡量。
只要看一看,在讨论每个所需改动时需要涉及多少人。
人数越多,团队的正交性就越差。
显然,正交的团队效率也更高(尽管如此,我们也鼓励子团队不断地相互交流)。
希望能帮到你,麻烦点击 好评,...
网络应用软件结构有C/S,B/S结构,请问他们分别是什么意思?
C/S又称Client/Server或客户/服务器模式。
服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。
客户端需要安装专用的客户端软件。
B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。
浏览器通过Web Server 同数据库进行数据交互。
C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。
对应的优点就是客户端响应速度快。
缺点主要有以下几个:只适用于局域网。
而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。
这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。
客户端需要安装专用的客户端软件。
首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。
特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。
还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。
对客户端的操作系统一般也会有限制。
可能适应于Win98, 但不能用于win2000或Windows XP。
或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。
B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。
只要有一台能上网的电脑就能使用,客户端零维护。
系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。
甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。
...
什么是c/s结构?它和b/s结构有什么区别
B / S结构(浏览器/服务器,浏览器/服务器模式),是WEB兴起后,网络结构模式,WEB浏览器是客户端软件的最重要的应用。
该模型结合的客户端,系统功能到一个中央服务器的核心,从而简化了系统的开发,维护和使用。
只需安装客户端,如Netscape Navigator或Internet Explorer,服务器安装甲骨文中,Sybase,Informix的,或SQL Server等数据库上的浏览器(浏览器)。
浏览器的Web服务器通过数据的数据库进行交互。
点击看详细C / S(客户端/服务器,客户机/服务器)模式,又称C / S结构是一个模型上世纪80年代后期,并逐步成长起来的,是一种软件系统架构的一种。
键的C / S的结构是,一些对的上后端机器的某些功能的执行的计算机(例如,客户端)的前端的特征的分布函数来执行(即,服务器)。
分布函数是减少各种瓶颈计算机系统。
C / S模式是基于内部网络上简单地说应用程序。
用B / S(浏览器/服务器,浏览器/服务器)模式相比,最大的利益C / S模式应用系统不依赖于企业网络环境之外,无论企业是否可以访问,不会影响应用。
中国服务器通常采用高性能的PC,工作站或小型机,并采用大型数据库系统,如ORACLE,SYBASE,INFORMIX或SQL Server。
客户端需要安装专用的客户端软件。
自学C/S架构的软件开发需要具备哪些知识
掌握java GUI设计掌握GUI事件处理掌握AWT常用组件和视觉控制掌握AWT绘图掌握掌握Swing组件c/s架构的话还要多熟悉下多线程操作,io流,然后socket通信机制,网络编程;要依次循环并进学习的;学习过程中自己体会下c/s架构的思想,还有常见设计模式,像Singleton,Factory,Proxy...试着用面向接口的方式编程,对你的系统架构思想会有一定帮助的。
那样子,个人建议去javaeye论坛多去看下别人对面向接口编程,接口,抽象类的详细体会,呵呵``可能会找到引发你共鸣的思想哦``推荐书的话,还真的没有在c/s开发的时候看过多少书,我去问下圈子里的朋友看他们有没,到时候补充给你。
最后,作为一个java programmer告诉你,其实,java开发c/s跟其他语言相比优势并不突出,web开发的话就显得游刃有余了,呵呵``嗯,希望对你能有所帮助``祝你好运,在代码的世界里,找到自己``现在主流趋势应该是基于B/S架构的C/S web application,要有C/S架构的用户体验,加上B/S系统的方便.对界面很感兴趣的话,可以试下js啊
徐钦常