集美大学1414班软件工程个人作业1——四则运算题目生成程序(基于控制台)

作业链接

http://www.cnblogs.com/HQL0301/p/7502315.html

Deadline:

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

评分基准:

  • 按时交 - 有分,检查的项目包括后文的四个方面
    1. 题目要求
    2. 个人软件过程耗时估计与统计表
    3. 代码提交
    4. 博文规范
  • 晚交 - 0分
  • 迟交两周以上 - 倒扣本次作业分数
  • 抄袭 - 倒扣本次作业分数

注意:下述的(a) (b) (c) (d)中的条目均为简要,详细请参阅黄老师作业要求

(a) 题目要求

  1. 使用 -n 参数控制生成题目的个数
  2. 使用 -r 参数控制题目中数值
  3. 生成的题目中如果存在形如e1 ÷ e2的子表达式,那么其结果应是真分数
  4. 每道题目中出现的运算符个数不超过3个
  5. 程序一次运行生成的题目不能重复,即任何两道题目不能通过有限次交换+和×左右的算术表达式变换为同一道题目
  6. 生成的题目存入执行程序的当前目录下的Exercises.txt文件
  7. 在生成题目的同时,计算出所有题目的答案,并存入执行程序的当前目录下的Answers.txt文件
  8. 程序应能支持一万道题目的生成
  9. 程序支持对给定的题目文件和答案文件,判定答案中的对错并进行数量统计,并会输出所有题目中重复的题目
  10. 统计结果输出到文件Grade.txt

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

 详细请参考这里

(c) 代码提交

  1. 博文一开始需要写明本本次作业的项目地址。如果在博文中引用了哪个文件,以超链接的形式添加引用。
  2. 在项目的根目录创建一个名为`README.md`的文件,对本程序作一个简单介绍
  3. 项目的工程文件,例如Eclipse的项目文件
  4. 项目的源代码
  5. 一些必要的配置
  6. 单独创建一个public子目录,存放编译后的可执行程序

(d) 博文规范

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

  1. 需求分析
  2. 功能设计
  3. 设计实现
  4. 代码说明
  5. 测试运行

工程部分

1、readme书写普遍不符合基本的规范甚至根本没有任何内容,只有字大行稀的几个描述,会使得阅读的过程非常痛苦,有的同学会说我的介绍都在博客里了,那何不将博客的内容稍加整理使得readme更加易读呢,或者最次留个博客的链接也会更加规范一些。可以参看这里 How to write a good readme

2、交互方式存在问题按照作业的要求应该是命令行参数式交互的,而不是人跟console窗口一直交互下去,建议同学们看一下命令行参数解析部分的内容。

3、实现上有过分简化题目需求的嫌疑,比如有的同学心想既然每道题的操作符不超过三个,那么只有一个操作符太弱了,三个又太多了,那我索性把所有的生成的式子都手动规定只有两个运算符吧。

4、还有的同学现在还在使用定长数组,Java和C++以及Python中的动态数据类型是非常好用的,希望下次能避免这样的问题。

5、没有在相应的类中定义分数运算函数有的同学不习惯于将计算转换为分数操作,只想使用程序自身的加减乘除运算函数,导致分数表示出现各种障碍。

6、最可怕的是有部分同学没有认真理解项目的需求,比如说基本的保存文件的格式,写对的同学不在多数,这种问题其实无关技术,只为真心,只要稍微用下心来就完全不会犯错的。

7、没有对项目的文件做一个最小化的处理,在提交作业的过程中有的同学把所有的东西都提交了,这就显得很不专业,建议大家在提交作业的时候可以查阅一下不同语言的项目可运行的充要文件是什么而不是把自己的测试生成的无关文件一股脑提交,给代码的审阅审阅测试工作造成诸多不便。

8、遗憾的是有的同学的代码存在基本的语法错误这是非常低低级的错误。在交付用户的时候是要被一锤子打死的。可以功能不全留待以后迭代完善,但至少要保证代码的可运行。

博客部分

1、需求分析太简短,甚至有人坦白承认没有详细去看题目要求,导致对题目的曲解非常多

2、博客的主要函数说明太笼统没有提纲挈领,同时由于readme也不是十分详细,导致在审查代码的时候一份工程有好多个主函数,助教不能准确找出哪一个是符合工程要求的,因为有的主函数运行是出错的,可见大家的代码结构也不是十分清晰,可能是写着写着自己也已经晕头转向了。

3、功能设计是要分三个层次的:基本、拓展、高级。大部分同学没有按照这种方式来进行分析。

4、测试部分是需要和需求分析对应的,这部分属于功能测试,大部分同学用截图的方式展现了出来;还需要有性能测试即运行时间等。建议大家列出表格逐点说明。

  是否实现/实现到什么程度 是/否
功能测试 功能1  
功能2  
功能3  
功能4  
性能测试 性能1  
性能2  

 总结:

这次作业的所有代码我都运行了,虽然语言不同但是对大家的基本代码能力有了初步的了解。主要问题是大家还是对需求分析理解不到位,同时,因为大家都比较忙所以时间规划做得也不是很好,希望能在第二次作业的过中帮助大家一起做好时间规划。

posted @ 2017-09-26 12:27  whenever  阅读(323)  评论(1编辑  收藏  举报