第4周小组作业:WordCount优化

一、源代码地址

https://github.com/Fish2333333/WordCountPro

二、PSP表格

PSP2.1

PSP阶段

预估耗时

(分钟)

实际耗时

(分钟)

Planning

计划

 20

 20

· Estimate

· 估计这个任务需要多少时间

 20

 20

Development

开发

 380

 420

· Analysis

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

 50

 50

· Design Spec

· 生成设计文档

 50

 50

· Design Review

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

 50

 50

· Coding Standard

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

 50

 50

· Design

· 具体设计

 50

 70

· Coding

· 具体编码

 50

 70

· Code Review

· 代码复审

 40

 40

· Test

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

 40

 40

Reporting

报告

 100

 100

· Test Report

· 测试报告

 40

 40

· Size Measurement

· 计算工作量

 30

 30

· Postmortem & Process Improvement Plan

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

 30

 30

 

合计

 500

 540

 

 

 三、模块编写

本次作业我主要负责读取文件模块。先对输入进行有效性判断,识别无效输入并进行错误处理,获取有效数据,然后将单词按词频排好序,并将结果输出到log.txt文件中。代码如下:

 1 BufferedReader br = new BufferedReader(new FileReader("E:/test.txt"));    
 2         List<String> lists = new ArrayList<String>();  //存储过滤后单词的列表    
 3         String readLine = null;  
 4         while((readLine = br.readLine()) != null){    
 5             String[] wordsArr1 = readLine.split("[^a-zA-Z]");  //过滤出只含有字母的    
 6             for (String word : wordsArr1) {    
 7                 if(word.length() != 0){  //去除长度为0的行    
 8                     lists.add(word);    
 9                 }    
10             }    
11         }

四、测试用例设计

Test Case ID 测试用例编号

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

Test Criticality重要级别

Pre-condition 预置条件

Input 输入

Result
实际结果

Status
是否通过

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

WC_Load_01

读取文件

High

从文件读取

test.txt

TRUE

OK

对判定的测试

WC_Load_02

test.TXT

TRUE

OK

对判定的测试

WC_Load_03

Test.cpp

FALSE

OK

对判定的测试

WC_Load_04

Test.c

FALSE

OK

对判定的测试

WC_Load_05

test_1.txt

TRUE

OK

对判定的测试

WC_Load_06

test.TXt

TRUE

OK

对判定的测试

WC_Load_07

test.java

FALSE

OK

对判定的测试

WC_Load_08

test_2.c

FALSE

OK

对判定的测试

WC_Load_09

修改文件内容后读取

OK

边界值,判定

WC_Load_10

how are you

how,are,you

OK

对判定的测试

WC_Load_11

I am ok

I,am,ok

OK

对判定的测试

WC_Load_12

hey,you

hey,you

OK

对判定的测试

WC_Load_13

hello

hello

OK

对判定的测试

WC_Load_14

hey you

hey,you

OK

对判定的测试

WC_Load_15

hey\tyou

hey,you

OK

对判定的测试

WC_Load_16

hey,you

hey,you

OK

对判定的测试

WC_Load_17

hey    you

hey,you

OK

对判定的测试

WC_Load_18

hey,you,i

hey,you,i

OK

对判定的测试

WC_Load_19

hey,you\ti

hey,you,i

OK

对判定的测试

WC_Load_20

hey you,i

hey,you,i

OK

对判定的测试

 

五、小组评价得分

本次小组成员都完成了各自的任务,在大家的合作之下完成了本次作业。通过这次实验,我对测试用例的编写有了更深的认识,对文件的读取功能也能更加熟悉地运用,小组最终评分0.25

 

扩展任务

1. 代码规范说明

代码规范参考了Google的C++风格指南。也参考了邹欣老师在讲义“现代软件工程讲义 3 代码规范与代码复审”中提到的规范其中对于类定义,变量名,注释等等部分的说明。

2. 同组代码评审

我分析了其他组员的代码,运行结果无误,程序稳定性良好,在代码的注释和变量名的选择上还能进一步提高,基本符合代码规范。

3. 静态代码扫描

我使用的是myEclipse的代码静态检查机制。

posted @ 2018-04-08 19:58  谢奇光  阅读(191)  评论(1)    收藏  举报