项目成员
陈鸿鹏:201421138411
需求分析
改进现有代码
- clone项目,在开发环境中运行该应用程序,修改完毕最后上传至码云,并在博客中给出链接
- 检查大部分主要类之间的关系,画出类图
- 浏览所有代码考虑代码质量和测试覆盖率
- 确定当前设计的一个弱点,通过重构,确保在这个地方已有测试覆盖并保证重构没有改变已有的功能
- 好的测试是重构的根本。检查已有代码的测试,看测试用例是否足够覆盖原代码,如果不足,请添加测试用例
- 降低代码重复量,找出代码逻辑泥球
- 当前程序是否支持多个操作符运算,如果不支持,请在源代码基础上进行改进,算法参考:https://www.cnblogs.com/dragondove/p/6445850.html
- 修改代码后,检查代码覆盖,看单元测试是否需要修改?测试用例是否需要增加?
功能改进与扩展
- 增加括号操作符
- 减少重复题目
- 【附加题】增加一个运算符(乘方)
- 用符号表示乘方,例如:42=16
- 回归测试
- 在开发新功能时避免损坏旧的功能,以确保新的功能不与原有功能冲突
- 在确认修改的功能正确之后再签入代码。
- 效能分析
- 效能分析工具:http://www.oschina.net/p/jprofiler ,使用方法: http://www.cnblogs.com/bjlhx/p/6668888.html
- 参考教材P29-34
- 参照“效能测试,分析,改进,再效能测试”的流程,找出关键模块消耗最大的函数,是否存在改进?
PSP
PSP2.1 | 个人开发流程 | 预估耗费时间(分钟) | 实际耗费时间(分钟) |
Planning | 计划 | 10 | |
· Estimate | 明确需求和其他相关因素,估计每个阶段的时间成本 | 10 | |
Development | 开发 | 130 | |
· Analysis | 需求分析 (包括学习新技术) | 10 | |
· Design Spec | 生成设计文档 | 10 | |
· Design Review | 设计复审 | 10 | |
· Coding Standard | 代码规范 | 10 | |
· Design | 具体设计 | 20 | |
· Coding | 具体编码 | 40 | |
· Code Review | 代码复审 | 10 | |
· Test | 测试(自我测试,修改代码,提交修改) | 20 | |
Reporting | 报告 | 15 | |
· | 测试报告 | 5 | |
· | 计算工作量 | 5 | |
· | 并提出过程改进计划 | 5 |