微型專案實踐(1) 用XML描述實體

2021-09-22 07:00:33 字數 2746 閱讀 9466

系統設計的第一步當然是分析需求,目前能夠想到的就是對日誌的管理,恩……再加上乙個分類好了,大體就是這樣子:

我們使用乙個xml來描述這兩個實體:

1:  

xmlversion

="1.0"

encoding

="utf-8" ?>

2:  

<

entities

xmlns

="">

3:  

<

entity

title

="日誌"

name

="blog"

module

="blogs"

>

4:  

<

item

title

="標題"

name

="title"

type

="text"

require

="true"

/>

5:  

<

item

title

="內容"

name

="content"

type

="longtext"

require

="false"

/>

6:  

<

item

title

="所屬分類"

name

="blogclass"

type

="entity"

entityname

="blogclass"

require

="false"

/>

7:  

<

item

title

="建立時間"

name

="createdatetime"

type

="datetime"

require

="true"

/>

8:  

<

item

title

="更新時間"

name

="updatedatetime"

type

="datetime"

require

="true"

/>

9:  

entity

>

10:  

<

entity

title

="日誌分類"

name

="blogclass"

module

="blogs"

>

11:  

<

item

title

="名稱"

name

="name"

type

="text"

require

="true"

/>

12:  

<

item

title

="描述"

name

="description"

type

="text"

require

="false"

/>

13:  

entity

>

14:  

entities

>

這個xml很容易看懂,它的schema定義在「」中,根節點表示這個xml定義的是實體的集合(entities)。每乙個實體包含很多資料字段,欄位有標題、名稱、型別等屬性,需要注意的是,這裡的資料字段不表示資料庫設計,也不表示類的設計,只是實體的業務邏輯定義。

使用xml描述業務資料有很多好處:

是與具體實現無關。正如前面說的,該xml描述的是業務實體,不是資料庫表,也不是c#類,所以它是與具體實現無關的。我們需要的僅僅是描述系統的業務邏輯所包含的資料有哪些,以及他們的相互關係是什麼。所以這種描述方法甚至可以推廣到其它平台。

無二意性的。與需求文件不同,xml描述的定義是精確的,不會因為措辭的不同造**們不同的理解。

是可以被版本控制的。xml是純文字的,它被包含在專案的solution中,當然會被版本控制工具一併捕獲。版本控制的好處在於不同的版本的**對應不同階段的業務需求,這直接表示為不同的資料庫設計,因此避免了團隊成員修改了資料庫而其它成員的**不能執行的問題。

使專案自動化。有了描述實體的xml能幹什麼?很多:生成資料庫的建庫指令碼,生成實體c#類,生成測試資料,甚至可以用於生成文件和專案手冊!這可以大大提高系統的開發效率,規模越大的系統,自動化的優勢越明顯!

是同步的。文件的更新與同步經常成為乙個令人頭疼的問題。而這個xml因為是系統框架自動化的依據,所以修改系統需求和設計時,這個xml是被同步修改的,所以這個文件總是可以被作為了解系統設計的最新資料。

因為以上這些優勢,所以我總是以這個xml作為專案的起點。當然,xml的格式也可以根據專案的不同,略做修改。

微型專案實踐感悟

微型專案是指絕大部分工作由乙個人員負責的專案,這個核心成員負責專案的系統分析 構架 及絕大部分的編碼工作。專案的持續時間一般不會超過乙個月。專案的參與人員除了核心的程式設計師外還可能一部分輔助人員,包括第二程式設計師 負責一部分編碼工作 美工 負責介面設計 等。微型專案的規模一般很小,業務邏輯也比較...

XML 優化專案實踐

做系統訊息功能時,聯絡人列表這一塊開始是後台查詢資料庫的方法來繫結treeview頁面控制項。外觀設計是區劃下有部門,部門下面才是聯絡人的 節點。由於區劃 部門 人員各有一張表,所以在繫結treeview時,首先查詢這三張表,然後根據使用者的區劃和部門來確定使用者的位置,用了三個迴圈,還有判斷語句,...

艾偉也談專案管理,微型專案實踐感悟

微型專案是指絕大部分工作由乙個人員負責的專案,這個核心成員負責專案的系統分析 構架 及絕大部分的編碼工作。專案的持續時間一般不會超過乙個月。專案的參與人員除了核心的程式設計師外還可能一部分輔助人員,包括第二程式設計師 負責一部分編碼工作 美工 負責介面設計 等。微型專案的規模一般很小,業務邏輯也比較...