前段時間一直在學校準備考研,所以離上一篇《想寫個個人記帳軟體,各位大蝦給點意見吧》之後也有段時間了了。前天溜個號開始回家休息,就有時間整理一下自己的思路,把設計意圖給明確一下。
最近一直在看《A C# Application from Inspiration to Implementation ---- Designing and Building your first .NET Application》(中文譯名:《C#應用程式開發全程演練——從靈感到實現》,在雅馬遜上由於書的品質問題和沒有配套代碼而惡評如潮,不過中譯本還算能看)。雖然它介紹的是一個倉庫管理程式的開發過程,主要和資料庫打交道,裡面的開發流程思想還是挺值得借鑒的。
這本書前五章都是在講設計,沒有代碼。可能由於作者沒接觸極限編程吧,基本上用很標準的瀑布方法開發程式,而且他在需求分析的每一個步驟完後都讓客戶在文檔上籤字,這樣就防止使用者以後任意更改需求(不知道在中國是不是這樣)。
又扯遠了,切入正題。
書上首先分析了資料的儲存方法(就是資料庫的設計),這個上一篇我已經講過了。然後用VISIO畫了使用者介面,我也大概畫了個,這樣表達意圖應該更清楚吧。
檔案裡面有“建立帳本”、“開啟帳本”、“刪除賬本”,“退出”四個選項。只有在退出的時候才把資料寫回硬碟。
點統計的時候,如果在日節點上,就計算當日所有項目的支出金額之和;點月節點先給出每天的統計和,然後給出一個月的所有花費;點年節點給出當年中每個月的統計和,然後給出年花費。
由於資料的儲存我想到了Access、XML、Excel(後來想到的)多種方案,所以我就把應用程式分了層,供以後擴充。
上篇文章後面的 SW515的評論推薦用Dataset的ReadXML、WriteXML方法,我不熟悉,不過既然牛人推薦,就試試看了。
複雜一點的地方應該在DataSet同時映射到TreeView和DataGrid這個問題上,不知道TreeView能不能綁定DataSet,這個想法誇張了點吧。
由於我初學,而且還要準備考研(要是能保研就好了),可能要花很多時間,只有慢慢來了。大家多給點指點啊。
Ps:Visio真是個好用的東東,以後要好好研究一下。