免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2114 | 回复: 0
打印 上一主题 下一主题

"再用式"软件开发方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-08-21 16:59 |只看该作者 |倒序浏览
1 引言
当前的软件开发多是针对具体情况的开发过程,开发者注重的是针对当前需求的设
计及实现,对由此而产生的软件资源是否能为以后的软件开发者重用却想的很少。
这种开发方法无形中造成了巨大的资源浪费。为改变这种现状,本文提出了"再用
式"软件开发方法,该方法的出发点,就是在完成当前系统开发的基础上,同时考虑
了未来其它系统的开发(当然也包括对原系统的再维护),为以后的软件开发提供尽
可能多的可重用软件资源。
"再用式"软件开发方法是在面向对象(以下简称OO)方法的基础上,针对一类(而不是
单个)具有类似需求及特征的系统进行开发的。系统开发的数量越多,其优越性也就
越明显。显然,这种方法会给软件开发造成一种非常有益的良性循环。

2 "再用式"软件开发方法的要点
2.1 以OO方法为基础
在OO方法中,对象是可重用的最小单元,对象间的继承既是一种增量式的开发模
式,也是一种有效的重用手段。从目前各支撑软件所提供的重用方式看,OO是最有
效的一种,因此,"再用式"软件开发方法是在OO方法的基础上进行了补充,以增强
软件的可重用性:其软件的可重用部件既可以是OO中的对象(或一组关系密切的对象
集团),也可以是非OO方法中的可重用部件,如函数、数据类型、过程、操作、文档
等等。
对本方法来说,可重用的软件都是一种"部件"。部件是本方法重用的基本单位,也
是本方法的核心。一般而言,我们可以把目前的部件分成这样几类:系统部件、组
织部件、分子部件和原子部件。
a 系统部件
这其实就是系统的总体框架,也是本方法中粒度最大的部件。从总体上看,它与硬
件中的主板类似。除了由程序、数据构成的框架外,还有一些开发规范,包括其中
子部件的开发规范。一般来说,每一个具体的应用领域都需要一个系统部件。对开
发者来说,应该建立自己的"系统部件库",尽量在工作中多储存不同领域的系统部
件,以利日后的工作。
最理想的情况,是能象硬件开发那样,由某个权威机构制定系统部件的开发规范,
据此发布或开发各领域的系统部件,以最大限度地减少重复劳动,提高规范化程
度,使软件开发工业化。
b 组织部件
这是一种嵌在系统部件上的子部件,它类似于硬件中的功能插板,也应有严格的规
范。一般系统都要靠一个(或几个)组织部件来完成一个特定的任务。各个组织部件
只有在系统部件的协调下,才能实现全系统的功能要求。一个系统构件可因其嵌入
的组织部件的不同而构成不同的应用系统。
如果制定规范的机构(或部门) 权威性强,制定的规范严格而又可操作,那么就完全
可以象硬件插板一样,让不同的软件开发团体开发的组织部件在一种规范化的系统
构件下兼容工作。这样会使软件的重用率大大提高,并能增大程序员们的选择余
地。目前微软公司在其系统软件中所提供的一些公用类库可以认为是一种良好的开
端,但权威性和规范性还值得怀疑(毕竟是个"民办"公司)。
b 分子部件与原子部件
这是本方法中粒度最小的部件,其作用类似硬件中的芯片。OO中使用的基类、派生
类就是其典型代表。在这里,原子部件是永久不变的(这样可以增大软件的可重用
性),分子部件重用原子部件,而组织部件又由分子部件组成。显然,必须注重原子
部件的制作工作:在需要制作新的分子部件时,必须重用原子部件,若没有可重用
的原子部件,再创建新的原子部件。原子部件的粒度需由具体情况决定,例如在开
发某设计院的人事管理系统时,需要建立一个高级工程师的分子部件(类),我们可
以有三种创建的方法:
①.直接按"高级工程师(类)"创建;
②.按"科技干部----高级工程师"创建;
③.按"职工----科技干部----高级工程师"创建。
从本质上看,第3种方法是先创建一个原子部件----"职工",再创建科技干部、高级
工程师,是符合再用式开发方法原则的。而第1、2种方法则不符合本方法。
显然,以上所说的各类部件都必须在一个统一的软件规范下开发,只有保证了部件
的规范化,才能保证开发的成功。
因为再用式开发方法会在工作中产生一个可为所有开发人员共享的软件资源----部
件库,那么以后的软件开发都可以在此基础上利用重用手段使用部件库,而不需要
从零开始。在这里,只要都能遵守统一的软件规范,这些共享的部件库既可以由开
发人员自己在工作中积累,也可以由软件开发商提供。
2.2 应具备的开发环境
在再用式开发方法中,人们需要与部件库交互工作,这样,就需要一个部件库的开
发管理平台,这个平台应该提供对部件库的选择、浏览、查询和扩充(以不断充实部
件库)等功能,同时还应提供编写部件文本的编辑器,以及与部件对应的语言调试、
编译程序,以便制作、调试所产生的部件。如果条件许可,还应提供辅助学习功
能,以帮助开发人员熟悉平台的情况。
综上所述,部件库开发管理平台的组成情况可用图1表示。
2.3 与快速原型法的结合
在现实中,需求多变是个让开发人员头痛的问题,目前能有效地解决这一问题的当
属快速原型法。但这种方法的最大缺点是开发成本较高,这一点限制了它的推广。
而再用式软件开发方法采用快速原型法做需求分析,在后续阶段使用重用机制,就
能有效地降低开发成本。
2.4 需要的开发工具
几乎所有的软件开发方法都需要开发工具的支持,再用式软件开发方法也不例外。
一般而言,本方法需要这么几个平台:部件库开发管理平台、系统组装平台及维护
平台。

