天津大学软件学院
刘安 2012218004
邹佳伟 3009218112
第一部分
Bug 1
Bug名称 | 鼠标取词将URL检测为乱码 |
测试环境 | Windows 7 32位 专业版 FireFox - 9.0.1 |
Bug描述 | 在FireFox的地址栏中使用鼠标悬停取词,不能得到预期的结果。经常出现莫名奇妙的字符串。 |
Bug截图 |
|
重现方法 | 1. 打开FireFox-9.0.1,访问http://SuperHacker.zyrj.org/blog/index.php 2. 打开必应词典的取词功能,将鼠标悬停到"index"字段上。(预期应当检测出单词index,并查询出相应的解释) 3. 必应词典将自动获取鼠标悬停处的词汇,并进行检索。Bug出现。 |
附加说明 | 该Bug在Internet Explorer 8中不存在。 |
Bug 2
Bug名称 | 必应背单词统计信息异常 |
测试环境 | Windows 7 32位 专业版 |
Bug描述 | 必应背单词中“已经学习过的词汇”数量的统计不能正确响应“不记得”和“我记得”的选择 |
Bug截图 | |
重现方法 | 1.打开必应背单词,选择英语六级 2.选择记忆曲线学习 3.快速连续点击“翻转”,“我记得”,使右上角统计信息中已经学习过的词汇有X个上升到20 4.开始点击“翻转”,“不记得”,发现“已经学习过的词汇”仍然在上升 5.继续点击“翻转”,“不记得”,直到“已经学习过的词汇”停止上升 6.开始点击“翻转”,“我记得”,发现“已经学习过的词汇”没有恢复上升 |
附加说明 | 必应背单词的统计算法另我们始终没有搞清楚是想做什么。 |
第二部分
采访对象
赵帅,天津大学软件学院研究生。英语水平不强,也不算太差。平时需要阅读大量相关的英文论文。同时,需要大量编写程序。
使用过程
赵帅同学打开了一篇最近正要学习的论文,进行了一段时间的阅读。遇到不懂的词汇便使用鼠标取词功能进行翻译。必应词典经过了一段时间查找,给出了相应的提示。随后赵帅同学点击更多解释,看到了更加详尽的信息。随后,赵帅同学又找到一些特殊字符进行取词,测试程序员辅助功能,很失望。最后赵帅同学测试了一下背单词功能,评价为“玩具”。
根据赵帅同学多年使用屏幕取词的经验来看,从基本功能上讲,鼠标取词功能已经达到了DEMO的水准,存在的问题仍然较多,与同类产品(如金山词霸,有道词典,星际译王等等)相比,差距较大,主要体现在如下方面。
1. 屏幕取词等待时间太长。经我个人分析,这与教育网环境下速度慢且缺乏本地词典有关。
2. 屏幕取词结果太少。(这个是可以立即改进的)。
3. 缺少程序员辅助功能。(这个功能指选定单个字符时,可以输出该字符的Unicode编码,UTF-8编码,XML十进制实体,XML十六进制实体,c语言字符实体等等对计算机行业非常有用的数据)。
4. 整句翻译质量不高。
优点有:
1. 与必应搜索相集成
2. 界面简洁美观大方
3. 非取词简介界面提供的结果比较丰富
4. 和生词本集成非常好
对于必应背单词来说,赵帅是和背单词行业的老大“轻轻松松背单词”相比的。由于轻轻松松背单词实现的太过完美,必应背单词在这个方面基本不具备可比性。无论是数据量/界面/功能/准确度还是别的,完全不具备可比性。
唯一的优势就是“和必应词典有所结合,可以快速收纳”。
用户建议
1. 添加更多本地词库,比如“朗道”,“牛津”等等,并在鼠标取词时立刻显示本地词库中的内容。
2. 鼠标取词悬浮框显示更多解释
3. 加入程序员辅助功能
4. 必应背单词要学习“轻轻松松背单词”的设计。
第三部分
背景假设
由于必应辞典是基于必应搜索引擎的。假设云端接口已经具备。由于人与人的能力是有差别的。假设项目参与人员都达到了天津大学ACM-ICPC集训队的入门水平(学习了大量的算法,大学期间标准代码行数(以c语言为代码行数计量标准)超过两万)。
计划分析
计划阶段 第一周 | 制定项目计划和风险管理计划。从ERP系统预定好未来需要的项目资金。配置好资金计划及人事计划。 配置开发计划,过程控制计划。 |
需求分析阶段 第二、三、四周 | 向社会公开项目wishlist,广泛征集目标意见。筛选合理需求,按照需求重要程度计划需实现的功能。在此阶段,制作功能原型。 释放DEMO给用户评价。做好需求Specification。设计好用例。 |
设计阶段 第五周 | 针对需求阶段分析出的功能,做好整体架构设计。划分好子模块。并调整 |
开发阶段 第六、七、八、九周 | 按照重要程度,逐一实现好每个模块。 每天应释放至少一个alpha测试版。供测试人员进行单元测试反馈。 到最后一周,应进行集成工作,冻结一切未实现的特性。 |
测试阶段 第十、十一周 | 根据当前的开发功能点做出测试计划,按照用例设计好测试用例进行集成测试。记录测试结果和数据。并进行修复。 每天至少产生一个beta测试版。并对修正的内容进行回归测试。到最后一天,冻结一切代码修改。 |
发布阶段 第十二周 | 制作Release Tag,书写用户说明文档,帮助文件,用户手册等等。 完成上述任务后即可正式发布。 |
优劣
本软件的主要劣势在于一些基本需求完成状况不佳。与行业内最佳实践有较大差距。
比如必应词典缺少程序员辅助功能,词库也较少。
必应背单词和“轻轻松松背单词”完全没有可比性。
提高改进
从软件工程的角度来看。本软件的问题在于需求发现阶段出现了重大问题。需求设计可能没有参考过行业内的最佳实践。从必应辞典上来说,设计这并不完全懂得词库的详尽程度才是一个词典的根本。从必应背单词上来说,设计者完全不懂得什么叫做“背”单词。
第四部分
项目经理的抉择
做为项目经理,最重要的工作是了解这个行业的相关业务需求。然后用最简单最快捷的设计方案将需求实现出来。避免troubles & tricks。
了解需求的过程中,重点是研究行业最佳实践的功能。首先进行模仿,然后再考虑创新和超越问题。
比如,必应词典就要向金山词霸看齐。必应背单词就要和“轻轻松松背单词”看齐。
当然,能够利用规模优势的地方,可以进行适当的创新。
市场分析
目前词典软件方面,主要有金山词霸、有道词典、星际译王等等。各有个的优点。但主要问题在于缺乏云服务提供的能力,主要依赖本地词典,但这不是问题。
背单词软件方面,“轻轻松松背单词”是常年的行业标杆。至今没能被超越,也很难被超越。
能够创新的地方在于将词典与背单词相结合,但实现这个的前提是在两个方面都达到行业标杆的水准,这需要巨大的人力物力投入(单说“轻轻松松背单词”的全词汇真人发音,就需要投入巨量资金)。
产品计划
人员分配
我 | 项目经理,需求分析人员 | 项目经理必须是该行业的专业人员领衔。对需求分析负责 |
A | 美工人员 | |
B | 开发人员 | |
C | 开发人员 | |
D | 测试人员 |
时间计划
第一周 | 制定项目计划和风险管理计划。从ERP系统预定好未来需要的项目资金。配置好资金计划及人事计划。 配置开发计划,过程控制计划。 |
第二周 | 向社会公开项目wishlist,广泛征集目标意见。筛选合理需求,按照需求重要程度计划需实现的功能。 美工人员释放DEMO 1给用户评价。设计需求Specification。设计用例。 |
第三周 | 向社会公开项目wishlist,广泛征集目标意见。筛选合理需求,按照需求重要程度计划需实现的功能。 美工人员释放DEMO 2给用户评价。设计需求Specification。设计用例。 |
第四周 | 冻结wishlist,按照需求重要程度计划需实现的功能。 美工人员释放DEMO 3给用户评价。设计完Specification。完成用例设计。 |
第五周 | 开发人员入职,开始与我依照specification进行架构设计。并在本周末冻结架构。美工人员继续设计界面并与公众交流 |
第六周 | 美工人员继续改善设计。开发人员开始设计库中模块。并及时向我反映实现情况,确保实现不偏离需求。 测试人员入职,进行单元测试。 本周主要工作是实现词典功能函数。 |
第七周 | 同上。 本周主要工作是实现背单词功能函数。 |
第八周 | 冻结界面,进行前两周函数库与界面的整合。进行单元测试。发布alpha 1版 |
第九周 | 将软件个各个模块进行集成整合。冻结一切特性(features)。进行集成测试。美工离职。发布alpha 2版 |
第十周 | 进行集成测试和回归测试。修正bug,发布beta 1版。 |
第十一周 | 进行集成测试和回归测试,修正bug,冻结一切字符串,发布beta 2版。 |
第十二周 | Release Candidate。 书写用户手册,帮助文档等等。 最后一天,Release正式版。 |
随后开始下一论迭代。继续完善未完成的功能。(比如轻轻松松背单词是绝对不可能在十二周之内完成的)