【正文】
是不值一提。如果你肯接受 MVC,并且有能力應(yīng)付它所帶來(lái)的額外的工作和復(fù)雜性 , MVC 將會(huì)使你的軟件 在健壯性,代碼重用和結(jié)構(gòu)方面上一個(gè)新的臺(tái)階 。s request and return data, the last XX 大 學(xué)本科生畢業(yè)論文 controller to use the model to return to view format The data, said through a layer to the user. 2. Why should the use of MVC Most Web applications are as ASP, PHP, or CFML such a process to create the language. They will query the database like this kind of code and data layers such as HTML code that mixed layer. Rich experience of the developers of data from the layer that separated, but it usually is not very easy, it requires careful planning and ongoing attempts. MVC fundamentally mandatory to separate them. Although the structure MVC applications require some additional work, but it gives us the advantage of no doubt. First of。s needs. Therefore, when a Web page,click the hyperlink and send HTML form, the controller itself does not export anything and do anything to deal with. It is to receive the request and decided to call the ponent model which to deal with the request, and then used to determine which view to show the model to return to deal with. Now we sum up the MVC process, the first controller to receive the user39。 4. MVC 是一條創(chuàng)建軟件的好途徑 MVC 設(shè)計(jì)模式是 一個(gè)很好創(chuàng)建軟件的途徑,它所提倡的一些原則,像內(nèi)容和顯示互相分離可能比較好理解。一旦你的構(gòu)件經(jīng)過(guò)了測(cè)試,你就可以毫無(wú)顧忌的重用它們了。 XX 大 學(xué)本科生畢業(yè)論文 3. MVC 的缺點(diǎn) MVC 的缺點(diǎn)是由于它沒(méi)有明確的定義,所以完全理解 MVC 并不是很容易。一旦你正確的實(shí)現(xiàn)了模型,不管你的數(shù)據(jù)來(lái)自數(shù)據(jù)庫(kù)或是 LDAP 服務(wù)器,視圖將會(huì)正確的顯示它們。例如,很多數(shù)據(jù)可能用 HTML 來(lái)表示,但是它們也有可能要用 Macromedia Flash 和 WAP 來(lái)表示。 首先,最重要的一點(diǎn)是多個(gè)視圖能共享一個(gè)模型,正如我所提及的,現(xiàn)在需要用越來(lái)越多的方式來(lái)訪問(wèn)你的應(yīng)用程序。它們將像數(shù)據(jù)庫(kù)查詢語(yǔ)句這樣的數(shù)據(jù)層代碼和像 HTML 這樣的表示層代碼混在一起。所以當(dāng)單擊 Web 頁(yè)面中的超鏈接和發(fā)送 HTML 表單時(shí),控制器本身不輸出任何東西和做任何處理。例如它可能用象 EJBs 和 ColdFusion Components 這樣的構(gòu)件對(duì)象來(lái)處 理數(shù)據(jù)庫(kù)。 MVC 一個(gè)大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。使用 MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。 [9] 葛京 . Hibernate3 和 Java Peristence API 程序開(kāi)發(fā)從入門(mén)倒精通 . 清華大學(xué)出版社 .202010 [10] Vivek Chopra, Rupert .2020 其他資料 GB/T 938588 計(jì)算機(jī)軟件需求說(shuō)明編制指南 GB/T 938688 計(jì)算機(jī)軟件測(cè)試文件編制指南 GB/T 1250490 計(jì)算機(jī)軟件質(zhì)量保證計(jì)劃規(guī)范 GB/T 1439493 計(jì)算機(jī)軟件可靠性和可維護(hù)性管理 GB/T 1626096 信息技術(shù) 軟件產(chǎn)品評(píng)價(jià)質(zhì)量特性及其使用指南 GB/T 1553295 計(jì)算機(jī)軟件單元測(cè)試 XX 大 學(xué)本科生畢業(yè)論文 附錄 1 MVC 三層架構(gòu)設(shè)計(jì)模式 模型-視圖-控制器( MVC)是 Xerox PARC 在八十年代為編程語(yǔ)言 Smalltalk- 80發(fā)明的一種軟件設(shè)計(jì)模式,至今已被廣泛使用。 XX 大 學(xué)本科生畢業(yè)論文 致 謝 感謝本項(xiàng)目指導(dǎo)人李慧萍老師給予我的幫助, 以及班主任邢俊鳳的支持,感謝全體計(jì)算機(jī)科學(xué)與技術(shù)系的老師們,最后還有傳智播客的張孝祥老師,畢向東老師,黑馬的方立勛老師。 學(xué)生注冊(cè)信息界面 如圖 71 所示。 角色管理 為 admin所擁有。 登錄名。 查看:查看該模塊中的部門(mén)。 學(xué)生基本信息列表 XX 大 學(xué)本科生畢業(yè)論文 學(xué)生基本信息列表 查看學(xué)生基本信息表 查看學(xué)生基本信息表 刪除學(xué)生基本信息功能 XX 大 學(xué)本科生畢業(yè)論文 刪除學(xué)生基本信息功能 字段說(shuō)明: 學(xué)生信息: 學(xué)生姓名:必填項(xiàng) 學(xué)生性別:必填項(xiàng) 聯(lián)系方式:必填項(xiàng), 正確的手機(jī)位數(shù) 銀行賬號(hào):必填項(xiàng), 有效的銀行賬號(hào)、正確的位數(shù) 學(xué)生郵箱:必填項(xiàng) 學(xué)生所在班級(jí):必選項(xiàng),先選各個(gè)院系部、各個(gè)年級(jí) 現(xiàn)居住地:必選項(xiàng),先選擇街道辦,再 選擇該街道辦所屬社區(qū) 注冊(cè)日期:必填項(xiàng) 所在院系:選填項(xiàng) 操作說(shuō)明: 添加 /刪除 /修改 /查詢學(xué)生人員信息、添加 /刪除 /修改 /查詢各個(gè)院系部相關(guān)信息、添加 /刪除 /修改 /查詢各個(gè)院系部中的班級(jí)和年級(jí)信息、導(dǎo)出相關(guān) EXCEL表格 XX 大 學(xué)本科生畢業(yè)論文 權(quán)限模塊 部門(mén)管理 依據(jù)各個(gè)院系部的具體情況,添加各個(gè)系部到該模塊中,在前端的頁(yè)面會(huì)進(jìn)行顯示,從而可以在學(xué)生填寫(xiě)相關(guān)信息時(shí),選擇自己所屬的院系部。 系統(tǒng)主界面如圖 51 所示。 5. 應(yīng)用程序 的性能需求,設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)必須利用 mysql 中能夠提高性能的功能。 數(shù)據(jù)庫(kù)的詳細(xì)設(shè)計(jì) XX 大 學(xué)本科生畢業(yè)論文 在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),應(yīng)考慮以下事項(xiàng): 1. 數(shù)據(jù)庫(kù) 的用途及該用途將如何影響設(shè)計(jì),應(yīng)創(chuàng)建符合用途的數(shù)據(jù)庫(kù)計(jì)劃。 在為實(shí)體確定相關(guān)的屬性過(guò)程中,也需要確定此實(shí)體的主鍵和索引,并且要確定在每個(gè)實(shí)體中怎樣組織這些屬性,確定屬性的數(shù)據(jù)類型和它是否為空值。 數(shù)據(jù)分析 數(shù)據(jù)分析過(guò)程同數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)密切相關(guān),需要確定、編制、組織、篩 選應(yīng)用程序所使用的信息。 數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)該和應(yīng)用系統(tǒng)設(shè)計(jì)相結(jié)合,也就是說(shuō),整個(gè)設(shè) 計(jì)過(guò)程中要把結(jié)構(gòu)(數(shù)據(jù))設(shè)計(jì)和行為(處理)設(shè)計(jì)密切結(jié)合起來(lái)??梢哉f(shuō),此模塊的工作效率決定了本系統(tǒng)整體的性能。 2. 學(xué)生宿舍管理模塊 針對(duì)高校宿舍的相關(guān)情況進(jìn)行管理,由于在本次系統(tǒng)開(kāi)發(fā)中沒(méi)有涉及到該模塊的相關(guān)要求,在完成的時(shí)候只是做了全面的接口,今后如果有更進(jìn)一步的需求,直接按照編碼的要求進(jìn)行相關(guān)模塊接口的實(shí)現(xiàn)即可。 系統(tǒng)結(jié)構(gòu)特點(diǎn) (1)采用簡(jiǎn)單易用的操作界面,用戶可以在使用的同時(shí)獲得實(shí)時(shí)幫助。 2. 將數(shù)據(jù)保存到遠(yuǎn)端的服務(wù)器中 。這樣,也能提供系統(tǒng)的強(qiáng)壯性。 對(duì)于輸入的數(shù)據(jù),要為其定義完整性規(guī)則,如果不能符合完整性約束,系統(tǒng)應(yīng)該拒絕該數(shù)據(jù)。 ( 2)數(shù)據(jù)的安全性 本系統(tǒng)為學(xué)生管理部門(mén)設(shè)計(jì),因此只有特定的學(xué)生管理者才有資格對(duì)數(shù)據(jù)實(shí)現(xiàn)增,刪,改,查等操作。 數(shù)據(jù)需求 ( 1)數(shù)據(jù)錄入和處理的準(zhǔn)確性和實(shí)時(shí)性 數(shù)據(jù)的輸入是否準(zhǔn)確是數(shù)據(jù)處理的前提,錯(cuò)誤的輸入會(huì)導(dǎo)致系統(tǒng)輸?shù)牟徽_和不可用,從而使 系統(tǒng)的工作失去意義。對(duì)于以上的信息錄入與修改刪除等操作都只能在學(xué)生信息管理員,教師,以及班主任那里得到執(zhí)行。 XX 大 學(xué)本科生畢業(yè)論文 圖 21 學(xué)生信息管理系統(tǒng)的 ER圖 硬件要求: 運(yùn)行環(huán)境硬件配置 硬件 配置 處理器 Intel( R) T2390 l內(nèi)存 1G 硬盤(pán)空間 160G XX 大 學(xué)本科生畢業(yè)論文 需求分析 設(shè)計(jì)目標(biāo) 開(kāi)發(fā)的系統(tǒng)是一個(gè)單機(jī)版的學(xué)生信息管理系統(tǒng)。 [2] 用戶 應(yīng)用程序 根據(jù)外模式 進(jìn)行數(shù)據(jù)操作,通過(guò)外模式 模式映射,定義和建立某個(gè)外模式與模式間的對(duì)應(yīng)關(guān)系,將外模式與模式聯(lián)系起來(lái),當(dāng)模式發(fā)生改變時(shí),只要改變其映射,就可以使外模式保持不變,對(duì)應(yīng)的應(yīng)用程序也可保持不變;另一方面,通過(guò)模式 內(nèi)模式映射,定義建立數(shù)據(jù)的邏輯結(jié)構(gòu) (模式 )與存儲(chǔ)結(jié)構(gòu) (內(nèi)模式 )間的對(duì)應(yīng)關(guān)系,當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)發(fā)生變化時(shí),只需改變模式 內(nèi)模式映射,就能保持模式不變,因此應(yīng)用程序也可以保持不變。內(nèi)模式由內(nèi)模式描述語(yǔ)言來(lái)描述、定義,它是數(shù)據(jù)庫(kù)的存儲(chǔ)觀。外模式是從模式導(dǎo)出的一個(gè)子集,包含模式中允許特定用戶使用的那部分?jǐn)?shù)據(jù)。它是由 數(shù)據(jù)庫(kù)設(shè)計(jì)者綜合所有用戶的數(shù)據(jù),按照統(tǒng)一的觀點(diǎn)構(gòu)造的全局邏輯結(jié)構(gòu),是對(duì)數(shù)據(jù)庫(kù)中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的總體描述,是所有用戶的公共數(shù)據(jù)視圖 (全局視圖 )。 用戶級(jí)對(duì)應(yīng)外模式,概念級(jí)對(duì)應(yīng)模式,物理級(jí)對(duì)應(yīng)內(nèi)模式,使不同級(jí)別的用戶對(duì)數(shù)據(jù)庫(kù)形成不同的視圖。 :在 java 中,定義為類類型的變量實(shí)際上并不保存對(duì)象數(shù)據(jù),只是用來(lái)標(biāo)示一個(gè)實(shí)際對(duì)象。 : 在應(yīng)用領(lǐng)域中有意義的、與所要解決的問(wèn)題有關(guān)系的任何事物都可以作為對(duì)象,它既可以使具體的物理實(shí)體的抽象,也可以使人為的概念,或者是人和有明確邊界和意義的東西。它表示對(duì)現(xiàn)實(shí)生活中一類具有共同特征的事物的 抽象 ,是 面向?qū)ο缶幊?的基礎(chǔ)。 Java 程序需要的類能夠動(dòng)態(tài)地被載入到運(yùn)行環(huán)境,也可以通過(guò)網(wǎng)絡(luò)來(lái)載入所需要的類。線程的活動(dòng)由一組方法來(lái)控制。 Java 語(yǔ)言是多線程的。在運(yùn)行時(shí), Java 平臺(tái)中的 Java 解釋器對(duì)這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過(guò)程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。 這種可移植性來(lái)源于體系結(jié)構(gòu)中立性,另外,Java 還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類型的長(zhǎng)度。 XX 大 學(xué)本科生畢業(yè)論文 Java 語(yǔ)言是體系結(jié)構(gòu)中立的。Java 的安全檢查機(jī)制使得 Java 更具健壯性。 Java 的 RMI(遠(yuǎn)程方法激活 )機(jī)制也是開(kāi)發(fā)分布式應(yīng)用的重要手段。 Java 語(yǔ)言全面支持動(dòng)態(tài)綁定,而 C++ 語(yǔ)言只對(duì)虛函數(shù)使用動(dòng)態(tài)綁定。另一方面, Java 丟棄了C++ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類型轉(zhuǎn)換。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了 MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。這樣就增加了XX 大 學(xué)本科生畢業(yè)論文 速度并提高了靈活性。 2. Mysql : MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典 MySQL AB公司。reg。 這種平等和一致性并不僅限于 Java 開(kāi)發(fā)工具。幸運(yùn)的是, Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開(kāi)發(fā)工具( Java Development Kit, JDK)。在這個(gè)階段將對(duì)單個(gè)功能點(diǎn)采取黑盒測(cè)試和白盒測(cè)試兩種方法來(lái)對(duì)功能點(diǎn)進(jìn)行測(cè)試,在單個(gè)功能點(diǎn)測(cè)試結(jié)束之后將對(duì)每個(gè)子系統(tǒng)進(jìn)行單元測(cè)試,一級(jí)最后的聯(lián)調(diào)測(cè)試和壓力測(cè)試。 3. 系統(tǒng)詳細(xì)設(shè)計(jì) 系統(tǒng)詳細(xì)設(shè)計(jì)階段的根本目的是確定應(yīng)該怎么樣具體實(shí)現(xiàn)所要求的系統(tǒng)。只有在確定了這些需要后他們才能夠分析和尋求新系統(tǒng)的解決方法 。先介紹一下軟件開(kāi)發(fā)的基本步驟。主要在于 JSP 以腳本語(yǔ)言的形式存在, 它的主要優(yōu)勢(shì)是進(jìn)行動(dòng)態(tài)數(shù)據(jù)的 Web 展示,而 Servlet 是一個(gè)完整的 Java 程序,進(jìn)行業(yè)務(wù)的調(diào)用和流程的處理是它的長(zhǎng)處。同時(shí)可以方便地進(jìn)行客戶端的個(gè)性化定制。 Browse 瀏覽器 Web 服務(wù)器 數(shù)據(jù)庫(kù) XX 大 學(xué)本科生畢業(yè)論文 圖 12 應(yīng)用服務(wù)器之上采用 MVC 開(kāi)發(fā)的邏輯示意圖 圖 13 MVC 業(yè)務(wù)流程示意圖 通過(guò)這種方案,我們可以迅速地實(shí)現(xiàn)整個(gè)業(yè)務(wù),其優(yōu)勢(shì)和特點(diǎn)如下: Model(模型)層:由 EJB 組件來(lái)實(shí)現(xiàn), EJB 將具體的業(yè)務(wù)封裝在組件內(nèi)部,具備安全、高性能、可重用等優(yōu)秀的特征。同時(shí)系統(tǒng)也不具備可擴(kuò)展性,當(dāng)我們要在現(xiàn)有業(yè)務(wù) 上進(jìn)行擴(kuò)展的時(shí)候,通常無(wú)法借助于現(xiàn)有的資源和應(yīng)用,而只能夠重新編寫(xiě),大大增加了投資,延長(zhǎng)了系統(tǒng)上線的時(shí)間,失去了競(jìng)爭(zhēng)市場(chǎng)的優(yōu)勢(shì)。由于客戶機(jī)把事務(wù)