stage1:代码编写+单元测试

PSP表格

PSP2.1

PSP阶段

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

15

15

Estimate

估计任务需要多少时间

25

30

Development

开发

100

100

Analysis

需求分析

20

20

Design Spec

生成设计文档

20

15

Design Review

设计复审

20

15

Coding Standard

代码规范

20

15

Design

具体设计

20

25

Coding

具体编码

60

60

Code Review

代码复审

20

30

Test

测试

60

80

Reporting

报告

80

95

Test Report

测试报告

30

50

Size Measurement

计算工作量

30

25

Postmortem

总结

20

20

合计

530

560

我主要负责将排序后的单词和词频输出到文件。代码实现:

public class Output {

    public static void output(ArrayList<Entry<String, Integer>> list, File outputFile) throws IOException{

          if(outputFile==null){

             outputFile=new File("result.txt");

             }

            //FileWriter fW=new FileWriter(outputFile,true);

          FileWriter fW=new FileWriter(outputFile);

             BufferedWriter bw=new BufferedWriter(fW);

        bw.close();

    }

}

测试用例设计:

Test Case ID测试用例编号

Test Item 测试项(即功能模块或函数)

Test Case Title 测试用例标题

Test Criticality重要级别

Pre-condition预置条件

Input 输入

Procedure 操作步骤

Output预期结果

Result实际结果

Status是否通过

Remark备注(在此描述使用的测试方法)

1-5

输出控制模块

单词种类<=5,词频<=10

H

wcPro.exe

参数数量错误

参数数量错误

黑盒测试

6-10  

输出控制模块

单词种类<=5,词频不定

H

wcPro.exe -a  test.txt

参数数量错误

参数数量错误

黑盒测试

11-15

输出控制模块

单词种类>=6,词频<=10

H

wcPro.exe -a

参数数量错误

参数数量错误

黑盒测试

16-20

输出控制模块

单词种类>=6,词频不定

H

wcPro.exe test.c

输入格式错误

输入格式错误

黑盒测试

单元测试运行结果:

 

小组贡献:因为编程能力不够,只完成了控制输出的部分,贡献率为0.13.

组员代码评价

选择刘博谦(17070)的代码进行分析

// 词频排序
public static ArrayList<String> sort(HashMap<String, Integer> map) {
// 以Key进行排序
TreeMap treemap = new TreeMap(map);
// 以value进行排序
ArrayList<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(
treemap.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
public int compare(Map.Entry<String, Integer> o1,
Map.Entry<String, Integer> o2) {
// 降序
return o2.getValue() - o1.getValue();
// 升序 o1.getValue() - o2.getValue())
}
});
ArrayList<String> str = new ArrayList<String>();
int i = 0;
for (Map.Entry<String, Integer> string : list) {
// 排除-与空格
if (!(string.getKey().equals("")) && !(string.getKey().equals("-"))) {
str.add(string.getKey());
str.add(string.getValue().toString());
// 输出前1000个单词
if (i > 1000)
break;
i++;
}
}
return str;
}

刘博谦的代码遵守了《阿里巴巴Java开发手册》第二条的强制规定,代码命名规范,无需改进。

开发规范

阿里巴巴Java开发规范手册

参考资料:

《阿里巴巴JAVA开发手册》

https://wenku.baidu.com/view/87c4d56c7e21af45b307a88d.html

