github项目链接 https://gitee.com/huwenli/Wc.git

1.项目简介

WordCount的需求可以概括为:对程序设计语言源文件统计字符数、单词数、行数,统计结果以指定格式输出到默认文件中,以及其他扩展功能,并能够快速地处理多个文件。

可执行程序命名为:wc.exe,该程序处理用户需求的模式为:

wc.exe [parameter] [input_file_name]

存储统计结果的文件默认为result.txt

2.项目psp表格

PSP2.1表格

PSP2.1

PSP阶段

预估耗时

(分钟)

实际耗时

(分钟)

Planning

计划

 60  100

· Estimate

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

 1800  1200

Development

开发

 1100 100

· Analysis

· 需求分析 (包括学习新技术)

 180    240

· Design Spec

· 生成设计文档

 50    30

· Design Review

· 设计复审 (和同事审核设计文档)

 30 30 

· Coding Standard

· 代码规范 (为目前的开发制定合适的规范)

 20 20

· Design

· 具体设计

 120 120 

· Coding

· 具体编码

 100 110

· Code Review

· 代码复审

 30 20

· Test

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

 120 300

Reporting

报告

 150 20

· Test Report

· 测试报告

 40 20

· Size Measurement

· 计算工作量

 50 10

· Postmortem & Process Improvement Plan

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

 40 40

3.思路

了解java关于文件的读写,IO流的基本语法;

对字符进行统计,就要会一些正则表达式去处理这些字符串;

思考如何进行单词,行数统计;

学习如何打包jar包;

将项目推到GitHub上;

完成指定博客内容;

将功能进行完善;

4.程序设计实现

行数统计

字符和单词统计

命令输入,将结果写入

command函数

测试函数

5.测试设计过程

1,测试命令输入是否正确

正确的命令测试:-c 1.c

正确的命令测试:-l 1.c

正确的命令测试:-w 1.c

正确的命令测试:-c -l -w 1.c

正确的命令测试:-c -l -w -o 1.c 1.txt

错误的命令测试

result.txt文件内容

2,通过控制台测试代码

6.参考文件链接

java文件读取的几种方式https://www.cnblogs.com/hudie/p/5845187.html
http://www.cnblogs.com/xinz/archive/2011/10/22/2220872.html

7.个人总结

在完成这个项目的过程中没我遇到的最大问题时不知道怎么测试和打包问题,还有便是路径问题。在博客的书写过程中,比较生疏,主要借鉴网上各种资料去处理,模仿格式去完成博客,同时,在撰写博客的过程中我发现这其实是对整个项目过程的一次回顾与反思。于我而言,受益匪浅。希望在之后的学习中可以有更多的收获和进步。

在学习过程中,我觉得最大的时间花费在新软件的学习了解上,网上的博客资料很多但是都过于繁琐,在时间有限的情况下总会出现各种问题。我觉得花费了太多时间在了解新软件上却没有时间完善自己的项目功能。在测试上,我还不会逻辑清晰的层次分明的去学习测试,今后要多花时间去了解各种高效有用的测试方法。

 


 

    

