1. 程式人生 > >現代軟體工程 作業 個人專案

現代軟體工程 作業 個人專案

MSRA Advanced Software Engineering

Project:  Individual Project - Word frequency program

2010/11/1

考察重點:

    基本演算法的實現; 基本I/O;  字處理; 程式效能分析; 簡單測試用例

Implement a console application to tally the frequency of words under a directory (based on 2 modes).

For all text files under a directory (recursively) (file extensions: "txt", "cpp", "h", “cs”),   calculate the frequency of each word, and output the result into a text file.  Write the code in C#, using .Net Framework,  the running environment is 32-bit Win7.

Run performance analysis tool on your code, find bottlenecks and improve.

Enable Code Quality Analysis for your code and get rid of all warnings.

Write  10 simple test cases to make sure your program can handle these cases correctly (e.g.  a good test case could be: one of the sub-directories is empty).

Submission:

·         Submit your source code and exe to TA, TA will run it on his testing environment and check for a) correctness and b) performance

·         Submit your test cases to TA.

Definition:

·         A word: a string with at least 3 letters, separated by delimiters. If a string contains non-alphanumerical letters, it’s not a word.  The word is case insensitive,  i.e. “file”, “FILE” and “File” are considered the same word.

·         Delimiter: space, non-alphanumerical letters (,.<>|\)[]{[email protected]#$%^&*()_+=-}”).

·         Output text file: filename is <your email alias>.txt

o   Each line has this format

<word>: number

                Where “number” is the number of times this word appears in the scan.  The output should be sorted with most frequently word first.  If 2 words have the same frequency, list the words by alphabetical order.

Requirements:

1)     Simple mode.   Simple word frequency.

Myapp.exe <directory-name>

Will output <your-alias>.txt file in current directory,  the text file contains word ranking list.

2)     Extended mode.  If 2 words are different only on the ending numbers.  For example, we consider “win”, “win95” and “win7” are ONE WORD;  “Office” and “Office15” are the same.   “win”  and “win32a” are DIFFERENT words, as the difference are more than just ending numbers. “21century” and “century” are DIFFERENT words too.

When running with “-e” command line parameter,

Myapp.exe –e <directory-name>

Will output <your-alias>.txt file  in current directory,  the text file contains word ranking list, but the frequency is calculated based on the extended mode definition. 

相關推薦

現代軟體工程 作業 個人專案

MSRA Advanced Software Engineering Project:  Individual Project - Word frequency program 2010/11/1 考察重點:     基本演算法的實現; 基本I/O;  字處理; 程式效能分析

現代軟體工程 作業 1 個人專案

這是現代軟體工程課的個人專案作業 個人專案 Individual Project: 一個人獨立完成. 時間: 可以考慮在第一週就給同學們這個專案; 也可以考慮在團隊專案Alpha 階段之後進行, 作為一個緩衝。 考核內容基本原始碼控制的用法 程式的測,迴歸測試 效能測試 網

軟體工程個人專案的結合

我們做產品與專案的,必須要知道該產品的價值,我們要做的是價值的調研,我們的智慧餐廳要深入到餐廳中去詢問,跟開餐廳的人瞭解,餐廳有餐廳的具體需求,不是你憑空想想就能完成的,所以做社會調研這一塊是很重要的額 然後,我們詳細的瞭解一下專案的背景,這對我們專案的開展功

現代軟體工程個人專案——案例分析

本博文是現代軟體工程個人專案——案例分析,作業要求在這裡 我選擇的調研案例是csdn的APP(下載連結在這裡),以前也使用過CSDN,但主要使用的是網頁版,而且主要是用於查詢一些簡單的技術上的問題和用來下載一些學習上的一些資源,從我以前的使用經驗來看我一直以來都不是很喜歡這個網站。最近下載並試用手機版的CS

軟體工程第二次作業個人專案

軟體工程第二次作業—個人專案 1. 程式碼倉庫地址:https://gitee.com/liumangxiaozi/software_engineering.git 2. PSP表格 PSP2.1 Personal Software Proces

現代軟體工程第二週作業——黃金點遊戲

