软件工程导论结对作业——用户界面四则运算

    大家好,这是我们对这次结对作业的思路与感悟,感谢您的阅读与支持!

一、任务概述

     完成一个带界面的四则运算出题软件,这个软件会为用户提供如下特色功能:

  1. 定制出题要求每次出题时用户都可以在界面上定制如下参数:题目数量,算式数值范围(仅包括原始题目与最终结果的绝对值的数值范围),题目中最多有多少个运算符,题目中是否包含乘除法,题目中是否包含括号。在点击相应出题按钮后将生成题目文件(不包含答案)。参考界面如下所示:

软件工程导论结对作业——用户界面四则运算_第1张图片

  1. 做题功能。出题后,用户可以开始答题
  2. 判题功能。用户答题过程中或者全部完成后可以判断对错,并统计分数和时间。
  3. 请同学们在结对两人中选择一个更优秀的项目作为项目的起点,在其基础上进行增量修改,根据以上修改自己的四则运算软件。
  4. 本次界面可以用网页版或客户端任何一种形式完成。

 

二、我们的思路

对于本次项目,我们首先挑选出了我们当中写的较为清晰的基础代码,并决定用网页版来实现。首先写好了前端页面,然后将后端的代码修改,最后用Jsp读取txt文本文档实现。

 

三、项目结构

软件工程导论结对作业——用户界面四则运算_第2张图片

四、部分源代码

后端核心:

import java.util.*;
import  java.lang.String;
import java.io.*;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import javax.script.*;

public class Main {
    public static void main(String[] args) throws IOException {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要生成的题目数量:");
        int t = scanner.nextInt();
        String path = "E:\\calculat\\result.txt";//输出路径
        String word = "Your four operations test:";
        BufferedWriter out = new BufferedWriter(//将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
                new OutputStreamWriter(new FileOutputStream(path,false)));
        out.write(word+"\r\n");
        out.write("\r\n");

        for(int j = 0;j

前端页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>



  
  出题程序
  
  
  
  







          Four mixed operations





 数值范围



 题目数量



 符号上限


     

     

 



 是否包含乘除法



 是否包含括号




 





 
 
 
 

读取txt文件代码:

<%
    //String filePath = request.getSession().getServletContext().getRealPath("/")+"JSP_Ajax"+"\\";
    //System.out.println("filePath=="+filePath);
    String path ="E:\\calculat\\";   // 这边文件目录需改成相对路径
    File file = new File(path,"result.txt");
    FileReader fr = new FileReader(file);  //字符输入流
    BufferedReader br = new BufferedReader(fr);  //使文件可按行读取并具有缓冲功能
    StringBuffer strB = new StringBuffer();   //strB用来存储jsp.txt文件里的内容
    String str = br.readLine();
    while(str!=null){
        strB.append(str).append("
"); //将读取的内容放入strB str = br.readLine(); } br.close(); //关闭输入流 %>


五、主页面展示 

软件工程导论结对作业——用户界面四则运算_第3张图片
六、PSP

PSP2.1

任务内容

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

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

Planning

计划

20

48

·        Estimate

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

20

48

Development

开发

74

105

·        Analysis

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

5

10

·        Design Spec

·         生成设计文档

2

6

·        Design Review

·         设计复审 (和同事审核设计文档)

1

6

·        Coding Standard

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

2

3

·        Design

·         具体设计

10

12

·        Coding

·         具体编码

36

39

·        Code Review

·         代码复审

5

9

·        Test

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

13

20

Reporting

报告

6

5

·         Test Report

·         测试报告

2

2

·         Size Measurement

·         计算工作量

1

1

·         Postmortem & Process Improvement Plan

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

3

2

 

 

七、小组感悟

本次作业设计的非常有趣,我们小组的两个人都比较有兴趣。首先是项目基础,我们对比了我俩的代码,选择了一个较好的项目作为项目的起点;其次是分工,我们一个人写前端,一个人写后端,然后一起在网上学习了bootstrap前端框架,最后一起结合了前后端,真正感受到了一个小型小组在项目里的分工合作。中途也遇到了非常多的BUG,有时为了改一个很小的BUG,也要花几个小时...但是看到最后我们的成果,觉得之前的一切辛勤劳动都是值得的。作为程序员,还有很长的路要走,加油吧!

 

你可能感兴趣的:(软件工程导论结对作业——用户界面四则运算)