课程
名称
|
2016级计算机科学与工程学院软件工程(西北师范大学)
|
做业
要求
|
实验二 软件工程我的项目
|
课程
目标
|
尝试按照《构建之法》第2章中2.3所述PSP流程,使用JAVA编程语言,独立完成一个英文文本词频统计的软件开发。
|
做业
意义
|
(1)掌握软件项目我的开发流程。
(2)掌握Github上发布软件项目的操做方法。
|
需求分析
1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个。
2.程序须要很壮健,能读取容纳英文原版《哈利波特》10万词以上的文章。
3.指定单词词频统计功能:用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词在文本中出现的次数和柱状图。
4.高频词统计功能:用户从键盘输入高频词输出的个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词。
5.统计该文本全部单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。
功能设计(基于JavaScript语言)
1.需手动输入文档(复制),点击搜索便可统计全文词汇。
2.需手动输入须要查询的词汇,点击搜索便可统计在文章中出现的次数。
3.程序健壮,已用《哈利波特之魔法石》第一章(近3万词)试验,不存在卡顿。
4.由于规定浏览器不可直接访问用户计算机内容,因此没法直接导入文本文件。
设计实现
1.该函数主要以从input输入框中获取文本从而获取字符长度length和咱们所须要查询的单词的value值。
2.在给予文章、单词赋值后,利用循环和遍历获取咱们须要的信息。
3.获取信息后,再由document.getElementById从JavaScript中输出到html中。
4.最后利用button按钮的show()功能将结果展现出来。
测试运行(以哈利波特第一章为文本)
代码
总结
改程序本应该使用Java语言进行设计,因对Java掌握程度很浅,因此改成使用JavaScript设计。设计时,将程序分为输入、分析、遍历、输出四部分,这四部分并非相互独立的,下一级对上一级有依赖,如没有获取文本,就没法获取字符长度从而致使功能没法使用。发觉自身能力的欠缺而致使程序很简陋,在设计过程当中也遇到了不少问题。在之后的学习过程当中会更多的弥补欠缺,并掌握更多有关编程的知识与技巧。
PSP
PSP2.1
|
任务内容
|
计划共完成须要的时间(min)
|
实际完成须要的时间(min)
|
Planning
|
计划
|
15
|
40
|
Estimate
|
估计这个任务须要多少时间,并规划大体工做步骤
|
15
|
40
|
Development
|
开发
|
40
|
60
|
Analysis
|
需求分析 (包括学习新技术)
|
10
|
10
|
Design Spec
|
生成设计文档
|
15
|
10
|
Design Review
|
设计复审 (和同事审核设计文档)
|
3
|
5
|
Coding Standard
|
代码规范 (为目前的开发制定合适的规范)
|
3
|
3
|
Design
|
具体设计
|
20
|
25
|
Coding
|
具体编码
|
30
|
60
|
Code Review
|
代码复审
|
15
|
20
|
Test
|
测试(自我测试,修改代码,提交修改)
|
25
|
20
|
Reporting
|
报告
|
25
|
30
|
Test Report
|
测试报告
|
10
|
15
|
Size Measurement
|
计算工做量
|
5
|
5
|
Postmortem & Process Improvement Plan
|
过后总结 ,并提出过程改进计划
|
10
|
10
|
一些代码分享