终审项目展示
团队成员
PM:符美潇
DEV:潘礼鹏、周文祥、焉域政
TEST:谢金洛、周文祥、潘成鼎、叶能端
目标设定
Alpha阶段目标回顾:
1.要让爬虫跟原来看起来不一样——新界面!新功能!
2.要让爬虫爬得更快——改算法!
3.要让爬虫运行不出错——地毯式Debug!
Beta阶段目标回顾:
1.更稳定地爬取:线程池。针对Alpha阶段线程异常泛滥问题导致的爬取动作频繁崩溃。
2.更高效地爬取:动态爬取功能。实现无间断爬取、长时间爬取、大数目爬取,管理员不必频繁运行程序。
3.更健康地爬取:异常清理器。管理已爬取的文件,清除异常状态。
工作分配
1.线程池的实现
1.爬取的内容重复冗余性增加。
2.因为每个种子网页的最大爬取数目是不可预见的,管理员需要经常留意当前爬取动作是否已停止,进而决定是否重新运行程序爬取新网页。
动态爬取是能够在爬虫运行时不停止爬虫当前的爬取动作而添加种子URL,管理员可以在任何需要的时候进行添加动作。新功能在解决了以上两个不良影响的同时,还具备以下几个优势:
1.能为每个种子URL设定爬取数目。
2.时间容错性大,能够允许任何时间进行操作。
3.不必繁琐的关闭和重新运行程序,操作简易。
完整的文档
需求分析文档:
http://www.cnblogs.com/cnmxfd/p/4893526.html
项目设计文档:
http://www.cnblogs.com/cnmxfd/p/4931716.html
功能规格说明书:
http://www.cnblogs.com/cnmxfd/p/4931532.html
测试报告:
http://www.cnblogs.com/cnmxfd/p/5093757.html
源代码管理文档:
http://www.cnblogs.com/cnmxfd/p/5068470.html
团队成员贡献
成员 | 角色 | 具体可量贡献 | 贡献分 |
符美潇 | PM | 日常会议组织、10篇Daily Scrum、1篇团队博客作业、发布说明、测试报告、展示博客、事后会议报告 | 67 |
潘礼鹏 | DEV | 开发动态爬取功能。1700行新添和改动代码。 | 70 |
焉域政 | DEV | 开发异常清理器。新添4个.java文件,800行已投入使用的异常显示代码。300行尚未完整的处理代码。 | 60 |
周文祥 | DEV、TEST | 开发线程池。新添600行代码。26次单元测试记录。 | 61 |
谢金洛 | TEST | 界面和监听器维护。涉及1300行的代码维护;累计爬取8W+个文件。 | 62 |
叶能端 | TEST | 相关资料的收集。 | 10 |
潘成鼎 | TEST | 相关资料的收集和功能性建议。 | 20 |
爬取数目
文件类型 | 爬取数目 | 目标数目 |
普通网页 | 73304 | 50000 |
问答页 | 50412 | 100000 |
视频链接 | 16243 | 30000 |
1916 | 1000 | |
ppt | 93 | 100 |
doc | 138 | 100 |
代码比较
代码覆盖测试
TFS的使用
与M1比较和M2阶段总结
M1的开发工作令人不尽满意,所以在M2的设计阶段,我们团队就对M1的时候分析会议报告进行讨论,对我们M2的设计影响很大。
1. 开发阶段的规范性:每个工作日都有工作,每个工作日结束都有交付衡量,在达到一个小阶段的交付标准的时候,需要代码签入。
2.单元测试和代码复审的重视程度提高。
3.组与组之间协作联系更加密切,由此我们M2的开发是“集市”模式的。
4.小组内分工更加明确,工作量更加平均。
5.从M1到M2,我们切身体验了一个软件工程项目的生命周期,从需求分析到最后的部署和稳定及发布,实践使得我们对软工理论的理解更深一分。