基于MFC檔案管理系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
基于MFC檔案管理系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
基于MFC檔案管理系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
基于MFC檔案管理系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
基于MFC檔案管理系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于mfc檔案管理系統(tǒng)的設(shè)計與實現(xiàn)摘 要檔案管理系統(tǒng)是檔案管理利用計算機技術(shù)的創(chuàng)新,在計算機還未普及之前檔案文件管理都是由工作人員人工存檔,調(diào)閱的方式來操作的?,F(xiàn)在,檔案管理采用計算機智能化管理,采用計算機作為工具來幫助檔案管理員進行更有效的地做好案管理工作。檔案管理系統(tǒng)是典型的信息管理系統(tǒng)(mis),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面?;趘isual c+ 6.0編程工具,并利用其中的mfc類庫,本系統(tǒng)主要是對檔案進行歸檔、查詢、借閱和歸還管理,方便檔案的管理工作和用戶的使用,提供友好的用戶界面,并且具有密碼和權(quán)限管理功能設(shè)計并實現(xiàn)了一種基于sql數(shù)據(jù)庫的實

2、用的檔案管理系統(tǒng)。通過檔案管理系統(tǒng),使檔案管理工作系統(tǒng)化、規(guī)范化、自動化、從而達到提高檔案管理效率的目的。關(guān)鍵詞:檔案管理系統(tǒng);mfc類庫;sqldesign and implementation of file management systemabstractfile management system is the innovative use of computer technology in the computer before the file has not been universal file management manual by the staff files, ac

3、cess to the means of operation. now, the file management generally uses the computer intellectualization management, uses the computer to help the file clerk as the tool to carry on completes the file management work effectively. file management system is a typical management information system (mis

4、), including the development of the main background of the establishment and maintenance of database and application development front-end aspects. based on visual c + + 6.0 programming tools, and use the mfc class library, the system is mainly for file archiving, query, borrow and return of managem

5、ent to facilitate the management of files and users, providing a friendly user interface, and has password management functions and powers of the design and realization of a practical based on sql database file management system. through the file management system, so that systematic work in archive

6、s management, standardization, automation, records management in order to improve efficiency.key words: file management system; mfc library; sql 目 錄第一章 引 言1第二章 系統(tǒng)分析22.1 可行性分析22.2 流程圖32.3 需求分析4第三章 系統(tǒng)設(shè)計53.1 數(shù)據(jù)庫設(shè)計53.1.1 引言53.1.2 數(shù)據(jù)庫概念結(jié)構(gòu)的設(shè)計53.1.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計73.1.4 系統(tǒng)數(shù)據(jù)庫表的定義83.1.5 數(shù)據(jù)庫完整性的設(shè)計103.2 模塊設(shè)計113.2.

7、1 系統(tǒng)架構(gòu)113.2.2 各模塊的功能1233 軟件結(jié)構(gòu)設(shè)計13第四章系統(tǒng)實現(xiàn)1441 開發(fā)工具1442 各個模塊的界面和代碼實現(xiàn)144.2.1 登錄模塊144.2.2 用戶管理模塊184.2.3 機構(gòu)管理模塊274.2.4 檔案庫管理模塊314.2.5 檔案管理模塊364.2.6 借閱管理模塊414.2.7 檔案檢索與借閱模塊444.2.8 我的檔案模塊49結(jié)束語51主要參考文獻52致謝53檔案管理系統(tǒng)的設(shè)計與實現(xiàn)第一章 引 言隨著經(jīng)濟的發(fā)展,社會的進步,計算機越來越深入到我們?nèi)粘5墓ぷ鲗W習及生活中,成為我們?nèi)粘I钪胁豢扇鄙俚妮o助工具。隨著科學技術(shù)的不斷提高,計算機科學日漸成熟,其強大的

8、功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。它已經(jīng)深入到日常工作和生活的方方面面,比如文字處理、信息管理、輔助設(shè)計、圖形圖像處理、教育培訓以及游戲娛樂等。各行各業(yè)的人們無須經(jīng)過特別的訓練就能夠使用電腦完成許許多多復雜的工作。數(shù)據(jù)庫技術(shù)是從60年代初發(fā)展起來的計算機技術(shù),經(jīng)過四十來年的發(fā)展,數(shù)據(jù)庫技術(shù)己經(jīng)趨于成熟,并成功應(yīng)用于信息系統(tǒng)的開發(fā)當中1。當今時代是飛速發(fā)展的信息時代,在各行各業(yè)中離不開信息處理,這正是計算機被廣泛應(yīng)用于信息管理系統(tǒng)的原因。計算機的最大好處在于利用它能夠進行信息管理,不僅提高了工作效率,而且大大的提高了其安全性,尤其對于復雜的信息管理,計算機

