軟體工程結對專案 WordCount

2021-09-09 06:37:36 字數 3235 閱讀 6810

二、小組成員及分工

1120161754 毛碩

1120161747 林宇翔

我負責基礎功能,林宇翔負責介面實現。

三.預估時間

psp2.1

personai software process stage

預估耗時(分鐘)

實際耗時(分鐘)

planning

計畫30

50estimate

估計這個任務需要多長時間

3030

development

開發120

120analysis

需求分析(包括學習新技術)

6080

design spec

生成設計文件

80100

design review

設計複審

6060

coding standard

**規範

3050

design

具體設計

6090

coding

具體編碼

240300

code review

**複審

120200

test

測試(自我測試,修改**,提交修改)

360400

reporting

報告300

300test report

測試報告

120100

size measurment

計算工作量

2030

postmortem&process

inprovement plan

事後總結,並提供過程改進計畫

6060

合計1690

2000

四、解題思路描述

4.1 引數功能及要求

引數功能

-x顯示圖形介面

-s遞迴處理目錄下符合條件的檔案

-c輸出字元數

-w輸出詞的數目

-l輸出行數

-a輸出更複雜的資訊(空行,**行,注釋行)

4.2 解題思路

這個題目比較簡單,字元數就是統計所有不是 '/n' 和空格的字元;單詞數,以字母之前和之後均不為字母為乙個單詞;行數就是統計 '/n' 的個數。

對於注釋行,有兩種情況,一種是 "//",另一種是 "/*" 和 "*/" 組合的,這兩種情況要分開考慮,需要注意的情況比較多。

對於空行,就是一行的可顯示字元<=1就統計為乙個空行。

對於**行,總行數-注釋行-空行 就是**行。

五、設計實現過程

5.1 專案流程圖

5.2 函式組成

5.2.1 統計注釋行

int count_noteline(char file)//查注釋行

ch_num = 0;

flag_1 = thisline = 0;

} if (thisline == 1)//說明本行已經是注釋,跳入下一行

if (ch != ' '&&ch != '\t'&&ch != '\n')

if (flag_2)

if (ch == '*')

else if (ch == '/'&&flag_3)

else flag_3 = 0;

} else if (ch == '/')

else if (flag_1 == 1 && ch_num <= 3)

}else if (ch == '*')

}else

}fclose(stdin);

return n_num;

}

5.2.2 遞迴處理

通過函式getmodulefilename(null, szpath, max_path)得到當前.exe檔案所在路徑,然後刪除檔名,可以得到當前檔案目錄,然後通過這個目錄,利用search_file函式進行檔案查詢。

search_file函式:

void search_file(string path, int idx)

if ((_a_subdir == filefind.attrib))//判斷當前檔案是否是乙個資料夾

else //查詢當前資料夾裡所有的符合結尾的檔案

}if (strcmp(filefind.name + len, para[idx] + 1) == 0) //檔案尾一樣的話就是符合了,比如都是.cpp結尾}}

} _findclose(handle);

}}

5.2.3 -x圖形介面

介面最終結果如下

5.3 測試

5.3.1 普通命令

5.3.2遞迴(對於每個檔案,先輸出路徑 再輸出檔名,然後執行相應的命令)

5.3.3 路徑錯誤

5.3.4 某些命令未識別

六、效能

效能佔比最大的都是系統函式,說明演算法本身的複雜度並不高,能很快完成。

七、心得與收穫

本次結對專案因為中間有考試,所以歷時比較長,相比於個人專案來說,結對專案的難點,一是整個軟體的實現更為複雜,**量更大;二是如何與隊友相互協作,在面對乙個問題時能夠達成一致。

這次的專案,極大地提公升了我們我做專案的能力和與隊友的協作能力,收穫很大。

軟體工程結對作業

一 題目簡介 本程式是乙個掃雷小遊戲。程式的功能是在執行後生成指定的地雷個數,在滑鼠左鍵點選下尋找地雷,右鍵點選下標記地雷,點選重新開始的按鈕重新開始一盤新遊戲,並給出勝利和失敗的條件 標出所有的地雷和左鍵點中地雷。二 結對分工及過程 結對 趙彤 顧曉倩 趙彤 的編寫和 規範 顧曉倩 程式的分析和程...

軟體工程結對作業

馮雅婧coding.net位址 c 審查表 功能模組名稱 班級類的封裝 審查人劉文彤 審查日期 2019.4.24 名班級類的封裝 作者 馮雅婧檔案結構 重要性審查項 結論標頭檔案和定義檔案的名稱是否合理?是標頭檔案和定義檔案的目錄結構是否合理?是版權和版本宣告是否完整?否重要 標頭檔案是否使用了 ...

軟體工程 結對作業(Second)

我們在剛開始上課的時候介紹過乙個小學四則運算自動生成程式的例子,請實現它,要求 能夠自動生成四則運算練習題 可以定製題目數量 使用者可以選擇運算子 使用者設定最大數 如十以內 百以內等 使用者選擇是否有括號 是否有小數 使用者選擇輸出方式 如輸出到檔案 印表機等 最好能提供圖形使用者介面 根據自己能...