个人项目WC(java实现)

WC个人项目(JAVA实现)

一、Github地址:https://github.com/Gvonte/WC.exe



二、PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 30 28
· Estimate · 估计这个任务需要多少时间 30 28
Development 开发 1012 1001
· Analysis · 需求分析  52 45
· Design Spec · 生成设计文档 30 43
· Design Review · 设计复审  25 25
· Coding Standard · 代码规范 15 18
· Design · 具体设计 90 80
· Coding · 具体编码 700 680
· Code Review · 代码复审 20 30
· Test · 测试(自我测试,修改代码,提交修改) 90 80
Reporting 报告 130 110
· Test Report · 测试报告 80 60
· Size Measurement · 计算工作量 20 20
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 30 30
合计   1172 1139

三、解题思路

  ①命令行参数处理

  在看到命令行的格式要求后,我马上想到是用java主函数main的args来写,通过对参数c、w、l、a、x的判断执行相应的操作。

  ②文件统计的处理

    1.关于基本功能的处理:对给定的文件路径创建一个BufferedReader,通过readline方法获取文件中的每一行字符串,然后执行相应的方法进行处理,最后通过控制台打印得到结果

    2.关于扩展功能的处理:对定的文件路径创建一个BufferedReader,通过readline方法获取文件中的每一行字符串,然后利用正则表达式进行处理,最后通过控制台打印得到结果

    3.关于递归方法的处理:我想到的是,根据给定的文件路径递归的遍历所有的子文件,如果是文件类型则执行前面的基本功能和扩展功能,如果是文件夹就跳过

  ③GUI的设计

    我直接用JFileChooser获取用户选择的文件,然后对这个文件路径执行之前的基本功能或扩展功能(代码复用)

四、设计实现过程

    设计了WC一个大类,通过对args的switch判断,执行相应的操作

    主要调用流程:

五、测试运行

  测试文件:一个空文件、一个只有一个字符的文件、一个只有一个单词的文件、一个标准的源文件。

测试代码:

@org.junit.jupiter.api.Test
void test1() throws IOException{
String[] args1 = {"-c","-w","-l","-a","C:\\Users\\MI\\Desktop\\1.c"};
WC.main(args1);
}
@org.junit.jupiter.api.Test
void test2() throws IOException{
String[] args2 = {"-c","-w","-l","-a","C:\\Users\\MI\\Desktop\\2.c"};
WC.main(args2);
}
@org.junit.jupiter.api.Test
void test3() throws IOException{
String[] args3 = {"-c","-w","-l","-a","C:\\Users\\MI\\Desktop\\3.c"};
WC.main(args3);
}
@org.junit.jupiter.api.Test
void test4() throws IOException{
String[] args4 = {"-c","-w","-l","-a","C:\\Users\\MI\\Desktop\\4.c"};
WC.main(args4);
}
@org.junit.jupiter.api.Test
void test5() throws IOException{
String[] args5 = {"-c","-w","-l","-a","C:\\Users\\MI\\Desktop\\5.c"};
WC.main(args5);
}

测试截图:

//空文件

//一个字符的文件

//一个单词的文件

//一个源代码的文件

 代码覆盖率:

六、项目总结:

  在这次的项目中,我体会很深,很之前开发不一样,这次除了写代码还有项目分析,框架设计,用时估计和很多方面的测试、调试,检测代码覆盖率等工作,体会到了一个软件开发的粗略过程,对软件工程有了更深刻的理解。

原文地址:https://www.cnblogs.com/gvonte/p/11588422.html

时间: 2024-08-30 00:04:41

个人项目WC(java实现)的相关文章

个人项目 wc(java实现)

一.Github网址: https://github.com/Clarazhangbw/Wc.exe 二.PSP表 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 100 120 · Estimate · 估计这个任务需要多少时间 100 120 Development 开发 1080 1620 · Analysis · 需求分析 (包括学习新技术) 240 360 · Design Spec · 生成设

个人项目Wc.exe(JAVA)

1.个人项目WC.exe的github地址:https://github.com/jezing/WC-in-software 2.PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 35 50 · Estimate · 估计这个任务需要多少时间 35 50 Development 开发 900 1300 · Analysis · 需求分析  30 60 · Design Spec · 生成设计文档

java web项目,java类中获得WEB-INF路径

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 private static String getWebInfPath() {         URL url = 当前类.class.getProtectionDomain().getCodeSource().getLocation();         String path = url.toString();         int index = pat

eclipse导入后将普通项目变为java项目build path,no action avilia

eclipse用subclipse导入svn项目时,没有选择项目类型. 这样就不能修改项目的buildpath no action aviliable 打开workspace下面的.projcet文件在标签<natures></natures>中间添加一行 <natures> <nature>org.eclipse.jdt.core.javanature</nature> </natures> 项目refresh一下就可以了,项目变为

如何将Java项目转换为Java Web项目?

上一篇文章讲了"如何将Java Web项目转换为Java项目?"这里就介绍一下如何将Java项目转换为Java Web项目. 在项目名称上单击鼠标右键>Properties>Project Facets 刚打开Utility Module是锁定的,需要解锁后其它选项才能显示出来. 显示出来之后,选中图中对应的项,Utility Module应该是没什么用的,取消选中,应用(Apply)就好了.

Maven—如何使用maven命令创建Java项目或Java Web项目

博客<Maven-Windows操作系统中安装配置Maven环境>介绍了如何在Windows操作系统中安装配置Maven,现总结一下如何借助maven命令创建Java项目或Java Web项目: 1.借助maven命令创建Java项目: 1.借助maven命令创建Java Web项目:

linux部署项目(Java项目+Tomcat+mysql)

项目做完了,要发布了,而Java的特长之一就是移植性好,面对着微软的XP的停止服务,Windows系统的"独裁",越来越多的商家选择了开源的免费的linux系统作为服务器.因为linux系统也有图形界面(虽然和Windows比起来很不一样),所以在图形界面中操作相对来说还是容易的,这就好比我们在Windows系统上部署项目一样,大部分人都是小Case.但是真正工作中,服务器都会在固定的机房,而且往往只有一台主机,更规模大一些的就是使用单片机,像摆书一样摆到机房的机器架上,而我们操作它的

【MyEcplise】导入项目报错:Errors running builder &#39;JavaScript Validator&#39; on project &#39;项目名&#39;. java.lang.ClassCastException

导入项目报错:Errors running builder 'JavaScript Validator' on project '项目名'. java.lang.ClassCastException 解决方法: project -->Properties Builbers -->JavaScript Validator勾选去掉 解决问题! [MyEcplise]导入项目报错:Errors running builder 'JavaScript Validator' on project '项目

Maven项目中java类报错-Cannot resolve symbol

电脑蓝屏了,强制重启之后再打开IDEA里面的项目,所有Java类文件都在报Cannot resolve symbo错误,可以确定所有依赖的包都有引用且jar包没有冲突. 经查询找到这个解决方法: 在IDEA中 点击 File   ->   Invalidate Caches/Restart,清理了缓存重启IDEA就解决了 原文地址:https://www.cnblogs.com/yw-ah/p/8508314.html