9、能夠充分發(fā)揮它的優(yōu)越性。檔案管理是一個單位不可缺少的部分,它的內(nèi)容對于該單位的決策者和管理者來說都至關(guān)重要,所以檔案管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難2。作為計算機科學技術(shù)、數(shù)據(jù)庫技術(shù)應(yīng)用的一部分,使用計算機對事業(yè)單位的檔案信息進行管理,具有手工管理所無法比擬的優(yōu)點。例如:方便借閱、易于歸檔、檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高檔案管理的效率,也是企

10、業(yè)的科學化、正規(guī)化管理,與世界接軌的重要條件。由于這些問題,我認為建立一個檔案管理系統(tǒng),開發(fā)這樣一套信息管理軟件成為很有必要的事情。本課題主要研究如何進行系統(tǒng)分析和設(shè)計,來實現(xiàn)檔案的歸檔、查詢、借閱、審批和歸還流程。在下面的各章中將以開發(fā)一套檔案管理系統(tǒng)為例,談?wù)勂浞治鲞^程、開發(fā)過程和所涉及到的問題及相應(yīng)的解決方法。由于是畢業(yè)設(shè)計,部分較復雜的功能將會在分析階段進行分析,但由于時間有限和能力不足,就未予以實現(xiàn),這不會影響檔案管理系統(tǒng)最基本功能的實現(xiàn)。下面,我先給出檔案管理系統(tǒng)的分析與設(shè)計過程:系統(tǒng)分析階段1 查詢資料了解項目意義、背景2 分析現(xiàn)有系統(tǒng)狀況,羅列用戶需求3 用圖形化工具描述需求4

11、 導出系統(tǒng)邏輯模型系統(tǒng)設(shè)計階 段1 系統(tǒng)數(shù)據(jù)庫的設(shè)計(e-r圖、系統(tǒng)表的定義等)2 系統(tǒng)功能模型3 模塊的劃分4 描述各模塊的功能5 用層次圖描述軟件結(jié)構(gòu)系統(tǒng)實現(xiàn)階 段1 創(chuàng)建、配置系統(tǒng)數(shù)據(jù)庫2 主要模塊的軟件實現(xiàn) 3 不同權(quán)限用戶操作系統(tǒng)流程4 用戶使用系統(tǒng)的過程書寫論文圖1:分析與設(shè)計過程第二章 系統(tǒng)分析2.1 可行性分析(1) 經(jīng)濟可行性檔案管理是單位管理中的一個重要組成部分,涉及到單位管理的各個方面。檔案管理水平的提高,能夠帶動單位各方面水平的提升。利用計算機對單位的檔案進行管理,使檔案管理人員從日常鎖碎的管理工作中解脫出來,更好的協(xié)調(diào)單位人才,大大的提高了人才的利用率,使單位人才的能

12、力得以更充分的發(fā)揮。(2) 技術(shù)可行性以現(xiàn)在的水平看,開發(fā)這樣一個系統(tǒng)有很多方法,主要應(yīng)用到網(wǎng)絡(luò)支持和數(shù)據(jù)庫,運用面向過程和面向?qū)ο蟮木幊陶Z言均可實現(xiàn)。(3) 操作可行性由于大部分單位已經(jīng)具有內(nèi)部網(wǎng),大部分員工已經(jīng)能夠運用辦公自動化系統(tǒng),只要將界面設(shè)計的接近windows的界面風格,在附上用戶使用說明書,操作方面是沒有問題的。2.2 流程圖用戶使用系統(tǒng)實現(xiàn)檔案管理、檔案查詢、借閱等功能的操作流程如圖2所示。用戶登錄是否合法用戶在當前庫中歸檔修改屬性提交借閱申請查詢檔案新增檔案選擇檔案庫是否審批通過移出檔案庫是否按期歸還是否審批通過返回未通過理由到檔案室提取檔案ynynynyn提醒操作系統(tǒng)管理員

13、,庫管理員一般用戶退出 圖2:用戶操作流程圖2.3 需求分析通過調(diào)查,實現(xiàn)檔案管理系統(tǒng)基本功能的需求如下,為了使系統(tǒng)需求更加清晰,下面先給出分層的用戶需求3。(1) 機構(gòu)管理a 只有系統(tǒng)管理員可對系統(tǒng)中的機構(gòu)進行管理;b 機構(gòu)管理要實現(xiàn)新增機構(gòu)、修改機構(gòu)名稱及描述信息、刪除機構(gòu)等功能;c 新增機構(gòu)是要提供機構(gòu)名稱和描述信息;d 刪除機構(gòu)前需要指定別的機構(gòu)繼承該機構(gòu)的檔案或者將該機構(gòu)的所有檔案移出檔案庫。(2) 用戶管理a 根據(jù)權(quán)限不同,用戶可以分為系統(tǒng)管理員,普通管理員和普通用戶;b 可添加和刪除用戶和管理員、查詢用戶的各項信息和驗證用戶登錄。(3) 檔案庫管理及管理員a 可新建檔案庫、刪除檔

14、案庫、修改檔案庫的描述和任命檔案庫的管理員;b 每個檔案庫可指定一名管理員,該管理員在這個檔案庫中有和系統(tǒng)管理員一樣的權(quán)限;c 某檔案庫的管理員可對庫中的檔案進行增加、歸檔、借閱(檢查用戶申請表單)和刪除等操作;d 只有系統(tǒng)管理員才能對檔案庫進行管理。(4) 新增檔案和歸檔a 針對某個檔案庫,只有系統(tǒng)管理員和該檔案庫的管理員才有權(quán)限對該檔案庫下的檔案進行操作;b 用戶可選擇檔案庫,在該檔案庫中新增檔案,在新增檔案時,需要指定該檔案的名稱、所屬機構(gòu)、年度、保管期限和備注,但新增檔案屬未歸檔類型;c 管理員可查看、審核當前庫中新增的檔案,對合格的檔案,管理員可在本檔案庫中進行歸檔操作,而對于不合理

15、的檔案,管理員可修改其屬性再在當前檔案庫中進行歸檔操作或移入別的檔案庫中接受另一庫管理員或系統(tǒng)管理員的審核。(5) 檔案的移出和相關(guān)操作a 管理員可將檔案庫中已歸檔的檔案進行移出操作,移出后的檔案還在系統(tǒng)中,不過此時狀態(tài)為未歸檔狀態(tài);b 對于未歸檔的檔案,管理員可以進行刪除、更新它的信息,也可將它移入別的檔案庫或者在本檔案庫中進行歸檔等操作。(6) 檔案查詢a 用戶可以查詢已歸檔的檔案;b 系統(tǒng)要能提供多種查詢條件,如按檔案名、所屬機構(gòu)、歸檔時間或所在檔案庫進行查詢。(7) 借閱申請a 用戶可對已歸檔的檔案(未借出)進行借閱;b 借閱是需提交借閱申請;c 由借閱申請指明所借閱檔案的檔案名稱、借

16、出時間和歸還時間;d 若檔案已有人申請,在管理員拒絕申請前,其他用戶無法再申請。(8) 借閱審批a 只有對某個檔案庫有操作權(quán)限的用戶才能對該檔案庫下的借閱申請進行審批;b 審批通過的用戶便可到檔案室提取檔案;c 對審批未通過的借閱申請,管理員需要提出未通過的理由,將信息返回給用戶。(9) 檔案的歸還與提醒a 用戶將所借閱的檔案歸還時,管理員需要在系統(tǒng)中進行檔案的歸還操作;b 對于歸還日期已到的檔案,管理員可進行提醒操作,提醒借閱人歸還檔案。第三章 系統(tǒng)設(shè)計3.1 數(shù)據(jù)庫設(shè)計3.1.1 引言數(shù)據(jù)庫設(shè)計是開發(fā)數(shù)據(jù)庫系統(tǒng)的首要環(huán)節(jié)和基礎(chǔ)問題。它的目標是:對于給定的應(yīng)用環(huán)境,建立一個性能良好的能滿足不

17、同用戶要求的,又能被選定的dbms所接受的數(shù)據(jù)庫系統(tǒng)模式。在上一章中需求分析得出的邏輯模型的基礎(chǔ)上,按新奧爾良方法(new orleans)進行數(shù)據(jù)庫設(shè)計,先由分er圖綜合得到er模型,即數(shù)據(jù)庫的概念模型,然后按轉(zhuǎn)換規(guī)則將概念模型轉(zhuǎn)化為關(guān)系模型,最后得出系統(tǒng)數(shù)據(jù)庫的表4。3.1.2 數(shù)據(jù)庫概念結(jié)構(gòu)的設(shè)計利用分類、聚集和概括這三種基本方法對系統(tǒng)分析階段收集到的數(shù)據(jù)進行抽象,得到實體集、屬性和碼如下:(1) 用戶:用戶賬號,用戶密碼,用戶權(quán)限(2) 機構(gòu):機構(gòu)名稱,機構(gòu)描述(3) 檔案庫:名稱,檔案庫說明(4) 檔案:檔案編號,檔案名稱,檔案年度,保存類型,創(chuàng)建人,創(chuàng)建時間,狀態(tài),檔案說明(5)

18、系統(tǒng)消息:消息編號,信息內(nèi)容,狀態(tài)(6) 操作日志:操作編號,操作描述確定實體集之間的聯(lián)系類型(一對一、一對多和多對多的聯(lián)系),設(shè)計各實體及屬性的e-r圖、分e-r圖及匯總后的系統(tǒng)的e-r圖。先得出各實體及屬性的e-r圖如上圖3示,再得出分e-r圖如上圖4所示。分e-r圖之間的沖突主要有:屬性沖突、命名沖突和結(jié)構(gòu)沖突,通過消除這3類沖突,將圖4的分e-r圖綜合起來,得到綜合后的e-r圖如圖5示。用戶檔案機構(gòu)用戶賬號機構(gòu)名稱機構(gòu)描述權(quán)限用戶密碼系統(tǒng)消息檔案庫檔案編號檔案名稱檔案年度保存類型創(chuàng)建人創(chuàng)建時間狀態(tài)檔案說明檔案庫說明名稱操作描述操作編號狀態(tài)消息內(nèi)容消息編號操作日志圖3:各實體及屬性的e-

19、r圖用戶系統(tǒng)消息檔案機構(gòu)檔案庫檔案庫管理員系統(tǒng)消息檔案庫借閱包含管理發(fā)送借閱原因借出時間歸還時間借出辦理人擁有檔案1n1nn1n1nn111管理員1接收操作 用戶用戶操作日志檔案編號n(d)(a)(e)(g)(c)(f)(b)圖4:分e-r圖 用戶系統(tǒng)消息操作日志系統(tǒng)消息接收發(fā)送操作借閱機構(gòu)管理包含擁有檔案檔案庫1n111nnnnnn111圖5:分e-r圖的綜合3.1.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計將概念模型中的一個實體集轉(zhuǎn)換為關(guān)系模型中的一個關(guān)系,實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。(1) 圖4(a) 轉(zhuǎn)換的關(guān)系模式為用戶(用戶賬號,用戶密碼,用戶權(quán)限)檔案(檔案編號,檔案名稱,檔案年度

20、,保存類型,創(chuàng)建人,創(chuàng)建時間,狀態(tài),檔案說明)借閱管理(檔案編號,借閱人,借閱原因,借出時間,歸還時間,借出辦理人)(2) 圖4(b) 轉(zhuǎn)換的關(guān)系模式為機構(gòu)(機構(gòu)名稱,機構(gòu)描述)檔案(檔案編號,檔案名稱,檔案年度,保存類型,創(chuàng)建人,創(chuàng)建時間,狀態(tài),檔案說明,機構(gòu)名稱)(3) 圖4(c) 轉(zhuǎn)換的關(guān)系模式為檔案庫(名稱,檔案庫說明)檔案(檔案編號,檔案名稱,檔案年度,保存類型,創(chuàng)建人,創(chuàng)建時間,狀態(tài),檔案說明,檔案庫名稱)(4) 圖4(d) 轉(zhuǎn)換的關(guān)系模式為用戶(用戶賬號,用戶密碼,用戶權(quán)限)檔案庫(名稱,檔案庫說明,管理員賬號)(5) 圖4(e) 轉(zhuǎn)換的關(guān)系模式為用戶(用戶賬號,用戶密碼,用戶權(quán)

21、限)系統(tǒng)消息(消息編號,信息內(nèi)容,狀態(tài),消息發(fā)送者)(6) 圖4(f) 轉(zhuǎn)換的關(guān)系模式為用戶(用戶賬號,用戶密碼,用戶權(quán)限)系統(tǒng)消息(消息編號,信息內(nèi)容,狀態(tài),消息接收者)(7) 圖4(g) 轉(zhuǎn)換的關(guān)系模式為用戶(用戶賬號,用戶密碼,用戶權(quán)限)操作日志(操作編號,操作描述,操作針對表名,操作者)3.1.4 系統(tǒng)數(shù)據(jù)庫表的定義在3.3中得到的關(guān)系模式中,根據(jù)需要可將具有相同碼的關(guān)系合并為一個關(guān)系,經(jīng)合并、消除命名沖突及重命名后,得出該系統(tǒng)所需的表匯總,如表1:表1:系統(tǒng)中用到的表匯總表名英文名作用用戶信息表users記錄系統(tǒng)中用戶信息檔案信息表file記錄系統(tǒng)中檔案信息檔案庫信息表filebas

22、e記錄系統(tǒng)中檔案庫信息借閱信息表borrowrecord用戶借閱記錄機構(gòu)信息表department記錄系統(tǒng)中的機構(gòu)信息系統(tǒng)消息表message記錄與用戶交互的系統(tǒng)消息系統(tǒng)日志信息表syslog記錄系統(tǒng)日志消息表2:用戶信息表字段名稱別名數(shù)據(jù)類型字段大小用戶賬號id字符型20用戶密碼password字符型12用戶權(quán)限privilege數(shù)值型1(0-超級管理員1-普通管理員 2-普通用戶)表3:機構(gòu)信息表字段名稱別名數(shù)據(jù)類型字段大小機構(gòu)名稱name字符型20機構(gòu)描述description字符型40表4:檔案庫信息表字段名稱別名數(shù)據(jù)類型字段大小檔案庫名稱name字符型20檔案庫說明descripti

