乙個軟體公司要想提高公司的軟體開發效率,一定會有自己的軟體開發平台。今天就和大家分享下乙個軟體平台的設計思考。
在設計軟體開發平台過程中,為了少走彎路,我們要盡量多往外看一看,吸取一下別人成功的經驗,結合自己的實際情況進行設計。在我檢視了不少的業界軟體開發平台,我把它們分為三類。下面介紹如下三類:
第一類
該類產品是基於業務物件的業務架構平台,業務物件的配置過程是平台的核心,通過配置業務物件基本完成了整個軟體開發過程。業務物件的配置包含物件資訊的配置、物件的分類、物件的方法、物件的檢視、子物件、物件的屬性、物件的頁面展示形態等;其中屬性的配置包含屬性的型別、屬性值的約束、屬性的頁面展示控制項、屬性之間的依賴等。同乙個物件的在不同頁面的展現形態通過物件的檢視去配置。這類平台淡化了頁面的互動配置,而是將頁面的展示方案交給物件通過物件展示模板的方案進行配置。
因此有關頁面展示的配置過程並不是特別直觀,主要是通過內建的展示模板供使用者選擇且都被包含在物件的配置過程中,在展現互動層的動態能力偏弱。這種方式雖然不直觀,但是由於物件的特徵和展示的配置都集中在業務物件上,軟體的迭代要更加敏捷一些,因為通過更改物件的配置就可以適應需求的變化。
以下是某產品的物件配置和屬性配置的部分截圖,提供示意檢視。
物件配置介面
屬性配置介面
第二類
在這類平台中,業務物件的配置相對簡單,業務物件配置主要包含物件基本資訊的錄入、子物件的新增,屬性部分基本特徵的錄入,例如資料型別。這類平台中,業務物件的職責主要用來生成資料庫表結構和繫結表單及列表。在該平台的的表單建立時,需要指定繫結的業務物件。業務物件的屬性與表單的控制項進行繫結。當然業務物件在初始繫結表單時特徵有個轉換的過程,主要是屬性的型別會和控制項的型別的轉換。
在該類平台中,業務物件及屬性配置中,只定義了部分基本的特徵。部分其他的複雜的特徵例如屬性的依賴(如:省和市的依賴)、屬性在頁面上的顯示隱藏在業務物件並沒有對應的特徵轉換。因此需要使用者在頁面的配置過程中進行相關級聯的配置,這種屬性依賴在頁面上體現為控制項之間的級聯,儲存後為作為頁面的配置。然而當使用者建立新的頁面再繫結該物件時,這種級聯無法傳遞,因為物件本身並沒有儲存這種級聯性。不過這類產品提供了通過頁面的複製進行傳遞這種特性。而在第一類平台中是通過屬性之間值的約束進行配置的。在屬性之間進行約束的話,具有全域性性,即使該物件在不同的頁面展示無需再次配置。
以下是第二類產品的部分示意截圖:
物件屬性的配置介面
表單的配置介面
第三類
第三類軟體開發平台,它淡化了業務物件的概念,而是直接將資料庫和頁面的技術特徵展示在配置表單上。它是以資料庫域為核心。資料庫的字段、特徵的變化影響著頁面屬性、特徵的變化。但也提供了在不同的技術域下個性的特徵配置的過程。
資料庫屬性配置介面
頁面屬性配置介面
總結分析和擴充套件
上述三類軟體平台都為軟體開發提供了一定的便捷,但是他們的設計理念卻有著一定的差異。第一類平台所有的配置都集中在業務物件,通過物件的配置解決所有的問題。第二類平台在業務物件上有著粗略的配置,更多細節複雜配置體現在頁面的配置上。而在第三類中,直接從技術出發,由資料庫的配置影響頁面的配置,允許部分頁面的配置再次更改,理念更加技術化。
而在設計乙個平台時,首先需要定位平台的客戶目標,是開發人員?還是業務人員?還是有一定開發能力的業務人員?是乙個人完成整個過程?還是多人協同完成整個過程?定位不同必然平台設計的思路也會有差異。很顯然,上面我介紹的這三類平台都是由乙個人進行完成整個軟體配置過程。
其次我們需要清楚軟體只是業務的體現方式,軟體是實現業務的一種工具,在沒有軟體的年代,我們通過文字、、口述交流來表達業務,而在有了軟體後,使得表達業務更加的方便。因此我們要明白,業務才是軟體的本質,業務的特徵才是決定軟體的核心設計。有了軟體後,軟體本身也會衍生出一些軟體本身的特徵,例如軟體採用的程式語言、軟體的介面形式等。
軟體的生命週期有不同角色的人參與,從調研到開發再到運維。在這裡我主要分為業務和技術兩種角色。業務人員進行對軟體進行業務建模,技術人員對技術建模的產物進行加工和技術特徵的補充。
在乙個軟體中我們首先要能夠區分哪些是業務決定的哪些是技術決定的,換句話說哪些是業務特徵哪些是技術特徵。業務特徵往往可以引導和制約技術特徵的值,業務和技術特徵的區分可以讓不同的人參與進來,業務精通的人參與業務特徵的配置中,技術精湛的人參與技術特徵的補充。因此區分哪些是由業務決定的,哪些是由技術決定的格外重要。
下面的列表是對一些常見的特徵之間的對映關係。
屬性業務特徵對應技術特徵
資料型別
控制項型別
屬性依賴
級聯控制項
非空必填
密碼密碼控制項
唯一性資料驗重
可變性不可修改
多值控制項型別
格式規則
填寫約束
範圍規則
填寫約束
對乙個特徵的看法不同的人有不同的看法,例如級聯有人說是技術的,有人說是業務的。在判斷特徵域的歸屬時,我給大家的建議是如果這個特徵沒有軟體、沒有技術也能表達的話那麼他就是業務的。
軟體開發平台設計 cxd
軟體開發平台設計 一 實體設計 對資料庫的表的設計,以及表的相關資訊,表字段的相關資訊 此處最大的難點是能否做得比 sql server 方便,否則意義大減 二 表單設計 表單設計目前有 3種方案 1.將表單資訊全存入資料庫中,庫戶端只用乙個 dll呼叫資料庫的表單資訊,執行時組成介面。優點 做表單...
軟體開發平台的設計和考慮
國內從2000年開始,就有人開始提出做開發平台的概念。其實這個開發平台之前也一直有在做,很多適應基於某個行業的開發平台。在那個平台基礎上進行配置和更新。但是國內的做法還要激進一些,希望能夠開發出乙個適合所有行業的快速開發平台,因此也出現了很多這種平台。當然影響最大的還是普元的開發平台。但是雖然有那麼...
系統軟體開發平台
很多時候我們找我們想要找到的人總是很難,比如技術人員想要找真正需求者,又比如需求者想找靠譜的開發團隊。於是就有了橋梁 產品經理的誕生,他們連線客戶與開發團隊,與客戶溝通好需求,再將需求整理給開發團隊。但是客戶與產品經理也是需要乙個橋梁的,這就出現了像大大神網這樣的能夠將他們連線到一起的平台。no.1...