版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、系統(tǒng)應(yīng)用框架1 引言1.1 概述在軟件系統(tǒng)的實(shí)現(xiàn)需要有一個(gè)完善和行之有效的框架,以實(shí)現(xiàn)我們開發(fā)的高質(zhì)量和高效率之目的。1.2 編寫目的 使得開發(fā)的系統(tǒng)可擴(kuò)展性,可維護(hù)性,可理解性更好,性能、可靠性更高。 使開發(fā)更加快捷,輕松,方便、高效 指導(dǎo)項(xiàng)目設(shè)計(jì)、開發(fā),測(cè)試以及實(shí)施維護(hù) 為系統(tǒng)架構(gòu)、軟件框架的實(shí)現(xiàn)提供指導(dǎo)。1.3 讀者對(duì)象 公司決策管理層 公司項(xiàng)目管理人員、質(zhì)量管理人員, 系統(tǒng)設(shè)計(jì)人員、程序開發(fā)人員 實(shí)施維護(hù)人員、測(cè)試人員1.4 背景國(guó)內(nèi)軟件行業(yè)仍受“作坊式”影響和制約,從而造成了資源的浪費(fèi),而從軟件企業(yè)發(fā)展來看,資源重復(fù)浪費(fèi),使得公司的發(fā)展缺少沉淀和積累,表現(xiàn)在項(xiàng)目?jī)H僅是滿足功能要求,而
2、缺乏總體的設(shè)計(jì)和長(zhǎng)遠(yuǎn)的考慮,導(dǎo)致項(xiàng)目對(duì)以后的項(xiàng)目沒有重用性,每一個(gè)項(xiàng)目總是基本上從零開始,造成開發(fā)效率低下,相同的功能重復(fù)實(shí)現(xiàn)代碼,已實(shí)現(xiàn)的系統(tǒng)擴(kuò)展性、維護(hù)性差和移植性很差,嚴(yán)重影響軟件的質(zhì)量和制約軟件企業(yè)的發(fā)展。系統(tǒng)框架是系統(tǒng)設(shè)計(jì)中重要的組成部分,系統(tǒng)框架是軟件系統(tǒng)中核心的、可復(fù)用,可移植的部分,系統(tǒng)框架可從根本上使資源得到充公利用,可以方便,快捷地實(shí)現(xiàn)可維護(hù),可擴(kuò)展性,可重用性,高質(zhì)量的軟件系統(tǒng)。1.5 適應(yīng)范圍適用于企業(yè)所有基于J2EE或.Net平臺(tái)的B/S多層分布式系統(tǒng)。其系統(tǒng)架構(gòu)的思想同樣可以應(yīng)用到C/S,CBS,BCS等多種結(jié)構(gòu)的系統(tǒng)架構(gòu)中去。1.6 術(shù)語、定義u J2EEJ2EE
3、是一套全然不同于傳統(tǒng)應(yīng)用開發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡(jiǎn)化且規(guī)范應(yīng)用系統(tǒng)的開發(fā)與部署,進(jìn)而提高可移植性、安全與再用價(jià)值。J2EE核心是一組技術(shù)規(guī)范與指南,其中所包含的各類組件、服務(wù)架構(gòu)及技術(shù)層次,均有共通的標(biāo)準(zhǔn)及規(guī)格,讓各種依循J2EE架構(gòu)的不同平臺(tái)之間,存在良好的兼容性,解決過去企業(yè)后端使用的信息產(chǎn)品彼此之間無法兼容,導(dǎo)致企業(yè)內(nèi)部或外部難以互通的窘境。 u B/S結(jié)構(gòu)B/S結(jié)構(gòu)即Browser/Server瀏覽器/服務(wù)器模式是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB瀏覽器是客戶端最主要的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上,簡(jiǎn)化了系統(tǒng)的開發(fā)、維護(hù)和使用。
4、客戶機(jī)上只要安裝一個(gè)瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務(wù)器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫(kù)。瀏覽器通過Web Server 同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互。B/S最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺(tái)能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易。B/S結(jié)構(gòu)的使用越來越多,特別是由需求推動(dòng)了AJAX技術(shù)的發(fā)展,它的程序也能在客戶端電腦上進(jìn)行部分處理,從而大大的減輕了服務(wù)器的負(fù)擔(dān);并增加了交互性,能進(jìn)行局部實(shí)時(shí)刷新。u 系統(tǒng)架構(gòu)系統(tǒng)架構(gòu)就是我們通常
5、所說的軟件系統(tǒng)的架構(gòu),又有簡(jiǎn)稱架構(gòu),系統(tǒng)架構(gòu)是軟件系統(tǒng)的邏輯形態(tài),也是軟件體系結(jié)構(gòu),同時(shí)也是軟件的骨架,即軟件系統(tǒng)由幾部分組成,每一部分完成什么樣的功能,它們之間是如何互相交互合作。軟件架構(gòu)通常與一定的技術(shù)相對(duì)應(yīng)即采用什么樣的技術(shù),那么就會(huì)采用與之相對(duì)應(yīng)的系統(tǒng)架構(gòu)。u 系統(tǒng)框架系統(tǒng)框架就是建立一個(gè)軟件功能支撐系統(tǒng),用于完成和驅(qū)動(dòng)一些主要的穩(wěn)定的軟件功能??蚣苁前舜罅考軜?gòu)的實(shí)現(xiàn)代碼和組件,這些代碼和組件實(shí)現(xiàn)了軟件架構(gòu)中的穩(wěn)定部分,從而形成了一個(gè)應(yīng)用的支撐結(jié)構(gòu)??蚣苁且粋€(gè)由很多軟件部件和模塊組成的穩(wěn)定的架構(gòu)。也可以說系統(tǒng)框架是系統(tǒng)架構(gòu)的一個(gè)子集。系統(tǒng)框架可以支持某類應(yīng)用的快速開發(fā)和實(shí)現(xiàn)。u 應(yīng)
6、用框架應(yīng)用框架為開發(fā)者提供了結(jié)構(gòu)和模板,開發(fā)者以此為基線,來快速構(gòu)建它們的應(yīng)用系統(tǒng),開發(fā)者在框架之上構(gòu)建應(yīng)用系統(tǒng),通過重用由框架提供的代碼和設(shè)計(jì),以此來減少工作量、提高開發(fā)效率和整個(gè)軟件系統(tǒng)的質(zhì)量。軟件質(zhì)量來自于設(shè)計(jì),而系統(tǒng)架構(gòu)又在設(shè)計(jì)中占重要地位。而框架又是架構(gòu)的核心和靈魂。應(yīng)用框架采用面向?qū)ο蠹夹g(shù)和設(shè)計(jì)模式中的模板模式和MVC模式,采用繼承和引用在垂直和水平兩個(gè)方面上進(jìn)行復(fù)用技術(shù),框架提供一個(gè)重用機(jī)制,對(duì)應(yīng)用部分公共部分上浮成為框架,非公共的部分下沉到具體應(yīng)用中去,以實(shí)現(xiàn)最好的復(fù)用技術(shù),這樣形成的一個(gè)框架結(jié)構(gòu)合理,性能可靠,代碼復(fù)用性強(qiáng),易擴(kuò)充,易維護(hù),使用非常簡(jiǎn)單,開發(fā)效率高。1.7 參
7、考資料 Java與設(shè)計(jì)模式(電子工業(yè)出版社)1.8 版本信息 創(chuàng)建標(biāo)志:張洪波 2009-10-25 當(dāng)前版本:Ver 2.0 最新提交日期:2010-05-102 應(yīng)用框架基礎(chǔ)2.1 框架涉及技術(shù)系統(tǒng)框架的設(shè)計(jì),實(shí)現(xiàn)是細(xì)致而又復(fù)雜,需要有較為系統(tǒng)、全面的的計(jì)算機(jī)軟件技術(shù),豐厚的設(shè)計(jì)、編碼經(jīng)驗(yàn),還要對(duì)面向?qū)ο蠹夹g(shù),UML統(tǒng)一建模語言,設(shè)計(jì)模式,數(shù)據(jù)庫(kù)工程等諸技術(shù)綜合熟練應(yīng)用,此外還需要有創(chuàng)造的能力。2.2 框架遵循的原則框架遵循的原則是好萊烏原則即:YouCannotCall Us,We will Call You!即在框架下所有代碼都被動(dòng)地被框架所調(diào)用,而不是相反??蚣茉O(shè)計(jì)遵循的原則為:集中
8、的控制與管理,分布的職能與服務(wù)。從整個(gè)軟件系統(tǒng)來講:系統(tǒng)控制越集中越好,而系統(tǒng)的職能需要分布化,也就是說一部分修改更新不至于影響到其它部分,因此這一原則也可以看出可伸縮性和靈活性的體現(xiàn)。2.3 框架設(shè)計(jì)追求的目標(biāo)u 穩(wěn)定和靈活穩(wěn)定是指整個(gè)框架不會(huì)有大的改動(dòng)。靈活是指保證在軟件修改的時(shí)候框架不修改或做很少的修改。換句話說,在軟件系統(tǒng)改動(dòng)的時(shí)候,我們做不做修改或少量的修改便可實(shí)現(xiàn)軟件的修改目的。u 重用性獲得和使用更多可重用的代碼單元,這種重用性不僅包括框架的類和代碼,而且包括框架的設(shè)計(jì)。大量重復(fù)的代碼和通用的解決方案從具體的應(yīng)用提取到框中來,被充分共享!u 可擴(kuò)展性,可維護(hù)性該原則往往與開發(fā)效率
9、,帶來的性能影響等因素綜合考慮。框架中的公共代碼使系統(tǒng)出現(xiàn)問題時(shí)只需要對(duì)框架一個(gè)地方修改即。此外框架設(shè)計(jì)中遵循“開閉原則”,即關(guān)閉修改,開放擴(kuò)展,使得系統(tǒng)具備良好的擴(kuò)展性和可維護(hù)性。u 功能由框架自動(dòng)實(shí)現(xiàn) 模板模式將功能的實(shí)現(xiàn)進(jìn)行分解為若干個(gè)步驟,而對(duì)每一個(gè)步驟中的公共部分用抽象或虛方法來實(shí)現(xiàn),并且具體實(shí)現(xiàn)中采用鉤子技術(shù)開放給子類,這樣我們?cè)诰唧w使用框架時(shí),就只需要實(shí)現(xiàn)個(gè)性的那部分,大部分功能將由框架部分來實(shí)現(xiàn)。因此無論的設(shè)計(jì)、實(shí)現(xiàn)框架,還是在使用框架,我們需要做的是告訴框架做什么,而至于做什么,怎么做交由框架去實(shí)現(xiàn)。u 結(jié)構(gòu)合理,清晰結(jié)構(gòu)合理可使整個(gè)框架結(jié)構(gòu)清晰,便于理解和使用,以保證整個(gè)框
10、架在穩(wěn)定正常的狀態(tài)下斷完善,不斷發(fā)展??蚣車?yán)格采用分層思想,除了遵循好萊塢原則和開閉原則外,在在層內(nèi)部類之間的盡量采用單一的樹形結(jié)構(gòu),避免閉環(huán)、循環(huán)關(guān)系的出現(xiàn),使得框架內(nèi)部關(guān)系簡(jiǎn)單,結(jié)構(gòu)清晰,同時(shí)也便于理解和應(yīng)用,此外對(duì)分層的設(shè)計(jì)上一般是3到4層為宜,過多的分層也會(huì)導(dǎo)致整個(gè)系統(tǒng)結(jié)構(gòu)復(fù)雜,不易理解。2.4 應(yīng)用框架考慮的因素2.4.1 高效率和高質(zhì)量高質(zhì)量和高效率是我們?cè)谡麄€(gè)軟件開發(fā)過程中追求的目標(biāo),其中高質(zhì)量主要包括:系統(tǒng)功能,系統(tǒng)性能,系統(tǒng)的可維護(hù)性(包括:可讀性,可移值性,可理解性,可靠性等),安全性等方面,而高效率主要指開發(fā)過程的開發(fā)效率。也就是說又快又好的實(shí)現(xiàn)我們軟件系統(tǒng)。在具體實(shí)現(xiàn)中
11、功能和性能是我們經(jīng)??紤]的關(guān)鍵因素,但同時(shí)這兩者又是互相矛盾和制約,這就需要我們?cè)谙到y(tǒng)框架的設(shè)計(jì)和實(shí)現(xiàn)在功能和性能是進(jìn)行平衡,也就是說我們經(jīng)常在需要綜合各種因素,找到功能和性能的平衡點(diǎn)。2.4.2 不斷修正、完善、提升在整個(gè)項(xiàng)目開發(fā)過程中,應(yīng)用框架需要不斷完善,對(duì)出現(xiàn)問題及時(shí)進(jìn)行修正,調(diào)整,盡可能早地解決掉,注意借簽和吸收那些先進(jìn)和經(jīng)驗(yàn)和思想,當(dāng)今社會(huì)技術(shù)的發(fā)展日新月異,我們還應(yīng)留意新的技術(shù),使框架與新技術(shù)緊密結(jié)合,使框架具有更強(qiáng)的適應(yīng)性和生命力。2.4.3 統(tǒng)一、協(xié)調(diào)一致分工明確,一般情況下:一事一人,即一個(gè)功能主要由一個(gè)人完成,并且在整個(gè)過程中負(fù)責(zé)到底,對(duì)于其中出現(xiàn)的各種問題也由該人主要負(fù)
12、責(zé)解決。此外對(duì)制定的各種規(guī)范、標(biāo)準(zhǔn)在制定過程中要嚴(yán)格遵循,使開發(fā)出來的程序有同樣的風(fēng)格和外觀。同時(shí)開發(fā)團(tuán)隊(duì)又需要一個(gè)整體,避免在程序開發(fā)中各自為政,從而出現(xiàn)無政府的混亂局面。對(duì)于共享資源訪問和使用問題等,涉及到共公共部分的問題則需要統(tǒng)一解決和使用。2.4.4 實(shí)用性,可行性原則在系統(tǒng)分析和設(shè)計(jì)中需要多種技術(shù)和技巧的綜合應(yīng)用,并實(shí)際情況、因素進(jìn)行綜合考慮和權(quán)衡,尤其是面對(duì)一些復(fù)雜和重要問題的時(shí)候,目前很多技術(shù)和工具已經(jīng)相當(dāng)成熟,而這些每一種技術(shù)都有其應(yīng)用的適應(yīng)范圍和時(shí)機(jī),應(yīng)用環(huán)境及前提,優(yōu)勢(shì)及局限性等,采用這些技術(shù)也同時(shí)會(huì)帶來一定的風(fēng)險(xiǎn),這就要求我們對(duì)每一個(gè)問題深入了解分析,綜合考慮各種因素以及
13、系統(tǒng)實(shí)現(xiàn)目標(biāo),對(duì)方案進(jìn)行選擇、使用。也就是說我們選用的方案不一定是最好的,但卻一定是最合適和最實(shí)用的。3 應(yīng)用框架Java實(shí)現(xiàn)關(guān)于系統(tǒng)架構(gòu)前面有說明這里就不再多說了,這里只對(duì)框架核心機(jī)制和思想進(jìn)行介紹和說明?,F(xiàn)在我們以項(xiàng)目中的工種維護(hù)對(duì)框架有一個(gè)直觀認(rèn)識(shí)和了解。3.1 應(yīng)用框架實(shí)現(xiàn)環(huán)境系統(tǒng)框架采用目前流行的J2EE + Struts + Hibernet + Ext + JavaScript + Xml + Oracle技術(shù)來進(jìn)行系統(tǒng)框架的實(shí)現(xiàn),系統(tǒng)框架實(shí)現(xiàn)基于的實(shí)現(xiàn)。針對(duì)主管版開發(fā)和運(yùn)行環(huán)境均采用JAVA實(shí)現(xiàn),這樣系統(tǒng)的部暑支持跨平臺(tái),數(shù)據(jù)庫(kù)采用Oracle 9i數(shù)據(jù)庫(kù),使得系統(tǒng)性能得到保證
14、。 Web應(yīng)用服務(wù)器:Tomcat 5.5 開發(fā)環(huán)境:Eclipse 3.5 + Tomcat + Struts 2.0 + Hibernet3.0 + Ext2.1 + Json-lib- + jdk15.jar 數(shù)據(jù)庫(kù):Oracle 9i 操作系統(tǒng):Windows 2000或Windows XP或 Liniux 操作系統(tǒng)。3.2 系統(tǒng)框架3.3 框架組件圖3.3.1 總體組件圖 組件圖 組件圖描述整個(gè)框架為分層結(jié)構(gòu),分為界面層(又名展現(xiàn)層),業(yè)務(wù)邏輯層,數(shù)據(jù)訪問層,數(shù)據(jù)實(shí)體類,通用層,數(shù)據(jù)庫(kù)對(duì)象。層次之間的依賴關(guān)系組件圖中所示。3.3.2 界面層組件圖3.3.2
15、.1 組件圖 組件圖描述用戶界面層負(fù)責(zé)與用戶進(jìn)行交互即接受用戶輸入或操作,調(diào)用業(yè)務(wù)邏輯層進(jìn)行處理,并將處理后的結(jié)果呈現(xiàn)給用戶。用戶界面層只可以調(diào)用業(yè)務(wù)邏輯層。3.3.3 業(yè)務(wù)邏輯組件圖 組件圖 組件圖描述業(yè)務(wù)邏輯層主要功能是實(shí)現(xiàn)業(yè)務(wù)功能,除些之外業(yè)務(wù)邏輯層還負(fù)責(zé)在框架中擔(dān)當(dāng)控制器即MVC中的C的功能。業(yè)務(wù)邏輯層為界面層服務(wù),業(yè)務(wù)邏輯層調(diào)用通用層,數(shù)據(jù)實(shí)體層和數(shù)據(jù)訪問層,業(yè)務(wù)邏輯層不能直接對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問。3.3.4 數(shù)據(jù)訪問層組件圖 組件圖 組件圖描述數(shù)據(jù)訪問層主要職責(zé)是實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問,其可以直接訪問數(shù)據(jù)庫(kù)即在該層可以出
16、現(xiàn)SQL語句或直接調(diào)用SQL的過程,數(shù)據(jù)訪問層既可以通過數(shù)據(jù)庫(kù)對(duì)象中的HibernateDB對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。對(duì)HibernateDB我們通過接口支持多種數(shù)據(jù)庫(kù)設(shè)計(jì)。3.3.5 數(shù)據(jù)庫(kù)對(duì)象類組件圖 組件圖 組件圖描述數(shù)據(jù)庫(kù)對(duì)象是對(duì)數(shù)據(jù)庫(kù)公共操作進(jìn)行封裝,主要有兩個(gè)方面功能:一是對(duì)會(huì)話進(jìn)行管理(包括連接池),二是:對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的封裝,這一層需要考慮兩個(gè)主要因素:一是即支持Hibernate的持久化,同時(shí)也適應(yīng)傳統(tǒng)的數(shù)據(jù)庫(kù)持久化,二是:傳統(tǒng)的數(shù)據(jù)庫(kù)持久化方式需能夠支持各種不同的數(shù)據(jù)庫(kù),采用工廠模式進(jìn)行實(shí)現(xiàn)。3.3.6 數(shù)據(jù)實(shí)體層組件圖 組件圖3.3.6
17、.2 組件圖描述數(shù)據(jù)實(shí)體層我們對(duì)其時(shí)行了弱化,即只建立對(duì)數(shù)據(jù)庫(kù)之間的映射,除些之外不提供其它功能,這樣的目的一來是Hibernate和Struts需要,二來使該實(shí)體層作在整個(gè)系統(tǒng)中更加通用。3.3.7 通用層組件圖 組件圖 組件圖描述通用層是整個(gè)系統(tǒng)的公共部分,也是整個(gè)框架的核心之一(框架主要核心:一是通用層,二:數(shù)據(jù)庫(kù)對(duì)象),該層不能訪問數(shù)據(jù)庫(kù)。該層分為個(gè)部分一是:底層的支持函數(shù),二是:公共的應(yīng)用部分。3.4 系統(tǒng)類視圖類是面向?qū)ο笾饕秃诵?這里僅對(duì)系統(tǒng)中關(guān)鍵的類用類圖進(jìn)行描述。側(cè)重于描述類之間的關(guān)系統(tǒng)。3.4.1 通用層類圖 類圖
18、類圖描述通用層又稱公共層,主要是一些公共類,公共方法,公共服務(wù)等一些實(shí)現(xiàn),目前該部分主要有幾個(gè)部分,上面左邊的包中的是底層的公共服務(wù)(包括:公共函數(shù),系統(tǒng)環(huán)境和系統(tǒng)常量,數(shù)據(jù)格式化,數(shù)據(jù)有效性檢驗(yàn)),公共類(這些類一般來講主要是體現(xiàn)數(shù)據(jù)結(jié)構(gòu),一般來講不提供具體服務(wù)),公共應(yīng)用類(系統(tǒng)一些公共服務(wù)主要包括:WHERE條件生成類,公共業(yè)務(wù)類,郵件發(fā)送,文件管理,對(duì)頁(yè)面操作,系統(tǒng)安全類等)。它們之間的關(guān)系統(tǒng)如圖所示。3.4.2 數(shù)據(jù)庫(kù)對(duì)象類圖 類圖 類圖描述類圖主要用于對(duì)數(shù)據(jù)庫(kù)對(duì)象進(jìn)行描述。采用抽象工廠和單例模式的實(shí)現(xiàn)。在具體實(shí)現(xiàn)中會(huì)在接口和其實(shí)現(xiàn)的類之間加上一個(gè)抽象類,
19、以供以后擴(kuò)展更加靈活和方便。3.4.3 系統(tǒng)分層實(shí)現(xiàn)類圖 類圖 類圖描述上面類主要分為三層,業(yè)務(wù)邏輯層,數(shù)據(jù)訪問層,在業(yè)務(wù)邏輯層需要根據(jù)系統(tǒng)配置來確定產(chǎn)生具體的抽象工廠,而在數(shù)據(jù)訪問層每種數(shù)據(jù)庫(kù)只需要直接采用對(duì)應(yīng)的抽象工廠就可以了。每一層的具體業(yè)務(wù)實(shí)現(xiàn)中除了繼承父類外,還要包括該層公共操作,這樣可以最大限度地保證重用性和靈活性。3.5 項(xiàng)目文件組織針對(duì)以上系統(tǒng)框架構(gòu)建,對(duì)項(xiàng)目文件(或資源)進(jìn)行設(shè),該文件結(jié)構(gòu)設(shè)計(jì)基于開發(fā)環(huán)境進(jìn)行,同時(shí)再對(duì)框架各部分進(jìn)一步具體詳細(xì)地描述及說明。項(xiàng)目文件組織所屬部分文件名文件描述(格式)類型包含主要內(nèi)容備注Java ResourcesJa
20、va 源文件文件夾Src 資源文件數(shù)據(jù)庫(kù)對(duì)象 Hibernate配置文件XML文件實(shí)體層DataEntity 數(shù)據(jù)實(shí)體層文件夾實(shí)體層Data_BsDatM 基礎(chǔ)數(shù)據(jù)維護(hù)包整個(gè)系統(tǒng)中的數(shù)據(jù)實(shí)體,包括:(1)數(shù)據(jù)實(shí)體類 (2)數(shù)據(jù)實(shí)體對(duì)應(yīng)的映射XML實(shí)體層Data_ArchvM 檔案管理包以應(yīng)模塊中的實(shí)體類及其對(duì)應(yīng)的XML映射文件實(shí)體層Data_DissCM 疾病控制包以應(yīng)模塊中的實(shí)體類及其對(duì)應(yīng)的XML映射文件實(shí)體層Data_DisseM 疾病管理包以應(yīng)模塊中的實(shí)體類及其對(duì)應(yīng)的XML映射文件實(shí)體層Data_WmnHCM 婦女保健包以應(yīng)模塊中的實(shí)體類及其對(duì)應(yīng)的XML映射文件實(shí)體層Data_ChdHC
21、M 兒童保健包以應(yīng)模塊中的實(shí)體類及其對(duì)應(yīng)的XML映射文件實(shí)體層Data_MdclSR 醫(yī)療服務(wù)包以應(yīng)模塊中的實(shí)體類及其對(duì)應(yīng)的XML映射文件實(shí)體層Data_OthrBM 其它業(yè)務(wù)包以應(yīng)模塊中的實(shí)體類及其對(duì)應(yīng)的XML映射文件實(shí)體層Data_SysApM 系統(tǒng)管理包以應(yīng)模塊中的實(shí)體類及其對(duì)應(yīng)的XML映射文件實(shí)體層Data_Common 公共部分包數(shù)據(jù)實(shí)體中的公共部分實(shí)體層ParentDataEntity.java 實(shí)體父類類數(shù)據(jù)實(shí)體的父類數(shù)據(jù)訪問層DataAccess 數(shù)據(jù)實(shí)體層文件夾實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問數(shù)據(jù)訪問層DA_BsDatM 基礎(chǔ)數(shù)據(jù)維護(hù)包對(duì)應(yīng)模塊的DA數(shù)據(jù)訪問層DA_ArchvM 檔案管理包
22、對(duì)應(yīng)模塊的DA數(shù)據(jù)訪問層DA_DissCM 疾病控制包對(duì)應(yīng)模塊的DA數(shù)據(jù)訪問層DA_DisseM 疾病管理包對(duì)應(yīng)模塊的DA數(shù)據(jù)訪問層DA_WmnHCM 婦女保健包對(duì)應(yīng)模塊的DA數(shù)據(jù)訪問層DA_ChdHCM 兒童保健包對(duì)應(yīng)模塊的DA數(shù)據(jù)訪問層DA_MdclSR 醫(yī)療服務(wù)包對(duì)應(yīng)模塊的DA數(shù)據(jù)訪問層DA_OthrBM 其它業(yè)務(wù)包對(duì)應(yīng)模塊的DA數(shù)據(jù)訪問層DA_SysApM 系統(tǒng)管理包對(duì)應(yīng)模塊的DA數(shù)據(jù)訪問層DA_Common 公共部分包對(duì)應(yīng)模塊的DA數(shù)據(jù)訪問層ParentDataAccess.java 實(shí)體父類類對(duì)應(yīng)模塊的DA數(shù)據(jù)訪問層ICommonDA.java 公共數(shù)據(jù)訪問接口接口公共數(shù)據(jù)訪問接口
23、數(shù)據(jù)訪問層AbstCommonDA.java 公共數(shù)據(jù)訪問抽象類類公共數(shù)據(jù)訪問抽象類數(shù)據(jù)訪問層CommonDAForOracle.java 具體公共訪問類類具體公共訪問類數(shù)據(jù)訪問層IAbstractFactoryOfDB.java 抽象工廠接口類抽象工廠接口數(shù)據(jù)訪問層AbstractFactoryOfDB.java 抽象工廠的抽象類類抽象工廠的抽象類數(shù)據(jù)訪問層AbstractFactoryForOracleOfDB.java 具體數(shù)據(jù)庫(kù)的抽象工廠類具體數(shù)據(jù)庫(kù)的抽象工廠數(shù)據(jù)訪問層AbstParentDataAccess.java 數(shù)據(jù)訪問層抽象父類類數(shù)據(jù)訪問層抽象父類數(shù)據(jù)訪問層ParentDat
24、aAccessForOracle.java 具體數(shù)據(jù)訪問層父類類具體數(shù)據(jù)訪問層父類業(yè)務(wù)邏輯BnsLogic 業(yè)務(wù)邏輯層文件夾系統(tǒng)業(yè)務(wù)邏輯業(yè)務(wù)邏輯BL_BsDatM 基礎(chǔ)數(shù)據(jù)維護(hù)包對(duì)應(yīng)部分的業(yè)務(wù)邏輯業(yè)務(wù)邏輯BL_ArchvM 檔案管理包對(duì)應(yīng)部分的業(yè)務(wù)邏輯業(yè)務(wù)邏輯BL_DissCM 疾病控制包對(duì)應(yīng)部分的業(yè)務(wù)邏輯業(yè)務(wù)邏輯BL_DisseM 疾病管理包對(duì)應(yīng)部分的業(yè)務(wù)邏輯業(yè)務(wù)邏輯BL_WmnHCM 婦女保健包對(duì)應(yīng)部分的業(yè)務(wù)邏輯業(yè)務(wù)邏輯BL_ChdHCM 兒童保健包對(duì)應(yīng)部分的業(yè)務(wù)邏輯業(yè)務(wù)邏輯BL_MdclSR 醫(yī)療服務(wù)包對(duì)應(yīng)部分的業(yè)務(wù)邏輯業(yè)務(wù)邏輯BL_OthrBM 其它業(yè)務(wù)包對(duì)應(yīng)部分的業(yè)務(wù)邏輯業(yè)務(wù)邏輯BL
25、_Common 公共部分包業(yè)務(wù)邏輯的公共部分業(yè)務(wù)邏輯ConstBLPrs.java 業(yè)務(wù)邏輯中常用服務(wù)類常用一些需要訪問數(shù)據(jù)庫(kù)的業(yè)務(wù)邏輯如:取得當(dāng)前會(huì)計(jì)期間,取得當(dāng)前系統(tǒng)時(shí)間,取得流水碼等業(yè)務(wù)邏輯GenerialAction.java 一般Action的父類類提供一些業(yè)務(wù)邏輯通用服務(wù)或類子類公共部分業(yè)務(wù)邏輯ParentDispatchAction.java 分發(fā)Action的父類類提供一些業(yè)務(wù)邏輯通用服務(wù)或類子類公共部分通用層Comm 系統(tǒng)管理文件夾系統(tǒng)公共操作部分通用層CommApp 公共應(yīng)用包公共應(yīng)用部分通用層ClientInPage.java 在頁(yè)面中的客戶端類包括:(1)生成客戶端一些
26、腳本或直接在客戶端運(yùn)行腳本通用層CommBNS.java 業(yè)務(wù)常用類類與業(yè)務(wù)有關(guān)公共類,如取得倉(cāng)庫(kù)類型,取得供應(yīng)商類型等,與業(yè)務(wù)有關(guān),但不需要訪問數(shù)據(jù)庫(kù),并且該部分由于涉及具體業(yè)務(wù)日后移植性較差。通用層EmailManage.java 電子郵件服務(wù)類電子郵件收發(fā)通用層FileManage.java 文件管理類文件管理,主要包括:文件創(chuàng)建,修改,刪除,上傳,下載,文件夾創(chuàng)建,修改,刪除等。通用層CommCls 公共類包一些公共類,該包屬于公共應(yīng)用部分通用層ColumnInfo 表示列的類類列信息通用層CustomWhereElement 典型的查詢條件類類典型的查詢條件類通用層DefineWhe
27、reElement 定制的查詢條件類類定制的查詢條件類通用層ProcParamInfo 存儲(chǔ)過程參數(shù)類類存儲(chǔ)過程參數(shù)類通用層CommFun 公共函數(shù)包底層的公共部分通用層Functions.java 公共方法類為最底層的公共方法(服務(wù))。通用層Security.java 系統(tǒng)安全類類包括:數(shù)據(jù)加密,數(shù)據(jù)解密。通用層SysEnvironment.java 系統(tǒng)環(huán)境類類系統(tǒng)一些配置數(shù)據(jù),系統(tǒng)當(dāng)前用戶登陸信息等。通用層TheConsts.java 系統(tǒng)常量類類系統(tǒng)中一些常量,在這里進(jìn)行統(tǒng)一配置。通用層ValidityVerify 數(shù)據(jù)是否有效驗(yàn)證類對(duì)數(shù)據(jù)有效性進(jìn)行驗(yàn)證和檢驗(yàn)通用層FormatData
28、 數(shù)據(jù)格式化類類數(shù)據(jù)格式轉(zhuǎn)換類數(shù)據(jù)庫(kù)對(duì)象DataBase 數(shù)據(jù)庫(kù)庫(kù)對(duì)象文件夾數(shù)據(jù)庫(kù)訪問對(duì)象數(shù)據(jù)庫(kù)對(duì)象DB 數(shù)據(jù)庫(kù)包包數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)對(duì)象IHibernateDB.java 數(shù)據(jù)庫(kù)對(duì)象接口 接口會(huì)話管理數(shù)據(jù)庫(kù)對(duì)象AbstHibernateDB.java 抽象數(shù)據(jù)庫(kù)類類訪問各種數(shù)據(jù)庫(kù)的公共方法數(shù)據(jù)庫(kù)對(duì)象HibernateDBForOracle.java 具體數(shù)據(jù)庫(kù)類類對(duì)Oracle數(shù)據(jù)庫(kù)訪問數(shù)據(jù)庫(kù)對(duì)象HibernateSessionFactory.java 會(huì)話管理的類類主要是會(huì)話管理有關(guān)服務(wù)Libraries 庫(kù)JavaScript ResourcesJava腳本資源Build生成的二進(jìn)制類代碼界面
29、層WebContentWEB 的相關(guān)內(nèi)容文件夾用戶界面層發(fā)布時(shí)只需這部分即可。界面層Ext Ext 框架部分文件夾Ext的框架包界面層Include 頁(yè)面中包含部分文件夾界面層CssFiles 樣式文件文件夾CSS文件界面層JsFiles JavaScript腳本文件夾JavaScript文件界面層Images 系統(tǒng)圖片文件夾系統(tǒng)圖片界面層Imag 用戶圖片文件夾用戶圖片界面層Meta-INF 媒體信息文件夾界面層UserInterface 用戶界面文件夾用戶界面層界面層BsDatM 基礎(chǔ)數(shù)據(jù)維護(hù)文件夾對(duì)應(yīng)模塊的界面界面層ArchvM 檔案管理文件夾對(duì)應(yīng)模塊的界面界面層DissCM 疾病控制文
30、件夾對(duì)應(yīng)模塊的界面界面層DisseM 疾病管理文件夾對(duì)應(yīng)模塊的界面界面層WmnHCM 婦女保健文件夾對(duì)應(yīng)模塊的界面界面層ChdHCM 兒童保健文件夾對(duì)應(yīng)模塊的界面界面層MdclSR 醫(yī)療服務(wù)文件夾對(duì)應(yīng)模塊的界面界面層OthrBM 其它業(yè)務(wù)文件夾對(duì)應(yīng)模塊的界面界面層SysApM 系統(tǒng)管理文件夾對(duì)應(yīng)模塊的界面界面層UserControls 用戶控件文件夾用戶控件或第三方控件界面層CommPages 公共頁(yè)面文件夾系統(tǒng)公共頁(yè)面界面層TempFolder 臨時(shí)文件夾文件夾對(duì)應(yīng)模塊的界面界面層TmpFiles 臨時(shí)文件文件夾對(duì)應(yīng)模塊的界面界面層TestPages 測(cè)試頁(yè)面文件夾對(duì)應(yīng)模塊的界面界面層Com
31、mAppTool 公共應(yīng)用工具文件夾公共應(yīng)用工具主要應(yīng)于測(cè)試,方便或提高開發(fā)效率而開的工具。界面層Web-INF Web 信息文件夾WEB一些信息界面層LIB JAVA類庫(kù)文件夾Web的類庫(kù)界面層Web.xml Web的XML配置文件XML文件WEB的XML配置文件界面層Struts-config.xml Struts配置文件XML文件對(duì)Struts的配置界面層index.jsp 登陸進(jìn)入頁(yè)面JSP頁(yè)面頁(yè)面進(jìn)入的主頁(yè)面頁(yè)面名字可以自定4 應(yīng)用框架C#實(shí)現(xiàn)4.1 系統(tǒng)框架在架構(gòu)中作用框架灰色部分為框架核心部分,白色部分框架也對(duì)公共應(yīng)用部分進(jìn)行了集成?,F(xiàn)在對(duì)業(yè)務(wù)部分左側(cè)的方框部分是直接提供給用戶或
32、程序開發(fā)人員的功能,本部分只對(duì)該部分進(jìn)行進(jìn)一步描述。u 遠(yuǎn)程管理:主要針對(duì)系統(tǒng)進(jìn)行遠(yuǎn)程維護(hù)功能。u 備份恢復(fù):主要針對(duì)數(shù)據(jù)庫(kù)的備份的恢復(fù)。u 權(quán)限應(yīng)用:主要考慮目前的用戶組,用戶權(quán)限,系統(tǒng)資源權(quán)限(不同的用戶,用戶組,部門,工作組等看到系統(tǒng)不同的數(shù)據(jù))。權(quán)限管理的范圍:菜單,數(shù)據(jù),按鈕。u 工作流:首先考慮工作流開庫(kù)配置,后期將實(shí)現(xiàn)圖形化方式給用戶開放自定義工作流配置。u 幫助平臺(tái):主要提供在線互動(dòng)幫助和傳統(tǒng)的在線幫助。u 短信平臺(tái):首先考慮用短信貓實(shí)現(xiàn),后期可考慮與通信遠(yuǎn)營(yíng)商合作實(shí)現(xiàn)自己的底層實(shí)現(xiàn),最后實(shí)現(xiàn)產(chǎn)品化。u 工作組:對(duì)于系統(tǒng)中臨時(shí)或跨部門,或協(xié)作等需要組織在一起的人員集合的臨時(shí)機(jī)機(jī)
33、構(gòu),框架提供該部分功能。u 會(huì)計(jì)期間:主要針對(duì)財(cái)務(wù),進(jìn)銷存核算部分常用的會(huì)計(jì)期間。u 工廠日歷:主要針對(duì)生產(chǎn)制,加工行業(yè),在進(jìn)行計(jì)劃時(shí)需要考慮工作時(shí)間的休息,假日等時(shí)間跳過。u 委托:某個(gè)可以將自己的權(quán)限或任務(wù)授予另一個(gè)人或另幾個(gè)人,這種授權(quán)在某個(gè)時(shí)間段時(shí)有效。u 組織機(jī)構(gòu):一般用戶都有一定的組織機(jī)構(gòu),這里包括組織(主要指人員),機(jī)構(gòu)(主要指部門)。u 表單設(shè)計(jì):實(shí)現(xiàn)表單設(shè)計(jì)器,表單設(shè)計(jì)器主要實(shí)現(xiàn)功能是數(shù)據(jù)實(shí)體層代碼生成,界面層代碼生成以及其它相關(guān)一些代碼自動(dòng)生成功能。4.2 應(yīng)用框架實(shí)現(xiàn)環(huán)境u 開發(fā)環(huán)境: .Net FramWork 3.5 + Ajax + JavaScript;u 數(shù)據(jù)庫(kù)
34、環(huán)境:Oracle10G或其以上版本u 操作系統(tǒng):Windows 操作系統(tǒng) 具體的應(yīng)用環(huán)境也是在該環(huán)境下運(yùn)行。4.3 C#頁(yè)面生命周期在應(yīng)用框架的界面部分需要考慮的是UI分步操作,那么在UI分步操作的實(shí)現(xiàn)時(shí),我們就需要了解頁(yè)面的生命周期,這里針對(duì)DotNet3.5頁(yè)面中的ASPX頁(yè)面生命周期進(jìn)行說明,至于ASCX頁(yè)面這里不再具體敘述,請(qǐng)參考相關(guān)資料。這里需要說明的是,用戶控件與一般頁(yè)面在一起時(shí)默認(rèn)的加載順序?yàn)椋喉?yè)面初始化用戶控件初始化用戶控件載入頁(yè)面載入頁(yè)面顯示用戶控件顯示頁(yè)面事件用戶控件事件頁(yè)面呈現(xiàn)用戶控件呈現(xiàn)。這種順序也是我們?cè)趹?yīng)用框架時(shí)需要考慮的。階段編碼階段代碼階段名稱階段描述執(zhí)行時(shí)機(jī)
35、對(duì)應(yīng)方法備注S00Structor構(gòu)造函數(shù)在服務(wù)器端首先執(zhí)行該方法,在該方法中可以調(diào)用QueryString或者Request對(duì)象。XXX(),其中XXX為頁(yè)面類名S01初始化階段S0101OnPreInit預(yù)初始化引發(fā)OnPreInit事件OnPreInit()S0102OnInit初始化控件初始化處理及視圖跟蹤OnInit()S0103OnInitComplete初始化完成控件已初始化完成。OnInitComplete()S0104LoadControlState載入控件狀態(tài)頁(yè)面遞歸調(diào)用Control集合中控件的LoadControlState方法,這些控件已經(jīng)調(diào)用了Page類的Regis
36、terRequiresControlState方法,以使用它們的控件狀態(tài)。PostBack OnlyLoadControlStateS0105LoadViewState載入視圖狀態(tài)頁(yè)面首先調(diào)用自身的LoadViewState方法,接著遞歸調(diào)用Controls集合控件的LoadViewState方法,以允許它們加載它們的已經(jīng)保存的視圖狀態(tài)。PostBack OnlyLoadViewStateS0106Load Post Data加載回傳數(shù)據(jù)頁(yè)面調(diào)用實(shí)現(xiàn)IPostBackDataHandler接口的控件的LoadPostData方法,并將回傳數(shù)據(jù)傳遞給該方法。每個(gè)控件的LoadPostDate方法
37、都必須訪問回傳數(shù)據(jù),并據(jù)此更新相應(yīng)的控件屬性。例如:TextBox控件的LoadPostData方法將文本框的新值設(shè)置為TextBox控件的Text屬性值。PostBack Only Second TryS02加載SO201OnPreLoad預(yù)加載頁(yè)面調(diào)用OnPreLoad方法以引發(fā)PreLoad事件。該事件表示頁(yè)面生命周期將進(jìn)入加載階段OnPreLoadSO202Page_Load加載頁(yè)面首先調(diào)用自身的OnLoad方法以引發(fā)自身的Load事件,接著遞歸調(diào)用Controls集合中控件的OnLoad方法以引發(fā)它們的Load事件。頁(yè)面開發(fā)人員可以為L(zhǎng)oad事件注冊(cè)回調(diào),那么就可以通過編程將子控件添
38、加到頁(yè)面的Controls集合中Page_LoadS0203Load Post Data加載回傳數(shù)據(jù)頁(yè)面調(diào)用控件的LoadPostBack方法。這些控件如果實(shí)現(xiàn)了IPostBackDataHandler接口,那么在加載階段,它們已通過編程添加到Controls集合中。PostBack Only Second TryS0204Raise Post Data Changed Event引發(fā)回傳數(shù)據(jù)修改事件頁(yè)面調(diào)用控件的RaisePostDataChangeEvent方法,這些控件的LoadPostData方法返回true。RaisePostDataChangeEvent方法引發(fā)了回傳數(shù)據(jù)修改事件。
39、例如:當(dāng)文本框的新值與舊值不同時(shí),那么TextBox控件將引發(fā)該事件。PostBack OnlyS0205Raise PostBack Event引發(fā)回傳事件頁(yè)面調(diào)用控件的RaisePostEvent方法,這些控件相關(guān)的Html元素用于提交表單。例如,Button控件的相關(guān)Html元素將頁(yè)面回傳到服務(wù)器??丶腞aisePostBackEvent方法必須將回傳事件映射到一個(gè)或多個(gè)服務(wù)器事件。例如,Button控件的RaisePostBackEvent方法將事件映射到了服務(wù)器端事件Command和Click上。PostBack OnlyS0206Load Complete加載完成頁(yè)面調(diào)用OnLo
40、adComplete方法來引發(fā)LoadComplete事件,這表示所有加載活動(dòng),包括加載回傳數(shù)據(jù),以及引發(fā)回傳數(shù)據(jù)修改事件,并以更新控件自身的活動(dòng)都完成了。OnLoadComplete()S0207Raise CallBack Event引發(fā)回調(diào)事件頁(yè)面調(diào)用控件的RaiseCallBackEvent方法。該控件可使用AspNet客戶端回調(diào)機(jī)制來允許客戶端方法(例如JavaScript函數(shù))調(diào)用服務(wù)器端方法,而無需將整個(gè)頁(yè)面回傳給服務(wù)器。RaiseCallBackEvent方法必須調(diào)用服務(wù)器端方法。如果頁(yè)面的回傳使用了客戶端回調(diào)機(jī)制,那么頁(yè)面將不會(huì)執(zhí)行剩余的頁(yè)面生命周期階段。XX_Event()
41、事件處理S03預(yù)呈現(xiàn)SO301PreRende預(yù)呈現(xiàn)在頁(yè)面生命周期這個(gè)階段執(zhí)行一下操作。a:調(diào)用EnsureChildControls方法來確保在頁(yè)面進(jìn)入呈現(xiàn)階段之前,創(chuàng)建其子控件。b:調(diào)用自身的OnPreRender方法來引發(fā)PreRender事件。c:遞歸調(diào)用Controls集合中控件的OnPreRender方法,以引發(fā)它們的PreRender事件。OnPreRenderSO302PreRender Complete預(yù)呈現(xiàn)完成頁(yè)面調(diào)用OnPrerenderComplete方法來引發(fā)PreRenderComplete事件,這表示所有預(yù)呈現(xiàn)活動(dòng)完成了。PreRender CompleteSO3
42、03Save Control State保存控件狀態(tài)頁(yè)面遞歸調(diào)用Controls集合中控件的SaveControlState方法。這些控件已經(jīng)調(diào)用了Page類的RegisterRequiresControlState方法來保存它們的控件狀態(tài)Save Control StateSO304Save View State保存視圖狀態(tài)頁(yè)面首先調(diào)用自身的SaveViewState方法,然后調(diào)用Controls集合中的SaveViewState方法,以允許它們來保存其視圖狀態(tài)。Save View StateSO305Save View Complete保存視圖完成頁(yè)面調(diào)用OnSaveStateComple
43、te方法以引發(fā)SaveStateComplete事件,這表示所有狀態(tài)保存活動(dòng)都完成了Save View CompleteS03Show及釋放呈現(xiàn)S0301Render呈現(xiàn)a:創(chuàng)建一個(gè)HtmlTextWriter類實(shí)例,該實(shí)例封裝了輸出響應(yīng)流b:調(diào)用RenderCOntrol方法,并將HtmlTextWriter實(shí)例傳遞給該方法。RenderControl方法遞歸調(diào)用子控件的RenderControl方法,以便允許每個(gè)控件能夠呈現(xiàn)其Html標(biāo)記文本。子控件的Html標(biāo)記文本組成了最終發(fā)送給客戶端瀏覽器的Html標(biāo)記文本。Render()S0302OnUnload反加載OnUnloadS0303D
44、ispose釋放Dispose4.4 框架組件圖4.4.1 系統(tǒng)總體組件圖4.4.2 界面層組件圖4.4.3 業(yè)務(wù)邏輯層組件圖4.4.4 數(shù)據(jù)訪問層組件圖4.4.5 通用層組件圖4.5 項(xiàng)目類圖4.5.1 公共層類圖4.5.2 數(shù)據(jù)庫(kù)相關(guān)類圖4.5.3 系統(tǒng)分層框架5 框架支持的典型應(yīng)用通過對(duì)系統(tǒng)中功能進(jìn)行分析,系統(tǒng)需要實(shí)現(xiàn)幾種常用的界面,為整個(gè)系統(tǒng)框架的實(shí)現(xiàn)服務(wù),同時(shí)也為具體功能頁(yè)面提供模板和參考。這幾種典型的界面,覆蓋了業(yè)務(wù)大部分的業(yè)務(wù),這幾種模板將由系統(tǒng)框架統(tǒng)一支持,對(duì)于以后若有其它界面需要系統(tǒng)支持,那么會(huì)根據(jù)需要再對(duì)其進(jìn)行具體描述和實(shí)現(xiàn)。5.1 列表頁(yè)面 功能描述:列表頁(yè)面在系統(tǒng)經(jīng)常用
45、到,一般用于數(shù)據(jù)只是單表的情況,因此數(shù)據(jù)在網(wǎng)絡(luò)控件展示。 實(shí)現(xiàn)功能:選擇。查詢,新增,刪除,修改功能。 處理過程:u 選擇:用戶鼠標(biāo)移至該記錄上時(shí),該條記錄會(huì)變?yōu)榧炊ǖ念伾?,如果用戶鼠?biāo)單擊該行記錄,那么鼠標(biāo)移至該記錄上的顏色便會(huì)定格到該記錄上,至到用戶用鼠標(biāo)單擊其它記錄或該頁(yè)面被關(guān)閉為至。u 查詢:直接根據(jù)用戶輸入(或選擇)的條件,從數(shù)據(jù)庫(kù)中檢索出符合條件的記錄并在網(wǎng)絡(luò)控件中顯示。u 新增:用戶進(jìn)接點(diǎn)擊新增按鈕,彈出該維護(hù)頁(yè)面中該頁(yè)面進(jìn)行新增記錄,新增完畢后進(jìn)行保存。u 刪除;選中一條或多條需要?jiǎng)h除的記錄,直接點(diǎn)擊刪除按即可進(jìn)行刪除,也可點(diǎn)擊維護(hù)彈出維護(hù)頁(yè)面,點(diǎn)擊維護(hù)頁(yè)面中的刪除按鈕進(jìn)行刪除
46、該記錄。u 修改:選擇該記錄點(diǎn)擊維護(hù)鏈接彈出維護(hù)頁(yè)面對(duì)該記錄進(jìn)行修改,并保存。 操作流程: 界面示意圖: 附注說明:維護(hù)頁(yè)面即可以直接彈出,也可以由進(jìn)入到維護(hù)頁(yè)面。5.2 列表、明細(xì)頁(yè)面 功能描述:這種頁(yè)面是即有列表又有明細(xì)的頁(yè)面,明細(xì)可以有一個(gè)明細(xì)也可以有多個(gè)明細(xì)。 實(shí)現(xiàn)功能:查詢,增加,刪除,修改。 處理過程:u 查詢查詢分為對(duì)列表查詢和明細(xì)內(nèi)容查詢。對(duì)列表查詢與列表頁(yè)面中的查詢一樣,這里就不重復(fù)敘述,查詢具體操作:點(diǎn)擊詳細(xì)鏈接按鈕進(jìn)入明細(xì)頁(yè)面,在明細(xì)頁(yè)面中輸入明查詢條件,點(diǎn)擊查詢,即可查詢出符合條件的記錄。u 增加:點(diǎn)擊列表界面上的新增按鈕,進(jìn)入家庭檔案維護(hù)頁(yè)面,錄入列表信息點(diǎn)擊列表信息
47、上方的新增按鈕,保存列表信息。選擇要增加的明細(xì)頁(yè)面,然后點(diǎn)擊新增按鈕,在彈出維護(hù)面輸入該明細(xì)信息,按保存按鈕進(jìn)行明細(xì)信息保存。u 刪除:刪除分為對(duì)列表數(shù)據(jù)刪除和對(duì)明細(xì)數(shù)據(jù)的刪除。對(duì)列表數(shù)據(jù)的刪除:直接在列表界面上選擇要?jiǎng)h除的記錄,然后點(diǎn)刪除即可刪除該記錄。也可進(jìn)入列表維護(hù)頁(yè)面,點(diǎn)擊列表信息上方的刪除按鈕進(jìn)行刪除該列表數(shù)據(jù)。需要說明的是:對(duì)列表記錄(列表記錄即主表記錄)刪除時(shí),將邊同主表下的對(duì)應(yīng)的明細(xì)一并刪除。對(duì)明細(xì)記錄的刪除:對(duì)明細(xì)記錄的刪除,進(jìn)入明細(xì)頁(yè)面并選擇該明細(xì)所在的頁(yè)面,然后選擇要?jiǎng)h除的一條或多條明細(xì)記錄,然后點(diǎn)刪除按鈕,即可刪除相應(yīng)的明細(xì)記錄。u 修改點(diǎn)擊列表界面上的維護(hù)鏈接按鈕,進(jìn)
48、入維護(hù)頁(yè)面,對(duì)列表信息進(jìn)行修改,點(diǎn)列表信息上方的保存銨鈕將修改保存到數(shù)據(jù)庫(kù)。選擇要修改的明細(xì)頁(yè)面,選擇記錄點(diǎn)擊該明細(xì)頁(yè)面中的修改按鈕彈出明細(xì)維護(hù)頁(yè)面,進(jìn)行修改并點(diǎn)保存銨鈕對(duì)該明細(xì)進(jìn)行保存。 操作流程: 界面示意: 附注說明:u 刪除列表信息時(shí),將邊同該列表信息下的所有明細(xì)一并刪除,刪除操作是不可恢復(fù)操作。5.3 樹形界面 功能描述:樹形頁(yè)面一般在系統(tǒng)中使用也是比較多的。 實(shí)現(xiàn)功能:對(duì)某一結(jié)點(diǎn)信息查看及維護(hù),對(duì)某一結(jié)點(diǎn)(包含該結(jié)點(diǎn)在內(nèi)的)以下級(jí)別結(jié)點(diǎn),進(jìn)行查詢,新增同級(jí)結(jié)點(diǎn),新增下級(jí)結(jié)點(diǎn),刪除結(jié)點(diǎn),維護(hù)修改結(jié)點(diǎn)信息。 處理過程:u 查詢相關(guān)結(jié)點(diǎn):選擇某一結(jié)點(diǎn)(可選擇包括根結(jié)點(diǎn)在內(nèi)的所有結(jié)點(diǎn)),在
49、相關(guān)結(jié)點(diǎn)頁(yè)面內(nèi)會(huì)顯示該結(jié)點(diǎn)以及該結(jié)點(diǎn)以下所有結(jié)點(diǎn),用戶可輸入(或選擇)查詢條件,點(diǎn)擊查詢按鈕,即可查詢出符合條件的數(shù)據(jù)。u 維護(hù)結(jié)點(diǎn)信息用鼠標(biāo)選擇中某一結(jié)點(diǎn),在結(jié)點(diǎn)信息中可看到該結(jié)點(diǎn)對(duì)應(yīng)的信息,如果點(diǎn)擊保存按鈕,可對(duì)該記錄的修改進(jìn)行保存。u 對(duì)記錄明細(xì)維護(hù)用鼠標(biāo)選中某一結(jié)點(diǎn),在部門人員的明細(xì)頁(yè)面可看到該結(jié)點(diǎn)對(duì)應(yīng)的明細(xì)數(shù)據(jù),可對(duì)該明細(xì)數(shù)據(jù)進(jìn)行維護(hù)和查詢。u 新增同級(jí)結(jié)點(diǎn)用鼠標(biāo)選中某一結(jié)點(diǎn),點(diǎn)擊樹形面板上的新增同級(jí)結(jié)點(diǎn),便彈出結(jié)點(diǎn)維護(hù)界面,然后輸入你要新增的結(jié)點(diǎn)的信息,點(diǎn)擊保存即可保存。u 新增下級(jí)結(jié)點(diǎn)用鼠標(biāo)選中某一結(jié)點(diǎn),點(diǎn)擊樹形面板上的新增下級(jí)結(jié)點(diǎn),便彈出結(jié)點(diǎn)維護(hù)界面,然后輸入你要新增的結(jié)點(diǎn)的信
50、息,點(diǎn)擊保存即可保存。u 刪除結(jié)點(diǎn)用鼠標(biāo)選中某一結(jié)點(diǎn),然后直接點(diǎn)頁(yè)面樹形面板中的刪除當(dāng)前結(jié)點(diǎn)按鈕,即可刪除該結(jié)點(diǎn),也可用鼠標(biāo)選中某一結(jié)點(diǎn),進(jìn)行該結(jié)點(diǎn)維護(hù)頁(yè)面點(diǎn)擊刪除按鈕刪除該結(jié)點(diǎn)。 操作流程: 界面示意: 附注說明:u 結(jié)點(diǎn)刪除時(shí)將連同結(jié)點(diǎn)下的所有子結(jié)點(diǎn)一并被刪除。u 該框架同時(shí)持是否允許刪除有子結(jié)點(diǎn)的結(jié)點(diǎn),通過對(duì)樹的配置進(jìn)行來決定。在展示其明細(xì)數(shù)據(jù)時(shí)同時(shí)也支持是否對(duì)列表信息維護(hù)的支持,通過用用戶配置來決定是否折疊(折壘起來的列表結(jié)點(diǎn)信息的維護(hù)界面用戶仍可通過展開按鈕進(jìn)行展開)。6 附錄6.1 面向?qū)ο笤O(shè)計(jì)原則6.1.1 類設(shè)計(jì)原則u SRP單一職責(zé)原則:一個(gè)類應(yīng)該有且只有一個(gè)改變的理由。 u OCP原則即開封閉原則一個(gè)模塊在擴(kuò)展性方面應(yīng)該是開放的而在更改性方面應(yīng)該是封閉的,開閉原則換句話就是說系統(tǒng)發(fā)生變化時(shí)應(yīng)對(duì)修改關(guān)閉,才擴(kuò)展開放。在進(jìn)行面向?qū)ο笤O(shè)計(jì)時(shí)要盡量考慮接口封裝機(jī)制、抽象機(jī)制和多態(tài)技術(shù)。該原則同樣適合于非面向?qū)ο笤O(shè)計(jì)的方法,是軟件工程設(shè)計(jì)方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球植物生長(zhǎng)室和房間行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025版?zhèn)€人店面租賃合同(含違約責(zé)任細(xì)化)
- 2025年度租賃車輛合同解除及終止合同樣本3篇
- 二零二五年度雛雞養(yǎng)殖基地與冷鏈物流企業(yè)服務(wù)合同4篇
- 二零二五年度車輛租賃合同標(biāo)準(zhǔn)版7篇
- 2025年度商業(yè)中心打印機(jī)設(shè)備共享及售后服務(wù)協(xié)議3篇
- 二零二五年度車輛掛靠汽車租賃公司合作協(xié)議3篇
- 二零二五年度鋁扣板智能家居系統(tǒng)安裝協(xié)議3篇
- 2025年度房地產(chǎn)工程合同支付臺(tái)賬(含合同變更與解除條款)
- 二零二五年度車輛牌照租用與車輛交易咨詢服務(wù)協(xié)議4篇
- 項(xiàng)目工地春節(jié)放假安排及安全措施
- 印染廠安全培訓(xùn)課件
- 紅色主題研學(xué)課程設(shè)計(jì)
- 胸外科手術(shù)圍手術(shù)期處理
- 裝置自動(dòng)控制的先進(jìn)性說明
- 《企業(yè)管理課件:團(tuán)隊(duì)管理知識(shí)點(diǎn)詳解PPT》
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(yíng)(吳洪貴)任務(wù)二 軟文的寫作
- 英語詞匯教學(xué)中落實(shí)英語學(xué)科核心素養(yǎng)
- 《插畫設(shè)計(jì)》課程標(biāo)準(zhǔn)
- 高中英語名詞性從句講解
- 尤單抗注射液說明書
評(píng)論
0/150
提交評(píng)論