国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Enterprise Architect在實(shí)驗(yàn)預(yù)約管理系統(tǒng)的建模研究

2011-11-08 11:53:16戴一平
關(guān)鍵詞:源代碼用例數(shù)據(jù)模型

戴一平

(華南師范大學(xué) 教育信息技術(shù)學(xué)院,廣州 510631)

Enterprise Architect在實(shí)驗(yàn)預(yù)約管理系統(tǒng)的建模研究

戴一平

(華南師范大學(xué) 教育信息技術(shù)學(xué)院,廣州 510631)

介紹了應(yīng)用EA建立實(shí)驗(yàn)預(yù)約管理系統(tǒng)數(shù)據(jù)模型的開(kāi)發(fā)過(guò)程,側(cè)重于該系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)與實(shí)現(xiàn),并期望能提煉出一種適合一般管理系統(tǒng)的框架。在整個(gè)項(xiàng)目的設(shè)計(jì)和實(shí)施過(guò)程中,始終采用UML圖等作為描述文檔,并將其和統(tǒng)一過(guò)程結(jié)合,實(shí)現(xiàn)項(xiàng)目的迭代和增量式開(kāi)發(fā)。

預(yù)約;EA;統(tǒng)一建模語(yǔ)言

0 引言

實(shí)驗(yàn)室是實(shí)驗(yàn)教學(xué)和科學(xué)研究的重要基地,也是對(duì)學(xué)生實(shí)施素質(zhì)教育、能力培養(yǎng)和科技創(chuàng)新的重要媒體。實(shí)驗(yàn)室信息化管理是提高實(shí)驗(yàn)教學(xué)質(zhì)量和效率及實(shí)現(xiàn)教學(xué)效果最優(yōu)化的重要手段。信息化管理系統(tǒng)數(shù)據(jù)模型的開(kāi)發(fā)需要有相應(yīng)優(yōu)秀工具去實(shí)現(xiàn),統(tǒng)一建模語(yǔ)言UML(Unified Modeling Language)是一種構(gòu)建直觀化、明確化和文檔化軟件系統(tǒng)產(chǎn)物的通用可視化建模語(yǔ)言。它捕捉了被構(gòu)建系統(tǒng)的有關(guān)決策和理解用來(lái)理解設(shè)計(jì)瀏覽配置維護(hù)以及控制系統(tǒng)的信息。UML可以與所有的開(kāi)發(fā)方法、生命階段、應(yīng)用領(lǐng)域和媒介一同使用。它意圖統(tǒng)一過(guò)去建模技術(shù)的經(jīng)驗(yàn),將當(dāng)前軟件最佳實(shí)踐合并至標(biāo)準(zhǔn)的方法。UML包括語(yǔ)義概念、標(biāo)記符號(hào)和指南,具有靜態(tài)、動(dòng)態(tài)環(huán)境和組織性的部分,它可被具有代碼產(chǎn)生和報(bào)表生成的交互式可視建模工具所支持。UML規(guī)范沒(méi)有定義標(biāo)準(zhǔn)過(guò)程,但可用于迭代的開(kāi)發(fā)過(guò)程,并支持現(xiàn)有的大多數(shù)面向?qū)ο蟮拈_(kāi)發(fā)過(guò)程[1,2]。

對(duì)UML我們可以這樣理解:它不是編程語(yǔ)言,其工具可以提供UML至各種編程語(yǔ)言的代碼生成,也可從現(xiàn)有的程序逆向構(gòu)筑模型。UML不是用于定理證明的高度正式的語(yǔ)言,實(shí)際上有很多正式的語(yǔ)言,但它們不易理解或不適用于多種用途。UML是通用性的建模語(yǔ)言,不適用于特定的領(lǐng)域,更特定的語(yǔ)言和工具可能更加合適,如GUI設(shè)計(jì)、VLSI電路設(shè)計(jì)或基于規(guī)則的人工智能。UML是離散的建模語(yǔ)言,它不打算對(duì)如工程和物理的連續(xù)系統(tǒng)建模,UML是對(duì)諸如軟件、硬件或數(shù)字邏輯的離散系統(tǒng)建模的通用語(yǔ)言[3]。本文結(jié)合實(shí)驗(yàn)預(yù)約管理系統(tǒng)的開(kāi)發(fā)過(guò)程,對(duì)應(yīng)用Enterprise Architect建立數(shù)據(jù)模型問(wèn)題作較詳細(xì)的分析。

1 建模技術(shù)及工具選擇

1.1 開(kāi)發(fā)過(guò)程概述

系統(tǒng)的開(kāi)發(fā)是以軟件工程方法學(xué)為指導(dǎo),依照軟件工程開(kāi)發(fā)步驟來(lái)進(jìn)行。首先進(jìn)行需求分析,然后根據(jù)需求分析結(jié)果進(jìn)行功能模塊設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、單模塊開(kāi)發(fā)和系統(tǒng)集成測(cè)試等,依照分析-設(shè)計(jì)-開(kāi)發(fā)-測(cè)試-部署的步驟進(jìn)行。這是軟件工程方法學(xué)的核心實(shí)現(xiàn)路線,但具體的開(kāi)發(fā)過(guò)程并不依賴于某一開(kāi)發(fā)方法論,而采用靈活的迭代式開(kāi)發(fā)模型,以需求分析為中心指導(dǎo)各階段的開(kāi)發(fā)[3-4]。

1.2 使用主要技術(shù)

Apache幾乎可以運(yùn)行在所有廣泛使用的Unix、Windows、Linux操作系統(tǒng)平臺(tái)上。目前成為世界上最流行的Web服務(wù)器軟件之一。其特點(diǎn)是安裝簡(jiǎn)單、速度快、性能穩(wěn)定、可移植性非常好,并可做代理服務(wù)器使用,全球很多著名網(wǎng)站,如 Amazon、Yahoo、W3 Consortium、Financial Times等都是 Apache 的用戶[5-6]。

PHP是一種HTML內(nèi)嵌式的語(yǔ)言,其獨(dú)特的語(yǔ)法混合了C、Java、Perl以及自創(chuàng)的語(yǔ)法,可以比CGI或者Perl更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè),而且支持幾乎所有流行的數(shù)據(jù)庫(kù)以及操作系統(tǒng)[7-8]。

MySQL是小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù),支持非常廣泛的操作系統(tǒng),提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑[9-11]。

1.3 采用的工具

Enterprise Architect(以下簡(jiǎn)稱EA)是以目標(biāo)為導(dǎo)向的軟件系統(tǒng),覆蓋了系統(tǒng)開(kāi)發(fā)的整個(gè)周期,除開(kāi)發(fā)類模型外,還包括事務(wù)進(jìn)程分析、使用案例需求、動(dòng)態(tài)模型、組件和布局、系統(tǒng)管理、非功能需求、用戶界面設(shè)計(jì)、測(cè)試和維護(hù)等功能,為整個(gè)團(tuán)隊(duì)提供高級(jí)的UML 2.2建模工具。使用EA設(shè)計(jì)人員可以充分利用UML 2.2圖表的功能,支持全部13種UML 2.2圖表和相關(guān)的圖表元素,包括:

(1)結(jié)構(gòu)圖表:類、對(duì)象、合成元素、包、組件、布局;

(2)行為圖表:使用案例、通信、序列、交互概述、行為、狀態(tài)、時(shí)序;

(3)擴(kuò)展:分析(簡(jiǎn)單行為)、定制(需求、變動(dòng)和UI設(shè)計(jì));

(4)使用工具能夠跟蹤依賴關(guān)系、支持大型模型,幫助開(kāi)發(fā)設(shè)計(jì)人員管理大型復(fù)雜的工程;提供CVS或SCC工具,以時(shí)間快照為基線,通過(guò)比較來(lái)跟蹤模型變動(dòng),從而實(shí)現(xiàn)版本控制;含有項(xiàng)目可視化窗口,提供高性能直觀的工作界面;

(5)具備源代碼的正向和反向工程能力,支持多種通用語(yǔ)言,包括 C++ 、C#、Delphi、Java、PHP、VB.Net、Visual Basic等,可獲取免費(fèi)的CORBA和Python附加組件,并提供語(yǔ)法突顯功能的內(nèi)置源代碼編輯器,確保在一致的工作環(huán)境中快速導(dǎo)航和查找用戶模型的源代碼[12-14]。

2 系統(tǒng)需求分析

2.1 需求模型

需求模型(Requirements Model)是一種文檔式模型,通過(guò)準(zhǔn)確恰當(dāng)?shù)亓谐鼋忉岄_(kāi)發(fā)過(guò)程中需要實(shí)現(xiàn)的功能行為來(lái)描述待開(kāi)發(fā)項(xiàng)目,并為開(kāi)發(fā)過(guò)程中需要使用到的各種結(jié)構(gòu)化技術(shù)文檔(功能或技術(shù)規(guī)格說(shuō)明書(shū),測(cè)試計(jì)劃)而使用需求模型。EA可在模型中直接建立其它學(xué)科的軟件開(kāi)發(fā)模式來(lái)集成需求管理的UML工具。

需求管理是建立在解決許多問(wèn)題的可追溯性的、跨學(xué)科的團(tuán)隊(duì)分工、系統(tǒng)集成的變更和配置管理的核心。具有的特點(diǎn)包括:

(1)在模型中能夠直接創(chuàng)建和查看需求;

(2)在模型中直接細(xì)化用例;

(3)可加入每一個(gè)需求的屬性,如難點(diǎn)、狀態(tài)和類型,也可以自定義屬性;

(4)能夠跟蹤業(yè)務(wù)規(guī)則的需求,測(cè)試案例和分析加工;

(5)可跟蹤關(guān)系矩陣和考慮需求的變化的影響[15];

(6)能夠?yàn)榭蛻魟?chuàng)建優(yōu)質(zhì)的MS Word和HTML文件。

2.2 系統(tǒng)功能需求描述

2.2.1 角色定義

用例分析就是捕獲系統(tǒng)、子系統(tǒng)、類或組件的行為,并通過(guò)用例圖向外部用戶展示。統(tǒng)一系統(tǒng)開(kāi)發(fā)過(guò)程強(qiáng)調(diào)用例驅(qū)動(dòng)及迭代增量的開(kāi)發(fā),用例不但用于捕獲需求,而且還是提供從分析到測(cè)試的活動(dòng)基礎(chǔ)[16]。

定義參與者(Actors):參與者是與系統(tǒng)、子系統(tǒng)或類發(fā)生交互作用的外部用戶、進(jìn)程或其它系統(tǒng)的理想化角色[17]。一個(gè)參與者代表了一類外部用戶可能與系統(tǒng)發(fā)生的交互。通過(guò)分析確認(rèn)本系統(tǒng)的參與者為:教師、學(xué)生、管理員。在實(shí)際運(yùn)行過(guò)程中,一個(gè)實(shí)際用戶可以既是教師又是管理員,也可是學(xué)生又是管理員。

2.2.2 用例模型的建立

用例是一個(gè)外部可見(jiàn)的系統(tǒng)內(nèi)聚功能單元,它由一種被稱為主體(Subject)的類元提供,用例表示為主體與系統(tǒng)單元的一個(gè)或多個(gè)參與者之間所交換的消息序列。[16,18]下面對(duì)綜合測(cè)評(píng)子系統(tǒng)進(jìn)行分析和說(shuō)明,并給出系統(tǒng)的主體-學(xué)生的用例。

(1)學(xué)生:學(xué)生參與用例圖如圖1。系統(tǒng)具體包括實(shí)驗(yàn)的預(yù)約、實(shí)驗(yàn)報(bào)告的提交、查詢等等。其中,網(wǎng)上預(yù)約的組織管理形式有助于使學(xué)生成為教學(xué)過(guò)程中的真正主體,學(xué)生可以根據(jù)自己的學(xué)習(xí)進(jìn)度自主選擇實(shí)驗(yàn)內(nèi)容、時(shí)間并預(yù)約實(shí)驗(yàn)資源。網(wǎng)上預(yù)約的實(shí)施還有助于實(shí)現(xiàn)開(kāi)放實(shí)驗(yàn)室設(shè)備、場(chǎng)地和師資的有機(jī)結(jié)合,在一定程度上緩解了實(shí)驗(yàn)資源的相對(duì)不足,做到資源的合理共享和有機(jī)整合,以實(shí)現(xiàn)開(kāi)放性實(shí)驗(yàn)教學(xué)。

