posts - 262,  comments - 221,  trackbacks - 0

经过一个月充实的调整后(徒步自助游、摄影、打羽毛球,真怀念啊~~)。终于接到新的开发任务---开发一个可以解析、阅读RSS的工具。该工具需要运行在PC和手机端,换句话来说也就是要支持不同的终端版本。

对于开发人员来说,没有什么比挑战自己的能力更能让人兴奋地了!在接到开发任务并且和客户进行前期沟通后,对项目的需求有了一个基本的了解:

需求概况◆RSS阅读器必须支持运行在PC、手机终端
◆RSS阅读器运行在PC终端还包括C/S和B/S形式
◆RSS阅读器必须支持实时提醒(就像QQ的消息提醒那样)
◆RSS阅读器必须支持搜索功能(即关键字的全文搜索,二次过滤)
◆RSS阅读器必须支持排序功能(即自动排序和手动拖拽排序)
◆RSS阅读器必须支持目录功能(即把相关的RSS频道组织在同一个目录下)
◆RSS阅读器必须支持0.9x,1.0,2.0的协议
◆RSS阅读器必须支持基于内存和关系的数据库持久方式
◆RSS阅读器必须支持OMPL的导入和导出功能
◆RSS阅读器可选支持对文章的收藏功能

需求虽说不多,但每一个都不是省油的灯。包括了RSS解析引擎和阅读器,仔细分析了一下这些需求,发现重难点和技术点集中在下面几个:

◆软件必须适应不同的终端,不同的访问方式,不同版本的协议。对设计通用性要求较高
◆软件必须解析和生成XML,涉及到大量的字符串和格式处理。对XML和性能要求较高
◆软件必须具备实时监控功能,且具备主动推送功能,对多线程和异步通讯要求较高
◆软件必须支持不同的持久化方式,对缓存和持久化要求较高
◆软件必须支持基于全文的搜索,对搜索技术有一定要求
◆软件界面必须是支持拖拽功能的,对GUI和Ajax有一定要求


基于上面的分析结果,首先制定开发计划,划分阶段任务:

Phase 1: Prototype构建

此阶段的主要任务是过滤需求中最基本最核心的部分---RSS feed的解析和生成。没有了对RSS的解析和生成一切都是空谈,细化下来则包括了:
 ◆读入既有RSS文件和解析
 ◆构建新的RSS文件和保存

Phase 2: 阶段更新和提醒功能

此阶段的主要任务是在Phase 1的基础上fix bug,增加了后台对RSS消息源的阶段检查、更新及提醒功能。细化下来则包括了:
 ◆修正Phase 1的bug
 定期检查RSS消息源是否有更新
 同步更新RSS feed文件
 提醒RSS订阅客户

Phase 3: 全文搜索和二次过滤功能

此阶段的主要任务是在Phase 2的基础上fix bug,增加了对RSS工具获取到的news进行二次过滤。细化下来则包括了:
 ◆对订阅结果进行二次过滤(即在RSS自动获取的内容基础上进行过滤)
 ◆对订阅结果进行全文搜索(即在RSS自动获取的内容基础上进行关键字搜索)

Phase 4: 持久化功能

此阶段的主要任务是在Phase 3的基础上fix bug,增加了对内存数据库和传统数据库的持久化支持。细化下来则包括了:
 ◆支持使用hsqldb进行内存数据库的读取和存储
 ◆支持使用Hibernate进行传统数据库的读取和存储

Phase 5: 导入导出和收藏功能

此阶段的主要任务是在Phase 4的基础上fix bug,增加了OMPL的导入导出功能。细化下来则包括了:
 ◆导入其他OMPL文件到阅读器
 导出阅读器的订阅列表为OMPL文件(支持不同的协议和版本)
 ◆喜爱文章的收藏功能

Phase 6: PC B/S版的阅读器开发

此阶段的主要任务是在Phase 5的基础上fix bug,开始进行基于浏览器的阅读器开发。细化下来则包括了:
 ◆阅读器工具栏(包括OMPL导入导出工具,偏好设置工具,及其他工具)
 ◆阅读器订阅列表(支持自动排序和手动拖拽排序,支持目录管理)
 ◆阅读器新闻列表(显示RSS最新更新的新闻的标题)
 ◆阅读器内容窗口(显示选中新闻的内容)
 ◆阅读器搜索窗口(显示搜索框,搜索结果将分别在新闻列表和内容窗口显示)
 ◆阅读器收藏窗口(显示用户收藏的通过RSS阅读器获取的文章)
 ◆阅读器和解析引擎的通讯

目前初步的计划就是开发出B/S版的RSS阅读工具,毕竟B/S是以后发展的主流。基于C/S模式的软件也许在实时提醒上实现起来比B/S要相对简单一点(因为浏览器是典型的“拉”方式获取数据,必须用户主动地刷新页面去更新数据),但是自从Ajax技术出现后这已经不是问题了。

先从最熟悉的J2EE Web开发开始。Come on ! Kick off~~


-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要尽力打好一手烂牌。
posted on 2009-12-18 12:14 Paul Lin 阅读(233) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 
<2009年12月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用链接

留言簿(19)

随笔分类

随笔档案

BlogJava热点博客

好友博客

搜索

  •  

最新评论

阅读排行榜

评论排行榜