Archive for February 28th, 2004

我的课程设计计划书

Saturday, February 28th, 2004

已经基本上定下来了,就是开发一个PHP的Blog系统。
老师极力推荐用Java技术,但是我出于普及性的考虑还是最终选择了PHP,虽然前者看起来更有“技术含量”,更“拿得出手”,但是也许这个作品就永远是一个毕业课程设计了…
PHP有什么不好,我现在还直接把它作为Linux下的脚本语言使用,像perl一样,也很好用(CLI: Command Line Interface)。它还是一个很好的Web services的client(我可没说不能做server),而且又这么普及,干嘛在很多只需要鸟枪的地方非要用大炮?
下面是计划书的文本。

毕业设计题目:
多用户内容发布管理系统(网志)
Multiuser Content Management System (Weblog)
课题简介:
Weblog(网志),简称Blog,是个人CMS(Content Management System,内容管理系统)的一种。很多人利用Blog系统像写日记一样记录每天的收获、所得,Blog系统将其整理、归档,其他人则可以自由地发表留言、评论,交流信息、思想。在国外,一些人甚至将其作为一种出版方式,还可以申请ISSN(国际出版物期号)来出版发行。
Blog是新技术的弄潮儿。基于XML的RSS Feeds / ATOM Feeds等是Blog的信息发布的重要形式之一。通过这种形式,不用去Blog网站,只要通过“聚合器”软件便可将众多Blog的内容收集起来(“聚合”),达到共享的目的。Blog也不是孤立的,通过基于XML-RPC方式的Ping/Trackback,各个Blog之间可以自动交换信息。另外Blog还通过提供Web Services接口支持远程更新和查询。
本项目的目标就是实现一个支持多用户的,多语言的Blog系统,后台使用数据库系统做为信息存储方式。编码方面通过模板引擎做到代码/界面分离。
本项目作为一个试验性的实践项目,是对GPL协议、极限编程等新型软件工程方法的一次积极尝试,也是对XML,XHTML/CSS,Web services(SOAP/XML-RPC),RSS/ATOM,Unicode等技术、标准的一次有益实践,为以后的软件开发积累经验。
本项目使用新软件工程方法极限编程(eXtreme Programming, XP)的思想,以测试驱动开发,以每两周为一个周期,每个周期结束都要拿出一个可供公开测试的原型产品,发布到网上进行公开测试,根据测试用户反馈制定下一周期的开发计划。每个新的周期都要对代码进行重构。
本项目采用开放源码的GPL协议,开发过程中的源码管理使用开放的CVS系统,并建立专门网站对项目进行管理,积极听取用户反馈。项目发布初始版本后,每天都要在CVS上进行每日构建(Daily Build) ,发布Nightly CVS Build版本。