201671010426 孙锦喆 实验二词频统计软件项目报告

课程

名称

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()功能将结果展示出来。

测试运行(以哈利波特第一章为文本)

 

 

代码

function show() {
var a = document.getElementById("txt1").value;
var b = document.getElementById("txt2").value;>
document.getElementById("resut1").innerHTML = a.length;
var n = (a.split(b)).length - 1;
document.getElementById("resut2").innerHTML = n;
}

总结

改程序本应该使用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

GITHUB

一些代码分享

猜你喜欢

转载自www.cnblogs.com/sjz961108/p/10552342.html