基于UML和ASP[1]NET實(shí)現(xiàn)三層BS結(jié)構(gòu)系統(tǒng)開(kāi)發(fā)_第1頁(yè)
基于UML和ASP[1]NET實(shí)現(xiàn)三層BS結(jié)構(gòu)系統(tǒng)開(kāi)發(fā)_第2頁(yè)
基于UML和ASP[1]NET實(shí)現(xiàn)三層BS結(jié)構(gòu)系統(tǒng)開(kāi)發(fā)_第3頁(yè)
基于UML和ASP[1]NET實(shí)現(xiàn)三層BS結(jié)構(gòu)系統(tǒng)開(kāi)發(fā)_第4頁(yè)
基于UML和ASP[1]NET實(shí)現(xiàn)三層BS結(jié)構(gòu)系統(tǒng)開(kāi)發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于uml和asp. net實(shí)現(xiàn)三層b/s結(jié)構(gòu)系統(tǒng)開(kāi)發(fā)摘 要 進(jìn)行良好的系統(tǒng)分析和設(shè)計(jì)是軟件項(xiàng)目開(kāi)發(fā)的關(guān)鍵,構(gòu)架設(shè)計(jì)的合理與否往往決 定了項(xiàng)目的成敗。本文結(jié)合一個(gè)項(xiàng)冃的開(kāi)發(fā),闡述了基于uml的系統(tǒng)建模過(guò)程和基于asp. net實(shí)現(xiàn)血向?qū)ο蟮娜龑咏Y(jié)構(gòu)應(yīng)用系統(tǒng)的方法。關(guān)鍵詞asp.net:三層結(jié)構(gòu);uml建模;系統(tǒng)開(kāi)發(fā)架構(gòu)設(shè)計(jì)是軟件開(kāi)發(fā)的基礎(chǔ),并往往決定一個(gè)項(xiàng)目的成敗。三層結(jié)構(gòu)是目前流行的架構(gòu)設(shè)計(jì)模式,它 是在由buschmann等提出的“層模式”基礎(chǔ)上發(fā)展起來(lái)的,由表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層三個(gè)層 次結(jié)構(gòu)組成。它通過(guò)分解來(lái)管理問(wèn)題的復(fù)朵性,同時(shí)還可以有效地重復(fù)使用業(yè)務(wù)邏輯并保留與昂貴資源 (

2、如數(shù)據(jù)庫(kù))的重要連接基t asp.net能夠充分發(fā)揮其完全面向?qū)ο蟮募夹g(shù)特點(diǎn),實(shí)現(xiàn)三層結(jié)構(gòu)b/s系統(tǒng)架構(gòu),從而提高開(kāi)發(fā) 效率,增強(qiáng)系統(tǒng)的可維護(hù)性和擴(kuò)展性。本文結(jié)合一個(gè)“學(xué)生成績(jī)管理系統(tǒng)”的開(kāi)發(fā),研究如何基于uml進(jìn) 行三層b/s結(jié)構(gòu)的系統(tǒng)建模,及其在asp.net下的應(yīng)用實(shí)現(xiàn)。1三層結(jié)構(gòu)系統(tǒng)模型架構(gòu)設(shè)計(jì)是非常高級(jí)的設(shè)計(jì),也是系統(tǒng)設(shè)計(jì)的關(guān)鍵,主要是定義和說(shuō)明包(子系統(tǒng)),以及包與包之 間的相互依賴(lài)與通信機(jī)制。系統(tǒng)構(gòu)架模型的合理與否將決定系統(tǒng)的可維護(hù)性、擴(kuò)展性和開(kāi)發(fā)效率。包通常所需要處理的是要么是-個(gè)具體的功能區(qū)域(業(yè)務(wù)邏輯),要么是一個(gè)具體的技術(shù)區(qū)域(技術(shù)邏 輯)。業(yè)務(wù)邏輯主要考慮的是對(duì)系統(tǒng)業(yè)務(wù)

3、功能的實(shí)現(xiàn),而技術(shù)邏輯則是進(jìn)一步考慮用戶(hù)界面、數(shù)據(jù)庫(kù) 或 通信機(jī)制等形成的技術(shù)方案。把技術(shù)邏輯和業(yè)務(wù)邏輯區(qū)分開(kāi)來(lái)是極其重要的,這是為了當(dāng)修改程序的某 一部分時(shí)不會(huì)對(duì)另一部分產(chǎn)生影響,更加便于進(jìn)行“復(fù)用”,同時(shí)易于應(yīng)對(duì)來(lái)自業(yè)務(wù)邏輯的變更需求。三層結(jié)構(gòu)是一種成熟、簡(jiǎn)單并得到普遍應(yīng)用的應(yīng)用程序架構(gòu),它將應(yīng)用程序結(jié)構(gòu)劃分三層獨(dú)立的包,包 括用戶(hù)表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層。英中將實(shí)現(xiàn)人機(jī)界面的所冇表單和組件放在表示層,將所冇業(yè) 務(wù)規(guī)則和邏輯的實(shí)現(xiàn)封裝在負(fù)責(zé)業(yè)務(wù)邏輯組件中,將所冇和數(shù)據(jù)庫(kù)的交互封裝在數(shù)據(jù)訪問(wèn)組件中。其結(jié)構(gòu) 如下圖1所示:表示層業(yè)務(wù)邏輯層數(shù)據(jù)訪問(wèn)層數(shù)據(jù)庫(kù)中團(tuán)論文聯(lián)盟 www. iwlm.

4、-com用戶(hù)界面包業(yè)務(wù)邏輯包數(shù)據(jù)訪問(wèn)包圖1三層結(jié)構(gòu)示意圖三層結(jié)構(gòu)是一種嚴(yán)格分層方法,即數(shù)據(jù)訪問(wèn)層只能被業(yè)務(wù)邏輯層訪問(wèn),業(yè)務(wù)邏輯層只能被表示層訪問(wèn), 用戶(hù)通過(guò)表示層將請(qǐng)求傳送給業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯層完成相關(guān)業(yè)務(wù)規(guī)則和邏輯,并通過(guò)數(shù)據(jù)訪問(wèn)層訪問(wèn) 數(shù)據(jù)庫(kù)獲得數(shù)據(jù),然后按照相反的順序依次返冋將數(shù)據(jù)顯示在表示層。2三層b/s結(jié)構(gòu)的學(xué)生管理系統(tǒng)開(kāi)發(fā)下血通過(guò)一個(gè)學(xué)生管理系統(tǒng)的開(kāi)發(fā),說(shuō)明三層b/s結(jié)構(gòu)系統(tǒng)從uml建模到基于asp.net進(jìn)行實(shí)現(xiàn)的 完整開(kāi)發(fā)過(guò)程,uml建模工具采用的是rational rose.2.1需求分析軟件需求分析是系統(tǒng)開(kāi)發(fā)的第一步也是故重要的一個(gè)環(huán)節(jié),英基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)做什么

5、? ”這 個(gè)問(wèn)題,這需要在對(duì)用戶(hù)需求進(jìn)行充分調(diào)研的基礎(chǔ)上,深入理解并描述出軟件的功能、性能、接口等方面 的需求,可以使用uml建模作為需求分析和系統(tǒng)設(shè)計(jì)的冇效方法。分析的目的是為了獲得和描述系統(tǒng)中所有的要求,因此分析階段是一種典型的與用戶(hù)或客戶(hù)合作的過(guò) 程,通常由開(kāi)發(fā)人員同用戶(hù)或客戶(hù)共同完成。在這個(gè)階段,開(kāi)發(fā)人員不應(yīng)該考慮代碼或程序?qū)崿F(xiàn)的細(xì)節(jié), 而應(yīng)該把精力放在對(duì)現(xiàn)冇業(yè)務(wù)邏輯的理解上,通過(guò)與用戶(hù)之間的充分溝通,逐步理解并描述出得到用戶(hù)確 認(rèn)的系統(tǒng)模型,包括用例模型和領(lǐng)域(domain,系統(tǒng)中關(guān)鍵的類(lèi))模型。2.1.1用例模型軟件開(kāi)發(fā)人員在對(duì)用戶(hù)進(jìn)行需求調(diào)研的過(guò)程屮,用戶(hù)往往并不能立即準(zhǔn)確描述出

6、未來(lái)系統(tǒng)應(yīng)該提供一些 什么樣的功能。因此,需要開(kāi)發(fā)人員理解和分析需求,并將系統(tǒng)應(yīng)該具冇的功能通過(guò)用例圖直觀的描述出 來(lái),方便用戶(hù)理解并做出評(píng)判,開(kāi)發(fā)人員從而可以根據(jù)用戶(hù)的反饋不斷調(diào)整用例模型,直至完全正確、充 分描述淸楚系統(tǒng)功能。用例建模主要是分離出系統(tǒng)的活動(dòng)參少者(actor)和用例(use case),用例是指對(duì)系統(tǒng)提供的功能的一種 描述,而活動(dòng)參與者是那些可能使用這些用例的人或外部系統(tǒng),通過(guò)用例圖可以描述出系統(tǒng)外部的執(zhí)行者、 系統(tǒng)的用例,以及它們之間的聯(lián)系。本學(xué)生管理系統(tǒng)的用例圖見(jiàn)圖2。用例模型還需要進(jìn)一步對(duì)每個(gè)用例進(jìn)行詳細(xì)描述,進(jìn)一步說(shuō)明用例的名稱(chēng)、基木事件流和備選事件流、前 置條件和

7、后置條件等,并形成文檔。限于篇幅,這里就不多說(shuō)了。班級(jí)管理登錄系統(tǒng)學(xué)期管理用尸系統(tǒng)管理員查詢(xún)統(tǒng)計(jì)賓礎(chǔ)數(shù)據(jù)管理課程管理教務(wù)管理員學(xué)生管理成績(jī)管理成績(jī)一覽表用戶(hù)管理丿半&主匚史電於文聯(lián)盟成績(jī)com圖2用例圖2.1.2領(lǐng)域建模分析過(guò)程中還耍詳細(xì)地列舉領(lǐng)域(domain ,系統(tǒng)中關(guān)鍵的類(lèi)),為了進(jìn)行領(lǐng)域分析,需耍充分理解用 例模型,也可以與用八及領(lǐng)域?qū)<医M織-次集體研討會(huì)談,嘗試找出所有必須處理的關(guān)鍵概念以及它們z 間的相互關(guān)系,并最終分析出域類(lèi)圖。下圖3為木系統(tǒng)的域類(lèi)圖。需耍強(qiáng)調(diào)的是:在木階段,對(duì)領(lǐng)域進(jìn)行分析的類(lèi)圖還是處于“草圖”狀態(tài)。定義的操作和屬性不是最后的 版本,只是在本階段看來(lái)比較合

8、適。后期將通過(guò)動(dòng)態(tài)行為分析不斷得出新的操作,這是一個(gè)逐步完善和發(fā) 展的過(guò)程。2.2系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)的目的是產(chǎn)生一個(gè)可用的、完整的解決方案,并且能夠比較容易地將方案轉(zhuǎn)換成程序代碼。這 個(gè)階段在三層結(jié)構(gòu)的架構(gòu)設(shè)計(jì)模型基礎(chǔ)上,將考慮所冇的實(shí)現(xiàn)技術(shù)問(wèn)題,對(duì)分析階段的模型進(jìn)行擴(kuò)展和細(xì) 化,分析階段定義的類(lèi)進(jìn)一步擴(kuò)充,定義新的類(lèi)來(lái)處理技術(shù)方面的問(wèn)題,并形成最后的uml模型。推動(dòng)不斷進(jìn)行詳細(xì)設(shè)計(jì)的方法是對(duì)每個(gè)用例進(jìn)行動(dòng)態(tài)建模,描述如何通過(guò)類(lèi)圖中的對(duì)象i辦作實(shí)現(xiàn)用例中 的功能,由于一開(kāi)始對(duì)系統(tǒng)的認(rèn)識(shí)是很不夠的,前面建立的類(lèi)往往隨著動(dòng)態(tài)建模的深入,發(fā)現(xiàn)存在缺陷或 不夠完整,需要對(duì)分析中得到的域類(lèi)圖進(jìn)行不斷修正和

9、調(diào)整,擴(kuò)展形成業(yè)務(wù)邏輯包。同時(shí),隨著對(duì)用戶(hù)界 面、數(shù)據(jù)庫(kù)訪問(wèn)等技術(shù)實(shí)現(xiàn)的深入建模,不斷建立新的用戶(hù)界面類(lèi)(如窗體、控件)和數(shù)據(jù)訪問(wèn)類(lèi),形成 用戶(hù)界面包和數(shù)據(jù)訪問(wèn)包。木學(xué)生登理系統(tǒng)經(jīng)過(guò)詳細(xì)設(shè)計(jì)后,在域類(lèi)圖基礎(chǔ)上進(jìn)行擴(kuò)展后形成的業(yè)務(wù)邏輯包類(lèi)圖如卜-圖4所示。圖3域類(lèi)圖圖4業(yè)務(wù)邏輯包類(lèi)圖新建立的數(shù)據(jù)訪問(wèn)包類(lèi)圖如下圖5所示。所有的數(shù)據(jù)訪問(wèn)類(lèi)都定義了一個(gè)基類(lèi)dbcommon, 該基類(lèi)包含屬性dbconnectionstring,通過(guò)該屬性可以獲得數(shù)據(jù)庫(kù)連接字符串。還包括一 個(gè)方法getdataview,可以實(shí)現(xiàn)在數(shù)據(jù)庫(kù)中執(zhí)行查詢(xún)獲得一個(gè)dataview<.這些屬性和方 法被所有的數(shù)據(jù)訪問(wèn)類(lèi)繼承,可

10、以直接使用。圖5數(shù)據(jù)訪問(wèn)包關(guān)于用戶(hù)界面包的類(lèi)圖比較簡(jiǎn)單,主要是通過(guò)界面設(shè)計(jì),設(shè)計(jì)出窗體及控件等界面元素,并根據(jù)動(dòng)態(tài)建 模時(shí)需耍涉及的用戶(hù)界面訪問(wèn)動(dòng)作,定義所引起的相關(guān)事件,這些方曲都在窗體類(lèi)中進(jìn)行定義,并組成用 戶(hù)界面包,這里就不詳細(xì)介紹。動(dòng)態(tài)建模通常采用的方法是使用uml中的吋序圖描述用例,一個(gè)吋序圖針對(duì)某個(gè)用例中的-個(gè)“場(chǎng)景” 進(jìn)行分析。所謂“場(chǎng)景”是指一個(gè)用例屮事件發(fā)展的一條路線(xiàn)。根據(jù)活動(dòng)參與者的不同輸入或行為,通 常一個(gè)用例會(huì)有多個(gè)“場(chǎng)景”,也就需要分析出多個(gè)時(shí)序圖。通過(guò)時(shí)序圖描述一個(gè)場(chǎng)景中各個(gè)對(duì)彖之間所進(jìn) 行的通信,同時(shí)可以分析出系統(tǒng)中相應(yīng)的類(lèi)需要具備的操作,從而不斷擴(kuò)充和細(xì)化類(lèi)的設(shè)

11、計(jì)。如果需要進(jìn) 一步描述類(lèi)的狀態(tài)變化情況和操作流程,可以使用uml中的狀態(tài)圖和活動(dòng)圖。x:用戶(hù)web loginformbusinessrule :usersdat aaccess:usersdb1: btnlogin clickg2 喙昌用戶(hù)登錄信息<1:3: logi“(string, string);<1:5: cfif. cklogin(string, qtring)6:<8:創(chuàng)建身份驗(yàn)證票9: 顯示歡迎信息<中國(guó)論文聯(lián)盟圖6登錄場(chǎng)景動(dòng)態(tài)建模時(shí)產(chǎn)生的時(shí)序圖較多,這里無(wú)法一一闡述。圖6給出了登錄系統(tǒng)場(chǎng)景的時(shí)序圖,在用戶(hù)界面包 屮定義了一個(gè)loginform類(lèi),其對(duì)

12、應(yīng)的web窗體為用戶(hù)登錄窗體頁(yè)面login.aspx,圖6描述了在該窗體 中實(shí)現(xiàn)用戶(hù)登錄的場(chǎng)景。2.3基于asp.net的系統(tǒng)實(shí)現(xiàn)前面系統(tǒng)設(shè)計(jì)動(dòng)態(tài)模型時(shí),通過(guò)時(shí)序圖已經(jīng)對(duì)每個(gè)用例的各項(xiàng)功能所涉及的場(chǎng)景進(jìn)行了詳盡的描述,按 照時(shí)序圖的規(guī)定把每個(gè)用例都分別進(jìn)行編碼實(shí)現(xiàn)即可。下面結(jié)合學(xué)生貲理系統(tǒng)中的“甥錄系統(tǒng)”用例,介紹 基于asp.net進(jìn)行系統(tǒng)實(shí)現(xiàn)的方法。首先需要考慮分包,asp.net中包對(duì)應(yīng)的就是命名空間。在本學(xué)生管理系統(tǒng)中,規(guī)定業(yè)務(wù)邏輯包的命 名空間為resultmanage.businessrule.數(shù)據(jù)訪問(wèn)包的命名空間為resultmanage.dataaccess,而用戶(hù)界 面包的命

13、名空間為resultmanage.webo然后進(jìn)行業(yè)務(wù)邏輯包和數(shù)據(jù)訪問(wèn)包中相關(guān)類(lèi)的設(shè)計(jì),對(duì)于“登錄系統(tǒng)”用例,從上圖6的登錄場(chǎng)娥時(shí)序圖 中可以看出,相關(guān)的類(lèi)有業(yè)務(wù)邏輯包的users類(lèi)和數(shù)據(jù)訪問(wèn)包的usersdb類(lèi),分別對(duì)這些類(lèi)的屬性和方法進(jìn)行定義和實(shí)現(xiàn),并設(shè)計(jì)一些測(cè)試用例或測(cè)試程序?qū)ζ溥M(jìn)行單元測(cè)試。最后按照用戶(hù)界面包和上圖6的登錄場(chǎng)景時(shí)序圖小的規(guī)定,對(duì)用戶(hù)登錄窗體頁(yè)面login.aspx進(jìn)行設(shè)計(jì) 實(shí)現(xiàn),其實(shí)現(xiàn)登錄的代碼如下所示:private void btnlogin_click(object sender, system.eventargs e)獲得用戶(hù)登錄信息string usernam

14、e = txbusername.text;string password = txbpassword.text;tryif (users.login(username , password)檢查用戶(hù)登錄信息創(chuàng)建身份驗(yàn)證票formsauthentication.setauthcookie(username, false);/顯示歡迎信息showwelcomemessage(username);elsemessage.text ="用戶(hù)登錄失??!catch (sqlexception sqlexception)/提示數(shù)據(jù)庫(kù)操作錯(cuò)決信息resp on se.write(sqlexcepti

15、 on .message);代碼中對(duì)于業(yè)務(wù)的處理,通過(guò)調(diào)用業(yè)務(wù)邏輯包users類(lèi)的login方法實(shí)現(xiàn)登錄信息的檢查,其代碼如f:public static bool login(string username , string password)if (username ="")return false;else檢査數(shù)據(jù)庫(kù)中是否存在符合的用戶(hù)return usersdb.checklogin(username , password);上述users類(lèi)的login方法的代碼中,首先進(jìn)行業(yè)務(wù)邏輯檢查,判斷用戶(hù)名是否為空,涉及數(shù)據(jù)庫(kù)訪問(wèn) 則通過(guò)數(shù)據(jù)訪問(wèn)類(lèi)完成,通過(guò)數(shù)據(jù)訪問(wèn)包的us

16、ersdb類(lèi)的checklogin方法從數(shù)據(jù)庫(kù)中檢查是否存在符合 相應(yīng)登錄信息的用戶(hù)。前面已經(jīng)提到,包括usersdb類(lèi)在內(nèi)的數(shù)據(jù)訪問(wèn)層所冇類(lèi)都從一個(gè)基類(lèi)dbcommon繼承,該基類(lèi)封 裝了所有數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)公共的特性,其中包括定義了公共屬性:數(shù)據(jù)連接字符串dbconnectionstringo u sersdb類(lèi)的checklogin方法屮使用dbconnectionstring進(jìn)行數(shù)據(jù)庫(kù)的連接,并調(diào)用數(shù)據(jù)庫(kù)屮存儲(chǔ)過(guò)程 checklogin查找用戶(hù)竊錄信息是否正確。3結(jié)束語(yǔ)本文介紹了三層b/s結(jié)構(gòu)系統(tǒng)的uml建模和基于asp.net進(jìn)行實(shí)現(xiàn)的過(guò)程和方法,實(shí)現(xiàn)的三層結(jié)構(gòu) 不僅程序邏輯上結(jié)構(gòu)清晰,

17、而口由于容易發(fā)生需求變更的業(yè)務(wù)邏輯部分實(shí)現(xiàn)了分離,因此具有更強(qiáng)的可擴(kuò) 展性和可維護(hù)性。同時(shí)這種系統(tǒng)在部署時(shí)具有很強(qiáng)的靈活性,可以將各個(gè)包分別編譯成.net組件,安裝在 多臺(tái)服務(wù)器。較典型的是用戶(hù)界面包安裝在web服務(wù)器,業(yè)務(wù)邏輯包安裝在應(yīng)用服務(wù)器,數(shù)據(jù)訪問(wèn)包安 裝在數(shù)據(jù)庫(kù)服務(wù)器或進(jìn)-步分離,從而實(shí)現(xiàn)多級(jí)分布的部署方式,實(shí)現(xiàn)更好的可伸縮性和安全性,滿(mǎn)足大 規(guī)模的企業(yè) 級(jí)b/s應(yīng)用系統(tǒng)的需求。參考文獻(xiàn)1 frank buschmann, regin meunier, hans rohnert et al. pattern-oriented software architecturem. new y

18、ork: john wiley & sons ltd, 1996.1-502 t.j popp software architecture development for produce line software!a. proceedings of the 18th ieee digital avionics systems conferencec. usa:ieee computer society press, 1999. 106-1113孫昌愛(ài),金茂忠,劉超.軟件體系結(jié)構(gòu)研究綜述.軟件學(xué)報(bào)j, 2002, 13(7): 1228-1237一個(gè)軟件設(shè)計(jì)的全過(guò)程(基于uml)blu

19、eski 推薦2006-4-21出處:作者:陳剛前段時(shí)間把一個(gè)界面框架完成了,今天基于這個(gè)框架開(kāi)發(fā)一個(gè)小模塊,在這里把這個(gè)模塊設(shè)計(jì)的 全過(guò)程記錄下來(lái),希望大家討論并指正。一、起因公司交給我一個(gè)任務(wù),為測(cè)試員寫(xiě)一個(gè)手機(jī)模擬界而,以方便她們的手機(jī)短信測(cè)試。過(guò)去她們都 是用mc4j 15接調(diào)用公司服務(wù)器的mbcan服務(wù)來(lái)模擬進(jìn)行測(cè)試,以驗(yàn)證我們整個(gè)系統(tǒng)平臺(tái)。這種 測(cè)試主耍是檢查收發(fā)短信是否正常,而我的耍做的工作就是,讓她們?cè)跍y(cè)試的時(shí)候更方便更直觀。二、需求我和測(cè)試員陳mm (也就是軟件的使用者)約定了一個(gè)時(shí)間,大家一起來(lái)討論這個(gè)軟件的需求。1、首先,我大概了解了一下她們的測(cè)試工作,知道我要做個(gè)什么東

20、東。2、然后我回去思考了一下,再次找她詳細(xì)了解其測(cè)試的具體步驟,并在一張白紙上以u(píng)ml用例 圖的方式,記錄下需求的功能。用例是什么?用例就是需求,就是你的軟件應(yīng)該具冇的功能,當(dāng) 然用例圖只是概括性的對(duì)功能進(jìn)行了描述。3、最后,我坐在我的電腦前開(kāi)始用magicdraw uml來(lái)畫(huà)用例圖(我不喜歡用rose,那玩意太笨 重了,界面友好性也不好)。在畫(huà)用例圖的吋候,我發(fā)現(xiàn)了一些隱含的功能,這些是陳mm在和 我做需求時(shí)沒(méi)有考慮到的(注:開(kāi)發(fā)者應(yīng)該為用戶(hù)挖掘隱含需求)。我和陳mm一確定了這些 我新發(fā)現(xiàn)的需求,最后得到如卞的用例圖。(1)手機(jī)前臺(tái)測(cè)試操作的用例圖(說(shuō)明:include是指秤美 ?inclu

21、de)子用例)(2)后臺(tái)管理三、界面設(shè)計(jì)接下來(lái)是界面設(shè)計(jì)。既然是手機(jī)模擬,我很自然就拿我的motorola手機(jī)的操作界而來(lái)做參考。不 過(guò)這里應(yīng)該注意到,手機(jī)操作壞境和電腦操作壞境不盡相同(比如說(shuō)電腦有鼠標(biāo),還有鍵盤(pán)可以 輸入文字),所以沒(méi)有必要唯妙唯肖的完全模柿,還是以使用者操作方便為主。界面設(shè)汁是很重要的一步,不要一上來(lái)就寫(xiě)程序,一定要先做到心中冇個(gè)大概,否則返工的可能 性就很大。而把界血拿出來(lái)給客戶(hù)看,客戶(hù)也就能做到心中冇數(shù),還能盡早提出一些新需求和意見(jiàn)來(lái)。千萬(wàn)不耍等到軟件做完了再拿給客戶(hù)看,到時(shí)客戶(hù)看了如果耍修改,那就做太多費(fèi) 工了。由于軟件界面相對(duì)簡(jiǎn)單,陳mm慕木沒(méi)有提修改意見(jiàn),但這不

22、是個(gè)好兆頭。不過(guò)極限編程就是要 擁抱變化不是咱不怕她改,只要大致的界面她能定下來(lái)就行了。界面我喜歡用visi。來(lái)畫(huà),當(dāng)然也聽(tīng)說(shuō)冇人喜歡用vb來(lái)快速構(gòu)建界面原型的,看個(gè)人喜好了。 整個(gè)界面如下:顯區(qū)0 30 11:08:34卜收件箱發(fā):佶 k:1338812384576 八 發(fā)送 7:04/12/2006 11:09 今天天r降溫,注意保峻v"發(fā)信人:i338812384s76發(fā)送 7:04/12/2006 10:53junie in action這木粘 fr 了 嗎?妾不沽區(qū):收件件內(nèi)容:今人人r降溫,注亜保晅,巧夕、,juni 1 in aulionja 木1葫廣書(shū)?挺不鉆的'zsv取消發(fā)送0寫(xiě)侑這個(gè)是后臺(tái)管理界面四.類(lèi)圖類(lèi)圖反映了軟件的數(shù)據(jù)模型。在設(shè)計(jì)數(shù)據(jù)模型,我參考了界面設(shè)計(jì)圖和用例圖,找出一個(gè)個(gè)的類(lèi)。 然后參照用例圖的一個(gè)個(gè)功能,設(shè)計(jì)出了各類(lèi)的屈性和方法。設(shè)計(jì)初始的類(lèi)圖當(dāng)然不可能很詳細(xì), 但至少應(yīng)該看到個(gè)大概。有錯(cuò)課不要緊,后期可以慢慢修正,但大體關(guān)系就算定下來(lái)了。neil (公司cto, 個(gè)40歲左右的真正的資深程序員)說(shuō):看一個(gè)軟件的設(shè)計(jì)主要看兩個(gè)類(lèi): 類(lèi)圖和時(shí)序圖。類(lèi)圖確定了軟件數(shù)據(jù)模型的靜態(tài)關(guān)型,時(shí)序圖則是數(shù)據(jù)模型的動(dòng)態(tài)關(guān)系。類(lèi)圖如下,看英文大致可以知道

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論