【正文】
實(shí)體分析方法,即常用的實(shí)體聯(lián)系模型(簡(jiǎn)稱(chēng)ER模型),對(duì)具體數(shù)據(jù)進(jìn)行抽象加工,將實(shí)體集合抽象成實(shí)體類(lèi)型。 實(shí)體型:用矩形表示,矩形內(nèi)寫(xiě)明實(shí)體名稱(chēng);178。(1)文檔信息屬性 文檔信息實(shí)體屬性 Attribute of Document(2)工作計(jì)劃屬性 工作計(jì)劃實(shí)體屬性 Attribute of Planning(3)員工屬性 員工實(shí)體屬性 Attribute of employee(4)總體關(guān)系圖 ER圖 The ER chart 邏輯設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本ER圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。在Department表中主鍵是Department_ID;在Person表中主鍵是PS_ID;在Document表中ID是主鍵,AuthorID(文檔創(chuàng)建者ID)對(duì)應(yīng) Person表中的主鍵PS_ID,DP_ID(創(chuàng)建文檔的部門(mén)ID)對(duì)應(yīng)Department表中的主鍵Department_ID;在Task表中,主鍵是ID,AuthorID(創(chuàng)建者ID)對(duì)應(yīng)Person表的主鍵PS_ID,AssignTo(任務(wù)的執(zhí)行人ID)對(duì)應(yīng)Person表的主鍵PS_ID。在公共信息管理模塊中,涉及的表有Department表、Menu表、DP_Menu表Document表、EntryPoint表、QueryField表、ResCategory表、Task表、Person表。系統(tǒng)的輸入是向后臺(tái)數(shù)據(jù)庫(kù)錄入數(shù)據(jù),而系統(tǒng)為用戶(hù)服務(wù)主要是通過(guò)輸出的功能,即把后臺(tái)數(shù)據(jù)庫(kù)運(yùn)行的結(jié)果顯示出來(lái)。該模塊設(shè)計(jì)到了許多輸入輸出環(huán)節(jié),例如文檔信息的錄入、修改和查詢(xún);工作計(jì)劃的錄入、修改和查詢(xún)等。模塊Common中的Query方法, Framework提供的SqlDataAdapter對(duì)象來(lái)根據(jù)select語(yǔ)句從數(shù)據(jù)庫(kù)中得到相應(yīng)的數(shù)據(jù)填充要返回的DataSet。簡(jiǎn)潔大方、激勵(lì)員工士氣的登錄界面,使每一位員工感覺(jué)到一種樂(lè)觀向上的精神。(1)菜單菜單提供了員工可執(zhí)行動(dòng)作的標(biāo)題。(2)TabControlTabControl是主框架的主體部分,先利用panel及其dock屬性將它分為左右兩部分。(3)狀態(tài)條狀態(tài)條位于界面的最下端,其包含菜單功能說(shuō)明、未讀郵件、登錄人姓名、登錄人所屬部門(mén)四項(xiàng)。系統(tǒng)實(shí)現(xiàn)是信息系統(tǒng)生命周期中一個(gè)重要階段。 本系統(tǒng)使用的計(jì)算機(jī)配置信息為:硬件要求:PIII500 CPU 384M內(nèi)存操作系統(tǒng):Microsoft Windows Server 2003 編程環(huán)境:Microsoft Visual 2003數(shù)據(jù)庫(kù)服務(wù)器:Microsoft SQL Server 2000 系統(tǒng)功能模塊的實(shí)現(xiàn),在我們的程序設(shè)計(jì)過(guò)程中也充分利用了這一特性,每一個(gè)功能模塊都對(duì)應(yīng)一個(gè)類(lèi),然后提取出程序中公用的方法到Common 模塊中來(lái)提高代碼的復(fù)用率,同時(shí)數(shù)據(jù)庫(kù)中的每一張表在程序中也會(huì)有相應(yīng)的類(lèi)與之對(duì)應(yīng)。MyMailMail類(lèi)型變量,定義和郵件相關(guān)的變量和方法,Mail類(lèi)的詳細(xì)說(shuō)明請(qǐng)參見(jiàn)Mail類(lèi)。Private Function checkPWD(ByVal psid As String, ByVal pwd As String) As String根據(jù)傳入的用戶(hù)ID(參數(shù)psid)和口令(參數(shù)pwd)驗(yàn)證是否是合法用戶(hù),登錄成功時(shí)返回success,失敗時(shí)返回相應(yīng)的信息(39。②. 擴(kuò)展的MenuItem類(lèi)MenuItemEx類(lèi)型繼承了MenuItem類(lèi),添加了MenuTag類(lèi)型的TagEx屬性。⑤. IcanRefreshData類(lèi)通過(guò)IcanRefreshDataForm接口,來(lái)實(shí)現(xiàn)自動(dòng)刷新數(shù)據(jù)的功能。當(dāng)系統(tǒng)運(yùn)行時(shí),用戶(hù)切換當(dāng)前顯示頁(yè)面的時(shí)候會(huì)激發(fā)tabControl_SelectionChanged事件,此時(shí)系統(tǒng)會(huì)判斷當(dāng)前顯示的頁(yè)面是否實(shí)施了IcanRefreshDataForm接口,如果當(dāng)前頁(yè)面實(shí)施了IcanRefreshDataForm接口,就會(huì)調(diào)用該頁(yè)面的RefreshData方法,從而實(shí)現(xiàn)了自動(dòng)刷新該頁(yè)面的數(shù)據(jù)。 V_PSInfo視圖和dsPSInfo類(lèi)的對(duì)比表 The table of contract with V_PSInfo and dsPSInfoV_PSInfo視圖dsPSInfot類(lèi)數(shù)據(jù)庫(kù)字段字段類(lèi)型類(lèi)中成員成員數(shù)據(jù)類(lèi)型PS_IDvarchar(50)PS_IDstringPS_NAMEnvarchar(50)PS_NAMEstringDepartment_NAMEnvarchar(50)Department_NAMEstringAgeintAgeintBirthdaydatetimeBirthdaydateTimeAddressnvarchar(50)AddressstringSexnvarchar(50)SexstringTELnvarchar(50)TELstringeMailnvarchar(50)eMailstringDepartment_IDvarchar(50)Department_IDstringFORBIDbitFORBIDbooleanMyResumenvarchar(50)MyResumestringMemonvarchar(50)Memostring③. dsDocument類(lèi),對(duì)應(yīng)于數(shù)據(jù)庫(kù)中的視圖V_Document。,在Sub Main()方法中,只有當(dāng)用戶(hù)登錄成功后才啟動(dòng)主程序,用戶(hù)沒(méi)有登錄成功是進(jìn)不了系統(tǒng)的。 登錄窗體Fig. The picture of Form Login實(shí)現(xiàn)登錄的源代碼分析—請(qǐng)參見(jiàn)附錄1。靜態(tài)菜單是系統(tǒng)的基本功能,每個(gè)登錄用戶(hù)都可以使用();動(dòng)態(tài)菜單則根據(jù)等登錄用戶(hù)是否有可用的權(quán)限來(lái)加載:首先,使用數(shù)據(jù)庫(kù)中的Menu表、EntryPoint表、DP_Menu表和V_PS_MENU試圖。在EntryPoint表存放著系統(tǒng)動(dòng)態(tài)加載的模塊信息。即:從視圖V_PS_MENU找到登錄人可以操作的按MENU_ID排好序的菜單信息列表。在狀態(tài)條中員工可以看見(jiàn)登錄者的姓名,所屬部門(mén)和未接收郵件的件數(shù),狀態(tài)條還提供了動(dòng)態(tài)菜單說(shuō)明的功能。頁(yè)面加載時(shí)會(huì)在界面左半部分的tvCategory里根據(jù)數(shù)據(jù)庫(kù)中的ResCategory表來(lái)初始化文檔分類(lèi)樹(shù)(具體代碼在BuildCategoryTree方法中實(shí)現(xiàn))。選中某條記錄,然后按DEL鍵,可以刪除該用戶(hù)有權(quán)刪除的紀(jì)錄。修改文檔時(shí),點(diǎn)擊修改按鈕后,修改按鈕變?yōu)楸4妫x開(kāi)按鈕變?yōu)槿∠?。點(diǎn)擊不同的文檔分類(lèi),在代碼中會(huì)產(chǎn)生相應(yīng)的查詢(xún)條件,然后調(diào)用ShowTask方法在界面的右半部分得到相應(yīng)的結(jié)果。同時(shí)它也實(shí)現(xiàn)了IcanRefreshDataForm接口,具有自動(dòng)刷新數(shù)據(jù)功能。它通過(guò)DownloadEMails方法下載郵件列表,供員工查看接收的郵件,員工可看到發(fā)件人、發(fā)件人地址 、主題、附件、時(shí)間和郵件大小。同時(shí)也可在此點(diǎn)擊設(shè)置按鈕進(jìn)行郵件服務(wù)器配置,配置郵件服務(wù)器也可在主框架的設(shè)置中實(shí)現(xiàn)。因?yàn)镸icrosoft Web Browser控件需要初始化其顯現(xiàn)的網(wǎng)頁(yè)后才能對(duì)其文檔進(jìn)行操作,所以在執(zhí)行GetMailInfo方法前,先將Microsoft Web 。Fig. The picture of viewing mail detail(3)新郵件的實(shí)現(xiàn)。一個(gè)無(wú)參數(shù)的是用來(lái)初始化新建郵件,一個(gè)需要傳入?yún)?shù)_to和_subject,用來(lái)初始化回復(fù)郵件。(2)系統(tǒng)使用權(quán)限控制系統(tǒng)功能菜單根據(jù)登錄用戶(hù)權(quán)限動(dòng)態(tài)生成,用戶(hù)看不到也無(wú)法操作自己無(wú)權(quán)的使用的模塊。公共信息管理模塊整體上展現(xiàn)了文檔信息、工作計(jì)劃和電子郵件三者的關(guān)系,所謂的工作計(jì)劃也是文檔信息的產(chǎn)物。3. 打開(kāi)多個(gè)編輯文檔窗口時(shí),文檔標(biāo)簽標(biāo)示的不詳細(xì)。致謝在孫曉梅老師的悉心指導(dǎo)下,我的畢業(yè)設(shè)計(jì)終于完成了,也畫(huà)上了一個(gè)完美的句號(hào)。我還特別感謝在整個(gè)畢業(yè)設(shè)計(jì)期間給予我?guī)椭耐瑢W(xué)張曉萌、李佳、王琳、屈進(jìn)、于津、馬靜、李岱怡、李為潔和朋友趙巔、郎東立、何永珊,在我最困難的時(shí)候,他們以最大的耐心幫助我,給了我極大的技術(shù)支持和心理激勵(lì)。登錄嘗試次數(shù)計(jì)數(shù) Dim i As Integer = 0 Do 39。在這不同尋常的日子里,我對(duì)所有幫助過(guò)我的老師、同學(xué)和朋友們表示深深的感謝,獻(xiàn)上我衷心地祝愿,愿生活中最美好的東西永遠(yuǎn)和你們相伴!參考文獻(xiàn)[1] 張德. 人力資源開(kāi)發(fā)與管理,第二版. 清華大學(xué)出版社, 2004年6月[2] [美]Richard Blair. . 清華大學(xué)出版社, 2003年2月[3] [美]克里斯/賈斯廷. Visual Basic .NET Windows , 2005年4月[4] [美]Charles Petzold. Microsoft Windows程序設(shè)計(jì)—Visual Basic ., 2004年5月1日[5] 銀華強(qiáng). . 中國(guó)鐵道出版社, 2003年3月[6] [美]Ricardo BaeazaYates, Berthier , 2005年3月1日[7] [美]Bill Forgey. . 清華大學(xué)出版社, 2002年7月[8] 求是科技. SQL Server 2000數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)與工程實(shí)踐. 人民郵電出版社, 2004年6月[9] Thomas , Joy A. Thomas. 信息論基礎(chǔ). 清華大學(xué)出版社,2003年1月[10] VB愛(ài)好者. . 2005年4月1日[11] Phil Wright. Magic Docking Style. 2002年9月30日附錄附錄1 實(shí)現(xiàn)登錄的源代碼分析Public Function Login() As Boolean 39。由衷地感謝孫曉梅老師對(duì)我的關(guān)懷和指導(dǎo),老師淵博的專(zhuān)業(yè)知識(shí)、嚴(yán)密的邏輯思維、認(rèn)真負(fù)責(zé)的工作態(tài)度、嚴(yán)謹(jǐn)?shù)闹螌W(xué)風(fēng)格,給予了我極大的鼓勵(lì)和幫助。但也就是在這三個(gè)月的歷練中,我學(xué)到了很多東西,深深體會(huì)到了能量和毅力可以征服一切。由于開(kāi)發(fā)時(shí)間的限制以及開(kāi)發(fā)者自身技術(shù)水平?jīng)]有達(dá)到駕輕就熟的能力,本系統(tǒng)模塊還存在很多不完善,需要以后改進(jìn)的地方,具體問(wèn)題如下:1. 在接收和發(fā)送郵件時(shí)易產(chǎn)生時(shí)間間隔,有時(shí)也會(huì)因網(wǎng)絡(luò)不通,無(wú)法取得與服務(wù)器的連接。 系統(tǒng)實(shí)用性分析本系統(tǒng)采用windows窗體作為用戶(hù)接口,為用戶(hù)提供了最為便捷的使用體驗(yàn),同時(shí)依靠強(qiáng)大的客戶(hù)端運(yùn)行能力,對(duì)數(shù)據(jù)的錄入提供了比網(wǎng)頁(yè)更為完美的驗(yàn)證,對(duì)數(shù)據(jù)的輸出給用戶(hù)提供更為強(qiáng)大的檢索能力。Fig. The picture of new mail第6章 公共信息管理模塊的系統(tǒng)測(cè)試(1)存儲(chǔ)過(guò)程的參數(shù)方向問(wèn)題操作:在VS2003中編譯無(wú)誤,系統(tǒng)運(yùn)行用戶(hù)登錄驗(yàn)證時(shí)錯(cuò)誤:系統(tǒng)異常退出提示:未處理的“”類(lèi)型的異常出現(xiàn)在 中錯(cuò)誤原因:存儲(chǔ)過(guò)程的參數(shù)desc未標(biāo)識(shí)為輸出參數(shù)。員工需要輸入收件人地址、主題和信函內(nèi)容,在Send方法中實(shí)現(xiàn)了郵件的發(fā)送。通過(guò)SaveAttachment方法來(lái)保存郵件中的附件。通過(guò)GetMailInfo方法下載郵件的詳細(xì)內(nèi)容??梢渣c(diǎn)中某個(gè)郵件,點(diǎn)刪除按鈕,即可刪除該郵件。 工作計(jì)劃增刪改界面Fig. The picture of task modification 電子郵件管理子模塊的實(shí)現(xiàn)(1)電子郵件列表的實(shí)現(xiàn)員工點(diǎn)擊郵箱或是我的收件箱。重載構(gòu)造函數(shù),一個(gè)無(wú)參數(shù)的是用來(lái)初始化新增工作計(jì)劃,員工必須填寫(xiě)完整信息,包括標(biāo)題、優(yōu)先級(jí)、狀態(tài)、開(kāi)始時(shí)間、結(jié)束時(shí)間、創(chuàng)建者和執(zhí)行人,執(zhí)行人通過(guò)選擇人員窗口選擇;一個(gè)需要傳入?yún)?shù)taskID,用來(lái)對(duì)已有的工作計(jì)劃進(jìn)行操作,員工可以修改、刪除自己創(chuàng)建的工作計(jì)劃,也可修改上一級(jí)指派的工作計(jì)劃,但是無(wú)權(quán)刪除上一級(jí)指派的工作計(jì)劃。點(diǎn)擊新計(jì)劃按鈕可以打開(kāi)新增工作計(jì)劃頁(yè)面。 文檔增刪改界面Fig. The picture of document modification 工作計(jì)劃管理子模塊的實(shí)現(xiàn)(1) 工作計(jì)劃瀏覽的實(shí)現(xiàn) ,窗體初始化時(shí)會(huì)根據(jù)PersonInfo的信息,在界面上顯示當(dāng)前正在管理誰(shuí)的工作計(jì)劃。 文檔查詢(xún)界面Fig. The picture of query。當(dāng)選中了某個(gè)文檔類(lèi)型和設(shè)置完查詢(xún)條件后,點(diǎn)擊右半部分上端的在XXX中查詢(xún),會(huì)得到相應(yīng)的查詢(xún)結(jié)果(執(zhí)行查詢(xún)的代碼在lbQuery_LinkClicked事件中實(shí)現(xiàn))。 靜態(tài)菜單 The table of static menu父級(jí)菜單系統(tǒng)個(gè)人管理幫助子級(jí)菜單重新登錄更改密碼退出系統(tǒng)工作計(jì)劃使用說(shuō)明我的收件箱新郵件幫助設(shè)置 主框架窗體Fig. The picture of Form Main主框架的源程序分析—請(qǐng)參見(jiàn)附錄2。即:當(dāng)下一條記錄的MENU_ID比上一條長(zhǎng)的時(shí)候,他就是上一條記錄的下級(jí)菜單;一樣長(zhǎng)的時(shí)候,就是同級(jí)菜單;比上一條記錄短的時(shí)候,那一定就是某一個(gè)上級(jí)菜單。定義了視圖V_PS_MENU,從視圖V_PS_MENU中返回員工個(gè)人可操作的菜單。菜單在界面上顯示的順序是根據(jù)菜單的MENU_ID的順序來(lái)決定的ENTRYPOINT_ID是用戶(hù)點(diǎn)擊菜單時(shí)具體執(zhí)行的代碼,是EntryPoint表的外鍵。員工可以看到自己有權(quán)看到的菜單。便于員工的操作,避免了員工重名問(wèn)題,有效地實(shí)現(xiàn)了密碼保護(hù)。①. dsMail類(lèi) dsMail類(lèi)成員表 The table of member in class dsMail成員類(lèi)型說(shuō)明IDstring郵箱中郵