【畢業(yè)學(xué)位論文】(Word原稿)基于Microsoft.Net Framework的JWXT的UML分析、設(shè)計與實現(xiàn)-計算機(jī)軟件與理論_第1頁
【畢業(yè)學(xué)位論文】(Word原稿)基于Microsoft.Net Framework的JWXT的UML分析、設(shè)計與實現(xiàn)-計算機(jī)軟件與理論_第2頁
【畢業(yè)學(xué)位論文】(Word原稿)基于Microsoft.Net Framework的JWXT的UML分析、設(shè)計與實現(xiàn)-計算機(jī)軟件與理論_第3頁
【畢業(yè)學(xué)位論文】(Word原稿)基于Microsoft.Net Framework的JWXT的UML分析、設(shè)計與實現(xiàn)-計算機(jī)軟件與理論_第4頁
【畢業(yè)學(xué)位論文】(Word原稿)基于Microsoft.Net Framework的JWXT的UML分析、設(shè)計與實現(xiàn)-計算機(jī)軟件與理論_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

分類號: 單位代碼: 10697 密 級: 學(xué) 號: 西 北 大 學(xué) 碩士學(xué)位論文 題目 基于 析、設(shè)計與實現(xiàn) 作者 指導(dǎo)教師 專業(yè)技術(shù)職務(wù) 副教授 學(xué)科 (專業(yè)) 計算機(jī)軟件與理 論 答辯日期 學(xué)位授予日期 二 年四月 獨創(chuàng)性聲明 本人聲明所呈交的學(xué)位論文是本人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。據(jù)我所知除了文中特別加以標(biāo)注和致謝的地方外,論文中不包含其它人已經(jīng)發(fā)表或撰寫的成果,也不包含為獲得西北大學(xué)或其他教育機(jī)構(gòu)的學(xué)位或證書而使用過的材料。與我一同工作的同志對本研究所做的任何貢獻(xiàn)均已在論文中做了明確的說明并表示謝意。 學(xué)位論文作者簽字: 簽字日期: 年 月 日 摘 要 教務(wù)與教學(xué)管理信息系統(tǒng)(以下簡稱 高校管理信息系統(tǒng)中復(fù)雜程度較高、開發(fā)難度較大的 開發(fā)能夠滿足教務(wù)與教學(xué)管理需求,適應(yīng)需求變化,同時具有很強的可擴(kuò)充性、可重用性、可靠性和可維護(hù)性的網(wǎng)上教務(wù)與教學(xué)管理信息系統(tǒng)一直是困擾開發(fā)者的一個難題。 本文根據(jù)高校教務(wù)與教學(xué)管理工作的實際情況, 從組件技術(shù)、系統(tǒng)體系結(jié)構(gòu)、開發(fā)方法等方面綜合考慮, 設(shè)計了 一個行之有效的開發(fā)方案, 開發(fā)過程中,做了以下工作: 1. 采用 系結(jié)構(gòu),把組件化與面向?qū)ο箝_發(fā)方法相結(jié)合,以組件化程序開發(fā)方法構(gòu)造系統(tǒng)的體系結(jié)構(gòu),使用面向?qū)ο蟮姆椒ㄟM(jìn)行組件的開發(fā)。 2. 借助 具將 言和 用開發(fā)結(jié)合起來,進(jìn)行可視化建模,定義系統(tǒng)需求,描述系統(tǒng)設(shè)計。將 戶端界面、組件對象、數(shù)據(jù)表和數(shù)據(jù)庫都作為類或?qū)ο螅凑照鎸嵤澜绲挠^點進(jìn)行建模。 3. 依據(jù)軟件工程學(xué)的觀點來制定設(shè)計開發(fā)步驟。將數(shù)據(jù)庫設(shè)計和組件規(guī)劃做為這一開發(fā) 方案的關(guān)鍵環(huán)節(jié),設(shè)計了數(shù)據(jù)層,規(guī)劃了各層次組件。 4. 設(shè)計了系統(tǒng)的安全策略。不僅對不同類型的用戶授予不同權(quán)限,而且 采用中間業(yè)務(wù)邏輯層組件作為登錄組件,實現(xiàn)對系統(tǒng)登錄的檢測。 經(jīng)實際運用,該方案一方面可以在系統(tǒng)建立的早期暴露和減少風(fēng)險,實現(xiàn)分析設(shè)計和程序?qū)崿F(xiàn)的平滑過渡,控制系統(tǒng)的復(fù)雜牲,使系統(tǒng)結(jié)構(gòu)更為合理和更易擴(kuò)展,降低系統(tǒng)的維護(hù)費用,提高開發(fā)效率;另一方面,對 用系統(tǒng)的可擴(kuò)充性、 可重用性、 可靠性 和可維護(hù)性起到了非常重要的作用,進(jìn)一步拓展了 用的領(lǐng)域和范圍。該方案不僅具有較強 的實用價值,而且具有一定的理論意義,同時這種方法還適合于其他應(yīng)用系統(tǒng)的開發(fā)。 關(guān)鍵詞:教務(wù)與教學(xué)管理信息系統(tǒng),面向?qū)ο?,組件, 模, is of IS in It is a to a of is of to of in an a My is as 1. OT to s OT to 2. ML to I, as or to do of 3. to of as on 4. of to as to of is of of we in to of On be to is is of in in be to 目 錄 第一章 緒論 1 1 究目的、 內(nèi)容和成果 2 文的組織 3 第二章 術(shù)架構(gòu)和應(yīng)用解決方案 4 術(shù)架構(gòu) 4 編程語言和開發(fā)工具 6 三層應(yīng)用解決方案 8 第三章 總體方案 13 發(fā)方法 13 統(tǒng)整體架構(gòu) 14 統(tǒng)開發(fā)過程 17 統(tǒng)的建模 19 向?qū)ο蠼7椒?19 20 21 統(tǒng)開發(fā)環(huán)境和運行環(huán)境 22 第四章 分析、設(shè)計 24 統(tǒng)需求分析 24 細(xì)化分析與設(shè)計 30 31 34 36 第五章 詳細(xì)設(shè)計與實現(xiàn) 42 據(jù)庫設(shè)計 42 計中注意的問題 46 件的規(guī)劃 47 件規(guī)劃中要注意的問題 47 務(wù)層 48 示層 50 52 54 55 全措施 57 第六章 結(jié)束語 60 60 統(tǒng)的不足 61 望 61 參考文獻(xiàn) 63 第一章 緒 論 狀分析 務(wù)與教學(xué)管理信息系統(tǒng) )牽涉到學(xué)校教務(wù)與教學(xué)管理方方面面 的工作, 建設(shè)高水平的大學(xué), 建設(shè)是重要的一環(huán)。高校 開發(fā)具有涉及教務(wù)與教學(xué)管理各環(huán)節(jié)、面向?qū)W校各部門以及各層次用戶的多功能網(wǎng)上 十分必要的。它是實現(xiàn)信息資源的共享和綜合利用、提高辦公自動化程度和辦公效率的基本前提。 目前高校 發(fā)展很不平衡,主要表現(xiàn)在以下幾個方面: 1. 許多高校的教務(wù)與教學(xué)管理采用分散管理的辦法,各個科室擁有各自的小型數(shù)據(jù)庫,沒有真正實現(xiàn)電子化和網(wǎng)絡(luò)化。這樣的管理模式造成管理零亂而低效,不利于事務(wù)的公開。另一方面,這些小型數(shù)據(jù)庫之間存在大量的數(shù)據(jù)冗余,若有數(shù)據(jù)變動 (如 增加、刪除、修改等),必須依靠手工逐個更改多個庫,不僅增加不必要的工作量、而且容易造成數(shù)據(jù)不一致,資源利用率不高。 2. 有的高校構(gòu)建了自己的校園網(wǎng),引進(jìn)這種軟件用于本校的教務(wù)與教學(xué)管理,但是因為各個高校的實際情況不同,生源、考核制度和管理方式有很大的差異,引進(jìn)的軟件往往不能直接投入使用,必須經(jīng)過二次開發(fā)。進(jìn)行二次開發(fā)所需的人力、時間和費用,可能還要高于自己開發(fā)的費用。不但如此,從系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)看,引進(jìn)系統(tǒng)的數(shù)據(jù)庫的結(jié)構(gòu)不可能和本校原有數(shù)據(jù)庫的結(jié)構(gòu)相同,甚至有很大的差異,進(jìn)行數(shù)據(jù)移植所需的代價也相當(dāng)大。 3. 還有的高校開發(fā)了網(wǎng)上 由于高校處于不斷的改革發(fā)展中,管理制度和管理模式不可能不變,加之 復(fù)雜龐大,開發(fā)的周期不但長,而且不能夠滿足用戶不斷變化的需求和新的計算環(huán)境。 由于在開發(fā) 過程中 ,沒有充分考慮系統(tǒng)將來的 可擴(kuò)充性、可重用性、可靠性和可維護(hù)性, 隨著學(xué)校規(guī)模的擴(kuò)大,管理業(yè)務(wù)的變動和對工作效率要求的提高,弊端日益顯露出來。如: 跨平臺性差,不同開發(fā)工具開發(fā)的應(yīng)用程序一般不能到其它客戶平臺上運行。 維護(hù)、升級非常不便。 對客戶端軟硬件要求較高,尤其是軟件 的不斷升級,對硬件要求不斷提高,增加了整個系統(tǒng)的成本。 缺乏開放性,難以方便地與 軌,系統(tǒng)之外的用戶難以訪問系統(tǒng)資源,系統(tǒng)內(nèi)的客戶機(jī)也不便訪問系統(tǒng)外資源。 可以說目前大部分高校 沒有能夠為用戶提供網(wǎng)絡(luò)環(huán)境下的綜合性集成辦公的管理系統(tǒng),從而使得各級辦公和管理人員方便、靈活地在系統(tǒng)應(yīng)用環(huán)境下處理事務(wù)、充分利用各種資源信息。 這種情況影響了學(xué)校管理工作的效率,甚至影響正常的教學(xué)進(jìn)程。 隨著普及和發(fā)展,計算機(jī)應(yīng)用不斷擴(kuò)展,應(yīng)用系統(tǒng)越來越復(fù)雜,從而軟件的復(fù)雜度不斷增大,特別是管理信息系 統(tǒng)( 由原來的單一事務(wù)處理型已向提供事務(wù)處理、分析處理和決策支持功能的綜合性方向發(fā)展,這就使 此迫切需要一個行之有效的方法來開發(fā) 統(tǒng),以降低系統(tǒng)開發(fā)的復(fù)雜性,加快系統(tǒng)的開發(fā)。從長遠(yuǎn)的發(fā)展來看,高校根據(jù)本校的實際情況和發(fā)展目標(biāo)開發(fā)自己的 但可以直接和學(xué)校的管理制度接軌,不必被迫改變原有的管理體系,更重要的是便于以后系統(tǒng)的維護(hù)和擴(kuò)充。 究目的、 內(nèi)容和成果 本文通過采用組件化和面向?qū)ο箝_發(fā)相結(jié)合的方法 ,以通用的面向?qū)ο蠼UZ言 旨在于 構(gòu)架一個 基于 適應(yīng)高校實現(xiàn)信息資源的共享和綜合利用、提高辦公自動化程度和辦公效率的需要。 探索能夠降低問題復(fù)雜度、提高系統(tǒng)的可擴(kuò)充性、可重用性、可靠性和可維護(hù)性的 基于 在研究與開發(fā)的過程中,取得了以下幾方面成果 : 1. 為開發(fā)復(fù)雜、龐大的 文綜合考慮組件技術(shù)、體系結(jié)構(gòu)和開發(fā)方法,以組件化程序開發(fā)方法構(gòu)造系統(tǒng)的體系結(jié)構(gòu)層次,使用面向?qū)ο蟮姆椒ㄟM(jìn)行組件的開發(fā),構(gòu)建了基于 踐證明,這種方法是可行的,并且是有效的。 2. 利用面向?qū)ο蠓椒ǎ治龊驮O(shè)計了 各個功能模塊。在建模過程中,重點對 時序圖、合作圖與類圖的創(chuàng)建進(jìn)行了探討。 3. 依據(jù)軟件工程學(xué)的觀點來制定設(shè)計開發(fā)步驟。將數(shù)據(jù)庫設(shè)計和組件規(guī)劃做為這一開發(fā)方案的關(guān)鍵環(huán)節(jié),設(shè)計了數(shù)據(jù)層,規(guī)劃了各層次組件。 4. 在安全性方面,仔細(xì)分析了安全性需求, 設(shè)計了系統(tǒng)的安全策略。一方面 ,根據(jù)用戶的職能,把系統(tǒng)用戶分成 四個方面的角色 學(xué)生、教師、領(lǐng)導(dǎo)(系級領(lǐng)導(dǎo)、部門領(lǐng)導(dǎo)、校級領(lǐng)導(dǎo) )和管理者(系級管理員和校級管理員)。 由校級系統(tǒng)管理員分配和授予角色,每個角色根據(jù)各自的職能擁有不同的權(quán)限。另一方面 , 與傳統(tǒng)的信息系統(tǒng)的用戶登錄方式不同, 采用 通過登錄組件進(jìn)行登錄的方式,實現(xiàn)三層結(jié)構(gòu)中的中間業(yè)務(wù)邏輯層對系統(tǒng)登錄的檢測。 5. 由于 復(fù)雜龐大,主要做了整個系統(tǒng)的分析、規(guī)劃和設(shè)計的工作,并完成了 務(wù)管理、招生管理、成績管理、基本信息管理、系統(tǒng)管理六個子模塊和排課管理中的公共課排課的功能,基本能夠滿足用戶選課、考務(wù)、招生、成績管理等方面的要求,達(dá)到了原定目標(biāo) 。 文的組織 本文由六個章節(jié)組成。 在第一章中,主要對高校 紹了本文的研究目的、內(nèi)容和成果。 第二章,主要介紹了 技術(shù)架構(gòu)、編程語言、開發(fā)工具和 三層應(yīng)用解決方案。在第三章中,設(shè)計了 討了 開發(fā)模式,根據(jù)軟件工程學(xué),制定了系統(tǒng)的開發(fā)實現(xiàn)步驟。在第四章中,對系統(tǒng)利用 模語言和 模工具合理地建模,定義了系統(tǒng)需求,描述了系統(tǒng)設(shè)計。第五章是 詳細(xì)設(shè)計與實現(xiàn),對系統(tǒng)數(shù)據(jù)庫進(jìn)行了詳細(xì)設(shè)計,規(guī)劃了系統(tǒng)中的組件,闡述了系統(tǒng)的實現(xiàn)并設(shè)計了安全措施。最后一章對開發(fā)工作進(jìn)行總結(jié),描述了系統(tǒng)特點,說明了系統(tǒng)的不足,展望了 展。 第二章 術(shù)架構(gòu) 和應(yīng)用解決方案 術(shù)架構(gòu) 簡化在第三代因特網(wǎng)的分布式環(huán)境下的應(yīng)用程序開發(fā),基于開放互聯(lián)網(wǎng)標(biāo)準(zhǔn)和協(xié)議之上,實現(xiàn)異質(zhì)語言和 平臺高度交互性,而構(gòu)建的新一代基于 eb 計算和通信平臺。 16 1所示: J S c r i p C + +V 語 言 規(guī) 范 ( C o m m o n L a n g u a g e S p e c i f i c a t i o n )A S P . N E T W i n d o w s F o r m O . N E T a n d X M 庫 ( B a s e C l a s s L i b r a r y )通 用 語 言 運 行 時 ( C L R )W i n d o w s C O M + S e r v i c e 1 術(shù)架構(gòu) 先是整個開發(fā)框架的基礎(chǔ),即通用語言運行時以及它所提供的一組基礎(chǔ)類庫;在開發(fā)技術(shù)方面, 供了全新的數(shù)據(jù)庫訪問技術(shù) 及網(wǎng)絡(luò)應(yīng)用開發(fā)技術(shù) 程技術(shù) 開發(fā)語言方面, 供了C+,C#,多種語言支持;而 是全面支持 1. 通用語言運行時和基礎(chǔ)類庫 通用語言運行時,即 開發(fā)人員帶來了一種全新的開發(fā)框架,而通用語言運行時則處于這個框架的最 低層,是這個框架的基礎(chǔ)。通用語言運行時為多種語言提供了一種統(tǒng)一的運行環(huán)境。另外它還提供 了更多的功能和特性,如統(tǒng)一和簡化的編程模型,用戶不必迷惑于免了 稱為 從而大大簡化了應(yīng)用程序的發(fā)布和升級;多種語言之間的交互,例如我們甚至可以在+編寫的類;自動的內(nèi)存和資源管理等等。 通用語言運行時提供了很多新特性,它通過基礎(chǔ)類庫( 開發(fā)者提供了一個統(tǒng)一的面向?qū)ο蟮?、層次化的、可擴(kuò)展的編程接口。這組基礎(chǔ)類庫包括了從輸入、輸出到數(shù)據(jù)訪問等各個方面。它使用一種點號分隔的方法,使得查找和使用 類庫非常容易。例如基礎(chǔ)類庫中的根,它的命名空間是 供數(shù)據(jù)訪問的類庫的命名空間是 使用時,開發(fā)者只需在自己的應(yīng)用中添加所需的基礎(chǔ)類庫的引用,然后就可以使用這個類庫中的所有方法、屬性等等。跟傳統(tǒng)的 程相比,使用和擴(kuò)展基礎(chǔ)類庫都非常容易,這使得開發(fā)者能夠高效、快速地構(gòu)建基于下一代互聯(lián)網(wǎng)的網(wǎng)絡(luò)應(yīng)用。 2. 乎所有的應(yīng)用程序都需要訪問從簡單的文本文件到大型的關(guān)系型數(shù)據(jù)庫等各種不同類型的數(shù)據(jù)。在 訪問數(shù)據(jù)庫的技術(shù)是 行命令,返回記錄集的類庫,與從前的 比, 首先, 設(shè)計成基于 供了對 數(shù)據(jù)交換的統(tǒng)一格式提供了基礎(chǔ)。 其次, 入了 是一個駐于內(nèi)存的數(shù)據(jù)緩沖區(qū),它提供了數(shù)據(jù)的關(guān)系型視圖 。不管數(shù)據(jù)來源于一個關(guān)系型的數(shù)據(jù)庫,還是來源于一個 們都可以用一個統(tǒng)一的編程模型來創(chuàng)建和使用它。它替代了原有的 高了程序的交互性和可擴(kuò)展性,尤其適合于分布式的應(yīng)用場合。 另外, 還引入了一些新的對象,例如 生一個只讀的記錄集等等。簡而言之, 與 得在 3. 的網(wǎng)絡(luò)編程結(jié)構(gòu),它使得建造、運行和發(fā)布網(wǎng)絡(luò)應(yīng)用非常方便和高效。 是編譯運行,再加上靈活的緩沖技術(shù),從根本上提高了性能;由于 布一個網(wǎng)絡(luò)應(yīng)用,僅僅是一個拷貝文件的過程,即使是組件的發(fā)布也是如此,更新和刪除網(wǎng)絡(luò)應(yīng)用,可以直接替換 /刪除文件;開發(fā)者可以將應(yīng)用的配置信息存放 理員和開發(fā)者對應(yīng)用程序的管理可以分開進(jìn)行;提供了更多樣的認(rèn)證和安全管理方式;在可靠性等多方面都有很大 提高。 在 僅僅支持腳本語言,通用語言運行時支持的所有語言在 都可以使用;代碼和內(nèi)容分開,在現(xiàn)在的 發(fā)中,內(nèi)容和腳本交錯,維護(hù)和升級很困難,將他們分開可以使得開發(fā)人員和設(shè)計人員能夠更好的分工合作,提高開發(fā)效率;另外在 類似 樣大大提高了構(gòu)建網(wǎng)絡(luò)表單效率,并且服務(wù)器端控件是可擴(kuò)展的,開發(fā)者可以建造自己需要的服務(wù)器端控件。 傳統(tǒng)的基于 它仍然是 略中不可或缺的一部分。在 應(yīng)用程序時,除了可以利用現(xiàn)有的技術(shù)如 可以基于通用語言運行時開發(fā),可以使用 絡(luò)服務(wù)等,這樣也可以實現(xiàn)諸如避免 語言支持等 新特性。 20 編程語言和開發(fā)工具 1. 編程語言 持 +, C#和 需要特別指出的是,微軟在 推出了全新的 C#語言,這種全新的面向?qū)ο蟮恼Z言使得開發(fā)者可以快速地構(gòu)建從底層系統(tǒng)級到高層商業(yè)組件的不同應(yīng)用。 C#在保證了強大的功能和靈活性的同時,給 +帶來了類似于 且它還針對 如 C#允許 據(jù)直接映射為它的數(shù)據(jù)類型等 等,這些特性結(jié)合起來使得 C#成為優(yōu)秀的下一代網(wǎng)絡(luò)編程語言。 與此同時 原有的 C+也做了很大的改進(jìn),使得它們更加適應(yīng) 發(fā)框架的需求。例如在 增加了繼承等面向?qū)ο蟮奶匦?,結(jié)構(gòu)化的出錯處理等等;可管理的 C+擴(kuò)展,大大提高了利用 C+來開發(fā) 2. 開發(fā)工具 為微軟的下一代開發(fā)工具,它和 發(fā)框架緊密結(jié)合,是構(gòu)建下一代互 聯(lián)網(wǎng)應(yīng)用的優(yōu)秀工具。 過提供一個統(tǒng)一的集成開發(fā)環(huán)境及工具,大大提高了開發(fā)者的效率;集成了多種語言支持;簡化了服務(wù)器端的開發(fā);提供了高效地創(chuàng)建和使用網(wǎng)絡(luò)服務(wù)的方法等等。 過包括企業(yè)開發(fā)小組用來創(chuàng)建面向任何 用 發(fā)人員可安全地控制版本并共享他們的源代碼、共享最佳做法、面向可縮放的 務(wù)器、 從大量的第三方工具和技術(shù)中選擇、通過 大量的性能測試工具方便地調(diào)整 用程序和 務(wù)的性能。 有如下技術(shù)特點: 1) 為 現(xiàn)有效的小組開發(fā)。 2) 使用功能強大的工具和技術(shù)創(chuàng)建可縮放的、可靠的企業(yè)應(yīng)用程序。 3) 基于綜合的企業(yè)生命周期平臺而創(chuàng)建。 4) 開發(fā)迅速快捷。 5) 代碼效率高,執(zhí)行速度快。 6) 是目前使用最廣泛的開發(fā)工具。 7) 對 總之, 發(fā)框架在通用語言運行時的基礎(chǔ)上,給開發(fā)者提供了完善的基礎(chǔ)類庫、新一代的數(shù)據(jù)庫訪問技術(shù) 絡(luò)開發(fā)技術(shù) 發(fā)者可以使用多種語言及 快速構(gòu)建下一代的網(wǎng)絡(luò)應(yīng)用。 三層應(yīng)用解決方案 按照分布式結(jié)構(gòu)的思想,整個應(yīng)用系統(tǒng)由表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)服務(wù)層構(gòu)成。如圖 2 2所示 20。 用 戶U I 組 件 ( U I C )U I 處 理 組 件 ( U I P )服 務(wù) 接 口 ( S I )業(yè) 務(wù)工 作 流 ( B W )業(yè) 務(wù)組 件 ( B C )業(yè) 務(wù)實 體 ( B E )數(shù) 據(jù) 訪 問 組 件 ( D A C ) 服 務(wù) 代 理 ( S A )數(shù) 據(jù) 源 服 務(wù)通信運行管理安全性圖 2 2 示層 大多數(shù)業(yè)務(wù)應(yīng)用程序都使用窗體來構(gòu)造表示層 , 由一系列用戶與之交互的窗體(頁面)組成應(yīng)用程序。每個窗體都包含許多用于顯示較低層的輸出以及收集用戶輸入的字段。 實現(xiàn)基于窗體的用戶界面的兩類組件是: 1. 用戶界面組件 對于 胖 客戶端應(yīng)用程序,此模式使用 名空間中的 件。對于 用程序,此模式使用 果標(biāo)準(zhǔn) 戶 的需要, 支持將自己的自定義組件插入到框架中。 2. 用戶界面處理組件 復(fù)雜的用戶界面通常需要許多非常復(fù)雜的窗體。要增加可重用性、可維護(hù)性和可擴(kuò)展性,可以創(chuàng)建單獨的用戶界面處理 (組件,以便封裝窗體之間的依賴性以及與窗體之間的導(dǎo)航關(guān)聯(lián)的邏輯。其中的部分概念適用于一個窗體的組件之間的依賴性、驗證和導(dǎo)航。這些 大型應(yīng)用程序通常是圍繞業(yè)務(wù)流程和業(yè)務(wù)組件的概念構(gòu)造的。這些概念是通過業(yè)務(wù)層中的大量組件、實體、代理和界面來處理的。 1. 業(yè)務(wù)組件 在 , 業(yè)務(wù)組件的定義如下: 自治業(yè)務(wù)概念或業(yè)務(wù)流程的軟件實現(xiàn)。它包含將指定的業(yè)務(wù)概念 作為較大型分布式信息系統(tǒng)的自治、可重用元素來表示、實現(xiàn)和部署所必需的所有軟件制品。 業(yè)務(wù)組件是業(yè)務(wù)概念的軟件實現(xiàn)。在業(yè)務(wù)應(yīng)用程序的生命周期中,它們是設(shè)計、實現(xiàn)、部署、維護(hù)和管理的主要單元。業(yè)務(wù)組件封裝業(yè)務(wù)邏輯(也稱業(yè)務(wù)規(guī)則)。這些規(guī)則約束業(yè)務(wù)概念的行為以匹配特定的需要。 2. 業(yè)務(wù)工作流 業(yè)務(wù)流程反映了業(yè)務(wù)執(zhí)行的宏觀級別的活動,可以使用任何 言來開發(fā)自定義的業(yè)務(wù)工作流組件。或者,也可以使用 定義業(yè)務(wù)流程,并自動編排業(yè)務(wù)組件。 3. 業(yè)務(wù)實體 業(yè)務(wù)實體是數(shù)據(jù)容器。它們封 裝并隱藏特定數(shù)據(jù)表示格式的細(xì)節(jié)。 業(yè)務(wù)和業(yè)務(wù)工作流組件可以與獨立的業(yè)務(wù)實體組件交互,或者使用業(yè)務(wù)實體以便設(shè)置它們自己的狀態(tài),然后丟棄該業(yè)務(wù)實體。業(yè)務(wù)實體通常用作 據(jù)訪問組件通常返回業(yè)務(wù)實體,而不是數(shù)據(jù)庫特有的結(jié)構(gòu)。這非常有助于將數(shù)據(jù)庫特有的細(xì)節(jié)隔絕于數(shù)據(jù)層中。 4. 服務(wù)接口 應(yīng)用程序可以將它的部分功能作為其他應(yīng)用程序可以使用的服務(wù)進(jìn)行公開。服務(wù)接口將該服務(wù)呈現(xiàn)給外部世界。理想情況下,它隱藏實現(xiàn)細(xì)節(jié),并只公開粗粒度的業(yè)務(wù)接口。服務(wù)接口通常使用 如果使用域模型,那么域模型中的類通常由一個或多個域?qū)咏M件實現(xiàn)。 據(jù)層 大多數(shù)業(yè)務(wù)應(yīng)用程序必須訪問存儲在數(shù)據(jù)庫(最常見的是關(guān)系數(shù)據(jù)庫)中的數(shù)據(jù)。此數(shù)據(jù)層中的數(shù)據(jù)訪問組件負(fù)責(zé)將存儲在這些數(shù)據(jù)庫中的數(shù)據(jù)公開給業(yè)務(wù)層。 1. 數(shù)據(jù)訪問組件 數(shù)據(jù)訪問組件將業(yè)務(wù)層與特定數(shù)據(jù)存儲解決方案的細(xì)節(jié)隔離開來。這種隔離具有下列優(yōu)點: 1) 盡量減少數(shù)據(jù)庫提供方的更改所造成的影響。 2) 盡量減少數(shù)據(jù)表示的更改(例如,數(shù)據(jù)庫架構(gòu)的更改)所造成的影響。 3) 封裝操作單個位置的特定數(shù)據(jù)項的所有代 碼。這極大地簡化了測試和維護(hù)過程。 過 發(fā)一組用于管理對象 于更復(fù)雜的應(yīng)用程序很有益處。 2. 服務(wù)網(wǎng)關(guān) 業(yè)務(wù)組件通常必須訪問內(nèi)部和外部服務(wù)或應(yīng)用程序。服務(wù)網(wǎng)關(guān)是封裝使用此類服務(wù)所必需的接口、協(xié)議和代碼的組件。 除了三個標(biāo)準(zhǔn)層, 定義所有層都可以使用的一組基礎(chǔ)服務(wù)。這些服務(wù)分為三個基本類別: 1) 安全性。這些服務(wù)維護(hù)應(yīng)用程 序安全性。 2) 運行管理。這些服務(wù)管理組件以及關(guān)聯(lián)的資源,并滿足可伸縮性和容錯等運行要求。 3) 通信。這些是提供組件之間的通信的服務(wù),如 及異步消息傳遞。 20 層應(yīng)用解決方案的特點 與二層結(jié)構(gòu)相比, 使用 式具有下列 特點 : 1) 可伸縮性。由于使用組件技術(shù),當(dāng)應(yīng)用的規(guī)模增大時,通過系統(tǒng)結(jié)構(gòu)的配置而不必修改代碼就可以適應(yīng)新的應(yīng)用需求。并且,利用這種可伸縮特性,可以實現(xiàn)復(fù)雜的分 布式應(yīng)用系統(tǒng)。 2) 靈活性。業(yè)務(wù)邏輯的改變可以不影響客戶應(yīng)用和數(shù)據(jù)層;并且局部的業(yè)務(wù)邏輯變化可以不影響其他的業(yè)務(wù)組件;可以對單個組件進(jìn)行調(diào)試和測試;實現(xiàn)組件或者客戶應(yīng)用時對語言的選擇有很大的靈活性,只要編程語言支持組件應(yīng)用開發(fā)即可。 3) 可靠性。因為三層結(jié)構(gòu)把一個復(fù)雜的應(yīng)用拆分成一些小的組件或者依賴于系統(tǒng)提供的支持,所以應(yīng)用系統(tǒng)的可靠性易于得到保證。 4) 跨平臺性。由于采用了組件技術(shù),并合理分層,提高了系統(tǒng)的跨平臺特性。 5) 充分體現(xiàn)了軟件集成的思想。在三層結(jié)構(gòu)中,不僅要設(shè)計和開發(fā)一些組件,同時還可 以大量使用已經(jīng)進(jìn)入市場的組件產(chǎn)品,或者使用以前積累下來的組件庫中的組件,從而縮短應(yīng)用系統(tǒng)的開發(fā)周期,避免重復(fù)勞動,提高組件的重用率。 與三層以上的多層結(jié)構(gòu)相比,三層應(yīng)用結(jié)構(gòu)能夠 盡量減少必須跨越過多層所造成的負(fù)面影響。 但是, 式 也有 缺點 ,表現(xiàn)在:對于復(fù)雜的解決方案,可能有必要進(jìn)一步劃分域?qū)?,尤其是在重用性具有很高的?yōu)先級,或者要基于常用的一組組件設(shè)計一系列解決方案時,更是如此。 另 外,單一用戶界面層對于提供復(fù)雜用戶界面的解決方案可 能不夠。例如,數(shù)據(jù)驗證、命令處理、打印和撤消 /重復(fù)等功能可能需要其他層。 20 且高校的規(guī)模越來越大,生源結(jié)構(gòu)、辦學(xué)層次也將越來越復(fù)雜, 活性、可靠性、跨平臺性,才能適應(yīng)高校教務(wù)與教學(xué)管理發(fā)展的需要,所以開發(fā)具備 很強的可擴(kuò)充性、可重用性、可靠性和可維護(hù)性的 三層應(yīng)用解決方案是一個很好的選擇。 第三章 總體方案 發(fā)方法 組件化程序設(shè)計顯 著的優(yōu)點是可實現(xiàn)軟件重用,便于控制軟件的復(fù)雜性,便于維護(hù),測試方便等等。組件化程序設(shè)計在開發(fā) 夠有效利用以往開發(fā)過程中的經(jīng)驗,避免低效重復(fù)勞動,在開發(fā)高效、可靠、維護(hù)簡單、應(yīng)變能力強的 對于一個規(guī)模很小的應(yīng)用軟件,無論使用什么樣的系統(tǒng)結(jié)構(gòu)都可能達(dá)到預(yù)期的要求。對于規(guī)模較大的應(yīng)用系統(tǒng),情況就不是這樣了,系統(tǒng)結(jié)構(gòu)可以起到關(guān)鍵的作用,它不僅會影響系統(tǒng)設(shè)計和開發(fā)的進(jìn)度,還可能直接影響到系統(tǒng)的后續(xù)發(fā)展?jié)摿Γ踔習(xí)Q定系統(tǒng)的成敗。如果沒有合適的體系結(jié)構(gòu),組件之間的互 操作性就不強,組件的質(zhì)量和可重用性就難以保證。所以,組件化程序設(shè)計和軟件體系結(jié)構(gòu)是緊密相關(guān)的。 在系統(tǒng)開發(fā)方法上,傳統(tǒng)的結(jié)構(gòu)化方法的著眼點在于一個信息系統(tǒng)需要什么樣的方法和處理過程。 22以過程抽象來對待系統(tǒng)的需求,其主要思想就是對問題進(jìn)行功能分解,如果分解后得到的功能過大,那么再對這些功能進(jìn)行分解,直到最后分解得到的功能能比較方便地處理和理解為止。所以結(jié)構(gòu)化方法也稱作功能分解法。與傳統(tǒng)的結(jié)構(gòu)化軟件開發(fā)方法相比,面向?qū)ο筌浖_發(fā)方法在描述和理解問題域時采用截然不同的方法。面向?qū)ο蠓椒▽栴}域進(jìn)行自然分割, 以接近人類思維的方式建立問題域模型,使設(shè)計出的軟件盡可能直接地描述現(xiàn)實世界,開發(fā)的系統(tǒng)比較穩(wěn)定,較小的需求變化不會導(dǎo)致大的系統(tǒng)結(jié)構(gòu)的改變,具有很好的可維護(hù)性和適應(yīng)性,能更好地適應(yīng)用戶需求的變化。另外,在面向?qū)ο蠓椒ㄖ校F(xiàn)實世界中的實體及其相互關(guān)系被映射為對象及對象間的關(guān)系,實體之間的相互作用被映射為對象間的消息發(fā)送,以及其他類似的各種映射關(guān)系。因此,面向?qū)ο蟮哪P蛯ΜF(xiàn)實世界的映射更直觀、更有對應(yīng)關(guān)系。 容易理解、易于測試和調(diào)試。而且一個設(shè)計良好的面向?qū)ο笙到y(tǒng)是易于擴(kuò)充和修改的,因此能夠適應(yīng)不斷增加的新需求。 面向?qū)ο蠓椒ㄖС周浖_發(fā)中從分析到設(shè)計以至實現(xiàn)的各個階段,且各個階段均采用一套概念和表達(dá)手段,它們之間沒有“鴻溝”的存在,幾乎不需要什么轉(zhuǎn)化。面向?qū)ο蠓椒ㄟ€支持和鼓勵復(fù)用,不僅包括實現(xiàn)的復(fù)用,還包括分析、設(shè)計等建模成果的復(fù)用。 但是,在 開發(fā)中,如果用純面向?qū)ο蟮拈_發(fā)方法,也有一些缺點,首先,在處理這種大型軟件系統(tǒng)時,它的粒度粗細(xì)難以有效控制。其次, 以由若干并行或串行執(zhí)行的步驟組成。這種全局處理的概念不從屬于任何單個對象,與面向?qū)ο蟮乃枷氩唤y(tǒng)一,并且缺乏有效 的表示方法。所以在開發(fā)過程中,為了降低問題的復(fù)雜度,本文首先利用結(jié)構(gòu)化方法的思想將 為 招生管理、教材管理與教學(xué)管理(選課管理、排課管理、成績管理等)這三者之間的聯(lián)系就不大,將這些功能上相對獨立的職能作為一個功能模塊。然后將每一功能模塊作為基本模塊組件,以組件化程序開發(fā)方法構(gòu)造系統(tǒng)的體系結(jié)構(gòu),使用面向?qū)ο蟮姆椒ㄟM(jìn)行組件的開發(fā)。 統(tǒng)整體架構(gòu) 一種運行于校園網(wǎng)之上的復(fù)雜系統(tǒng),在開發(fā)過程中可以充分利用校園網(wǎng)的架構(gòu),減少開發(fā)過程中許多對底層細(xì)節(jié) 的考慮。由于 理流程涉及范圍廣泛、基本數(shù)據(jù)表現(xiàn)形式多樣、操作人員權(quán)限控制復(fù)雜,使得普通的系統(tǒng)結(jié)構(gòu)難以適應(yīng)。要實現(xiàn)對教務(wù)與教學(xué)全程、全面、高效而科學(xué)的管理,選擇好應(yīng)用系統(tǒng)的體系結(jié)構(gòu)是非常重要的。 在 于普通用戶(如教師和學(xué)生),主要以信息查詢?yōu)橹?,加上學(xué)生網(wǎng)上選課、網(wǎng)上考試報名、網(wǎng)上注冊,教師網(wǎng)上維護(hù)個人信息、申請授課等,他們對數(shù)據(jù)庫的訪問較少,而且對速度問題不很敏感,因此采用 覽器,利用 的信息查詢與檢索。由 用 對于 校級管理員(教務(wù)處工作人員)和系級管理員(系辦公室主任、教學(xué)秘書)采用胖客戶界面。一方面由于他們有固定的分工,工作用機(jī)固定,另一方面,他們需調(diào)用的教務(wù)與教學(xué)管理的組件種類多,對數(shù)據(jù)庫的訪問頻繁,因此采用胖客戶的形式以提高工作效率。客戶端主要采用 名空間中的 件。 各客戶端運行在 8 95 2000 務(wù)器端采用 000平臺。 開發(fā)適于采用 構(gòu) 。系結(jié)構(gòu)適應(yīng)了以上情況;另一方面是因為目前大多數(shù)的高校、管理機(jī)構(gòu)和個人用戶都采用 統(tǒng)平臺,所以,為應(yīng)用體系結(jié)構(gòu)是開發(fā) 為了滿足系統(tǒng)的需求,筆者 設(shè)計了如圖 3 1所示的三層結(jié) 構(gòu)進(jìn)行 在 境下開發(fā) 好的辦法是把業(yè)務(wù)邏輯和數(shù)據(jù)訪問代碼封裝到一些編譯好的組件里,在 用 分布式事務(wù)的支持,建立分布、異構(gòu)的計 算環(huán)境。 如圖 3 1所示 : I E 用 戶I E 用 戶信 息 查 詢 與 檢 索W i n F o r m sW i n d o w s 用 戶 W i n d o w s 用 戶信 息 查 詢 、 更 新 和 維 護(hù)A S P . N e t 頁 面W e b S e r v i c 、 檢 索 組 件W e b 服 務(wù) 器業(yè) 務(wù) 服 務(wù) 組 件W e b S e r v i c 存 儲 過 程 、 視 圖存 儲 過 程 、 視 圖觸 發(fā) 器 、 表存 儲 過 程 、 視 圖觸 發(fā) 器 、 表數(shù) 據(jù) 庫圖 3 1 數(shù)據(jù)層、業(yè)務(wù)層和表示層。 1. 表示層 表示層提供 用戶界面 (包括 體( 主要 用于 教務(wù)處客戶端應(yīng)用程序)和 術(shù)( 主要 用于 基于學(xué)生、教師、領(lǐng)導(dǎo)用戶的 瀏覽器的交互)的使用。對于 胖 客戶端應(yīng)用程序, 主要 使用 名空間中的 件。對于 用程序, 主要 使用 件。 由于 統(tǒng)提供的服務(wù)種類也比較多,為了 增加可重用性、可維護(hù)性和可擴(kuò)展性, 需設(shè)計如學(xué)生、教師、管理人員等界面處理組件( 封裝窗體之間的依賴性以及與窗體之間的導(dǎo)航關(guān)聯(lián)的邏輯。 2. 業(yè)務(wù)層 教務(wù)與教學(xué)管理 通過業(yè)務(wù)層中的大量組件、實體、代理和界面來 實現(xiàn) 。 例如, 在 所有與 選課 有關(guān)的業(yè)務(wù)邏輯都封裝在單獨的一個 選課 組件中。業(yè)務(wù)流程反映了業(yè)務(wù)執(zhí)行的宏觀級別的活動,例如, 的教師授課申請 、 選課目錄列表生成和學(xué)生選課 。這些業(yè)務(wù)流程由編排一個或多個業(yè)務(wù)組件以實現(xiàn)業(yè)務(wù)流程的業(yè)務(wù)工作流組件封裝。可以使用任何 言來開發(fā) 這些 自定義的業(yè)務(wù)工作流組件。 業(yè)務(wù)和業(yè)務(wù)工作流組件與獨立的業(yè)務(wù)實體組件交互。 3. 數(shù)據(jù)層 據(jù)層主要是利用 現(xiàn)對數(shù)據(jù)的操作, 數(shù)據(jù)層中的數(shù)據(jù)訪問

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論