软工个人项目———WC.exe(Java实现)
一、github地址
https://github.com/hhw-15521301615/hello-world
二、PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 40 | 45 |
· Estimate | · 估计这个任务需要多少时间 | 40 | 45 |
Development | 开发 | 760 | 640 |
· Analysis | · 需求分析 (包括学习新技术) | 120 | 150 |
· Design Spec | · 生成设计文档 | 20 | 35 |
· Design Review | · 设计复审 (和同事审核设计文档) | 20 | 35 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 60 | 40 |
· Design | · 具体设计 | 120 | 90 |
· Coding | · 具体编码 | 240 | 180 |
· Code Review | · 代码复审 | 60 | 40 |
· Test | · 测试(自我测试,修改代码,提交修改) | 120 | 70 |
Reporting | 报告 | 120 | 100 |
· Test Report | · 测试报告 | 60 | 40 |
· Size Measurement | · 计算工作量 | 30 | 30 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 30 | 30 |
合计 | 920 |
785 |
三、解题思路
看到题目的要求,发现这个项目的要求是对程序设计语言源文件的一些操作。在Java课程设计中已经做过类似的设计,但是应题目的要求先进行了对《构建之法》
的阅读,了解了个人软件开发流程,开始了自己的设计
1.对于此题目中的文件类,联想到了Java中的I/O流来读取文件,复习学习过的I/O流来设计读取文件
2.取文件之后,理所应当根据用户的需求进行操作,因此先需写一个函数来调取用户的输入命令,即操作函数
3.根据所需要统计的内容,设计所需要的函数,包括文件导入函数、字符数统计函数,词数统计函数,行数统计函数以及特殊行统计函数
4.功能函数设计好之后,设计主函数来为用户输入与输出使用,为用户提供必要的操作帮助并请求用户输入命令
四、设计实现过程
1.各函数设计:
(1)文件导入函数:对于文件读取,用流来读取会简单很多,之后调用操作函数执行指令的相应函数
(2)字符统计函数:用readLine函数来读取文件每一行的内容,循环遍历,统计字符数
(3) 词数统计函数: 对于文件的每一行内容,根据单词的特性,以空格为分割,再统计单词数
(4)行数统计函数:循环读取文件的行数
(5)特殊行统计函数:循环读取文件的每一行内容,判断是否为特殊行,并做统计
(6) 主函数:为用户输入与输出使用,为用户提供必要的操作帮助并请求用户输入命令
2.组织代码:
在此项目中设计一个类,一个主函数和所需的其他函数,主函数来为用户输入输出,提交用户的命令,调用其他函数
3. 各函数之间的关系:
五、测试
1.测试文件
wc1为随笔文件,wc2为标准c语言源程序代码,wc3为空文档。
2.进行测试
六、总结
这次项目中感受了个人软件开发流程(PSP),复习了大二时学习的Java程序设计。但由于自己大二学习时不认真,所制作的软件也
不是特别的完善,只完成了最基本的功能,充分认识到自己程序设计能力的不足。这使我学到很多东西,体会到了应该在今后的日子里
加紧时间学习。在这次项目中自己分析,设计,编码,开发,测试等流程中让我明白软件设计并不是一件简单的事。此外,这次作业的
提交还让我提升了自己书写博客和利用GitHub的能力,提升了自己的实践能力。
软工个人项目———WC.exe(Java实现)的更多相关文章
- 软工个人项目 ——wc.exe
1.GitHub项目地址 https://github.com/k8kiw/WordCount 2.PSP预计时间 PSP2.1 Personal Software Process Stages 预估 ...
- 个人项目-WC.exe (Java实现)
一.Github项目地址:https://github.com/blanche789/wordCount/tree/master/src/main/java/com/blanche 二.PSP表格 P ...
- 2020BUAA软工结伴项目作业
2020BUAA软工结伴项目作业 17373010 杜博玮 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 结伴项目作业 我在这个课程的目标是 学 ...
- [2017BUAA软工]个人项目
软工个人项目 一.Github项目地址 https://github.com/Lydia-yang/2017BUAA-SoftwareEngineering 二.解题思路 在刚开始拿到题目的时候,关于 ...
- [2017BUAA软工]结对项目
软工结对项目 一. Github项目地址 https://github.com/crvz6182/sudoku_partner 二. PSP表格 Psp personal software progr ...
- 软工团队项目之团队展示&选题(OnTime——S.L.N)
软工团队项目之团队展示&选题(OnTime——S.L.N) 一.团队展示 队名:『S.L.N』即Seigelion——乃“攻城狮”之意. 队员学号: 团队项目描述:(项目名称:OnTime) ...
- 2020BUAA软工个人项目作业
2020BUAA软工个人项目作业 17373010 杜博玮 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人项目作业 我在这个课程的目标是 学 ...
- 软工作业No.1。Java实现WC.exe
网址:https://github.com/a249970271/WC WC 项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序,模仿已有w ...
- 软工个人项目(Java实现)
一. Github地址: https://github.com/RuiBingo/PersonalWork 二.个人PSP表格: PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟) Plan ...
随机推荐
- Promise和Observable的映射
前言 promise解决了嵌套地狱的问题,Observable解决了promise只有一个结果,和不可以取消的问题. 使用的是rxjs6版本. 这篇文章是方便使用Observable的API替换Pro ...
- [转]TrueType(TTF)字体文件裁剪(支持简体中文,繁体中文TTF字体裁剪)
原文入口: TTF字体文件裁剪(支持简体中文,繁体中文TTF字体裁剪) 对于TrueType(TTF)字体格式的介绍可以看: https://www.cnblogs.com/slysky/p/1131 ...
- java 欢迎页 主页 设置为servlet的方法
[参考]Java Web 设置默认首页 [参考]设置servlet或action作为欢迎页面 1. 使用HTML<meta>标签跳转至servlet <META HTTP-EQUI ...
- Ubuntu系统配置双网卡ssh放外网
(下面的IP,最后一位都用X代替) 先看看网卡设备的名字,下面要用(一般就是前两个):ifconfigsudo lshw -C network| grep -e 'logical name' 设置服 ...
- 【451】python 同一行打印进度条
参考:Python3 Print 同一行打印显示进度条效果 参考:\r\n, \r and \n what is the difference between them? [duplicate] 参考 ...
- EasyNVR摄像机网页无插件直播方案H5前端构建之:区分页面是自跳转页面还是分享页面
背景分析 EasyNVR整套方案的架构中,涉及到前端设备(摄像机IPC.硬盘录像机NVR.编码器等).流媒体服务端(EasyNVR).客户端终端设备(PC.浏览器.Android.iOS.微信). 在 ...
- [Golang] http.Post导致goroutine泄漏
记录一个用http.Post的问题 if _, err := http.Post("http://127.0.0.1:8080", "", nil); nil ...
- ODAC Developer Downloads - Oracle Universal Installer
https://www.baidu.com/link?url=BL2vRNMWap6AFJcmsFCEKi3KxZ2SgmtVJoihVKhF-SPgzvJHNkbk_j7nz1HdtAAWZ22NM ...
- mybatis plus 支持达梦DM 数据库啦
最近由于公司项目需要使用DM数据库,现在就官方源码修改了,完美支持达梦数据库的代码生成器.官方说的v3.0.RELEASE版本支持达梦数据库,不知道说的支持包括支持代码生成器么? 怀着兴奋的心情,兴高 ...
- QT+FFMPEG+SDL2.0实现视频播放
开发环境:MinGW+QT5.9+FFMPEG20190212+SDL2.0.9 一.开发环境搭建 (1)下载工具 在https://ffmpeg.zeranoe.com/builds/下载对应版本. ...