团队项目终审报告
一.团队成员:
人员分配:
PM:李桐 刘垚鹏
dev:刘垚鹏 王骜 安康 林旭鹏 黄新越
test:王骜 黄伟龙 李桐 马越 黄新越
博客地址:
刘垚鹏:
http://www.cnblogs.com/zibaohun/
王骜:
http://www.cnblogs.com/wangao1236/
林旭鹏:
http://www.cnblogs.com/wyjbjl/
黄伟龙:
http://www.cnblogs.com/buaa/
安康:
http://www.cnblogs.com/UDvoid/
李桐:
http://www.cnblogs.com/bsdbch/
黄新越:
http://www.cnblogs.com/hello-jane/
马越:
http://www.cnblogs.com/myredstone/
二.
1.团队项目的目标,预期的典型用户,预期的功能描述,预期的用户数量在哪里?
项目的目标是根据是C705组的要求,在约定周期内完成基本功能的开发,尽量减少bug的出现,将相应数据存入数据库供其使用。
预期典型用户是C705组。
预期功能:通用型爬取,聚集型爬取,综合型爬取,问答页爬取,pdf爬取,doc爬取,ppt爬取功能。
预期用户数量:200
2.团队的产品如何满足了用户的需求?
用户的需求是爬取大量的问答页面,pdf,ppt,doc,存入数据库中使用。
3.团队的成员如何分工协作的?如何在两次开发里程碑中总结经验的?
团队有PM,dev,test。
由于精确爬取功能和多线程相关bug修复功能比较难以实现,因此我们给能力不错的人分配了这些开发和测试任务。
4.团队如何平衡 时间/质量/资源 争取如期完成任务的?
alpha阶段中,因为我们的工作是在学长基础上,根据用户需求,维护、修改和完善工程。
beta阶段中,由于大三上后期时间略有些紧,有编译和数据库大作业,还要准备期末考试,不过组员们还是抽出了不少时间来完成beta版本的各项任务。
5.在产品之外,团队代码的软件工程质量如何?如何用数据来证明?
项目的完成质量用测试的报告来说明。
测试报告地址:
http://www.cnblogs.com/newbe/p/4190303.html
7.有些项目是在原来的基础上改进的,那么我们团队的软件工程项目质量有什么样的提高?例如,代码覆盖率从原来的x增长到y?
我们团队的项目是在原先的远航组爬虫项目上改进的,经过JUNIT+EclEmma测试,查看未覆盖的代码并分析其是否冗余,精简代码或者为没有覆盖到的代码增加测试用例,代码覆盖率得到了大大提高。
学长写的版本中有不少的bug和伪功能、冗余代码,我们根据下游小组的需求,实现了学长的伪功能,增加了聚集型爬取,综合型爬取,问答页精确爬取,pdf爬取,doc爬取,ppt爬取功能,并在不断的回归测试和新增测试中修复了学长和我们增量开发中的很多bug。
8.原来的项目有些代码都找不到,文档也没有,或者没有最近的代码,你们的项目是如何更好解决这个问题的?明年的同学继续开发这个项目,会不会出现类似的抱怨?如果一个新学生在一台新机器上想编译并运行你的项目, 请问能顺利完成么?有什么样的文档能指导新学生?
我们写了很多文档,这些都是在开发工程中自然产生的,但是在代码中给出了大量的注释,并完成了各个代码块的规格书写。
明年同样开发这个项目的同学不会在我们的项目中看到空壳功能,或者代码错误过多的情况,而且有十分齐全的文档与代码规格供他们参考。
有大量文档的帮助,在一台新机器上运行我们的项目,是可以顺利完成的。
需求文档:
http://www.cnblogs.com/newbe/p/4222463.html
概要设计文档:
http://www.cnblogs.com/newbe/p/4189834.html
详细设计文档:
http://www.cnblogs.com/newbe/p/4189893.html
代码编码规范:
http://www.cnblogs.com/newbe/p/4190194.html
9.对于项目的目标用户是一般学生的项目, 你们如何找到学生做需求分析?他们给你什么样的反馈?
目标用户是下游小组(C705),我们通过和其PM进行需求的讨论得到我们组的需求。
10.所有的项目都会收集到用户的数据,请问你们对这类数据做了什么样的分析,这些分析如何验证或推翻了原来的假设? 这些数据如何帮助项目改进软件工程的质量?
下游小组反馈了数据库中可能产生文件重复的问题,我们对数据库进行了分析和测试,之前在数据中学到了触发器的内容,觉得可以用来修复这个问题,实际修复过程中发现由于数据库中数据数量十分庞大,发现在java代码中使用sql语句效率较慢,但是通过在数据库中加入触发器使得在每次插入数据的时候都能判断并防止出现重复的方法效率较高,验证了之前的假设。
三.
团队项目的实际进展(拷贝那些 scrum 过程中的燃尽图即可),发布的功能(拷贝发布文档),在哪里发布了软件(3 – 10 个网址), 用户反馈的截屏。
说明在项目管理中,scrum的燃尽图是如何真实反映项目的状态的?或者燃尽图美化了状态?
daily scrum:
发布文档:
http://www.cnblogs.com/newbe/p/4189798.html
四.团队成员贡献:
姓名 | 角色 | 具体可量的贡献 |
李桐 | PM | 21篇博客,需求文档 |
刘垚鹏 | PM,dev | 修改508,新增4316行代码,设计文档,编码规范,408行注释/规格 |
王骜 | dev,test | 修改1420,新增3122行代码,508行测试代码,领导单元测试,测试文档 |
林旭鹏 | dev | 2019行代码 |
黄伟龙 | test | 189行代码,初步测试文档,事后分析 |
安康 | dev | 1570行代码 |
黄新越 | test,dev | 1672行代码 |
马越 | test | 107行代码 |
五.所做软件最有特色的功能是什么,请着重介绍一下。
精确爬取问答页面,综合型爬取(带关键词),专门爬取pdf、doc、ppt功能。
六.团队从用户那里得到了什么反馈,有什么样的bug?这是预料之中的还是没想到的?
根据用户需求增加了pdf、ppt、doc的爬取功能和问答页的精确爬取功能。
发现的bug有数据库中的文件和路径不匹配,是预料中的bug。
七.团队和M1 相比,在软件工程方面有什么进步?希望看到小组 M2 postmortem的博客。
需求分析是否完整透彻是一个项目成功的决定性因素,我们在M2阶段和下游小组进行了十分细致的需求分析。
PM更加懂得合理的分工合作,根据每个人的能力和阶段会议的结果安排其任务进程,对于需求的分析更加主动和直接,遇到问题会立即提出并寻求反馈和解答。
M2 postmortem:
http://www.cnblogs.com/newbe/p/4223850.html
八.总结,整个团队在这个课程上学到了什么,对软件工程的教育, 对这个具体的课程有什么批评建议?
我们任务软件工程课的核心是做项目,在这个过程中我们也学到了很多东西。但是我们认为每个团队工程的难度有很多影响因素,因此我们组在接手了如此大的工程量的同时还要兼顾其他课程的大作业,我觉得适当调整这门课程的进度比较好。比如在学期初就组队进行项目的需求分析和工程规划,任务分配。
批评建议:
希望服务器上可以登陆4个以上用户,因为开发工程中大家常常会遇到服务器被其他组占用无法使用的情形。
九.
1.有多少用户?有多少活动用户?每日活动用户数最高值?
每日活动用户就是后续小组C705.
2.展现搜索的准确性、效率和压力测试的结果?
准确性和压力测试:
会议照片: