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小时 构建项目逻辑: ...
随机推荐
- 对haproxy文件进行增删改查
1.文件内容 global log 127.0.0.1 local2 daemon maxconn 256 log 127.0.0.1 local2 info defaults log global ...
- tkinter内嵌Matplotlib系列(一)之解读官网教材
目录 目录 前言 (一)小目标 1.首页卷面: 2.绘制一条函数曲线: 3.绘制多条曲线: (二)官方教材 1.对GUI框架的支持: 2.内嵌于tkinter的说明文档: (三)对官方教程的解读 目录 ...
- iOS网络篇
iOS网络请求三步: 1.新建URL连接 2.新建请求(请求新建的URL连接) 3.建立连接. 然后就可以获取数据了. 一.同步GET请求方法 -(void)synchronizationGet { ...
- Oracle 创建 DBLink 的方法
1.如果需要创建全局 DBLink,则需要先确定用户有创建 dblink 的权限: select * from user_sys_privs where privilege like upper('% ...
- C++添加热键和捕获组合键
一.热键注册 步骤一:声明一个全局量int hotkeyId=1: 步骤二:窗体创建的时候注册: int result= RegisterHotKey(this->GetHWND(), hotk ...
- Git提交新项目
Github或者码云上新建项目 $ git init $ git add * $ git remote add origin https://gitee.com/demo/demo.git $ git ...
- Windows下面安装并运行composer的步骤
在composer官网下载得到:https://getcomposer.org/download/ Composer-Setup.exe 安装时注意:安装过程中,会提示你选择php安装目录.一直到ph ...
- Arduino IDE for ESP8266 项目(4)HTTP客户端+服务端
Arduio for esp8266 官网API:http://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/readme.html 很有 ...
- 双目SLAM(2) opencv
一步步实现ORB-SLAM2 http://www.fengbing.net/ 1 opencv 测试 http://blog.csdn.net/u010480194/article/details/ ...
- 上传文件,不依赖 Jquery flash 插件,用到HTML5 input 新属性实现过滤文件格式、同时上传多个文件
1.样式 2.js 3.后台处理 4.效果图 一.样式 <style> .divUpload { position: relative; } .divUploadFirst { width ...