第四周作业

Posted zuokun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四周作业相关的知识,希望对你有一定的参考价值。

1.github地址:https://github.com/husterC/WordCountGroupwork

2.psp表格:

PSP2.1  PSP阶段 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 20 30
Estimate 估计这个任务需要多少时间 20 30
Development 开发 300 400
Analysis 需求分析(包括学习新技术) 40 60
Design Spec 生成设计文档 25 35
Design Review 设计复审(和同事审核设计文档) 30 30
Codind Standard 代码规范(为目前的开发制定合适的规范) 30 30
Design 具体设计 40 40
Coding 具体编码 40 60
Code Review 代码复审 30 30
Test 测试(自我测试,修改代码,提交修改) 50 60
Reporting 报告 30 60
Test Report 测试报告 30 40
Size Measurement 计算工作量 15 20
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 25 25
  合计 720 950

3.词频统计

WordFrequency类接受单词数组,统计每个单词出现的频率次数

package Test;

import java.util.ArrayList;

public class WordFrequency {
    public static String[][] WordFrequency(ArrayList<String> list){        
        String res[] = new String[1000];
        int num[] = new int[1000];
        int i,j;
        int sum = 0;
        boolean state;
        for(i=0;i<list.size();i++) {
            state = false;
            if(i==0) {
                res[sum] = list.get(0);
                num[0]++;
                sum++;
            }
            else {
                for(j=0;j<sum;j++) {
                    if(res[j].equals(list.get(i))) {
                        num[j]++;
                        state = true;
                        break;
                    }
                }
                if(state == false) {
                    res[sum] = list.get(i);
                    num[i]++;
                    sum++;
                }
            }
        }
        String[][] str = new String[sum][2];
        for(i=0;i<sum;i++) {
            str[i][0] = res[i];
            str[i][1] = String.valueOf(num[i]);
        }
        return str;
    }
    
    public static void main(String args[]) {
        ArrayList<String> list =  new ArrayList<String>();
        String res[][];
        list.add("aaa");
        list.add("bbb");
        list.add("cccc");
        list.add("cccc");
        res = WordFrequency(list);
        for(int i=0;i<res.length;i++) {
            for(int j=0;j<res[i].length;j++) {
                System.out.print(res[i][j]+" ");
            }
            System.out.println();
        }
    }
}

4.测试设计:测试用例覆盖了全部判断语句

 

5软件静态检查

 

 

5.小组贡献

 0.18

6.同行评审

 准备阶段:在小组成员的讨论下,不准备召开预备会议。

成员分工:

作者:17045 17054 17059 17060

记录员:17045

讲解员:17059 17060

评审员:17045 17054 17059 17060

主持人:17054

评审目的:

提高程序效率,使运行时间减少、内存使用减少,代码规范性,功能正确性

 评审流程:

讲解员讲解程序的需求
每位作者讲解自己的代码和思路
作者讲解时,剩下的组员进行评审并达成共识

发现的代码规范问题缺陷如下:

1.函数头没有该函数功能、参数类型、返回值类型的注释
2.注释使用中文可能导致编码错误
3.类的方法名首字母不能大写
4.条件或循环语句内部只有一条语句时,也需要用花括号
5.部分变量命名不规范,导致语义不清楚,比如File f,应该用fileName
6.相关变量必须用下划线表示,比如s_1,s_2,不能写为s1,s2
7.不同变量的定义不能在同一行完成

性能方面的问题:

1.插入排序速度慢
2.定义数组的时候一次性开固定数字的空间,有可能导致内存浪费,更严重可能因为开设不够,导致程序出错。

功能方面:

测试结果正确。

结论:

此次评审代码运行正常,预期需求实现良好,但是在代码规范性上有所欠缺,给评审过程带来了一些麻烦,有待改进。
在功能方面需要改进排序算法和解决数组空间问题。

不足与困难:
缺少评审经验,在评审过程中浪费了一些时间。

记录员记录评审内容。

主持人宣布会议结束。  

以上是关于第四周作业的主要内容,如果未能解决你的问题,请参考以下文章

软件项目管理第四周作业

第四周作业

软件工程第四周作业代码规范

第四周作业。

第四周小组作业wcPro

第四周作业四