




已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
畢 業(yè) 論 文題 目 項(xiàng)目管理系統(tǒng)姓 名 學(xué) 號 年 級 專 業(yè) 導(dǎo) 師 結(jié)題時(shí)間 【摘 要】在當(dāng)今社會,隨著項(xiàng)目管理的理論方法及管理模式的普及,以及信息化進(jìn)程的不斷發(fā)展,越來越多的企業(yè)和組織在內(nèi)部推廣項(xiàng)目管理軟件。本系統(tǒng)采用c+語言開發(fā),用mfc制作前臺界面,用odbc和ado操作sql server 2000搭建的后臺數(shù)據(jù)庫,用socket和http協(xié)議進(jìn)行網(wǎng)絡(luò)通訊,實(shí)現(xiàn)了一個面向軟件企業(yè)開發(fā)部門應(yīng)用的部署在局域網(wǎng)內(nèi)的c/s架構(gòu)項(xiàng)目管理系統(tǒng)。其主要功能包括:部門與小組管理、項(xiàng)目與任務(wù)管理,此外還包括日志、通知、問題等輔助功能模塊,以及數(shù)據(jù)庫備份與恢復(fù)、系統(tǒng)升級、用戶權(quán)限管理等系統(tǒng)功能模塊。本文對該系統(tǒng)的分析、設(shè)計(jì)、實(shí)現(xiàn)、部署過程做了詳細(xì)介紹?!娟P(guān)鍵詞】 項(xiàng)目管理mfcodbcsocketdesign and implementation of project management system【abstract】 in the society of nowadays, with popularization of the theory method and manage mode of project management, and continuous development of the informationization procedure, more and more enterprises and organizations start to deploy project management software. this system is developed with c+ language, drawing foreground interface with mfc, using odbc and ado to operate background database building with sql server 2000, processing network communication with socket and http protocol, implemented a c/s model - project management system which have application in develop department of software corporations, it can be deployed in local area network. the main function mainly including: department and team management, project and task management, besides, it also contains assistant functions modules of log, notice and problem, and system function module of database backup and restore, system update and user rights management. this article will introduce the procedure of analyzing, design, implementation and deployment of this system in detail. 【keywords】 project management, mfc, odbc, socket目 錄第一章引言11.1選題背景11.2國內(nèi)現(xiàn)狀11.3研究意義2第二章需求分析32.1系統(tǒng)定義32.2功能需求32.3數(shù)據(jù)需求4第三章數(shù)據(jù)庫設(shè)計(jì)53.1數(shù)據(jù)庫的概念53.2數(shù)據(jù)庫的選擇53.3數(shù)據(jù)庫表的設(shè)計(jì)6第四章技術(shù)介紹134.1c+語言及microsoft visual c+的介紹134.2mfc技術(shù)介紹144.3odbc,ado技術(shù)介紹144.4sql語言技術(shù)介紹164.5開發(fā)環(huán)境介紹17第五章系統(tǒng)實(shí)現(xiàn)185.1系統(tǒng)總體架構(gòu)及實(shí)現(xiàn)185.2部門組建215.3小組管理235.4項(xiàng)目部署255.5任務(wù)分配275.6日志管理305.7通知管理325.8問題管理355.9用戶管理385.10數(shù)據(jù)庫備份與恢復(fù)385.11其它功能40第六章安裝程序的制作及部署436.1installshield介紹436.2建立installshield工程436.3填寫程序信息446.4添加程序文件及相關(guān)動態(tài)鏈接庫456.5添加快捷方式及設(shè)置安裝語言456.6添加相關(guān)運(yùn)行庫及odbc驅(qū)動466.7生成安裝包476.8服務(wù)器端和客戶端安裝配置方法48第七章后記49參考文獻(xiàn)50附錄一odbc和ado操作數(shù)據(jù)庫的方法51附錄二ini配置文件的讀寫58- 64 -第一章 引言1.1 選題背景項(xiàng)目是指一系列獨(dú)特的、復(fù)雜的并相互關(guān)聯(lián)的活動,這些活動有著一個明確的目標(biāo)或目的,必須在特定的時(shí)間、預(yù)算、資源限定內(nèi),依據(jù)規(guī)范完成。項(xiàng)目參數(shù)包括項(xiàng)目范圍、質(zhì)量、成本、時(shí)間、資源。項(xiàng)目管理(project management pm) 最早是在美國的曼哈頓計(jì)劃中產(chǎn)生的概念。后由華羅庚教授50年代引進(jìn)中國,是指基于被接受的管理原則的一套技術(shù)方法,這些技術(shù)或方法用于計(jì)劃、評估、控制工作活動,以按時(shí)、按預(yù)算、依據(jù)規(guī)范達(dá)到理想的最終效果。隨著計(jì)算機(jī)、網(wǎng)絡(luò)系統(tǒng)的迅速發(fā)展,項(xiàng)目管理技術(shù)的不斷進(jìn)步,項(xiàng)目管理軟件產(chǎn)品層出不窮,其功能、特點(diǎn)、應(yīng)用對象也各不相同。當(dāng)前,越來越多的企業(yè)和組織在內(nèi)部推廣項(xiàng)目管理的理論方法及管理模式。1.2 國內(nèi)現(xiàn)狀項(xiàng)目管理軟件在我國的應(yīng)用起步較早,80年代初期就有很多單位開始使用。這個階段,國內(nèi)出現(xiàn)了很多項(xiàng)目管理軟件,每上一個項(xiàng)目,如果該項(xiàng)目有意使用計(jì)算機(jī)進(jìn)行項(xiàng)目管理,那么就會請一班人馬來開發(fā)一套項(xiàng)目管理軟件。也有一些項(xiàng)目嘗試引進(jìn)國外項(xiàng)目管理軟件,我國最早引進(jìn)該技術(shù)的項(xiàng)目是山西潞安煤礦。在這些項(xiàng)目中我方項(xiàng)目管理人員基本處于被動使用的狀況,缺乏對國外項(xiàng)目管理的理解,對國外項(xiàng)目管理模式不了解。到了90年代,隨著與國際接軌的需要,國內(nèi)很多單位已接收了國外項(xiàng)目管理的思路,很多單位也引進(jìn)了國際先進(jìn)的項(xiàng)目管理軟件,已經(jīng)積累了部分經(jīng)驗(yàn)和數(shù)據(jù)。目前在國內(nèi)使用項(xiàng)目管理軟件進(jìn)行項(xiàng)目管理的項(xiàng)目和企業(yè)已有上千家。綜合國內(nèi)的應(yīng)用情況,分為以下幾種:(1)運(yùn)用項(xiàng)目管理軟件編排進(jìn)度計(jì)劃,在項(xiàng)目投標(biāo)以及工程開工之前均能用這些軟件來編制計(jì)劃。部分企業(yè)還處于被動使用狀態(tài),因?yàn)轫?xiàng)目招標(biāo)書中要求使用項(xiàng)目管理軟件進(jìn)行項(xiàng)目管理,而被迫使用相應(yīng)軟件。(2)通過進(jìn)度和資源結(jié)合使用,分析資源的強(qiáng)度和資源的使用安排是否滿足要求。很多企業(yè)和項(xiàng)目通過使用項(xiàng)目管理軟件,嘗到了甜頭,希望通過項(xiàng)目管理軟件的資源分析和成本管理的功能,合理配置資源,使得進(jìn)度計(jì)劃更為合理。(3)根據(jù)施工組織措施來編制進(jìn)度和資源計(jì)劃,根據(jù)計(jì)劃來安排生產(chǎn),通過計(jì)劃對進(jìn)度進(jìn)行控制。有部分項(xiàng)目的計(jì)劃編制十分漂亮,資源配置也很合理,但是現(xiàn)場施工沒有按照計(jì)劃來執(zhí)行。這就要求計(jì)劃的編制人員必須按照施工方案來編制計(jì)劃,現(xiàn)場施工人員按照計(jì)劃安排生產(chǎn),并及時(shí)將實(shí)際進(jìn)程向上反饋,實(shí)施動態(tài)跟蹤。能做到這一點(diǎn),已基本體現(xiàn)了項(xiàng)目管理軟件的功能。目前國內(nèi)已有部分項(xiàng)目正在按照該模式進(jìn)行動態(tài)控制。(4)項(xiàng)目管理的數(shù)據(jù)與企業(yè)管理信息系統(tǒng)(mis)集成,通過數(shù)據(jù)共享,減少重復(fù)輸入。通過項(xiàng)目管理軟件的接口功能與企業(yè)的管理信息系統(tǒng)連接,對于企業(yè)項(xiàng)目管理系統(tǒng)可進(jìn)行該部分工作,對于非超長工期型項(xiàng)目而言,不必提出該要求。(5)通過internet對遠(yuǎn)程項(xiàng)目進(jìn)行控制。分散在全球各地的分公司或項(xiàng)目工地上的工程數(shù)據(jù)通過 internet傳遞到本部,在總部進(jìn)行匯總和統(tǒng)一安排,并將指令通過郵件下發(fā)給分公司或工地。對于企業(yè)和戰(zhàn)線偏長的項(xiàng)目可推廣此應(yīng)用。綜上所述,項(xiàng)目管理軟件的設(shè)計(jì)應(yīng)該根據(jù)企業(yè)的規(guī)模、項(xiàng)目的工期、資源的復(fù)雜程度等因素來考慮。1.3 研究意義當(dāng)今,以全球信息普及和全球信息共享為標(biāo)志的“全球信息網(wǎng)絡(luò)革命”正在蓬勃興起,世界已進(jìn)入在計(jì)算機(jī)信息管理領(lǐng)域中激烈競爭的時(shí)代。誰掌握的知識多,信息量大,信息處理速度快,批量大,誰的效率就高,誰就能在各種競爭中立于不敗之地。企業(yè)實(shí)現(xiàn)項(xiàng)目管理,最終目的是通過管理體系的運(yùn)行達(dá)到管理目標(biāo)。通過運(yùn)行管理軟件構(gòu)造企業(yè)管理體系是一種切實(shí)可行的辦法。一個成熟的項(xiàng)目管理系統(tǒng)中貫穿了科學(xué)的項(xiàng)目管理理念、積淀了項(xiàng)目管理實(shí)踐經(jīng)驗(yàn),在軟件的實(shí)施過程中,對規(guī)范企業(yè)的管理行為、形成項(xiàng)目管理體系能起到事半功倍的作用。第二章 需求分析2.1 系統(tǒng)定義項(xiàng)目管理是指基于管理原則的一套技術(shù)方法,那么本系統(tǒng)作為一個項(xiàng)目管理軟件,為面向的用戶(軟件企業(yè)的開發(fā)部門)提供信息化的項(xiàng)目管理服務(wù)。2.2 功能需求項(xiàng)目管理軟件的主要功能需求便是為用戶快速、準(zhǔn)確地提供軟件項(xiàng)目進(jìn)程中的各類項(xiàng)目參數(shù),方便項(xiàng)目的實(shí)施者對自己參與部分的工作進(jìn)度進(jìn)行報(bào)告和匯總,方便管理者對項(xiàng)目進(jìn)程進(jìn)行計(jì)劃、評估和控制。一、 從信息需求的角度分析信息注冊主要包括用戶的個人信息、部門和小組信息、項(xiàng)目和任務(wù)信息的采集。信息交互即項(xiàng)目信息管理,主要包括將項(xiàng)目落實(shí)至小組、具體任務(wù)落實(shí)至個人,以及該過程中相關(guān)信息的篩選、匯總和呈現(xiàn)。用戶的日志信息問題和解答信息(項(xiàng)目知識庫)通知信息二、 從用戶的角度分析該系統(tǒng)將用戶分為系統(tǒng)管理員(administrator)、部門負(fù)責(zé)人(department leader)、小組負(fù)責(zé)人(team leader)、職員(worker)四個級別,分別對應(yīng)不同的職責(zé)權(quán)限和操作權(quán)限:系統(tǒng)管理員負(fù)責(zé)用戶管理、日常系統(tǒng)維護(hù)(包括數(shù)據(jù)庫的備份與恢復(fù)、程序新版本的發(fā)布);部門負(fù)責(zé)人主要負(fù)責(zé)部門的組建與項(xiàng)目的部署工作,包括將不同項(xiàng)目分配給各項(xiàng)目組、評估和控制項(xiàng)目進(jìn)度、發(fā)布項(xiàng)目相關(guān)的通知;小組負(fù)責(zé)人主要負(fù)責(zé)小組的編成與項(xiàng)目中具體任務(wù)的部署工作,包括將不同任務(wù)分配給各組員、評估和控制任務(wù)進(jìn)度;職員主要負(fù)責(zé)具體任務(wù)的實(shí)施,提交自己的工作日志,在問題管理面板發(fā)布自己在工作中遇到的問題,同時(shí)也可以解答或補(bǔ)充他人提出的問題;在本系統(tǒng)中,高權(quán)限的用戶可以執(zhí)行權(quán)限低于自己的用戶的操作。2.3 數(shù)據(jù)需求一、用戶信息用戶的個人信息包括用戶登錄名、密碼、賬號狀態(tài)、用戶姓名、所屬小組、所屬部門、用戶權(quán)限等。二、部門信息部門信息包括部門名稱、部門負(fù)責(zé)人、部門描述等。三、小組信息小組信息包括小組名稱、小組所屬部門、小組負(fù)責(zé)人、小組描述等。四、項(xiàng)目信息項(xiàng)目信息包括項(xiàng)目名稱、項(xiàng)目創(chuàng)建者、項(xiàng)目所屬小組、項(xiàng)目負(fù)責(zé)人、項(xiàng)目描述、項(xiàng)目類型、項(xiàng)目開始時(shí)間、項(xiàng)目預(yù)計(jì)終止時(shí)間、項(xiàng)目實(shí)際終止時(shí)間、項(xiàng)目當(dāng)前狀態(tài)等。五、任務(wù)信息任務(wù)信息包括任務(wù)名稱、任務(wù)所屬項(xiàng)目、任務(wù)創(chuàng)建者、任務(wù)實(shí)施者、任務(wù)內(nèi)容、任務(wù)優(yōu)先級、任務(wù)開始時(shí)間、任務(wù)預(yù)計(jì)終止時(shí)間、任務(wù)實(shí)際終止時(shí)間、任務(wù)當(dāng)前狀態(tài)、任務(wù)完成百分比等。六、日志信息日志信息包括日志提交者、日志內(nèi)容、日志提交時(shí)間等。七、通知信息通知信息包括通知標(biāo)題、通知內(nèi)容、通知創(chuàng)建者、通知所屬項(xiàng)目、通知起效時(shí)間、通知失效時(shí)間等。八、問題信息問題信息包括問題標(biāo)題、問題內(nèi)容、問題提出者、問題提出時(shí)間、問題解決時(shí)間、問題狀態(tài)等。九、解答信息解答信息是對應(yīng)問題信息而存在的,包括解答對應(yīng)的問題、解答者、解答內(nèi)容、解答時(shí)間等。第三章 數(shù)據(jù)庫設(shè)計(jì)3.1 數(shù)據(jù)庫的概念數(shù)據(jù)庫是指存儲在一起的相關(guān)數(shù)據(jù)的集合,這些數(shù)據(jù)是結(jié)構(gòu)化的,無有害的或不必要的冗余,并為多種應(yīng)用服務(wù);數(shù)據(jù)的存儲獨(dú)立于使用它的程序;對數(shù)據(jù)庫插入新數(shù)據(jù),修改和檢索原有數(shù)據(jù)均能按一種公用的和可控制的方式進(jìn)行。使用數(shù)據(jù)庫可以帶來許多好處:如減少了數(shù)據(jù)的冗余度,從而大大地節(jié)省了數(shù)據(jù)的存儲空間;實(shí)現(xiàn)數(shù)據(jù)資源的充分共享等等。數(shù)據(jù)庫通常分為層次式數(shù)據(jù)庫、網(wǎng)絡(luò)式數(shù)據(jù)庫和關(guān)系式數(shù)據(jù)庫三種。層次結(jié)構(gòu)模型實(shí)質(zhì)上是一種有根結(jié)點(diǎn)的定向有序樹,按照層次模型建立的數(shù)據(jù)庫系統(tǒng)稱為層次模型數(shù)據(jù)庫系統(tǒng)。ims(information management system)是其典型代表;按照網(wǎng)狀數(shù)據(jù)結(jié)構(gòu)建立的數(shù)據(jù)庫系統(tǒng)稱為網(wǎng)狀數(shù)據(jù)庫系統(tǒng),其典型代表是dbtg(data base task group);關(guān)系式數(shù)據(jù)結(jié)構(gòu)把一些復(fù)雜的數(shù)據(jù)結(jié)構(gòu)歸結(jié)為簡單的二元關(guān)系,由關(guān)系數(shù)據(jù)結(jié)構(gòu)組成的數(shù)據(jù)庫系統(tǒng)被稱為關(guān)系數(shù)據(jù)庫系統(tǒng),現(xiàn)在市面上諸多主流的數(shù)據(jù)庫產(chǎn)品如oracle,sql server 2000/2005等,都屬于關(guān)系型數(shù)據(jù)庫。3.2 數(shù)據(jù)庫的選擇本系統(tǒng)采用sql server 2000搭建關(guān)系型數(shù)據(jù)庫。sql server 2000 是microsoft 公司推出的數(shù)據(jù)庫管理系統(tǒng),該版本繼承了sql server 7.0 版本的優(yōu)點(diǎn),同時(shí)又比它增加了許多更先進(jìn)的功能。其特點(diǎn)包括:1真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。2圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。3豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地。4sql server與windows nt完全集成,利用了nt的許多功能,如發(fā)送和接受消息,管理登錄安全性等。sql server也可以很好地與microsoft backoffice產(chǎn)品集成。5具有很好的伸縮性,可跨越從運(yùn)行windows 98/xp的個人電腦到運(yùn)行windows server 2000/2003的大型多cpu服務(wù)器等多種平臺使用。6對web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到web頁面上。7sql server提供數(shù)據(jù)倉庫功能,這個功能只在oracle和其他更昂貴的dbms中才有。以上也是本系統(tǒng)選用sql server 2000作為后臺數(shù)據(jù)庫系統(tǒng)的重要原因。3.3 數(shù)據(jù)庫表的設(shè)計(jì)本系統(tǒng)在進(jìn)行數(shù)據(jù)庫表的設(shè)計(jì)時(shí)使用了power designer 12數(shù)據(jù)建模軟件,用power designer進(jìn)行建模之后,通過odbc驅(qū)動即可將包含實(shí)體、屬性和關(guān)系完整地導(dǎo)入sql server 2000,圖3-1是用power designer 12生成的物理數(shù)據(jù)模型(physical data model):圖3-13.3.1 用戶登錄表(login)該表用來存放用戶的登錄信息,在此表中定義了4個字段來進(jìn)行用戶登錄信息的存儲。見表3-1表31標(biāo)識符數(shù)據(jù)類型長度非空描述主鍵外鍵說明user_idint4y用戶idy自增login_namevarchar100y用戶登錄名user_namevarchar50y用戶姓名passwordvarchar50y密碼3.3.2 用戶信息表(users)該表用來存放用戶的個人信息,在此表中定義了5個字段來進(jìn)行用戶個人信息的存儲,并以外鍵記錄用戶id,與用戶登錄表的用戶id對應(yīng)。見表3-2。表32標(biāo)識符數(shù)據(jù)類型長度非空描述主鍵外鍵說明user_idint4y用戶idyy login表user_iduser_deptvarchar100n用戶所屬部門user_teamvarchar100n用戶所屬小組user_statusint4y帳號狀態(tài)用0,1,2表示0:未通過管理員認(rèn)證1:正常2:被注銷user_roleint4y用戶權(quán)限用1,2,3,4表示1:職員(默認(rèn))2:小組負(fù)責(zé)人3:部門負(fù)責(zé)人4:管理員3.3.3 部門信息表(departments)該表主要用來對部門信息進(jìn)行錄入、刪除、修改、查詢等操作,在此表中定義了4個字段來進(jìn)行部門信息的存儲,并以外鍵記錄部門負(fù)責(zé)人id,與用戶登錄信息表的用戶id對應(yīng)。見表3-3。表33標(biāo)識符數(shù)據(jù)類型長度非空描述主鍵外鍵說明dept_idint4y部門idy自增dept_namevarchar100y部門名稱dept_desctext16n部門描述dept_ownerint4n部門負(fù)責(zé)人ylogin表user_id3.3.4 小組信息表(teams)該表主要用來對小組信息進(jìn)行錄入、刪除、修改、查詢等操作,在此表中定義了5個字段來進(jìn)行小組信息的存儲,并以外鍵記錄小組所屬部門id、小組負(fù)責(zé)人id,分別與部門信息表的部門id、用戶登錄信息表的用戶id對應(yīng)。見表3-4。表34標(biāo)識符數(shù)據(jù)類型長度非空描述主鍵外鍵說明team_idint4y小組idy自增team_dept_idint4y小組所屬部門ydepartments表dept_idteam_namevarchar100y小組名稱team_desctext16n小組描述team_ownerint4n小組負(fù)責(zé)人ylogin表user_id3.3.5 項(xiàng)目信息表(projects)該表主要用來對項(xiàng)目信息進(jìn)行錄入、刪除、修改、查詢等操作,在此表中定義了11個字段來進(jìn)行項(xiàng)目信息的存儲,并以外鍵記錄項(xiàng)目負(fù)責(zé)人id、項(xiàng)目創(chuàng)建者id,都是與用戶登錄信息表的用戶id對應(yīng);還以外鍵記錄項(xiàng)目所屬小組id,與小組信息表的小組id對應(yīng)。見表3-5。表35標(biāo)識符數(shù)據(jù)類型長度非空描述主鍵外鍵說明project_idint4y項(xiàng)目idy自增project_namevarchar100y項(xiàng)目名稱project_desctext16y項(xiàng)目描述project_ownerint4n項(xiàng)目負(fù)責(zé)人ylogin表user_idproject_creatorint4y項(xiàng)目創(chuàng)建者ylogin表user_idproject_team_idint4n項(xiàng)目所屬小組yteams表team_idproject_start_datedatetime8n項(xiàng)目開始時(shí)間project_end_datedatetime8n項(xiàng)目預(yù)計(jì)終止時(shí)間project_actual_end_datedatetime8n項(xiàng)目實(shí)際終止時(shí)間project_typevarchar20y項(xiàng)目類型project_statusint4y項(xiàng)目當(dāng)前狀態(tài)用1,2,3,4表示1:未開始(默認(rèn))2:進(jìn)行中3:暫停中4:結(jié)束3.3.6 任務(wù)信息表(tasks)該表主要用來對任務(wù)信息進(jìn)行錄入、刪除、修改、查詢等操作,在此表中定義了12個字段來進(jìn)行任務(wù)信息的存儲,并以外鍵記錄任務(wù)實(shí)施者id、任務(wù)創(chuàng)建者id,都是與用戶登錄信息表的用戶id對應(yīng);還以外鍵記錄了任務(wù)所屬項(xiàng)目id,與項(xiàng)目信息表的項(xiàng)目id對應(yīng)。見表3-6。表36標(biāo)識符數(shù)據(jù)類型長度非空描述主鍵外鍵說明task_idint4y任務(wù)idy自增task_project_idint4y任務(wù)所屬項(xiàng)目yprojects表project_idtask_namevarchar100y任務(wù)名稱task_contenttext16y任務(wù)內(nèi)容task_ownerint4y任務(wù)實(shí)施者ylogin表user_idtask_creatorint4y任務(wù)創(chuàng)建者ylogin表user_idtask_start_datedatetime8y任務(wù)開始時(shí)間task_end_datedatetime8y任務(wù)預(yù)計(jì)終止時(shí)間task_actual_end_datedatetime8n任務(wù)實(shí)際終止時(shí)間task_percentint4y任務(wù)完成百分比默認(rèn)值:0task_statusint4y任務(wù)當(dāng)前狀態(tài)用1,2,3,4表示1:未開始(默認(rèn))2:進(jìn)行中3:暫停中4:結(jié)束task_orderint4y任務(wù)優(yōu)先級用1,2,3表示1:正常(默認(rèn))2:較緊急3:非常緊急3.3.7 日志信息表(logs)該表主要用來對日志信息進(jìn)行錄入、修改、查詢等操作,在此表中定義了4個字段來進(jìn)行日志信息的存儲,并以外鍵記錄日志提交者id,與用戶登錄信息表的用戶id對應(yīng),見表3-7。表37標(biāo)識符數(shù)據(jù)類型長度非空描述主鍵外鍵說明log_idint4y日志idy自增log_userint4y日志提交者ylogin表user_idlog_timevarchar8y日志提交時(shí)間log_desctext16y日志內(nèi)容3.3.8 通知信息表(notices)該表主要用來對通知信息進(jìn)行錄入、刪除、修改、查詢等操作,在此表中定義了7個字段來進(jìn)行通知信息的存儲,并以外鍵記錄通知創(chuàng)建者id,與用戶登錄信息表的用戶id對應(yīng),見表3-8。表38標(biāo)識符數(shù)據(jù)類型長度非空描述主鍵外鍵說明notice_idint4y通知idy自增notice_titlevarchar50y通知標(biāo)題notice_contenttext16n通知內(nèi)容notice_creatorint4y通知創(chuàng)建者y login表user_idnotice_projectint4y通知所屬項(xiàng)目notice_startdatetime8y通知起效時(shí)間notice_enddatetime8y通知失效時(shí)間3.3.9 問題信息表(problems)該表主要用來對問題信息進(jìn)行錄入、修改、查詢等操作,在此表中定義了7個字段來進(jìn)行問題信息的存儲,并以外鍵記錄問題提出者id,與用戶登錄信息表的用戶id對應(yīng),見表3-9。表39標(biāo)識符數(shù)據(jù)類型長度非空描述主鍵外鍵說明problem_idint4y問題idy自增problem_ownerint4y問題提出者ylogin表user_idproblem_titlevarchar50y問題標(biāo)題problem_startdatetime8y問題提出時(shí)間problem_enddatetime8n問題解決時(shí)間problem_statustinyint1y問題狀態(tài)用0,1表示0:未解決1:已解決problem_contenttext16y問題內(nèi)容3.3.10 解答信息表(answers)該表主要用來與問題信息表聯(lián)合使用,實(shí)現(xiàn)對問題的解答和補(bǔ)充,在此表中定義了5個字段來進(jìn)行解答信息的存儲,并以外鍵記錄問題解答者id,與用戶登錄信息表的用戶id對應(yīng),見表3-10。表310標(biāo)識符數(shù)據(jù)類型長度非空描述主鍵外鍵說明answer_idint4y解答idy自增problem_idint4y解答對應(yīng)問題yproblems表problem_idanswer_contenttext16y解答內(nèi)容user_idint4y問題解答者ylogin表user_idanswer_timedatetime8y解答時(shí)間第四章 技術(shù)介紹4.1 c+語言及microsoft visual c+的介紹本系統(tǒng)采用c+語言和microsoft visual c+ 6。0開發(fā)環(huán)境,下面對它們進(jìn)行介紹。美國at&t貝爾實(shí)驗(yàn)室的本賈尼斯特勞斯特盧普(bjarne stroustrup)博士在20世紀(jì)80年代初發(fā)明并實(shí)現(xiàn)了c+。一開始c+是作為c語言的增強(qiáng)版出現(xiàn)的,從給c語言增加類開始,不斷的增加新特性。虛函數(shù)、運(yùn)算符重載、多重繼承、模板、異常、rtti、名字空間逐漸被加入標(biāo)準(zhǔn)。根據(jù)effective c+第三版第一條款的描述,現(xiàn)在c+由以下四個“子語言”組成:1、c子語言。c+支持c語言的幾乎全部功能,在語法上與c語言僅有極微妙的差別。2、面向?qū)ο蟮腸+。c+首先作為一門面向?qū)ο蟮恼Z言而聞名,這個特點(diǎn)在這里不再詳述。3、泛型編程語言。c+強(qiáng)大的模板功能使它能在編譯期完成許多工作,從而大大提高運(yùn)行期效率。4、stl(c+標(biāo)準(zhǔn)模板庫)。隨著stl的不斷發(fā)展,它已經(jīng)逐漸成為c+程序設(shè)計(jì)中不可或缺的部分,其效率可能比一般的naive代碼低些,但是其安全性與規(guī)范性使它大受歡迎。c+的設(shè)計(jì)原則包括: c+設(shè)計(jì)成靜態(tài)類型、和c同樣高效且可移植的多用途程序設(shè)計(jì)語言。 c+設(shè)計(jì)成直接的和廣泛的支援多種程序設(shè)計(jì)風(fēng)格(程序化程序設(shè)計(jì)、資料抽象化、面向?qū)ο蟪绦蛟O(shè)計(jì)、泛型程序設(shè)計(jì))。 c+設(shè)計(jì)成給程序設(shè)計(jì)者更多的選擇,即使可能導(dǎo)致程序設(shè)計(jì)者選擇錯誤。 c+設(shè)計(jì)成盡可能與c兼容,籍此提供一個從c到c+的平滑過渡。 c+避免平臺限定或沒有普遍用途的特性。 c+不使用會帶來額外開銷的特性。 c+設(shè)計(jì)成無需復(fù)雜的程序設(shè)計(jì)環(huán)境。vc+是微軟公司開發(fā)的一個ide(集成開發(fā)環(huán)境),想要熟練使用vc開發(fā)大型的軟件項(xiàng)目,需要了解許多windows平臺的特性,并且需要掌握mfc、atl、com等的知識。vc+應(yīng)用程序的開發(fā)主要有兩種模式,一種是win api方式,另一種則是mfc方式,傳統(tǒng)的win api開發(fā)方式比較繁瑣,而mfc則是對win api再次封裝,所以mfc相對于win api開發(fā)更具備效率優(yōu)勢。4.2 mfc技術(shù)介紹mfc的全稱是microsoft foundation classes(微軟基礎(chǔ)類),是微軟提供的,用于在c+環(huán)境下編寫應(yīng)用程序的一個框架和引擎,vc+是windows下開發(fā)人員使用的專業(yè)c+ sdk(sdk,standard software develop kit,專業(yè)軟件開發(fā)平臺),mfc就是掛在它之上的一個輔助軟件開發(fā)包,mfc作為與vc+血肉相連的部分,mfc同bc+集成的vcl一樣是一個非外掛式的軟件包,類庫,只不過mfc類是微軟為vc+專配的。mfc是win api與c+的結(jié)合,api,即微軟提供的windows下應(yīng)用程序的編程語言接口,是一種軟件編程的規(guī)范,但不是一種程序開發(fā)語言本身,可以允許用戶使用各種各樣的第三方的編程語言來進(jìn)行對windows下應(yīng)用程序的開發(fā),使這些被開發(fā)出來的應(yīng)用程序能在windows下運(yùn)行。mfc是微軟對api函數(shù)的專用c+封裝,這種結(jié)合一方面讓用戶使用微軟的專業(yè)c+ sdk來進(jìn)行win下應(yīng)用程序的開發(fā)變得容易,因?yàn)閙fc是對api的封裝,微軟做了大量的工作,隱藏了好多程序開發(fā)人員在win下用c+ & mfc編制軟件時(shí)的大量內(nèi)節(jié),如應(yīng)用程序?qū)崿F(xiàn)消息的處理,設(shè)備環(huán)境繪圖,這種結(jié)合是以方便為目的的,必定要付出一定代價(jià),因此就造成了mfc對類封裝中的一定程度的的冗余和迂回,但這是可以接受的。4.3 odbc,ado技術(shù)介紹一、odbcodbc(open database connectivity,開放數(shù)據(jù)庫互連)是微軟公司開放服務(wù)結(jié)構(gòu)(wosa,windows open services architecture)中有關(guān)數(shù)據(jù)庫的一個組成部分,它建立了一組規(guī)范,并提供了一組對數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)api。這些api利用sql來完成其大部分任務(wù)。odbc本身也提供了對sql語言的支持,用戶可以直接將sql語句送給odbc。一個基于odbc的應(yīng)用程序?qū)?shù)據(jù)庫的操作不依賴任何dbms,不直接與dbms打交道,所有的數(shù)據(jù)庫操作由對應(yīng)的dbms的odbc驅(qū)動程序完成。也就是說,不論是foxpro、access , mysql還是oracle數(shù)據(jù)庫,均可用odbc api進(jìn)行訪問。由此可見,odbc的最大優(yōu)點(diǎn)是能以統(tǒng)一的方式處理所有的數(shù)據(jù)庫。一個完整的odbc由下列幾個部件組成:應(yīng)用程序;odbc管理器。該程序位于windows 95控制面板(control panel)的32位odbc內(nèi),其主要任務(wù)是管理安裝的odbc驅(qū)動程序和管理數(shù)據(jù)源。驅(qū)動程序管理器。驅(qū)動程序管理器包含在odbc32.dll中,對用戶是透明的。其任務(wù)是管理odbc驅(qū)動程序,是odbc中最重要的部件;odbc api;odbc 驅(qū)動程序。是一些dll,提供了odbc和數(shù)據(jù)庫之間的接口;數(shù)據(jù)源。數(shù)據(jù)源包含了數(shù)據(jù)庫位置和數(shù)據(jù)庫類型等信息,實(shí)際上是一種數(shù)據(jù)連接的抽象。應(yīng)用程序要訪問一個數(shù)據(jù)庫,首先必須用odbc管理器注冊一個數(shù)據(jù)源,管理器根據(jù)數(shù)據(jù)源提供的數(shù)據(jù)庫位置、數(shù)據(jù)庫類型及odbc驅(qū)動程序等信息,建立起odbc與具體數(shù)據(jù)庫的聯(lián)系。這樣,只要應(yīng)用程序?qū)?shù)據(jù)源名提供給odbc,odbc就能建立起與相應(yīng)數(shù)據(jù)庫的連接。在odbc中,odbc api不能直接訪問數(shù)據(jù)庫,必須通過驅(qū)動程序管理器與數(shù)據(jù)庫交換信息。驅(qū)動程序管理器負(fù)責(zé)將應(yīng)用程序?qū)dbc api的調(diào)用傳遞給正確的驅(qū)動程序,而驅(qū)動程序在執(zhí)行完相應(yīng)的操作后,將結(jié)果通過驅(qū)動程序管理器返回給應(yīng)用程序。odbc 使用層次的方法來管理數(shù)據(jù)庫,在數(shù)據(jù)庫通信結(jié)構(gòu)的每一層,對可能出現(xiàn)依賴數(shù)據(jù)庫產(chǎn)品自身特性的地方,odbc 都引入一個公共接口以解決潛在的不一致性,從而很好地解決了基于數(shù)據(jù)庫系統(tǒng)應(yīng)用程序的相對獨(dú)立性,這也是odbc 一經(jīng)推出就獲得巨大成功的重要原因之一。二、adoado (activex data objects) 是微軟提供的一個用于存取數(shù)據(jù)源的com組件。它提供了編程語言和統(tǒng)一數(shù)據(jù)訪問方式ole db的一個中間層。允許開發(fā)人員編寫訪問數(shù)據(jù)的代碼而不用關(guān)心數(shù)據(jù)庫是如何實(shí)現(xiàn)的,而只用關(guān)心到數(shù)據(jù)庫的連接。訪問數(shù)據(jù)庫的時(shí)候,關(guān)于sql的知識不是必要的,但是特定數(shù)據(jù)庫支持的sql命令仍可以通過ado中的命令對象來執(zhí)行。ado是一種面向?qū)ο蟮木幊探涌?,微軟介紹說,與其同ibm和oracle提倡的那樣,創(chuàng)建一個統(tǒng)一數(shù)據(jù)庫,不如提供一個能夠訪問不同數(shù)據(jù)庫的統(tǒng)一接口,這樣會更加實(shí)用一些。為實(shí)現(xiàn)這一目標(biāo),微軟在數(shù)據(jù)庫和微軟的ole db中提供了一種“橋”程序,這種程序能夠提供對數(shù)據(jù)庫的連接。開發(fā)人員在使用ado時(shí),其實(shí)就是在使用ole db,不過ole db更加接近底層。ado的一項(xiàng)屬性遠(yuǎn)程數(shù)據(jù)服務(wù),支持“數(shù)據(jù)倉庫”activex 組件以及高效的客戶端緩存。作為activex的一部分,ado也是com組件的一部分。ado向我們提供了一個熟悉的,高層的對ole db的automation封裝接口。ado對象是ole db的接口;如同不同的數(shù)據(jù)庫系統(tǒng)需要它們自己的odbc驅(qū)動程序一樣,不同的數(shù)據(jù)源要求它們自己的ole db提供者。目前,雖然ole db提供者比較少,但微軟正積極推廣該技術(shù),并打算用ole db取代odbc。4.4 sql語言技術(shù)介紹sql的全稱是structured query language(結(jié)構(gòu)化查詢語言),最初是由ibm的圣約瑟研究實(shí)驗(yàn)室為其關(guān)系數(shù)據(jù)庫管理系統(tǒng)system r開發(fā)的一種查詢語言,它的前身是square語言。sql語言結(jié)構(gòu)簡潔,功能強(qiáng)大,簡單易學(xué),所以自從ibm公司1981年推出以來,sql語言,得到了廣泛的應(yīng)用。如今無論是像oracle ,sybase, informix, sql server這些大型的數(shù)據(jù)庫管理系統(tǒng),還是像visual fox pro, powerbuilder這些微機(jī)上常用的數(shù)據(jù)庫開發(fā)系統(tǒng),都支持sql語言作為查詢語言。sql是高級的非過程化編程語言,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。他不要求用戶指定對數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫系統(tǒng)可以使用相同的sql語言作為數(shù)據(jù)輸入與管理的接口。它以記錄集合作為操縱對象,所有sql語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條sql語句的輸出作為另一條sql語句的輸入,所以sql語言可以嵌套,這使他具有極大的靈活性和強(qiáng)大的功能,在多數(shù)情況下,在其他語言中需要一大段程序?qū)崿F(xiàn)的一個單獨(dú)事件只需要一個sql語句就可以達(dá)到目的,這也意味著用sql語言可以寫出非常復(fù)雜的語句。 sql語言包含4個部分: 數(shù)據(jù)定義(ddl)語言(如create, drop,alter等語句) 數(shù)據(jù)操縱(dml)語言(如select, insert, update, delete等語句)數(shù)據(jù)控制語言(如grant,revoke,commit, rollback等語句) 4.5 開發(fā)環(huán)境介紹操作系統(tǒng):windows xp開發(fā)工具:microsoft visual c+ 6.0數(shù)據(jù)庫:sql server 2000 develop edition數(shù)據(jù)建模工具:power designer 12安裝程序制作工具:installshield 10.5服務(wù)器:iis第五章 系統(tǒng)實(shí)現(xiàn)5.1 系統(tǒng)總體架構(gòu)及實(shí)現(xiàn)5.1.1 系統(tǒng)總體結(jié)構(gòu)圖圖5-15.1.2 系統(tǒng)主界面截圖用戶從登錄界面(如圖5-2)登錄項(xiàng)目管理系統(tǒng)主程序后,將彈出主界面,界面從上到下分別是菜單欄、各主要功能面板、狀態(tài)信息條(歡迎文字、當(dāng)前系統(tǒng)時(shí)間、當(dāng)前系統(tǒng)版本),不同權(quán)限的用戶登錄后可進(jìn)行的操作范圍也不盡相同,權(quán)限最高的管理員在操作上無限制,權(quán)限最低的職員的操作范圍最小,主要體現(xiàn)在對添加、修改、刪除等操作的限制上。主界面效果如圖5-3。圖5-2圖5-35.1.3 關(guān)鍵代碼bool cmaindlg:oninitdialog() cdialog:oninitdialog();/將dialog設(shè)置為ws_ex_appwindow風(fēng)格,以便在任務(wù)欄顯示標(biāo)簽this-modifystyleex(0, ws_ex_appwindow);ctime t=ctime:getcurrenttime();/獲得當(dāng)前時(shí)間cstring s=t.format(%h:%m:%s);/轉(zhuǎn)換時(shí)間為cstrings=當(dāng)前系統(tǒng)時(shí)間:+s; /設(shè)置顯示的字符串crect rect;this-getclientrect(&rect);m_statusbarctrl.create(ws_child|ws_visible|ccs_bottom,crect(0,0,0,0),this,id_status_bar_ctrl); /創(chuàng)建狀態(tài)欄/創(chuàng)建狀態(tài)欄區(qū)間數(shù)和寬度int xpos = :getsystemmetrics(sm_cxscreen);int indicators3;indicators0 = xpos*1/5;indicators1 = xpos*2/5;indicators2 = xpos;m_statusbarctrl.setparts(3,&indicators0);cstring cstemp = ;cstemp.format(歡迎你:%s, cpublic:user_name);m_statusbarctrl.settext(cstemp,0,0);m_statusbarctrl.settext(s,1,0);cstring t_version=;cfileversioninfo t_fver;t_fver.create();t_version=t_fver.getfileversion();t_version=當(dāng)前版本:+t_version;m_statusbarctrl.settext(t_version,2,0);/設(shè)置計(jì)時(shí)器,每一秒觸發(fā)計(jì)時(shí)事件this-settimer(12,1000,null);this-myinitial();/向界面中添加選項(xiàng)卡和面板并設(shè)置大小和位置的函數(shù)cmenu* mmenu = getmenu();cmenu* submenu = mmenu-getsubmenu(0);/只有administrator權(quán)限用戶才能使用用戶管理功能if(cpublic:user_role!=4)submenu-enablemenuitem(id_usermanager, mf_grayed);return true;5.2 部門組建5.2.1 界面及功能描述主界面中的幾個主要功能模塊都是以選項(xiàng)卡+面板的方式實(shí)現(xiàn)的,主界面上的第一個功能面板是部門組建,面板中部的列表控件用來顯示部門列表;面板上方是部門查詢框,輸入部門名稱、部門負(fù)責(zé)人這兩個條件中的一個或多個,點(diǎn)擊查詢按鈕,符合條件的搜索結(jié)果就會出現(xiàn)在列表控件中;面板下方是部門基本信息框,選中列表控件中的一個部門,該部門的基本信息就會顯示在部門基本信息框中,如圖5-4。要創(chuàng)建一個部門,點(diǎn)擊添加按鈕,在彈出的對話框中填入該部門的信息,并給該部門分配部門成員,即可完成部門的創(chuàng)建工作,如圖5-5。創(chuàng)建出的部門都可以通過修改和刪除按鈕來進(jìn)行部門信息的修改和部門的刪除工作。5.2.2 界面截圖圖5-5圖5-65.2.3 關(guān)鍵代碼bool cgroupdlg:oninitdialog() cdialog:oninitdialog();m_ltdeptshow.insertcolumn(0, id, lvcfmt_left, 50);m_ltdeptshow.insertcolumn(1, 部門名稱, lvcfmt_left, 150);m_ltdeptshow.insertcolumn(2, 負(fù)責(zé)人, lvcfmt_left, 150);dword dwstyle = m_ltdeptshow.getextendedstyle();dwstyle |= lvs_ex_fullrowselect; /選中某行使整行高亮dwstyle |= lvs_ex_gridlines; /網(wǎng)格線(只適用與report風(fēng)格的listctrl) m_ltdeptshow.setextendedstyle(dwstyle); /設(shè)置擴(kuò)展風(fēng)格this-initialgroup();/負(fù)責(zé)向listctrl中填入數(shù)據(jù)的函數(shù)cbutton *pbutton = null; /根據(jù)用戶權(quán)限高低,限制用戶的操作范圍switch(cpublic:user_role)case 1:pbutton = (cbutton *)getdlgitem(idc_bn_deptquery);pbutton-enablewindow(false);/禁用職員不允許操作的按鈕break;case 2:/禁用小組負(fù)責(zé)人不允許操作的按鈕break;case 3:/禁用部門負(fù)責(zé)人不允許操作的按鈕break;default:break;return true; 5.3 小組管理5.3.1 界面及功能描述在部門組建面板中選擇一個部門,點(diǎn)擊查看,便會彈出小組管理對話框,如圖5-7。對話框上方是小組查詢框,輸入小組名稱、小組負(fù)責(zé)人這兩個條件中的一個或多個,點(diǎn)擊查詢按鈕,符合條件的搜索結(jié)果就會出現(xiàn)在對話框下方列表控件中;要創(chuàng)建一個小組,點(diǎn)擊添加按鈕,在彈出的對話框中填入該小組的信息,并給該小組分配小組成員,即可完成小組的創(chuàng)建工作,如圖5-8??梢酝ㄟ^查看、修改和刪除按鈕來進(jìn)行小組具體信息的查看、修改和小組刪除工作。5.
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年水利水電工程促進(jìn)地方經(jīng)濟(jì)發(fā)展的試題及答案
- 2025年工程經(jīng)濟(jì)數(shù)據(jù)驅(qū)動分析試題及答案
- 公共關(guān)系與危機(jī)管理的關(guān)系試題及答案
- 公共關(guān)系學(xué)的職能定位試題及答案
- 強(qiáng)化訓(xùn)練2025年中級經(jīng)濟(jì)師試題及答案
- 2025年中級經(jīng)濟(jì)師曉之以理試題及答案
- 公共關(guān)系學(xué)的整合傳播案例解析及試題及答案
- 水利水電工程可持續(xù)發(fā)展試題及答案探究
- 公共關(guān)系專家的技能要求試題及答案
- 非盈利組織與公共關(guān)系的試題及答案
- 2024年陜西省普通高中學(xué)業(yè)水平合格性考試歷史試題(解析版)
- 中國干眼臨床診療專家共識(2024年)解讀
- 2mm土工膜長絲土工布檢測報(bào)告合格證
- 一年級家長會課件2024-2025學(xué)年
- 拉美文化學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 校長思政課課件-百年奧運(yùn)
- 文藝復(fù)興經(jīng)典名著選讀智慧樹知到期末考試答案章節(jié)答案2024年北京大學(xué)
- 小小科學(xué)家《物理》模擬試卷A(附答案)
- 體能科學(xué)訓(xùn)練方法智慧樹知到期末考試答案2024年
- 四川民歌智慧樹知到期末考試答案2024年
- GB/T 18175-2014水處理劑緩蝕性能的測定旋轉(zhuǎn)掛片法
評論
0/150
提交評論