版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上基于C#實現(xiàn)的郵件管理系統(tǒng)摘 要電子郵件(E-mail)是Internet上使用最廣泛的服務(wù)之一,在當今社會中扮演了一個很重要的角色。雖然,現(xiàn)在已經(jīng)有很多郵件收發(fā)管理系統(tǒng),但是對于大多數(shù)的非專業(yè)的人來說它還是有點難度稍顯微復(fù)雜。因此,我使用ASP.NET開發(fā)技術(shù)結(jié)合SQL Server數(shù)據(jù)庫技術(shù)開發(fā)一個頁面簡單,操作方便的Web郵件管理系統(tǒng)。開發(fā)的過程中主要使用Web頁面設(shè)計和數(shù)據(jù)訪問技術(shù)來實現(xiàn)該郵件管理系統(tǒng)的主要功能,包括管理員的功能和普通用戶的功能兩大部分。管理員功能主要包括管理用戶信息、刪除用戶、管理后臺系統(tǒng)等;普通用戶功能主要包括用戶個人信息的管理、個人郵箱的
2、管理等。該系統(tǒng)可以根據(jù)需求對功能進行擴展和完善。關(guān)鍵詞:郵件管理系統(tǒng);ASP.NET;SQL Server;Web頁面Mail management system based on C# AbstractE-mail (E-mail) is one of the most widely used service Internet, plays a very important role in today's society. Although, now there are many mail management system, but for most of the non-prof
3、essional people it is a bit difficult to slightly microscopic complex. Therefore, I use the ASP.NET development technology to develop a simple page with SQL Server database technology, convenient operation of the Web mail management system. The main use of Web page design and data access technology
4、to realize the main function of the email management system development process, including the two most administrators and ordinary users of the function. The administrator function mainly includes the management of user information, delete users, management background system; ordinary users functio
5、n includes user personal information management, personal mailbox management. The system can according to the demand of function expansion and improvement. Key words: Mail management system;ASP.NET;SQL Server;Web page專心-專注-專業(yè)目 錄 第1章 緒論1.1 引言電子郵件(簡稱E-mai1)又稱電子信箱、電子郵政,它是種用電子手段提供信息交換的通信方式。它是全球多種網(wǎng)絡(luò)上使用最普
6、遍的一項服務(wù)。這種非交互式的通信,加速了信息的交流及數(shù)據(jù)傳送,它是個簡易、快速的方法。通過連接全世界的Internet,實現(xiàn)各類信號的傳送、接收、存貯等處理,將郵件送到世界的各個角落。到目前為止,可以說電子郵件是Internet資源使用最多的一種服務(wù),E-mai1不只局限于信件的傳遞,還可用來傳遞文件、聲音及圖形、圖像等不同類型的信息。 電子郵件不是一種“終端到終端”的服務(wù),是被稱為“存貯轉(zhuǎn)發(fā)式”服務(wù)。這正是電子信箱系統(tǒng)的核心,利用存貯轉(zhuǎn)發(fā)可進行非實時通信,屬異步通信方式。即信件發(fā)送者可隨時隨地發(fā)送郵件,不要求接收者同時在場,即使對方現(xiàn)在不在,仍可將郵件立刻送到對方的信箱內(nèi),且存儲在
7、對方的電子郵箱中。接收者可在他認為方便的時候讀取信件,不受時空限制。在這里,“發(fā)送”郵件意味著將郵件放到收件人的信箱中,而“接收”郵件則意味著從自己的信箱中讀取信件,信箱實際上是由文件管理系統(tǒng)支持的個實體。因為電子郵件是通過郵件服務(wù)器(mai1 server)來傳遞的。通常mail server是執(zhí)行多任務(wù)操作系統(tǒng)UNIX的計算機,它提供24小時的電子郵件服務(wù),用戶只要向 mail server管理人員申請個信箱賬號,就可使用這項快速的郵件服務(wù)。 電子郵件的工作原理: (1) 電子郵件系統(tǒng)是一種新型的信息系統(tǒng),是通信技術(shù)和
8、計算機技術(shù)結(jié)合的產(chǎn)物。 電子郵件的傳輸是通過電子郵件簡單傳輸協(xié)議(Simple Mail Transfer Protocol,簡稱SMTP)這一系統(tǒng)軟件來完成的,它是Internet下的一種電子郵件通信協(xié)議。 (2) 電子郵件的基本原理,是在通信網(wǎng)上設(shè)立“電子信箱系統(tǒng)”,它實際上是一個計算機系統(tǒng)。系統(tǒng)的硬件是一個高性能、大容量的計算機。硬盤作為信箱的存儲介質(zhì),在硬盤上為用戶分一定的存儲空間作為用戶的“信箱”,每位用戶都有屬于自己的個電子信箱。存儲空間包含存放所收信件、編輯信件以及信件存盤三部分空間,用戶使用口
9、令開啟自己的信箱,并進行發(fā)信、讀信、編輯、轉(zhuǎn)發(fā)、存檔等各種操作。系統(tǒng)功能主要由軟件或者網(wǎng)頁實現(xiàn)。 (3) 電子郵件的通信是在信箱之間進行的。用戶首先開啟自己的信箱,然后通過鍵入命令的方式將需要發(fā)送的郵件發(fā)到對方的信箱中。郵件在信箱之間進行傳遞和交換,也可以與另個郵件系統(tǒng)進行傳遞和交換。收方在取信時,使用特定賬號從信箱提取1。1.2 開發(fā)背景和環(huán)境 1.2.1 開發(fā)背景當前流行的各大郵件客戶端軟件除了最主要的收發(fā)信件之外,功能越來越復(fù)雜,但是人們平常真正用到的功能很少,很多功能尤其對于那些計算機知識相對缺乏的人來說,更加顯得太過于華麗而不太實用。有鑒于此,我開發(fā)了這個各種功能相對簡單實
10、用的郵件客戶端Web頁面程序,簡化了很多不必要的功能。隨著互聯(lián)網(wǎng)的普及,國內(nèi)外的互聯(lián)網(wǎng)用戶數(shù)呈指數(shù)增長。為滿足不斷增長的信息交流需要,作為因特網(wǎng)第一應(yīng)用的電子郵件系統(tǒng)變得越來越重要。隨著網(wǎng)絡(luò)環(huán)境的建設(shè)與完善,許多用戶已經(jīng)提出這樣的要求:擁有自己的Web郵件系統(tǒng)。國外的電子郵件系統(tǒng)可真叫四通八達,這種手段已經(jīng)成為他們通信最流行的幾種方式之一了。相比較國內(nèi),電子郵件系統(tǒng)還不算太完善,電子郵件通信的方式還不算太流行,如何才能把這種方式大眾化、流行化呢?這還需要我們?nèi)フJ識它、了解它、使用它。國外已經(jīng)有了許許多多的電子郵件系統(tǒng),國內(nèi)也有一些這樣的系統(tǒng),我覺得這些還不夠充實這個龐大的流行團體,所以我要開發(fā)
11、一個簡單電子郵件系統(tǒng),來滿足相應(yīng)的用戶的需要。1.2.2 開發(fā)環(huán)境(1) 硬件環(huán)境CPU:Intel 酷睿2雙核 P7350內(nèi)存:2GB系統(tǒng)類型:32位操作系統(tǒng)具備Internet上網(wǎng)條件(2) 軟件環(huán)境操作系統(tǒng):Windows7旗艦版Microsoft SQL Server 2008Microsoft Visual Studio 2010(3) Microsoft SQL Server 2008簡介SQL Server 2008提供了可依靠的技術(shù)和能力來接受不斷發(fā)展的對于管理數(shù)據(jù)和給用戶發(fā)送全面的洞察的挑戰(zhàn)。具有在關(guān)鍵領(lǐng)域方面的顯著的優(yōu)勢,SQL Server 2008是一個可信任的、高效的
12、、智能的數(shù)據(jù)平臺。它推出了許多新的特性和關(guān)鍵的改進,使得它成為至今為止的最強最全面的SQL Server版本2。(4) Microsoft Visual Studio 2010簡介是微軟公司推出的開發(fā)環(huán)境。是目前最流行的平臺開發(fā)環(huán)境。Visual Studio 2010版本于2010年4月12日上市,其()的界面被重新設(shè)計和組織,變得更加簡單明了。Visual Studio 2010同時帶來了 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview-CTP),并且支持開發(fā)面向的。除了,它還支持&
13、#160; 和數(shù)據(jù)庫4。第2章 相關(guān)技術(shù)2.1 ASP.NET技術(shù)介紹ASP.NET不僅僅是下一版本的 Active Server Page (ASP),而且還是一種建立在通用語言上的程序構(gòu)架,能被用于一臺Web服務(wù)器來建立強大的Web應(yīng)用程序。ASP.net提供許多比現(xiàn)在的Web開發(fā)模式強大的優(yōu)勢。它是統(tǒng)一的Web開發(fā)平臺,用來提供開發(fā)人員快速生成企業(yè)級 Web 應(yīng)用程序所需的服務(wù)5。ASP.NET的語法在很大程度上與 ASP 兼容,同時它還提供一種新的編程模型和結(jié)構(gòu),用于生成更安全、可伸縮和穩(wěn)定的應(yīng)用程序??梢酝ㄟ^在現(xiàn)有ASP應(yīng)用程序中逐漸添加,與以前的 Web 開發(fā)模型相比,A
14、SP.NET 提供了數(shù)個重要的優(yōu)點:(1) 增強的性能ASP.NET 是在服務(wù)器上運行的編譯好的公共語言運行庫代碼。ASP.NET 可利用早期綁定、實時編譯、本機優(yōu)化和盒外緩存服務(wù)。這相當于在編寫代碼行之前便顯著提高了性能。(2) 世界級的工具支持ASP.NET 框架補充了 Visual Studio 集成開發(fā)環(huán)境中的大量工具箱和設(shè)計器。WYSIWYG 編輯、拖放服務(wù)器控件和自動部署只是這個強大的工具所提供功能中的少數(shù)幾種。(3) 強大性和適應(yīng)性因為ASP.NET是基于通用語言編譯運行的程序,所以它的強大性和適應(yīng)性,可以使它運行在Web應(yīng)用軟件開發(fā)者的幾乎全部的平臺上。通用語言的基本庫,消息機
15、制,數(shù)據(jù)接口的處理都能無縫的整合到ASP.NET的Web應(yīng)用中。ASP.NET同時也是language-independent語言獨立化的,所以,你可以選擇一種最適合你的語言來編寫你的程序,或者把你的程序用很多種語言來寫,現(xiàn)在已經(jīng)支持的有C#(C+和Java的結(jié)合體),VB,Jscript。這樣的多種程序語言協(xié)同工作的能力會保護您現(xiàn)在的基于COM+開發(fā)的程序,能夠完整的移植向ASP.NET。(4) 威力和靈活性由于 ASP.NET 基于公共語言,因此,Web 應(yīng)用程序開發(fā)人員可以利用整個平臺的威力和靈活性。.NET 框架類庫、消息處理和數(shù)據(jù)訪問解決方案都可從 Web訪問。ASP.NET 也與語
16、言無關(guān),所以可以選擇最適合應(yīng)用程序的語言,或跨多種語言分割應(yīng)用程序。另外,公共語言運行的交互性可保證在遷移到 ASP.NET 時保留基于 COM 的開發(fā)中的現(xiàn)有投資。(5) 簡易性ASP.NET 使執(zhí)行常見任務(wù)變得容易,從簡單的窗體提交和客戶端身份驗證到部署和站點配置都非常簡單。例如,ASP.NET 頁框架使您可以生成將應(yīng)用程序邏輯與表示代碼清楚分開的用戶界面,類似在 Visual Basic 的簡單窗體處理模型中處理事件。允許你建立你自己的用戶分界面,使其又不同于常見的VB-Like界面。另外,公共語言運行庫利用托管代碼服務(wù)(如自動引用計數(shù)和垃圾回收)簡化了開發(fā),使把代碼結(jié)合成軟件簡單的就像
17、裝配電腦。(6) 可管理性ASP.NET使用一種字符基礎(chǔ)的、分級的配置系統(tǒng),使你服務(wù)器環(huán)境和應(yīng)用程序的設(shè)置更加簡單。因為配置信息都保存在簡單文本中,新的設(shè)置有可能都不需要啟動本地的管理員工具就可以實現(xiàn)。這種被稱為"Zero Local Administration"的哲學(xué)觀念使ASP.NET的基于應(yīng)用的開發(fā)更加具體、快捷。一個ASP.NET的應(yīng)用程序在一臺服務(wù)器系統(tǒng)的安裝只需要簡單的拷貝一些必須文件,不需要系統(tǒng)的重新啟動,一切就是這么簡單。(7) 可縮放性和可用性ASP.NET 在設(shè)計時考慮了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,進程受到
18、ASP.NET 運行庫的密切監(jiān)視和管理,以便當進程行為不正常(泄漏、死鎖)時,可就地創(chuàng)建新進程,以幫助保持應(yīng)用程序始終可用于處理請求。(8) 自定義性和擴展性ASP.NET 隨附了一個設(shè)計周到的結(jié)構(gòu),它使開發(fā)人員可以在適當?shù)募墑e“插入”代碼。實際上,可以用自己編寫的自定義組件擴展或替換 ASP.NET 運行庫的任何子組件。(9) 安全性借助內(nèi)置的 Windows 身份驗證和基于每個應(yīng)用程序的配置,可以保證應(yīng)用程序是安全的??傊珹SP.NET 是一個已編譯的、基于 .NET 的環(huán)境,把基于通用語言的程序在服務(wù)器上運行。程序在服務(wù)器端首次運行時進行編譯,比ASP即時解釋程序速度上要快很多,而且是
19、可以用任何與 .NET 兼容的語言(包括 Visual Basic .NET、C# 和 JScript .NET)創(chuàng)作應(yīng)用程序。另外,任何 ASP.NET 應(yīng)用程序都可以使用整個 .NET Framework。開發(fā)人員可以方便地獲得這些技術(shù)的優(yōu)點,其中包括托管的公共語言運行庫環(huán)境、類型安全、繼承等等3。2.2 數(shù)據(jù)庫技術(shù)的介紹數(shù)據(jù)庫技術(shù)是現(xiàn)代信息科學(xué)與技術(shù)的重要組成部分,是計算機數(shù)據(jù)處理與信息管理系統(tǒng)的核心。數(shù)據(jù)庫技術(shù)研究和解決了計算機信息處理過程中大量數(shù)據(jù)有效地組織和存儲的問題,在數(shù)據(jù)庫系統(tǒng)中減少數(shù)據(jù)存儲冗余、實現(xiàn)數(shù)據(jù)共享、保障數(shù)據(jù)安全以及高效地檢索數(shù)據(jù)和處理數(shù)據(jù)。隨著計算機技術(shù)與網(wǎng)絡(luò)通信技
20、術(shù)的發(fā)展,數(shù)據(jù)庫技術(shù)已成為信息社會中對大量數(shù)據(jù)進行組織與管理的重要技術(shù)手段及軟件技術(shù),是網(wǎng)絡(luò)信息化管理系統(tǒng)的基礎(chǔ)。從20世紀60年代末期開始到現(xiàn)在,數(shù)據(jù)庫技術(shù)已經(jīng)發(fā)展了30多年。在這30多年的歷程中,人們在數(shù)據(jù)庫技術(shù)的理論研究和系統(tǒng)開發(fā)上都取得了輝煌的成就,而且已經(jīng)開始新一代數(shù)據(jù)庫系統(tǒng)的深入研究。數(shù)據(jù)庫已經(jīng)成為現(xiàn)代計算機系統(tǒng)的重要組成部分。數(shù)據(jù)模型是數(shù)據(jù)庫技術(shù)的核心和基礎(chǔ),因此,對數(shù)據(jù)庫系統(tǒng)開發(fā)階段的劃分應(yīng)該以數(shù)據(jù)模型的發(fā)展演變作為主要依據(jù)和標志。按照數(shù)據(jù)模型的發(fā)展演變過程,數(shù)據(jù)庫技術(shù)從開始到現(xiàn)在,在短短的30年中,主要經(jīng)歷了三個發(fā)展階段:第一代是網(wǎng)狀和層次數(shù)據(jù)庫系統(tǒng),第二代是關(guān)系數(shù)據(jù)庫系統(tǒng),
21、第三代是以面向?qū)ο髷?shù)據(jù)模型為主要特征的數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)庫技術(shù)與網(wǎng)絡(luò)通信技術(shù)、人工智能技術(shù)、面向?qū)ο蟪绦蛟O(shè)計技術(shù)、并行計算機技術(shù)等相互滲透、有機結(jié)合,成為當代數(shù)據(jù)庫技術(shù)發(fā)展的重要特征。SQL Server 2008由一組數(shù)量眾多的數(shù)據(jù)庫組件組成。這些組件在功能上互相補充,在使用方式上彼此協(xié)調(diào),以滿足用戶在數(shù)據(jù)存儲和管理、大型Web站點支持和企業(yè)數(shù)據(jù)分析處理上的需求6。SQL Server 2008是微軟公司的大型數(shù)據(jù)庫管理系統(tǒng),它的主要特點有:(1) 強大的查詢與管理功能;(2) 強大的數(shù)據(jù)庫開發(fā)功能;(3) 擴大了對SQL語言的支持;(4) 大量使用可視化的界面操作工具;(5) 支持面向?qū)ο蟮?/p>
22、程序設(shè)計;(6) 多平臺支持;(7) 支持網(wǎng)絡(luò)應(yīng)用。2.3 ADO.NET 簡介ADO.NET是對Microsoft ActiveX Data Objects (ADO)一個跨時代的改進,它提供了平臺互用性和可伸縮的數(shù)據(jù)訪問。由于傳送的數(shù)據(jù)都是XML格式的,因此任何能夠讀取XML格式的應(yīng)用程序都可以進行數(shù)據(jù)處理。事實上,接受數(shù)據(jù)的組件不一定要是ADO .NET組件,它可以是基于一個Microsoft Visual Studio的解決方案,也可以是任何運行在其它平臺上的任何應(yīng)用程序。以前做數(shù)據(jù)庫訪問的時候,需要一直與數(shù)據(jù)庫保持連接,直到獲取完所有滿足需要的數(shù)據(jù)之后才會斷開數(shù)據(jù)庫連接,這種數(shù)據(jù)庫訪
23、問方式稱之為連接式數(shù)據(jù)訪問技術(shù)。相比于以前的連接式數(shù)據(jù)訪問技術(shù),ADO.NET除了提供連接式數(shù)據(jù)訪問技術(shù)之外,還提供了另一種斷開式解決方案,那就是在內(nèi)存中模擬一個數(shù)據(jù)庫,也就是內(nèi)存中的數(shù)據(jù)庫。在ADO.NET中對上面提到的對象都在內(nèi)存中進行了模擬,在內(nèi)存中的數(shù)據(jù)庫對象稱之為DataSet,一個內(nèi)存中的數(shù)據(jù)庫(DataSet)可以包含多個在內(nèi)存中的表(DataTable)和內(nèi)存中的視圖(DataView),并且也允許在表存在一些關(guān)系(DataRelation)。同時在一個內(nèi)存中的表(DataTable)或者內(nèi)存中的視圖(DataView)中也允許存在行(DataRow)和列(DataColumn
24、)。 物理數(shù)據(jù)庫與內(nèi)存數(shù)據(jù)庫之間的各對象的對應(yīng)關(guān)系如下(圖中顏色相同的表示二者基本上是一種對應(yīng)關(guān)系):圖2.1物理數(shù)據(jù)庫與內(nèi)存數(shù)據(jù)庫之間的各對象的對應(yīng)關(guān)系A(chǔ)DO.NET中的6個常用對象: Connection對象 ,Command對象 ,DataReader對象,DataAdapter對象,DataSet對象,DataTable對象。 嚴格地說,在.NET類庫中并沒有Connection、Command、DataAdapter和DataReader對象的,這是對相關(guān)的對象做了一個抽象。在實際的開發(fā)中,我們經(jīng)常用到的數(shù)據(jù)庫有Access、SQL Server、Oracle、MySQL等
25、,盡管大部分都遵循SQL國際化標準,但是它們在遵循標準的前提下又做了一些擴充,并且即使遵循了相同的標準,但是實現(xiàn)方法并不相同,所以在某些情況下實現(xiàn)相同的功能可能在不同的數(shù)據(jù)庫中SQL語句并不相同。 于是,在ADO.NET也定義了一套用于訪問數(shù)據(jù)庫的標準,當然這個標準是以接口(interface)的形式提供的,各數(shù)據(jù)庫廠商只要實現(xiàn)了這個接口就能在ADO.NET下正常工作(這也是接口的作用,接口就是用于指定規(guī)范,自己本身并不實現(xiàn),在Java中針對數(shù)據(jù)庫訪問也有一套接口留待各數(shù)據(jù)庫來實現(xiàn))。當然在.NET類庫中微軟已經(jīng)提供對Access、SQL Server和Oracle數(shù)據(jù)庫對上面提到的接口的實現(xiàn)
26、。 在ADO.NET中定義的這一套接口是IDbConnection、IDbCommand、IDbDataAdapter和IDataReader,并且還有一套實現(xiàn)這些接口的抽象類,分別是DbConnection、DbCommand、DbDataAdapter和DataReader。圖2.2數(shù)據(jù)庫訪問接口和抽象類圖2.2最上面的是數(shù)據(jù)庫訪問接口,緊接著的是數(shù)據(jù)庫訪問抽象類,下面是針對不同數(shù)據(jù)庫中實現(xiàn)這些接口的類,并且在括號中注明了其所在的命名空間,比如針對MySQL數(shù)據(jù)的數(shù)據(jù)庫訪問類就位于MySql.Data.MySqlClient命名空間下,關(guān)于MySql的數(shù)據(jù)庫訪問類需要到MySql數(shù)據(jù)庫的官
27、方網(wǎng)站去下載,它的官方網(wǎng)站是:。其它的數(shù)據(jù)庫訪問類都在.net類庫中自帶了。需要注意的是訪問SQL Server 7.0以下版本的SQL Server數(shù)據(jù)庫時需要System.Data.OleD命名空間下一套數(shù)據(jù)庫訪問類,雖然這一套數(shù)據(jù)庫訪問類同樣也能訪問SQLServer2000以上版本,但是沒有辦法利用SQL Server數(shù)據(jù)庫的一些新特性,所以不建議使用System.Data.OleDb命名空間下的類訪問SQL Server2000以上的版本。針對SQL Server數(shù)據(jù)庫講述Connection、Command、DataAdapter和DataReader對象的用法,它們在其它數(shù)據(jù)庫中
28、也有對應(yīng)的類,除了有些SQL語句語法不一樣之外,用法是基本一樣的2。第3章 系統(tǒng)可行性分析 可行性研究是以相對短的時間和相對低的成本來確定給定的問題是否有解。這里相對短和相對低是指和實現(xiàn)建議系統(tǒng)所需時間和成本相比較而言??尚行匝芯恐饕獜南率?個方面進行分析:技術(shù)可行性、經(jīng)濟可行性、操作可行性。3.1 技術(shù)可行性分析技術(shù)可行性的考慮集中在現(xiàn)存的計算機硬件能否支持被研究的系統(tǒng),首先關(guān)心的是該組織是否有相應(yīng)的軟件和硬件能夠支持處理建議的應(yīng)用程序。其次考慮在規(guī)定平臺之上,利用現(xiàn)有的成熟技術(shù)是否能夠?qū)崿F(xiàn)這個應(yīng)用8?,F(xiàn)代計算機硬、軟件技術(shù)的飛速發(fā)展,為系統(tǒng)建設(shè)提供了技術(shù)條件。計算機等基礎(chǔ)設(shè)施的更新?lián)Q代也緊
29、跟潮流的發(fā)展,這就為開發(fā)系統(tǒng)提供了堅實基礎(chǔ)。本系統(tǒng)的開發(fā)是建立在聯(lián)想G450的2G內(nèi)存和32位操作系統(tǒng)的硬件基礎(chǔ)之上,并且軟件基礎(chǔ)為Microsoft SQL Server 2008和Microsoft Visual Studio 2010,利用ASP.NET技術(shù)進行開發(fā),因此在技術(shù)上該系統(tǒng)的開發(fā)是可行的。3.2 經(jīng)濟可行性分析這是經(jīng)典的并且是最常使用的評價計算機系統(tǒng)的方法。這個評價的結(jié)果稱為成本效益分析。簡單地說,經(jīng)濟可行性研究是確定得自新系統(tǒng)的節(jié)省和利益,將這些利益和系統(tǒng)的實現(xiàn)成本相比較,如果利益超過成本,則開發(fā)新系統(tǒng)的決策是肯定的;否則的話,除非有其他特殊原因,這個決策將是否定的9。本軟
30、件的實現(xiàn)是作為考核學(xué)生學(xué)習(xí)情況的手段,不存在經(jīng)濟可行性的問題。3.3 操作可行性分析是指人員的手工操作而不是指計算機系統(tǒng)操作是否可行,也就是說在實現(xiàn)了建議的計算機系統(tǒng)后,所需要的配合的手工操作是否可行。在對本系統(tǒng)的開發(fā)時對界面的做了更加又好的設(shè)計,加上現(xiàn)在社會的工作學(xué)習(xí)中大多書都需要用到電腦操作,因此對本系統(tǒng)的人工手動操作會更加直觀簡單。第4章 系統(tǒng)需求分析在問題定義階段對建議的功能、規(guī)模和約束條件等已經(jīng)作了規(guī)定。在可行性研究階段通過和使用者的交流,對用戶的需求有了初步的了解。因此在這個階段中,設(shè)計者應(yīng)該進一步澄清問題定義中的模糊部分,更正錯誤部分。通過這個活動,清楚地描述系統(tǒng)的主要功能。4.
31、1 圖例分析(1) 用例的目的:用例圖使我們對系統(tǒng)的功能有了一個整體的認知,我們可以知道有哪些參與者會與系統(tǒng)發(fā)生交互,每一個參與者需要系統(tǒng)為它提供什么樣的服務(wù)。(2) 用例的優(yōu)點:用例方法完全是站在用戶的角度上(從系統(tǒng)的外部)來描述系統(tǒng)的功能的。在用例方法中,我們把被定義系統(tǒng)看作是一個黑箱,我們并不關(guān)心系統(tǒng)內(nèi)部是如何完成它所提供的功能的。用例方法首先描述了被定義系統(tǒng)有哪些外部使用者(抽象成為Actor),這些使用者與被定義系統(tǒng)發(fā)生交互;針對每一參與者,用例方法又描述了系統(tǒng)為這些參與者提供了什么樣的服務(wù)(抽象成為Use Case),或者說系統(tǒng)是如何被這些參與者使用的。所以從用例圖中,我們可以得到
32、對于被定義系統(tǒng)的一個總體印象7。 與傳統(tǒng)的功能分解方式相比,用例方法完全是從外部來定義系統(tǒng)的功能,它把需求與設(shè)計完全分離開來。在面向?qū)ο蟮姆治鲈O(shè)計方法中,用例模型主要用于表述系統(tǒng)的功能性需求,系統(tǒng)的設(shè)計主要由對象模型來記錄表述。另外,用例定義了系統(tǒng)功能的使用環(huán)境與上下文,每一個用例描述的是一個完整的系統(tǒng)服務(wù)(3) 確定本系統(tǒng)功能的用戶用例圖,如圖4.1。a. 用戶登陸本系統(tǒng);b. 已經(jīng)注冊的用戶:直接輸入用戶名和密碼登陸系統(tǒng);c. 未注冊用戶:進入注冊頁面,進行新用戶注冊;d. 登陸成功:進入郵箱,其中具有收發(fā)郵件、寫郵件、刪除郵件等功能;e. 操作系統(tǒng)完成:可以退出本系統(tǒng)。登錄注冊普通用戶進
33、入郵箱寫郵件發(fā)送郵件收郵件刪郵件移動郵件退出圖4.1 系統(tǒng)用戶的用例圖(4) 確定本系統(tǒng)功能的管理員用例圖,如圖4.2。a. 返回管理員登陸界面;b. 管理用戶信息;c. 退出管理員系統(tǒng)。管理員登錄添加用戶刪除用戶修改用戶資料退出管理用戶修改密碼顯示用戶詳細資料圖4.2 系統(tǒng)管理員的用例圖4.2 系統(tǒng)管理員功能(1) 管理員登錄:系統(tǒng)初始化好系統(tǒng)管理員,管理員能夠通過該入口進入后臺進行管理操作。(2) 管理員管理注冊用戶:管理員可以對系統(tǒng)的注冊用戶進行管理,查詢系統(tǒng)中的注冊用戶,直接添加用戶,對于違規(guī)用戶可以刪除,以及查看某注冊用戶的詳細注冊信息和修改用戶資料。(3) 管理員修改密碼:管理員可
34、以修改管理員密碼。(4) 用戶注冊:新用戶可以注冊。注冊的用戶信息包括注冊用戶名名、密碼、真實姓名、手機號碼、生日、電子郵件等。所有的信息都是必填項。4.3 用戶功能(1) 用戶登錄:系統(tǒng)注冊用戶使用自己注冊的用戶名登錄系統(tǒng),進行郵件的收發(fā)和管理。其中郵件的管理又包括收件箱、垃圾箱、發(fā)件箱、我的好友等的管理。(2) 撰寫發(fā)送郵件:填寫收件人、標題和收件內(nèi)容后,可以給發(fā)件人發(fā)送郵件。(3) 收件箱管理:顯示用戶所有收到的郵件列表,可以查看郵件的詳細內(nèi)容,可以選中所要刪除的郵件進行刪除或者刪除收件箱中所有郵件,也可以將郵件移動到垃圾箱中。(4) 發(fā)件箱管理:顯示用戶發(fā)送的所有郵件列表,可以查看郵件
35、的詳細內(nèi)容,可以選中所要刪除的郵件進行刪除或者刪除所有已發(fā)郵件。(5) 垃圾箱管理:顯示用戶從收件箱或者發(fā)件箱移到垃圾箱中的郵件,可以查看郵件的詳細內(nèi)容,可以選中所要刪除的郵件進行刪除或者刪除垃圾箱中所有郵件,所刪除的郵件則被徹底地刪除。(6) 我的好友管理:顯示所有好友列表,可以添加好友,可以選中所要刪除記錄進行刪除或者刪除所有好友,可以查看個人詳細信息。第5章 系統(tǒng)概要設(shè)計5.1 系統(tǒng)流程圖系統(tǒng)流程圖又叫事務(wù)流程圖,是在計算機事務(wù)處理應(yīng)用進行系統(tǒng)分析時常用的一種描述方法(另一個是數(shù)據(jù)流圖),它描述了計算機事務(wù)處理中從數(shù)據(jù)輸入開始到獲得輸出為止,各個處理工序的邏輯過程10。5.1.1 管理員
36、系統(tǒng)功能流程圖管理員登陸管理用戶修改密碼添加用戶查看用戶信息修改用戶資料刪除用戶修改圖的字體首先管理員要系統(tǒng)參數(shù)設(shè)置和管理,當用戶注冊成為系統(tǒng)用戶之后,管理員在進行對用戶的管理工作,流程如下圖5.1所示。圖5.1 系統(tǒng)流程圖-管理員5.1.2 普通用戶的系統(tǒng)功能流程圖 沒有身份的用戶需要先注冊,登錄系統(tǒng)后可以新建郵件、發(fā)送郵件新建文件夾、移動郵件等郵件管理操作。如下圖5.2所示。普通用戶登錄文件管理郵件管理我的好友添加文件夾刪除文件夾收取郵件撰寫郵件發(fā)送郵件移動郵件刪除郵件添加好友刪除好友查看好友信息圖5.2 系統(tǒng)功能圖-普通用戶5.2 系統(tǒng)模塊功能圖 通過系統(tǒng)模塊的功能圖描述,可以很直觀的看
37、到系統(tǒng)的各個功能組件,功能圖如下圖5.3所示。此模塊的功能圖是從整個系統(tǒng)出發(fā),描繪出來的。其中介紹了管理員各個功能和基本用戶的功能等等。用模塊的功能圖描繪整個系統(tǒng),使系統(tǒng)各個功能清晰可見,層次分明,是一種比較好的方法。郵件管理系統(tǒng)管 理 員 登 錄用 戶 登 錄用戶注冊管 理 用 戶修 改 密 碼添 加 用 戶文 件 夾 管 理 郵 件 管 理 我 的 好 友查看用戶信息 修改用戶資料刪除用戶 添加文件夾刪除文件夾收取郵件 撰寫郵件 發(fā)送郵件 移動郵件 刪除郵件 添加好友 刪除好友 查看好友信息 圖5.3 模塊的功能圖5.3 數(shù)據(jù)庫需求分析本系統(tǒng)根據(jù)上面的設(shè)計規(guī)劃出的實體包括用戶信息實體(Us
38、ers)、郵件實體(Mails)、好友實體(Friends)、文件夾實體(Floders)等。通過對實體聯(lián)系的分析,一個用戶管理多個郵件和文件夾,一個文件夾中有多個郵件,一個用戶有多個好友,一個好友發(fā)送多個郵件。使用Microsoft visio2007設(shè)計E-R模型。將現(xiàn)實的信息簡化為實體與實體之間的聯(lián)系。實體關(guān)系圖的分析結(jié)果也非常復(fù)雜,一般情況下使用自底向上的方法,首先對局部視圖進行分析設(shè)計,然后再實現(xiàn)視圖集成。這里不再對局部視圖進行設(shè)計,直接給出視圖集成后的E-R圖,如圖5.5所示。圖5.4郵件管理系統(tǒng)數(shù)據(jù)庫E-R圖在設(shè)計時,充分考慮了用戶使用郵件系統(tǒng)收發(fā)郵件的便捷性。其實,以上E-R圖
39、只是簡易郵件系統(tǒng)最基本元素的實體關(guān)系圖,讀者可以在此基礎(chǔ)上根據(jù)用戶的不同需要進行擴展。5.4 數(shù)據(jù)庫數(shù)據(jù)模型設(shè)計在郵件服務(wù)器系統(tǒng)的數(shù)據(jù)庫設(shè)計中,首先要創(chuàng)建系統(tǒng)數(shù)據(jù)庫,然后在數(shù)據(jù)庫中創(chuàng)建需要的表和字段。數(shù)據(jù)庫設(shè)計是系統(tǒng)設(shè)計中非常重要的一個環(huán)節(jié),因為數(shù)據(jù)庫設(shè)計就像在建設(shè)高樓大廈的根基一樣,如果設(shè)計不好,在后來的系統(tǒng)維護、變更和功能擴充時,甚至于在系統(tǒng)開發(fā)過程中,都將會引起比較大的問題,有時大量的工作將會重新進行??紤]到將來功能上的擴展,設(shè)計如下所示的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):用戶信息:包括數(shù)據(jù)項,有用戶名、密碼等。郵件信息:包括數(shù)據(jù)項,有發(fā)件人、收件人、主題、內(nèi)容、發(fā)送時間等。文件夾信息:包括數(shù)據(jù)項,有文
40、件夾名稱、郵件總數(shù)、未讀郵件數(shù)、創(chuàng)建時間等。基于上面的設(shè)計,在設(shè)計系統(tǒng)中的各表,表與表之間相互關(guān)聯(lián),共同存儲著系統(tǒng)所需要的數(shù)據(jù)。在設(shè)計數(shù)據(jù)庫表的過程中,一般要遵循幾條原則,用數(shù)據(jù)庫設(shè)計一個表最好只存儲一個實體或?qū)ο蟮南嚓P(guān)信息,不同的實體最好存儲在不同的數(shù)據(jù)表中,如果實體還可以再劃分,實體的劃分原則是最好能夠比當前系統(tǒng)要開發(fā)的實體的復(fù)雜度?。粩?shù)據(jù)表的信息結(jié)構(gòu)一定要合適,標的字段的數(shù)量一般不要過多;擴充信息和動態(tài)變化的信息一定要分開在不同的表里;多對多這樣的表關(guān)系盡量不要出現(xiàn)等。5.4.1 創(chuàng)建數(shù)據(jù)庫在創(chuàng)建表與視圖之前,首先要創(chuàng)建一個數(shù)據(jù)庫,步驟如下:(1) 啟動SQLServer服務(wù)管理器,啟動
41、服務(wù)。(2) 進入企業(yè)管理器,建立數(shù)據(jù)庫WebMail。本系統(tǒng)表的設(shè)計結(jié)果如表5.1所示。表5.1數(shù)據(jù)庫表編號數(shù)據(jù)庫表數(shù)據(jù)庫表存儲內(nèi)容1Users 用戶表2Mails郵件信息記錄表3Folders文件夾表4Friends好友表5.4.2 創(chuàng)建數(shù)據(jù)表(1) 用戶表表5.2是用戶表,該表包含了用戶的基本且必要的信息,其中UserID是“用戶編號”,是主鍵,系統(tǒng)為用戶分配的唯一標識符,它在整個用戶表存儲的數(shù)據(jù)里是互不相同的,而且在系統(tǒng)的許多其它表里也要用到它;用戶名和密碼也是必需的,作為用戶登錄的入口;用戶類型用來區(qū)別是管理員還是普通用戶。表5.2Users 用戶表編號字段含義類型1UserID用戶
42、編號int2UserName用戶名varchar3RealName真實姓名varchar4UserPwd密碼varchar5Phone電話號碼varchar6Birthday生日varchar7EmailE-mailvarchar8UserType用戶類型varchar(2) 郵件信息記錄表表5.3是郵件信息記錄表,記錄系統(tǒng)用戶所發(fā)送的所有郵件。其中MailID是“郵件編號”,是主鍵,系統(tǒng)為郵件分配的唯一標識符,它在整個郵件信息記錄表存儲的數(shù)據(jù)里是互不相同的,而且在系統(tǒng)的許多其它表里也要用到它;UserID是外鍵,對應(yīng)到用戶表中相應(yīng)的用戶;FolderID 也是外鍵對應(yīng)到文件夾表中響應(yīng)的文件夾
43、;IsRead用來標記是否已讀;Trash用來標記是否為垃圾郵件。表5.3 Mails郵件信息記錄表編號字段含義類型1MailID郵件編號int2UserID用戶編號int3Title標題varchar4Body郵件內(nèi)容text5FromAddress發(fā)件人地址nvarchar6ToAddress收件人地址nvarchar7SenderDate發(fā)送日期datetime8FolderID文件夾編號int9IsRead是否已讀bit10Trash是否為垃圾郵件int(3) 文件夾表 表5.4是用戶表,該表包含了文件夾的基本且必要的信息,其中FolderID是“文件夾編號”,是主鍵,系統(tǒng)為文件夾分配
44、的唯一標識符,它在整個文件夾表存儲的數(shù)據(jù)里是互不相同的,而且在系統(tǒng)的許多其它表里也要用到它;AddUser是外鍵,對應(yīng)到用戶表中的相應(yīng)的用戶。表5.4 Folders文件夾表編號字段含義類型1FolderID文件夾編號int2Name文件夾名稱varchar3Total文件夾中的郵件總數(shù)int 4NoReader未讀郵件數(shù)量int5CreateDate創(chuàng)建時間datetime7AddUser添加文件夾的用戶nvarchar(4) 好友表表5.5是friend好友表,該表用于記錄用戶加入到好友列表的用戶,ID是主鍵;FriendName是好友的用戶名;UserName是添加改好友的用戶的用戶名;
45、AddDate是添加好友的時間。表5.5 Friends好友表編號字段含義類型1ID唯一編號int2FriendName好友用戶名varchar3UserName用戶名varchar4AddDate添加時間datetime至此,個個數(shù)據(jù)表的結(jié)構(gòu)全部設(shè)計完成,即定義好郵件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),用于存儲郵件系統(tǒng)中的各項數(shù)據(jù)。第6章 程序設(shè)計與實現(xiàn)6.1 系統(tǒng)設(shè)計概括 有系統(tǒng)設(shè)計可知本系統(tǒng)的設(shè)計共分為如下兩大部分:(1) 管理模塊用于管理員對注冊用戶管理,它包括:管理員登錄界面;用戶管理:列表、查看、增加、刪除;管理員修改密碼。(2) 用戶模塊:用于用戶進行郵件管理,它包括:注冊:注冊;登錄:登錄;撰寫發(fā)
46、送郵件:發(fā)送郵件;收件箱管理:列表、查看、刪除、移動;垃圾箱管理:列表、查看、刪除、移動;發(fā)件箱管理:列表、查看、刪除、移動;好友管理:列表、添加、查看、刪除。根據(jù)這些整體關(guān)系的設(shè)計下面對每一個部分給出主界面的設(shè)計及其設(shè)計思路。6.2 功能模塊設(shè)計與實現(xiàn)6.2.1 管理員模塊的設(shè)計與實現(xiàn)在管理員用戶登錄的界面中,包括用戶名和密碼得輸入文本框和登錄身份選擇的下拉框,管理員在登錄時選擇管理員身份進行登錄,以及提交登錄按鈕和注冊按鈕。管理員登錄界面如圖6.1所示。圖6.1管理員登錄界面string xiaoUserName = txtUserName.Text.ToString().Trim();s
47、tring xiaoUserPwd = txtPwd.Text.ToString().Trim(); Users userLogin = new Users();bool isLogin = userLogin.IsExists(xiaoUserName, xiaoUserPwd);if (isLogin = true)string strUserType = userLogin.GetUserType(xiaoUserName);if (ddlUserType.SelectedValue.Equals("User") && strUserType.Equa
48、ls("1") Session"userName" = xiaoUserName; FormsAuthentication.RedirectFromLoginPage(txtUserName.Text.Trim(), false); else if (ddlUserType.SelectedValue.Equals("Admin")&&strUserType.Equals("2") Session"adminName" = xiaoUserName; Response.Redir
49、ect("/Admin/Default.aspx"); elsethis.ClientScript.RegisterStartupScript(this.GetType(),Guid.NewGuid().ToString(), "alert('用戶類型選擇錯誤,請重新選擇!);", true); return;else Response.Write("<script language=javascript>alert('用戶名或密碼錯誤,請重新輸入');</script>");該段代碼主
50、要通過將管理員輸入的用戶名和密碼和數(shù)據(jù)庫中的用戶名和密碼進行比較,來進行判斷,只有管理員輸入的用戶名和密碼與數(shù)據(jù)庫中的相同時才可以登錄到管理員界面。管理員登錄后,首要的功能是對系統(tǒng)用戶的管理。管理員的管理界面上具有進入用戶管理、添加用戶和修改密碼的入口。當管理員進行管理操作之后,要退出管理界面,則要退出管理的出口。圖6.2所示即為管理員登錄后的用戶管理界面,可以查看用戶的詳細信息,編輯用戶的信息,刪除用戶。用戶的信息需要由系統(tǒng)管理員來進行管理和維護。為此,設(shè)計了用戶列表的界面,該界面中需要包括如下的信息:用戶名、真實姓名、密碼、手機號碼、生日、Email等,還提供用戶管理的入口,包括產(chǎn)看用戶的
51、詳細信息、修改用戶信息、刪除等。圖6.2管理員登錄用戶管理private void LoadgvAllUser() this.gvAllUser.DataSource = user.GetAllUsers_DS(); this.gvAllUser.DataBind(); 這段代碼使所有的用戶信息顯示在GridView控件gvAllUser中。protected void gvAllUser_RowCommand(object sender, GridViewCommandEventArgs e) if (e.CommandName = "View")this.Respons
52、e.Redirect("/Admin/UserDetail.aspx?UserID="+e.CommandArgument.ToString();else if (e.CommandName = "Edit")this.Response.Redirect("/Admin/UserEdit.aspx?UserID="+e.CommandArgument.ToString(); 該段代碼實現(xiàn)查看用戶的詳細信息,用戶點擊gvAllUser中的“詳細”按鈕,會跳轉(zhuǎn)到用戶詳細信息現(xiàn)實的頁面上。圖6.3所示為管理員查看用戶詳細信息的界面,管理員可
53、以通過此界面查看用戶的詳細信息。圖6.3管理員用戶管理界面實現(xiàn)管理員查看用戶詳細信息的代碼如下:protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) LoadUserInfo(); private void LoadUserInfo() if (Request"UserID" = null) this.ClientScript.RegisterStartupScript(this.GetType(),Guid.NewGuid().ToString(), "alert('輸
54、入?yún)?shù)錯誤!');", true); return; DataSet ds_User = new Users().GetUserDetail(Request"UserID".ToString(); if (ds_User.Tables0.Rows.Count < 1) this.ClientScript.RegisterStartupScript(this.GetType(),Guid.NewGuid().ToString(), "alert('錯誤!');", true); return; lblUserName
55、.Text = ds_User.Tables0.Rows0"UserName".ToString(); lblPwd.Text = ds_User.Tables0.Rows0"UserPwd".ToString(); lblRealName.Text = ds_User.Tables0.Rows0"RealName".ToString(); lblPhone.Text = ds_User.Tables0.Rows0"Phone".ToString(); lblBirthday.Text = ds_User.Tabl
56、es0.Rows0"Birthday".ToString(); lblEmail.Text = ds_User.Tables0.Rows0"Email".ToString(); 管理員用過點擊用戶列表中的詳細按鈕查看想要查看的用戶的詳細信息,通過點擊用戶列表中的刪除按鈕,刪除用戶,刪除成功后提示“刪除成功!”,刪除不成功提示“刪除失??!”,實現(xiàn)代碼如下: protected void gvAllUser_RowDeleting(object sender, GridViewDeleteEventArgs e) if (user.DeleteUser(this.gvAllUser.DataKeyse.RowIndex.Value.ToString()this.ClientScript.RegisterStartupScript(this.GetType(),Guid.NewGuid().ToString(), "alert('刪除成功!');", true); elsethis.ClientScript.RegisterStartupScript(this.GetType(),Guid
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 村委會道德講堂課程設(shè)計
- 煙臺大學(xué)《線性代數(shù)與概率論》2023-2024學(xué)年第一學(xué)期期末試卷
- 數(shù)碼產(chǎn)品店前臺接待工作總結(jié)
- 保險傳媒業(yè)促銷策略總結(jié)
- 直營店的經(jīng)營管理計劃
- 數(shù)學(xué)備課組工作總結(jié)4篇
- 法律援助與法律咨詢服務(wù)
- 家居服飾行業(yè)銷售工作總結(jié)
- 建筑設(shè)計行業(yè)美工工作要點
- 2024年度藝術(shù)區(qū)單間租賃合同范本3篇
- 2023-2024學(xué)年高考英語真題復(fù)習(xí)-定語從句(附解析)
- 游遍亞運參賽國(地區(qū))智慧樹知到期末考試答案2024年
- 綜合布線實訓(xùn)實驗報告
- 2024HW藍紅攻防網(wǎng)絡(luò)安全防御體系
- 4-4環(huán)網(wǎng)柜倒閘操作票填寫與執(zhí)行
- 農(nóng)村污水處理設(shè)施運維方案服務(wù)承諾及質(zhì)量保證
- 2024年中國人民保險人保投資控股有限公司招聘筆試參考題庫含答案解析
- (高清版)DZT 0211-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 重晶石、毒重石、螢石、硼
- 人身侵權(quán)案例課件
- 初中生無神論專題教育課件
- 湖北省武漢市部分名校2023-2024學(xué)年高三年級上冊摸底聯(lián)考物理試題(解析版)
評論
0/150
提交評論