您的位置:首页 > 其它

个人作业1——四则运算题目生成程序(基于控制台)

2017-02-28 11:06 323 查看

Deadline:

2017-3-8 12:00AM,以博客发表日期为准。

评分基准:

按时交 - 有分,检查的项目包括后文的四个方面

题目要求

个人软件过程耗时估计与统计表

代码提交

博文规范

晚交 - 0分

迟交两周以上 - 倒扣本次作业分数

抄袭 - 倒扣本次作业分数

题目描述:

看了大家对于本课程的目标和规划,很多同学都希望能提高自己的实践能力,没有捷径可走,就是练习、练习再练习!那么就从第一个个人项目开始吧,用一周的时间完成一个基于控制台的四则运算程序,实现一个自动生成小学四则运算题目的命令行程序

从《构建之法》第一章的 “程序” 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 “软件”,满足以下需求:

除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24

运算符为 +, −, ×, ÷

并且要求能处理用户的输入,并判断对错,打分统计正确率。

要求能处理用户输入的真分数, 如 1/2, 5/12 等

使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目

Myapp.exe -n 10

个人软件过程:

在开始实现程序之前,理解下Personal Software Process Stages(http://www.cnblogs.com/xinz/archive/2011/10/22/2220872.html)

在开始实现程序之前,请使用以下PSP表格,在第3列填上自己对每个环节的估计时间(单位:分钟).

在做每个环节的过程中,请在第4列填上对应环节的实际消耗时间(单位:分钟).

在软件开发中,掌握估计时间是一项重要的技能,请通过PSP表格做到

a.厘清开发的完整环节,争取在每个环节都有实际的工作,一开始边界不清楚是正常的,但请尝试按自己的理解去努力在对应环节做实际的工作。

b.预估每个环节的时间,并真实统计这些环节的耗时,在完成后输出完整的PSP耗时估计表。

c.注意:该表格是给自己看的,不要伪造数据!

d.PSP模版表格如下,第3列和第4列分别对应第2列条目的估计时间和真实时间,模版表格里的时间只是示意。

PSP2.1 Personal Software Process StagesTime Senior StudentTime
Planning 计划 86
· Estimate 估计这个任务需要多少时间 8 6
Development开发8288
· Analysis需求分析 (包括学习新技术)610
· Design Spec生成设计文档56
· Design Review设计复审46
· Coding Standard代码规范33
· Design具体设计1012
· Coding具体编码3621
· Code Review代码复审79
· Test测试(自我测试,修改代码,提交修改)1321
Reporting报告96
·测试报告32
·计算工作量21
·并提出过程改进计划33

代码提交:

提交你的源代码和可执行程序至你的coding.net地址

a.怎样使用git提交代码到coding.net? 参考,考验你强大自学能力的时刻到了:

http://rogerdudler.github.io/git-guide/index.zh.html

http://www.cnblogs.com/hebau-may/p/6382743.html

b.需要提交的应该有

项目的工程文件,例如Eclipse的项目文件

项目的源代码

一些必要的配置

单独创建一个public子目录,存放编译后的可执行程序,这不是标准的软件发布的做法,但是目前你这样先提交可以。

c.不应该提交的有:

bin目录

obj目录

可以在根目录下创建一个.gitignore文件,把需要忽略的文件夹和文件相对路径逐行添加进去,这样git 提交的时候就会忽略这些子目录和子文件。

博文的一开始需要写明你注册的 coding 地址

博文规范

提交的博客必须完整包含下面五个部分

a.需求分析,即使老师已经给出了题目,也要对题目的需求做分析,需求分析可以是自己的思考分析,也可以是找小学老师,学生甚至家长调查后挖掘出更细致的需求,别小看这个过程,请真实的做这个过程。

b.功能设计,题目的需求,以及从真实调研里获得的需求后,要对程序做基本的功能设计,有同学会问:“不就是出题嘛,有啥好设计的?”,其实, 题目里要求的只是基本的要求,自己思考和调研会有超出题目要求的需求,甚至你有天才的设计,作出特色的功能。因此,功能会有:

基本功能

扩展功能

高级功能

c.设计实现,设计包括代码如何组织,你会有哪些Java类,这些类分别负责什么功能,他们之间的关系怎样?你会设计哪些重要的函数,关键的函数是否需要画出流程图?

d.代码说明,你一定花了最多时间在代码的编写与调试上,那么,这个环节请把你的重要代码展示出来,代码的排版请做好。

e.测试运行,你的程序必须是可运行的,请展示你的程序运行的截图,包括题目要求的所有需求,都有运行的截图。说明你的程序确实完成了所有需求,如果有实现了扩展需求或者高级需求,也请大方秀出来。

展示PSP,这个环节重要的是让自己看到自己的估计和实际消耗时间,哪个环节耗时最多,哪个环节估计失败?为什么?

小结。如果,如果所有的环节你都认真做了,那么,此处你应该会有很多经验愿意与大家分享。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: