2016012060+小学四则运算练习软件项目报告

项目源码地址:https://git.coding.net/wangzy111/project1.1.git

一.需求分析

(1) 每个数字不能过大,运算符不能过多。由此也可与功能要求中题目属性对应:每个数字在0-100之间,运算符3-5之间

(2) 运算过程中不能出现负数

(3) 运算过程中不能出现非整数

二.功能设计

(1)当输入一个参数n,随机产生n道四则运算题。保证在算数过程中,不出现负数,和小数。

(2)学生可以在试卷上写学号与生成的n道练习题及其对应的正确答案输出到文件“express.txt”中

三.设计实现

(1)依赖IK Expression库,可扩展的,基于java语言开发的一个超轻量级的公式化语言解析执行工具包。(())

(2)main类

 

功能:是主函数,包含 public static void main(String[] args) 方法。并且包含判断 输入的参数是否为整数的 函数,如果不是函数,可提示用户重新输入。

 

目的:确保用户输入满足要求的整数的参数(产生四则运算数量1-1000,每个四则运算包含运算符3-5)

 

 

四.算法分析

核心算法在Ik expressio这个库,它是一个表达式解析引擎,程序中设定了一个 a+ b? c,?在运行中,随机变成一个运算符

五.测试运行

六.代码展示

(1)程序中设定了一个 a+ b? c,?在运行中,随机变成一个运算符

public class Main
{
    
static String expression="a-b?c";
    
static String[] doing={"+","-","*"};
    
    
static FileWriter w;
    
public static void main(String[] args) throws IOException
    
{
        
w=new FileWriter(new File("/storage/emulated/0/360/MyJavaConsoleApp10/express.txt"),true);
        
Scanner sc=new Scanner(System.in);
        
System.out.print("出题数量:");
        
int i=sc.nextInt();
        
System.out.println("学号:"+"");
        
        
for(int ii=0;ii<i;ii++){
            
expression="a-b?c";
            
test1();
        
}
        
w.close();
    
}

(2)调用ik expression库

Object result = ExpressionEvaluator.evaluate(expression, variables);  

七.感想与总结

        感想:看着这样一个题目,确实无法入手,因为以前几乎不怎么做项目,但是真的埋头进去做的过程中可以学到很多东西,遇到麻烦就百度,技术不够就到处查,同学、朋友、慕课,把这个项目一点一点的啃下来之后还是非常开心的。虽然还有非常多的地方不合理,甚至连客户需求都没有完全实现,但是以我目前的水平已经尽力做到足够好了,希望能够不断的累积,一个项目比一个项目上一层楼。今天是3月25日,就把这个很多次昏天黑地才勉强完成的任务当做自己的生日礼物把。由于时间关系,这个项目就这样提交吧,但是这个毕竟是第一个,以后还会把它进一步完善。室友和一些同学为了今天晚上的生日能够吃一顿饭,大家都很努力的在做,遇到问题相互帮助,这种氛围真的很令人享受。

          项目总结:模块化程序设计即模块化设计,属于计算机编程,简单地说就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系。我知道他可以让思路更加清晰,但是我但是糊里糊涂的,可能第一次的关系吧,如果不用这种方法,可能会更加糊涂。

八.psp

时间不一定准确,实际时间都远远高于计划时间,总之昏天黑地的做

PSP2.1

任务内容

计划共完成需要的时间(min)

实际完成需要的时间(min)

Planning

计划

                 10

60

·        Estimate

·   估计这个任务需要多少时间,并规划大致工作步骤

                 10

130

Development

开发

3*60

25*60

·        Analysis

·         需求分析 (包括学习新技术)

               10*60

4*60

·        Coding Standard

·         代码规范 (为目前的开发制定合适的规范)

                   10

30

·        Design

·         具体设计

                   60

160

·        Coding

·         具体编码

 

14.5*60

·        Code Review

·         代码复审

                  

60

·        Test

·         测试(自我测试,修改代码,提交修改)

                  60

5*60

Reporting

报告

                 10

4*60

·         Size Measurement

·         计算工作量

                 10

10

·         Postmortem & Process Improvement Plan

·         事后总结, 并提出过程改进计划

                 100

40


posted @ 2018-03-25 11:32  wangzy111  阅读(162)  评论(3编辑  收藏  举报