201671010448 杨巧丽 《英文文本统计分析》结对项目报告

实验四 软件工程结对项目

博文简要信息表:

项目内容
这个作业属于哪个课程(https://www.cnblogs.com/nwnu-daizh/)
这个作业的要求在哪里(https://www.cnblogs.com/nwnu-daizh/p/10569690.html)
课程学习目标熟悉软件开发整体流程,提升自身能力
本次作业在哪个具体方面帮助我们实现目标第一次体验一个完整的工程

点评信息

点评博客:(https://www.cnblogs.com/sixinjie/p/10562250.html)
Github链接地址:(https://github.com/1615087343/cipin/find/master
点评内容:博主你好,阅读完你的博文后,博文结构很完善。博文内容方面较为完善,基本上实现了实验要求所达到的目标。对于词频统计方面没有实现柱状图这一点,相信博主在之后的开发过程中加以改进,最后实现。从PSH展示环节可以看出,博主的计划明确,时间分配合理,可以顺利地开发出软件,从PSP“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化可以看出,实际所用时间总是超出计划时间,对开发的不熟练和对程序语言的差异化导致实际时间总是超过计划时间。在以后的学习中继续努力共同进步。
点评心得:通过点评,我发现,我存在很多不足。互评这种方式,可以让我们彼此之间相互学习,共同进步,也可以发现对方的优点自己的不足,取长补短,节省时间,最后开发之后的结对软件。

源码地址:(https://github.com/healer-devil/ydm)

结对项目实施过程

需求分析
1.可处理用户任意输入的英文文本
2.统计该文本的行数及字符数功能
3.指定单词词频统计功能
4.前k个高频词的输出
5.统计该文本的单词数,然后输出到result.txt文件。
6.统计功能耗时
7.GUI人机交互界面
8.统计文本除冠词、代词、介词之外的高频词
  • 核心功能代码展示
        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;
    }   
程序运行

1614517-20190402231813354-1466608395.png
1614517-20190402231828385-815557353.png
1614517-20190402231847555-1379006341.png

柱状图

1614517-20190402231920313-1246407682.png

显示程序耗时

1614517-20190402231941199-690334646.png

读入文件及人机交互

1614517-20190402232014140-2092378685.png

附加功能无能为力啊啊啊啊啊啊啊啊啊啊

结对照片

1614517-20190402223439823-1592287572.jpg

PSP展示

PSP2.1任务内容计划共完成需要的时间(min)实际完成需要的时间(min)
Planning计划5560
· Esitimate估计这个任务需要多少时间,并规划大致工作步骤350400
· Development开发500600
· Analysis需求分析(包括学习新技术)6050
· Design Spec生成设计文档2015
· Design Review设计复审(和同事审核设计文档)3030
· Coing Standard代码规范(为目前开发制定合适的规范)2020
· Design具体设计4035
· Coding具体编码500600
· Code Review代码复审79
· Test测试(自我测试,修改代码,提交修改)1725
· Reporting报告1015
· Test Report测试报告1522
· Size Measurement计算工作量55
· Postmortem&Process Improvement Plan事后总结,并提出过程改进计划1010

小结感受:需求分析方面,因为是老师所给要求,只是理解含义即可,在开发和代码编写上花费大量时间,错误频繁出现,一直报错,一直修改,很崩溃。修改完最后一处错误时很欣喜。在结对中我们相互促进,共同寻找实现的方法,由于技术方面的不足,附加功能没有实现。PSP展示了我们的开发过程,计划赶不上变化,实际操作的时间远远大于计划时间,程序语言方面存在很大问题,开发过程的经验也很欠缺,还需要多多练习。嘻嘻,最后了感觉作业难度真的好大,好难,下次是不是更难了?

转载于:https://www.cnblogs.com/healerdevil/p/10644920.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值