版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、一、軟件模塊MVC實現(xiàn)1.1軟件項目是由模塊組成1.1.1軟件是由其模塊組成在軟件開發(fā)中,最終需要生產(chǎn)出“軟件”產(chǎn)品。但開發(fā)出的“軟件”是由功 能“模塊”組成。根據(jù)定義,所謂的軟件“模塊(module)”是在程序設(shè)計中,為完成某一相 對獨立功能所需的一段程序或子程序;也可以指是某大型軟件系統(tǒng)的一部分。前面我們編寫的“用戶管理”,我們編寫了用戶信息的“列表查詢”功能, 那么“列表查詢”是用戶管理軟件的一個功能模塊。如果我們對“用戶”信息進 行管理,還需要有:“新增用戶信息”、“修改用戶信息”、“刪除用戶信息”操作。 那么,“新增用戶信息”、“修改用戶信息”、“刪除用戶信息”均是“用戶管理” 的模
2、塊,也稱功能模塊。我們可以用軟件功能模塊結(jié)構(gòu)圖表示它們的關(guān)系。例如, “用戶信息管理”的模塊組成由下圖所示,該圖不但表示了其功能模塊的組成, 而且表示了其模塊結(jié)構(gòu)的設(shè)計。圖1用戶信息管理的功能“模塊”組成結(jié)構(gòu)1.1.2軟件項目開發(fā)是以模塊為單位進行我們在軟件開發(fā)時,或者在編碼時,不是無序地進行的,往往是以模塊為單 位進行的。例如:用戶信息管理包括:新增用戶信息、修改用戶信息、刪除用戶信息、 查詢用戶信息等模塊。我們在程序編碼時,就分別對它們一個一個進行。【案例1-1】完整實現(xiàn)“用戶信息管理”模塊中新增、修改、刪除、查詢功 能,并使它們在一個統(tǒng)一界面中操作。根據(jù)分析與設(shè)計,“用戶信息管理”中有新
3、增用戶信息、修改用戶信息、刪 除用戶信息、查詢用戶信息子模塊。每一個模塊有自己的操作界面、自己的訪問數(shù)據(jù)庫操作方法、還有自己的控 制器,然后將它們通過主界面集成起來。這樣就完成了該案例要求的軟件功能模 塊的開發(fā)。在主界面上,對各個子模塊的操作鏈接進行布局,用戶操作后再返回到該主 界面。而每個模塊分為界面、邏輯處理、控制器組成,分別由JSP、Javabean、 Servlet 實現(xiàn)。1.1.3 “用戶信息管理”程序結(jié)構(gòu)簡介在對軟件進行設(shè)計時,如果以“程序”的觀點進行組織與管理則程序會非常 多、類型也不同,與應(yīng)用業(yè)務(wù)的關(guān)系不緊密,所以管理起來非常困難。但在開發(fā) 軟件時,要克服“以程序為單位”的編程
4、思想,而要“以模塊為單位”進行開發(fā); 即先劃分模塊,然后再將每個模塊分解成不同的程序文件,則會比較有秩序。例如:用戶信息管理包括:新增用戶信息、修改用戶信息、刪除用戶信息、 查詢用戶信息等模塊,則程序文件以這些模塊分為不同的類型。用戶信息管理本身是一個模塊,而其又是由子“功能模塊”組成,而各模塊 又是由多個程序文件組成。而每個功能模塊又是由:界面、邏輯處理的Java類、 Servlet組成。這三個部分分別表示:視圖、模型、控制。視圖表示:用戶看到的 界面;模型表示:業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)規(guī)則;而控制表示:接受用戶的輸入并調(diào)用模 型和視圖去完成用戶的需求?,F(xiàn)在,將一個軟件“模塊”,分解為:視圖、模型、控
5、制器來分別編碼,是 一種廣泛流行與應(yīng)用的設(shè)計模式,即:MVC設(shè)計模式(Model-View-Controller, Model-模型,View-視圖,Controller-控制器)。1.2基于MVC設(shè)計模式軟件開發(fā)概述1.2.1 MVC設(shè)計模式概述所謂的設(shè)計模式是一套被反復(fù)使用、成功的設(shè)計總結(jié)與提煉。而MVC設(shè)計 模式是將軟件的代碼分為M、V、C三層來實現(xiàn)的一種設(shè)計方案。MVC全名是Model-View-Controller的縮寫,分別表示:M模型(Model)-V視 圖(View)-C控制器(Controller),它一種軟件設(shè)計典范。它采用業(yè)務(wù)邏輯和數(shù)據(jù) 顯示代碼分離的方法,并將業(yè)務(wù)邏輯處
6、理放到一個部件里面,而將界面、以及用 戶圍繞數(shù)據(jù)的展開的操作單獨被分離出來。MVC類似于傳統(tǒng)軟件開發(fā)中模塊的 輸入、處理和輸出功能,集成在一個圖形化用戶界面的結(jié)構(gòu)中。.視圖(View)視圖是用戶看到并與之交互的界面。對老式的Web用程序來說,視圖就是 由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演 著重要的角色,但一些新的技術(shù)已層出不窮,它們包括Adobe Flash和像XHTML、 XML、WML等一些標(biāo)識語言。JSP作為動態(tài)網(wǎng)頁常常充當(dāng)Web應(yīng)用的視圖。.模型(Model)模型表示業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個部件中,模型擁有最多的處 理任務(wù)。例如它可能封
7、裝數(shù)據(jù)庫連接、業(yè)務(wù)數(shù)據(jù)庫處理這樣的構(gòu)件,這樣一個模 型能為多個視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個視圖 重用,所以能提高代碼的重用性。模型一般用JavaBean技術(shù)實現(xiàn)。.控制器(Controller)控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求,所以當(dāng)單擊 Web頁面中的超鏈接和發(fā)送HTML表單時,控制器本身不輸出任何東西和做任何 處理。它只是接收請求并決定調(diào)用哪個模型構(gòu)件去處理請求,然后再確定用哪個 視圖來顯示返回的數(shù)據(jù)。1.2.2 MVC設(shè)計模式的優(yōu)缺點作為一種設(shè)計模式,MVC即有很多好處,但也有一些缺點。MVC的優(yōu)點MVC的優(yōu)點表現(xiàn)在:耦合性低、重用性高、可
8、維護性高、有利軟件工程化 管理等。MVC的缺點由于MVC內(nèi)部原理比較復(fù)雜,理解起來并不很容易。所以,在使用MVC時 需要精心的計劃、需花費一定時間去思考。所以,MVC有調(diào)試較困難、不利于中小型軟件的開發(fā)、增加系統(tǒng)結(jié)構(gòu)和實 現(xiàn)的復(fù)雜性等缺點。1.3軟件項目功能模塊分解與設(shè)計以一個學(xué)生管理系統(tǒng)軟件的開發(fā)為例,介紹軟件功能模塊的分解及實現(xiàn)。1.3.1學(xué)生管理系統(tǒng)軟件項目的開發(fā)某高校需要通過“學(xué)生管理軟件系統(tǒng)”對學(xué)生的相關(guān)信息進行計算機管理。 本章以該項目為引導(dǎo)案例,介紹軟件的一個模塊的MVC模式的開發(fā)。圍繞學(xué)生的信息有許多,包括:學(xué)生基本信息、學(xué)生學(xué)習(xí)信息等。而學(xué)生的 學(xué)習(xí)信息與教師信息、課程信息相
9、關(guān)聯(lián)。為了簡單起見,我們暫時以上述信息的 管理為主,介紹其功能的分解與實現(xiàn)。我們簡單地將該軟件分解為如下幾個模塊:1、學(xué)生信息管理2、教師信息管理3、課程信息管理4、學(xué)生成績管理為了說明用Jsp+Servlet+JavaBean技術(shù)實現(xiàn)MVC方式的開發(fā),我們以學(xué) 生信息管理”模塊的實現(xiàn)為案例進行MVC實現(xiàn)介紹。1.3.2功能模塊分解為了技術(shù)說明清楚,本項目實現(xiàn)的功能非常簡單。本軟件分解為四大模塊, 分別對教師信息、學(xué)生信息、課程信息、成績進行管理。而學(xué)生信息只包括:編 號、姓名、性別、班級、年齡、成績6個。圖2給出了該軟件的模塊結(jié)構(gòu)的分解與設(shè)計。圖2學(xué)生管理軟件模塊設(shè)計結(jié)構(gòu)圖模塊:教師信息管理
10、、學(xué)生信息管理、課程信息管理的實現(xiàn)技術(shù)基本相同, 下面只以一個模塊“學(xué)生信息管理”為例,介紹該模塊基于MVC的實現(xiàn)?!景咐?】對“學(xué)生信息管理”模塊進行MVC設(shè)計模式的程序編碼與功能 實現(xiàn)。并對該功能的軟件設(shè)計內(nèi)容進行表示。實現(xiàn)思路:本案例技術(shù)上與要求同案例1,但是學(xué)生信息比較多,包括:學(xué) 號、姓名、性別、班級、成績等。其功能子模塊可從圖3中可以看出,即“學(xué)生 信息管理”模塊包括如下子模塊:1)學(xué)生信息顯示,包括:單個學(xué)生信息顯示、學(xué)生信息列表顯示兩種2)學(xué)生信息新增3)學(xué)生信息修改4)學(xué)生信息刪除1.4模塊模型層的優(yōu)化上述案例2中模型層中所有的類均有一個共同點,即均是對學(xué)生信息的操 作,最終
11、落實到對同一數(shù)據(jù)庫表student的操作;其次,創(chuàng)建數(shù)據(jù)庫連接等數(shù)據(jù) 處理代碼相同,這些均可以放到一起共用,從而優(yōu)化模型的處理程序??梢圆桓淖円晥D層的情況下,對模型層進行優(yōu)化。即通過一個Java類存放 對數(shù)據(jù)庫表的增加、刪除、修改、查詢操作的方法,并且這些方法中的邏輯處理 代碼不需作任何改變。【案例3】優(yōu)化學(xué)生管理模塊,使其模型層的類均放在一個Java類程序文件 中。由于對“學(xué)生信息管理模塊”代碼這些程序代碼有許多共同的特征,則將它 們的方法合并到一個類中。這個類取名StudentModel.java,用以存放對學(xué)生信 息管理”相關(guān)的各處理方法。這樣,就使得程序代碼優(yōu)化簡潔,今后以此原則將 不
12、同的處理放到不同的模塊處理模型中,整個程序結(jié)構(gòu)比較合理。二、軟件集成2.1問題的提出前面介紹了一個功能模塊的MVC實現(xiàn)。但是一個軟件是由許多模塊組成, 這些模塊在運行時可能互相交互,它們的關(guān)系有可能很復(fù)雜。如果我們沒有一個 好的操作界面與組織模式,那么這個軟件會很不好使用。另外,當(dāng)軟件的各個模塊開發(fā)好后,也需要將它們組裝在一起形成一個整體, 即完整的軟件的實現(xiàn)。這個工作就是軟件的集成或稱軟件的組裝。軟件的集成是 軟件開發(fā)的一個重要任務(wù)。2.1.1軟件項目的功能模塊分解模塊化原則是軟件設(shè)計的重要原則之一。也就是說,在軟件開發(fā)時一般要對 軟件進行模塊化。即在設(shè)計時,需先將軟件分解成不同的模塊,這些
13、模塊的功能 能構(gòu)成軟件的整體功能。然后在編碼時對這些模塊一個一個地實現(xiàn),最后通過集 成將它們組成這個完整軟件。模塊化體現(xiàn)了將大事化小,然后各個擊破的做事原則。例如,高校學(xué)生管理系統(tǒng)不但包括學(xué)生信息,還包括教師信息、課程信息和 學(xué)習(xí)成績信息。那么在該軟件的開發(fā)時就需要將它們分解為不同的模塊。這些模 塊構(gòu)成了學(xué)生管理系統(tǒng)(如圖1所示)。圖1學(xué)生管理系統(tǒng)模塊組成圖1中示意了一個軟件的模塊分解,分解后的模塊還可以如此分解下去,直 至程序員能理解如何做為止(見對學(xué)生信息管理的進一步分解)。如此對要開發(fā) 的軟件進行模塊分解,就是所謂的模塊化。軟件模塊化是軟件設(shè)計階段應(yīng)做的事 情。2.1.2軟件的模塊集成軟
14、件的模塊化是為了將大問題變成小問題然后一個一個去實現(xiàn)這些小問題。 軟件各功能模塊的分解完成后,就可以對這些模塊分別進行實現(xiàn)。這些模塊是相 對獨立的軟件,在實現(xiàn)過程中可以單獨進行編碼與單元測試。當(dāng)這些模塊編碼完成并通過單元測試后,就可以放在一起運行。這個過程就 是所謂的軟件集成。由于在軟件模塊的開發(fā)過程中,只是局部功能的實現(xiàn),它們在一起的相互操 作沒有運行過,只是在單元測試階段模擬了互相調(diào)用的測試,所以當(dāng)它們在一起 的時候是否能按設(shè)計要求運行,也需要進行集成后的測試。其實,最終軟件是要通過集成完整軟件的組裝,完成軟件的開發(fā)任務(wù)。21.3軟件集成相關(guān)技術(shù)工作如果軟件設(shè)計得好,集成時只要將軟件的各個
15、模塊代碼復(fù)制在一起,就完成 了集成工作。但是軟件集成是這么簡單嗎?軟件模塊在集成前,可能需要一些公共的軟件部件先部署好,即各個模塊的 一些共性的部分就需要先實現(xiàn)并在系統(tǒng)中支持各模塊的運行。比如:上述各模塊 可能均要對數(shù)據(jù)庫進行操作,那么獲取數(shù)據(jù)庫連接的處理,就可抽象處理作為一 個公共部件,先開發(fā)出來并部署好。如果每個模塊都有自己的數(shù)據(jù)庫連接獲取的 處理代碼,這樣既增加了軟件的冗余度,也不利于今后代碼的閱讀與維護。所以,在軟件集成前,需要定義與部署軟件各模塊運行的技術(shù)支持,包括運 行互相調(diào)用的運行環(huán)境與底層的技術(shù)支持部件。這些部件提供了各個模塊的公共 系統(tǒng)部件,各個業(yè)務(wù)功能模塊在設(shè)計時在滿足了這
16、些公共部件的接口要求后,集 成時只要復(fù)制業(yè)務(wù)處理模塊的代碼(公共部分的代碼不需要復(fù)制),就完成了集 成工作??偨Y(jié)上述提到的技術(shù)工作,包括如下幾點:模塊運行的公共系統(tǒng)環(huán)境部件公共的底層技術(shù)支撐部件這些工作是在所謂的軟件架構(gòu)時進行考慮與設(shè)計的,所以又稱為軟件總體架 構(gòu)設(shè)計。在軟件架構(gòu)設(shè)計時,架構(gòu)師要考慮系統(tǒng)運行環(huán)境如何布局、采用何種技 術(shù)、與模塊的接口標(biāo)準(zhǔn),以及底層采用何種技術(shù)、底層技術(shù)的配置與實現(xiàn)等等。有了這些公共部件后,軟件各模塊按其要求進行編碼實現(xiàn),那么集成起來就 是一件簡單的事情。2.2軟件架構(gòu)簡介7.2.1以架構(gòu)為中心的開發(fā)方法軟件開發(fā)時先確定軟件架構(gòu),再基于該軟件架構(gòu)進行并行開發(fā),稱為
17、“以架 構(gòu)為中心的開發(fā)方法”。它綜合利用了 “分而治之”的方法,利于控制軟件復(fù)雜 性、提高軟件開發(fā)效率。所謂軟件架構(gòu)是一種高層設(shè)計,是系統(tǒng)開發(fā)策略的定義與選擇,是關(guān)于如何 構(gòu)建軟件的一些最重要的設(shè)計決策。這些決策往往是圍繞將系統(tǒng)分為哪些部分、 各部分之間是如何交互展開的等問題。軟件架構(gòu)是團隊開發(fā)的基礎(chǔ),有了軟件架 構(gòu),很多技術(shù)、標(biāo)準(zhǔn)都以確定,不會由于某個程序員的“即時”發(fā)揮而使軟件增 大后導(dǎo)致的不可控。軟件架構(gòu)是高層設(shè)計,而各個模塊的設(shè)計相對來說屬于底層設(shè)計,這些設(shè)計 需要在技術(shù)上對接。所以在軟件架構(gòu)時就需要考慮這些細(xì)節(jié),如各自做什么工作、 接口標(biāo)準(zhǔn)是什么、采用何種技術(shù)去實現(xiàn)等等。軟件架構(gòu)作為
18、高層設(shè)計,存在著到底設(shè)計到什么程度的問題。如果過多地限 定了底層的內(nèi)容,可能導(dǎo)致過度設(shè)計,不利于今后的開發(fā)。其實軟件架構(gòu)設(shè)計到 “能為開發(fā)人員提供足夠的指導(dǎo)和限制”的程度就可以。軟件的接口與實現(xiàn)的分離的選擇、架構(gòu)設(shè)計與底層詳細(xì)設(shè)計的分離程度的選 擇等,均是屬于架構(gòu)方面的問題。軟件架構(gòu)的優(yōu)勢在于,有了軟件架構(gòu)設(shè)計方案之后,確定了 “架構(gòu)中包含了 關(guān)于軟件各元素應(yīng)如何彼此相關(guān)等信息”,從而可以把不同模塊分配給不同的小 組進行分頭開發(fā)。而軟件架構(gòu)(其確定的設(shè)計方案)則在這些小組中間扮演“橋 梁”和“合作契約”的作用。每個小組的工作覆蓋了 “整個軟件的一部分”,各 小組之間可以互相獨立地進行并行工作,
19、從而實現(xiàn)了“分割問題,各個擊破”的 策略。穩(wěn)定的軟件架構(gòu)是未來軟件順利進行的基礎(chǔ)。以架構(gòu)為中心的開發(fā)有利于解 決技術(shù)復(fù)雜性與管理復(fù)雜性問題,所以它有利于大規(guī)模軟件的開發(fā)。2.2.2軟件架構(gòu)時的工作內(nèi)容根據(jù)軟件架構(gòu)的定義,軟件架構(gòu)是一種高層設(shè)計與決策。軟件架構(gòu)設(shè)計是解 決全局性的、涉及不同“局部問題”之間交互的設(shè)計問題。這些工作包括與整體 相關(guān)的那些內(nèi)容,如接口和實現(xiàn)分離的設(shè)計,表示層、模型層、控制層和數(shù)據(jù)層 的設(shè)計與技術(shù)選擇等。接口和實現(xiàn)分離的設(shè)計,是在架構(gòu)設(shè)計時無需深入到一個子系統(tǒng)的實現(xiàn)細(xì)節(jié) 中去,而是分而治之,先確定該子系統(tǒng)的接口。接口的設(shè)計是先定義了一個子系 統(tǒng)為其他子系統(tǒng)所提供服務(wù)的契
20、約。軟件架構(gòu)通過明確每個子系統(tǒng)所要實現(xiàn)的接 口及所要調(diào)用的接口,為我們展現(xiàn)了一個軟件系統(tǒng)如何分割為多個相互協(xié)作的子 系統(tǒng)。又例如,表示層、模型層、控制層和數(shù)據(jù)層的開發(fā)往往需要不同的技術(shù),不 但可以這些層分別分派給不同的小組承擔(dān),而且其選擇為各個局部模塊提供統(tǒng)一 的技術(shù)基礎(chǔ)平臺。例如:可以選擇JSP+Servlet+JavaBean技術(shù)實現(xiàn)MVC模式的 開發(fā),也可以選擇Struts2+Hibernate或采用Spring技術(shù)實現(xiàn)。這是軟件架構(gòu)時要 考慮與確定的。相對于架構(gòu)的全局性的設(shè)計,對于模塊的具體設(shè)計屬于“局部”的詳細(xì)設(shè)計。 它是在軟件架構(gòu)所提供的“合作契約”的指導(dǎo)之下,眾多局部問題被很好地
21、“按 問題廣度分而治之”地并行進行。而詳細(xì)設(shè)計針對每個部分的內(nèi)部進行設(shè)計。隨 著軟件開發(fā)的規(guī)模和復(fù)雜度增加,將架構(gòu)設(shè)計和詳細(xì)設(shè)計分離已成為普遍的做 法。設(shè)計和制定系統(tǒng)全局性整體結(jié)構(gòu)這類問題,這就是軟件架構(gòu)的設(shè)計。例如,介紹學(xué)生管理系統(tǒng)只是一個模塊的實現(xiàn),它的MVC技術(shù)、數(shù)據(jù)處理 層等屬于公共規(guī)范與內(nèi)容,它屬于軟件架構(gòu)的范疇;而各個模塊的實現(xiàn),只要在 此“契約規(guī)定”下,做好自己的JSP界面、模型層、控制器就可以了。另外,要使該模塊能在統(tǒng)一的環(huán)境下運行,還需要一個統(tǒng)一運行環(huán)境。2.3學(xué)生管理系統(tǒng)各模塊統(tǒng)一運行環(huán)境本章圖1所示的學(xué)生管理系統(tǒng)模塊組成包括:學(xué)生信息管理模塊、教師信息 管理模塊、課程信息
22、管理模塊和成績管理模塊。這些模塊的實現(xiàn)是可單獨實現(xiàn)與 運行的(見實現(xiàn))。但是,這些模塊開發(fā)成功后,需要在一個統(tǒng)一的界面中操作 與管理運行(見后圖7-3)。設(shè)計與開發(fā)一個各模塊統(tǒng)一的運行界面與環(huán)境也是軟件架構(gòu)的任務(wù),因為它 也是軟件全局性的工作。2.3.1統(tǒng)一運行界面的設(shè)計上述四個模塊(學(xué)生信息管理模塊、教師信息管理模塊、課程信息管理模塊 和成績管理模塊)均可以獨立運行(見“學(xué)生信息管理”模塊功能演示(a)(g), 其他模塊類似)。如果我們不改這些模塊的代碼,使得它們在一個統(tǒng)一的界面下 運行,則集成工作非常簡單(運行效果見圖3、圖4所示)。下面介紹統(tǒng)一運行 的主界面的設(shè)計與實現(xiàn)。1.主界面的設(shè)計
23、可以設(shè)計一個統(tǒng)一的學(xué)生管理系統(tǒng)的主界面,將所有的學(xué)生管理相關(guān)的功能 模塊在其中進行集中展現(xiàn),該主界面的設(shè)計格式如圖2所示。Logo 區(qū)標(biāo)頭區(qū)菜單導(dǎo)航區(qū)內(nèi)容區(qū)頁腳區(qū)圖2學(xué)生管理系統(tǒng)統(tǒng)一界面設(shè)計該統(tǒng)一主界面包括五個部分:Logo區(qū)、標(biāo)頭區(qū)、菜單導(dǎo)航區(qū)、內(nèi)容區(qū)、頁 腳區(qū)。其中菜單導(dǎo)航區(qū)是各個模塊的入口地址,即是調(diào)用各個功能模塊的菜單, 當(dāng)通過該菜單調(diào)用某個模塊后,則該模塊就在內(nèi)容區(qū)中運行(而不是獨立運行)。2 .學(xué)生管理系統(tǒng)主界面運行效果展示參考圖2實現(xiàn)的學(xué)生管理系統(tǒng)的統(tǒng)一運行主界面見圖3所示。為了簡單起見 在該主界面中有一個標(biāo)頭區(qū)、菜單導(dǎo)航區(qū)、內(nèi)容區(qū)、頁腳區(qū)四個區(qū)。其中菜單導(dǎo) 航區(qū)是該系統(tǒng)的四個模
24、塊的入口;而內(nèi)容區(qū)是各個模塊運行的界面。2.3.2統(tǒng)一運行界面的實現(xiàn)【案例1】設(shè)計學(xué)生管理系統(tǒng)各模塊的統(tǒng)一運行主界面,使學(xué)生管理系統(tǒng)四 大模塊(學(xué)生信息管理、教師信息管理、課程信息管理、成績管理)在其中以統(tǒng) 一的形式運行。首先分別實現(xiàn)各個模塊的程序代碼,每一個模塊均有一個URL入口,例如學(xué) 生信息管理模塊為一個servlet,其U RL為ListStudentServlet.do。則在主菜單的導(dǎo) 航區(qū)中對應(yīng)“學(xué)生管理”的入口為一個超鏈接: 學(xué)生管理同理,其他模塊的入口地址也是類似的超鏈接,從而實現(xiàn)了軟件各功能模塊 的集成。軟件的各功能模塊則可在此統(tǒng)一界面中操作運行。2.3.3在主界面中其他模塊
25、的集成已經(jīng)介紹過各模塊統(tǒng)一運行主界面的設(shè)計與實現(xiàn),也介紹了一個模塊“學(xué)生 信息管理”的實現(xiàn)及在主界面中的運行。那么,其他的模塊在主界面中集成與運 行是否也相同呢?答案是肯定的!即其他各模塊只要分別開發(fā)完成,將其程序文件復(fù)制到項目 工程中,在left.jsp中修改對應(yīng)菜單的超鏈接,則完成了其集成工作,該模塊就 可以在主界面中運行了。2.3.4軟件集成后程序的組織學(xué)生管理系統(tǒng)軟件組成包括學(xué)生信息管理模塊、教師信息管理模塊、課程信 息管理和成績管理模塊,以及公共架構(gòu)部件幾大部分。每個模塊又有MVC各個 層次,所以整個軟件按模塊以及按層次進行布局均是一種結(jié)構(gòu)性設(shè)計。-另 src+ 出 control+ 出 dbutil+ 由 entity+ 出 model-但 WebRoot+ 4 CSS+ & META-INFI-4 scorejsp尸 scoreinfo. jspII- g? student jspj, error.jspj,student insert. jspj,student
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年太陽能光伏組件高空清洗高空作業(yè)人員職業(yè)健康合同3篇
- 2024年標(biāo)準(zhǔn)化物流運輸保險協(xié)議模板版B版
- 學(xué)習(xí)評價體系標(biāo)準(zhǔn)化-洞察分析
- 云平臺腳本優(yōu)化-洞察分析
- 《H公司輸電線路巡檢作業(yè)調(diào)度方案優(yōu)化研究》
- 移動互聯(lián)網(wǎng)廣告效果評估體系研究-洞察分析
- 信息系統(tǒng)可持續(xù)發(fā)展策略-洞察分析
- 《商務(wù)日常事務(wù)管理》課件-第八章 參謀與信息調(diào)研工作
- 采購合同的分類方法及技巧解析3篇
- 采購合同的框架協(xié)議3篇
- 漢語詞匯與文化智慧樹知到期末考試答案章節(jié)答案2024年浙江師范大學(xué)
- 生物醫(yī)學(xué)研究的統(tǒng)計學(xué)方法課后習(xí)題答案 2014 主編 方積乾
- 100道湊十法練習(xí)習(xí)題(含答案)
- 加拿大礦業(yè)政策
- 歌曲簡譜國家成龍
- 客情關(guān)系的建立和維護
- 2022年合理使用抗生素試題
- Smith圓圖的Matlab實現(xiàn)及應(yīng)用
- 防止機組非計劃停運措施(鍋爐專業(yè))
- 如何同步同時接收老公老婆微信的實用教程
- 慕安德烈文集
評論
0/150
提交評論