202103226-1 编程作业

202103226-1 编程作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/computer-science-class4-2018
这个作业要求在哪里 https://www.cnblogs.com/lyl68/p/14603887.html
这个作业的目标 <github初使用,了解项目的结构,明白代码规范>
其他参考文献 <《软件工程》、《构建之法》、百度>

博文目录

一、Github项目地址
二、PSP表格
三、解题思路描述
四、代码规范制定链接
五、接口的设计与实现过程
六、性能改进
七、单元测试
八、异常处理说明
九、心路历程与收获

一、Github项目地址

二、估计耗时PSP表格

| PSP2.1 | Personal Software Process Stages | 预估耗时(小时) |
| --------------------------------------- | -------------------------------- | -------- | -------- |
| Planning | 计划 | 0.5 |
| • Estimate | • 估计这个任务需要多少时间 | 120 |
| Development | 开发 | 10 |
| • Analysis | • 需求分析 (包括学习新技术) | 6 |
| • Design Spec | • 生成设计文档 | 0.5 |
| • Design Review | • 设计复审 | 0.5 |
| • Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 10min |
| • Design | • 具体设计 | 2 |
| • Coding | • 具体编码 | 3 |
| • Code Review | • 代码复审 | 20min |
| • Test | • 测试(自我测试,修改代码,提交修改) | 1 |
| Reporting | 报告 | 3 |
| • Test Repor | • 测试报告 | 0.5 |
| • Size Measurement | • 计算工作量 | 0.5 |
| • Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 1 |
| 合计 | | | |

三、解题思路描述

一开始看到这个题目的时候感觉比较难,文字描述比较多,因为是第一次做这个类型的题目,所以不知道从哪里开始,仔细看了很久之后,发现其他的都是作业的要求,作业的重点是需求这一模块。然后就去百度上查阅了相关资料,看了前辈们的作业,发现了作业的重点。

-实现的要求
  • 统计文件的字符数(对应输出第一行)
  • 统计文件的单词总数(对应输出第二行),单词:至少以4个英文字母开头,跟上字母数字符号, 单词以分隔符分割,不区分大小写。
  • 统计文件的有效行数(对应输出第三行):任何包含非空白字符的行,都需要统计。
  • 统计文件中各单词的出现次数(对应输出接下来10行),最终只输出频率最高的10个。
-实现的代码函数
public static void main(String[] args) throws IOException {}
public static int getLineNum(String fileName) throws IOException{}
public static int getCharNum(String fileName) throws IOException{}
public static int getWordNum(String fileName) throws IOException {}

四、代码规范制定链接

五、接口的设计与实现过程

接口设计
  • page1类:
    main()函数调用三个构造方法
switch (strings[0]){
	               case "-char":
	                   System.out.println("字符数:"+ getCharNum(strings[1]));
	                   break;
	               case "-word":
	                   System.out.println("单词数:"+ getWordNum(strings[1]));
	                   break;
	               case "-line":
	                   System.out.println("行数:"+ getLineNum(strings[1]));
	                   break;
	               default:
	                   System.out.println("请输入正确命令格式!");
	           }

三个构造方法函数

public static int getLineNum(String fileName) throws IOException{}
public static int getCharNum(String fileName) throws IOException{}
public static int getWordNum(String fileName) throws IOException {}

在看了作业之后,然后去网上查找了相关的资料,之后想到用一个类,然后把需要实现的东西都在一个类里面实现,在主函数main里面调用构造的三个方法。

六、性能改进

性能改造的话,我想就是应用其他的函数来更快实现这个功能,但是这个还是感觉有点难度,具体怎么改进自己目前还不是很清楚。

七、单元测试

八、异常处理说明

在这个过程中遇到的问题就是路径异常,在输入路径的时候可能找不到路径。

实际耗时psp表

PSP2.1 Personal Software Process Stages 预估耗时(小时) 实际耗时(小时)
Planning 计划 0.5 0.5
• Estimate • 估计这个任务需要多少时间 120 96
Development 开发 10 11
• Analysis • 需求分析 (包括学习新技术) 6 4
• Design Spec • 生成设计文档 0.5 0.5
• Design Review • 设计复审 0.5 0.5
• Coding Standard • 代码规范 (为目前的开发制定合适的规范) 10min 10min
• Design • 具体设计 2 1.5
• Coding • 具体编码 3 3.5
• Code Review • 代码复审 20min 20min
• Test • 测试(自我测试,修改代码,提交修改) 1 1
Reporting 报告 3 3.5
• Test Repor • 测试报告 0.5 0.5
• Size Measurement • 计算工作量 0.5 0.5
• Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 1 1.5
合计

九、心路历程与收获

这是我第一次做这种类型的作业,刚开始因为要求比较多,自己不知道怎么写,但是通过查找资料,百度前辈们的相关资料,和同学细心的指导,完成了这一次作业。同时这一次也了解了psp,其实通过这个,可以有效的提供我们写项目的思路,一步步出发,一个环节一个环节的来,最终完成项目。同时也重新了解了上传代码到代码仓库的流程,进一步巩固和学习到新知识。最后通过这一次练习,自己也认识到了自己的许多缺陷,还有编程能力太差,操作能力,理解能力都还有待加强,在后面的学习中,我会继续努力的了。
posted @ 2021-04-01 23:35  凉薄。。。  阅读(70)  评论(0编辑  收藏  举报