现代程序设计 homework-09
2013-12-09 01:47
399 查看
现代程序设计 homework-09
这次作业是要求将homework-02做成一个可演示的应用,目的是为了让用户看到程序的计算步骤以及中间结果。借此机会也学了一下JavaScript,感觉总结的地方再说吧。
用户需求&功能介绍
1. 用户用你的程序读入一个数组文件 (就像我们以前做过的那样),显示初始状态 (就像围棋打谱程序那样)1.1. 用户也可以自行定义数组的大小,或者要求随机生成一个数字矩阵。
2. 用户这时候有两个选择
2.1 按 单步执行 键, 在 GUI 看到你的程序是如何一步一步算出目前最大子数组的范围,当前计算到的临时子数组是在哪里,等等。 最好用不同的颜色标识不同的状态。
2.2 按 自动运行 键, 在 GUI 看到程序自动运行,并自动显示过程, 每次改变状态的时候要稍作停留 (例如 1 秒钟的时间)
3. 咳,我没看清楚! 这时最好有一个 倒带 / 回滚 的键, 让用户可以看清楚关键的几步。
(当然,用户可以选择是普通模式还是扩展定义的连通模式)
以上是老师所描述的用户需求,就结合下图来说说笔者是如何满足这些要求的:
------------------
test("maketable", function(){ var arr = new Array(); for (var i = 0; i < 100; i++) arr[i] = new Array(); arr[0][0] = 0; arr[0][1] = 0; arr[1][0] = 0; arr[1][1] = 2; var arr1 = makeTable("1#1#2"); equal(arr1[1][1],arr[1][1],"yes!"); }); test("refresh", function(){ equal(Refresh(),1,"yes!"); }); test("clear", function(){ equal(clear(),1,"yes!"); }); test("wait", function () { var isSelect = new Array(); isSelect[0] = new Array(0, 0, 0); isSelect[1] = new Array(1, 1, 1); var history = new Array(); history[0]=new Array(1,1,1,1,1); equal(wait(0,isSelect,history), 1, "yes!"); }); test("work", function () { var arr = new Array(); for (var i = 0; i < 100; i++) arr[i] = new Array(); arr[0][0] = 0; arr[0][1] = 0; arr[1][0] = 0; arr[1][1] = 2; var isSelect = new Array(); isSelect[0] = new Array(0, 0, 0); isSelect[1] = new Array(1, 1, 1); var history = new Array(); equal(WorkMode1(1, 1,history,isSelect,arr), 1, "yes!"); }); test("update", function () { var isSelect = new Array(); isSelect[0] = new Array(0, 0, 0); isSelect[1] = new Array(1, 1, 1); var history = new Array(); equal(updateS1(1, 1, 1, 1, 1, isSelect), 1, "yes!"); });
View Code
测试结果如下:
总结
Personal Software Process Stages | 时间百分比(%) | 实际花费的时间 (分钟) | 原来估计的时间 (分钟) | |
Planning | 计划 | |||
· Estimate | · 估计这个任务需要多少时间,把工作细化并大致排序 | 60 | 30 | |
Development | 开发 | |||
· Analysis | · 需求分析 (包括学习新技术) | 120 | 60 | |
· Design Spec | · 生成设计文档 | 30 | 30 | |
· Design Review | · 设计复审 (和同事审核设计文档) | 30 | 30 | |
· Coding Standard | · 代码规范 (制定合适的规范) | 60 | 1 | |
· Design | · 具体设计 | 60 | 60 | |
· Coding | · 具体编码 | 240 | 120 | |
· Code Review | · 代码复审 | 60 | 60 | |
· Test | · 测试(自我测试,修改代码,提交修改) | 60 | 60 | |
Reporting | 总结报告 | |||
Test Report 测试报告 | 30 | 30 | ||
Size Measurement 计算工作量 Postmortem & Improvement Plan 事后总结, 并提出改进 | 30 | 30 | ||
Total | 总计 | 100% | 总用时 780 | 总估计的用时 570 |
相关文章推荐
- 现代程序设计 homework-09
- 【现代程序设计】【期末作业】【homework-09】
- 【现代程序设计】homework-09
- 现代程序设计——homework-09
- 现代程序设计homework——04
- 现代程序设计——homework-06
- 现代程序设计 homework-10
- 现代程序设计 homework-04
- 【现代程序设计】homework-08
- 【现代程序设计】【homework-08】
- 现代程序设计 homework-01
- 现代程序设计 homework-04
- 【现代程序设计】【homework-07】
- 现代程序设计 homework-08
- 现代程序设计homework-06
- 【现代程序设计】【homework-05】
- 现代程序设计 homework-07
- 现代程序设计 homework-08
- 现代程序设计 homework-07
- 现代程序设计——homework-08