2012/12/18

Android App:Daily Money Enhancement - Tag



設計理念:
Tag 可以視為「專案」、「分類」、「預算」......等等,最重要的是可以一對多,一筆帳務明細對應到多個 tag。
例如,假設同時記錄全家人的收支時,可能會想將帳務細分為「由誰支出」、「花在誰身上」、「花在哪個特定的事件上」或是同時要區分上述所列的項目,可以建立以下 tag:
支付人.A
支付人.B
花費使用人.C
花費使用人.D
專案.X
專案.Y
然後在一筆明細中設定多個 tag:支付人.A花費使用人.C專案.X
來表示這筆花費屬於專案 X,且是由 A 支付、花在 C 身上。(會太斤斤計較嗎?哈哈!)
接著可以透過報表或查詢功能去篩選某一期間、某些 tag,來查看收支的情形。
基本上,tag 和 account 的性質有點類似,可以把 account 視為實體帳戶,例如現金、銀行帳戶等等真的有實體存在;而 tag 可視為虛帳戶,例如同一個銀行帳戶裡的資金可能會劃分不同的用途。
透過 account 和 tag 的搭配,便可以同時達到彙整帳務或是細分帳務的目的。



功能需求:
1. Tag 管理畫面與帳本管理雷同
2. 點選 icon 後,顯示 tag 清單
3. 按 menu 出現「新增」按鈕
4. 長按清單項目出現「編輯」、「刪除」、「複製」按鈕
5. TB_TAG 記錄 tag 資訊
6. TB_DETTAG 記錄 details 和 tags 的對應關係資訊
7. 報表僅提供一 icon,進入後畫面與現有報表雷同,但最右側按鈕改為「週」、「月」、「年」、「日」「自訂區間」切換呈現。
8. 同 tag 中金額計算根據記帳時 to account 的借貸性質進行加減。to account 為資產時金額為正,其餘金額為負。
9. 「匯出 CSV」、「匯入 CSV」兩功能需加入 TB_TAG 和 TB_DETTAG。

PS1. 圖表有必要嗎?(不想做)

基本上如果做完這樣的功能,我也懶得再做預算功能了......

我自己做了一張很醜的圖

標籤管理

建立/修改明細時,可設定標籤。

標籤是多選形式。

標籤金額的報表





目前進度到 6.,其實有點卡住,
有很多東西可以和原本 Account 的處理共用,但是如果要做 refactoring,大概就得大改;倘若只是硬加上新功能的話,感覺又有很多重複的程式,真是兩難;另一方面,不太清楚原作者程式架構的設計理念,新加入的東西似乎有點格格不入。

就跟做專案一樣,每個人的程式撰寫風格都不同,也很難鉅細靡遺地規範程式應該怎麼寫;不論好壞與否,總是會有歧異而增加維護、修改的難度。

沒有留言:

張貼留言