MAX Family 概述 或者草稿?

2021-09-30 02:09:12 字數 3191 閱讀 8822

1?mda的三個主要優點:

??速度快

體現在簡短、緊湊的企業建模工具的使用,通過使用預定義業務模板來減小該過程的難度。

??柔性高

mda的軟體結構可以隨著企業業務過程的變化而相應改變,而無需更改**。

??***

mda提高了企業建模的質量,因為它使用了一種簡單的方式使其中很複雜的功能視覺化。同時避免了直接書寫**而產生bugs。

2?max的四個主要組成部分:

??建模工具max builder

它可以用圖形描述業務模型的組織結構、功能特點以及業務過程的先後順序。

??企業應用模板max progeny

這些模板為各個行業領域內的企業,或者不同的企業應用系統(pdm, crm, his…),提供了建立本企業模型的參考。這些系統都是由max builder構建的衍生物。

??企業級報表 max report

基於企業應用的柔性報表系統。提供強大、靈活的報表定義工具,以及高效和豐富的報表生成系統。

??企業模型管理工具max configuration

系統管理以及工作流定義與實現。

2.1?建模工具max builder

這一部分是max family與一般企業應用系統的區別所在。一般的企業應用軟體都是通過使用者定義字段、使用者介面個性化等方法來達到客戶化的效果。但是,這種自定義的方法不能從根本上來定義乙個柔性的系統,只是在現有軟體的基礎上進行小修小改。當使用者的需求與已有的軟體差別比較大的時候,還是要通過編寫**來實現業務邏輯。然而,在max builder中,我們採用一系列的視覺化工具來讓使用者「為所欲為」,不僅能自定義字段,還有方法,以及物件和物件間的關係。然後,根據使用者定義的類模型來生成軟體的介面和資料庫結構。生成的使用者介面ui還可以被使用者按個人喜好進行更改,比如布局,語言等等。

類模型,資料模型和使用者介面的定義分別儲存為xml檔案。類模型和資料模型格式可以參考ms objectspaces中的對映檔案格式;ui定義個是可以參考ms xaml的格式(xaml是用在下乙個windows版本中的介面定義語言)。

2.1.1?類模型定義工具

這個工具類似於rational rose或者visio的靜態類圖定義工具。使用者在這個視覺化工具裡定義各個業務物件的屬性、方法、事件,以及各個物件之間的關係。最終的介面應該類似下圖:

?在這個視覺化環境中,開發者可以定義類的屬性/方法以及它們的型別(public, private),定義類之間的關係(inherited, association, aggregation, composition)。建模的方法可以借鑑rational rose logic view或者visio的類圖定義方法。應該至少支援package檢視,如果可能,還應該支援類層次圖(能清晰地反映類的繼承關係)。根據目前的發展方向,確定為僅支援單繼承。

對於類的方法和事件,提供指令碼編輯器。指令碼擬採用vb.net和c#.net。這樣指令碼直接由.net clr支援,比較容易實現;而且是編譯後執行(不同於解釋執行的指令碼),執行速度上將有優勢。

2.1.2?資料庫結構生成

根據類圖定義,max builder可以自動產生資料庫結構,以及資料表之間的關係。比如,每個類作為乙個表,類的屬性作為表的乙個字段,object屬性作為表的外來鍵連線。

同時,也提供方法讓使用者來制定資料對映。比如,對於唯讀的class,可以對映到view。或者對映到其他的應用系統資料庫的乙個或多個表中。

這個部分的難點在於如何做到高效而且與資料庫平台無關的資料庫結構。

2.1.3?使用者介面定義

根據使用者的類模型定義,系統會生成預設的使用者介面。預設的使用者介面更具以下原則生成:

??所有的public屬性都對應著可見的控制項(比如,string 屬性對應textbox, boolean 屬性對應checkbox, object 屬性對應listview,等等)。對於<

><

>方法,作為屬性處理(僅有<

>就是唯讀,僅有<

>就是只寫)。

生成的介面應該支援多種控制項屬性。比如,對string型別的屬性,應該能讓使用者指明是否能為空,預設值,是否能重複,最大字元數,是否可編輯等等。

控制項按照某種預設的順序排列(使用者定義時的順序,或者字母順序?)

??一般的public方法,對應於該物件視窗上的工具欄按鈕和選單

使用者能指定這些方法的順序和圖示,以及快捷鍵等資訊。如果可能,是否可以讓使用者指定可用/不可用的條件。當工具欄按鈕或者選單被單擊時,執行方法指令碼。

??事件沒有介面,由系統觸發呼叫事件指令碼

事件應該包括物件事件和屬性事件。

預設的使用者介面應該是可以被靈活的修改的。比如,視窗的大小,資料型別(單記錄視窗還是多記錄視窗),控制項的位置,字型,顏色,控制項型別(列表框還是彈出按鈕?)等等。

下面是乙個例項,乙個由customer類自動產生的視窗介面,其中可以看到使用屬性窗對customerid這個屬性進行定義的介面:

?單記錄檢視

多記錄檢視

2.1.4?**的生成與編譯

定義好了類模型,資料模型和ui後,根據這些定義產生.net平台的**,然後編譯成.net il(中間語言) dll。**不是可持久的,只在編譯時存在於記憶體中,生成的dll存放於伺服器上。

2.2?企業應用模板 max progeny

2.3?企業模型管理工具max configuration

這一部分是企業應用系統的外圍部分,但也是十分重要的。包括的內容有:

2.3.1?系統工具

包括日誌管理,使用者管理,許可權管理,儲存管理等各個系統都通用的部分。

2.3.2?工作流定義工具

簡單地說,工作流就是一系列相互銜接、自動進行的業務活動或任務。通過這個視覺化的工具,使用者定義工作流程,並且對映到模型的類上去。這樣,對於類的例項,就可以走乙個預定義的流程。工作流的模型可以參考wfmc的標準。

這個工具的開發是乙個難點。可能類似下面的介面:

?2.4?報表設計與輸出工具 max report

這也是乙個關鍵的部分。報表的設計應該簡單,但同時也能支援複雜的報表設計。報表的輸出可以採用第三方的工具(比如crystal report, vs report等),但需要和我們的系統緊密地聯結起來,讓使用者既靈活,又方便的設計和輸出報表。這個工具應該遮蔽資料庫,使用者只會看到模型中的類。

這部分的工作主要是架構問題,由於以前有類似的架構經驗,我認為這部分可能會是max family的強項。

InnoDB儲存引擎概述 概述

重新整理記憶體池資料,保證記憶體快取的是最新的資料,將已修改的資料檔案重新整理到磁碟中,資料庫發生異常時innodb能恢復至正常執行狀態.負責將緩衝池中的資料非同步重新整理到磁碟,保證資料的一致性,包括髒頁的重新整理,合併插入緩衝,undo頁的 async io處理io請求,四種thread wri...

與 或 異或運算

與 或 異或運算 1.與運算 參加運算的兩個資料,按二進位制位進行 與 運算。運算規則 0 0 0 0 1 0 1 0 0 1 1 1 即 兩位同時為 1 結果才為 1 否則為0 例如 3 5 即 0000 0011 0000 0101 0000 0001 因此,3 5的值得1。例如 9 5 即 0...

與 或 異或運算

參加運算的兩個資料,按二進位制位進行 與 運算。運算規則 0 0 0 0 1 0 1 0 0 1 1 1 即 兩位同時為 1 結果才為 1 否則為0 例如 3 5 即 0000 0011 0000 0101 0000 0001 因此,3 5的值得1。例如 9 5 即 0000 1001 9的二進位制...