基于本体的软件设计方法

这是我在浙江大学写软件工程硕士论文的核心内容,虽然答辨(我女儿以为是大便)老师叫我把这些内容要去掉,但我坚持把它写在里面,内容如下:

基于本体的软件设计方法的价值观认为软件开发过程最核心内容为“寻找软件需求的本质”即“本体”,并用“最快的方法开发出软件产品”,即“软件最终源代码”。
软件开发的核心工作只有两个,即“构建本体概念”“开发最终源代码”,其它任何文档、环境、过程均为这两个工作服务,起辅助作用。

基于本体的软件设计方法过程概述如下:

     1对于任何软件开发,首先构建软件“开发对象的本体概念”。

构建本体概念可以使用W3C推出的WOL(网络本体语言)规范进行,可以利用象Protégé这样的设计软件进行。

     2所有客户协作、需求沟通以及开发设计中的交流内容均为“开发对象的本体概念”。

其它任何文档,如需求文档、设计文档、UML建模、测试文档等等均为“开发对象本体概念”服务,只要能形成恰当的本体概念,这些文档均可有可无。问题的冲突和解决都反应到“开发对象的本体概念”上。

    3基于“开发对象的本体概念”使用各种开发方法构建软件“产品源代码”。

在各种开发方法中可以使用暴布式,迭代式,也可以使用RUP,CMM过程改进等等,当然首先推荐使用敏捷方法因为它更快。

    4当“开发对象的本体概念”发生变化后,则首先重构和修改“开发对象的本体概念”,并同时对“产品源代码”进行重构和修改,实现本体概念和代码的连动。

对于软件开发对象的理解会随着软件开发的进行发生变化,这种变化是不可避免的,也就是说软件变更是不可避免的。变更出现时需要先对本体概念进行重构和修改,同时对源代码进行同样的重构和修改。我们需要使用各种重构手段,而不是使用拆东墙补西墙的方式。

    5整个过程中,需求、设计、建模、架构、编码、测试等各种开发阶段是平等的,可以先行,也可以后行,没有先后之分,均为核心内容即“本体概念”和“源代码”服务。

最为明显的例子就是“测试驱动开发”,把测试排在了整个开发的前面!而其它用例驱动,特性驱动,模型驱动等都只是某一方面先行而已。

以上基于本体软件的基本哲学思想是“自由”和“平等”,过程是“自由”的,开发关系是“平等的”,目标是一致的。
我认为基于本体的软件开发中最为重要的事项有三个,分别为:

   1命名

所有类、对象、方法、变量的命名需要同本体保持一致,在现代的开发工具包括Protégé, Visual Studio等都对命名的重构支持的挺好。

   2重构

当对软件对象概念理解发生变化时需要重构本体和软件,使其保持概念一致,即人月神话所谓的“概念完整性”。

   3自说明代码

利用测试驱动所做的测试其实是一种辅助的自说明代码,使用契约式设计行成能运行时检查的最好自说明文档,使用良好的编程风格从而无需各种辅助文档的帮助即看懂源代码,从而加速软件开发。

 

(注:原文请到我自已建的blog http://eeblog.net/o 查看)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值