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


    课程<o:p></o:p>

    名称<o:p></o:p>

    2016级计算机科学与工程学院软件工程(西北师范大学)<o:p></o:p>

    作业<o:p></o:p>

    要求<o:p></o:p>

    实验二 软件工程个人项目<o:p></o:p>

    课程<o:p></o:p>

    目标<o:p></o:p>

    尝试按照《构建之法》第2章中2.3所述PSP流程,使用JAVA编程语言,独立完成一个英文文本词频统计的软件开发。<o:p></o:p>

    作业<o:p></o:p>

    意义<o:p></o:p>

    1)掌握软件项目个人开发流程。<o:p></o:p>

    2)掌握Github上发布软件项目的操作方法。<o:p></o:p>

    <o:p> </o:p>

    需求分析<o:p></o:p>

    1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个。<o:p></o:p>

    2.程序需要很壮健,能读取容纳英文原版《哈利波特》10万词以上的文章。<o:p></o:p>

    3.指定单词词频统计功能:用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词在文本中出现的次数和柱状图。<o:p></o:p>

    4.高频词统计功能:用户从键盘输入高频词输出的个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词。<o:p></o:p>

    5.统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。<o:p></o:p>

    功能设计(基于JavaScript语言)<o:p></o:p>

    1.需手动输入文档(复制),点击搜索即可统计全文词汇。
    2.需手动输入需要查询的词汇,点击搜索即可统计在文章中出现的次数。
    3.程序健壮,已用《哈利波特之魔法石》第一章(近3万词)试验,不存在卡顿。
    4.因为规定浏览器不可直接访问用户计算机内容,所以无法直接导入文本文件。<o:p></o:p>

    设计实现<o:p></o:p>

    1.该函数主要以从input输入框中获取文本从而获取字符长度length和我们所需要查询的单词的value值。
    2.在给予文章、单词赋值后,利用循环和遍历获取我们需要的信息。
    3.获取信息后,再由document.getElementById从JavaScript中输出到html中。
    4.最后利用button按钮的show()功能将结果展示出来。<o:p></o:p>

    测试运行(以哈利波特第一章为文本)<o:p></o:p>


    <o:p> </o:p>

    <o:p> </o:p>

    代码
    <o:p></o:p>

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

    总结

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

    一些代码分享

  • 相关阅读:
    vscode的go环境配置
    百度过的问题
    javascript判定两个对象是否相等
    chattr
    kubernetes ingress example
    docker 免 sudo
    build local kubernetes env
    go channel
    rpm install and uninstall
    fluentd v0.12 gem install fluent-plugin-webhdfs error
  • 原文地址:https://www.cnblogs.com/sjz961108/p/10552342.html
Copyright © 2020-2023  润新知