第4周小组作业:WordCount优化的更多相关文章

  1. HUST软测1504班第4周小组作业成绩:WordCount优化

    说明 本次公布的成绩为第四周作业的结果: 第4周小组作业:WordCount优化 博客推荐:本次作业有一位同学完成有创意,推荐优秀博客.(优秀博客不会对成绩带来正面或者负面影响)PS:做任何创新的任务 ...

  2. HUST软测1504班第6周小组作业成绩

    说明 本次公布的成绩为第6周小组作业的结果: 第6周小组作业:WordCount(详情见毕博平台) 如果同学对作业结果存在异议,可以: 在毕博平台讨论区的第6周作业第在线答疑区发帖申诉. 或直接在博客 ...

  3. 软件测试第4周小组作业:WordCount优化

    一.基本任务:代码编写+单元测试 1.Github地址: https://github.com/Wegnery/New_WordCount 2.PSP2.1表格 PSP2.1 PSP阶段 预估耗时 ( ...

  4. 第四周小组作业:Wordcount优化

    1.小组github地址 https://github.com/muzhailong/wcPro 2.PSP表格 PSP2.1 PSP阶段 预计耗时(分钟) 实际耗时(分钟) Planning 计划 ...

  5. WordCount优化-第四周小组作业

    一.基本功能 GITHUB项目地址:https://github.com/LongtermPartner/ExtendWordCount PSP表格填写: PSP2.1 PSP阶段 预估耗时 (分钟) ...

  6. 软件质量与测试--第二周作业 WordCount

    github地址: https://github.com/wzfhuster/software_test_tasks psp表格: PSP2.1 PSP 阶段 预估耗时 (分钟) 实际耗时 (分钟) ...

  7. WcPro项目(WordCount优化)

    1 基本任务:代码编写+单元测试 1.1 项目GitHub地址 https://github.com/ReWr1te/WcPro 1.2 项目PSP表格 PSP2.1 PSP阶段 预估耗时(分钟) 实 ...

  8. WordCount优化

    Github 地址:chaosrings/wcPro 1.PSP2.1表格 psp 2.1 psp阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 10 10 Estimate 估计这 ...

  9. cousera 深度学习 吴恩达 第一课 第二周 学习率对优化结果的影响

    本文代码实验地址: https://github.com/guojun007/logistic_regression_learning_rate cousera 上的作业是 编写一个 logistic ...

随机推荐

  1. Game Engine Architecture 8

    [Game Engine Architecture 8] 1.Differences across Operating Systems • UNIX uses a forward slash (/) ...

  2. Java Web解决跨域请求

    要知道跨域请求就要先了解同源策略,那么什么是同源?什么是不同源?简单来说就是,如果两个资源,包括HTML页面.JavaScript脚本.css样式,对应的协议.域名和端口完全相同,那么这两个资源就是同 ...

  3. Android 网络编程的陷阱

    陷阱一,不要在主线程或者UI线程中建立网络连接 Androd4.0以后,不允许在主线程中建立网络连接,不然会出现莫名其妙的程序退出情况.正确的做法是在主线程中,创建新的线程来运行网络连接程序. // ...

  4. spring boot + apache camel 传输文件

    一 sftp搭建略 这里简单说一下为什么使用sftp.ftp和sftp各有优点,差别并不是太大.sftp安全性好,性能比ftp低.ftp对于java来说并不复杂,效率也高.之所以使用sftp主要是可以 ...

  5. python多线程的学习

    0x00.前言 学了一下python的多线程,threading模块 感觉挺有意思的,随便练手写了一个很粗陋的windows下多线程扫在线ip的脚本 脚本没什么技术含量,纯粹练手,扫一趟192的局域网 ...

  6. hdu4622(hash解法)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4622 Now you are back,and have a task to do:Given you ...

  7. oracle 锁表sql 解锁

    1.select  *  from  v$locked_object; 查看具体的 : select  session_id , oracle_username, process from v$loc ...

  8. ubuntu 中 vim 的使用

    安装 sudo apt install vim vim  file_name #创建或者打开文件 vim file_name 定位到文件开头 vim file_name + 定位到文件末尾 vim f ...

  9. c#gridcontrol 的一些设置

    1:单元格变色,当鼠标点击到单元格的时候, 可能我们是想选择整个行,而此时gridview 默认设置是点击单元格整个行变色,这个点击的单元格变白色, 整行选择感觉有断层 于是和可以这么设置 设置Gri ...

  10. ECMA262学习笔记(二)

    Property特性:特性用于定义和解释命名属性的状态. ECMAScript建立执行环境: 解释执行全局代码或使用eval函数输入的代码会创建并进入一个新的执行环境.每次调用ECMA脚本代码定义的函 ...