SoftwareEngineering Individual Project - Word frequency program
说实话前面c#实在没怎么学过。这次写起来感觉非常陌生,就连怎么引用名空间都忘记了。在经过恶补后还是慢慢地适应了。
1.项目预计用时:
构建并写出大概的数据结构,程序框架及模块: 30min
实现文件夹递归方问方法 :30min
实现从文件中读出符合要求的单词并统计 :2-3h
实现对单词的排序 : 1h
输出:10min
细节修改及错误排查:2-3h
程序优化: 1h
2.项目的实际用时:
构建并写出大概的数据结构,程序框架及模块: 30min
实现文件夹递归方问方法 :30min
实现从文件中读出符合要求的单词并统计 :3h
实现对单词的排序 : 30min
输出:5min
细节修改及错误排查:2h
程序优化: 1h
3.项目分析和优化
对于词频统计这项目,若想写好,需要考虑用什么数据结构来储存单词的统计信息。按照project的要求,需要输出的信息为出现的第一字典序单词,以及该单词的词频,而且需要进行相应的排序。最开始是用hashtable,后来发现并不好进行排序,所以最后选择了Directory这个数据结构来保存相应的统计信息,每个单词的全小写可以作为唯一标识的key值来进行索引,而value我是用自己建立的一个数据结构来保存已经出现的第一字典序单词以及词频。这样每次都可以取出所保存的单词与当前遇到的单词进行比较,并将字典序较高者保存下来。



4.项目的测试用例:
1).测试最基本的单词分辨:
We love china,and we are Chinese.China is a beautiful country.
abc123 123abc ...Abc123
2)测试两个连续单词分辨;
3)测试两个连续单词分辨;
4)多文件遍历读取测试;
5)空文件读取测试;
6)基本统计数据正确性测试;
7)两个连续单词统计数据正确性测试;
8)三个连续单词统计数据正确性测试;
9)汉字测试;
10)大文件夹统计测试;
--------------------------------------
SoftwareEngineering Individual Project - Word frequency program的更多相关文章
- Individual Project - Word frequency program by HJB
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;us ...
- Limeng:Individual Project: Word frequency program -BUAA Advanced Software Engineering
11061190-李孟 Implement a console application to tally the frequency of words under a directory (2 mod ...
- Individual Project - Word frequency program - Multi Thread And Optimization
作业说明详见:http://www.cnblogs.com/jiel/p/3978727.html 一.开始写代码前的规划: 1.尝试用C#来写,之前没有学过C#,所以打算先花1天的时间学习C# 2. ...
- Individual Project - Word frequency program——12061154Joy
Description&Requirement: http://www.cnblogs.com/jiel/p/3978727.html 项目时间估计 理解项目要求: 1h 构建项目逻辑: 1h ...
- Individual Project - Word frequency program
1.项目预计用时 -计划学习C#和百度一些用法的时间:5小时 -项目本身打算写两个类,一个是遍历搜索文件夹的,另外一个用来统计单词.计划用时:5小时 2.项目实际用时 学习C#以及正则表达式的用法:3 ...
- Record for Individual Project ( Word frequency program )
1. 预计时间 ● 对问题总体的理解.规划:10 min ● 设计编写程序:5 h ● 调试: 分模块-40 min; 总体-40min ● 测试(性能分析).改进:1 h 2. 实际用时 ● 对 ...
- THE First Individual Project - Word frequency program
第一次写博客,这次也是本学期写到第一个程序. 老师要求网址:http://www.cnblogs.com/jiel/p/3311400.html#2777556 一.项目预计时间 一开始想使用不熟悉的 ...
- Individual Project - Word frequency program-11061171-MaoYu
BUAA Advanced Software Engineering Project: Individual Project - Word frequency program Ryan Mao (毛 ...
- Project: Individual Project - Word frequency program----11061192zmx
Description & Requirements http://www.cnblogs.com/jiel/p/3311400.html 项目时间估计 理解项目要求: 1小时 构建项目逻辑: ...
随机推荐
- selenium+Python3.5获取验证码
其中PIL为Python Imaging Library,已经是Python平台事实上的图像处理标准库了.PIL功能非常强大,但API却非常简单易用. PIL第三方库安装 pip install PI ...
- TG可能会用到的动态规划-简易自学
最新更新 完整校订版见此 戳我阅读 以下为未核对不完整版本. 因版权原因,完整精校版不向所有公众开放. 请从您找到本博客的地址查找附带密码(比如简书分享了本网址,请您从简书分享页底部查询密码),感谢您 ...
- 英语初级学习系列-00-Name-介绍自己
1. 询问名字 常用句子 1. Hi, may I have your name, please? 2. Could you please tell me your name? 3. Will it ...
- 关于new
JS通过new关键字,可以调用相关的 构造方法 生成一个 对象 ,function ---> object
- React框架简介
React的基本认识 Facebook开源的一个js库,一个用来动态构建用户界面的js库 英文官网,中文官网 React的特点 Declarative(声明式编码),Component-Based(组 ...
- python之面向对象进阶3
1.isinstace和issubclass 2.staticmethod和classmethod 3.反射(hasattr.getattr.setattr.delattr等四个方法) 4.内置方法 ...
- python五十八课——正则表达式(切割)
切割:split(regex,string):返回一个列表对象 import re str1='i love shenzhen so much' regex=r' +?' lt=re.split(re ...
- 转://UDEV简介及配置过程
在Linux环境下安装Oracle11g RAC时,OS层面配置好多路径软件后(multipath),下一步就需要配置udev或asmlib来处理共享分区(Lun),以便Orace ASM能够看到这些 ...
- 树莓派设置NTP同步
pi@raspberrypi:~ $ sudo timedatectl set-ntp true--------------启用NTPpi@raspberrypi:~ $ date ...
- 查询rman 备份信息集
SELECT TRIM(START_TIME||'#'), TRIM(END_TIME||'#'), TRIM(CASE OUTPUT_DEVICE_TYPE ...