软件平台化.doc

上传人:scccc 文档编号:12050170 上传时间:2021-12-01 格式:DOC 页数:3 大小:12.50KB
返回 下载 相关 举报
软件平台化.doc_第1页
第1页 / 共3页
软件平台化.doc_第2页
第2页 / 共3页
软件平台化.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《软件平台化.doc》由会员分享,可在线阅读,更多相关《软件平台化.doc(3页珍藏版)》请在三一文库上搜索。

1、软件平台化(一)软件平台化(一) 收藏软件开发,尤其是商业软件开 发,是一个系统工程。开发者,尤其是管理者需要系统地去 考虑和控制整个开发过程中的每个环节,以保证软件的质量。 下面首先从软件架构谈起,结合我自己的开发经验,跟大家 共同探讨一下如何通过软件平台化保证产品质量。为什么平 台化?按照面向对象设计思想和重构理论,软件开发过程中 要尽量不要对已有代码进行改,而是采用增量式的开发方式, 以避免对老代码进行修改时引入新的 Bug 。为什么要这样呢? 因为代码编写出来后是要进行测试的,通过测试来发现和解 决代码中存在的 Bug 。当一段代码编写完成并测试通过后, 我们就可以说这段代码基本上没有

2、 Bug 了,是稳定的 (最起 码在当前可预知的条件下是稳定的) 。如果对这段已经稳定 的代码进行了修改,那稳定就被打破了,也就无法保证这段 代码没有 Bug 了,必须要进行新的、 全面的测试和修改后才 可以重新说这段代码是稳定的。可是实际的商用软件开发过 程中,我们能保证可以对被修改的代码重新做一遍完整的测 试吗?你可以说 “ 我可以 ” 。但是如果你的老板 告诉你这代码实现的功能明天就要交付给客户,那你还可以 说“ 我可以 ” ?好,如果你是一个高手, 通过一 宿的加班, 你还是可以说 “

3、我可以 ” 。那如果你 修改的这段代码刚好是一个刚刚生病住院的兄弟写的,而你 只是临时顶替他,并且你不完全熟悉这段代码的细节,那你 还可以说 “ 我可以 ” 吗?不熟悉代码的情况下 你还能够保证测试的全面性吗?在商用软件开发过程中,这 种情况应该是会经常遇到的。进度紧张、加班加点、人员离 职。一系列的问题都在不停的干扰着我们以理想的方 式去完成软件的开发。这种情况下,我们所要做的,只有提 高效率。不必要的工作尽量不去做,也就有了上面说的增量 式开发的理论。最起码,增量式开发方式可以减少你做一些 不必要的测试工作,也可以减少对老代码的修

4、改引入新 Bug 的风险。大家常说的到高内聚和低耦合,其实也就是这个道 理。这里只是举了一个简单的例子来说明增量式开发的好处。 如果大家想从更深层次上了解为什么这么做以及如何做,建 议大家去看 Martin Fowler 的敏捷软件开发:原则、模式 与实践。言归正传,为什么软件架构设计要平台化呢?要 解释这个问题,需要首先说明什么是平台。按照我的理解, 平台应该是在一定的需求范围之内,封装了为实现这些需求 而必须具备的一些基本功能和执行逻辑的软件框架。这个框 架式和具体的业务无关的,仅仅定义了一些为实现这些业务 而必须具备的接口。并通过这些接口搭建起来的一个完整的、 可运行的软件框架。 在这个

5、平台之上, 可以根据不同的需求, 对平台定义的接口进行实现,来实现具体的业务。 (描述得 比较抽象,请大家慢慢体会)从平台的发展历史来看,大致 经历了从操作系统平台到数据库平台再到业务基础平台的 发展过程。我们这里讨论的平台主要是指业务基础平台。这 个平台的目的主要是让开发人员从底层的软件开发中脱离 出来,将主要的精力集中到业务上。举例来说,音乐播放器 开发平台可以让开发人员把精力集中到开发对不同格式音 乐的支持上,而不必再去处理界面的开发。综上所述,平台 化,就是要把软件开发人员从纷繁的开发工作中解放出来, 让他们可以把主要精力都集中到业务相关功能的开发上来, 提升开发效率。这就是平台化的目的。好了,天也不早了, 洗洗睡了。后面有时间,再和大家进一步探讨如何实现软件 架构的平台化。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1