2009-07-27 76 views
2

我有一個Access數據庫,我寫了我用於支票簿和最近3年的預算。我從來沒有寫過程序,但我已經決定將db寫入獨立程序。我唯一的經驗,除了DB本身的簡單VBA,是一個C++類的入門和一個OO邏輯類。儘管我知道我想讓程序做什麼(因爲這是我的數據庫現在所做的),我想盡可能地正確地進行規劃和設計,所以我可以儘可能正確地編寫程序,以便功能添加和維護更容易。需要UML圖和規劃幫助

我需要幫助計劃。我想UML圖應該是第一個。我需要做什麼UML圖表?以什麼順序?我試圖做一個用例,但由於該程序只涉及我,我的錢,銀行和商店,似乎毫無意義。還是我錯誤地思考它?我是否需要在自己的帳戶內繪製我的錢和我的預算?我不知道。我需要幫助如何繼續。謝謝。

回答

2

相關由於您的應用程序是供個人使用的,我認爲您只需要兩個圖表,也許三個。如果你願意的話,你可以使用用例圖,但是用用例列表可能會更好。由於沒有其他人陳述它,所以用例是一個要求你陳述你將要使用它的東西的要求。這些幫助你定義你需要的功能。
接下來,您需要關於如何組織程序的類圖。類圖顯示您擁有哪些類以及它們如何連接。這對計算出你的程序是否太複雜或者是否使用稱爲blob的反模式很有用。如果你有很多連接類的線,你可能需要重新組織,看看你是否可以讓每個類更緊密,如果你看到的類很少,你可能想檢查一個blob反模式。反模式是一種常見的情況,對可讀性或可維護性不利。班級凝聚力由每個班級是否具有所需要的內容來定義。例如,如果您決定爲您的帳戶開設課程,則無需瞭解與您的帳戶無關的信息,例如您的銀行的街道地址或姓名。

我認爲您需要的最後一個UML圖是一個序列圖,它顯示了程序中的不同對象如何交互。這將幫助你更好地理解你的課程正在進行的交互,並決定是否需要更好地組織它們,如果它們變得太複雜。

這些是您可能需要的UML圖。您可能還希望通過網絡圖瞭解您的數據庫將如何連接到銀行的網站並獲取所需的信息。

1

這些圖表只是爲了讓你明白你在做什麼,並讓你走上正軌。我想你已經知道了。在你的情況下,我相信一個詳細的用例就足夠了,只是爲了確保你處理所有的功能,不要忘記任何東西。 (提醒:用例不是圖,它是文本)

3

有一組UML圖可以跟蹤正在發生的事情,但最後記住文檔會衰減 - 您的代碼是您的設計。也就是說,UML適用於規劃和回憶零件和零件。這裏涉及大量的個人經驗,所以隨意採取你想要的,並忽略你認爲不適用的東西。

用例圖

跳過此,只是寫用例來代替。

類圖

我覺得他們用於規劃架構的宏偉藍圖是有用的,但我通常會離開了所有的方法名,或者僅在相關的離開。我用它來說明你的類

序列圖

一個特別的商業邏輯比較有用的圖表和數據流的邏輯模型。我總是發現自己正在繪製複雜數據流的順序圖,特別是當有事件正在發送時。

對象圖

顯示在運行時對象的交互作用。我通常會繪製複雜的對象交互,而不是「學術上正確的」。我認爲它比序列圖不太有用。

流程圖

適合的網站,如果你有複雜的流

狀態轉換

,如果你的應用程序有許多國家重要的。再次,勾畫出最複雜的系統,不需要每個子系統都有一個系統。

ER圖

我知道這是不是UML,但一個好的數據庫設計的前期是重要的,ER圖將幫助您組織和計劃表有什麼不同相互