(本博文為現代軟體工程第二週作業——黃金點遊戲結對程式設計總結,本專案的Github原始碼在這裡) 黃金點遊戲介紹 假設有M個人參與黃金點遊戲,每輪遊戲每個人提兩個(0, 100)間的有理數,共2M個數,求這2M個數的平均數再將這個平均數乘以0.618得到這一輪的黃金點,提出離黃金點最近的數的人得2M分(

現代軟體工程 第二週部落格作業

作業要求:https://edu.cnblogs.com/campus/ustc/InnovatingLeadersClass/homework/2231 原始碼地址:https://github.com/YueshangGu/golden-number 黃金點遊戲簡單介紹 假設有M個人參與黃金點遊戲,

現代軟體工程 第三週部落格作業

作業要求 程式碼地址 how you collaborate: working separately?  pair programming? VS Live Share? other style? 我們採用的是 pair programming的方式,首先是由我完成程式碼的主要框架,完成作業的

現代軟體工程 第一週 部落格作業

自我介紹   大家好,本篇部落格為ASE課程的第一次作業。有些人覺得我是一個性格溫和,做事有想法有條理的人。我喜歡和師兄師姐們交往,因為很多優秀的兄長們經驗豐富,眼界開闊;也喜歡和不同型別的人交朋友,比如其他學科的、性格不同的,等等,因為每個人身上都有閃光點,交友的多樣性可以避免自己成為一個眼界狹隘的人。感

現代軟體工程 第一週部落格作業 達內,青鳥!你們使多少花朵誤入歧途!

個人介紹        大家好,我是來自西安交通大學自動化專業的大四學生,很高興能和大家在一起學習。說到優勢,我覺得自己確實沒有什麼拿得出手的過人之處。不過不談優勢還可以談愛好嘛,平時我比較喜歡踢球、看球。我認為足球不僅可以增強個人的勇氣和鬥志,它更是一項講究紀律性和

現代軟體工程 第一週作業

1.自我介紹 大家好,我叫楊濤,來自西安交通大學,非常榮幸能和大家在這裡一起學習,目前在網路多媒體組實習。我有非常廣泛的愛好,比如畫畫,比如製作小製作,打乒乓球,羽毛球,網球,以上三種球其實我打的不是很好,但我也挺喜歡的。感興趣的同學可以打的時候叫上我,此外,我還喜歡踢足球,我喜歡那種在球場上拋灑汗水的感覺

閱讀和提問作業3 現代軟體工程 習而學的軟體工程教育

1.方法的好和壞 The rise of worse is better: 作者Richard Gabriel在文章中對比了兩種軟體設計的思想, “the right thing”和“worse-is-better”,前者認為,軟體設計過程中的簡單性、正確性、一致性、完備性等特徵,對於設計者來說同

現代軟體工程 學生閱讀和調查作業

大學生都是讀書人,  要多讀書,多向前人學習, 多思考。下面的讀書和調查作業必須在截止日期前發表在個人部落格上 (也可以轉發到團隊部落格)。 部落格1: 閱讀下列部落格/文章/教材, 全部讀完之後, 寫一篇部落格。列舉你對這些材料中觀點的疑問(指出不懂的地方, 指出有錯的地

現代軟體工程_專案回顧模板

現代軟體工程 專案回顧(Postmortem) 模板 設想和目標 我們的軟體要解決什麼問題?是否定義得很清楚?是否對典型使用者和典型場景有清晰的描述? 是否有充足的時間來做計劃? 團隊在計劃階段是如何解決同事們對於計劃的不同意見的? 使用者量, 使

現代軟體工程第一次作業

我選擇以下三類軟體對問題展開回答: Internal Software 、Games以及Mobile Apps。                    這些軟體的開發者是怎麼說服你(陌生人)成為他們的使用

軟件工程作業個人項目: wc項目,統計文本文件的字符數、單詞數和行數。

platform 行數 文本文件 chang cpp word 文件的 string || 1、代碼來源: http://www.cnblogs.com/changjiangcheng/p/5304120.html 2、platform: windows VC++

現代軟體工程 結對程式設計 詞頻統計

與大佬的第二次結對程式設計 這次的任務是對文字檔案的詞頻統計,要求在這裡:詞頻統計作業要求 雖然要求的細節一改再改,我們終於還是如期完成了這個專案,並且因為此次結對程式設計的主題任務是效能分析,我們還做了效能分析和一些優化。 專案地址:Word Count 不同於要求,我們的幾次commit除了實現功

現代軟體工程第二次結對程式設計(統計詞頻)總結

作業要求及Github連結 作業要求:文字檔案中英語單詞的頻率 專案原始碼:統計詞頻 合作方式 有了第一次結對程式設計的經驗,我們這次有意識的採取了多種合作方式: 結對程式設計,我和隊友共用一臺顯示器和電腦完成了最簡單的-c -f標籤的處理和輸入輸出統一。 各自獨立程式設計,我和隊友各自獨立

軟件工程作業個人項目——csdn app分析

分享圖片 src 們的 成了 遇到 項目 博客園 細節 反饋 調研,測評 功能性bug: app的頁面字體和圖片無法放大,導致很多字體小的內容閱讀起來十分不方便,影響了用戶的使用體驗。 在手機端登錄賬戶後,在設置裏面點擊“退出登錄”後發現,雖然回到了登錄頁面,但是之前輸入的

軟體工程作業 案例分析

分析物件:cnblogs.com 的部落格功能 第一部分: 調研評測 Bug: 這個網站的搜尋功能做的不是很好,用網站內一篇部落格的內容完全複製,卻找不到這篇部落格。 比如將這篇部落格中的“遊戲團體水平參差不齊,應該向dota學習,啟用嚴厲的”作為查詢語句: 在部落格園中的檢索系統中進行檢索後: