原型系統設計概況

2022-08-01 10:51:13 字數 1840 閱讀 1922

一.目標

「原型系統+規則庫=行業軟體」

二.構成

自定義表單

自定義規則

自定義流程

自定義報表

自定義列印

三.詳述

1.表單

應該可以進行表單介面的視覺化設計,設計的表單具有基礎的增刪改查等功能,對於增刪改查等許可權劃分規劃到規則設計中來配合實現。

表單設計中應該要包含一套基礎控制項庫,控制項可以繫結表物件,資料物件,函式物件,規則,並可以根據資料物件的許可權對應不同的狀態,比如是否可讀,可寫等許可權。

2.規則

將規則從系統中抽取出來意義重大,在乙個系統中業務規則佔據了相當大的比例,而且是變動最為頻繁的,我們總是希望把容易變動的和不容易變動的分離開來,這樣就不至於因為修改易變的部分影響不需變的部分,從而簡化系統修改的複雜性,也提高系統的靈活性。

業務邏輯從本質上來講就是一種規則的集合,資料和展示都是規則實施的物件,規則甚至也可以對規則起作用,這樣就成了規則的規則。因此如果要設計規則引擎那麼這個規則必須要可以引用和運算元據(水平,垂直),頁面,控制項,規則等組成部分。

規則大部分是「如果-那麼」這種形式,這種形式從本質上講可以看做「條件-執行」,這樣所有的規則都拆分為規則條件和規則執行體兩部分。規則有作用域,順序,黑名單,白名單,例外等。

規則是在配置檔案中的,可方便修改而不用修改程式和進行編譯,也可以快取起來以提高效能。

規則的管理可以通過設計乙個規則**,方便設計和進行規則查詢,如果能實現乙個規則**設計器可以大大方便規則的制定,降低規則學習的門檻。

因為要保證規則的全域性性,那麼對所有的資料物件訪問, 方法呼叫都要經過這個規則校驗,因此需要乙個集中的入口或者出口,所有對資料的訪問和方法的呼叫都要有個使用者id,規則引擎根據id和規則庫來校驗操作的合法性。

引入規則引擎對開發模式影響也是很大的,由於業務規則從系統中分離出來,資料的基本操作都可以變成簡單的增刪改,有利於程式自動統一處理。開發的重點變成了開發規則執行的規則,簡單的說就是制定規則的規則。系統初始化後只有乙個設計器,通過設計器建立行業模型,再通過設計器對模型進行規則限制,這些工作將轉移到實施部門進行,不需要開發部門進行干預。

由於建立一套行業規則的工作量是很大的,因此可以預置幾套行業規則模板,同一套系統在不同的規則下來適應不同的行業業務。

3.流程

工作流是oa系統的乙個核心功能,我們已經有一套可行的工作流,但是有些功能還是需要完善。可以先描述一下我心目中理想的工作流,工作流的設計應該是獨立於表單的,在乙個工作流中各節點可以根據需要掛接不同的頁面,而不是向我們系統那樣乙個流程只能有乙個頁面。流程的執行條件和動作依賴與規則,在原型系統中規則引擎的建立是乙個基礎性工作,屬於微觀操作,工作流的設計屬於巨集觀操作,但是工作流引擎的工作依賴與規則引擎來進行條件判斷和動作執行。

4 . 報表

我們的系統現在也有不少的報表,但是報表很不通用,實現起來工作量也很大,因為要為不同的模組根據功能實現不同的報表。應該製作乙個通用報表功能模組,報表模組可以引用任意相關聯的業務資料,根據關聯對資料進行統計分析。對於常見的報表可以讓客戶自己選擇要統計分類的列和統計彙總(求和,平均值,最大值,最小值,計數)的列。

要做到這一點有幾個要求,一是要有統一的字典表,現在系統中字典表的數量不下10個,對於自定義報表關聯難度大大增加了。對於用到的資料表需要有乙個類似tablelist和fieldlist的表對表中的字段做出中文,英文等說明當做自定義報表的表頭用。

5         列印

需要現在的列印的基礎上可以關聯報表中的資料作為資料來源,這樣列印的應用範圍就大大增加了。

朱現國 2014-07-25

牛腩新聞發布系統 總體概況

牛腩新聞發布系統採用的是三層架構的設計思想,也就是web bll dal及model層 軟體編碼過程中,他採用的一層層的編寫 而不是乙個個功能的實現 橫向編寫 這樣做更體現了分層的思想。牛腩老師講課思路挺清晰的,此 新聞發布系統 從設計到完成正是乙個軟體實現的全過程。此 新聞發布系統 的介面設計主要...

原型設計模式

一 應用場景 在乙個特定的場景中經常需要出現多個相同但狀態各異的物件,通常的解決方法是通過new建立這些物件之後分別去設定這些物件的狀態。原型設計模式提供了更快捷 更有效的解決方法。二 意圖 通過複製 轉殖 拷貝 乙個指定型別的物件來建立更多同型別的物件。這個指定的物件可被稱為 原型 物件,也就是通...

網頁原型設計

天天和產品打交道,不時要做一些頁面原型 離不開各種工具,工欲善其事必先利其器,好的工具軟體可以大大提高工作 效率,工具各有優劣,大家按需取之。原型設計工具我暫時把它分為兩類,web應用原型設計工具及軟體應用原型設計工具 微軟的visio就不說了 web應用原型設計工具 先來看看這個幾個 axure ...