(2)教師:除了擁有類似學(xué)生的權(quán)限外,教師可以進(jìn)行實(shí)驗(yàn)方案的征集、審核,實(shí)驗(yàn)報(bào)告的審閱、批改和實(shí)驗(yàn)成績(jī)的考核。實(shí)驗(yàn)預(yù)約的審核由主管實(shí)驗(yàn)室的實(shí)驗(yàn)中心主任或分管教學(xué)的副院長(zhǎng)進(jìn)行審批,他們角色也是教師,除了上述擁有的權(quán)限外,還比一般教師多了審批一級(jí)。

(3)系統(tǒng)管理員:擁有所有的權(quán)限。實(shí)驗(yàn)室資源管理子系統(tǒng)主要包括實(shí)驗(yàn)設(shè)備、儀器、場(chǎng)地和資料的管理。通過(guò)構(gòu)建實(shí)驗(yàn)室資源管理子系統(tǒng),師生可以隨時(shí)了解實(shí)驗(yàn)資源的分配和使用情況,實(shí)時(shí)地為開(kāi)放實(shí)驗(yàn)教學(xué)的資源調(diào)配提供指導(dǎo),可最大程度實(shí)現(xiàn)實(shí)驗(yàn)室資源的合理配置,為學(xué)生合理安排自主學(xué)習(xí)時(shí)間提供參考。

2.2.3 使用時(shí)序圖與活動(dòng)圖細(xì)化用例

確定用例化,有必要對(duì)用例進(jìn)行細(xì)化,在用例的細(xì)化階段,UML提供了非常好的工具:用簡(jiǎn)單的時(shí)序圖來(lái)描述參與者和系統(tǒng)的交互,用活動(dòng)圖來(lái)描述工作流。

(1)登錄認(rèn)證模塊設(shè)計(jì)

登錄控制部分就是要求用戶在使用系統(tǒng)前進(jìn)行登錄,然后根據(jù)用戶所擁有的權(quán)限對(duì)訪問(wèn)進(jìn)行控制。系統(tǒng)使用基于安全策略的統(tǒng)一用戶管理、認(rèn)證,把用戶的資料存放在統(tǒng)一的中央用戶管理認(rèn)證服務(wù)器上?;舅枷胧菙r截用戶的請(qǐng)求,檢查該用戶是否已經(jīng)登錄,如果沒(méi)有登錄則轉(zhuǎn)向到用戶認(rèn)證服務(wù)的登錄頁(yè)面。

圖1 學(xué)生參與用例圖

(2)使用時(shí)序圖確定參與者與系統(tǒng)交互

用例是一種文本的描述,主要用于解釋用例的具體內(nèi)容或者事務(wù)流程。時(shí)序圖可以更精確、更直觀地表達(dá)用例。它按時(shí)間組織描述了參與者和系統(tǒng)的交互情況。如圖2所示為本系統(tǒng)的學(xué)生預(yù)約時(shí)序圖。

時(shí)序圖簡(jiǎn)單地顯示了參與者之間的動(dòng)態(tài)交互關(guān)系,但沒(méi)有顯示它們之間的結(jié)構(gòu)關(guān)系。如果一個(gè)用例有多個(gè)流程,就需要使用多個(gè)時(shí)序圖才能表示出這些流程。在需求捕獲和分析階段早期,必要的時(shí)序圖相對(duì)簡(jiǎn)單而且不完整。當(dāng)進(jìn)入到用例分析,并用更深入的細(xì)節(jié)精制時(shí)序圖時(shí),這種情況就會(huì)改變。用時(shí)序圖捕獲每一種用例的主流程是有用的,但是捕獲每一個(gè)流程乃至每一個(gè)交替變換的流程,特別是當(dāng)它們的數(shù)目非常多時(shí),就不必要了,因此,一般用時(shí)序圖來(lái)捕獲用例的主流程。為了能夠顯示多個(gè)流程,往往有活動(dòng)圖[19]。

2.2.4 系統(tǒng)其他需求