23、on字符型40管理員賬號admin字符型20表5:檔案信息表字段名稱別名數(shù)據(jù)類型字段大小檔案編號id字符型6檔案名稱name字符型20機構(gòu)名稱dept字符型20檔案年度fileyear字符型4保存類型timelimit數(shù)值型1(1-長期0-短期)創(chuàng)建人builder字符型20創(chuàng)建時間buildtime日期時間型8狀態(tài)attr數(shù)值型1(1-已入庫0-未入庫)檔案庫filebase字符型20檔案說明note字符型40借閱人borrower字符型20表6:借閱信息表字段名稱別名數(shù)據(jù)類型字段大小檔案編號file字符型6借閱原因reason字符型40借閱人borrower字符型20借出時間beginti

24、me日期時間型8歸還時間endtime日期時間型8借出辦理人lender字符型20狀態(tài)state數(shù)值型1(1-借出0-申請)表7:系統(tǒng)消息表字段名稱別名數(shù)據(jù)類型字段大小信息編號id字符型4信息發(fā)送者from字符型20信息接收者to字符型20信息內(nèi)容message字符型40狀態(tài)state數(shù)值型1(1-未讀0-已讀)表8:操作日志表字段名稱別名數(shù)據(jù)類型字段大小操作編號id字符型4操作者operator字符型20操作描述operation字符型20操作針對表名tablename字符型12本系統(tǒng)所需要的數(shù)據(jù)庫基本表如表2至表8所列。系統(tǒng)各表間的關(guān)系如圖6所示:messageidfromtomessag

25、estateusersidpasswordprivilegefileidnamedeptfileyeartimelimitbuilderbuildtimeattrfilebasenoteborrowerdepartmentnamedescriptionsyslogidoperatoroperationtablenamefilebasenamedescriptionadminborrowrecordfilereasonborrowerbegintimeendtimelenderstate圖6:各表間的關(guān)系3.1.5 數(shù)據(jù)庫完整性的設(shè)計數(shù)據(jù)庫完整性的設(shè)計將直接影響dbms能否真實的體現(xiàn)現(xiàn)實世界,完

26、整性控制機制的使用,能夠防止合法用戶向數(shù)據(jù)庫添加錯誤數(shù)據(jù),從而降低應(yīng)用程序的復雜性,提高系統(tǒng)易用性。此階段根據(jù)需求分析的結(jié)果,對系統(tǒng)實現(xiàn)符合要求的約束,細致規(guī)劃出各類完整性,盡力排除完整性約束間的沖突5。通常情況,數(shù)據(jù)庫完整性約束可分為靜態(tài)約束和動態(tài)約束,靜態(tài)約束應(yīng)盡量包含在數(shù)據(jù)庫模中,一般數(shù)據(jù)庫產(chǎn)品主要支持primary約束,unique約束,check約束,default約束,foreign約束。動態(tài)約束主要定義對約束條件本身的約束,由程序完成。參照完整性fpreign約束設(shè)計非常重要,它要求外鍵的值必須來源于被參照關(guān)系的取值或空值,上述設(shè)計系統(tǒng)的表中的主外鍵關(guān)系如下表9所示:表9:各表間

27、主外鍵的關(guān)系主鍵外鍵users.idmessage.fromusers.idmessage.tousers.idfile.builderusers.idborrowrecord.borrowerusers.idborrowrecord.lenderusers.idfilebase.adminusers.idsyslog.operatorfile.idborrowrfile.filebaseusers.idfile.borrower系統(tǒng)的參照關(guān)系如下:系統(tǒng)消息表中信息發(fā)送者參照用戶信息表中用戶賬號;系統(tǒng)

28、消息表中信息接收者參照用戶信息表中用戶賬號;檔案信息表中的創(chuàng)建人參照用戶信息表中用戶賬號;借閱信息表中借閱人參照用戶信息表中用戶賬號;借閱信息表中借出辦理人參照用戶信息表中用戶賬號;檔案庫信息表中管理員賬號參照用戶信息表中用戶賬號;操作日志表中操作者參照用戶信息表中用戶賬號;借閱信息表中的檔案編號參照檔案信息表中檔案編號;檔案信息表中機構(gòu)名稱參照機構(gòu)信息表中機構(gòu)名稱;檔案信息表中檔案庫參照檔案庫信息表中名稱;檔案信息表中借閱人參照用戶信息表中用戶賬號;3.2 模塊設(shè)計3.2.1 系統(tǒng)架構(gòu)為了使軟件結(jié)構(gòu)清晰,便于設(shè)計和開發(fā),提高系統(tǒng)的可靠性和軟件的可修改性,使用模塊化原理將系統(tǒng)劃分成如圖7所示7

29、個模塊,每個模塊對應(yīng)需求分析中的各個功能,只有具有系統(tǒng)賬號的用戶才可適用本系統(tǒng)。用戶登錄用戶管理機構(gòu)管理檔案庫管理檔案管理借閱管理檔案檢索與借閱我的檔案sqlserver數(shù)據(jù)庫圖7:模塊劃分圖3.2.2 各模塊的功能(1) 用戶管理模塊用戶管理模塊主要實現(xiàn)用戶(普通用戶、某個檔案庫管理員)的添加和刪除,查看用戶的詳細信息(生成報表),驗證用戶的登錄等功能。只有系統(tǒng)管理員才有權(quán)進行該項管理。(2) 機構(gòu)管理模塊機構(gòu)管理模塊主要實現(xiàn)增加機構(gòu)、刪除機構(gòu)、修改機構(gòu)描述信息等功能。只有系統(tǒng)管理員才有權(quán)進行該項管理。(3) 檔案庫管理模塊檔案庫管理模塊的功能包括新建檔案庫、刪除檔案庫、修改檔案庫的描述和任

30、命檔案庫的管理員等。只有系統(tǒng)管理員才有權(quán)進行該項管理。(4) 檔案管理模塊檔案管理模塊的操作主要有:在檔案庫中增加檔案、刪除庫中未歸檔檔案、對未歸檔檔案進行歸檔、修改未歸檔檔案的信息、將檔案庫下未歸檔的檔案移入其他檔案庫、將已歸檔的檔案移出檔案庫等。檔案管理是有權(quán)限限制的,其權(quán)限分割的標準是檔案庫。針對某個檔案庫,只有系統(tǒng)管理員和該檔案庫的管理員才有權(quán)對該檔案庫下的檔案進行操作。(5) 借閱管理模塊借閱管理模塊的操作主要有:顯示指定檔案庫下的借閱申請和已借檔案的列表、顯示借閱申請或已借檔案的詳細信息、提醒借閱人歸還和歸還檔案等。同檔案管理一樣,只有對某個檔案庫有操作權(quán)限的用戶才能對該檔案庫下的

31、借閱事務(wù)進行管理。(6) 檔案檢索與借閱模塊檔案檢索與借閱模塊主要實現(xiàn)檢索檔案和提交借閱申請單。用戶通過設(shè)定檢索條件對檔案進行檢索,可以查看檢索出檔案的詳細信息,針對某個未被借出的檔案提出借閱申請并填寫借閱申請單。檔案檢索與借閱模塊是所有用戶都可操作的模塊。(7) “我的檔案”模塊該模塊為用戶提供與借閱檔案有關(guān)的信息,包括已提交的借閱申請,正在借閱的檔案,申請的處理情況?!拔业臋n案”模塊是所有用戶都可操作的模塊。33 軟件結(jié)構(gòu)設(shè)計檔案管理系統(tǒng)用戶管 理檔案庫管理機構(gòu)管 理檔案管 理借閱管 理檔案檢索借 閱我的檔 案用戶的增加和刪除查詢用戶信息驗證用戶登錄機構(gòu)的添加和刪除修改機構(gòu)描述信息檔案庫的

32、增加修和改刪除任命檔案庫管理員檔案的增加修改和刪除檔案的歸檔和移出檔案的轉(zhuǎn)移借閱申請的審批檔案的歸還與提醒檢索檔案借閱申請圖8:系統(tǒng)層次圖在上面模塊設(shè)計中將系統(tǒng)劃分成了7個模塊,每個模塊完成一個適當?shù)淖庸δ?。?yīng)該把模塊組織成良好的層次關(guān)系,頂層模塊調(diào)用它下層模塊以實現(xiàn)程序的完整功能,每個下層模塊再調(diào)用更下層的模塊,從而完成程序的一個子功能,最下層的模塊完成最具體的功能。軟件結(jié)構(gòu),即由模塊組成的層次系統(tǒng),可用層次圖來描繪,如圖8所示:層次圖中的一個矩形框代表一個模塊,方框間的連線表示調(diào)用關(guān)系,上圖中,最頂層的方框代表檔案管理系統(tǒng)的主控模塊,它調(diào)用下層模塊完成檔案管理系統(tǒng)的全部功能,第二層的每個模

33、塊控制完成檔案管理系統(tǒng)的一個主要功能。第四章系統(tǒng)實現(xiàn)41 開發(fā)工具本系統(tǒng)采用microsoft visual c+ 6.0作為開發(fā)工具,visual c+6.0不僅是一個c+編譯器,而且是一個基于windows操作系統(tǒng)功能強大的可視化集成開發(fā)環(huán)境(integrated development environment,ide)。visual c+6.0由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppwizard、類向?qū)lass wizard等開發(fā)工具。mfc,微軟基礎(chǔ)類(microsoft foundation classes),實際上是微軟提供的,用于在c+環(huán)境下編寫應(yīng)用程序的一個框架和

