软件工程作业3

1.码云地址:

 https://gitee.com/JeremyGilbert/wordcount

结对小伙伴的学号:高天 201621123050

博客地址:http://www.cnblogs.com/jmugt/

码云地址:https://gitee.com/GTAlluka

2.PSP表格

PSP2.1个人开发流程预估耗费时间(分钟)实际耗费时间(分钟)
Planning 计划 50 55
· Estimate 明确需求和其他相关因素,估计每个阶段的时间成本 30 30
Development 开发 400 500
· Analysis 需求分析 (包括学习新技术) 100 70
· Design Spec 生成设计文档 20 15
· Design Review 设计复审 30 45
· Coding Standard 代码规范 40 30
· Design 具体设计 120 200
· Coding 具体编码 300 450
· Code Review 代码复审 40 30
· Test 测试(自我测试,修改代码,提交修改) 40 55
Reporting 报告 60 80
· 测试报告 30 30
· 计算工作量 20 20
· 并提出过程改进计划 40 45

3. 功能改进的设计与实现过程

  1. 把上一次作业写死的路径改成了读取输入的文件,
  2. main函数:主要调用后边写到的各种count函数
  3. count函数:主要实现题目要求的统计功能

4.代码说明,展示出项目关键代码,并解释思路与注释说明。

package test;
 
import java.io.*;
 
public class FileToStr { // 该类用于文件写入读取的处理
 
public String FileToString(String path) throws IOException { // 将文件转化为字符串
File file = new File(path);
if (!file.exists() || file.isDirectory()) {
System.out.println("请输入正确文件名!");
throw new FileNotFoundException();
}
FileInputStream fis = new FileInputStream(file);
byte[] buf = new byte[1024];
StringBuffer sb = new StringBuffer();
while ((fis.read(buf)) != -1) {
sb.append(new String(buf));
buf = new byte[1024];// 重新生成,避免和上次读取的数据重复
}
fis.close();
return sb.toString();
}
 
public void WriteToFile(String str) throws IOException { // 将最后结果写入文件
File writename = new File("result.txt"); // 相对路径,如果没有则要建立一个新的文件
writename.createNewFile(); // 创建新文件
BufferedWriter out = new BufferedWriter(new FileWriter(writename));
out.write(str);
 
out.flush(); // 把缓存区内容压入文件
out.close(); // 关闭文件
}
 
}
 

运行结果:

5.描述结对的过程,提供非摆拍的两人在讨论的结对照片

  • 在这次的结队过程中,主要是运用我上次作业的思路来进行修改和完善,因为上次作业由于自己理解题目错误,代码有很多函数没有达到题目要求的功能,也没有实现文件的读入,这次结队在跟高天的讨论下说了下自己之前的想法,然后我重新写了一下文件读取的代码,高天就根据题目要求将我之前错误的代码进行改进,然后一起实现了新的功要求,我们两个对单元测试不太了解,没有实现这块的要求。

原文地址:https://www.cnblogs.com/jerkol/p/9748576.html