系統(tǒng)應(yīng)具備靈活性、實(shí)用性、兼容性、高效性、可擴(kuò)充性和可維護(hù)性、安全可靠性和穩(wěn)定性。實(shí)驗(yàn)預(yù)約管理系統(tǒng)架構(gòu)是基于PHP應(yīng)用程序體系結(jié)構(gòu)的。同時(shí),為了實(shí)現(xiàn)系統(tǒng)的可重用性和可擴(kuò)展性,在架構(gòu)實(shí)驗(yàn)預(yù)約管理系統(tǒng)時(shí)還遵循以下原則:使用MVC設(shè)計(jì)模式實(shí)現(xiàn)實(shí)驗(yàn)預(yù)約管理系統(tǒng)的邏輯分層。在系統(tǒng)中,利用一個(gè)用戶界面控制器控制網(wǎng)頁(yè)的生成、轉(zhuǎn)發(fā)及業(yè)務(wù)組件調(diào)用,實(shí)現(xiàn)模型和視圖的分離,從而使系統(tǒng)的各個(gè)功能模塊達(dá)到一種層間松散藕合的效果,提高系統(tǒng)靈活性、復(fù)用性和可維護(hù)性[20]。

圖2 學(xué)生預(yù)約時(shí)序圖

2.2.5 硬件配置環(huán)境

物理/配置模型提供了一種部署在整個(gè)系統(tǒng)的基礎(chǔ)設(shè)施組件的詳細(xì)模型。它詳述網(wǎng)絡(luò)功能、服務(wù)器規(guī)格、硬件要求和其他相關(guān)資料部署。物理模型顯示在何處以及將如何部署系統(tǒng)組件。圖3部署圖說(shuō)明實(shí)驗(yàn)預(yù)約管理系統(tǒng)物理部署環(huán)境,它顯示組件位于服務(wù)器、機(jī)器或硬件的位置,可闡明網(wǎng)絡(luò)連接、局域網(wǎng)帶寬等。

一個(gè)節(jié)點(diǎn)是描述任何服務(wù)器、工作站或其它主機(jī)硬件用來(lái)部署到開(kāi)發(fā)環(huán)境的組成部分。也可指定節(jié)點(diǎn)之間的聯(lián)系(如TCP/IP)和要求。節(jié)點(diǎn)有性能特點(diǎn)、最低硬件標(biāo)準(zhǔn)、操作系統(tǒng)級(jí)別等記錄。

3 系統(tǒng)設(shè)計(jì)

3.1 系統(tǒng)架構(gòu)設(shè)計(jì)

基于PHP程序體系結(jié)構(gòu)設(shè)計(jì)原則,把整個(gè)實(shí)驗(yàn)預(yù)約管理系統(tǒng)設(shè)計(jì)成為一系列的相互獨(dú)立功能模塊,并且為每個(gè)模塊定義一個(gè)通用接口。每個(gè)模塊的設(shè)計(jì)過(guò)程是相互獨(dú)立的,這樣有利于團(tuán)隊(duì)的并行開(kāi)發(fā)和使用第三方的組件。另外,模塊之間相互獨(dú)立也使系統(tǒng)更容易擴(kuò)展和維護(hù)。如圖4學(xué)生用戶預(yù)約模塊主要組件及其關(guān)系,限于篇幅,其它模型不一一列舉。

圖3 物理/配置模型

圖4 學(xué)生用戶預(yù)約模塊主要組件及其關(guān)系

3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)

3.2.1 邏輯(類)數(shù)據(jù)模型建模

邏輯數(shù)據(jù)模型反映的是系統(tǒng)分析設(shè)計(jì)人員對(duì)數(shù)據(jù)存儲(chǔ)的觀點(diǎn),是對(duì)概念數(shù)據(jù)模型進(jìn)一步的分解和細(xì)化,并根據(jù)業(yè)務(wù)規(guī)則確定業(yè)務(wù)對(duì)象、業(yè)務(wù)對(duì)象的數(shù)據(jù)項(xiàng)及業(yè)務(wù)對(duì)象之間關(guān)系的基本藍(lán)圖。其內(nèi)容包括所有的實(shí)體和關(guān)系,確定每個(gè)實(shí)體的屬性,定義每個(gè)實(shí)體的主鍵,指定實(shí)體的外鍵,需要進(jìn)行范式化處理[21]。如圖5。

邏輯數(shù)據(jù)模型的目標(biāo)是盡可能詳細(xì)的描述數(shù)據(jù),但并不考慮數(shù)據(jù)在物理上如何去實(shí)現(xiàn)。邏輯數(shù)據(jù)建模不僅會(huì)影響數(shù)據(jù)庫(kù)設(shè)計(jì)的方向,還間接影響最終數(shù)據(jù)庫(kù)的性能和管理。如果在實(shí)現(xiàn)邏輯數(shù)據(jù)模型時(shí)投入得足夠多,那么在物理數(shù)據(jù)模型設(shè)計(jì)時(shí)就可以有許多可供選擇的方法。

3.2.2 物理數(shù)據(jù)模型建模

物理數(shù)據(jù)模型是在邏輯數(shù)據(jù)模型的基礎(chǔ)上,考慮各種具體的技術(shù)實(shí)現(xiàn)因素,進(jìn)行數(shù)據(jù)庫(kù)體系結(jié)構(gòu)設(shè)計(jì),以實(shí)現(xiàn)數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存放。

圖5 用戶登錄相關(guān)類

物理數(shù)據(jù)模型的內(nèi)容包括確定所有的表和列,定義外鍵用于確定表之間的關(guān)系,基于用戶的需求可能進(jìn)行范式化等要求[21]。在物理實(shí)現(xiàn)上的考慮,可能會(huì)導(dǎo)致物理數(shù)據(jù)模型和邏輯數(shù)據(jù)模型有較大的不同。如圖6。

圖6 學(xué)生信息管理模塊圖示

物理數(shù)據(jù)模型的目標(biāo)是指如何用數(shù)據(jù)庫(kù)模式來(lái)實(shí)現(xiàn)邏輯數(shù)據(jù)模型以及保存數(shù)據(jù)。學(xué)生信息管理模塊的開(kāi)發(fā)目的是管理全學(xué)院學(xué)生的各種信息,方便學(xué)生信息的查詢。學(xué)生信息管理的功能概括起來(lái)包括信息的錄入、維護(hù)和查詢。

3.3 代碼工程

代碼工程是一個(gè)轉(zhuǎn)化過(guò)程,包括自動(dòng)代碼生成、逆向工程、模型代碼和源代碼之間的同步。可以從UML生成源代碼模型元素的類或接口??缮傻恼Z(yǔ)言包括 C、C++ 、C#、Delphi、Java、PHP、Python、Action Script、Visual Basic and VB.NET源代碼,源代碼包含類的定義、變量和每個(gè)UML類的屬性及方法,可使用源代碼查看器來(lái)查看任何要打開(kāi)的源代碼。

3.3.1 正向工程

源代碼生成(正向工程)采用UML的類或接口的模型元素創(chuàng)建詳細(xì)的闡述并編譯源代碼。正向工程的主要工作包括類、屬性和方法,確保模型和代碼間的一致。例如將圖5用戶登錄相關(guān)類進(jìn)行正向工程可得到三個(gè) PHP 源文件,分別是 LoginAction.php、UseCode.php、LoginActionForm.php。

代碼從類或接口的模型元素中生成,所以必須創(chuàng)建所需的類和接口的元素,添加屬性(生成變量)和操作(生成方法)。在生成代碼之前,應(yīng)該確保代碼生成的默認(rèn)設(shè)置符合要求。默認(rèn)設(shè)置位于源代碼工程選項(xiàng)對(duì)話框(選擇工具選項(xiàng)源代碼工程菜單選項(xiàng))。設(shè)置默認(rèn)值,以符合需要的語(yǔ)言和首選項(xiàng)。首選項(xiàng),可以定義默認(rèn)的構(gòu)造函數(shù)和析構(gòu)器,包括接口方法和創(chuàng)造語(yǔ)言的Unicode的選項(xiàng)[22]。

3.3.2 逆向工程

逆向工程的功能是將現(xiàn)有的源代碼構(gòu)建為數(shù)據(jù)模型,即映射為UML表示的源代碼結(jié)構(gòu),并能夠檢查遺漏的代碼和重復(fù)的代碼,而將UML模型更新。

在EA的逆向工程中,可以導(dǎo)入以上各種語(yǔ)言的代碼到UML模型,將現(xiàn)有的源代碼結(jié)構(gòu)映射成為UML的表示,例如一個(gè)Java類映射到UML類元素的變量作為屬性的定義,模式也隨著業(yè)務(wù)和Java類之間的相互作用在UML模型與相應(yīng)的接口類圖中顯示,逆向工程可為用戶檢查遺留代碼和審議重用的代碼庫(kù)的功能或使UML模型與最新代碼同步進(jìn)程。研究在一個(gè)UML模型的代碼使用戶能夠識(shí)別關(guān)鍵模塊中的代碼,有利于理解原有業(yè)務(wù)系統(tǒng)的系統(tǒng)要求,使開(kāi)發(fā)獲得更好的源代碼做更全面的了解[22]。

4 結(jié)語(yǔ)

EA是一種出色的、面向?qū)ο蟮目梢暬到y(tǒng)分析建模工具,依托UML整套成熟的建模技術(shù),廣泛地應(yīng)用于眾多領(lǐng)域。其建模過(guò)程并不是簡(jiǎn)單的線性過(guò)程,而是一種與UML緊密聯(lián)系的演化與迭代過(guò)程,通過(guò)不斷地分析、評(píng)價(jià)和修改、再分析,最終得到高質(zhì)量的系統(tǒng)分析模型。在建模過(guò)程中,須根據(jù)具體情況,選擇合適的UML圖示清晰地描述各種功能。它的各個(gè)模型能幫助開(kāi)發(fā)人員更好地理解業(yè)務(wù)流程,建立更可靠、更完善的系統(tǒng)模型,增加用戶和開(kāi)發(fā)人員對(duì)問(wèn)題的描述的共識(shí),減少語(yǔ)義差異,保障分析的正確性。它改變了傳統(tǒng)軟件的設(shè)計(jì)思想,降低了系統(tǒng)設(shè)計(jì)的盲目性與不確定性,也更有利于系統(tǒng)的擴(kuò)展與測(cè)試,加強(qiáng)了用戶、開(kāi)發(fā)人員、分析人員、測(cè)試人員以及管理人員之間的信息傳遞與溝通,極大地提高了相互間的協(xié)作能力和軟件開(kāi)發(fā)的工程化程度。

[1] Object Management Group Inc.OMG Unified Modeling Language(OMG UML2.3),Infrastructure[EB/OL].(2010)[2010 - 12 - 12].http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML.

[2] Object Management Group Inc.OMG Unified Modeling Language(OMG UML2.3),Superstructure[EB/OL].(2010 -5 -3)[2010 -12 -12].http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML.

[3] James Rumbaugh,Jacobson Ivar,Booch Grady.The Unified Modeling Language Reference Manual[M].Boston:Addison Wesley Longman,Inc.,1999:3-4.

[4] 劉濤,周曉鋒.基于PowerDesigner高校進(jìn)修人員系統(tǒng)的建模研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(10):185-188.

[5] 維基百科.Apache[DB/OL].(2010 -10 -18)[2010 -12 -13].http://zh.wikipedia.org/zh-cn/Apache.

[6] Netcraft Ltd.October 2010 Web Server Survey[DB/OL].(2010 - 10 -12).http://news.netcraft.com/archives/2010/10/12/october-2010-webserver-survey.html.

[7] 維基百科.PHP[DB/OL].(2010-12-12)[2010-12-13].http://zh.wikipedia.org/zh-cn/PHP.

[8] PHP Documentation Group.PHP Manual[M/OL].The PHP Group,(2010 -12 -17)[2010 -12 -18].http://www.php.net/manual/en/.

[9] 維基百科.MySQL[DB/OL].(2010-12-10)[2010-12-12].http://zh.wikipedia.org/zh-cn/MySQL.

[10] 百度百科.MySQL[DB/OL].(2010 -11-26)[2010-12-12].http://baike.baidu.com/view/24816.htm.

[11] Stefan Hinz,Lead Team,DuBois Paul,et al.MySQL 5.5 Reference Manual[M/OL].California:Oracle Corporation,(2010 - 12)[2010 - 12 -20].http://dev.mysql.com/doc/refman/5.5/en/index.html.