3 再用式开发方法的基本设计过程
3.1 基本原则
从开发过程上看,再用式开发方法采用的是自顶向下设计,自底向上构成的方法,
即在设计时根据需求分析的结果,按照由粗到细、先总体后细节、先上层后下层的
原则,确定所需要的部件(必须时还得创建新的部件)。自底向上构成则是指在已准
备好所需部件的基础上,在组装平台的支持下把部件组装成用户需要的应用系统的
过程。
3.2 基本的开发过程
3.2.1 需求分析及设计阶段
这个过程可与一般快速原型法的需求分析过程相同[2],对于大而复杂的系统,建议
采用与功能化开发方法相结合的、以细化为基础的对象分析及设计方法[9](具体过
程请见参考文献)。最后应产生对各部件的"功能需求"。
3.2.2 制作部件
a 建立系统部件
先在系统部件库中查找所需要的系统部件,对于找出的部件,可根据情况直接重用
或经扩充、修改、继承等处理后再重用,如果库中没有可重用的部件,则应按照规
则创建之(别忘了经调试后再将其存入系统部件库内,以备重用)。
在创建新的系统部件时,如果条件许可,可向专业化极强的软件开发团体(如一些软
件开发商)提供需求规格说明书,由专家制作。为了保证新创建的部件以后的可重用
性,这时一定要注意遵守相关的软件规范。
b 确定组织部件
与上一步类似,先在组织部件库中查找所需要的组织部件,对于找出的部件,可根
据情况直接重用或经扩充、修改、继承等处理后再重用,如果库中没有可重用的部
件,则应按照规则创建之(经调试后再将其存入组织部件库内)。
在创建新的组织部件时,要根据功能的不同将其分成一些不同的分子部件,并按下
一步的方法重用或创建分子部件。
c 建立分子部件和原子部件
与上一步类似,先在分子、原子部件库中查找所需要的部件,对于找出的部件,可
根据情况直接重用或经扩充、修改、继承等处理后再重用,如果库中没有可重用的
部件,则应按照规则创建之(经调试后再将其存入相应的部件库中)。
3.2.3 组装
在组装平台的支持下,把各部件组装成一个可运行的系统。
3.2.4 原型审查
通过上述的步骤,我们已经建立了一个可与用户交流的原型,此时应与用户(在运行
的基础上)探讨该原型是否满足其需求,如果没能满足其需求(或需求又有了变化),
那么应转回到第一步(即第3.2.1节),否则就转到下一步。
3.2.5 系统测试及维护
在维护平台的支持下,严格测试系统的功能和各部件的接口,修改所发现的问题。
测试完后,应再与用户一起进行原型审查(即第3.2.4节),确定正确无误后,就可让
系统进入实用阶段。

4 还需要深入研究的内容
a 对于各种软件规范的确定
理想的情况,应由国内的权威机构做这方面的工作,最终应产生一个类似机械行业
中的那种严格的、可操作的工业标准。目前已有电子工业部、石油天然气总公司等
一些部门发布了各自的"软件工程规范",但距离那种"严格的、可操作的工业标
准"还差的很远,还需再做工作。
b 各类部件及部件库的规范问题
c 对支持本方法的CASE工具的研制

5 结束语
软件开发工程化仍是目前人们非常关注的研究内容,虽然人们已经提出了很多开发
方法,也有些部门制定了一些条条框框,但距象硬件那样进行工业化生产还有距
离。希望本文提出的方法有助于软件开发工程化的研究。

参考文献
1 仲萃豪.信息系统和开发方法及其体系模型.软件学报,1995(6)(增刊)
2 夏红霞,钟珞.快速原型法及其应用.微电子学与计算机,1992,9(:30--35.
3 顾玉昆等.信息系统快速生成技术.计算机系统应用,1995(9).
4 仲萃豪等.应用软件的开发方法.计算机科学,1991(1)
5 张海藩编著.软件工程导论.北京:清华大学出版社,1987.6.
6 郭宏蕾,闫先东.软件重用:技术管理和分析.软件世界,1996(1):13--18.
7 曲艳霞,郭福顺.可重用构件库管理的设计.小型微型计算机系统,1996(1):33--
36.
8 吴会松,李淑华. 面向对象开发方法的基本要求及评价标准. 小型微型计算机系
统,1997,18(5):45~53
9 吴会松. 与功能化开发方法相结合的、以细化为基础的对象分析及设计方法.
《微型电脑应用》1997(2):69--71
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP