- 軟件工程與測試技術(shù)
- 吳瓊等主編
- 7443字
- 2023-11-23 19:31:58
任務(wù)1.2 軟件生命周期與開發(fā)模型
【任務(wù)描述】
軟件工程是為了幫助解決軟件開發(fā)和生產(chǎn)中出現(xiàn)的各種問題,那么軟件開發(fā)的過程是怎樣的?其中有哪些關(guān)鍵事項(xiàng)和要素?
【知識儲備】
一、軟件生命周期
軟件生命周期由軟件定義、軟件開發(fā)和軟件使用與維護(hù)3個(gè)時(shí)期組成,每個(gè)時(shí)期又進(jìn)一步劃分成若干個(gè)階段。
軟件定義時(shí)期分成3個(gè)階段,即問題定義、可行性研究和需求分析。軟件定義時(shí)期的任務(wù)是:確定軟件開發(fā)工程必須完成的目標(biāo);確定工程的可行性;確定實(shí)現(xiàn)工程目標(biāo)應(yīng)該采用的策略及系統(tǒng)必須完成的功能;估計(jì)完成該項(xiàng)工程需要的資源和成本,并且制定工程進(jìn)度表。這個(gè)時(shí)期的工作通常又稱為系統(tǒng)分析,由系統(tǒng)分析員或擔(dān)負(fù)相關(guān)職責(zé)的人員完成。
軟件開發(fā)時(shí)期由4個(gè)階段組成:總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和軟件測試。其中前兩個(gè)階段又稱為系統(tǒng)設(shè)計(jì),后兩個(gè)階段又稱為系統(tǒng)實(shí)現(xiàn)。
軟件使用與維護(hù)時(shí)期由3個(gè)階段組成:軟件發(fā)布、軟件維護(hù)與軟件退役。
下面簡要介紹軟件生命周期每個(gè)階段的基本任務(wù)。
(1)問題定義
問題定義階段必須回答的關(guān)鍵問題是:“要解決的問題是什么?”如果不知道問題是什么就去解決這個(gè)問題,顯然最終得出的結(jié)果很可能是缺乏針對性的。盡管確切地定義問題的必要性是十分明顯的,但是在實(shí)踐中它卻可能是最容易被忽視的一個(gè)步驟。
(2)可行性研究
這個(gè)階段要回答的關(guān)鍵問題是:“對于上一個(gè)階段所確定的問題有行得通的解決辦法嗎?”可行性研究階段的任務(wù)不是具體解決問題,而是研究問題的范圍及解決它的必要性,探索這個(gè)問題是否值得去解,是否有可行的解決辦法。
可行性研究的結(jié)果是用戶決定是否繼續(xù)進(jìn)行這項(xiàng)工程的重要依據(jù),一般說來,只有投資可能取得較大效益的或必須實(shí)施的工程項(xiàng)目才會(huì)繼續(xù)進(jìn)行下去。可行性研究需要確定以后的哪些階段將需要投入更多的人力和物力。如果通過可行性研究,拒絕或停止了一些不值得投資的工程項(xiàng)目,這也是可行性研究必要性的體現(xiàn)。
(3)需求分析
這個(gè)階段的任務(wù)是準(zhǔn)確地確定“為了解決這個(gè)問題,目標(biāo)系統(tǒng)必須做什么”,主要是確定目標(biāo)系統(tǒng)必須具備哪些功能。
通常的情況是,用戶了解他們所面對的問題,知道需要做什么,但是常常不能完整準(zhǔn)確地表達(dá)出他們的要求,更不知道怎樣利用計(jì)算機(jī)來解決他們的問題。軟件開發(fā)人員知道怎樣用軟件實(shí)現(xiàn)人們的要求,但是對特定用戶的具體要求并不完全清楚。用戶覺得理所當(dāng)然的事項(xiàng)或步驟,開發(fā)人員根本不知道、不了解;或者反過來,開發(fā)人員認(rèn)為非常重要的問題,用戶覺得沒有必要……因此,系統(tǒng)分析員在需求分析階段必須和用戶密切配合,充分交流信息,以得出經(jīng)過用戶確認(rèn)的系統(tǒng)邏輯模型。通常用數(shù)據(jù)流圖、數(shù)據(jù)字典或簡要的算法表示系統(tǒng)的邏輯模型。
在需求分析階段確定的系統(tǒng)邏輯模型是以后設(shè)計(jì)和實(shí)現(xiàn)目標(biāo)系統(tǒng)的基礎(chǔ),因此必須準(zhǔn)確完整地體現(xiàn)用戶的要求。這個(gè)階段的一項(xiàng)重要任務(wù)就是,用正式文檔準(zhǔn)確地記錄對目標(biāo)系統(tǒng)的需求,這份文檔通常稱為“規(guī)格說明書”。
(4)總體設(shè)計(jì)
這個(gè)階段必須回答的關(guān)鍵問題是:“概括地說,應(yīng)該怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)?”總體設(shè)計(jì)又稱為概要設(shè)計(jì)。
首先,應(yīng)該設(shè)計(jì)幾種可能的方案來實(shí)現(xiàn)目標(biāo)系統(tǒng)。通常至少應(yīng)該設(shè)計(jì)出低成本、中等成本和高成本3種方案。軟件工程師應(yīng)使用適當(dāng)?shù)墓ぞ呙枋雒糠N方案,分析每種方案的優(yōu)缺點(diǎn),并在充分權(quán)衡各種方案的優(yōu)缺點(diǎn)的基礎(chǔ)上,推薦一個(gè)“最佳”方案。此外,還應(yīng)該制定出實(shí)現(xiàn)最佳方案的詳細(xì)計(jì)劃。如果用戶接受所推薦的方案,則進(jìn)入下一步。
上述設(shè)計(jì)工作確定了解決問題的策略及目標(biāo)系統(tǒng)中應(yīng)包含的程序,但是,怎樣設(shè)計(jì)需要的程序呢?軟件設(shè)計(jì)的一條基本原理就是,程序應(yīng)該模塊化,也就是說,一個(gè)程序應(yīng)該由若干個(gè)規(guī)模適中的模塊按合理的層次結(jié)構(gòu)組合而成。因此,總體設(shè)計(jì)的另一項(xiàng)主要任務(wù)是,設(shè)計(jì)程序的體系結(jié)構(gòu),也就是確定程序由哪些模塊組成以及各模塊之間的關(guān)系。
(5)詳細(xì)設(shè)計(jì)
總體設(shè)計(jì)階段以比較抽象或概括的方式提出了解決問題的辦法。詳細(xì)設(shè)計(jì)階段的任務(wù)就是把方案具體化,也就是回答下面這個(gè)關(guān)鍵問題:“應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)呢?”
這個(gè)階段的任務(wù)還不是編寫程序,而是設(shè)計(jì)出程序的詳細(xì)規(guī)格說明書。這種規(guī)格說明書的作用類似于建筑工程領(lǐng)域中的工程藍(lán)圖,它們應(yīng)該包含必要的細(xì)節(jié),程序員可以根據(jù)它們寫出實(shí)際的程序代碼。
詳細(xì)設(shè)計(jì)也稱為模塊設(shè)計(jì),在這個(gè)階段將詳細(xì)地設(shè)計(jì)每個(gè)模塊,確定實(shí)現(xiàn)模塊功能所需要的算法和數(shù)據(jù)結(jié)構(gòu)。
(6)編碼
這個(gè)階段的關(guān)鍵任務(wù)是寫出正確的、容易理解的、易于維護(hù)的程序模塊。程序員應(yīng)該根據(jù)目標(biāo)系統(tǒng)的目標(biāo)和實(shí)際環(huán)境,選取一種適當(dāng)?shù)母呒壋绦蛟O(shè)計(jì)語言,把詳細(xì)設(shè)計(jì)的結(jié)果翻譯成用選定的語言編寫的程序,并且仔細(xì)測試這些程序。
(7)軟件測試
這個(gè)階段的關(guān)鍵任務(wù)是,通過各種類型的測試使軟件達(dá)到預(yù)先的要求。
軟件測試階段分為單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試和驗(yàn)收測試。單元測試是對最小可測試單元進(jìn)行測試,其目的是檢驗(yàn)軟件基本組成部分(即單元)的正確性。集成測試是將程序模塊(或單元)采用適當(dāng)?shù)募刹呗越M裝起來,對系統(tǒng)的接口及集成后的功能進(jìn)行正確性檢測的測試工作。集成測試主要目的是,檢查軟件單位之間的接口是否正確。確認(rèn)測試是驗(yàn)證被測軟件是否滿足需求規(guī)格說明書列出的需求,目的是驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。系統(tǒng)測試是將硬件、軟件、操作人員看作一個(gè)整體,檢驗(yàn)它是否有不符合系統(tǒng)規(guī)格說明書的地方,這種測試可以發(fā)現(xiàn)系統(tǒng)分析和設(shè)計(jì)中的錯(cuò)誤。驗(yàn)收測試則是按照需求規(guī)格說明書的規(guī)定對目標(biāo)系統(tǒng)進(jìn)行驗(yàn)收,保證用戶對所交付的系統(tǒng)的滿意。
(8)軟件發(fā)布
通過驗(yàn)收測試后,可以進(jìn)行軟件的發(fā)布,開發(fā)、測試、運(yùn)營、市場、銷售等相關(guān)部門要聯(lián)合發(fā)布產(chǎn)品的“說明書”和“產(chǎn)品介紹”,說明本次發(fā)布中包含或者新增的功能特性。
(9)軟件維護(hù)
維護(hù)階段的關(guān)鍵任務(wù)是,通過各種必要的維護(hù)活動(dòng)使系統(tǒng)持久地滿足用戶的需要。
通常有4類維護(hù)活動(dòng):改正性維護(hù),也就是診斷和改正在使用過程中發(fā)現(xiàn)的軟件錯(cuò)誤;適應(yīng)性維護(hù),即修改軟件以適應(yīng)環(huán)境的變化;完善性維護(hù),即根據(jù)用戶的要求改進(jìn)或擴(kuò)充軟件使它更完善;預(yù)防性維護(hù),為將來的維護(hù)活動(dòng)預(yù)先做好準(zhǔn)備。每一項(xiàng)維護(hù)活動(dòng)都應(yīng)該準(zhǔn)確地記錄下來,作為正式的文檔資料加以保存。
(10)軟件退役
軟件不再適應(yīng)市場需求,軟件退役。
以上根據(jù)應(yīng)該完成的任務(wù)的性質(zhì),把“軟件生命周期”劃分成10個(gè)階段。在實(shí)際的軟件開發(fā)工作中,軟件規(guī)模、種類、開發(fā)環(huán)境及開發(fā)時(shí)使用的技術(shù)方法等因素,都可能影響階段的劃分。事實(shí)上,承擔(dān)的軟件項(xiàng)目不同,應(yīng)該完成的任務(wù)也有差異,沒有一個(gè)適用于所有軟件項(xiàng)目的任務(wù)集合。例如,適用于大型復(fù)雜項(xiàng)目的任務(wù)集合,對于小型簡單項(xiàng)目而言往往就過于復(fù)雜了。
二、開發(fā)模型
軟件開發(fā)模型是指軟件項(xiàng)目從需求定義直至軟件經(jīng)使用后廢棄為止,跨越整個(gè)生存周期的系統(tǒng)開發(fā)、運(yùn)作和維護(hù)所實(shí)施的全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。軟件開發(fā)模型又稱軟件生命周期模型。軟件生命周期模型規(guī)定了把軟件生命周期劃分成哪些階段及各個(gè)階段的執(zhí)行順序,因此,也稱為過程模型。
軟件開發(fā)模型的幾種類型:以軟件需求完全確定為基礎(chǔ)的瀑布模型;在開發(fā)初期僅給出基本需求的漸進(jìn)式模型,如V模型、原型模型、增量模型等。下面介紹4個(gè)常用的模型。
1.瀑布模型
瀑布模型是將軟件生命周期的各項(xiàng)活動(dòng)劃分為按固定順序執(zhí)行的若干個(gè)階段,其過程形如瀑布流水,如圖1.2所示,故此得名。

圖1.2 瀑布模型
瀑布模型是最早出現(xiàn)的軟件開發(fā)模型,在軟件工程中占有重要的地位,它提供了軟件開發(fā)的基本框架。其執(zhí)行過程是,將上一階段活動(dòng)的結(jié)果作為下一階段活動(dòng)的輸入,完成相應(yīng)的工作后再作為輸出,傳遞給下一階段。同時(shí),在本階段中,要評價(jià)上一個(gè)階段完成的活動(dòng),若得到確認(rèn),則進(jìn)行本階段的活動(dòng);否則返回上一階段,甚至返回至更早的階段。
瀑布模型的優(yōu)點(diǎn)是,簡單、直接、方便,為軟件開發(fā)和維護(hù)提供了一種有效的管理模式,對保證軟件質(zhì)量可以起到重要作用。當(dāng)然,瀑布模型也有缺點(diǎn),瀑布模型缺乏靈活性,對開發(fā)過程中很難發(fā)現(xiàn)的錯(cuò)誤,只有在最終產(chǎn)品運(yùn)行時(shí)才能暴露出來,從而加大了軟件產(chǎn)品的修改與維護(hù)難度。
2.V模型
V模型也是廣為人知的測試模型,如圖1.3所示。典型的V模型會(huì)在其開始部分對軟件開發(fā)過程進(jìn)行描述,其開發(fā)和測試采用分級的層次式結(jié)構(gòu),它非常明確地定義了測試的不同級別,清晰地展示了軟件開發(fā)與測試之間的關(guān)系。
V模型優(yōu)點(diǎn)是,既有底層測試又有高層測試,將開發(fā)階段清楚地表現(xiàn)出來,便于控制開發(fā)的過程。V模型缺點(diǎn)是,僅僅把測試過程作為在需求分析、系統(tǒng)設(shè)計(jì)及編碼之后的一個(gè)階段,忽視了測試對需求分析、系統(tǒng)設(shè)計(jì)的驗(yàn)證,如果開發(fā)有問題,可能要等到后期的測試時(shí)才被發(fā)現(xiàn)。

圖1.3 V模型
3.原型模型
原型是快速實(shí)現(xiàn)和運(yùn)行的早期版本(或說簡版),它能反映最終系統(tǒng)部分重要特性,如圖1.4所示。

圖1.4 原型模型
原型模型的優(yōu)點(diǎn)是,可以減少設(shè)計(jì)中的錯(cuò)誤和開發(fā)中的風(fēng)險(xiǎn),減少了對用戶培訓(xùn)的時(shí)間,提高了系統(tǒng)的實(shí)用、正確性以及用戶的滿意程度;縮短了開發(fā)周期,加快了工程進(jìn)度;可以降低成本。原型模型的缺點(diǎn)是,開發(fā)者為了使一個(gè)原型快速運(yùn)行起來,往往在實(shí)現(xiàn)過程中采用這種手段——不能將原型系統(tǒng)作為最終產(chǎn)品,即原型與最終版本相差較大。
4.增量模型
增量模型融合了瀑布模型的基本成分和原型模型實(shí)現(xiàn)的迭代特征,但與原型實(shí)現(xiàn)不一樣的是,其強(qiáng)調(diào)每一個(gè)增量均發(fā)布一個(gè)可操作產(chǎn)品,如圖1.5所示。早期的增量是最終產(chǎn)品的“可拆卸”版本,但提供了為用戶服務(wù)的功能,并且為用戶提供了評估的平臺。

圖1.5 增量模型
增量模型的優(yōu)點(diǎn)是,人員分配靈活,剛開始不用投入大量人力。如果核心產(chǎn)品很受歡迎,則可增加人力實(shí)現(xiàn)下一個(gè)增量版本。這樣,既可先發(fā)布部分功能版本給用戶,也能夠有計(jì)劃地管理風(fēng)險(xiǎn)。增量模型的缺點(diǎn)是,這種開發(fā)模型對開發(fā)人員技術(shù)能力要求較高,還要求能從系統(tǒng)整體出發(fā)正確劃分增量構(gòu)件,并進(jìn)行分別開發(fā),最后能很好地集成這些構(gòu)件。
【案例】
開發(fā)模型的選擇
假設(shè)你是一家軟件公司的項(xiàng)目負(fù)責(zé)人,你的工作是管理該公司已被廣泛應(yīng)用的通用軟件產(chǎn)品的新版本開發(fā)。由于市場競爭激烈,公司規(guī)定了嚴(yán)格的完成期限并已對外公布。你打算選用哪種軟件開發(fā)模型?為什么?
【解答】:開發(fā)的時(shí)候選用增量模型。原因:舊版本相當(dāng)于一個(gè)原型,通過收集用戶對舊版本的反饋,較容易確定新版本的需求;公司的軟件工程師對通用軟件產(chǎn)品比較熟悉,具有采用增量模型開發(fā)新版軟件所需要的技術(shù)能力;該軟件受到廣大用戶的喜愛,今后還可能開發(fā)更高的版本。
【任務(wù)實(shí)施】
根據(jù)軟件生命周期原理,規(guī)劃圖書管理系統(tǒng)
根據(jù)軟件生命周期的原理,將圖書管理系統(tǒng)分為系統(tǒng)規(guī)劃、需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)施、系統(tǒng)測試、系統(tǒng)運(yùn)行與維護(hù)6個(gè)階段。
(1)系統(tǒng)規(guī)劃
系統(tǒng)規(guī)劃階段的任務(wù)是新系統(tǒng)的使用環(huán)境、現(xiàn)行系統(tǒng)的狀況等進(jìn)行調(diào)研,根據(jù)用戶的目標(biāo)和規(guī)劃,研究新系統(tǒng)的必要性和可行性。并在這個(gè)階段給出備選方案,進(jìn)行可行性研究,寫出可行性研究報(bào)告。待可行性研究報(bào)告評審?fù)ㄟ^后,編制“系統(tǒng)計(jì)劃書”。
(2)需求分析
當(dāng)“系統(tǒng)計(jì)劃書”完成之后,軟件項(xiàng)目就進(jìn)入了軟件需求分析階段。需要從功能、性能、兼容性、安全性等多個(gè)方面進(jìn)行需求分析。
圖書管理系統(tǒng)的功能需求主要包括以下3個(gè)方面:借閱者能夠借閱和歸還書籍;圖書管理員能夠處理借閱者的借閱和還書請求;系統(tǒng)管理員可以對系統(tǒng)的數(shù)據(jù)進(jìn)行維護(hù),如增加、刪除和更新圖書信息,增加、刪除和更新借閱者信息等。
性能需求包括系統(tǒng)的功能性、兼容性、安全性和可擴(kuò)展性方面的需求;當(dāng)管理員執(zhí)行增加、刪除等操作時(shí),數(shù)據(jù)庫響應(yīng)時(shí)間要求在2秒之內(nèi);系統(tǒng)要有可擴(kuò)展性,當(dāng)出現(xiàn)新的需求時(shí),能將其納入系統(tǒng),而不必改變原有的系統(tǒng)結(jié)構(gòu);系統(tǒng)必須貼近實(shí)際的應(yīng)用流程,盡量符合用戶的操作習(xí)慣、方便操作并提高管理效率;還應(yīng)考慮到不同操作者的計(jì)算機(jī)水平不同,在系統(tǒng)的設(shè)計(jì)時(shí)要注重易用性,使大多數(shù)的用戶都可以使用系統(tǒng)。
圖書管理系統(tǒng)的兼容性需求包括在不同的操作系統(tǒng)、不同的網(wǎng)絡(luò)瀏覽器和不同的分辨率下能正常運(yùn)行。
圖書管理系統(tǒng)的安全性需求,系統(tǒng)必須建立完備的安全機(jī)制,保證用戶身份的合法性,避免出現(xiàn)越權(quán)操作情況。同時(shí),要防止計(jì)算機(jī)病毒以及黑客的網(wǎng)絡(luò)攻擊,系統(tǒng)必須有備份和防火墻等方面的措施,以提高系統(tǒng)的安全性。
(3)系統(tǒng)設(shè)計(jì)
系統(tǒng)設(shè)計(jì)的原則是界面美觀友好,信息查詢簡單、方便,數(shù)據(jù)存儲安全、可靠。圖書管理系統(tǒng)在面向?qū)ο蠓治龅幕A(chǔ)上,根據(jù)用戶對系統(tǒng)功能和操作使用方面的需求及運(yùn)行環(huán)境等方面進(jìn)行設(shè)計(jì)。除此之外,數(shù)據(jù)庫的設(shè)計(jì)是系統(tǒng)設(shè)計(jì)的一個(gè)關(guān)鍵步驟。
(4)系統(tǒng)實(shí)施
系統(tǒng)實(shí)施階段在系統(tǒng)規(guī)劃的基礎(chǔ)上確定整個(gè)系統(tǒng)結(jié)構(gòu)中各個(gè)組成部分的具體內(nèi)容,完成應(yīng)用系統(tǒng)的編碼。圖書管理系統(tǒng)基于Java及SQL Server數(shù)據(jù)庫進(jìn)行開發(fā),在具體開發(fā)中,依據(jù)系統(tǒng)設(shè)計(jì)階段的劃分情況,完成各模塊代碼。
(5)系統(tǒng)測試
圖書管理系統(tǒng)測試,主要從功能測試、接口測試、用戶界面測試、安全性測試等方面進(jìn)行。
功能測試,使用黑盒測試中的等價(jià)類劃分、邊界值測試、錯(cuò)誤推斷等方法,測試該圖書管理系統(tǒng)是否能實(shí)現(xiàn)借書、還書、管理用戶等基本功能。
接口測試包括外部接口(用戶接口和程序接口)和內(nèi)部接口測試。例如,用戶接口部分測試可視化窗口;程序接口部分測試與JDBC與SQL數(shù)據(jù)庫的連接;內(nèi)部接口部分測試各個(gè)功能模塊之間的接口(登錄、查詢、更新等)。對接口進(jìn)行測試的目的是,驗(yàn)證接口的功能,及時(shí)發(fā)現(xiàn)接口的缺陷,保證圖書館管理系統(tǒng)功能的正確性。
用戶界面測試,檢查顯示界面元素的文字是否正確;檢測窗口切換、移動(dòng)、改變大小等功能是否正常;各種界面元素的有效、無效、選中等狀態(tài)是否正確等。
安全性測試檢查系統(tǒng)對非法侵入的防范能力。安全性測試檢測圖書館管理系統(tǒng)能否抵御各種的危險(xiǎn),從而保證系統(tǒng)的各項(xiàng)安全。
(6)系統(tǒng)運(yùn)行與維護(hù)
系統(tǒng)投入運(yùn)行使用后,要重點(diǎn)做好系統(tǒng)的維護(hù)。可以從病毒和黑客攻擊的防范、數(shù)據(jù)備份、權(quán)限管理與維護(hù)、硬件維護(hù)等方面進(jìn)行系統(tǒng)維護(hù)。
【任務(wù)拓展】
圖書管理系統(tǒng)數(shù)據(jù)庫開發(fā)
按照數(shù)據(jù)庫設(shè)計(jì)的方法,考慮到數(shù)據(jù)庫及其應(yīng)用系統(tǒng)開發(fā)的全過程,圖書管理系統(tǒng)數(shù)據(jù)庫開發(fā)分為6個(gè)階段。
(1)需求分析
需求分析是在完成用戶調(diào)查工作的基礎(chǔ)上,分析調(diào)查數(shù)據(jù),逐步明確用戶對系統(tǒng)的需求,包括數(shù)據(jù)需求和圍繞這些數(shù)據(jù)的業(yè)務(wù)處理需求,得到用數(shù)據(jù)字典描述的數(shù)據(jù)需求,用數(shù)據(jù)流圖描述的處理需求,形成需求說明書。
(2)概念結(jié)構(gòu)設(shè)計(jì)
在需求說明書的基礎(chǔ)上,對數(shù)據(jù)庫管理系統(tǒng)的需求形成一個(gè)獨(dú)立于具體數(shù)據(jù)庫管理系統(tǒng)的概念模型,用E-R圖表示。
(3)邏輯結(jié)構(gòu)設(shè)計(jì)
將概念結(jié)構(gòu)轉(zhuǎn)換為數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型,并對其進(jìn)行優(yōu)化。對于圖書管理系統(tǒng)數(shù)據(jù)庫,選擇關(guān)系型數(shù)據(jù)庫管理系統(tǒng),即將E-R圖轉(zhuǎn)成關(guān)系模式。
(4)物理結(jié)構(gòu)設(shè)計(jì)
為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu),包括文件類型、索引結(jié)構(gòu)、存儲結(jié)構(gòu)、存取方法和存取路徑等。
(5)數(shù)據(jù)庫實(shí)施
根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫,編制并調(diào)試應(yīng)用程序,將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫,并進(jìn)行試運(yùn)行。
(6)數(shù)據(jù)庫運(yùn)行和維護(hù)
數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運(yùn)行并測試合格后,即可進(jìn)入正式運(yùn)行階段。在數(shù)據(jù)庫系統(tǒng)運(yùn)行過程中需要連續(xù)地對其進(jìn)行評價(jià)、調(diào)整與修改。
【知識鏈接】
網(wǎng)站開發(fā)生命周期
(1)需求分析
目標(biāo)定位:做這個(gè)網(wǎng)站干什么?這個(gè)網(wǎng)站的主要職能是什么?網(wǎng)站的用戶對象是誰?用戶使用網(wǎng)站做些什么?
用戶分析:網(wǎng)站用戶的主要特點(diǎn)是什么?他們需要什么?如何針對他們的需求特點(diǎn)引導(dǎo)他們?如何為他們做好服務(wù)?
市場前景:網(wǎng)站如同一個(gè)企業(yè),它需要能養(yǎng)活自己。這是前提,否則任何目標(biāo)都是虛的。應(yīng)當(dāng)明確網(wǎng)站與市場的結(jié)合點(diǎn)在哪里?
(2)平臺規(guī)劃
內(nèi)容策劃:這個(gè)網(wǎng)站要經(jīng)營哪些內(nèi)容?其中分重點(diǎn)、主要內(nèi)容和輔助性內(nèi)容,這些內(nèi)容在網(wǎng)站中具有各自的體現(xiàn)形式。內(nèi)容劃分好以后,可進(jìn)行文字策劃,把每個(gè)類別內(nèi)容包裝成欄目。
界面策劃:結(jié)合網(wǎng)站的主題進(jìn)行風(fēng)格策劃。如為不同的功能區(qū)定義色彩,例如主色調(diào)、輔助色調(diào)、突出顯示色調(diào)等,版式設(shè)計(jì)應(yīng)包括全局版式、導(dǎo)航欄、核心區(qū)、內(nèi)容區(qū)、廣告區(qū)、細(xì)部板塊及版權(quán)告知區(qū)等。
網(wǎng)站功能:主要是管理功能和用戶功能。管理功能是我們通常說的后臺管理,關(guān)鍵是要使管理更方便、更快捷、更加智能化。而用戶功能就是用戶可以進(jìn)行的操作,這涉及交互設(shè)計(jì),它是人和網(wǎng)站對話的接口,非常重要。
(3)項(xiàng)目開發(fā)
界面設(shè)計(jì):根據(jù)界面策劃的原則,對網(wǎng)站界面進(jìn)行設(shè)計(jì)和完善。
程序設(shè)計(jì):根據(jù)網(wǎng)站功能規(guī)劃進(jìn)行數(shù)據(jù)庫設(shè)計(jì)和代碼編寫。
系統(tǒng)整合:將程序與界面結(jié)合,并進(jìn)行功能性調(diào)試。
(4)測試驗(yàn)收
項(xiàng)目人員測試:請項(xiàng)目經(jīng)理、監(jiān)察員及項(xiàng)目開發(fā)人員共同參加,根據(jù)前期規(guī)劃對項(xiàng)目進(jìn)行測試和檢驗(yàn)。
非項(xiàng)目人員測試:邀請非項(xiàng)目參與人員作為不同的用戶角色對平臺進(jìn)行使用性測試。
公開測試:網(wǎng)站開通,并接受網(wǎng)友的使用測試,設(shè)立反饋信息渠道,收集意見和建議信息,針對平臺存在的不足進(jìn)行思考和完善。
(5)運(yùn)行維護(hù)
跟蹤網(wǎng)站運(yùn)行情況,要保證瀏覽者能夠正常的瀏覽網(wǎng)站,對網(wǎng)站的內(nèi)容、特定的頁面或重要頁面進(jìn)行維護(hù)與更新。
【課后閱讀】
C/S架構(gòu)與B/S架構(gòu)
軟件開發(fā)的整體架構(gòu)主要分為C/S(Client/Server)架構(gòu)與B/S(Browser/Server)架構(gòu),C/S架構(gòu)與B/S架構(gòu)都可以進(jìn)行同樣的業(yè)務(wù)處理,甚至也可以用相似的方式實(shí)現(xiàn)共同的邏輯。
一、C/S架構(gòu)
C/S架構(gòu)是一種典型的兩層架構(gòu),即客戶端/服務(wù)器端架構(gòu),其客戶端包含一個(gè)或多個(gè)在用戶計(jì)算機(jī)上運(yùn)行的程序,而服務(wù)器端有兩種,一種是數(shù)據(jù)庫服務(wù)器端,客戶端通過數(shù)據(jù)庫連接訪問服務(wù)器端的數(shù)據(jù);另一種是Socket服務(wù)器端,服務(wù)器端的程序通過Socket協(xié)議與客戶端的程序通信。
C/S架構(gòu)的優(yōu)點(diǎn)如下:
(1)C/S架構(gòu)的界面和操作可以很豐富。
(2)安全性可以很容易保證,實(shí)現(xiàn)多層認(rèn)證也不難。
(3)由于只有一層交互,因此響應(yīng)速度較快。
C/S架構(gòu)也有一些缺點(diǎn),具體表現(xiàn)如以下:
(1)適用面窄,通常用于局域網(wǎng)中。
(2)用戶群固定。由于程序需要安裝才可使用,因此不適合偶爾使用系統(tǒng)的用戶。
(3)維護(hù)成本高,一旦客戶端程序升級,則所有客戶端程序都需要同時(shí)進(jìn)行升級。
二、B/S架構(gòu)
B/S架構(gòu)是指瀏覽器/服務(wù)器結(jié)構(gòu)。在技術(shù)上,它是一種三層架構(gòu)——Web瀏覽器、Web服務(wù)器端和數(shù)據(jù)庫服務(wù)器端。
B/S架構(gòu)的優(yōu)點(diǎn)如下:
(1)客戶端無須安裝特定軟件,有Web瀏覽器即可。
(2)B/S架構(gòu)可以直接放在廣域網(wǎng)或互聯(lián)網(wǎng)上,通過一定的權(quán)限控制實(shí)現(xiàn)眾多客戶端的多并發(fā)訪問,其交互性和方便性均較強(qiáng)。
(3)系統(tǒng)升級時(shí),無須升級Web瀏覽器,僅升級Web服務(wù)器端或數(shù)據(jù)庫服務(wù)器端即可。
B/S架構(gòu)也有一些缺點(diǎn),具體表現(xiàn)如下:
(1)在跨瀏覽器運(yùn)行時(shí),B/S架構(gòu)的表現(xiàn)不佳。
(2)在速度和安全性上,需要花費(fèi)軟大的設(shè)計(jì)成本,這是B/S架構(gòu)的最大問題。
(3)客戶端/服務(wù)器端的交互方式是一種“請求—響應(yīng)”模式,經(jīng)常需要刷新頁面。
- 圖案設(shè)計(jì)
- 公路運(yùn)輸管理實(shí)務(wù)(微課版)
- PADS 9.5電路設(shè)計(jì)與仿真從入門到精通
- 公差配合與測量技術(shù)(第2版)
- 國際運(yùn)輸貨物保險(xiǎn)(第三版)
- 現(xiàn)代物流基礎(chǔ):理論 案例 實(shí)訓(xùn)(微課版 第2版)
- 班組長實(shí)戰(zhàn)操作手冊:從理論到實(shí)戰(zhàn)
- 社交禮儀(第二版)
- 光伏發(fā)電工程技術(shù)(第2版)
- 現(xiàn)代商品學(xué)
- 高職應(yīng)用文寫作
- 證券投資基金基礎(chǔ)知識考點(diǎn)歸納與真題詳解
- 財(cái)務(wù)報(bào)表解讀與證券投資分析
- 素質(zhì)核心基礎(chǔ)知識
- 實(shí)用紡織染技術(shù)