[12] Sparx Systems Pty Ltd.Enterprise Architect User Guide[M/OL].Australia:Sparx Systems,(2010 - 9)[2010 - 12 - 9].http://www.sparxsystems.com/enterprise_architect_user_guide/8.0/.

[13] Wikipedia.Enterprise architect[DB/OL].(2010 -11 -17)[2010 -12 -19].http://en.wikipedia.org/wiki/Enterprise_architect.

[14] 百度百科.Enterprise Architect[DB/OL].(2007 -9 -27)[2010 -12 -19].http://baike.baidu.com/view/1152740.htm.

[15] Sparx Systems Pty Ltd.Enterprise Architect User Guide[M/OL].Australia:Sparx Systems,(2010 - 9).http://www.sparxsystems.com/enterprise_architect_user_guide/8.0/.

[16] Eric J.Naiburg,Maksimchuk Robert A.UML for Database Design[M].Boston:Addison Wesley,2001:49 -64.

[17] Pascal Roques.UML in Practice[M].West Sussex:John Wiley & Sons Ltd.,2004:6 -14.

[18] Scott W.Ambler.The Elements of UML 2.0 Style[M].New York:Cambridge University Press,2005:33 -46.

[19] Craig Larman.Applying UML and Patterns-An Introduction to Object-Oriented Analysis and Design and the Unified Process[M].Prentice Hall,1997.

[20] Seth Ladd,Darren Davison,Steven Devijver,et al.Expert Spring MVC and Web Flow[M].New York:Apress,2006:21 -40.

[21] Abraham Silberschatz,Henry F.Korth,Sudarshan S.DATABASE SYSTEM CONCEPTS[M].New York:McGraw-Hill,2001:15 -122.

[22] Sparx Systems Pty Ltd.Enterprise Architect User Guide[M].Australia:Sparx Systems,2010:1281 - 1348.

The research on the modeling of Enterprise Architect in the experiment reservation management system

DAI Yi-ping

(School of Educational Information Technology,South China Normal University,Guangzhou 510631,China)

This article describes the development process of establishing data model in experimental reservation management system by applying Enterprise Architect,focusing on the design and implementation of the system architecture and hoping to extract a suitable framework for general management systems.During the whole process of design and implementation,UML diagrams are used as the document and combined with unification process to realize the iteration and incremental development.

reservation;EA;unified modeling language

TP392

A

1009-3907(2011)06-0035-06

2011-05-11

戴一平(1971-),男,廣東廣州人,實(shí)驗(yàn)師,碩士,主要從事數(shù)據(jù)庫(kù)、軟件工程、計(jì)算機(jī)應(yīng)用技術(shù)。

責(zé)任編輯:吳旭云

猜你喜歡
源代碼用例數(shù)據(jù)模型
人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
UML用例模型中依賴關(guān)系的比較與分析
基于TXL的源代碼插樁技術(shù)研究
聯(lián)鎖軟件詳細(xì)設(shè)計(jì)的測(cè)試需求分析和用例編寫(xiě)
面板數(shù)據(jù)模型截面相關(guān)檢驗(yàn)方法綜述
從出土文獻(xiàn)用例看王氏父子校讀古書(shū)的得失
軟件源代碼非公知性司法鑒定方法探析
加熱爐爐內(nèi)跟蹤數(shù)據(jù)模型優(yōu)化
揭秘龍湖產(chǎn)品“源代碼”
面向集成管理的出版原圖數(shù)據(jù)模型
南召县| 离岛区| 射洪县| 海林市| 永丰县| 宁海县| 长春市| 宁阳县| 沁阳市| 晋江市| 原平市| 黑水县| 通许县| 东台市| 遂宁市| 嘉善县| 松潘县| 天祝| 威海市| 赤水市| 搜索| 铅山县| 临湘市| 梅州市| 梅河口市| 石家庄市| 本溪市| 阿巴嘎旗| 原平市| 玉屏| 新龙县| 桐柏县| 闽侯县| 泰来县| 基隆市| 大冶市| 南皮县| 盐亭县| 丰宁| 兰溪市| 贵南县|