freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)論文-基于strutshibernatespringextjs影像及電子檔案管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(編輯修改稿)

2025-01-07 07:18 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 北京聯(lián)合大學(xué) 畢業(yè)設(shè)計(jì) 15 4. 系統(tǒng)總體設(shè)計(jì) 系統(tǒng)架構(gòu)總體設(shè)計(jì) 根據(jù)需求分析,這一節(jié)詳細(xì)討論了影像及電子檔案管理系統(tǒng)的 總體架構(gòu)設(shè)計(jì)方案。 傳統(tǒng)開發(fā)框架到 SSH 框架 經(jīng)典的網(wǎng)站系統(tǒng)是基于 Struts+Hibernate 的框架進(jìn)行設(shè)計(jì)和開發(fā)的。這種開發(fā)框架的好處是實(shí)現(xiàn)簡(jiǎn)單,業(yè)務(wù)邏輯清晰,開發(fā)人員使用起來(lái)很容易。因此在實(shí)際開發(fā)時(shí)可以把后臺(tái)業(yè)務(wù)邏輯代碼放到設(shè)計(jì)好的 JavaBean中,按照上述功能結(jié)構(gòu)圖的模塊劃分方式,每個(gè)模塊都是一個(gè)單獨(dú)的 JavaBean類,控制層代碼直接使用這些類完成實(shí)際功能。 雖然上述的開發(fā)框架可以很好的解決電子檔案管理中的應(yīng)用開發(fā)面臨的問(wèn)題,但是實(shí)際應(yīng)用表明這存在著一些弱點(diǎn)。首先是復(fù)用的層次較低, 開發(fā)框架主要著眼于對(duì)象類的復(fù)用,而這些復(fù)用是代碼級(jí)的復(fù)用,代碼級(jí)的復(fù)用方式帶來(lái)的壞處是涉及實(shí)現(xiàn)細(xì)節(jié),不支持可插拔的軟件構(gòu)件思想;其次是粒度較小,開發(fā)框架中主要實(shí)現(xiàn)的是一些通用功能或者常規(guī)操作,沒有比較大粒度的構(gòu)件復(fù)用,雖然存在一定程度的獨(dú)立的業(yè)務(wù)代碼類,但是依然離不開實(shí)現(xiàn)細(xì)節(jié);最后就是使用人員的定位問(wèn)題,使用開發(fā)框架的基本上是了解熟悉此類框架的軟件開發(fā)專業(yè)技術(shù)人員,而對(duì)于不熟悉這種開發(fā)框架的業(yè)務(wù)人員而言,無(wú)法滿足他們隨著需求變更修改系統(tǒng)或者自主開發(fā)小應(yīng)用的需要。 為此,本文提出了比開發(fā)框架層次更高的 SSH 框 架構(gòu)件平臺(tái)來(lái)實(shí)現(xiàn)具體的應(yīng)用。 SSH 框架構(gòu)件平臺(tái)主要是為了適應(yīng)復(fù)雜多變的公司文檔信息管理的業(yè)務(wù)需求而提出的業(yè)務(wù)支撐平臺(tái),該平臺(tái)的目標(biāo)是支持開發(fā)人員通過(guò)統(tǒng)一的業(yè)務(wù)平臺(tái)快速構(gòu)建影像及電子檔案管理系統(tǒng)的業(yè)務(wù)流程,實(shí)現(xiàn)公司內(nèi)部影像及電子檔案管理的業(yè)務(wù)整合和數(shù)據(jù)整合,最終形成一個(gè)統(tǒng)一的立體式的影像及電子檔案管理系統(tǒng)。 SSH 框架構(gòu)建設(shè)計(jì) 這一節(jié)以影像及電子檔案管理系統(tǒng)為例,進(jìn)行 SSH 框架應(yīng)用的研究。 SSH 框架規(guī)劃的出發(fā)點(diǎn)完全不同于現(xiàn)有的建模和組件的方案設(shè)計(jì)。傳統(tǒng)的網(wǎng)站系統(tǒng)設(shè)計(jì)是:當(dāng)軟件的設(shè)計(jì)和開發(fā)人員在拿 到業(yè)務(wù)需求后,會(huì)立即想到是不是需要使用 Struts 的 MVC 結(jié)構(gòu),是使用 EJB 還是使用 Hibernate,是使用什北京聯(lián)合大學(xué) 畢業(yè)設(shè)計(jì) 16 么樣的服務(wù)器和數(shù)據(jù)庫(kù)等。然后系統(tǒng)架構(gòu)師和每個(gè)業(yè)務(wù)人員進(jìn)行溝通并且劃分每個(gè)業(yè)務(wù)模塊,業(yè)務(wù)人員再向每個(gè)模塊填寫相應(yīng)的代碼。這樣,使得業(yè)務(wù)從屬于技術(shù),業(yè)務(wù)功能受到具體技術(shù)的限制,業(yè)務(wù)和技術(shù)是緊耦合的。 這樣的設(shè)計(jì)使得很多網(wǎng)站系統(tǒng)受到技術(shù)的限制,一旦系統(tǒng)需要改進(jìn)技術(shù)或者技術(shù)被淘汰,他們的業(yè)務(wù)也會(huì)跟著發(fā)生變化或者淘汰。 SSH 框架規(guī)劃旨在 減輕開發(fā)人員重新建立解決復(fù)雜問(wèn)題方案的負(fù)擔(dān)和精力;它可以被擴(kuò)展以進(jìn)行內(nèi) 部的定制化 ,提高開發(fā)效率并容易實(shí)現(xiàn)系統(tǒng)的可擴(kuò)展性與可維護(hù)性。下圖為系統(tǒng)基于 SSH 框架的層次關(guān)系圖: 圖 應(yīng)用框架的層次關(guān)系圖 層次結(jié)構(gòu)圖給出了應(yīng)用框架的層次關(guān)系,應(yīng)用框架由上向下可分為持久層、邏輯層、業(yè)務(wù)層、控制層和表現(xiàn)層。其中上層構(gòu)件為下層提供了獨(dú)立完整的功能,下層構(gòu)件無(wú)需了解上層構(gòu)件內(nèi)部的實(shí)現(xiàn)細(xì)節(jié),只需要調(diào)用其提供的明確定義的接口和方法來(lái)實(shí)現(xiàn)自己的功能。應(yīng)用框架的分層機(jī)制負(fù)責(zé)將用戶的業(yè)務(wù)需求分為相對(duì)獨(dú)立的層次化模塊,支持開發(fā)人員方便快速地開發(fā)相對(duì)獨(dú)立的業(yè)務(wù)單元。 北京聯(lián)合大學(xué) 畢業(yè)設(shè)計(jì) 17 基于 MVC 模式,系統(tǒng) 分 為表現(xiàn)層、中間層(業(yè)務(wù)邏輯層)和數(shù)據(jù)服務(wù)層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問(wèn)及合法性校驗(yàn)等工作放在中間層處理??蛻舳瞬恢苯优c數(shù)據(jù)庫(kù)交互,而是通過(guò)組件與中間層建立連接,再由中間層與數(shù)據(jù)庫(kù)交互 。 表現(xiàn)層 使用基于 JSP 顯示, ExtJs 組件為主體的開發(fā)模式。 中間層采用的是流行的 Spring+Hibernate,為了將控制層與業(yè)務(wù)邏輯層分離,又細(xì)分為以下幾種 。 Web 層,就是 MVC 模式里面的 “C”( controller), 系統(tǒng)中對(duì)應(yīng) Action層。 負(fù)責(zé)控制業(yè)務(wù)邏輯層與表現(xiàn)層的交互,調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn) 層作組織表現(xiàn) 。 Service 層(就是業(yè)務(wù)邏輯層),負(fù)責(zé)實(shí)現(xiàn)業(yè)務(wù)邏輯。業(yè)務(wù)邏輯層以 DAO 層為基礎(chǔ),通過(guò)對(duì) DAO 組件的正面模式包裝,完成系統(tǒng)所要求的業(yè)務(wù)邏輯 。 DAO 層,負(fù)責(zé)與持久化對(duì)象交互。該層封裝了數(shù)據(jù)的增、刪、查、改的操作 ,采用數(shù)據(jù)庫(kù)中間件 Hibernate 完成對(duì)底層數(shù)據(jù)庫(kù)應(yīng)用的封裝,通過(guò)一致的規(guī)范接口,將底層數(shù)據(jù)庫(kù)與業(yè)務(wù)邏輯分離開來(lái),為應(yīng)用系統(tǒng)的業(yè)務(wù)代碼開發(fā)提供了數(shù)據(jù)層支持。 PO,持久化對(duì)象。通過(guò)實(shí)體關(guān)系映射工具將關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)映射成對(duì)象,很方便地實(shí)現(xiàn)以面向?qū)ο蠓绞讲僮鲾?shù)據(jù)庫(kù),該系統(tǒng)采用 Hibernate 作為ORM框架 ,并使用注解方式實(shí)現(xiàn) 數(shù)據(jù)映射 配置。 Spring 的作用貫穿了整個(gè)中間層,將 Web 層、 Service 層、 DAO 層及 PO 無(wú)縫整合, 依靠 Spring 依賴注入特性 Web 層中注入 Service、 Service 層中注入DAO、 DAO 層中注入 HibernateTemplate, 其數(shù)據(jù)服務(wù)層用來(lái)存放數(shù)據(jù) 。 為了提高系統(tǒng)的可擴(kuò)展性與可維護(hù)性,在 DAO 層與 Service 層分別抽取出接口層和接口實(shí)現(xiàn)層。 SSH 架構(gòu)在系統(tǒng)中的應(yīng)用 圖 是影像及電子檔案管理系統(tǒng)的整體架構(gòu)圖。 北京聯(lián)合大學(xué) 畢業(yè)設(shè)計(jì) 18 圖 影像及電子檔案管理系統(tǒng)的整體架構(gòu)圖 下面是對(duì)圖 中各層的角色及功能說(shuō)明。 (1)View 層:影像及電子檔案管理系統(tǒng)的視圖展示,用戶頁(yè)面采用 Ext 框架進(jìn)行組織,數(shù)據(jù)從后臺(tái)轉(zhuǎn)發(fā)過(guò)來(lái)使用 JSP 的方式,然后在客戶端轉(zhuǎn)換成 HTML頁(yè)面的格式,借助 JavaScript 和 CSS 進(jìn)行顯示。 (2)Controller 層:影像及電子檔案管理系統(tǒng)的控制層,使用 Struts 的控制層來(lái)進(jìn)行業(yè)務(wù)流程控制??刂破魇菓?yīng)用系統(tǒng)處理具體流程和導(dǎo)向的核心部分。它把模型對(duì)象給出的信息轉(zhuǎn)換成視圖可以理解的形式,并且處理系統(tǒng)流程的走向。在這里使 用 配置文件來(lái)定義業(yè)務(wù)流程,使用 Action類調(diào)用相應(yīng)的Web Service 來(lái)實(shí)現(xiàn)這些具體功能。 (3)Model 層:影像及電子文檔管理系統(tǒng)的模型層,實(shí)現(xiàn)具體的業(yè)務(wù)邏輯。模型包含應(yīng)用程序的核心功能,封裝了應(yīng)用程序的狀態(tài),它對(duì)視圖或控制器一無(wú)所知。 數(shù)據(jù)庫(kù)中間件方面,系統(tǒng)定義了 Dao 層,使用集成封裝的HibernateTemplate 實(shí)現(xiàn)數(shù)據(jù)操作。系統(tǒng)使用 Annotation(注解)方式配置實(shí)體類與數(shù)據(jù)庫(kù)的映射關(guān)系,包括主鍵生成策略、表與表的級(jí)聯(lián)關(guān)系配置等。 SSH 架構(gòu)的優(yōu)勢(shì)與 不足 傳統(tǒng)的網(wǎng)站系統(tǒng)采用單一的 Struts+Hibernate 框架進(jìn)行設(shè)計(jì)和開發(fā),在這種方式下,客戶端代碼和業(yè)務(wù)邏輯代碼混雜在一起,而且模塊化劃分不夠靈活,各個(gè)業(yè)務(wù)模塊之間的耦合度較高。傳統(tǒng)的應(yīng)用沒有完全遵循軟件可重用性的原則,可重用性僅僅體現(xiàn)在本地的代碼可重用性,而對(duì)于更廣范圍的數(shù)據(jù)和代碼北京聯(lián)合大學(xué) 畢業(yè)設(shè)計(jì) 19 的可重用性,并沒有相應(yīng)的支持。 與傳統(tǒng)的網(wǎng)站系統(tǒng)應(yīng)用相比,基于 SSH 框架的影像及電子檔案管理系統(tǒng)架構(gòu)有如下優(yōu)點(diǎn): 開發(fā)效率高 一個(gè)良好的框架可以讓開發(fā)人員減輕重新建立解決復(fù)雜問(wèn)題方案的負(fù)擔(dān)和精力;它可以被擴(kuò)展以進(jìn)行內(nèi)部的 定制化;并且有強(qiáng)大的用戶社區(qū)來(lái)支持它??蚣芡ǔD芎芎玫慕鉀Q一個(gè)問(wèn)題 。 后期維護(hù)效率高 軟件工程不同于傳統(tǒng)的工業(yè),例如電器、建筑及汽車等行業(yè)。這些行業(yè)的產(chǎn)品一旦開發(fā)出來(lái),交付用戶使用后將很少需要后續(xù)的維護(hù) 。 軟件產(chǎn)品的后期運(yùn)行維護(hù)是個(gè)巨大的工程 。傳統(tǒng)的 ASP 和 PHP 等腳本站點(diǎn)技術(shù),將整個(gè)站點(diǎn)的業(yè)務(wù)邏輯和表現(xiàn)邏輯都混雜在 ASP 或 PHP 頁(yè)面里,從而導(dǎo)致頁(yè)面的可讀性相當(dāng)差,可維護(hù)性非常低 。 但采用嚴(yán)格分層 J2EE 架構(gòu),則可完全避免這個(gè)問(wèn)題。對(duì)表現(xiàn)層的修改即使發(fā)生錯(cuò)誤,也絕對(duì)不會(huì)將錯(cuò)誤擴(kuò)展到業(yè)務(wù)邏輯層,更不會(huì)影響持久層 。因此,采用 J2EE 分層架構(gòu),即使前期的開發(fā)效率稍微低一點(diǎn),但也是值得的 。 系統(tǒng)結(jié)構(gòu)性強(qiáng) Struts 提供標(biāo)準(zhǔn)的 MVC 架構(gòu)模式, Hibernate 實(shí)現(xiàn)底層數(shù)據(jù)映射與數(shù)據(jù)業(yè)務(wù)操作,而 Spring則貫穿于整個(gè)項(xiàng)目各個(gè)層次中,作為一個(gè)輕量級(jí)容器管理各個(gè)層次。系統(tǒng)結(jié)構(gòu)脈絡(luò)清晰。 系統(tǒng)需求擴(kuò)展性強(qiáng) 幾乎所有的軟件需求都是在變化的。 客戶對(duì)軟件需求,是隨著軟件開發(fā)過(guò)程的深入,不斷明晰起來(lái)的。因此,常常遇到軟件開發(fā)到一定程度時(shí),由于客戶對(duì)軟件需求發(fā)生了變化,使得軟件的實(shí)現(xiàn)不得不隨之改變。當(dāng)軟件實(shí)現(xiàn)需要改變時(shí),是否可以盡可 能多地保留軟件的部分,盡可能少地改變軟件的實(shí)現(xiàn),從而滿足客戶需求的變更?答案是 —— 采用優(yōu)秀的解耦架構(gòu)。這種架構(gòu)就是J2EE 的分層架構(gòu),在優(yōu)秀的分層架構(gòu)里,控制層依賴于業(yè)務(wù)邏輯層,但絕不與任何具體的業(yè)務(wù)邏輯組件耦合,只與接口耦合;同樣,業(yè)務(wù)邏輯層依賴于 DAO層,也不會(huì)與任何具體的 DAO 組件耦合,而是面向接口編程。采用這種方式的軟件實(shí)現(xiàn),即使軟件的部分發(fā)生改變,其他部分也盡可能不要改變 。 另一方面, 在傳統(tǒng)的程序結(jié)構(gòu)中,只要有一點(diǎn)小的需求發(fā)生改變,將意味著放棄整個(gè)頁(yè)面 , 或者改寫。采用 Hibernate 作為持久層技 術(shù)的最大的好處在于:可以完全以面向?qū)ο蟮姆绞竭M(jìn)行系統(tǒng)分析、系統(tǒng)設(shè)計(jì) 。 系統(tǒng)技術(shù)擴(kuò)展性強(qiáng) 北京聯(lián)合大學(xué) 畢業(yè)設(shè)計(jì) 20 Struts、 Hibernate、 Spring都是開源框架,這同樣是優(yōu)勢(shì)之一。如 Struts 支持多種插件,在本系統(tǒng)中使用到了 JfreeChart 實(shí)現(xiàn)了系統(tǒng)統(tǒng)計(jì)的功能。 更高的系統(tǒng)靈活性 系統(tǒng)的頁(yè)面和服務(wù)開發(fā)相互分離,這就使得在需求確定的情況下,系統(tǒng)的表現(xiàn)層和服務(wù)層的開發(fā)能夠同時(shí)進(jìn)行,大大減少了系統(tǒng)開發(fā)周期。另外,頁(yè)面和業(yè)務(wù)的分離降低了表現(xiàn)層和服務(wù)層的耦合度,一旦頁(yè)面發(fā)生改變,服務(wù)層根本不需要改變,這樣也使得系統(tǒng)具有很好 的靈活性。 采用上述架構(gòu)的影像及電子檔案管理系統(tǒng)也存在以下不足: (1) 由于系統(tǒng)開發(fā)框架集成了許多封裝之后的組件,系統(tǒng)內(nèi)存開銷比較大。 (2) 表現(xiàn)層大部分采用 JS 技術(shù),由于編碼與調(diào)試效率不高等因素,開發(fā)效率有一定影響。 (3) 靈活的開發(fā)方式必然是以開發(fā)的復(fù)雜性為代價(jià)的,影像及電子檔案管理系統(tǒng)開發(fā)起來(lái)相對(duì)復(fù)雜。 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 系統(tǒng)核心關(guān)系表是,文檔類別表、文檔表、文件表和文檔評(píng)論表。面對(duì)對(duì)象關(guān)系模型圖中個(gè)別屬性和類之間的相互關(guān)系進(jìn)行說(shuō)明: ? 管理員類 (Admin):存放管理員信息,其中 id 是主 鍵, privilege 是權(quán)限級(jí)別,系統(tǒng)分為高級(jí)管理員和普通管理員兩個(gè)級(jí)別。 ? 文檔類別類 (Category):存放文檔類別信息, id 是數(shù)據(jù)庫(kù)表中的主鍵,沒有實(shí)際意義。 parentId 是父類別的 id 值, hasChild 是否有孩子節(jié)點(diǎn),這兩個(gè)屬性可以實(shí)現(xiàn)類別樹形結(jié)構(gòu)的顯示。 state 表示類別的狀態(tài), 0 表示正在審核中, 1 表示通過(guò)審核并使用, 2 表示禁用。 ? 文檔類 (Vd):系統(tǒng)核心表,存放文檔信息, flag 標(biāo)識(shí)上傳者是用戶還是管理員, uploaderId 記錄上傳者 id, level 標(biāo)識(shí)文檔的保密級(jí)別。 ? 文件類 (File):記錄文件信息, vd_id 標(biāo)識(shí)所屬文檔。 ? 權(quán)限類 (Privilege):存放系統(tǒng)角色權(quán)限信息。 marker 記錄權(quán)限標(biāo)識(shí)字符,用于和系統(tǒng)角色權(quán)限匹配從而判斷是否有其權(quán)限。 selectM、 selectU、selectV 分別表示普通管理員、普通用戶。高級(jí)用戶是否有此權(quán)限, 0 表示沒有, 1 表示有。 ? 日志類 (Log):記錄日志信息。 adminName 記錄操作人員的姓名, content記錄操作明細(xì)。 ? 用戶類 (User)記錄用戶信息。 vip 表示是否是 vip, 1 表示是, 0 表示不是。 北京聯(lián)合大學(xué) 畢業(yè)設(shè)計(jì) 21 ? 評(píng)論類 (Comment):記錄文檔的評(píng)論信 息。 ? 表間關(guān)系:文檔表與文件時(shí)一對(duì)多關(guān)系,與文檔類別是多對(duì)一關(guān)系,與評(píng)論是一對(duì)多關(guān)系,與用戶是多對(duì)一關(guān)系,與管理員時(shí)多對(duì)一關(guān)系。 數(shù)據(jù)字典: 管理員表( admin) 字段名 數(shù)據(jù)類型 長(zhǎng)度 允許為空 主鍵 Id int 11 √ 1 管理員姓名 varchar 100 密碼 varchar 100 性別 int 1 varchar 1
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1