第三次作业
Posted 张艺轩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三次作业相关的知识,希望对你有一定的参考价值。
一、项目GitHub地址
https://github.com/LXL1314/WordCount
二、项目PSP表格
PSP2.1 |
PSP阶段 |
预估耗时(分钟) |
实际耗时(分钟) |
Planning |
计划 |
20 |
20 |
· Estimate |
· 估计这个任务需要多少时间 |
240 |
180 |
Development |
开发 |
180 |
200 |
· Analysis |
· 需求分析 (包括学习新技术) |
60 |
60 |
· Design Spec |
· 生成设计文档 |
10 |
20 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
-- |
-- |
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
-- |
-- |
· Design |
· 具体设计 |
20 |
30 |
· Coding |
· 具体编码 |
80 |
80 |
· Code Review |
· 代码复审 |
30 |
30 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
10 |
30 |
Reporting |
报告 |
60 |
70 |
· Test Report |
· 测试报告 |
30 |
30 |
· Size Measurement |
· 计算工作量 |
10 |
10 |
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
60 |
30 |
|
合计 |
810 |
790 |
三、接口实现
接口设计
我负责的是文件处理框架和main函数,即对所有其他模块进行整合,将接口结合到一起。
设计思路:其实这个模块并不难。主要是要对整个软件的架构了然于胸,对各部分的函数灵活运用。先调用InputAnalysis对文件名进行审查,然后运行mainProcess函数对文件进行处理。在mainProcess函数中调用文件行处理模块的lineProcess函数,和排序模块的rankProcess。最后调用输出处理函数SaveResult对结果进行输出保存。 实现过程:/主函数,运行
package lxl;
import java.io.IOException;
public class Main {
public void runMain() throws IOException {
Input input=new Input();
if (input.isOneFileAndFormatRightFlag()) { //文件格式输入正确,则进行wordcount
input.setInputPath(input.getFiles()[0]);//set文件名
WordCount wc=new WordCount(input.getInputPath());
wc.runWordCount();//统计出的词频最高的前100个
//System.out.println(wc.getWords_frequency_list());
Output output=new Output(input.getInputPath(),wc.getWordsFrequencyList());
output.printResult();//输出结果,并保存到result.txt中
}
}
public static void main(String[] args) throws IOException {
Main m = new Main();
m.runMain();
}
}
测试设计
测试主要包括能否对文件名进行识别和对文件内容处理。其中分别是对主函数和mainprocess的测试。
小结
个人认为本次的作业我划水的感觉特别明显,起初是四个测试项目每个人完成一个,并没有进行前期分析,但是最后,拿到了题目以后发现,main函数的测试是基本不用做什么的,所以,可能这也算是我运气好,也算是不好吧。但总之这次的任务还是多靠组员完成了。我也只能算是偶尔的出出主意,打打杂吧。
以上是关于第三次作业的主要内容,如果未能解决你的问题,请参考以下文章