34、引擎6,vc+是windos下開發(fā)人員使用的專業(yè)c+ sdk(sdk,standard software develop kit,專業(yè)軟件開發(fā)平臺),mfc就是掛在它之上的一個輔助軟件開發(fā)包,mfc作為與vc+血肉相連的部分。mfc是win api與c+的結(jié)合,api,即微軟提供的windos下應(yīng)用程序的編程語言接口,是一種軟件編程的規(guī)范,但不是一種程序開發(fā)語言本身,可以允許用戶使用各種各樣的第三方的編程語言來進行對windos下應(yīng)用程序的開發(fā),使這些被開發(fā)出來的應(yīng)用程序能在windos下運行,比如vb、vc+、java、dehpi編程語言函數(shù)本質(zhì)上全部源于api,因此用它們開發(fā)出來的應(yīng)用程序

35、都能工作在winos的消息機制和繪圖里,遵守windos作為一個操作系統(tǒng)的內(nèi)部實現(xiàn)7。上面說到mfc是微軟對api函數(shù)的專用c+封裝,這種結(jié)合一方面讓用戶使用微軟的專業(yè)c+ sdk來進行win下應(yīng)用程序的開發(fā)變得容易,因為mfc是對api的封裝,微軟做了大量的工作,隱藏了好多程序開發(fā)人員在win下用c+ & mfc編制軟件時的大量內(nèi)節(jié),如應(yīng)用程序?qū)崿F(xiàn)消息的處理,設(shè)備環(huán)境繪圖,這種結(jié)合是以方便為目的的,必定要付出一定代價,因此就造成了mfc對類封裝中的一定程度的冗余和迂回,但這是可以接受的8。42 各個模塊的界面和代碼實現(xiàn)本系統(tǒng)有7個功能模塊,其中系統(tǒng)管理員可以進行全部的操作,普通管理員不能進行

36、用戶管理,機構(gòu)管理,檔案庫管理這三種操作,而一般用戶只能進行檔案檢索和借閱,“我的檔案”這兩種操作,“我的檔案”的功能未全部實現(xiàn)。4.2.1 登錄模塊當用戶進入檔案管理系統(tǒng)時,系統(tǒng)將轉(zhuǎn)向用戶登錄界面,輸入用戶賬號和密碼,如圖9。登錄成功后,系統(tǒng)將轉(zhuǎn)向系統(tǒng)管理員操作界面,如圖10所示。然后用戶就可以根據(jù)自己的權(quán)限選擇各種操作了。圖9:用戶登錄界面 登錄模塊的代碼:bool clanddlg:pretranslatemessage(msg* pmsg) / todo: add your specialized code here and/or call the base classi

37、f( pmsg-message = wm_keydown) if( pmsg-wparam = 0x0d)/屏蔽回車 this-onbtnland();return true; if( pmsg-wparam = vk_escape )/屏蔽esc return true; return cdialog:pretranslatemessage(pmsg);圖10:系統(tǒng)主界面void clanddlg:onbtnland() / todo: add your control notification handler code herecstring uid;this-getdlgitemtext

38、(idc_edit1,uid);if( uid = )if( idcancel = this-messagebox(用戶名為空,單擊確定繼續(xù),單擊取消退出系統(tǒng),警告,mb_okcancel | mb_iconwarning) )this-sendmessage(wm_close);(cfilemanagedlg *)this-getparent()-sendmessage(wm_close);this-m_uid.setfocus();return ;cstring psw;this-getdlgitemtext(idc_edit2,psw);if( psw = )if( idcancel =

39、 this-messagebox(密碼為空,單擊確定繼續(xù),單擊取消退出系統(tǒng),警告,mb_okcancel | mb_iconwarning)this-sendmessage(wm_close);(cfilemanagedlg *)this-getparent()-sendmessage(wm_close);this-m_psw.setfocus();return ;extern_recordsetptr precordset;extern _connectionptr pconnection;cfilemanagedlg * pfilemanagedlg = (cfilemanagedlg *

40、)this-getparent();pfilemanagedlg-connectdatabase(document);precordset-open(select * from users,pconnection.getinterfaceptr(),adopenstatic,adlockoptimistic,adcmdtext);precordset-movefirst();extern cstring afx_uid; /當前合法用戶的帳號extern cstring afx_privilege; / 當前合法用戶的密碼while(!precordset-adoeof)_bstr_t _ui

41、d=precordset-getcollect(id);_bstr_t _psw=precordset-getcollect(password);_bstr_t _privilege=precordset-getcollect(privilege);if( _uid = uid & _psw = psw )pfilemanagedlg-m_land_flag = true;afx_uid = uid;afx_privilege =(const char*)_privilege;break;precordset-movenext();/whileprecordset-close();if( !p

42、filemanagedlg-m_land_flag)this-messagebox(不存在用戶或密碼輸入錯誤,請重新輸入);this-onbtnreset(); else /是合法的用戶this-sendmessage(wm_close); /關(guān)閉用戶登陸界面,進入程序主窗口void clanddlg:onbtnreset() / todo: add your control notification handler code herethis-m_uid.setsel(0,-1);this-m_uid.clear();this-m_psw.setsel(0,-1);this-m_psw.cl

43、ear();this-m_uid.setfocus();4.2.2 用戶管理模塊在系統(tǒng)主界面中單擊“用戶管理”按鈕,系統(tǒng)將轉(zhuǎn)向用戶管理界面,如圖11所示。單擊“生成報表”按鈕,系統(tǒng)將轉(zhuǎn)向生成用戶報表界面,列出系統(tǒng)所有用戶信息,如圖12所示。返回用戶管理界面,單擊“添加用戶”按鈕,系統(tǒng)將轉(zhuǎn)向添加用戶界面。若要添加的用戶信息有誤,系統(tǒng)將給出提示信息,若添加操作成功,系統(tǒng)將給出對話框提示添加操作成功,如圖13所示。返回用戶管理界面,單擊“刪除用戶”按紐,系統(tǒng)轉(zhuǎn)向刪除用戶界面,若要刪除的用戶信息有誤,系統(tǒng)將給出提示信息,若刪除操作成功,系統(tǒng)將給出對話框提示刪除操作成功,如圖14所示。 圖11:用戶管理

44、界面圖12:生成用戶報表界面圖13:添加用戶界面圖14:刪除用戶界面用戶管理模塊的代碼: 添加用戶void cadduserdlg:onadd() this-updatedata();if( this-m_uid.getlength() = 0)this-messagebox(用戶帳號為空,單擊確定繼續(xù),警告,mb_ok | mb_iconwarning) ;return ;if( this-m_psw.getlength() = 0)this-messagebox(用戶密碼為空,單擊確定繼續(xù),警告,mb_ok | mb_iconwarning) ;return ;if( thi

45、s-m_uid.getlength() 20 )this-messagebox(用戶帳號過長,單擊確定重新輸入,警告,mb_ok | mb_iconwarning) ;cedit * pedit = (cedit *)this-getdlgitem(idc_edit1);pedit-setsel(0,-1);pedit-clear();pedit = (cedit *)this-getdlgitem(idc_edit2);pedit-setsel(0,-1);pedit-clear();(cedit *)this-getdlgitem(idc_edit1)-setfocus();return

46、;if( this-m_psw.getlength() 12 )this-messagebox(用戶密碼過長,單擊確定重新輸入,警告,mb_ok | mb_iconwarning) ;cedit * pedit = (cedit *)this-getdlgitem(idc_edit2);pedit-setsel(0,-1);pedit-clear();pedit-setfocus();return ;cstring privilege;this-m_privilegelist.getlbtext( this-m_privilegelist.getcursel(),privilege );/輸入

47、正常,寫入數(shù)據(jù)庫extern _connectionptr pconnection;extern_recordsetptr precordset;precordset-open(select id from users,pconnection.getinterfaceptr(),adopenstatic,adlockoptimistic,adcmdtext);precordset-movefirst();_bstr_t uid;while(!precordset-adoeof)uid = precordset-getcollect(id);if( uid = _bstr_t(lpctstr)t

48、his-m_uid) )this-messagebox(該用戶名已存在,請重新輸入一個用戶名,操作失敗);this-onreset();precordset-close();return ;precordset-movenext();precordset-close();_bstr_t sql=insert into users(id,password,privilege) values(;sql += (lpctstr)this-m_uid;sql += ,;sql += (lpctstr)this-m_psw;sql += ,;sql += (lpctstr)privilege;sql +

49、= );_variant_t recordsaffected;pconnection-execute(sql,&recordsaffected,adcmdtext);this-messagebox( 添加用戶操作成功!,操作成功,mb_iconinformation );this-onreset();(cedit *)this-getdlgitem(idc_edit1)-setfocus();void cadduserdlg:onreset() cedit * pedit = (cedit *)this-getdlgitem(idc_edit1);pedit-setsel(0,-1);pedi

50、t-clear();pedit = (cedit *)this-getdlgitem(idc_edit2);pedit-setsel(0,-1);pedit-clear();(cedit *)this-getdlgitem(idc_edit1)-setfocus();bool cadduserdlg:oninitdialog() cdialog:oninitdialog();this-m_privilegelist.addstring(0);this-m_privilegelist.addstring(1);this-m_privilegelist.addstring(2);this-m_pr

51、ivilegelist.setcursel(0);return true; bool cadduserdlg:pretranslatemessage(msg* pmsg) if( pmsg-message = wm_keydown) if( pmsg-wparam = 0x0d)/屏蔽回車 return true; if( pmsg-wparam = vk_escape )/屏蔽esc return true; return cdialog:pretranslatemessage(pmsg); 刪除用戶void cdeleteuserdlg:ondelete() / todo: add your control notification handler code her

溫馨提示

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

評論

0/150

提交評論