现代程序设计——homework-10
设计
对于MVC我的理解是这样的,V是台显示器,注意仅仅是一台比显示器普通显示器多几个按钮,用户按什么,按了什么该干什么都不用操心;M是实体的软件抽象,假设实体可以但不执行,我就可以一步一步走,实体可以回滚,我就可以回滚,我滚成什么样用户在显示器中就看到什么;C之所以叫控制器是因为它决定了用户的动作和模型的动作的对应关系,用户说下一步,我让模型回滚,显示器上面显示的还是回滚后的模型。我的设计如下:
规范
首先,我的标识符名字弄得还不错,都是Camel,命名基本能让人看出来功能,然后我的函数不复杂,于是我很无耻地没有写注释。
测试
单元测试是我一直拖欠下来的东西,一直没能实现,终于最后一次搞出来了,但是到现在我也没弄明白“块”是个什么东西。
统计
Personal Software Process Stages |
时间百分比(%) |
实际花费的时间 (分钟) |
原来估计的时间 (分钟) |
|
Planning |
计划 |
15 | 2*60 | 2*60 |
· Estimate |
· 估计这个任务需要多少时间,把工作细化并大致排序 |
|||
Development |
开发 |
70 | 10*60 | 5*60 |
· Analysis |
· 需求分析 (包括学习新技术) |
0 | ||
· Design Spec |
· 生成设计文档 |
0 | ||
· Design Review |
· 设计复审 (和同事审核设计文档) |
0 | ||
· Coding Standard |
· 代码规范 (制定合适的规范) |
10 | 1.5*60 | 0.5*60 |
· Design |
· 具体设计 |
10 | 1.5*60 | 1*60 |
· Coding |
· 具体编码 |
40 | 6*60 | 3*60 |
· Code Review |
· 代码复审 |
0 | ||
· Test |
· 测试(自我测试,修改代码,提交修改) |
10 | 1*60 | 0.5*60 |
Reporting |
总结报告 |
15 | 2*60 | 2*60 |
|
|
|||
|
||||
Total | 总计 | 100% | 总用时 | 总估计的用时 |
最后
我也太渣了,用户需求都看不明白;我也太渣了,竟然不知道问一问“如果能在程序能直接在网上显示 (例如使用 Javascript 在网页上让用户直接看到过程)”到底指什么;我也太渣了,这要是用户只是轻描淡写搞了一句这样需求,我傻乎乎的以为用户要写个服务器+前端显示,以后还怎么干活;我也太渣了,用javascript这种虽然只是对象原型,但是更加灵活的语言重构一下C#那冗长的代码都不会;我怎么能这么渣!……!