Deadline:2019-9-17 23:00,以博客发表日期为准
评分标准:
- 按时交 ,满分100分,代码和博客各50分。检查项目包括:
- 未提交博客到班级博客上,博客部分不得分;
- 代码部分根据项目完成度累计加分,完成基本功能原则上不超过满分50分,完成软件的附加功能,给予加分
- 代码提交(代码规范,否则倒扣分)
- 博文规范(行文清晰流畅,如果行文中涉及代码,请使用博客园代码控件,或使用MarkDown语法块)
- 抄袭 - 倒扣本次作业分数,关于抄袭:[http://www.cnblogs.com/ZCplayground/p/8511250.html]
作业任务:
任务1:使用C或Java语言完成一个自动生成四则运算试题的程序。软件基本功能如下。
(1)自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内
(2)剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式
(3)题目数量可定制
(4)相关参数可控制
是否包含乘法和除法
操作数数值范围可控(如操作数 在100以内 还是1000以内)
操作数是否含负数
(5)生成的运算题存储到外部文件result.txt中
任务2 : 完成博文
博文名称要求:学号+自动生成四则运算题第一版报告;
博文作为个人项目实施过程的文字资料,预读教材第2章,第3章 ,请完整包含下面7个部分:
1.需求分析,即使老师已经给出了题目,也要对题目的需求做分析。
2. 功能设计,题目的需求,以及从真实调研里获得的需求后,要对程序做功能设计,有同学会问:“不就是出题嘛,有啥好设计的?”,其实,题目要求的只是项目基本 的功能要求,自己思考和调研会有超出题目要求的需求,甚至你有天才的设计,作出特色的功能。因此,功能会有:
-
- 基本功能
- 扩展功能
3. 设计实现,设计包括你会有哪些类,这些类分别负责什么功能,他们之间的关系怎样?或者你会设计哪些重要的函数?函数之间的逻辑关系如何?还是你只设计了1个类完成所有功能?
4. 测试运行,你的程序必须是可运行的,请展示程序的运行截图,包括题目要求实现功能对应的运行截图。这些截图说明你的程序确实完成了项目需求,如果程序实现了扩展需求,也请大方秀出来。
5. 粘贴自己觉得比较独特的或满意的代码片段,用博客园正确的代码控件来显示。(提示:要有必要的注释说明,提示:不要贴所有代码!不符合规定的要倒扣分)
6. 总结:你设计的程序如何实现软件设计的“模块化”原则。
7. 尝试撰写PSP,这个环节重要的是让自己看到自己的估计和实际消耗时间,哪个环节耗时最多,哪个环节估计和实践相差巨大?为什么?
PSP参考:http://www.cnblogs.com/xinz/archive/2011/10/22/2220872.html
PSP2.1 | 任务内容 | 计划共完成需要的时间(min) | 实际完成需要的时间(min) |
Planning | 计划 | 8 | 6 |
· Estimate | · 估计这个任务需要多少时间,并规划大致工作步骤 | 8 | 6 |
Development | 开发 | 82 | 88 |
·· Analysis | 需求分析 (包括学习新技术) | 6 | 10 |
· Design Spec | · 生成设计文档 | 5 | 6 |
· Design Review | · 设计复审 (和同事审核设计文档) | 4 | 6 |
· Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 3 | 3 |
· Design | 具体设计 | 10 | 12 |
· Coding | 具体编码 | 36 | 21 |
· Code Review | · 代码复审 | 7 | 9 |
· Test | · 测试(自我测试,修改代码,提交修改) | 13 | 21 |
Reporting | 报告 | 9 | 6 |
·· Test Report | · 测试报告 | 3 | 2 |
· Size Measurement | 计算工作量 | 2 | 1 |
· Postmortem & Process Improvement Plan | · 事后总结 ,并提出过程改进计划 | 3 | 3 |