| 无双 回复于:2003-08-13 20:04:35
|
好的设计肯定需要经过反复修改,从简单到复杂的循环测试是保证设计正确的一个好办法
没有完美的设计
所以只要能达到一定要求后就可以了
我觉得好的设计是随着设计者经验的增加而增加的
|
| RealArthur 回复于:2003-08-14 10:28:25
|
是啊,所以我们现在大多数的设计开始都可以去参考一些现有的模式,了解相关产品、项目的架构,理解成熟的设计模式,结合实际选取你需要的,由简单到复杂过反复修改验证,没有完美,实际中也不要去追求完美,只要能达到一定要求后就可以了 。
这其中,系统分析、设计师的经验是很重要的!
|
| 无双 回复于:2003-08-14 13:15:29
|
所以软件是不断进化的
而不是一下子就OK了 这是与建筑的不同
也就是演进模型存在的必要性
|
| 只爱红酒 回复于:2003-08-19 19:28:36
|
软件结构的发展是随着计算机系统深入社会生活,不断深入解决社会问题而不断演进的。
上世纪四十年代,计算机主要处理大规模数学计算,那时的软件和纸带、磁带等流介质紧密结合,软件也是流式的,甚至是工程化的,不可重用的。
此后,用于解决事物问题的和更多交互的应用产生了,模块化设计,自顶向下分析应运而生。
随着应用软件的社会化明显,共用代码的角色不断复杂,OO技术得到发展,同时随着运算量增大,运算分布成为主要课题,C/S软件结构成为组建分布式运算的主要方式。
由于分布式运算的需要,更主要的是系统级资源共享,对象的重用能力得到重视,基于框架和对象的应用结构产生,服务式对象调用标准被制定CORBA、COM等出现,此时的系统结构已经不仅是满足应用系统对社会的需求,而应用系统已经是社会的一部分,应用系统要实现自身的完备。
而今天,随着Internet对人类社会的巨大影响,应用体系的Internet化、跨平台能力、接口标准化成为在Internet世界畅行无阻的根本能力,B/S结构成为应用主流。而浏览器的发展史证明,此时标准的制订更为重要,由一个公司制订的J2EE标准成为多方的宠儿,行业认同更促进标准化制订的成功,可以看出J2EE不是唯一的对象式分布运算结构,但由于标准的健全,它可能是最成功的一个。
可以看到信息系统如今不仅适应社会,还影响社会,成为社会的部分,并在为社会和自身的同时完善进行努力。
如同生产力和生产关系的关系,软件结构是随着社会信息化的发展而发展的,不同的软件结构适合不同的社会应用水平,如同不同的生产关系适合不同的生产力水平一样,不能简单的以好坏、先进/落后判定,只有适用和不适用。设想用J2EE结构设计一个导弹弹头内的制导程序就是麻烦透顶了,甚至运行效率还有问题。 
|
| 无双 回复于:2003-08-19 19:44:37
|
楼上的总结很有深度啊 总结了软件各阶段的发展
很高兴能看到这样的发言
看到软件以后的发展方向
|
| 无双 回复于:2003-08-19 19:51:59
|
我觉得早期是过程语言的原因也是想依照那时工作流水线形式的
并且是机器语言
想使用OO是不可能的
后来系统的复杂和需求变化很快使OO设计出现 在这个方面过程式设计不能满足要求
再后来随着网络的发展
大家对电脑的分工明确了
会使用专门的电脑解决专门的问题
所以这时C/S B/S开始出现 想想以前学习的foxpro可以用来做一个工资管理系统或是数据库系统 并且数据库引擎与程序结合在一起
但现在一般都是使用专门数据库 客户也是专门的客户端
再以后 应该是软件无处不在的时候 每一个软件都会和其它系统上的软件互相通信 由于厂家广泛 所以接口标准的制定就决定了自己的竞争地位 很多标准都是公开的 但为什么还有那么多厂家参与呢
因为他们希望自己能在竞争中掌握主动权
以后的软件应该是使用统一接口开发 实现plug &play的时候 也就是随便把其它厂家软件拿下来也可以运行
这是我想的
也想看看大家对这的看法
|
| 无双 回复于:2003-08-19 20:15:19
|
B/S一般用于广域网或是INTERNET上
但是由于开放
我想在安全方面不好控制
还有就是性能
所以特定部分或是区域使用的软件还应该还是C/S
|
| 只爱红酒 回复于:2003-08-19 20:09:45
|
从现在能看到的苗头,软件结构的发展将逐渐实现服务标准化,Web services技术可能将是未来的发展热点。
|
| 无双 回复于:2003-08-19 20:15:52
|
主要是因为web都是以明文传送的
所以不是很安全
|
| 只爱红酒 回复于:2003-08-19 20:34:39
|
在当今的网络世界安全问题已经得到了较好的改善:
轻量级的是SSL技术,可以实现网络数据的传输加密。
另外,在网络传输中也可以采用三层VPN的IPSec技术,可以实现信道加密。
在高端领域可以采用专业密码机,采取链路层加密,保密能力已经很强了。
在密码方面,目前普遍采用国际通用PKI/PMI体系,经过数学的论证,没有密钥情况下解密(以目前计算机能力)时间为数十亿年,因此这方面也是安全的。
当然这些技术需要投资,因此也只针对需要保密的专向业务。
另一方面,在广域范畴内,网络传输质量还是制约网络应用的问题,不过这对于B/S和C/S(远距离)技术是没有分别的,因此,网络的QoS保证技术得到发展,目前还只是在起步。
最后就是安全的管理,不过这是针对整个信息系统而言的,安全的管理密码,防止对信息系统软、硬件遭到恶意破坏,是社会问题是管理机构、管理水平、管理素质共同提高才能实现的。
|
| 无双 回复于:2003-08-19 20:57:03
|
学习到了很多
但是性能方面
如果是相同应用的话 使用WEB结构性能要求会比C/S结构高
当然WEB使用方便界面直观 不用专门的客户端
还有就是WEB开发复杂应用比较难 开发周期与C/S相比比较长 所以我觉得C/S以后在一段时间内还是会存在的 只是现在WEB的发展势头很强大 很多传统的C/S应用都已被WEB应用代替了 能与它抗衡的看来只是java开发的c/s了(有跨平台特点 并可以实现比较复杂的应用)
|
| 只爱红酒 回复于:2003-08-19 21:19:15
|
应用系统的性能只是暂时的,要知道硬件系统的摩尔定律还没打破。
提高硬件水平简单、效果显著也便宜。
大家可能体会不到几年前我使用java的痛苦经历——那叫一个慢,几乎不能用,但几年后的今天大不同了。
我不排挤C/S软件,其实我很喜欢他们,他们技术性很强,一切尽在掌握,直接、快捷,阻碍C/S发展的不是B/S,而是应用系统集成(EAI)的需要,信息系统的自我完善必将发展到系统互联,信息共享,这一点不开放的C/S暴露出了它的弱势。
还是我前面说的,没有更好的,只有更适合的。不管中国还是世界,大量C/S结构的系统都在它们适合的业务上很好的运行着,如果业务稳定,我相信它们还会很好的运行下去,就象导弹的制导程序一样,不管导弹的执导精度再提高几倍,它还会使用机器码(汇编)研制。 
|
| 无双 回复于:2003-08-19 21:42:03
|
没有更好的,只有更适合的 这句话用在哪里都正确
但是在很多时候 如果两个技术都可以实现时 优先考虑的是流行技术
因为这会有卖点
反观中国程序员的发展也可以看出这一点
一旦MS有什么新的技术或是动向就开始跟风 老的也没有研究透
所以到现在很多都是开发应用的东西
不过这好像跑题了 ops:
要是有时间的话一起讨论一下每种架构的优缺点这更好
|
| 只爱红酒 回复于:2003-08-19 21:52:47
|
好改天一定奉陪,不过今天我的肚子呱呱叫了。
|
| threehair 回复于:2003-08-20 08:01:48
|
期待你们的讨论!
|
| 一无所有 回复于:2003-08-20 17:05:16
|
好与不好总是相对的,
大家都有看过猴子为了西瓜,丢掉玉米,。。。
|