java个人项目_个人项目-WC-Java

WC项目相关要求:

wc.exe 是一个常见的工具,它能统计文本文件的字符数、单词数和行数。这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数、单词数和行数。

相关功能:

基本功能:

-c 统计文件字符数

-w 统计文件词数

-l 统计文件行数

扩展功能:

-s 递归处理目录下符合条件得文件

-a 返回文件代码行 / 空行 / 注释行

支持各种文件的通配符(*,?)

高级功能

基本的Windows GUI 程序操作

二、PSP表:

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)

Planning

计划

30

40

· Estimate

· 估计这个任务需要多少时间

30

40

Development

开发

1155

1290

· Analysis

· 需求分析

60

55

· Design Spec

· 生成设计文档

40

45

· Design Review

· 设计复审

40

30

· Coding Standard

· 代码规范

25

25

· Design

· 具体设计

50

40

· Coding

· 具体编码

850

980

· Code Review

· 代码复审

40

40

· Test

· 测试(自我测试,修改代码,提交修改)

50

75

Reporting

报告

120

155

· Test Report

· 测试报告

60

75

· Size Measurement

· 计算工作量

20

30

· Postmortem & Process Improvement Plan

· 事后总结, 并提出过程改进计划

40

60

合计

1305

1485

三、解题思路

程序设计有五个类,WC类为主类,它们的调用关系:

3dc7d296801e7259020ec59a03d2536e.png

在主类WC中接收用户输入的命令,判断相对应的命令,从而决定调用相应的类。

在一开始接触这个项目的时候,我觉得 基础功能 -c -l -w 这功能比较简单,java课程也实现过,通过BufferedReader( )类里面的相关函数对文件进行读取并判断执行相应的操作,实现较简单。GUI图形界面的因为之前也接触过,做起来顺手,搭建出基本面板后调用Basic类和Extend类通过对JTextArea.setText( )函数对内容进行更改显示。我觉得比较难的是-s 的 递归处理目录下符合条件的文件,因为涉及递归、通配符,所以我一开始想得复杂,没有很好的思路去实现,后来有了思路去递归获取目录中符合条件的文件,再去对每个文件进行统计输出,得以实现。

四、运行测试

在cmd中进入WC所在目录,打开程序:

81d0176b4d2fbd57c711d44fea87ba0f.png

基础功能与扩展功能 -a

99d44d22e6d995fb7b1adfdb77598ed4.png

扩展功能 -s

文件目录:

b90c8baf2408fef7976178b9c53fc082.png(其中 Test1中有两个 .txt文件,Test2为空目录)

结果:

1e715067abf8b59d4640ec3d8c78d6bb.png

图形界面GUI  -x

70491fce631e9590115fddac5ae9528a.png

a58a7de2c580a6629260100c59bd3e4b.png

四、个人总结:

在我开始做项目前,我阅读了《构建之法》的前三章,学习了Git和Github,Git是一款很多人都在用的版本控制系统,可惜我没能够运用好Git和Github,没能做好有新功能就commit,但在做项目的过程中我知道了版本控制的重要,在GUI的实现中,我不知道修改了什么参数,导致面板无法显示并卡死,但eclipse并没有报错,我反反复复修改了半小时也没有改变,幸好我有备份文件的习惯,返回了上次最后修改的部分,这个小例子让我明白了版本控制的重要,以后我会多用Git和Github进行项目托管开发。

这次的开发也让我知道了软件工程的流程,前期的需求分析,大概框架的搭建,估计流程与测试的重要性,减低软件后期维护的困难程度,前期所要做的工程不必编码小,也是十分重要的。因为我没有大项目的开发经验,所以这一次的个人项目对我也是有挑战的,以后我会更加努力提高自己的编程能力。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值