摘 要:本文首先通過構建金融業整個模型架構體系,整個架構體系由業務架構,數據架構,應用架構,組織架構,和技術架構組成。然后從生成標準文檔的交互式模型和整個業務建模系統對比現有的文檔生成方式,并指出金融業軟件設計中文檔生成方式的未來研究方向。
關鍵詞:業務建模系統;文檔生成;模型架構體系;交互式模型
中圖分類號:F831 文獻標識碼:A 文章編號:1674-7712 (2014) 04-0000-01
當今處在一個超競爭和客戶主觀價值不斷變化的時代,此背景下,企業中的現有的金融業軟件系統項目開發中,需要大量的文檔支撐軟件系統的開發,與此同時軟件系統設計經常會遇到大量的文本需要以某一標準模板要求的格式導出,例如軟件系統設計的概要設計書,數據邏輯文件,物理文件等等?,F在對這些文檔的編寫還是靠業務部門和技術部門聯合編寫。但是各個部門有自己的專業語言,這樣就會由于部門間的專業語言不通,給文檔的編寫及相關人員的閱讀和理解帶來很大的不便,技術人員與業務人員并不能及時的了解客戶的需求,這樣會造成有時編寫的文檔和客戶真正的需求有一定的差距,最后編寫的文檔并不是一份合格文檔。
一、領域建模驅動設計之領域模型
2004年Eric Evans發表Domain-Driven Design–Tackling Complexity in the Heart of Software(領域驅動設計),簡稱Evans DDD。領域驅動設計分為兩個階段:以一種領域專家、設計人員、開發人員都能理解的通用語言作為相互交流的工具,在交流的過程中發現領域概念,然后將這些概念設計成一個領域模型;由領域模型驅動軟件設計,用代碼來實現該領域模型,領域驅動設計的核心是建立正確的領域模型。
(一)金融業領域模型。但是DDD方法會由于一些基礎交流模式,架構,等等,總是想將實際生活中的概念和程序工件進行對應。他們希望看到要建立哪些對象類,要如何對對象類之間的關系建模[1]。他們會習慣按照封裝、繼承、多態等面向對象編程中的概念去思考,會隨時隨地這樣交談,這對他們來說這太正常不過了,開發人員就是開發人員。但是業務領域專家通常對這一無所知,他們對軟件類庫、框架、持久化甚至數據庫沒有什么概念。
通過領域驅動設計和模型驅動設計建模方法對金融業務建立領域模型,利用模型驅動開發。對金融領域從不同的維度進行綜合建模,將金融業務領域劃分為業務,技術,應用,數據,四個維度,再將金融業務領域在四個維度不斷地細化分層,例如:在業務維度中金融業務細化方法為業務領域→業務系統→業務功能塊→業務流程→業務活動→規則。各個維度中的各個節點在本維度內或者不同維度間通過柔性規則建立約束性關聯關系,達到對整個系統達到綜合管理的目的。下圖為金融業業務領域模型總覽。
(二)業務需求領域建模研究。業務人員根據客戶的需求在業務模塊中建立需求點模型,可以實時的根據客戶的需求變化做出及時的調整,極大的解決了現在由于溝通不便帶來的需求點變更新不及時的問題,金融業IT架構管理系統由業務模型架構,數據架構,應用架構和技術架構組成[2]。在業務模型編輯器中我們只需要從節點庫中選擇我們需要的節點建?;蛘咭宰灾髅姆绞浇?,節點庫由專業的人員設計和維護,這些節點的信息都是遵循各自標準建立的規范節點,專業人員會對節點庫進行專業的管理和分析。在建立的過程中,業務人員只需要在節點庫中找到想要的節點,然后拖拽到模型編輯界面即可建立標準的模型,這樣就降低了業務人員的業務水平參差不齊帶來建立模型不統一需要修改的工作量。同時在這個過程中,客戶可以參與到整個模型的建立,減少了以往溝通不便帶來的大量重復修改工作。建立需求模型后,再通過專業的建模人員進行審核入庫[3]。下圖為需求模型架構設計。
(三)交互式模式設計研究。在現在的金融軟件項目開發中,大部分的軟件需求都是客戶完全提出后才進行整理,在這期間有很多的時間,客戶和項目開發方基本是不聯系,客戶需求不能及時更新。所以需要一種交互的模式來技術的處理需求更新和規范規范化的問題。
金融業業務領域模型和需求模型界面系統同時對客戶的需求進行管理,同時,技術人員根據客戶需要編寫好標準的模板文件和腳本文件。在業務模型編輯系統中提供導入腳本文件和模板文件的接口,在模型編輯器中結合模板文件,腳本文件,需求模型就可以導出標準的文檔文件。
二、結束語
基于金融業軟件設計中標準文檔生成的業務模型能很好的解決金融業軟件開發中的各種文檔生成及對需求的管理和更新,對各種突發的變更能快速的反應,為開發節省大量的時間和成本,同時也很好的解決不同部門由于專業領域帶來的溝通困難問題。缺點是現在標準文檔對需求的影響范圍調整還沒有很好評估,同時這種模式還需要以不同的展示頁面提供給不同的用戶使用。
參考文獻:
[1]趙俐,盛海燕,劉霞.領域驅動設計[M].北京:人民郵電出版社,2012.
[2]蔡黃輝,馬文濤.架構實踐[M].北京:機械工業出版社,2010.