今天来对项目进行概要设计, 概要设计是指将得到的项目需求转换为软件的结构和数据结构, 网上有许多有关概要设计的模板, 十分详细, 但是正是由于太详细, 需要编写的内容太多, 致使编写详细概要设计的工作量太大, 如果要按规范报纸保量的编写完成一份概要设计足足要几十页的, 需要花几天时间才能完成, 但是Wid的这个开源项目侧重点在于软件的功能实现上, 所以对于详细的概要设计就不进行实现了,这里实现一份简略版的概要设计。
一、需求规定
(1). 功能需求规定
1>. 能够模拟蜘蛛方式采集博客园中的随笔;
2>. 能够采集指定用户的随笔;
3>. 能够采集首页/精华/候选中的随笔;
4>. 能够采集推荐博客中用户的随笔;
5>. 对采集有一定的过滤机制, 过滤需求如下:
①. 仅采集某个日期时间段内发表的随笔;
②. 能够根据输入的关键字进行采集;
③. 能够根据输入过滤掉不感兴趣的随笔;
④. 对于内容过短的随笔不采集;
6>. 必须保留随笔作者的相关信息;
7>. 能够有相关的采集日志。
(2). 采集质量规定
1>. 能够采集完整的随笔内容;
2>. 尽可能完整的保留随笔格式;
(3). 运行环境
能够在Windows/Linux系统上运行。
二、软件模块设计
如图所示:
三、需求与模块间的关系
如表格所示:
UI模块 | 采集模块 | 分析模块 | 声明模块 | 保存模块 | 过滤模块 | 配置管理 | 初始化 | |
需求1 | √ | |||||||
需求2 | √ | |||||||
需求3 | √ | |||||||
需求4 | √ | |||||||
需求5 | √ | |||||||
需求6 | √ | |||||||
需求7 | √ |
所设计的模块满足功能需求。
四、项目文件的组织
对于项目文件的组织, 如图所示:
完成了概要设计后就是对各模块的详细设计, 详细设计内容将在下一篇随笔中进行叙述。
今天再次完成了坚持每天更新三篇随笔的计划, 欢迎继续关注CnblogsFan开源项目的最新进展, Wid将会坚持在每天的空闲时间完成对该项目的开发。
GitHub项目地址: https://github.com/mrwid/CnblogsFan
--------------------
Wid, 2012.10.09
下一篇: 开源->一步步实现cnblogs博客采集工具->详细设计
上一篇: 开源->一步步实现cnblogs博客采集工具->对项目需求的分析