計算機專業畢業論文-項目管理系統.doc_第1頁
計算機專業畢業論文-項目管理系統.doc_第2頁
計算機專業畢業論文-項目管理系統.doc_第3頁
計算機專業畢業論文-項目管理系統.doc_第4頁
計算機專業畢業論文-項目管理系統.doc_第5頁
已閱讀5頁,還剩63頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論