WordCount(java)的更多相关文章

  1. 如何夯实(Java)编程基础,并深入学习和提高

    如何夯实(Java)编程基础,并深入学习和提高? 240赞同反对,不会显示你的姓名 匿名用户 240 人赞同 多学习...网上自学的学习网站很多,见以下榜单~一.汇总榜单: 公开课_学习网站导航 收录 ...

  2. TCL校园招聘——软件开发工程师(java) 只招5个。。。

    简介 TCL集团股份有限公司创立于1981年,是全球性规模经营的消费类电子企业集团之一,广州2010年亚运会合作伙伴,总部位于广东省惠州市仲恺高新区TCL科技大厦.旗下拥有TCL集团.TCL多媒体科技 ...

  3. UEditor上传图片到七牛云储存(java)

    我们的网站一般放在虚拟空间或者服务器上,图片如果存在本地目录,会占用很多空间和流量,还增加了负担,好的办法是把图片存放到云储存服务里面,平时用url去拿 云储存:普遍说又拍云和七牛比较好,看到七牛免费 ...

  4. 开源工作流 Bonita BPM (JAVA)

    Bonita BPM 开源工作流 Bonita BPM  (JAVA) http://www.bonitasoft.com/

  5. ZeroMQ(java)中对IO的封装(StreamEngine)

    哎,各种各样杂七杂八的事情...好久没有看代码了,其实要搞明白一个与IO相关的框架,最好的办法就是把它的I/0的读写两个过程搞清楚...例如在netty中,如果能将eventLoop的运行原理搞清楚, ...

  6. 编译哈工大语言技术平台云LTP(C++)源码及LTP4J(Java)源码

    转自:编译哈工大语言技术平台云LTP(C++)源码及LTP4J(Java)源码 JDK:java version “1.8.0_31”Java(TM) SE Runtime Environment ( ...

  7. 随机产生30个两个两位数相加的题目(java)

    编程思路: 1首先遇到JAVA产生随机数的问题. 2把产生的随机数设定范围. 3把划分的范围再分四个小区段分别对应四则运算法则加减乘除. 4打印输出. 题目源代码(Java) package coun ...

  8. Android(java)学习笔记267:Android线程池形态

    1. 线程池简介  多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力.     假设一个服务器完成一项任务所需时间为:T1 创建线程时间, ...

  9. MongoDB的update有关问题(JAVA)——如何一次更新所有的相同记录

    MongoDB的update问题(JAVA)——怎么一次更新所有的相同记录用如下这个函数:public WriteResult update(DBObject q,  DBObject o,  boo ...

随机推荐

  1. yii DbCriteria相关属性常用方法

    $criteria = new CDbCriteria; //函数方式 $criteria->addCondition("id=1"); //查询条件,即where id = ...

  2. 主成分分析(PCA)原理及R语言实现 | dimension reduction降维

    如果你的职业定位是数据分析师/计算生物学家,那么不懂PCA.t-SNE的原理就说不过去了吧.跑通软件没什么了不起的,网上那么多教程,copy一下就会.关键是要懂其数学原理,理解算法的假设,适合解决什么 ...

  3. C++实现的一些功能代码

    将当前时间输出到txt中: 调用c++中的fstream流文件,用tm结构获取日期和时间,其在time.h中定义 用ofstream的时候,ofstream out(txtpath,ios::app) ...

  4. 超详细的java集合讲解

    1 集合 1.1 为什么会出现集合框架 [1] 之前的数组作为容器时,不能自动拓容 [2] 数值在进行添加和删除操作时,需要开发者自己实现添加和删除. 1.2 Collection接口 1.2.1 C ...

  5. 《网络是怎样连接的》PDF电子版书籍分享

    资料下载地址: 链接:https://pan.baidu.com/s/15tN9klTEsu-mQLayxI979g 提取码:ptu1 封面如下所示:

  6. C++标准模板库(STL)之Priority_Queue

    1.Priority_Queue的常用用法 priority_queue:优先队列,底层是使用堆来实现的.优先队列中,队首元素一定是当前队列中优先级最高的哪一个. a (优先级3),b(优先级4),c ...

  7. Redhat 6.3上安装OpenSSL

    需求是:在Redhat 6.3上安装OpenSSL 1.1.0b. 一开始试图去搜索rpm,没有对应版本.https://pkgs.org/http://rpmfind.net/放弃! 只能通过编译源 ...

  8. 有价值的IPFS博客

    前一阵子研究IPFS,回头找资料有些找不到,再次汇总一下有价值的IPFS资料   戴嘉乐-IPFS的本质架构及应用:https://blog.csdn.net/u012357002/article/d ...

  9. 总结const、readonly、static三者的区别

    const:静态常量,也称编译时常量(compile-time constants),属于类型级,通过类名直接访问,被所有对象共享! a.叫编译时常量的原因是它编译时会将其替换为所对应的值: b.静态 ...

  10. 关于ajax的跨域

    在前端开发中,跨域是经常遇到的问题,也是面试最喜欢问的问题,究其根本原因,是浏览器的同源策略所致,是浏览器为了避免不同域名不能共享cookie以及locationstorage等等,发起请求的时候无法 ...