201671010430 司昕劼+《英文文本统计分析》结对项目报告

项目 内容
软件工程 http://www.cnblogs.com/nwnu-daizh/
做业要求 http://www.javashuo.com/article/p-bjcswxqf-ma.html
课程学习目标 熟悉软件开发总体流程,提高自身能力

点评信息

点评的博客地址 http://www.javashuo.com/article/p-vvchtaag-ex.html
github连接地址 https://github.com/healer-devil/yuandaima/blob/master/src/danci.java
评论与心得 你好,在阅读完你的博客以后。从博文结构上来说,博文很完设善。可是在博文内容上来说,在设计实现的时候,你并无说明设计中有哪些类,且类负责说明功能。也没有说你主要有什么方法,是怎样实现的。在设计实现这块很模糊。在测试运行阶段,只是给出了统计k个高频词的截图,且没有体现GUI功能界面,也没有输出到result.txt文件的截图。PSP中有些地方不合理,在开发阶段我以为至少比10分钟多。博文结构大致是跟着PSP的流程走的。PSP的计划时间大于实际时间,说明准备很充分。可是部分功能尚未彻底的实现,整体很是不错,值得学习和借鉴。

源码地址https://github.com/1615087343/zuoye3/tree/master/Demo

结对项目实施过程

  • 需求分析
    1.可处理用户任意输入的英文文本
    2.统计该文本的行数及字符数功能
    3.指定单词词频统计功能
    4.前k个高频词的输出
    5.统计该文本的单词数,而后输出到result.txt文件。
    6.统计功能耗时
    7.GUI人机交互界面
    8.统计文本除冠词、代词、介词以外的高频词html

  • 核心功能代码展现
setLayout(null);
        setBackground(Color.cyan);
        setSize(600, 300);
        setVisible(true);
        btn1 = new Button("打开");
        btn2 = new Button("保存");
        btn3 = new Button("关闭");
        tarea = new TextArea("");
        add(btn1);
        add(btn2);
        add(btn3);
        add(tarea);
        tarea.setBounds(30, 50, 460, 220);
        btn1.setBounds(520, 60, 50, 30);
        btn2.setBounds(520, 120, 50, 30);
        btn3.setBounds(520, 180, 50, 30);
        op = new FileDialog(this, "打开", FileDialog.LOAD);
        sv = new FileDialog(this, "保存", FileDialog.SAVE);
        btn1.addActionListener(this);
        btn2.addActionListener(this);
        btn3.addActionListener(this);
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                setVisible(false);
                System.exit(0);
            }
        });

//统计该文本行数及字符数
    public int[] allCount(String fileName) throws IOException {
        long a =System.currentTimeMillis();//初始化开始时间
        String line = fileName;
        File file = new File(line);
        InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "utf-8");
        BufferedReader br = new BufferedReader(isr);
        int charNum = 0;// 字符数
        int wordsNum = 0;// 数字数
        int lineNum = 0;// 行数
        // 以流的形式读入文件
        while (br.read() != -1) {
            String s = br.readLine();
            charNum += s.length();
            wordsNum += s.split(" ").length;
            lineNum++;
        }
        isr.close();// 关闭
        int[] linenum = { charNum, wordsNum, lineNum, };
        for (int i = 0; i < linenum.length; i++) {
            System.out.println(linenum[i]);
        }
        System.out.println("字符数:"+charNum+"\n单词数:"+wordsNum+"\n行数:"+lineNum);
        System.out.println("\r执行耗时:"+(System.currentTimeMillis()-a+"ms"));//输出耗时时间
        return linenum;
    }
  • 程序运行


    java

  • 柱状图

    显示程序耗时

    读入文件及人机交互
    git

因我的能力问题,没有作出来附加功能。github

-结对照片
学习

PSP2.1 任务内容 计划共完成须要的时间(min) 实际完成须要的时间(min)
Planning 计划 55 60
· Esitimate 估计这个任务须要多少时间,并规划大体工做步骤 350 400
· Development 开发 500 600
· Analysis 需求分析(包括学习新技术) 60 50
· Design Spec 生成设计文档 20 15
· Design Review 设计复审(和同事审核设计文档) 30 30
· Coing Standard 代码规范(为目前开发制定合适的规范) 20 20
· Design 具体设计 40 35
· Coding 具体编码 500 600
· Code Review 代码复审 7 9
· Test 测试(自我测试,修改代码,提交修改) 17 25
· Reporting 报告 10 15
· Test Report 测试报告 15 22
· Size Measurement 计算工做量 5 5
· Postmortem&Process Improvement Plan 过后总结,并提出过程改进计划 10 10

小结感觉:根据PSP表能够发现,咱们在开发的时候是很耗时的,并且还会频繁出错,而后再去从新写。因此作好需求分析准备工做是必要的。在合做过程当中,咱们商量作的任务,且两我的都互相完善所学知识,感受做业一次比一次难度增大,压力也很大。努力改进。

相关文章
相关标签/搜索