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

2022-07-28 06:30:15 字數 2525 閱讀 2068

- github傳送門

psp2.1

personal software process stages

預估耗時(分鐘)

實際耗時(分鐘)

planning

計畫40

· estimate

· 估計這個任務需要多少時間

40development

開發970

· analysis

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

240· design spec

· 生成設計文件

60· design review

· 設計複審 (和同事審核設計文件)

40· coding standard

· **規範 (為目前的開發制定合適的規範)

30· design

· 具體設計

120· coding

· 具體編碼

240· code review

· **複審

120· test

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

120reporting

報告150

· test report

· 測試報告

60· size measurement

· 計算工作量

30· postmortem & process improvement plan

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

60合計

1160

整個專案有乙個類,三個函式。關係情況如下

init()函式用於初始化,print()函式用於列印出數獨解,dfs()函式用於求解過程,求解過程不斷回溯呼叫。

其實還可以再細分成輸入乙個類,輸出乙個類,增加判斷函式等……有很多待改進的地方。

思路上面已經提過了,就是按數字填格仔的方法,比如先把全1填好,再填全2……

想好了思路,就是實現的問題了。

三種制約條件,打算利用行數的制約為基本,填好一行就換下一行,其他兩種為判定條件。結束所有行的填數就換下乙個數字。

if(num == 9) print();

//判斷數字是否要更新,只需要判斷現在行數是否到8,row表示行數

if (row == 8) dfs(num + 1, 0);

else dfs(num, row + 1);

//判斷該位置是否可以填寫

//其中row表示行數,j表示列數,vis陣列代表該位置是否填過,col陣列表示該列是否填過,pal 表示該宮是否填過

//宮號為npal,計算方式為row / 3 * 3 + j / 3

if ( vis[row][j] || col[num][j] || pal[num][npal] ) continue;

else vis[row][j] = 1, col[num][j] = 1, pal[num][npal] = 1, map[row][j] = num;

//輸出的結果已經滿足時,結束程式

沒有用隨機數,第一位固定是 1,隨機方式不知道如何排重,待改進。

psp2.1

personal software process stages

預估耗時(分鐘)

實際耗時(分鐘)

planning

計畫60

· estimate

· 估計這個任務需要多少時間

60development

開發1160

· analysis

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

300· design spec

· 生成設計文件

30· design review

· 設計複審 (和同事審核設計文件)

30· coding standard

· **規範 (為目前的開發制定合適的規範)

30· design

· 具體設計

150· coding

· 具體編碼

320· code review

· **複審

240· test

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

60reporting

報告150

· test report

· 測試報告

60· size measurement

· 計算工作量

30· postmortem & process improvement plan

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

60合計

1370

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

我的github專案位址 經過今天的努力,總算把第乙個生成數獨的版本做出來了。原始碼傳到github上了。但是居然不能建立資料夾,還要安裝git外掛程式。昨天和今天的時間主要花在思考編碼和除錯上了。還久沒寫c 了,感覺有點生疏,所以第乙個版本不能接受命令行引數,也不能將輸出輸出到文字。這就有點傷了,...

軟體工程實踐第二次作業

一 github鏈結 psp2.1 personal software process stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫90 120 estimate 估計這個任務需要多少時間 700797 development 開發200 250 analysis 需求分析 ...

軟體工程實踐2017第二次作業

github鏈結 1 拿到題目後,覺得這題目和八皇后的題挺像的,都是行列衝突問題,因此覺得可以通過將乙個99的數獨圖變成9個33的圖,對每張33的圖進行數字的填充,例如先將1填入9張小圖中。按以上思路寫完程式後,在行數下移的同時還需要在對應的圖中找到下乙個數填入的位址,產生了可能會跳過某一行填入數值...