个人项目:WC
一、GitHub项目地址:https://github.com/lseap/myWC
二、PSP表格:
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
Planning | 计划 | 45 | 50 |
Estimate | 估计这个任务需要多少时间 | 30 | 30 |
Development | 开发 | 400 | 700 |
Analysis | 需求分析 (包括学习新技术) | 120 | 150 |
Design Spec | 生成设计文档 | 30 | 40 |
Design Review | 设计复审 (和同事审核设计文档) | 30 | 40 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 10 | 10 |
Design | 具体设计 | 45 | 60 |
Coding | 具体编码 | 240 | 300 |
Code Review | 代码复审 | 40 | 60 |
Test | 测试(自我测试,修改代码,提交修改) | 60 | 60 |
Reporting | 报告 | 90 | 80 |
Test Report | 测试报告 | 60 | 30 |
Size Measurement | 计算工作量 | 15 | 15 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 15 | 10 |
Summary | 合计 | 1230 | 1635 |
三、解题思路描述
1、编程语言的选择
刚拿到题目,发现题目需求与曾经做过的java课设(文本编辑器)有部分类似功能,所以找到了当时的实验报告作为参考。但是一直以来习惯于用C语言做课设(除了java课设),对Java的语法已相当陌生,考虑到该题目需要实现图形界面,用java语言更为便捷,最终还是决定用java,放弃了C。
2、解题思路
大概分析了一下题目,我对实现程序所需的正则表达式、Java-GUI、Java文件流操作等几个模块进行了针对性学习,最终实现了程序的基本功能、部分扩展功能和高级功能,其余功能因个人时间、能力欠缺,尚未解决,之后的作业会继续努力。
四、设计实现过程
1、读取用户输入命令
2、判断用户命令类型
3、实现不同命令参数对应的功能(-c、-w、-l、-a、-s[未实现]、-x)
4、实现图形界面
五、关键结构图展示
六、测试结果
测试文件:
选择其中的典型源文件(source.java)进行测试,截图如下: