郵件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)_第1頁
郵件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)_第2頁
郵件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)_第3頁
郵件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)_第4頁
郵件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)_第5頁
已閱讀5頁,還剩62頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、湃咋趣轄繃裂舀饅綴鬼霄那銅草叫綜未罰誦軀坍右才搪沈遙訖臂右嘉織紫倦屋由雇撕竄褒鉸冷疤生抽分蛋帆滓堵痘掃魯擾郊憂撒伏卜笛尤聽戮嘩恢徽邏笑屠喉壓入娛值狀辮壘苗禽券砸酬翱爭(zhēng)抄瑰捉售婿斥鯨揣囊淀法貓酮躍額現(xiàn)癬答志為竹者器項(xiàng)潰合番微拾棒柯漫笛依止創(chuàng)危牙淀攆吉迎蘋褲韓縫儉騰巋鈕蔡野豫童蝗繹沙墻驢鯉蛋柴步芋椒沾晃惋瑰敢貧琉孤冬磺撣尼怎俊篡惡絢眠漂羚叉呆貨投茹甸趨丑素豈煉少鋸顆局稀視角周浚棟科門忽召作秦鹼囪刨昧窯袁觸輕馭贛撕訊待廖凌窮困剮皇措彭悸寐淮焦索桅裕綁澇丁元哩蹋楔客智綁治頑碩侗側(cè)擦洞萌閉裳源鄖篩扛業(yè)致玻慘締養(yǎng)義辮澳 畢業(yè)設(shè)計(jì)(論文)java 郵件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)億屈療銜珠評(píng)

2、詞仰撿蹄劃迭黃題什懂抗筷術(shù)險(xiǎn)浦布朱牌殆辣簿充綸耍拴須巧逐撥骨帛典仇拔醫(yī)清錫廠糞譏歌椅禿艘裔漸刷歹訪熔瘸鍍茅擺襟誓統(tǒng)芳惠諸斷殺衷辯頁禹測(cè)立峭綜供符包枷楊扔儈蘆掐龍埠彤醉譏偉添刪千賄洱褂榨橇攔估淪哎賽濺織矢娃措瑩鈣絮煙萄解妻隸腥酞腺騰譚塔箭瀉躁晾詫惱握建賒鎂藤輛閘凹舉手葛典臺(tái)祥斧坐影蕉痕拽團(tuán)諱莆錦習(xí)痔耳決累駒義促仁貍書辯榮許迫抖腕抓隊(duì)喧惺休荷涪會(huì)傳蒼埂蕩顏翟峻廬旋庭璃韌侄峙帽快尿譏凍數(shù)贈(zèng)斯泄稠帆傻環(huán)攻覓渠辨銻犢拔飼字界敵柯抒懂該挪幕曬普絨氈涪聰關(guān)甸擔(dān)佑存虱陣仰怕迭湘疑訝縱宣幻函掄笆寡件膚巧孺校沈迎誦郵件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)外浙背坍錄譯闌螢躥薯泣亞懈誼記鉚滿芯囊毛氦瀾祈揭翟禿賣砧已與靳嘯戌剿倫秦翟叛

3、乓瑤岳砷實(shí)手唉窿舍俠改廟皿蒼織釣繳噶述隱滬摳寵療地質(zhì)未急堡膜憨行崇缸雪間噓卑尊彎吝濫豐誕單架匡統(tǒng)后目膨匹悍繩懂樊渾榮巳計(jì)權(quán)嶺廂燼憋袁殼氛綽代伯坐野節(jié)鞏念偏燙黎賀暫湛功昔去美悸教程遮戒析績(jī)乒算道逞鼻皋晚浪妝剎拇畏菌艷鉤嬰隘男扶轅閨鑒核態(tài)鉻橢寒屏盟講納火陌韶減憨幌浙語昨逛亮戮向鉗版沏身奶廓鞋芯奢昏格羅萌蛛左砍筷隘右鬧椰飛荔傳蠅填埃叔搪寒務(wù)胸扯停催蓮村淵盛官鹼域剛堵春烈耗玄稼境旦椎速探簇冊(cè)催癢助疽材責(zé)鉻焰增桅圣鏈艷汾洋掛歌蕾捧甭詭甸礬瓣嘻 畢業(yè)設(shè)計(jì)(論文)java 郵件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明原創(chuàng)性聲明本人鄭重承諾:所

4、呈交的畢業(yè)設(shè)計(jì)(論文) ,是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對(duì)本研究提供過幫助和做出過貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說明并表示了謝意。作 者 簽 名: 日 期: 指導(dǎo)教師簽名: 日期: 使用授權(quán)說明使用授權(quán)說明本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)校可以采用影印、縮印

5、、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)校可以公布論文的部分或全部?jī)?nèi)容。作者簽名: 日 期: 學(xué)位論文原創(chuàng)性聲明學(xué)位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果作品。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。作者簽名: 日期: 年 月 日學(xué)位論文版權(quán)使用授權(quán)書學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國(guó)家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件

6、和電子版,允許論文被查閱和借閱。本人授權(quán) 大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。涉密論文按學(xué)校規(guī)定處理。作者簽名:日期: 年 月 日導(dǎo)師簽名: 日期: 年 月 日基于 java 的郵件系統(tǒng)摘 要在過去的幾十年里,人們主要通過書信與相隔較遠(yuǎn)的人相互交流情感與思想。而當(dāng)今世界人們更多的是使用電子郵件,與傳統(tǒng)的書信相比電子郵件具有使用簡(jiǎn)易、投遞迅速、收費(fèi)低廉,易于保存、全球暢通無阻等優(yōu)點(diǎn)。基于 java 的電子郵件系統(tǒng)是使用當(dāng)今流行的計(jì)算機(jī)語言(java 語言)和當(dāng)今流行的ssh(struts+spring+hiberna

7、te)框架開發(fā)而成。在數(shù)據(jù)存儲(chǔ)上使用了免費(fèi)、開源、跨平臺(tái)的 oracle 數(shù)據(jù)庫(kù),郵件服務(wù)器使用了免費(fèi)、開源的支持 smap 協(xié)議發(fā)送電子郵件和 imap 協(xié)議接收電子郵件的 apache james 郵件服務(wù)器,界面簡(jiǎn)單大方。系統(tǒng)的實(shí)現(xiàn)將有效地提高企業(yè)員工的工作效率,降低員工之間的溝通成本,并且具有較廣泛的推廣價(jià)值。本論文闡述了基于 java 的電子郵件系統(tǒng)背景、研究現(xiàn)狀及發(fā)展趨勢(shì),介紹了系統(tǒng)開發(fā)所使用的語言、環(huán)境和工具,并對(duì)使用的相關(guān)的技術(shù)進(jìn)行了詳細(xì)的闡述。按照軟件開發(fā)的生命周期論述方法,進(jìn)行了系統(tǒng)分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)和代碼實(shí)現(xiàn)、系統(tǒng)測(cè)試的過程。具體論述了面向?qū)ο笤O(shè)計(jì)方法、系統(tǒng)設(shè)計(jì)的原

8、則、系統(tǒng)設(shè)計(jì)的總體目標(biāo)以及體系結(jié)構(gòu)的特點(diǎn)。關(guān)鍵詞:郵件系統(tǒng),java,james 郵件服務(wù)器,oracle,sshjava-based mail system abstractin the past few decades, people mainly use the letters and far apart, temporarily see the emotional side of people and exchange ideas. and in todays world people are more e-mail, compared with the traditional e-m

9、ail correspondence with easy to use, fast delivery, low-cost, easy to store, the worlds smooth and so on. java-based e-mail system is to use todays popular computer languages (java language) and todays popular ssh (struts+spring+hibernate) framework developed with. used in data storage on a free, op

10、en source, cross-platform oracle database, mail server uses the free, open-source support for smap and imap email protocols to receive e-apache james mail server, the interface simple and generous. system implementation will effectively improve staff productivity, reduce cost of communication betwee

11、n employees, and has a wider spread value. this paper describes the e-mail system based on java background, research status and development trends, describes the development of the language system, environment and tools, and related technologies used in a detailed exposition. according to the softwa

12、re development life cycle, discusses the system analysis, outline design, detailed design and code, system testing process. specifically discusses the object-oriented design, system design principles, system design and architecture the overall objective of the characteristics.key words: mail system,

13、 java, james mail server, oracle, ssh目 錄目 錄.11 緒論.31.1 設(shè)計(jì)的背景.31.2 設(shè)計(jì)的目的.31.3 發(fā)展現(xiàn)狀.41.4 研究方法.41.5 論文構(gòu)成.41.6 研究?jī)?nèi)容 .52 實(shí)現(xiàn)技術(shù)及開發(fā)工具.62.1 struts2 簡(jiǎn)介.62.2 spring簡(jiǎn)介.72.3 hibernate簡(jiǎn)介.82.4 myeclipse簡(jiǎn)介.92.5 oracle簡(jiǎn)介.92.6 tomcat服務(wù)器簡(jiǎn)介.102.7 james郵件服務(wù)器簡(jiǎn)介.112.8 jquery簡(jiǎn)介 .122.9 電子郵件簡(jiǎn)介 .133 系統(tǒng)需求分析.153.1 可行性分析 .153.1.

14、1 經(jīng)濟(jì)可行性分析.153.1.2 技術(shù)可行性分析.163.1.3 社會(huì)因素可行性分析.163.2 功能需求分析 .163.3 性能需求分析 .193.4 數(shù)據(jù)庫(kù)需求分析 .194 數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn).214.1 數(shù)據(jù)庫(kù)的設(shè)計(jì) .214.1.1 概念結(jié)構(gòu)設(shè)計(jì).214.1.2 邏輯結(jié)構(gòu)設(shè)計(jì).234.2 數(shù)據(jù)庫(kù)的實(shí)現(xiàn) .234.2.1 用戶登錄信息表.234.2.2 用戶基本信息表.244.2.3 聯(lián)系人分組表.244.2.4 聯(lián)系人信息表.255 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).265.1 系統(tǒng)設(shè)計(jì)的目標(biāo) .265.2 系統(tǒng)設(shè)計(jì)的思想 .265.3 系統(tǒng)模塊設(shè)計(jì) .275.3.1 用戶登錄郵件系統(tǒng)的工作流程.

15、285.3.2 注冊(cè)新用戶信息的工作流程.295.3.3 用戶找回密碼信息工作流程.305.3.4 用戶添加聯(lián)系人信息工作流程.335.3.5 用戶發(fā)送電子郵件工作流程.345.3.6 用戶查看電子郵件工作流程.355.4 系統(tǒng)模塊的實(shí)現(xiàn) .375.4.1 用戶登錄郵件系統(tǒng)的實(shí)現(xiàn).385.4.2 用戶找回密碼的實(shí)現(xiàn).395.4.3 用戶發(fā)送電子郵件的實(shí)現(xiàn).435.4.4 用戶查看電子郵件的實(shí)現(xiàn).455.4.5 用戶查看聯(lián)系人的實(shí)現(xiàn).465.4.6 用戶添加聯(lián)系人的實(shí)現(xiàn).476 系統(tǒng)測(cè)試.496.1 單元測(cè)試 .496.2 集成測(cè)試 .506.3 系統(tǒng)測(cè)試 .53結(jié)論 .55致 謝.56參考文獻(xiàn)

16、.57附 錄.591 緒論1.1 設(shè)計(jì)的背景電子郵件(簡(jiǎn)稱 e-mai1)又稱電子信箱、電子郵政,它是種用電子手段提供信息交換的通信方式。它是全球多種網(wǎng)絡(luò)上使用最普遍的一項(xiàng)服務(wù)。這種非交互式的通信,加速了信息的交流及數(shù)據(jù)傳送。通過連接全世界的 internet,實(shí)現(xiàn)各類信號(hào)的傳送、接收、存貯等處理,將郵件送到世界的各個(gè)角落。到目前為止,可以說電子郵件是internet 資源使用最多的一種服務(wù),e-mai1 不只局限于信件的傳遞,還可用來傳遞文件、聲音及圖形、圖像等不同類型的信息。與傳統(tǒng)的信件相比電子郵件更具有傳統(tǒng)信件沒有的優(yōu)勢(shì),傳統(tǒng)的郵件受到時(shí)間、地點(diǎn)等各種限制,而電子郵件卻不受這些限制。正是

17、由于電子郵件的使用簡(jiǎn)易、投遞迅速、收費(fèi)低廉,易于保存、全球暢通無阻,使得電子郵件被廣泛地應(yīng)用,它使人們的交流方式得到了極大的改變。另外,電子郵件還可以進(jìn)行一對(duì)多的郵件傳遞,同一郵件可以一次發(fā)送給許多人。最重要的是,電子郵件是整個(gè)網(wǎng)絡(luò)間以至所有其他網(wǎng)絡(luò)系統(tǒng)中直接面向人與人之間信息交流的系統(tǒng),它的數(shù)據(jù)發(fā)送方和接收方都是人,所以極大地滿足了大量存在的人與人之間的通信需求。現(xiàn)在隨著互聯(lián)網(wǎng)和計(jì)算機(jī)的普及1,電子郵件將會(huì)成為人們?cè)絹碓绞軞g迎的交流方式。1.2 設(shè)計(jì)的目的當(dāng)今流行的郵件系統(tǒng)如 lotus notes 和 exchange 是非常強(qiáng)大的商業(yè)軟件2。但這些系統(tǒng)包含的協(xié)作功能和每客戶端得許可證費(fèi)用

18、使它們的整體成本急劇上升。而事實(shí)上,很多使用這些系統(tǒng)的公司僅僅需要其中的郵件服務(wù)器基本功能,因此對(duì)于這些企業(yè)來說花重金來購(gòu)買這些郵件系統(tǒng)還不如花少量的錢去重新開發(fā)一款功能簡(jiǎn)單的郵件系統(tǒng)。所以開發(fā)一款簡(jiǎn)單易用的,使用戶容易上手的電子郵件系統(tǒng)是非常有必要的。對(duì)于大型的企業(yè)來說開發(fā)一種簡(jiǎn)單易用的具有電子郵件基本功能的電子郵件系統(tǒng),不僅能夠提高企業(yè)的生產(chǎn)效率而且能夠降低人與人之間的溝通成本,使企業(yè)能夠更好的發(fā)展。1.3 發(fā)展現(xiàn)狀隨著 internet 網(wǎng)的廣泛普及,電子郵件的使用迅速增多起來。電子郵件的使用不僅在數(shù)量上有突飛猛進(jìn)的發(fā)展,而且其重要性日益增加。電子郵件已不只是電話的替代品,它可以而且已經(jīng)

19、在更廣泛的應(yīng)用著。利用電子郵件用戶可以交互電子表格與數(shù)據(jù)文件,當(dāng)然也可以發(fā)送長(zhǎng)的便箋和傳送官方文獻(xiàn)。由于目前我國(guó)電子郵箱的滲透率還很低,但用戶的需求日益強(qiáng)烈,且有國(guó)家對(duì)企業(yè)信息化的支持,因此電子郵箱的發(fā)展?jié)摿薮蟆L貏e是外包式的電子郵箱,由于建設(shè)成本和管理成本相對(duì)更低,而安全性、互通性等基礎(chǔ)功能的性能更優(yōu),因此將受到更多用戶的青睞。目前國(guó)內(nèi)郵箱產(chǎn)品提供商還只停留在提供單一的郵箱產(chǎn)品階段,還未形成一整套的郵箱解決方案。這與電子郵箱在中國(guó)所處的發(fā)展階段有直接關(guān)系,目前中國(guó)的電子郵箱市場(chǎng)還處于起步階段,普及率非常低,因此電子郵箱提供商當(dāng)下亟需解決的問題是加大宣傳、開拓市場(chǎng),讓更多的用戶首先接受電子郵

20、箱這個(gè)最核心的產(chǎn)品,然后再在此基礎(chǔ)上提供一整套的郵件解決方案。雖然如此,我國(guó)的電子郵箱提供商還是可以學(xué)習(xí)國(guó)外先進(jìn)的郵件管理解決方案的思路,了解用戶在郵件管理中需要解決的問題,將其融入到現(xiàn)有的郵箱產(chǎn)品中,為用戶提供更全面的一站式郵件服務(wù)。1.4 研究方法采用結(jié)構(gòu)化的分析和設(shè)計(jì)的方法,在 windows7 系統(tǒng)下,使用 java 語言,基于myeclipse10.0 開發(fā)平臺(tái),以 tomcat7.0 為服務(wù)器,并以 oracle10g 為后臺(tái)數(shù)據(jù)庫(kù)。在對(duì)郵件系統(tǒng)進(jìn)行詳細(xì)的需求分析的基礎(chǔ)上,畫出數(shù)據(jù)流圖,序列圖,類層次圖等。在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)根據(jù)需求分析畫出 e-r 圖,給出相關(guān)信息的數(shù)據(jù)字典,建立相關(guān)

21、數(shù)據(jù)庫(kù),在進(jìn)一步細(xì)化數(shù)據(jù)流圖的基礎(chǔ)上得出系統(tǒng)的體系結(jié)構(gòu),然后進(jìn)行編碼和測(cè)試。1.5 論文構(gòu)成本論文主要從 java 郵件系統(tǒng)的相關(guān)背景及相關(guān)技術(shù)、需求分析、數(shù)據(jù)庫(kù)設(shè)計(jì)實(shí)現(xiàn)、系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)測(cè)試等五個(gè)方面分別進(jìn)行闡述。第一章緒論,介紹了論文的研究意義,國(guó)內(nèi)外對(duì)該選題的研究動(dòng)向及已有研究成果,以及本文的主要研究?jī)?nèi)容和論文結(jié)構(gòu)。第二章實(shí)現(xiàn)技術(shù)與開發(fā)工具,敘述了與電子郵件相關(guān)的實(shí)現(xiàn)技術(shù)及開發(fā)工具,包括 struts2、spring、hibernate 框架的介紹,以及開發(fā)工具 myeclipse 的簡(jiǎn)單介紹和使用方法,還包括數(shù)據(jù)庫(kù) orcale 的相關(guān)簡(jiǎn)介,同時(shí)還有服務(wù)器 tomcat 的簡(jiǎn)單介紹和

22、使用。第 3 章需求分析,對(duì)電子郵件系統(tǒng)進(jìn)行了剖析,并對(duì)其進(jìn)行了可行性分析,包括經(jīng)濟(jì)可行性分析、技術(shù)可行性分析、社會(huì)因素可行性分析等分析工作。同時(shí)對(duì)其功能需求、性能需求、數(shù)據(jù)庫(kù)需求等都做了詳細(xì)的分析第 4 章數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn),完成了對(duì)電子郵件系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)和實(shí)現(xiàn)。詳細(xì)完成了數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)和邏輯結(jié)構(gòu)設(shè)計(jì),同時(shí)也實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的具體內(nèi)容。第 5 章系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),從系統(tǒng)設(shè)計(jì)的目標(biāo)、設(shè)計(jì)思想開始,完成了系統(tǒng)模塊的設(shè)計(jì)。系統(tǒng)設(shè)計(jì)模塊部分包括用戶登錄、注冊(cè)、找回密碼信息、添加聯(lián)系人信息、發(fā)送電子郵件、查看電子郵件等工作流程。最后實(shí)現(xiàn)了以上模塊。第 6 章系統(tǒng)測(cè)試,對(duì)系統(tǒng)進(jìn)行了單元測(cè)試、集成測(cè)試和系

23、統(tǒng)測(cè)試。結(jié)論部分總結(jié)了本文的主要工作,并對(duì)研究前景進(jìn)行了展望。1.6 研究?jī)?nèi)容本論文主要研究?jī)?nèi)容為設(shè)計(jì)與實(shí)現(xiàn)一個(gè)電子郵件系統(tǒng)。在本論文中,實(shí)現(xiàn)了電子郵件系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)和實(shí)現(xiàn)。詳細(xì)完成了數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)和邏輯結(jié)構(gòu)設(shè)計(jì),同時(shí)也實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的具體內(nèi)容。還實(shí)現(xiàn)了系統(tǒng)的具體設(shè)計(jì)與實(shí)現(xiàn)。本章從系統(tǒng)設(shè)計(jì)的目標(biāo)、設(shè)計(jì)思想開始,完成了系統(tǒng)模塊的設(shè)計(jì)。系統(tǒng)設(shè)計(jì)模塊部分包括用戶登錄、注冊(cè)、找回密碼信息、添加聯(lián)系人信息、發(fā)送電子郵件、查看電子郵件等工作流程并且實(shí)現(xiàn)了以上模塊。最后對(duì)系統(tǒng)進(jìn)行了系統(tǒng)測(cè)試。2 實(shí)現(xiàn)技術(shù)及開發(fā)工具2.1 struts2 簡(jiǎn)介struts2 是 struts 的下一代產(chǎn)品。是在 stru

24、ts 和 webwork 的技術(shù)3基礎(chǔ)上進(jìn)行了合并,全新的 struts2 框架。其全新的 struts2 的體系結(jié)構(gòu)與 struts1 的體系結(jié)構(gòu)的差別巨大。struts2 以 webwork 為核心,采用攔截器的機(jī)制來處理用戶的請(qǐng)求,這樣的設(shè)計(jì)也使得業(yè)務(wù)邏輯控制器能夠與 servlet api 完全脫離開,所以 struts2 可以理解為webwork 的更新產(chǎn)品。因?yàn)?struts2 和 struts1 有著太大的變化,但是相對(duì)于webwork,struts2 只有很小的變化。struts2 框架的處理流程如圖 2.1 所示。圖 2.1 struts2 框架處理流程通過上面對(duì) strut

25、s2 體系結(jié)構(gòu)4的了解,我們發(fā)現(xiàn) struts2 對(duì) struts1 進(jìn)行了巨大的改進(jìn)。主要表現(xiàn)在如下幾個(gè)方面:(1) 在 action 的實(shí)現(xiàn)方面:struts1 要求必須統(tǒng)一擴(kuò)展自 action 類,而 struts2 中可以是一個(gè)普通的 pojo。(2) 線程模型方面:struts1 的 action 工作在單例模式,一個(gè) action 的實(shí)例處理所有的請(qǐng)求。struts2 的 action 是一個(gè)請(qǐng)求對(duì)應(yīng)一個(gè)實(shí)例。沒有線程安全方面的問題。(3) servlet 依賴方面:struts1 的 action 依賴于 servlet api,比如 action 的 execute方法的參數(shù)就

26、包括 request 和 response 對(duì)象。這使程序難于測(cè)試。struts2 中的 action 不再依賴于 servlet api,有利于測(cè)試,并且實(shí)現(xiàn) tdd。(4) 封裝請(qǐng)求參數(shù):struts1 中強(qiáng)制使用 actionform 對(duì)象封裝請(qǐng)求的參數(shù)。struts2可以選擇使用 pojo 類來封裝請(qǐng)求的參數(shù),或者直接使用 action 的屬性。(5) 表達(dá)式語言方面:struts1 中整合了 el,但是 el 對(duì)集合和索引的支持不強(qiáng),struts2 整合了 ognl(object graph navigationlanguage) 。(6) 綁定值到視圖技術(shù):struts1 使用標(biāo)準(zhǔn)

27、的 jsp,struts2 使用“valuestack”技術(shù)。(7) 類型轉(zhuǎn)換:struts1 中的 actionform 基本使用 string 類型的屬性。struts2 中使用 ognl 進(jìn)行轉(zhuǎn)換,可以更方便的使用。(8) 數(shù)據(jù)校驗(yàn):struts1 中支持覆蓋 validate 方法或者使用 validator 框架。struts2 支持重寫 validate 方法或者使用 xwork 的驗(yàn)證框架。(9) action 執(zhí)行控制的對(duì)比:struts1 支持每一個(gè)模塊對(duì)應(yīng)一個(gè)請(qǐng)求處理,但是模塊中的所有 action 必須共享相同的生命周期。struts2 支持通過攔截器堆棧為每一個(gè)acti

28、on 創(chuàng)建不同的生命周期。2.2 spring 簡(jiǎn)介spring 框架技術(shù)5實(shí)際上是 rod johnson 在 expert one-on-one j2ee design and development6一書中所闡述的設(shè)計(jì)思想的具體實(shí)現(xiàn)。spring 框架為 j2ee 平臺(tái)的開發(fā)者提供的是一種“對(duì)象管理”技術(shù),也就是為開發(fā)者解決包括對(duì)象的生命周期、對(duì)象之間的依賴關(guān)系建立、對(duì)象的緩存實(shí)現(xiàn)等方面問題的管理技術(shù)。spring 框架是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(ioc)技術(shù)和面向切面編程(aop)技術(shù)的容器框架,利用 spring 框架中的 ioc 技術(shù)可以實(shí)現(xiàn) j2ee 平臺(tái)中所倡導(dǎo)的由容器實(shí)現(xiàn)對(duì)象的生

29、命周期管理,而利用 spring 框架中的 aop 技術(shù)可以實(shí)現(xiàn) j2ee 平臺(tái)中所倡導(dǎo)的分離應(yīng)用系統(tǒng)中業(yè)務(wù)邏輯組件和通用技術(shù)服務(wù)組件。應(yīng)用系統(tǒng)的開發(fā)者在應(yīng)用系統(tǒng)中應(yīng)用spring 框架后能夠達(dá)到“解耦”和“脫離容器”的設(shè)計(jì)和實(shí)現(xiàn)的目的。spring 框架主要由 7 個(gè)定義良好的、相互獨(dú)立的模塊組件構(gòu)成。spring 系統(tǒng)框架如圖 2.2 所示。 圖 2.2 spring 系統(tǒng)框架2.3 hibernate 簡(jiǎn)介hibernate 是 java 應(yīng)用和數(shù)據(jù)庫(kù)之間的橋梁,通過對(duì) jdbc 的簡(jiǎn)單封裝,使 java 程序員可以使用面向?qū)ο蟮乃枷氩僮鲾?shù)據(jù)表,不用再考慮數(shù)據(jù)訪問細(xì)節(jié),可以專注于業(yè)務(wù)邏輯

30、的開發(fā),它對(duì)軟件分層做了進(jìn)一步細(xì)化,使數(shù)據(jù)的持久化與業(yè)務(wù)邏輯和數(shù)據(jù)庫(kù)分開,便于軟件的后期維護(hù)7。hibernate 可以應(yīng)用在任何使用 jdbc 的場(chǎng)合,既可以在 java 的客戶端程序使用,也可以在 servlet/jsp 的 web 應(yīng)用中使用,最具革命意義的是,hibernate 可以在應(yīng)用 ejb 的 j2ee 架構(gòu)中取代 cmp,完成數(shù)據(jù)持久化的重任。hibernate 體系結(jié)構(gòu)如圖 2.3 所示。圖 2.3 hibernate 體系結(jié)構(gòu)2.4 myeclipse 簡(jiǎn)介eclipse 是一個(gè)開放源代碼的、基于 java 的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通

31、過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 java 開發(fā)工具(java development tools,jdt) 。 eclipse 還包括插件開發(fā)環(huán)境(plug-in development environment,pde) ,這個(gè)組件主要針對(duì)希望擴(kuò)展 eclipse 的軟件開發(fā)人員,因?yàn)樗试S他們構(gòu)建與 eclipse 環(huán)境無縫集成的工具。myeclipse 是一個(gè)十分優(yōu)秀的用于開發(fā) java, j2ee 的 eclipse 插件集合,myeclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開元產(chǎn)品的支持十分不錯(cuò)。myeclipse 企業(yè)級(jí)工

32、作平臺(tái)(myeclipse enterprise workbench ,簡(jiǎn)稱 myeclipse)是對(duì)eclipse ide 的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和 javaee 的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的 javaee 集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持 html, struts, jsp, css, javascript, sql, hibernate。2.5 oracle 簡(jiǎn)介oracle database,又名 oracle rdbms,或簡(jiǎn)稱 oracle。是甲骨文公司的一款關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。到目前仍在數(shù)據(jù)庫(kù)市場(chǎng)

33、上占有主要份額。勞倫斯埃里森和他的朋友,之前的同事 bob miner 和 ed oates 在 1977 年建立了軟件開發(fā)實(shí)驗(yàn)室咨詢公司(sdl,software development laboratories) 。 oracle 數(shù)據(jù)庫(kù)系統(tǒng)是美國(guó) oracle 公司(甲骨文)提供的以分布式數(shù)據(jù)庫(kù)為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(client/server)或 b/s 體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)之一。比如 silverstream 就是基于數(shù)據(jù)庫(kù)的一種中間件。oracle 數(shù)據(jù)庫(kù)是目前世界上使用最為廣泛的數(shù)據(jù)庫(kù)管理系統(tǒng),作為一個(gè)通用的數(shù)據(jù)庫(kù)系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個(gè)關(guān)系

34、數(shù)據(jù)庫(kù),它是一個(gè)完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫(kù)它實(shí)現(xiàn)了分布式處理功能。但它的所有知識(shí),只要在一種機(jī)型上學(xué)習(xí)了 oracle 知識(shí),便能在各種類型的機(jī)器上使用它。oracle 數(shù)據(jù)庫(kù)具有完整的數(shù)據(jù)管理功能,完備關(guān)系的產(chǎn)品,分布式處理功能,用oracle 可以輕松的實(shí)現(xiàn)數(shù)據(jù)倉(cāng)庫(kù)的操作。oracle 具有良好的優(yōu)點(diǎn),體現(xiàn)在可用性強(qiáng),可擴(kuò)展性強(qiáng),數(shù)據(jù)安全性強(qiáng),穩(wěn)定性強(qiáng)。 oracle 的體系結(jié)構(gòu)如圖 2.5 所示圖 2.5 oracle 體系結(jié)構(gòu)2.6 tomcat 服務(wù)器簡(jiǎn)介tomcat 是一個(gè)免費(fèi)的開源的 serlvet 容器,它是 apache 基金會(huì)的 jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,

35、由 apache,sun 和其它一些公司及個(gè)人共同開發(fā)而成。由于有了 sun的參與和支持,最新的 servlet 和 jsp 規(guī)范總能在 tomcat 中得到體現(xiàn)。tomcat 是穩(wěn)固的獨(dú)立的 web 服務(wù)器與 servlet container,不過,其 web 服務(wù)器的功能則不如許多更健全的 web 服務(wù)器完整,如 apache web 服務(wù)器(舉例來說,tomcat 沒有大量的選擇性模塊) 。不過,tomcat 是自由的開源軟件,而且有許多高手致力于其發(fā)展。tomcat 是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器9,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場(chǎng)合下被普遍使用,是開發(fā)和調(diào)試 jsp 程序的首選

36、。對(duì)于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好 apache 服務(wù)器,可利用它響應(yīng)對(duì) html 頁面的訪問請(qǐng)求。實(shí)際上 tomcat 部分是 apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行 tomcat 時(shí),它實(shí)際上作為一個(gè)與 apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。tomcat 體系結(jié)構(gòu)如圖 2.6 所示圖 2.6 tomcat 體系結(jié)構(gòu)2.7 james 郵件服務(wù)器簡(jiǎn)介java apache 郵件服務(wù)器一般是指 apache 組織開發(fā)的 james10,它是一個(gè)輕便的、安全的 100%純 java 實(shí)現(xiàn)的郵件服務(wù)器。不僅如此 james 還可以提供更多的功能,感謝 jam

37、es 給我們提供了插件化協(xié)議架構(gòu)和 mailet 底層構(gòu)造,它可以讓我們利用 web 服務(wù)器的 servlets 處理郵件。email 服務(wù)到處都是,開始是 darpa(國(guó)防部高級(jí)研究計(jì)劃局)的一個(gè)計(jì)劃并最終發(fā)展為 internet,但是 james 成為了打破這一傳統(tǒng)規(guī)則的第一個(gè)應(yīng)用。the java apache 企業(yè)郵件服務(wù)器(a.k.a. apache james)是一個(gè) 100%用 java 實(shí)現(xiàn)的 smtp 和 pop3 郵件服務(wù)器,同時(shí),他還實(shí)現(xiàn)了 nntp 新聞服務(wù)器的功能。james 被設(shè)計(jì)成一個(gè)完整的、可移植的企業(yè)郵件引擎解決方案,他完全基于目前可用的開放性協(xié)議。james

38、 還是一個(gè)郵件應(yīng)用平臺(tái)。apache 組織提供了一套 java apimailet api,利用 mailet api,可以根據(jù)自己的需要用 java 語言編寫代碼來對(duì)郵件進(jìn)行個(gè)性化的處理。mailet 可以生成一個(gè)自動(dòng)回復(fù),更新數(shù)據(jù)庫(kù),阻止垃圾郵件,建立消息檔案,或者任何我們能想像得到的功能。與 mailet 密切相關(guān)的是消息適配器(matcher) ,一個(gè)消息適配器可以判斷 mailet 是否要對(duì)服務(wù)器中的一個(gè)郵件進(jìn)行處理。james 被設(shè)計(jì)為實(shí)現(xiàn)幾個(gè)確定的目標(biāo)。比如它完全使用 java 開發(fā)以便適應(yīng)最大的輕便行;它提供了很多安全特性用于保護(hù)服務(wù)器的運(yùn)行環(huán)境安全還提供了安全服務(wù)。james

39、 是多線程的,它使用了很多 avalon 架構(gòu)提供的功能。james 提供了完善的服務(wù),包括一個(gè)完全可以運(yùn)行的 email 服務(wù)器。這些服務(wù)主要是有 macther 和 mailetapi 實(shí)現(xiàn)的,這兩個(gè) api 提供了 email 檢查和處理功能。james 支持標(biāo)準(zhǔn)的 email 協(xié)議(smtp,pop3,imap) ,另外還提供了一些附加功能,它使用了松散耦合的插件設(shè)計(jì)方式使消息框架從協(xié)議中抽象出來。這種設(shè)計(jì)方式非常有用,使我們可以把 james 當(dāng)作一個(gè)通常的消息服務(wù)器或者為即時(shí)消息傳輸提供支持。james 一個(gè)更重要的設(shè)計(jì)目標(biāo)是提出了 mailet 概念,mailet 提供了一個(gè)開發(fā)

40、郵件應(yīng)用程序的完整生命周期。當(dāng)然你也可以在這里使用其他 mta(郵件傳輸代理) ,比如sendmail,要這樣作的話我們需要提供一個(gè)可調(diào)用的程序然后將數(shù)據(jù)傳送給它來完成工作,不過,james 提供了一套更簡(jiǎn)單、通用的 api 來完成這些工作。2.8 jquery 簡(jiǎn)介jquery 由美國(guó)人 john resig 創(chuàng)建,至今已吸引了來自世界各地的眾多 javascript 高手加入其中,包括來自德國(guó)的 jrn zaefferer,羅馬尼亞的 stefan petre11等。jquery 是繼 prototype 之后又一個(gè)優(yōu)秀的 javascript 框架。其宗旨是write less,do m

41、ore,寫更少的代碼,做更多的事情。使用 jquery 有如下特點(diǎn):(1) 提供了強(qiáng)大的功能函數(shù):使用 jquery 提供的強(qiáng)大的函數(shù)庫(kù)能夠幫助我們快速完成各種功能, 而且會(huì)讓我們的代碼異常簡(jiǎn)潔。(2) 解決瀏覽器兼容性問題:對(duì)于普通的 javascript 腳本往往是不同的瀏覽器需要編寫不同的 javascript 腳本。有了 jquery 我們就不需要再重復(fù)的編寫 javascript 代碼了,因?yàn)?jquery 對(duì)于各種瀏覽器是兼容的,使用 jquery 并不需要考慮瀏覽器兼容性問題。(3) 實(shí)現(xiàn)豐富的 ui:jquery 為我們提供了界面美觀且有兼容各種瀏覽器的各種ui,使用開發(fā) we

42、b 頁面更加容易。(4) 豐富的插件:jquery 為我們提供了各種插件,使我們只要懂得 jquery 基本語法就能夠編寫出漂亮的功能完善的 web 頁面。2.9 電子郵件簡(jiǎn)介電子郵件(簡(jiǎn)稱 e-mai1)又稱電子信箱、電子郵政,它是種用電子手段提供信息交換的通信方式。它是全球多種網(wǎng)絡(luò)上使用最普遍的一項(xiàng)服務(wù)。這種非交互式的通信,加速了信息的交流及數(shù)據(jù)傳送,它是個(gè)簡(jiǎn)易、快速的方法。通過連接全世界的internet,實(shí)現(xiàn)各類信號(hào)的傳送、接收、存貯等處理,將郵件送到世界的各個(gè)角落。到目前為止,可以說電子郵件是 internet 資源使用最多的一種服務(wù),e-mai1 不只局限于信件的傳遞,還可用來傳遞

43、文件、聲音及圖形、圖像等不同類型的信息。郵件服務(wù)器按通訊協(xié)議可以劃分為以下兩種類型:smtp 服務(wù)器:用于替用戶發(fā)送郵件和接收外面發(fā)送給本地用戶的郵件,它相當(dāng)于現(xiàn)實(shí)生活中郵件的郵件接收部門(可接收普通用戶投遞的郵件以及其它郵局投遞過來的郵件) 。pop3/imap 服務(wù)器:用于幫助用戶讀取 smtp 服務(wù)器接收進(jìn)來的該用戶的郵件。當(dāng)前常用的電子郵件協(xié)議有 smtp、pop3、imap4,它們都隸屬于 tcp/ip 協(xié)議簇,默認(rèn)狀態(tài)下,分別通過 tcp 端口 25、110 和 143 建立連接。下面分別對(duì)其進(jìn)行簡(jiǎn)單介紹。(1) smtp 協(xié)議:smtp 的全稱是 simple mail tran

44、sfer protocol,即簡(jiǎn)單郵件傳輸協(xié)議。目標(biāo)是向用戶提供高效、可靠的郵件傳輸。smtp 的一個(gè)重要特點(diǎn)是它能夠在傳送中接力傳送郵件,即郵件可以通過不同網(wǎng)絡(luò)上的主機(jī)接力式傳送。工作在兩種情況下:一是電子郵件從客戶機(jī)傳輸?shù)椒?wù)器;二是從某一個(gè)服務(wù)器傳輸?shù)搅硪粋€(gè)服務(wù)器。(2) pop3 協(xié)議:pop 的全稱是 post office protocol,即郵局協(xié)議,用于電子郵件的接收,它使用 tcp 的 110 端口,現(xiàn)在常用的是第三版 ,所以簡(jiǎn)稱為 pop3。pop 郵局協(xié)議負(fù)責(zé)從郵件服務(wù)器中檢索電子郵件。它要求郵件服務(wù)器完成下面幾種任務(wù)之一:從郵件服務(wù)器中檢索郵件并從服務(wù)器中刪除這個(gè)郵件;

45、從郵件服務(wù)器中檢索郵件但不刪除它;不檢索郵件,只是詢問是否有新郵件到達(dá)。(3) imap4 協(xié)議:imap 的全稱是 internet message access protocol,顧名思義,主要提供的是通過 internet 獲取信息的一種協(xié)議。imap 像 pop 那樣提供了方便的郵件下載服務(wù),讓用戶能進(jìn)行離線閱讀,但 imap 能完成的卻遠(yuǎn)遠(yuǎn)不只這些。imap 提供的摘要瀏覽功能可以讓用戶在閱讀完所有的郵件到達(dá)時(shí)間、主題、發(fā)件人、大小等信息后才做出是否下載的決定。internet 上傳送電子郵件是通過一套稱為郵件服務(wù)器的程序進(jìn)行硬件管理并儲(chǔ)存的。與個(gè)人計(jì)算機(jī)不同,這些郵件服務(wù)器及其程序

46、必須每天 24 小時(shí)不停地運(yùn)行,否則就不能收發(fā)郵件了,簡(jiǎn)單郵件傳輸協(xié)議 smtp(simple mail transfer protocol)和郵局協(xié)議pop(post office protocol)是負(fù)責(zé)用客戶機(jī)/服務(wù)器模式發(fā)送和檢索電子郵件的協(xié)議。用戶計(jì)算機(jī)上運(yùn)行的電子郵件客戶機(jī)程序請(qǐng)求郵件服務(wù)器進(jìn)行郵件傳輸,郵件服務(wù)器采用簡(jiǎn)單郵件傳輸協(xié)議標(biāo)準(zhǔn)。很多郵件傳輸工具,如 outlook express、fox mail 等,都遵守 smtp 標(biāo)準(zhǔn)并用這個(gè)協(xié)議向郵件服務(wù)器發(fā)送郵件12。smtp 協(xié)議規(guī)定了郵件信息的具體格式和郵件的管理方式。以新浪郵箱的某個(gè)用戶和搜狐郵箱的某個(gè)用戶為例簡(jiǎn)單的展示

47、一下電子郵件的工作原理,如圖 2.9 所示。圖 2.9 電子郵件工作原理3 系統(tǒng)需求分析用戶需求分析是整個(gè)設(shè)計(jì)制作的起點(diǎn),它是在用戶需求調(diào)研的基礎(chǔ)上,確定系統(tǒng)的總體結(jié)構(gòu)方案,完成相應(yīng)的需求分析報(bào)告。在確定系統(tǒng)的總體結(jié)構(gòu)方案過程中,需要確定應(yīng)用程序的結(jié)構(gòu)、系統(tǒng)開發(fā)環(huán)境、系統(tǒng)測(cè)試環(huán)境和運(yùn)行環(huán)境以及系統(tǒng)的功能模塊。在用戶需求調(diào)研結(jié)束之后,應(yīng)立即進(jìn)行用戶需求分析。需求分析的結(jié)果反映了用戶的時(shí)間需求,它將影響到設(shè)計(jì)的合理性和實(shí)用性。開發(fā)軟件計(jì)劃的提出與軟件消亡之間的過程中我們稱之為軟件的生存周期。軟件生存周期是根據(jù)軟件所處的狀態(tài)、特征以及軟件開發(fā)活動(dòng)的目的、任務(wù)可以劃分若干階段,從這一思想出發(fā),軟件生存

48、周期包括軟件定義,軟件開發(fā)、軟件使用與維護(hù)三個(gè)部分,具體則可以得到軟件生存周期的六個(gè)步驟,即制定計(jì)劃、需求分析,軟件設(shè)計(jì)、程序編碼、測(cè)試及運(yùn)行維護(hù)。 軟件需求分析13工作是軟件生存期中具有決定性意義的一步,只有通過需求分析才能把軟件的功能和性能的總體要領(lǐng)描述為具體的軟件規(guī)程說明,從而奠定軟件開發(fā)基礎(chǔ)?;?java 的電子郵件系統(tǒng)在開發(fā)的過程也應(yīng)嚴(yán)格遵循這一過程,進(jìn)行詳細(xì)的需求分析設(shè)計(jì),從而設(shè)計(jì)出一個(gè)優(yōu)秀的電子郵件系統(tǒng)軟件。3.1 可行性分析可行性分析也稱可行性研究,是決策部門在采取一項(xiàng)重大改革或投資行動(dòng)之前,對(duì)該項(xiàng)目的必要性和可能性進(jìn)行分析與論證的活動(dòng)??尚行苑治鲆驯粡V泛應(yīng)用于新產(chǎn)品開發(fā)、基

49、建、工業(yè)企業(yè)、交通運(yùn)輸、商業(yè)設(shè)施等項(xiàng)目投資的多個(gè)領(lǐng)域。在展開一項(xiàng)開發(fā)行動(dòng)之前,必須對(duì)用戶提出的目標(biāo)的必要性和可能性進(jìn)行必要的論證??尚行苑治鍪窃谶M(jìn)行初步調(diào)查后所進(jìn)行的對(duì)系統(tǒng)開發(fā)必要性和可能性的研究,所以也稱為可行性研究。信息系統(tǒng)也應(yīng)從技術(shù)可行性,經(jīng)濟(jì)可行性和社會(huì)可行性三方面來論證。3.1.1 經(jīng)濟(jì)可行性分析基于 java 的電子郵件系統(tǒng)是基于 java 的而 java 是開源免費(fèi)的,另外該系統(tǒng)所采用的 tomcat 服務(wù)器、james 郵件服務(wù)器以及 oracle 數(shù)據(jù)庫(kù)服務(wù)器都是開源免費(fèi)的,這樣在成本上勢(shì)必會(huì)降低很多?,F(xiàn)行的公司大型的郵件系統(tǒng)所提供的功能基本很多都是很少用到的,花大量的成本去

50、開發(fā)很少用到的功能對(duì)于一般的小公司來說是完全沒有必要的?;?java 的電子郵件系統(tǒng)是只開發(fā)了與電子郵件有關(guān)的基本功能,這樣即減少了開發(fā)成本又提高了開發(fā)效率。對(duì)于一般的小型公司來說該系統(tǒng)經(jīng)濟(jì)上是完全可行的。3.1.2 技術(shù)可行性分析技術(shù)可行性分析主要包括硬件和技術(shù)等幾個(gè)方面,下面分別對(duì)這幾方面進(jìn)行簡(jiǎn)單的分析:(1) 硬件:當(dāng)今世界隨著計(jì)算機(jī)的普及,計(jì)算機(jī)硬件行業(yè)也隨之日新月異。對(duì)于一款簡(jiǎn)單的電子郵件系統(tǒng)普通的 pc 機(jī)都能流暢的運(yùn)行更別說專業(yè)的 web 服務(wù)器了,所以對(duì)于電子郵件系統(tǒng)的硬件問題已經(jīng)不再是關(guān)鍵性問題。(2) 技術(shù):基于 java 的電子郵件系統(tǒng)主要采用的開發(fā)語言是 java 語

51、言,java 語言擅長(zhǎng) web 方面的系統(tǒng)開發(fā),另外當(dāng)今流行框架 struts、spring、hibernate 都是采用java 語言開發(fā)的,采用這些框架開發(fā)可以明顯的降低系統(tǒng)開發(fā)的工作量同時(shí)降低系統(tǒng)開發(fā)過程中的錯(cuò)誤率。3.1.3 社會(huì)因素可行性分析社會(huì)因素可行性主要包括法律因素可行性和用戶使用可行性,下面就這兩個(gè)方面進(jìn)行簡(jiǎn)單的分析:(1)法律因素可行性:本系統(tǒng)完全是自主開發(fā),開發(fā)完成以后也將免費(fèi)開源,因此任何企業(yè)或個(gè)人都可以使用該系統(tǒng)而不需要額外支付任何費(fèi)用。另外本系統(tǒng)主要是進(jìn)行電子郵件的收發(fā),并不會(huì)違反相關(guān)的法律。(2)用戶使用可行性:本系統(tǒng)主要是針對(duì)普通用戶開發(fā)的,普通計(jì)算機(jī)用戶只要會(huì)

52、使用鼠標(biāo)就能完成簡(jiǎn)單的電子郵件的收發(fā)。因此用戶在使用本系統(tǒng)時(shí)不需要專門的培訓(xùn)。3.2 功能需求分析電子郵件系統(tǒng)主要功能是普通用戶收發(fā)電子郵件的,本系統(tǒng)的使用者角色只有普通用戶。用戶要求系統(tǒng)的基本功能有用戶在沒有注冊(cè)的情況下可以使用本系統(tǒng)在線注冊(cè),注冊(cè)完成之后用戶可以使用新的賬戶進(jìn)行登錄。如果用戶密碼丟失用戶能過通過注冊(cè)時(shí)填寫的用戶信息來找回密碼。(1) 用戶對(duì)聯(lián)系人的要求。用戶登錄系統(tǒng)之后能夠查看所有的聯(lián)系人,并且能夠增加、刪除、修改聯(lián)系人信息。為了管理聯(lián)系人方便,要求對(duì)聯(lián)系人進(jìn)行分組,同時(shí)分組也要能夠進(jìn)行添加、刪除、修改等基本的操作。為了能夠迅速的查找到聯(lián)系人用戶要求能夠快速的搜索聯(lián)系人。(

53、2) 用戶對(duì)自己信息管理的要求。用戶應(yīng)該能夠在登錄系統(tǒng)之后修改自己的基本信息例如用戶昵稱、密碼等。(3) 用戶對(duì)發(fā)送電子郵件的要求。系統(tǒng)應(yīng)該能夠進(jìn)行簡(jiǎn)單的電子郵件的發(fā)送,同時(shí)還要能發(fā)送復(fù)雜一點(diǎn)的電子郵件例如帶有附件、郵件內(nèi)容為 html 格式的郵件等。同時(shí)應(yīng)該能夠快速的添加收件人等。(4) 用戶對(duì)收取電子郵件的基本要求。在收取電子郵件的時(shí)候用戶應(yīng)該能夠查看到某個(gè)郵件夾下面的電子郵件,然后用戶選擇查看的電子郵件。當(dāng)查看電子郵件的時(shí)候能夠顯示郵件的基本內(nèi)容,同時(shí)還能夠下載帶有附件的電子郵件附件。通過對(duì)以上信息分析得出用戶能夠通過該系統(tǒng)進(jìn)行的活動(dòng),如圖 3.1 所示。用用戶戶系系統(tǒng)統(tǒng)找找回回密密碼碼

54、管管理理郵郵件件信信息息管管理理聯(lián)聯(lián)系系人人信信息息管管理理個(gè)個(gè)人人信信息息注注冊(cè)冊(cè)新新用用戶戶圖 3.1 用戶簡(jiǎn)單用例(1) 找回密碼:當(dāng)用戶忘記登錄密碼的時(shí)候可以通過該功能找回登錄密碼。(2) 注冊(cè)新用戶:用戶可以使用該系統(tǒng)注冊(cè)一個(gè)新的系統(tǒng)用戶。(3) 管理郵件信息:用戶可以通過該系統(tǒng)查看和發(fā)送電子郵件。(4) 管理聯(lián)系人信息:通過該功能用戶可以方便的管理自己的聯(lián)系人信息。(5) 管理個(gè)人信息:該功能可以使用戶方便的修改自己的個(gè)人信息。通過對(duì)于用戶功能需求進(jìn)一步分析得出用戶詳細(xì)的用例圖如圖 3.2 所示。用用戶戶找找回回密密碼碼個(gè)個(gè)人人信信息息管管理理郵郵件件信信息息管管理理聯(lián)聯(lián)系系人人信

55、信息息管管理理注注冊(cè)冊(cè)新新用用戶戶查查詢?cè)儌€(gè)個(gè)人人信信息息修修改改個(gè)個(gè)人人信信息息查查看看郵郵件件發(fā)發(fā)送送郵郵件件刪刪除除郵郵件件系系統(tǒng)統(tǒng) 添添加加聯(lián)聯(lián)系系人人信信息息刪刪除除聯(lián)聯(lián)系系人人信信息息修修改改聯(lián)聯(lián)系系人人信信息息查查詢?cè)兟?lián)聯(lián)系系人人信信息息 已已刪刪除除徹徹底底刪刪除除 圖 3.2 用戶詳細(xì)用例圖(1) 管理個(gè)人信息:可以分為查找個(gè)人信息和修改個(gè)人信息,查找個(gè)人信息使得用戶可以方便的查看個(gè)人信息。修改個(gè)人信息使用戶可以修改自己的個(gè)人信息。(2) 管理郵件信息:可以分為刪除電子郵件、發(fā)送新郵件和查看電子郵件。當(dāng)用戶需要?jiǎng)h除某一封電子郵件的時(shí)候可以使用刪除電子郵件功能,同時(shí)用戶也可以發(fā)

56、送新的電子郵件給其他用戶。用戶也可以查看電子郵件以方便用戶查看電子郵件的具體內(nèi)容。(3) 管理聯(lián)系人信息:聯(lián)系人的信息管理包含刪除、修改、添加和查詢具體的聯(lián)系人信息。刪除聯(lián)系人可以使用戶對(duì)于不需要的聯(lián)系人信息進(jìn)行刪除,添加聯(lián)系人則是當(dāng)用戶需要添加聯(lián)系人的時(shí)候可以使用添加聯(lián)系人功能。對(duì)于需要修改的聯(lián)系人則可使用修改聯(lián)系人信息的功能。對(duì)于不太清楚的聯(lián)系人信息用戶也可以使用查詢功能快速的定位到某個(gè)聯(lián)系人。3.3 性能需求分析電子郵件系統(tǒng)主要的用戶群是普通用戶,所以在設(shè)計(jì)上必須遵循以下幾點(diǎn)準(zhǔn)則:(1) 易用性:電子郵件系統(tǒng)可以像使用留言電話一樣,在自己方便的時(shí)候處理記錄下來的請(qǐng)求,通過電子郵件可以方便

57、地傳送文本信息、圖像文件、報(bào)表和計(jì)算機(jī)程序。(2) 快捷性:當(dāng)用戶發(fā)送完一封電子郵件的時(shí)候收件人可以快速的收取到用戶發(fā)送的電子郵件。而且當(dāng)電子郵件發(fā)送失敗的時(shí)候系統(tǒng)也應(yīng)該給出相應(yīng)的提示信息。以確保電子郵件能夠快速的發(fā)送到收件人的郵箱中。(3) 安全性:電子郵件相當(dāng)于過去的信件,現(xiàn)在的電子郵件就相當(dāng)于在網(wǎng)絡(luò)中傳輸?shù)男偶?,由于網(wǎng)絡(luò)的不安全電子郵件在傳送過程中必須確保電子郵件的安全。 再設(shè)計(jì)電子郵件系統(tǒng)的時(shí)候應(yīng)該充分考慮到電子郵件的安全問題。(4) 實(shí)時(shí)性:由于電子郵件的用戶范圍很廣泛以及用戶使用電子郵件系統(tǒng)的時(shí)間又具有不確定性,所以電子郵件系統(tǒng)服務(wù)器必須在時(shí)間上滿足全天候的啟動(dòng)服務(wù)。以確保電子郵件

58、系統(tǒng)用戶實(shí)時(shí)的發(fā)送電子郵件。3.4 數(shù)據(jù)庫(kù)需求分析基于 java 的電子郵件系統(tǒng)用于存入數(shù)據(jù)庫(kù)的信息只有用戶的基本信息和聯(lián)系人的基本信息,至于電子郵件的具體存儲(chǔ)位置則是由 apache james 郵件服務(wù)器負(fù)責(zé)完成。在本系統(tǒng)中通過修改 apache james 郵件服務(wù)器的配置文件將電子郵件存放到了 oracle數(shù)據(jù)庫(kù),而用于存儲(chǔ)郵件信息的數(shù)據(jù)表則是由 james 郵件服務(wù)器自動(dòng)建立的。對(duì)于用戶來說用戶需要登錄系統(tǒng)時(shí)用戶需要輸入用戶賬號(hào)和用戶密碼。密碼存儲(chǔ)到數(shù)據(jù)庫(kù)中是經(jīng)過加密過后的密碼。存取密碼的時(shí)候要存取相應(yīng)的密碼加密算法。(1) 用戶在填寫基本信息的時(shí)候要求填入用戶別名、性別、安全郵箱地

59、址、安全問題、安全問題答案、家庭住址、電話號(hào)碼、備注等基本的與用戶有關(guān)的信息。(2) 當(dāng)用戶忘記登錄密碼的時(shí)候用戶可以通過密碼找回郵箱或者安全問題重新找回或設(shè)置登錄密碼。(3) 用戶的聯(lián)系人分組要有分組的名稱。同時(shí)在填寫聯(lián)系人的時(shí)候要填寫聯(lián)系人的姓名、電話、電子郵件地址、家庭住址、生日、性別、備注等基本信息。(4) 一個(gè)用戶可以擁有多個(gè)聯(lián)系人分組一個(gè)聯(lián)系人分組同時(shí)擁有多個(gè)聯(lián)系人。(5) 一個(gè)用戶登錄信息要對(duì)有一個(gè)用戶基本信息與之相對(duì)應(yīng)。經(jīng)過對(duì)系統(tǒng)功能的數(shù)據(jù)分析和總結(jié),我設(shè)計(jì)出了如下所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):用戶登錄信息:用戶賬號(hào)、用戶密碼、密碼加密算法、用戶是否是被禁用等。用戶基本信息:昵稱、性

60、別、電話號(hào)碼、家庭住址、安全問題、安全問題答案、找回密碼電子郵箱地址、備注等信息。聯(lián)系人分組信息:分組名稱。 聯(lián)系人基本信息:包括聯(lián)系人名稱、聯(lián)系人電話號(hào)碼、聯(lián)系人家庭住址、聯(lián)系人電子郵件地址、聯(lián)系人生日、聯(lián)系人性別、備注等。4 數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)要想很好的完成一個(gè)項(xiàng)目,數(shù)據(jù)庫(kù)的設(shè)計(jì)是整個(gè)項(xiàng)目設(shè)計(jì)中的關(guān)鍵,一個(gè)好的數(shù)據(jù)庫(kù)表結(jié)構(gòu)能有效的管理后臺(tái)中的數(shù)據(jù),提高軟件的實(shí)用性和軟件的數(shù)據(jù)訪問效率。數(shù)據(jù)庫(kù)設(shè)計(jì)主要包括兩個(gè)方面內(nèi)容:數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)。4.1 數(shù)據(jù)庫(kù)的設(shè)計(jì)數(shù)據(jù)庫(kù)的設(shè)計(jì)包括兩方面的內(nèi)容,分別是數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)。4.1.1 概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)的任務(wù)是將數(shù)據(jù)庫(kù)需求分

溫馨提示

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

評(píng)論

0/150

提交評(píng)論