反思,然后进步-再论系统件开发模式

2008-04-10 02:47:59来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

“系统件开发模式不应该是一个产品或者一个工具,而应该是人们的工作模式和在此工作模式下使用的多种工具”

目录

1 系统件
(1) 定义
(2) 特征
A 一个系统件可能是一组代码,一组应用程序或一组文本模板
B 一个系统件封装了一类框架(FrameWork),一类解决方案或一类设计思想
2 系统件开发模式
(1) 什么是系统件开发模式
(2) 系统件开发模式应该是一种工作模式
(3) 有许多基于这种模式发展起来的工具可供使用,在这些工具中,这种模式 的具体实现方法也有许多种

正文

1 系统件
(1) 定义
是一类已经做好的成熟的特殊的系统,说它特殊,是因为这类系统模版并不 具有任何具体的数据特性,不具有任何个性化的信息,但具有固定的系统结 构和布局。当我们使用这些系统模版来作系统实现的时候,我们只需要予它 具体的属性值,比如说具体的数据库信息,具体的显示信息等。更直观一点 ,其实一个系统模版就和一个类,一个组件,控件差不多,只是它是系统级 别的,已经上升到了系统的高度
(2) 特征
A 一个系统件可能是一组代码,一组应用程序或一组文本模板
B 一个系统件封装了一类框架(FrameWork),一类解决方案或一类设计思想
2 系统件开发模式
(1) 什么是系统件开发模式
系统件开发模式指的是围绕系统件这一核心,根据软件工程的思想而提出的 一种软件开发过程

其大致思路为:从需求分析结果开始进入系统设计,设计围绕系统件来进行 ,即选择什么样的系统件,选择什么样的数据库,该怎样来设计数据库以正 确配置系统件等。根据系统设计的结果,选择合适的基于系统件开发模式的 集成工具来完成系统的实现以得到最后的系统的过程!

和一般的软件开发过程相比,最主要的不同就在于在在设计的时候是以系统件作为主要的考虑因素,实现则是以于系统件开发模式的集成工具来完成!根据所选择的系统件开发模式类别,可能涉及代码,也可能完全不涉及代码!

(2) 系统件开发模式应该是一种工作模式
就象现在的许多软件工程师用三层结构模式或分布式体系结构模式,组件开发模式思维来建构产品一样,系统件开发模式应该发展成一种软件工程师在开发产品时,去考虑,选择的一种产品构建方法,过程!

(3) 有许多基于这种模式发展起来的工具可供使用,在这些工具中,这种模式 的具体实现方法也有许多种

正如现在的PB,VC /VB,DELPHI/C BUILDER/KYLIX,J2EE/EJB等工具都不约而同的荣融入了组件/控件/构件开发模式的思想,也会有许多融入了系统件开发模式思想的工具。而正如这些工具对组件/控件/构件开发模式的实现方法也不相同一样,这些融入了系统件开发模式思想的工具的系统件开发模式的具体实现方法也不一而足。但大体上来说,可以有以下两大类:代码重用,二进制/文本模板重用(系统级重用)。
现在大家的思维大多都是集中在代码重用这一层面,这就我个人观点而言,可能和以下原因有关系:
1) 现在迅猛发展的面向对象方法
由于现在面向对象方法的迅猛发展,使得重用性问题得到了人们充分的认识-因为面向对象的核心思想之一就是复用.也因为复用的好处是如此的明显,因此也反过来促进了面向对象方法在人们心目中的极度扩张.而面向对象方法现在用的最多的又主要是在OOP(真正用了OOA,OOD来做出合格产品的CASE还比较鲜见)上,,因此提到复用问题的时候,都不约而同的想到了代码复用!
2) 现在的软件开发还处于语言级的水平
综观软件开发的发展历程,研究一下机器语言,汇编,中级语言,高级语言,商业语言,非语言这一发展线路,我们所处的时代正是中高级语言大行其道,汇编,商业语言用的相对较少,机器语言,非语言几乎不用的时代,既中间大,两头小.机器语言,汇编几乎不用,那是因为思维,水平的发展都已经超越了这个层次.而商业语言用的较少,是因为思维虽然达到了这个层次,但水平还没普遍达到这个层次;非语言几乎不用,则是因为人们的思维很少有人达到这个层次,当然,更不用说水平了.
因此,当人们谈到软件开发的时候,一般都首先想到的是语言,代码!
这里解释一下,曾经有人提到第几六代语言的问题,我想这重提法就和我在这里所说的非语言差不多!照N-G(第N代)的划分方法,商业语言该属于第5代,而现在则正处于第3,4代语言的时期.就我所理解的非语言,应该是是一种系统级的设计语言,诸如业务流程设计,建模等! 其实和具体的语言,代码已经挂不上边了!
因为上面的原因,大家在谈到重用的时候,几乎都朝代码层次上来想了!

当然,从一般的思维模式来说,这是极其正常而自然的事情,并且作为系统件开发模式的一类实现方法,这也是可行的.
所以,在以前基于系统件开发模式的诸多讨论中,不乏极其有建设性的想法.典型的如第六代语言等.也有许多从现在的成熟产品或思想来着手思考的,如通用程序设计方法(GP),STL,泛型编程,设计模式,MFC,并深入到了基于这些思想或产品的体系结构如三层(外观,逻辑,数据),分布式等深层次的东西!
我可以肯定的说,基于以上这些深刻的技术而思考着努力着的人们,若方法得当,路线正确,肯定都能做出漂亮的基于系统件开发模式的工具,相信不久的将来,这样的工具必将如今日之基于面向对象方法的的开发工具般普遍!虽然现在有这样那样的时间,效率,质量等的诸多质疑,但那只是成功路上的一些小插曲,在充分重视到的同时,不应是不可逾越的障碍.
当然,就象痛往康庄大道的路不止一条一样,在如何使系统件开发模式成为一种能为人们提高效益的看的见摸的着的工具的一部分上,还有不同的实现方法,那就是我所说的二进制重用.
二进制重用这个称谓,更确切一点来说,应该叫系统级重用.二进制重用的说法只是为了从狭义上和代码重用相区别,但就更科学的说法来讲,叫系统件重用更贴切些.因为这类重用不但不限于二进制的重用,更重要的,它也不限于程序上的重用.
系统级重用说它不限于二进制的重用,是因为除了而进制应用程序的重用外,还可以是文本上的重用.比如,一个典型的WINDOWS应用程序可以设计成系统件然后供重用,然而,一个典型的网页模板(只是文本而已)也可以设计成系统件供重用.
系统级重用更重要的一点,应该是设计思想,解决方案,经验层次上的重用.只有在这些层次上,才能说我们的重用是在系统级的,具有了系统件开发模式的典型特征!

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Web统计图表解决方案

下一篇:RefactoringtoPatterns——简介