1.GitHub项目

https://github.com/Littlehui3/wc

2.用时表格

PSP2.1

任务内容

计划完成需要的时间(min)

实际完成需要的时间(min)

Planning

计划

  45 

50

Estimate

估计这个任务需要多少时间,并规划大致工作步骤

45

50

Development

开发

880

740

Analysis

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

60

30

Design Spec

生成设计文档

30

-

Design Review

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

10

-

Coding Standard

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

40

40

Design

具体设计

60

80

Coding

具体编码

400

510

Code Review

代码复审

30

30

est

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

250

200

Reporting

报告

450

180

Test Report

测试报告

300

370

Size Measurement

计算工作量

30

-

Postmortem & Process

Improvement Plan

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

60

80

Summary

合计

2690

  2410

3.解题思路

一开始审题认为可能需要处理多条语句,考虑使用线程池来处理每个用户的请求,这样既可以封装用户的每个请求到一个request类里,还能有效防止线程过多造成的效率下降。考虑到控制台和图形界面都需要与管理线程的业务逻辑相分离,设计了一个RequestManager来管理所有请求。统计空格、行数、字符数都十分相似,分开为三个类,实现Counter接口,使得它们的结构更加规范,同时也使得增加新的Counter更方便,可扩展性提高。

实际开发过程中,从三个Counter的实现开始,让Request处理选项和文件,代码有点长,于是分开了两个方法来分别处理选项和文件。

文件方面,支持相对路径、绝对路径、当前目录下的同类型文件(*.txt  *.c)输入

选项方面,支持  -l、-w、-c、-s

4.类的关系图

wc.exe个人项目的更多相关文章

  1. 软工作业1:wc.exe项目开发(java)

    Github地址:https://github.com/Zzhaomin/learngit 项目相关要求 : wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个 ...

  2. 个人项目(WC.exe)(java)(基于图形界面)

    一.Github项目地址:https://github.com/Leungdc/ENhomework 二.PSP: PSP2.1 Personal Software Process Stages 预估 ...

  3. 个人项目作业(wc.exe)

    1.GitHub项目地址 https://github.com/QiuBin666/WC 项目介绍: 题目描述 Word Count1. 实现一个简单而完整的软件工具(源程序特征统计程序).2. 进行 ...

  4. 个人项目 wc.exe

    GitHub地址:https://github.com/oAiuo/wordCount 一.题目描述 Word Count1. 实现一个简单而完整的软件工具(源程序特征统计程序).2. 进行单元测试. ...

  5. 个人项目WC.exe Node.js+electron实现

    前言 实现语言:Javascript 编译工具:webstorm GitHub:https://github.com/NPjuan/WC.git 项目要求 wc.exe 是一个常见的工具,它能统计文本 ...

  6. 个人项目作业——wc.exe

    一.Github项目地址 https://github.com/PIPIYing/wc 二.项目概况 项目描述 Word Count 1. 实现一个简单而完整的软件工具(源程序特征统计程序). 2. ...

  7. 个人项目(wc.exe)

    一.项目在GitHub上的地址: ·https://github.com/DawsonHuang/Word_Count 二.项目描述: ·项目名:WordCount(以下简称WC或项目) ·项目简述: ...

  8. WC.exe【C】

    gitee传送门!!!(电脑打不开github,多次尝试未果,决定先用gitee存着先) 项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序 ...

  9. 小白のjava实现wc.exe功能

    GitHub地址 项目完成情况 基本功能列表(已实现) wc.exe -c file.c     //返回文件 file.c 的字符数 wc.exe -w file.c    //返回文件 file. ...

随机推荐

  1. plantUML 安装

    plantUML 安装 资源 http://www.graphviz.org/ https://graphviz.gitlab.io/_pages/Download/windows/graphviz- ...

  2. 【oracle】lpad函数 作用(填充)

  3. 第四章、Go-面向“对象”

    4.1.结构体和方法 (1)go语言的面向对象 go仅支持封装,不支持继承和多态 go语言没有class,只有struct (2)struct的创建 package main import " ...

  4. appium--元素等待和屏幕截图

    元素等待 设置元素等待可以更加灵活的指定等待元素的时间,从而增强脚本的健壮性,提高执行效率 强制等待 from time import sleep sleep(5) 隐式等待 隐式等待是针对全部元素设 ...

  5. A1037 Magic Coupon (25 分)

    一.技术总结 这也是一个贪心算法问题,主要在于想清楚,怎么解决输出和最大,两个数组得确保符号相同位相乘,并且绝对值尽可能大. 可以用两个vector容器存储,然后排序从小到大或是从大到小都可以,一次从 ...

  6. Linux性能优化实战学习笔记:第三十三讲

    一.上节回顾 前几节,我们一起学习了文件系统和磁盘 I/O 的工作原理,以及相应的性能分析和优化方法.接下来,我们将进入下一个重要模块—— Linux 的网络子系统. 由于网络处理的流程最复杂,跟我们 ...

  7. spring cloud gateway网关启动报错:No qualifying bean of type 'org.springframework.web.reactive.DispatcherHandler'

    网关配置好后启动报错如下: org.springframework.context.ApplicationContextException: Unable to start web server; n ...

  8. 推荐AndroidGodEye Android性能检测工具

    推荐AndroidGodEye Android性能检测工具 1 介绍 AndroidGodEye是一个可以在PC浏览器中实时监控Android性能数据指标的工具,你可以通过wifi/usb连接手机和p ...

  9. Maven 教程(22)— Maven中 plugins 和 pluginManagement

    原文地址https://blog.csdn.net/liupeifeng3514/article/details/80236827 plugins和pluginManagement的区别概述plugi ...

  10. 2018年Java面试题整理

    面试是我们每个人都要经历的事情,大部分人且不止一次,这里给大家总结最新的2018年面试题,让大家在找工作时候能够事半功倍.  1. Switch能否用string做参数? a. 在 Java 7 之前 ...