2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩65頁(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、<p><b>  畢業(yè)設(shè)計(jì)論文</b></p><p>  題 目 </p><p>  系 別 計(jì)算機(jī)系 </p><p>  姓 名 XXXX </p><p>  學(xué)

2、 號(hào) </p><p>  指導(dǎo)教師 xxxxx </p><p>  2010年12月25 日</p><p><b>  畢業(yè)設(shè)計(jì)任務(wù)書(shū)</b></p><p><b>  畢業(yè)設(shè)計(jì)論文摘要</b><

3、/p><p>  近些年來(lái)網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,使得不同地點(diǎn)的人們?cè)谌魏螘r(shí)間都可以輕松獲得自己需要的信息,同時(shí)也極大地推動(dòng)了網(wǎng)絡(luò)教學(xué)的發(fā)展,特別是Java技術(shù)的出現(xiàn),以其安全性、跨平臺(tái)性的優(yōu)勢(shì),使網(wǎng)絡(luò)教學(xué)的發(fā)展變得更加迅速,很多在網(wǎng)絡(luò)平臺(tái)上用Java技術(shù)開(kāi)發(fā)出的教學(xué)軟件系統(tǒng)相繼問(wèn)世,如網(wǎng)上考試系統(tǒng)、視頻點(diǎn)播系統(tǒng)等。</p><p>  本文闡述的是運(yùn)用J2EE技術(shù)構(gòu)建一個(gè)基于B/S結(jié)構(gòu)的網(wǎng)上作業(yè)

4、提交系統(tǒng),以其改變過(guò)去傳統(tǒng)的學(xué)生遞交作業(yè)的方式,老師批改作業(yè)的方式,讓學(xué)生遞交作業(yè)更加靈活,大大減輕了老師的工作量和學(xué)生的學(xué)習(xí)任務(wù),極大地提高了老師的工作效率和學(xué)生的學(xué)習(xí)效率。此次作業(yè)提交系統(tǒng)是用Java等技術(shù)開(kāi)發(fā)而成,用戶(hù)登錄時(shí)有三種身份可供選擇,分別為學(xué)生、老師和管理員。忘記密碼時(shí)可以根據(jù)自己的身份證號(hào)重設(shè)學(xué)生有查看作業(yè)、提交作業(yè)、查看成績(jī)等功能,老師有發(fā)布作業(yè)、批改作業(yè)等功能,管理員有添加、刪除學(xué)生老師信息,添加刪除班級(jí)、系部,添

5、加刪除課程等功能。</p><p>  本系統(tǒng)采用功能強(qiáng)大的MyEclipse6.5做為開(kāi)發(fā)工具、使用當(dāng)前最流行的MVC模式、使用struts2、hibernate,再結(jié)合Ajax技術(shù),以及Mysql做為數(shù)據(jù)庫(kù)開(kāi)發(fā)出來(lái)作業(yè)提交系統(tǒng)。</p><p>  論文主要介紹了本課題的開(kāi)發(fā)背景,所要完成的功能和開(kāi)發(fā)的過(guò)程。重點(diǎn)的說(shuō)明了系統(tǒng)設(shè)計(jì)的重點(diǎn)、設(shè)計(jì)思想、難點(diǎn)技術(shù)和解決方案。</p>

6、<p>  本文將著重論述在系統(tǒng)的開(kāi)發(fā)過(guò)程中的各個(gè)階段的具體步驟和實(shí)施技巧。</p><p>  【關(guān)鍵詞】: 作業(yè)提交系統(tǒng) Struts2 Hibernate Ajax技術(shù)</p><p><b>  目 錄</b></p><p><b>  第一章 緒 論1</b></p><

7、;p><b>  1.1課題來(lái)源1</b></p><p>  1.2開(kāi)發(fā)工具的選擇2</p><p>  1.3 本文所作工作8</p><p>  第二章 需求分析9</p><p>  2.1總體需求調(diào)查9</p><p>  2.1.1組織結(jié)構(gòu)圖9</p>

8、<p>  2.1.2系統(tǒng)目標(biāo)9</p><p>  2.1.3應(yīng)用現(xiàn)狀調(diào)查9</p><p>  2.1.4業(yè)務(wù)總體流程9</p><p>  2.2系統(tǒng)功能調(diào)查10</p><p>  2.2.1前臺(tái)功能11</p><p>  2.2.1后臺(tái)功能11</p><p>

9、  2.3系統(tǒng)功能流程圖11</p><p>  2.3.1后臺(tái)管理功能流程圖11</p><p>  2.3.2用戶(hù)系統(tǒng)功能流程圖11</p><p>  第三章 概要設(shè)計(jì)13</p><p>  3.1概念設(shè)計(jì)13</p><p>  3.2數(shù)據(jù)庫(kù)設(shè)計(jì)15</p><p>  第

10、四章 詳細(xì)設(shè)計(jì)19</p><p>  4.1環(huán)境構(gòu)建19</p><p>  4.1.1 獲取資源19</p><p>  4.1.2創(chuàng)建庫(kù)表19</p><p>  4.1.3為項(xiàng)目添加Struts2框架22</p><p>  4.1.4為項(xiàng)目添加Hibernate框架23</p>&l

11、t;p>  4.1.5配置Struts2并添加Ajax支持24</p><p>  4.2系統(tǒng)總體設(shè)計(jì)28</p><p>  5.1 系統(tǒng)測(cè)試概述53</p><p>  5.2測(cè)試環(huán)境53</p><p>  5.3系統(tǒng)測(cè)試的重要性53</p><p>  5.4測(cè)試分析及結(jié)果54</p&g

12、t;<p>  第六章 畢業(yè)設(shè)計(jì)小結(jié)57</p><p><b>  致 謝59</b></p><p>  參 考 書(shū) 目60</p><p><b>  第一章 緒 論</b></p><p><b>  1.1課題來(lái)源</b></p>

13、<p>  信息化是當(dāng)今世界經(jīng)濟(jì)和社會(huì)發(fā)展的大趨勢(shì),以網(wǎng)絡(luò)和多媒體為核心的信息技術(shù)已經(jīng)成為拓展人類(lèi)能力的創(chuàng)造性工具。隨著網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)在教育領(lǐng)域應(yīng)用的不斷發(fā)展, 網(wǎng)絡(luò)教育己成為當(dāng)前教育發(fā)展的熱點(diǎn)。計(jì)算機(jī)應(yīng)用的普及,使得計(jì)算機(jī)教學(xué)深入到課堂。另一方面, 校園網(wǎng)己從辦公室、教室、實(shí)驗(yàn)室、圖書(shū)館延伸到學(xué)生宿舍, 這為網(wǎng)上教學(xué)提供了廣闊的舞臺(tái)。開(kāi)發(fā)和充分利用網(wǎng)絡(luò)教學(xué), 是當(dāng)前教育發(fā)展的必然趨勢(shì)。網(wǎng)上大學(xué)的興起徹底改變了傳統(tǒng)的

14、教學(xué)模式,作業(yè)是教學(xué)過(guò)程的一項(xiàng)重要活動(dòng),傳統(tǒng)書(shū)面提交作業(yè)的方式已跟不上新型教學(xué)模式的發(fā)展。目前,許多高校仍然是教師上課布置作業(yè), 學(xué)生課下完成,學(xué)生完成后上交作業(yè), 教師手工批改, 再把作業(yè)發(fā)給學(xué)生。在這種傳統(tǒng)模式下, 反饋時(shí)間長(zhǎng), 難以全面統(tǒng)計(jì)學(xué)生作業(yè)情況,不利于教師掌握學(xué)生的學(xué)習(xí)情況。同時(shí)由于作業(yè)布置、提交到批改存在時(shí)間差,老課當(dāng)中的問(wèn)題并未得到解決, 新課中新問(wèn)題又已形成,如果新問(wèn)題的解決要依賴(lài)?yán)蠁?wèn)題的解決,那么又加大了解決新問(wèn)題

15、的難度系數(shù),久而久之,最后問(wèn)題成堆,許多學(xué)生因此而跟不上學(xué)習(xí)的進(jìn)度。另外手工批改作業(yè)也有可能因人為因素對(duì)作業(yè)批改造成影響。如何系統(tǒng)地管理和批改學(xué)生</p><p>  隨著計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,Internet/Intranet應(yīng)用在全球范圍內(nèi)日益普及,在眾多的網(wǎng)絡(luò)服務(wù)中,Web給人耳目一新的感覺(jué),而在這其中,在網(wǎng)絡(luò)平臺(tái)上開(kāi)展各項(xiàng)工作已經(jīng)日漸普及,而且當(dāng)網(wǎng)絡(luò)技術(shù)發(fā)展到今天,已經(jīng)成為可以為任何人在網(wǎng)絡(luò)所提供的

16、平臺(tái)上進(jìn)行工作的新型方式。在眾多網(wǎng)絡(luò)開(kāi)發(fā)技術(shù)中,Java技術(shù)是當(dāng)前相當(dāng)熱門(mén),因?yàn)樗梢赃M(jìn)行復(fù)雜的數(shù)據(jù)庫(kù)操作、很強(qiáng)的交互性以及方便用戶(hù)控制管理。 </p><p>  這套作業(yè)提交系統(tǒng)正是當(dāng)今技術(shù)發(fā)展的產(chǎn)物,它是一套用Java開(kāi)發(fā)的能在網(wǎng)上進(jìn)行的作業(yè)提交系統(tǒng),它不僅方便學(xué)生提交作業(yè),而且更為老師提供檢查作業(yè)的方便的手段。 這套系統(tǒng)功能比較完善,是符合實(shí)際需求開(kāi)發(fā)的,學(xué)生可以查看最新作業(yè),并提交作業(yè),查看作業(yè)成績(jī)等,

17、教師可以發(fā)布作業(yè),對(duì)作業(yè)進(jìn)行檢查,管理,統(tǒng)計(jì)成績(jī)等。由以上可看出,網(wǎng)絡(luò)教育學(xué)習(xí)及網(wǎng)絡(luò)各種信息交流的好與壞,嚴(yán)重影響著我們學(xué)習(xí)生活的各個(gè)角落,我們需要一套有效的網(wǎng)上學(xué)習(xí)管理系統(tǒng)為我們快節(jié)奏高效率的工作學(xué)習(xí)提供一種保障。同時(shí)擴(kuò)大系統(tǒng)使用的效率和應(yīng)用范圍,為更多的有這種需求的教師和廣大的學(xué)生提供必要和及時(shí)的服務(wù)。因此作業(yè)提交系統(tǒng)的實(shí)現(xiàn)開(kāi)發(fā)出現(xiàn)了其必要性和可行性。相信隨著契機(jī)的發(fā)展,作業(yè)提交系統(tǒng)會(huì)在未來(lái)的高校發(fā)展管理模式中占十分重要的地位,而且

18、還有很大的發(fā)展空間來(lái)展現(xiàn)其時(shí)效的作用。</p><p>  1.2開(kāi)發(fā)工具的選擇</p><p>  雖然Struts2號(hào)稱(chēng)是一個(gè)全新的框架,但這僅僅是相對(duì)Struts 1而言。Struts 2 與Struts 1相比,確實(shí)有很多革命性的改進(jìn),但它并不是新發(fā)布的新框架,而是在另一個(gè)赫赫有名的框架:WebWork基礎(chǔ)上發(fā)展起來(lái)的。從某種程度上來(lái)講,Struts2沒(méi)有繼承Struts 1的血統(tǒng)

19、,而是繼承WebWork的血統(tǒng)?;蛘哒f(shuō),WebWork衍生出了Struts2,而不是Struts 1衍生了Struts2。因?yàn)镾truts2是WebWork的升級(jí),而不是一個(gè)全新的框架,因此穩(wěn)定性、性能等各方面都有很好的保證:而且吸收了Struts 1和WebWork兩者的優(yōu)勢(shì) Struts2擁有許多新的特性:</p><p>  ◆Action類(lèi)更加靈活</p><p>  Struts

20、2的Action類(lèi)可以實(shí)現(xiàn)一個(gè)Action接口,也可謂一實(shí)現(xiàn)其它接口,因此更容易添加定制性服務(wù),Struts2提供一個(gè)ActionSupport,它實(shí)現(xiàn)了Struts常用接口的方便類(lèi),Action接口不是必須的,任何具有execute簽名的POJO都可以用作Struts2的接口對(duì)象。</p><p>  ◆每一個(gè)請(qǐng)求對(duì)應(yīng)一個(gè)Action對(duì)象</p><p>  Struts1的Action

21、是以但實(shí)例運(yùn)行的,所有的Action對(duì)應(yīng)一個(gè)Action實(shí)例,因此用戶(hù)必須保證Action本身是線(xiàn)程安全的,Struts2的Action為每一個(gè)請(qǐng)求對(duì)象產(chǎn)生一個(gè)實(shí)例,因此沒(méi)有線(xiàn)程安全問(wèn)題,</p><p>  ◆不依賴(lài)與Servlet容器Struts2 Action不依賴(lài)于Servlet容器,,允許Action脫離容器單獨(dú)進(jìn)行測(cè)試,如果需要,Struts2的Action仍然可以訪(fǎng)問(wèn)到request和respon

22、se實(shí)例Struts2的工作流程:</p><p>  說(shuō)明:Struts2還有很多的新功能在此不一一做介紹,如有需要可以自行查閱Hibernate框架技術(shù)。在本系統(tǒng)的開(kāi)發(fā)中對(duì)數(shù)據(jù)庫(kù)的操作并不是使用原始的JDBC,而是使用了Hibernate框架,數(shù)據(jù)庫(kù)中每個(gè)表都有對(duì)應(yīng)的Java類(lèi)文件和一個(gè)DAO類(lèi)文件,使操作起來(lái)更方便。Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)

23、象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。 Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶(hù)端程序?qū)嵱茫部梢栽赟ervlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。</p><p>  Hibernate的核心接口一共有5個(gè),分別為:Session、SessionFac

24、troy、Transaction、Query和Configuration。這5個(gè)核心接口在任何開(kāi)發(fā)中都會(huì)用到。通過(guò)這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對(duì)這五的核心接口分別加以介紹。Session接口:Session接口負(fù)責(zé)執(zhí)行被持久化對(duì)象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫(kù)的交流,包含了很多常見(jiàn)的SQL語(yǔ)句。)。但需要注意的是Session對(duì)象是非線(xiàn)程安全的。同時(shí),Hibernate的session不

25、同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個(gè)術(shù)語(yǔ)時(shí),其實(shí)指的是Hibernate中的session,而以后會(huì)將HttpSession對(duì)象稱(chēng)為用戶(hù)session。SessionFactroy接口:SessionFactroy接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng)建Session對(duì)象。這里用到了工廠(chǎng)模式。需要注意的是SessionFactroy并不是輕量級(jí)的,因?yàn)橐话闱闆r下,一個(gè)項(xiàng)目通常

26、只需要一個(gè)SessionFactro</p><p>  JavaBean技術(shù)。由于在系統(tǒng)的開(kāi)發(fā)中有些代碼需要反復(fù)的調(diào)用,為了提高代碼的重用性,就使用JavaBean將它們封裝起來(lái),供以后在程序代碼中調(diào)用。JavaBean 是一種JAVA語(yǔ)言寫(xiě)成的可重用組件。為寫(xiě)JavaBean,類(lèi)必須是具體的和公共的,并且具有無(wú)參數(shù)的構(gòu)造器。JavaBeans 通過(guò)提供符合一致性設(shè)計(jì)模式的公共方法將內(nèi)部域暴露稱(chēng)為屬性。眾所

27、周知,屬性名稱(chēng)符合這種模式,其他Java 類(lèi)可以通過(guò)自省機(jī)制發(fā)現(xiàn)和操作這些JavaBeans 屬性。用戶(hù)可以使用JavaBean將功能、處理、值、數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)和其他任何可以用java代碼創(chuàng)造的對(duì)象進(jìn)行打包,并且其他的開(kāi)發(fā)者可以通過(guò)內(nèi)部的JSP頁(yè)面、Servlet、其他JavaBean、applet程序或者應(yīng)用來(lái)使用這些對(duì)象。用戶(hù)可以認(rèn)為JavaBean提供了一種隨時(shí)隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變。JavaBean是Sun微系

28、統(tǒng)的一個(gè)面向?qū)ο蟮木幊探涌冢梢宰屇憬芍赜脩?yīng)用程序或能在網(wǎng)絡(luò)中任何主流操作系統(tǒng)平臺(tái)上配置的程序塊,稱(chēng)作組件。像Java applet一樣,JavaBeans組件(或“Beans”)能夠給予萬(wàn)維網(wǎng)頁(yè)面</p><p>  Ajax技術(shù)。在本系統(tǒng)的開(kāi)發(fā)中,總共包含三個(gè)大模塊,而每個(gè)模塊只用了一個(gè)JSP頁(yè)面,因此為了實(shí)現(xiàn)系統(tǒng)預(yù)期的功能,在網(wǎng)站中使用了大量的Ajax。網(wǎng)站中幾乎所有的功能都是通過(guò)Ajax結(jié)合Strut

29、s2 的JSON插件與后臺(tái)的Action 實(shí)現(xiàn)交互的。實(shí)現(xiàn)了不刷新頁(yè)面而更新頁(yè)面內(nèi)容的效果,使網(wǎng)站更具人性化。Ajax(Asynchronous JavaScript and XML)是結(jié)合了Java技術(shù)、XML以及JavaScript等編程技術(shù),可以讓開(kāi)發(fā)人員構(gòu)建基于Java技術(shù)的Web應(yīng)用,并打破了使用頁(yè)面重載的慣例。Ajax是使用客戶(hù)端腳本與Web服務(wù)器交換數(shù)據(jù)的Web應(yīng)用開(kāi)發(fā)方法。這樣,Web頁(yè)面不用打斷交互流程進(jìn)行重新加裁,

30、就可以動(dòng)態(tài)地更新。使用Ajax,用戶(hù)可以創(chuàng)建接近本地桌面應(yīng)用的直接、高可用、更豐富、更動(dòng)態(tài)的Web用戶(hù)界面。異步JavaScript和XML(AJAX)不是什么新技術(shù),而是指這樣一種方法:使用幾種現(xiàn)有技術(shù)——包括級(jí)聯(lián)樣式表(CSS)、JavaScript、XHTML、XML 和可擴(kuò)展樣式語(yǔ)言轉(zhuǎn)換(XSLT),開(kāi)發(fā)外觀(guān)及操作類(lèi)似桌面軟件的Web應(yīng)用軟件。實(shí)現(xiàn)Ajax的</p><p>  圖3 傳統(tǒng)模式流程圖(上

31、) Ajax異步存取模式流程圖(下)</p><p>  JavaScript腳本語(yǔ)言。為了實(shí)現(xiàn)前臺(tái)的個(gè)性化人性化在本系統(tǒng)中,使用了大量的JavaScript腳本代碼。JavaScript是一種輕型的、解釋型的程序設(shè)計(jì)語(yǔ)言。因此,JavaScript一般被作為嵌入式腳本使用,這也使其具有強(qiáng)大的靈活性??梢哉f(shuō),靈活性是JavaScript的靈魂,你可以把程序?qū)懙煤芎?jiǎn)單,簡(jiǎn)單到只是一行驗(yàn)證腳本;當(dāng)然也可以寫(xiě)得很復(fù)雜,

32、復(fù)雜到一個(gè)龐大的技術(shù)框架,例如,Google地圖就是一個(gè)很龐大的 JavaScript應(yīng)用項(xiàng)目。其實(shí)Ajax技術(shù)使用的就是JavaScript語(yǔ)言,本系統(tǒng)中,利用JavaScript語(yǔ)言實(shí)現(xiàn)了前臺(tái)動(dòng)態(tài)的生成顯示數(shù)據(jù)的效果,另外,在美化方面也用到了一點(diǎn)JavaScript。</p><p>  JavaScript從誕生起就沒(méi)有被定式化,在成長(zhǎng)中不斷兼容并取,所以它支持多種不同的編程風(fēng)格。你可以采用函數(shù)式編程風(fēng)格,

33、也可以采用面向?qū)ο蟮木幊田L(fēng)格?;蛘吣阃耆珤仐壓瘮?shù)式編程或面向?qū)ο缶幊?,同樣能夠?qū)懗鰪?fù)雜的程序,實(shí)現(xiàn)個(gè)性效果。</p><p>  前臺(tái)的美化、頁(yè)面排版少不了CSS,為實(shí)現(xiàn)系統(tǒng)的美化效果,系統(tǒng)中使用了CSS+DIV對(duì)網(wǎng)站排版設(shè)計(jì)。DIV+CSS是網(wǎng)站標(biāo)準(zhǔn)(或稱(chēng)“WEB標(biāo)準(zhǔn)”)中常用術(shù)語(yǔ)之一,通常為了說(shuō)明與HTML網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言中的表格(table)定位方式的區(qū)別,因?yàn)閄HTML網(wǎng)站設(shè)計(jì)標(biāo)準(zhǔn)中,不再使用表格定位技術(shù),而

34、是采用DIV+CSS的方式實(shí)現(xiàn)各種定位。</p><p>  DIV+CSS的優(yōu)勢(shì)</p><p>  1、符合W3C標(biāo)準(zhǔn)。微軟等公司均為W3C支持者。這一點(diǎn)是最重要的,因?yàn)檫@保證您的網(wǎng)站不會(huì)因?yàn)閷?lái)網(wǎng)絡(luò)應(yīng)用的升級(jí)而被淘汰。 2、支持瀏覽器的向后兼容,也就是無(wú)論未來(lái)的瀏覽器大戰(zhàn),勝利的是IE7或者是火狐,您的網(wǎng)站都能很好的兼容。 3、搜索引擎更加友好。相對(duì)與傳統(tǒng)的table, 采用DIV+

35、CSS技術(shù)的網(wǎng)頁(yè),對(duì)于搜索引擎的收錄更加友好。 4、樣式的調(diào)整更加方便。內(nèi)容和樣式的分離,使頁(yè)面和樣式的調(diào)整變得更加方便。 現(xiàn)在YAHOO,MSN等國(guó)際門(mén)戶(hù)網(wǎng)站,網(wǎng)易,新浪等國(guó)內(nèi)門(mén)戶(hù)網(wǎng)站,和主流的WEB2.0網(wǎng)站,均采用DIV+CSS的框架模式,更加印證了DIV+CSS是大勢(shì)所趨。5、CSS的極大優(yōu)勢(shì)表現(xiàn)在簡(jiǎn)潔的代碼,對(duì)于一個(gè)大型網(wǎng)站來(lái)說(shuō),可以節(jié)省大量帶寬,而且眾所周知,搜索引擎喜歡清潔的代碼。6、表現(xiàn)和結(jié)構(gòu)分離,在團(tuán)隊(duì)開(kāi)發(fā)中更容易分工

36、合作而減少相互關(guān)聯(lián)性。</p><p>  1.3 本文所作工作</p><p>  第一章緒論部分緒論主要敘述課題提出背景、目前應(yīng)用現(xiàn)狀、分析比較當(dāng)前開(kāi)發(fā)工具,數(shù)據(jù)庫(kù)技術(shù)的比較。</p><p>  第二章結(jié)合軟件工程方法,對(duì)系統(tǒng)進(jìn)行需求分析、功能劃分、數(shù)據(jù)流圖設(shè)計(jì),并結(jié)合數(shù)據(jù)庫(kù)原理和功能劃分進(jìn)行ER圖的繪制、數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì),</p><p&g

37、t;  第三章根據(jù)需求分析的結(jié)果,用戶(hù)概念數(shù)據(jù)模型表示數(shù)據(jù)及其相互間的聯(lián)系。</p><p>  第四章根據(jù)需求分析的結(jié)果,對(duì)系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì),主要介紹環(huán)境構(gòu)建、系統(tǒng)個(gè)性的實(shí)現(xiàn)</p><p>  第五章畢業(yè)設(shè)計(jì)小結(jié),總結(jié)部分介紹了設(shè)計(jì)體會(huì)和編程體會(huì),并指出了系統(tǒng)設(shè)計(jì)中的不足和改進(jìn)的方向。</p><p><b>  第二章 需求分析</b>&

38、lt;/p><p><b>  2.1總體需求調(diào)查</b></p><p>  2.1.1組織結(jié)構(gòu)圖</p><p>  本系統(tǒng)總共有三個(gè)角色:</p><p><b>  圖4 </b></p><p><b>  2.1.2系統(tǒng)目標(biāo)</b></p&

39、gt;<p>  整個(gè)網(wǎng)站統(tǒng)一風(fēng)格,用CSS+DIV把用戶(hù)UI裝飾的美觀(guān)大方,網(wǎng)站安全性穩(wěn)定性較高,用Ajax技術(shù)使網(wǎng)站更具人性化,節(jié)省老師的辦公時(shí)間,學(xué)生能夠及時(shí)查閱最新作業(yè)和成績(jī)</p><p>  系統(tǒng)應(yīng)符合人們?nèi)粘2僮鞯幕拘枨?,并達(dá)到操作直觀(guān)、方便、實(shí)用、安全等要求。</p><p>  2.1.3應(yīng)用現(xiàn)狀調(diào)查</p><p>  目前流行的

40、MVC開(kāi)發(fā)模式能給程序員帶來(lái)的很大的方便,減輕的代碼的個(gè)層間的耦合度高的難題,也提高了代碼的重用率。大大的減輕的程序員的工作量。也提高了程序員的開(kāi)發(fā)效率。這種模式的開(kāi)發(fā)效率高而且便于擴(kuò)充。</p><p>  2.1.4業(yè)務(wù)總體流程</p><p><b>  前臺(tái)</b></p><p><b>  圖5</b><

41、/p><p>  前臺(tái)主要有學(xué)生用戶(hù)和教師用戶(hù),用戶(hù)如果忘記密碼,可以用自己的身份證號(hào)重置密碼,學(xué)生主要是查看作業(yè)提交作業(yè)以及查看成績(jī);老師可以批閱作業(yè)和發(fā)布新作業(yè)</p><p><b>  后臺(tái)</b></p><p><b>  圖6</b></p><p><b>  2.2系統(tǒng)功能調(diào)

42、查</b></p><p>  整個(gè)系統(tǒng)分為前臺(tái)后臺(tái)兩個(gè)部分,前臺(tái)的角色主要是教師用戶(hù)和學(xué)生用戶(hù),后臺(tái)只有管理員才能登錄。每一部分應(yīng)實(shí)現(xiàn)的功能如下:</p><p><b>  2.2.1前臺(tái)功能</b></p><p><b>  用戶(hù)登錄、重置密碼</b></p><p>  學(xué)生用

43、戶(hù)查看作業(yè),提交作業(yè),查看作業(yè)成績(jī)</p><p>  教師用戶(hù)批閱作業(yè),發(fā)布作業(yè)</p><p><b>  2.2.1后臺(tái)功能</b></p><p><b>  管理教師和學(xué)生用戶(hù)</b></p><p><b>  管理系部信息</b></p><p

44、><b>  管理班級(jí)信息</b></p><p><b>  管理課程信息</b></p><p>  2.3系統(tǒng)功能流程圖</p><p>  2.3.1后臺(tái)管理功能流程圖</p><p><b>  圖7</b></p><p>  2.3.

45、2用戶(hù)系統(tǒng)功能流程圖</p><p><b>  圖8</b></p><p><b>  第三章 概要設(shè)計(jì)</b></p><p><b>  3.1概念設(shè)計(jì)</b></p><p>  概要設(shè)計(jì)基礎(chǔ)是完成需求分析后提供的需求說(shuō)明書(shū),用概念數(shù)據(jù)模型表示數(shù)據(jù)及其相互間的關(guān)系,這

46、種數(shù)據(jù)模型是與DBMS無(wú)關(guān)的、面向現(xiàn)實(shí)世界的、易如理解的數(shù)據(jù)模型,其獨(dú)立于計(jì)算機(jī)的數(shù)據(jù)模型,獨(dú)立于計(jì)算機(jī)的軟硬件系統(tǒng),與用戶(hù)進(jìn)行交流十分方便。</p><p>  概念性數(shù)據(jù)模型關(guān)心的是如何完整、正確地反映客觀(guān)實(shí)際情況,不關(guān)心在數(shù)據(jù)庫(kù)中如何實(shí)現(xiàn)。這種數(shù)據(jù)模式能真實(shí)地反應(yīng)用戶(hù)要求的實(shí)際情況,是一種容易被人們理解的直觀(guān)的數(shù)據(jù)庫(kù)結(jié)構(gòu)模式。同時(shí)也是一種相對(duì)穩(wěn)定統(tǒng)一的數(shù)據(jù)模式,一般情況下很少變動(dòng)。概念性數(shù)據(jù)在用戶(hù)和設(shè)計(jì)者之

47、間建立了橋梁。是設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu)的基礎(chǔ)。</p><p>  概念設(shè)計(jì)中自頂向下的實(shí)體分析方法,即常用的實(shí)體聯(lián)系模型(簡(jiǎn)稱(chēng)E-R模型),對(duì)具體數(shù)據(jù)進(jìn)行抽象加工,將實(shí)體集合抽象成實(shí)體類(lèi)型。用實(shí)體間聯(lián)系反映現(xiàn)實(shí)世界事物間的內(nèi)在聯(lián)系。E-R模型是建立概念性數(shù)據(jù)模型的有力工具。</p><p>  通過(guò)對(duì)作業(yè)提交系統(tǒng)功能和過(guò)程的分析,本系統(tǒng)應(yīng)設(shè)計(jì)的實(shí)體和屬性如下:</p><p&

48、gt;  學(xué)生表(ID號(hào),學(xué)號(hào),密碼,姓名,身份證號(hào),班級(jí))教師表(ID號(hào),職工號(hào),密碼,姓名,身份證號(hào),所屬系部)管理員表(用戶(hù)名,密碼,身份證號(hào))系部表(ID號(hào),系部編號(hào),系部名稱(chēng))班級(jí)表(ID號(hào),班級(jí)編號(hào),班級(jí)名稱(chēng),所屬系部)課程表(ID號(hào),課程編號(hào),課程名,所屬系部,授課教師ID)作業(yè)要求表(ID號(hào),作業(yè)名,作業(yè)描述,存放地址,所屬課程ID,上傳老 師)作業(yè)情況表(ID號(hào),得分,

49、作業(yè)存放路徑,提交時(shí)間,批改時(shí)間,提交作業(yè) 學(xué)生,提交狀態(tài),批改狀態(tài))</p><p>  提交狀態(tài)表(ID號(hào),提交狀態(tài))</p><p>  批改狀態(tài)表(ID號(hào),批改狀態(tài))</p><p><b>  圖9</b></p><p><b>  圖10</b></p&g

50、t;<p><b>  3.2數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  根據(jù)前面定義的實(shí)體及實(shí)休之間的關(guān)系,形成數(shù)據(jù)庫(kù)的表格以及各個(gè)表之間的關(guān)系。</p><p>  對(duì)與關(guān)系選擇主健,按照關(guān)系模式的規(guī)范化進(jìn)行規(guī)范,消除數(shù)據(jù)依賴(lài)中不合適的部分,使模式中的各關(guān)系模式達(dá)到某種程度的’分離’。</p><p>  user_student

51、s(學(xué)生信息表)</p><p><b>  圖11</b></p><p>  說(shuō)明:用于存放學(xué)生信息和所在班級(jí),stu_no為登錄賬號(hào)。</p><p>  user_teacher(教師信息表)</p><p><b>  圖12</b></p><p>  說(shuō)明:用于

52、存放教師信息以及所在系部,teach_no為教師登錄賬號(hào)。</p><p>  user_admin(系統(tǒng)管理員表)</p><p><b>  圖13</b></p><p>  說(shuō)明:此表存放著管理員的信息。</p><p>  departments(系部表)</p><p><b&g

53、t;  圖14</b></p><p>  說(shuō)明:保存著學(xué)院的所有系部信息。</p><p>  classes (班級(jí)表)</p><p><b>  圖15</b></p><p>  說(shuō)明:此表保存了班級(jí)的信息,以及所在的系部。</p><p>  course (課程表)<

54、;/p><p><b>  圖16</b></p><p>  assignment (作業(yè)要求表)</p><p><b>  圖17</b></p><p>  assignment_condition (作業(yè)情況表)</p><p><b>  圖18</b

55、></p><p>  modifystatus (作業(yè)批改狀態(tài)表)</p><p><b>  圖19</b></p><p>  submitstatus(作業(yè)提交狀態(tài)表)</p><p><b>  圖20</b></p><p><b>  第四章 詳

56、細(xì)設(shè)計(jì)</b></p><p>  根據(jù)需求分析、概要設(shè)計(jì)的結(jié)果,采用MyEclipse6.5+Mysql作為開(kāi)發(fā)工具,實(shí)現(xiàn)作業(yè)提交系統(tǒng)的各個(gè)功能。</p><p><b>  4.1環(huán)境構(gòu)建</b></p><p>  4.1.1 獲取資源</p><p>  Struts2.1.8的下載地址為:http:

57、//people.apache.org/builds/struts/2.1.8</p><p>  Hibernate3.1的下載地址為:http://www.hibernate.org</p><p><b>  4.1.2創(chuàng)建庫(kù)表</b></p><p>  以下是數(shù)據(jù)庫(kù)腳本文件Assignment_SS.sql</p>&l

58、t;p>  4.1.3為項(xiàng)目添加Struts2框架</p><p>  配置web.xml,添加Struts2 框架</p><p>  4.1.4為項(xiàng)目添加Hibernate框架</p><p>  添加并編寫(xiě)hibernate.cfg.xml 文件</p><p>  此外還要添加Hibernate與數(shù)據(jù)表的映射類(lèi)以及映射文件。&l

59、t;/p><p>  4.1.5配置Struts2并添加Ajax支持</p><p>  添加并編寫(xiě)Struts.xml文件,Struts2 比Struts1更加友好的支持Ajax,在Struts2里添加了很多支持Ajax的方式,在本項(xiàng)目里用到了Struts2的Ajax插件——JSON插件,JSON語(yǔ)法簡(jiǎn)單易用,通過(guò)利用JSON插件,允許開(kāi)發(fā)者以非常靈活簡(jiǎn)單的方式來(lái)開(kāi)發(fā)Ajax應(yīng)用。</

60、p><p>  <constant name="struts.action.extension" value="acl" />這句把提交路徑的后綴名改為 .acl 。</p><p>  extends="json-default" 這句是添加了Struts2 對(duì)Ajax的支持。</p><p>

61、  在result中加入type="json" 是action返回的數(shù)據(jù)以JSON形式返回給客戶(hù)端</p><p><b>  4.2系統(tǒng)總體設(shè)計(jì)</b></p><p>  作業(yè)提交系統(tǒng)就是在校園網(wǎng)絡(luò)中供學(xué)生和老師進(jìn)行學(xué)習(xí)交流使用的系統(tǒng),只要學(xué)生和老師擁有聯(lián)網(wǎng)的電腦,就可以使用瀏覽器使用本系統(tǒng)。</p><p>  系統(tǒng)登

62、錄頁(yè)面如下圖:</p><p><b>  圖21</b></p><p>  如果用戶(hù)忘記密碼,可點(diǎn)擊圖中的取回密碼,此功能是利用自己的身份證號(hào)重設(shè)密碼,主要代碼及截圖如下:</p><p><b>  圖22</b></p><p><b>  驗(yàn)證所填信息代碼:</b>&

63、lt;/p><p><b>  信息錯(cuò)誤:</b></p><p><b>  圖23</b></p><p><b>  信息輸入正確之后:</b></p><p><b>  圖24</b></p><p><b>  確

64、定重設(shè)密碼代碼:</b></p><p>  用戶(hù)登錄此系統(tǒng)中用了兩個(gè)action控制,第一個(gè)用來(lái)驗(yàn)證用戶(hù)的用戶(hù)名和密碼,第二個(gè)驗(yàn)證登錄成功后的session值,這個(gè)方法是為了防止用戶(hù)登錄刷新頁(yè)面重新提交表單,和退出登錄然后后退到管理頁(yè)面刷新頁(yè)面依然依重新提交用戶(hù)登錄的表單數(shù)據(jù),主要代碼如下:</p><p>  用戶(hù)名、密碼驗(yàn)證通過(guò)之后跳轉(zhuǎn)到第二個(gè)action驗(yàn)證登錄成功后的

65、session,action之間的跳轉(zhuǎn)要配置一下struts.xml配置文件:</p><p>  在管理教師信息、系部、班級(jí)、學(xué)生信息、課程時(shí),通過(guò)JavaScript控制可以批量添加或移除教師、系部、班級(jí)、學(xué)生、課程,主要代碼如下:</p><p><b>  效果圖如下:</b></p><p><b>  圖25</b&

66、gt;</p><p><b>  圖26</b></p><p><b>  圖27</b></p><p>  管理員查看并修改系部,所有操作都利用Ajax異步傳輸進(jìn)行,前臺(tái)頁(yè)面顯示也是結(jié)合JavaScript,產(chǎn)生一種人性化的效果,主要代碼如下:</p><p><b>  圖28&

67、lt;/b></p><p><b>  圖29</b></p><p> ?。ㄗⅲ汗芾韱T模塊實(shí)現(xiàn)的功能比較多,代碼也很繁多,在這里不一一展示)</p><p>  教師查看作業(yè)、批改作業(yè)如下圖:</p><p><b>  圖30</b></p><p>  教師模塊

68、中,教師發(fā)布作業(yè),可以批量上傳附件:</p><p><b>  圖31</b></p><p>  教師上傳文件部分代碼:</p><p>  在學(xué)生模塊,學(xué)生登錄系統(tǒng)之后顯示所有課程的作業(yè),如圖:</p><p><b>  圖32</b></p><p>  學(xué)生上傳作

69、業(yè)也添加了批量上傳功能,效果圖如下:</p><p><b>  圖33</b></p><p>  下圖是學(xué)生查看成績(jī)的效果圖,學(xué)生不僅可以查看成績(jī),還可以查看批改時(shí)間和老師的評(píng)語(yǔ):</p><p><b>  圖34</b></p><p><b>  第五章 系統(tǒng)測(cè)試</b&g

70、t;</p><p>  5.1 系統(tǒng)測(cè)試概述</p><p>  系統(tǒng)測(cè)試是將已經(jīng)確認(rèn)的軟件、計(jì)算機(jī)硬件、外設(shè)、網(wǎng)絡(luò)等其他元素結(jié)合在一起,進(jìn)行信息系統(tǒng)的各種組裝測(cè)試和確認(rèn)測(cè)試,其目的是通過(guò)與系統(tǒng)的需求相比較,發(fā)現(xiàn)所開(kāi)發(fā)的系統(tǒng)與用戶(hù)需求不符或矛盾的地方,從而提出更加完善的方案.。它的的任務(wù)是盡可能徹底地檢查出程序中的錯(cuò)誤,提高軟件系統(tǒng)的可靠性,其目的是檢驗(yàn)系統(tǒng)"做得怎樣?&quo

71、t;。</p><p><b>  5.2測(cè)試環(huán)境</b></p><p>  該作業(yè)提交系統(tǒng)用MyEclipse測(cè)試,在安裝了Mysql數(shù)據(jù)庫(kù),及Windows98以上操作系統(tǒng)的機(jī)器上可以正常測(cè)試</p><p>  CPU: Pentium 3以上,建議使用P4 2.0</p><p>  內(nèi)存:32MB以上內(nèi)存或更

72、高</p><p>  硬盤(pán):20G以上硬盤(pán)</p><p>  5.3系統(tǒng)測(cè)試的重要性</p><p>  軟件測(cè)試的意義在于: </p><p>  a. 發(fā)現(xiàn)軟件錯(cuò)誤; </p><p>  b. 有效定義和實(shí)現(xiàn)軟件成分由低層到高層的組裝過(guò)程; </p><p>  c. 驗(yàn)證軟件是否滿(mǎn)足

73、任務(wù)書(shū)和系統(tǒng)定義文檔所規(guī)定的技術(shù)要求; </p><p>  d. 為軟件質(zhì)量模型的建立提供依據(jù)。 </p><p><b>  軟件測(cè)試的目的:</b></p><p>  第一是確認(rèn)軟件的質(zhì)量,其一方面是確認(rèn)軟件做了你所期望的事情(Do the right thing),另一方面是確認(rèn)軟件以正確的方式來(lái)做了這個(gè)事件(Do it right)

74、。 </p><p>  第二是提供信息,比如提供給開(kāi)發(fā)人員或程序經(jīng)理的反饋信息,為風(fēng)險(xiǎn)評(píng)估所準(zhǔn)備的信息。 </p><p>  第三軟件測(cè)試不僅是在測(cè)試軟件產(chǎn)品的本身,而且還包括軟件開(kāi)發(fā)的過(guò)程。如果一個(gè)軟件產(chǎn)品開(kāi)發(fā)完成之后發(fā)現(xiàn)了很多問(wèn)題,這說(shuō)明此軟件開(kāi)發(fā)過(guò)程很可能是有缺陷的。因此軟件測(cè)試的第三個(gè)目的是保證整個(gè)軟件開(kāi)發(fā)過(guò)程是高質(zhì)量的。 </p><p>  軟件質(zhì)量

75、是由幾個(gè)方面來(lái)衡量的:</p><p>  一、在正確的時(shí)間用正確的的方法把一個(gè)工作做正確。</p><p>  二、符合一些應(yīng)用標(biāo)準(zhǔn)的要求,比如不同國(guó)家的用戶(hù)不同的操作習(xí)慣和要求,項(xiàng)目工程中的可維護(hù)性、可測(cè)試性等要求。</p><p>  三、質(zhì)量本身就是軟件達(dá)到了最開(kāi)始所設(shè)定的要求,而代碼的優(yōu)美或精巧的技巧并不代表軟件的高質(zhì)量。</p><p

76、>  四、質(zhì)量也代表著它符合用戶(hù)的需要。</p><p>  軟件測(cè)試,最重要的一件事就是從用戶(hù)的需求出發(fā),從客戶(hù)的角度去看產(chǎn)品,客戶(hù)會(huì)怎么去使用這個(gè)產(chǎn)品,使用過(guò)程中會(huì)遇到什么樣的問(wèn)題。只有這些問(wèn)題都解決了,軟件產(chǎn)品的質(zhì)量才可以說(shuō)是上去了。 </p><p>  軟件測(cè)試人員在軟件開(kāi)發(fā)過(guò)程中的任務(wù): </p><p><b>  1、尋找Bug; &

77、lt;/b></p><p>  2、避免軟件開(kāi)發(fā)過(guò)程中的缺陷; </p><p>  3、衡量軟件的品質(zhì); </p><p>  4、關(guān)注用戶(hù)的需求。 </p><p>  總而言之,軟件測(cè)試的目標(biāo)是:確保軟件的質(zhì)量。</p><p>  5.4測(cè)試分析及結(jié)果</p><p>  該系統(tǒng)

78、的測(cè)試分析及部分代碼已在第四章第二節(jié)給出,這里不再展示。</p><p>  系統(tǒng)還添加了對(duì)非法字符輸入的控制和部分過(guò)濾。例如對(duì)空格的過(guò)濾,代碼如下:</p><p>  function trim(Str){ </p><p>  var ResultStr = ""; </p><p>  Te

79、mp=Str.split(/\s/); </p><p>  for(m =0;m<Temp.length; m++) </p><p>  ResultStr +=Temp[m]; </p><p>  return ResultStr; </p><p><b>  }</b>&l

80、t;/p><p>  對(duì)必須輸入數(shù)字的控制,部分代碼如下:</p><p>  if(element.name=="teacherId")</p><p><b>  {</b></p><p>  if(isNaN(element.value))</p><p><b>

81、;  {</b></p><p>  alert("教師編號(hào)只能用數(shù)字!");</p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(eleme

82、nt.name=="departmentID")</p><p><b>  {</b></p><p>  if(isNaN(element.value))</p><p><b>  {</b></p><p>  alert("系部編號(hào)只能用數(shù)字!");

83、</p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(element.name=="courseId")</p><p><b>  {<

84、/b></p><p>  if(isNaN(element.value))</p><p><b>  {</b></p><p>  alert("課程編號(hào)只能用數(shù)字!");</p><p>  return false;</p><p><b>  }&l

85、t;/b></p><p><b>  }</b></p><p>  if(element.name=="classId")</p><p><b>  {</b></p><p>  if(isNaN(element.value))</p><p&g

86、t;<b>  {</b></p><p>  alert("班級(jí)編號(hào)只能用數(shù)字!");</p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b></p><p>

87、  if(element.value!="")</p><p><b>  {</b></p><p>  content+=encodeURIComponent(element.name)+"="+encodeURIComponent(trim(element.value))+"&";</p&

88、gt;<p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  alert("文本框內(nèi)不能為空!");</p><p>  return false;</p&

89、gt;<p><b>  }</b></p><p>  測(cè)試結(jié)果:本次測(cè)試了系統(tǒng)的全部模塊,系統(tǒng)實(shí)現(xiàn)了教師發(fā)布作業(yè)、批閱作業(yè),學(xué)生提交作業(yè)、查看作業(yè)及成績(jī),管理員管理系統(tǒng)各個(gè)模塊的功能,實(shí)現(xiàn)了系統(tǒng)最初的設(shè)計(jì)要求,但在一些方面還有些不足點(diǎn)。系統(tǒng)經(jīng)過(guò)測(cè)試,發(fā)現(xiàn)在瀏覽器的兼容方面存在些問(wèn)題,主要表現(xiàn)在JavaScript和CSS代碼上面,學(xué)生和教師模塊已基本完善,管理員對(duì)系統(tǒng)各個(gè)模

90、塊的管理功能還須完善。</p><p>  第六章 畢業(yè)設(shè)計(jì)小結(jié)</p><p>  此作業(yè)提交系統(tǒng)是基于B/S結(jié)構(gòu)運(yùn)用JAVA技術(shù)開(kāi)發(fā)而成的,在開(kāi)發(fā)當(dāng)中使用了Struts、Hibernate、Ajax等框架與技術(shù)。此系統(tǒng)使學(xué)生和老師的交流變得更加方便和靈活,讓學(xué)生提交作業(yè)更加容易,也讓老師布置和批改作業(yè)變的更加輕松,極大地提高了學(xué)生的學(xué)習(xí)效率和老師的工作效率,具有極大的現(xiàn)實(shí)意義?;仡櫾?/p>

91、系統(tǒng)從選題,到調(diào)研、需求分析、設(shè)計(jì)、編碼實(shí)現(xiàn)、測(cè)試等,論文的撰寫(xiě),這系列連貫的過(guò)程,感想頗多,收獲也很多。大致的總結(jié)幾點(diǎn),如下:</p><p>  1.設(shè)計(jì)開(kāi)發(fā)一個(gè)軟件,首先要了解所涉及到行業(yè)的現(xiàn)狀,一定要想辦法進(jìn)行行業(yè)調(diào)研,從不同途徑獲取該行業(yè)的專(zhuān)業(yè)知識(shí)。合理安排系統(tǒng)設(shè)計(jì)開(kāi)發(fā)時(shí)間,進(jìn)行實(shí)際開(kāi)發(fā)會(huì)發(fā)現(xiàn)需求分析與系統(tǒng)設(shè)計(jì)占主要的時(shí)間,如果前面的工作做好了,編碼實(shí)現(xiàn)占用的時(shí)間很短。所以我們要借助軟件工程的思想---

92、對(duì)軟件開(kāi)發(fā)過(guò)程進(jìn)行控制。</p><p>  2. 在開(kāi)發(fā)一個(gè)系統(tǒng)時(shí),前期的分析準(zhǔn)備工作非常的重要。對(duì)于系統(tǒng)的需求要明確,這樣才能做到有的放矢。特別是對(duì)于系統(tǒng)中數(shù)據(jù)的存儲(chǔ)和重要算法的設(shè)計(jì),設(shè)計(jì)的不好會(huì)出現(xiàn)大量的冗余,不僅浪費(fèi)存儲(chǔ)空間,還影響查詢(xún)效率。例如:系統(tǒng)中圖的存儲(chǔ)設(shè)計(jì)和求最短路徑算法設(shè)計(jì)。3.在設(shè)計(jì)的初期,對(duì)一個(gè)功能模塊的設(shè)計(jì),要想出兩種或兩種以上方案,這樣可以進(jìn)行比較,從而獲得更佳的設(shè)計(jì)方案,設(shè)計(jì)開(kāi)發(fā)過(guò)

93、程中一定要吸取經(jīng)驗(yàn)教訓(xùn),避免返工。尤其是一些重要算法或功能。在對(duì)具體實(shí)現(xiàn)功能模塊進(jìn)行編程時(shí),要養(yǎng)成良好的加注釋的習(xí)慣,這樣的話(huà)不僅能理清思路,而且可以為以后的調(diào)試程序帶來(lái)很大的方便。</p><p>  4. 獨(dú)立思考的同時(shí),要虛心向別人請(qǐng)教,可以達(dá)到事半功倍的效果。在具體編程實(shí)現(xiàn)系統(tǒng)功能的過(guò)程中,我遇到了不少的問(wèn)題,我曾通過(guò)不同渠道向老師、同學(xué)、上相關(guān)網(wǎng)站、到BBS論壇尋求答案,收到了很好的效果。</p&

94、gt;<p>  5. 懂得充分利用網(wǎng)絡(luò)資源,因?yàn)閷?shí)地調(diào)研的時(shí)間是非常有限的,所以需求分析中大部分分析結(jié)構(gòu)都是在我閱讀專(zhuān)業(yè)書(shū)籍,網(wǎng)絡(luò)資料后得出的。由于在外面工作以及其他原因,我無(wú)法借到專(zhuān)業(yè)書(shū)籍,只好在浩瀚的網(wǎng)絡(luò)中尋找我所需要的資料,這無(wú)形當(dāng)中培養(yǎng)了我通過(guò)網(wǎng)絡(luò)獲取資料信息的能力。通過(guò)獨(dú)立完成作業(yè)提交系統(tǒng)的分析設(shè)計(jì)開(kāi)發(fā)后,發(fā)現(xiàn)自己在進(jìn)行軟件開(kāi)發(fā)方面提高不少,同時(shí)積極利用所學(xué)到的新技術(shù)用于自己的設(shè)計(jì)開(kāi)發(fā)過(guò)程。由于本人是初次開(kāi)發(fā)系

95、統(tǒng),在知識(shí)、經(jīng)驗(yàn)方面都存在著不足。另外,在整個(gè)開(kāi)發(fā)的過(guò)程中,時(shí)間也比較倉(cāng)促。因此,該系統(tǒng)必然會(huì)存在一些缺陷和不足。如:用戶(hù)界面不夠美觀(guān),出錯(cuò)處理不夠等多方面問(wèn)題。在本次開(kāi)發(fā)過(guò)程由于多方面的限制,系統(tǒng)還有不足之處,可以在以后的時(shí)間進(jìn)一步完善。盡管本系統(tǒng)存在著很多不足,但是實(shí)現(xiàn)了主要的功能。通過(guò)開(kāi)發(fā)本系統(tǒng),鞏固了我對(duì)Java的學(xué)習(xí),但在這次畢業(yè)設(shè)計(jì)中的最大收獲并不是這些,而是學(xué)會(huì)了設(shè)計(jì)系統(tǒng)的思維方法,以及與同學(xué)們之間相互幫助的精神。<

96、/p><p><b>  致 謝</b></p><p>  畢業(yè)設(shè)計(jì)和論文完成的前提是老師給我提供了舒適的工作、學(xué)習(xí)環(huán)境,并給予我悉心的關(guān)懷與指導(dǎo)。在此表示衷心的感謝。老師認(rèn)真負(fù)責(zé)的工作態(tài)度、嚴(yán)謹(jǐn)?shù)闹螌W(xué)風(fēng)格,使我深受啟發(fā);同時(shí)也得感謝同伴們給我的幫助,以及給我提供的良好的開(kāi)發(fā)環(huán)境,是他們的幫助下,我才能和同伴完成這個(gè)系統(tǒng)。</p><p>

97、  再次感謝所有給予了我?guī)椭睦蠋?、朋友們?lt;/p><p><b>  參 考 書(shū) 目</b></p><p>  1、李剛 著《Struts2權(quán)威指南 -基于WebWork核心的MVC開(kāi)發(fā)》電子工業(yè)出版社</p><p>  2、朱印宏 著《JavaScript征途》電子工業(yè)出版社</p><p>  3、Andy

98、Budd 著 陳劍甌 譯《精通CSS:高級(jí)Web標(biāo)準(zhǔn)解決方案》人民郵電出版社</p><p>  4、付京周 著《精通Hibernate——Java數(shù)據(jù)庫(kù)持久層開(kāi)發(fā)實(shí)踐》人民郵電出版社</p><p>  5、李剛 著《基于J2EE的Ajax寶典》電子工業(yè)出版社</p><p>  6、扎卡斯 姆克皮克 福西特 著 徐鋒 譯《Ajax高級(jí)程序設(shè)計(jì)》人民郵電出版社&l

溫馨提示

  • 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ù)僅提供信息存儲(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)論