软件工程编程作业1
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/computer-science-class2-2018/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/computer-science-class2-2018/homework/11878 |
这个作业的目标 | 学习和使用Github |
学号 | 20188449 |
Git项目地址
https://gitee.com/jay101/project-java.git
1、PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 40 |
• Estimate | • 估计这个任务需要多长时间 | 1200 | 1300 |
• Analysis | •需求分析(包括学习新技术) | 500 | 560 |
• Design Spec | •生成设计文档 | 30 | 30 |
• Design Review | 设计复审 | 10 | 20 |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 20 | 25 |
• Design | • 具体设计 | 200 | 300 |
• Coding | • 具体编码 | 500 | 600 |
• Code Review | • 代码复审 | 40 | 60 |
• Test | • 测试(自我测试,修改代码,提交修改) | 40 40 | |
Reporting | 报告 | 30 | 30 |
• Test Repor | • 测试报告 | 30 | 40 |
• Size Measurement | • 计算工作量 | 30 | 40 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 40 | 60 |
合计 | 2700 | 3145 |
2、解题思路描述
看了作业要求后,我想到的就是就io输入输出流来做这个作业,将文件中的数据读取并存在一个缓冲区中,当数据读完之后,将其转为字符串类型,所以现在字符串的长度就是字符个数,统计单词个数用一个split方法,split() 方法用于把一个字符串分割成字符串数组,字符串数组的长度,就是单词个数,但此方法只适用于英文。得到行数就很容易了,因为是按行读取,所以每加一行,所以相应的参数加一就行了。处理完这些之后,就是要新建一个输出文件,将得到的这些结果存到输出文件中。
3、代码规范的链接:https://gitee.com/jay101/project-java.git
4、各个功能的设计与实现过程
Scanner input = new Scanner(System.in);
System.out.println("请输入文件路径:");
String path = input.next();
int countChar = 0;
int countword = 0;
int countline = 0;
int countnumber=0;
InputStreamReader isr = new InputStreamReader(new FileInputStream(path));
//用来读取文件中的数据
BufferedReader br = new BufferedReader(isr);
用InputStreamReader来读取数据,然后BufferedReader来缓存数据。
countChar += s.length();
字符个数就是字符长度
countword += s.split(" ").length;
split() 方法用于把一个字符串分割成字符串数组,字符串数组的长度,就是单词个数
countline++;
因为是按行读取,所以每次增加一即可计算出行的数目
while(i.hasNext()) {
String key = (String) i.next();
Integer value = (Integer) a.get(key);
System.out.println(key + "出现了" + value +"次");
}
这一部分是输出出现单词数。
5、计算模块部分单元测试展示
(https://img2020.cnblogs.com/blog/1582153/202104/1582153-20210402004111245-1042513452.png)
6、计算模块部分异常处理说明
java自行处理了异常。
7、在附录提供的PSP表格记录下你在程序的各个模块上实际花费的时间
如表所示
8、心路历程与收获
太久没写代码,很多东西都忘了,坎坎坷坷做了这个作业,但是自己并未达到题目要求,后面应该也能改进。虽然做得不好,但是学到的东西才是有的,至少知道开发前的分析,部署对于一个项目多么重要,然后那个PSP表格也对自己有很大的帮助。