个人项目(java实现)

一、github地址

  https://github.com/zhongxiao136/WC

二、PSP表格

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划5040
Estimate· 估计这个任务需要多少时间5040
Development开发11601300
Analysis· 需求分析 6050
Design Spec· 生成设计文档8090
Design Review· 设计复审 5070
Coding Standard· 代码规范5030
Design· 具体设计8090
Coding· 具体编码700800
Code Review· 代码复审8090
Test· 测试(自我测试,修改代码,提交修改)6080
Reporting报告140160
Test Report· 测试报告6080
Size Measurement· 计算工作量4030
Postmortem & Process Improvement Plan· 事后总结, 并提出过程改进计划4050
Total合计13501500

三、解题思路

 浏览完项目需求后,自己大概有了个方向,有点像java课设(文本编辑器),也是有统计的东西,还有打开文件。想到这些,自己就决定用java来实现这个WC.exe的功能。

1、基本功能的实现

  基本功能主要是实现字符数,单词数和行数的统计,主要是正则表达式的使用和文件的读取,将输入的文件与正则表达式结合,自己主要要去复习之前学习的IO流和正则表达式。

2、扩展功能的实现

  空行还有注释行这些同样是可以通过正则表达式来完成,只是可能需要绕一绕比如注释的方式有两种。自己主要是对于递归下的文件这个有些无从下手,自己file类了解得并不透彻,花了很多时间去了解它的各种方法实例。

3、高级功能的实现

  图形化界面主要用JFrame来实现,将界面和主程序连接起来就行。

由上面的想法自己可以决定要写三个类,主程序、功能和界面,然后分别实现测试。先是完成主要框架,设定好命令行的样式,想好自己想要什么样子的效果,做好设计文档,然后分别实现一个一个功能,每个功能进行测试。

四、设计实现过程

整个程序用到的类和方法

 

五、测试运行

test文件夹有一个文件夹test1和3个.java文件,1.java是有代码的,2.java是只有2个字符的,3.java是空文档

test1文件夹里有一个4.java文件

 

 1、基本功能的实现(-c -w -l)

(1)测试文件为1.java

 

 (2)测试文件为3.java(空文档)

 

2、扩展功能的实现

(1)-s 的实现,测试文件夹为test

(2)-a 的实现(代码行 / 空行 / 注释行)测试文件为1.java

3、 高级功能的实现

 

4、使用说明

本程序共有三个类,Frame、Function和main,运行程序时只需运行main程序,之后的操作主要看命令行的提示,输入-e即可退出程序

六、总结

   通过本次个人项目的进行,自己深刻意识到自己的不足,很多一些本该掌握的知识因为没有经常出复习而导致自己遗忘掉了,因此自己写这个项目的时候大部分时间花费在了重新学习上。自己之前的学习又不够透彻,导致很多的类和方法自己是不知道的或是没有去用过的,这样子自己的思维就会一直固定在之前的水平,能想到的方法只能通过自己仅有的知识来执行,而不会变通。但在这个过程中自己也收获了很多,虽然写出来的代码不是很完善,但发现自己不足去补回来的这个过程同样是一次新的学习,能学到之前并不清楚的知识,比如PSP表格让我更加了解整个项目的具体的流程等。

转载于:https://www.cnblogs.com/zhongxm/p/11582076.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值