版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
企業(yè)人事管理系統(tǒng)項(xiàng)目九高等院校公共課系列精品教材C#程序設(shè)計(jì)學(xué)會(huì)三層架構(gòu)開發(fā)模式學(xué)會(huì)利用配置文件App.config連接數(shù)據(jù)庫(kù)熟練掌握利用MDI窗體管理項(xiàng)目中的多個(gè)窗體的方法熟練掌握在VS2013的一個(gè)解決方案中多個(gè)項(xiàng)目間的引用方法能夠使用重載解決問(wèn)題熟練掌握數(shù)據(jù)庫(kù)控件DataGridView的使用技能目標(biāo)之前我們做的項(xiàng)目可以說(shuō)都是一些小項(xiàng)目,然而,目前軟件開發(fā)行業(yè)最需要的是能夠幫助企業(yè)提高工作效率的各類管理系統(tǒng),如企業(yè)人事管理系統(tǒng)等等。項(xiàng)目導(dǎo)讀任務(wù)1知識(shí)點(diǎn)任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例知識(shí)梳理知識(shí)點(diǎn)任務(wù)1任務(wù)引入:對(duì)于小程序來(lái)說(shuō),我們不用考慮代碼的設(shè)計(jì)規(guī)范,但是對(duì)于大軟件來(lái)說(shuō),必須遵循程序代碼設(shè)計(jì)規(guī)范,這樣可以提高開發(fā)效率,便于軟件后期維護(hù)和升級(jí),那么最流行的軟件設(shè)計(jì)架構(gòu)是什么呢?任務(wù)分析:三層架構(gòu),是目前非常流行的代碼分層設(shè)計(jì)模式,但是我們用三層架構(gòu)主要是使項(xiàng)目結(jié)構(gòu)更清楚,分工更明確,有利于后期的維護(hù)和升級(jí)。它未必會(huì)提升性能,因?yàn)楫?dāng)子程序模塊未執(zhí)行結(jié)束時(shí),主程序模塊只能處于等待狀態(tài)。這說(shuō)明將應(yīng)用程序劃分層次,會(huì)帶來(lái)其執(zhí)行速度上的一些損失。但從團(tuán)隊(duì)開發(fā)效率角度上來(lái)講卻可以感受到效率的提升。任務(wù)1知識(shí)點(diǎn)一、三層架構(gòu)目前比較常用的代碼分層設(shè)計(jì)模式為三層架構(gòu)設(shè)計(jì)(3-TierArchitecture)。三層架構(gòu)設(shè)計(jì)能夠很好地體現(xiàn)出軟件設(shè)計(jì)“高內(nèi)聚,低耦合”的設(shè)計(jì)思想。三層架構(gòu)通常是指將整個(gè)業(yè)務(wù)應(yīng)用劃分為:表示層UI、業(yè)務(wù)邏輯層BLL、數(shù)據(jù)訪問(wèn)層DAL任務(wù)1知識(shí)點(diǎn)傳統(tǒng)的三層架構(gòu)設(shè)計(jì)如圖所示,將項(xiàng)目代碼劃分了三層,每一層有其獨(dú)自的職責(zé)邊界。但在大多數(shù)的場(chǎng)景中,我們??吹降氖菆D的改進(jìn)的三層架構(gòu),將數(shù)據(jù)結(jié)構(gòu)模型再進(jìn)一步地抽離了出來(lái)統(tǒng)一維護(hù)。
傳統(tǒng)的三層架構(gòu)
改進(jìn)的三層架構(gòu)1.表示層UI2.業(yè)務(wù)邏輯層BLL3.數(shù)據(jù)訪問(wèn)層DAL4.模型定義層Model采用三層結(jié)構(gòu),主要是使項(xiàng)目結(jié)構(gòu)更清楚,分工更明確,有利于后期的維護(hù)和升級(jí)。三層架構(gòu)主要有以下幾個(gè)優(yōu)點(diǎn):(1)開發(fā)人員可以只關(guān)注整個(gè)結(jié)構(gòu)中的某一層。(2)可以很容易地用新的實(shí)現(xiàn)來(lái)替換原有層次的實(shí)現(xiàn)。(3)可以降低層與層之間的依賴。(4)有利于標(biāo)準(zhǔn)化。(5)利于各層邏輯的復(fù)用。任務(wù)1知識(shí)點(diǎn)(6)結(jié)構(gòu)更加明確。(7)在后期維護(hù)的時(shí)候,極大地降低了維護(hù)成本和維護(hù)時(shí)間。同時(shí),三層架構(gòu)也有如下的不足:(1)降低了系統(tǒng)的性能。如果不采用分層式結(jié)構(gòu),很多業(yè)務(wù)可以直接訪問(wèn)數(shù)據(jù)庫(kù),以此獲取相應(yīng)的數(shù)據(jù),如今卻必須通過(guò)中間層來(lái)完成。(2)有時(shí)會(huì)導(dǎo)致級(jí)聯(lián)的修改。(3)增加了代碼量,增加了工作量。任務(wù)1知識(shí)點(diǎn)企業(yè)人事管理系統(tǒng)項(xiàng)目案例任務(wù)2一、系統(tǒng)功能描述二、搭建三層架構(gòu)三、UI層界面布局四、編寫代碼知識(shí)梳理任務(wù)引入:隨著信息技術(shù)的不斷發(fā)展,企業(yè)中需要管理的數(shù)據(jù)信息量越來(lái)越多,隨之而來(lái)的管理成本也不斷提高。如果使用傳統(tǒng)的人工方式進(jìn)行人事管理,就會(huì)出現(xiàn)效率低、保密性差等問(wèn)題,另外,時(shí)間長(zhǎng)了會(huì)產(chǎn)生大量的文件和數(shù)據(jù),這給查找、更新和維護(hù)都帶來(lái)不少的困難。任務(wù)分析:本任務(wù)我們?cè)O(shè)計(jì)并實(shí)現(xiàn)企業(yè)人事管理系統(tǒng),該系統(tǒng)將提高企業(yè)人事管理工作的效率,也是企業(yè)科學(xué)化、正規(guī)化管理的重要條件。整個(gè)系統(tǒng)采用三層架構(gòu)模式開發(fā),便于后期維護(hù)和升級(jí)。任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例一、系統(tǒng)功能描述本項(xiàng)目基于三層架構(gòu)開發(fā)一套企業(yè)人事管理系統(tǒng),該系統(tǒng)主要包括六個(gè)功能模塊:?jiǎn)T工管理(包括添加員工和管理員工)、工資管理(包括添加工資和管理工資)、考核管理(包括添加考核和管理考核)、信息查詢(包括員工查詢和考核查詢)、部門維護(hù)(包括添加部門和管理部門)、用戶維護(hù)(包括添加用戶和管理用戶)。系統(tǒng)的功能結(jié)構(gòu)如圖所示。從數(shù)據(jù)庫(kù)設(shè)計(jì)角度來(lái)看,本系統(tǒng)共包含五個(gè)實(shí)體,每個(gè)實(shí)體需要設(shè)計(jì)一張數(shù)據(jù)表,分別對(duì)應(yīng)除“信息查詢”以外的五個(gè)功能模塊。本項(xiàng)目采用vs2013自帶的sqlserver數(shù)據(jù)庫(kù),創(chuàng)建數(shù)據(jù)庫(kù)文件HR.mdf,數(shù)據(jù)庫(kù)文件中包含5個(gè)數(shù)據(jù)表,分別是用戶表userInfo、部門信息表department、員工信息表employee、工資信息表salary、考核信息表checkInfo。任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例二、搭建三層架構(gòu)啟動(dòng)VS2013以后,選擇“文件”菜單——“新建”——“項(xiàng)目”打開“新建項(xiàng)目”對(duì)話框,確認(rèn)左側(cè)目錄樹選中的是“VisualC#”選項(xiàng),然后選擇“Windows窗體應(yīng)用程序”,瀏覽到項(xiàng)目的存放目錄“D:\CSharp”,名稱設(shè)置為“WThreeLayer”。進(jìn)入項(xiàng)目后,把自動(dòng)生成的Form1窗體重命名為L(zhǎng)ogin,改名后按回車鍵確認(rèn),會(huì)彈出如下圖所示的對(duì)話框。另外,還再需要添加四個(gè)Windows窗體MainForm、UserAdd、UserManage和UserSearch,將項(xiàng)目名稱由“WThreeLayer”重命名為“UI”,設(shè)置為啟動(dòng)項(xiàng)目,作為三層架構(gòu)的表示層UI層。右擊解決方案WThreeLayer依次添加三個(gè)類庫(kù)項(xiàng)目:BLL、DAL、Model,在三個(gè)類庫(kù)中各添加一個(gè)類UserInfo.cs,在DAL中添加類DBHelper.cs和數(shù)據(jù)庫(kù)文件HR.mdf專門用于訪問(wèn)數(shù)據(jù)庫(kù),添加完畢后項(xiàng)目結(jié)構(gòu)圖如下圖所示。任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例
MicorsoftVisualStudio
添加完畢后項(xiàng)目結(jié)構(gòu)圖(1)重新生成整個(gè)解決方案。(2)為項(xiàng)目DAL添加引用。(3)為項(xiàng)目BLL添加引用。(4)為項(xiàng)目UI添加引用。任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例引用管理器-DAL
引用管理器-BLL引用管理器-UI三、UI層界面布局(一)登錄界面用戶登錄Login.cs是企業(yè)人事管理系統(tǒng)的第一個(gè)界面。任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例
登錄界面(二)主界面企業(yè)人事管理系統(tǒng)的主界面MainForm.cs匯集了六個(gè)功能模塊的所有功能。任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例企業(yè)人事管理系統(tǒng)的主界面任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例(三)用戶維護(hù)模塊1.添加用戶添加用戶UserAdd.cs的界面如圖所示。任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例
添加用戶UserAdd.cs的界面2.管理用戶管理用戶UserManage.cs的界面如圖所示。任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例管理用戶UserManage.cs的界面(四)員工管理模塊1.添加員工2.管理員工任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例添加員工界面
管理員工界面(五)工資管理模塊1.添加工資2.管理工資任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例添加工資界面
管理工資界面(六)考核管理模塊1.添加考核2.管理考核任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例添加考核界面管理考核界面(七)信息查詢模塊1.用戶查詢?nèi)蝿?wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例用戶查詢UserSearch.cs的界面2.員工查詢3.考核查詢?nèi)蝿?wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例員工查詢界面考核查詢界面(八)部門維護(hù)模塊1.添加部門2.管理部門任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例
添加部門界面管理部門界面四、編寫代碼(一)ModelModel類庫(kù)用來(lái)描述企業(yè)人事管理系統(tǒng)中的五個(gè)實(shí)體用戶、員工、工資、考核、部門,針對(duì)每個(gè)實(shí)體創(chuàng)建一個(gè)類文件:用戶UserInfo.cs、員工Employee.cs、工資Salary.cs、考核Check.cs、部門Department.cs。(二)DAL層DAL層是三層架構(gòu)的最底層,主要用于操作數(shù)據(jù)庫(kù)。企業(yè)人事管理系統(tǒng)的DAL層包含九個(gè)文件:數(shù)據(jù)庫(kù)文件HR.mdf、數(shù)據(jù)操作類DBHelper.cs、以及分別和五個(gè)實(shí)體對(duì)應(yīng)的DAL層UserInfo.cs、Employee.cs、Salary.cs、Check.cs、Department.cs。任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例1.數(shù)據(jù)庫(kù)文件HR.mdf(1)創(chuàng)建“讀全部”存儲(chǔ)過(guò)程Pro_SelectUser_All的代碼dbo.Pro_SelectUser_All.sql:(2)創(chuàng)建“按用戶名和密碼讀”存儲(chǔ)過(guò)程Pro_SelectUser_ByUserName的代碼dbo.Pro_SelectUser_ByUserName.sql:(3)創(chuàng)建“插入”存儲(chǔ)過(guò)程Pro_InsertUser的代碼dbo.Pro_InsertUser.sql:任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例
數(shù)據(jù)庫(kù)HR.mdf的結(jié)構(gòu)
三個(gè)存儲(chǔ)過(guò)程創(chuàng)建完畢以后的效果2.類DBHelper.cs該類主要用于操作數(shù)據(jù)庫(kù)文件HR.mdf,企業(yè)人事管理系統(tǒng)中對(duì)五個(gè)數(shù)據(jù)表的操作都用這個(gè)類,此類是訪問(wèn)數(shù)據(jù)庫(kù)的通用類,可以支持字符串拼接、命名參數(shù)、存儲(chǔ)過(guò)程三種訪問(wèn)數(shù)據(jù)庫(kù)的方法。任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例引用管理器-DAL3.類UserInfo.cs該類包含六個(gè)方法:(1)無(wú)參GetList()方法可以讀取所有用戶信息,用于在“管理用戶”界面中加載所有用戶信息;(2)用“用戶實(shí)體”做參數(shù)的一參GetList()方法可以按照用戶名和密碼查找用戶信息,用于“登錄”界面對(duì)用戶名和密碼的驗(yàn)證;(3)用“select語(yǔ)句”做參數(shù)的一參GetList()方法可以依據(jù)select語(yǔ)句讀取用戶信息,用于“用戶查詢”界面對(duì)用戶信息的多字段組合查詢;(4)Add()方法可以插入用戶信息,用于“添加用戶”界面完成用戶注冊(cè);(5)Update()方法可以修改用戶信息,用于“管理用戶”界面對(duì)用戶密碼和用戶類型進(jìn)行修改;(6)Delete()方法可以刪除用戶信息,用戶“管理用戶”界面刪除用戶;任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例(三)BLL層BLL層是三層架構(gòu)的中間層,主要用于設(shè)置業(yè)務(wù)邏輯,比如數(shù)據(jù)加密等,作為DAL和UI層的橋梁。企業(yè)人事管理系統(tǒng)的BLL層包含五個(gè)文件:與五個(gè)實(shí)體對(duì)應(yīng)的BLL層UserInfo.cs、Employee.cs、Salary.cs、Check.cs、Department.cs。本教材只包含UserInfo.cs,其他四個(gè)類由讀者自行完成。類UserInfo.cs包含一個(gè)字段和七個(gè)方法,字段dal是實(shí)例化DAL層的類UserInfo,以便調(diào)用DAL層UserInfo類的六個(gè)方法,此外還有一個(gè)加密方法toMD5()用于對(duì)用戶密碼字段加密。任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例(四)UI層UI層是三層架構(gòu)中的最高層,為用戶提供操作界面,企業(yè)人事管理系統(tǒng)的UI層包含六個(gè)功能模塊的所有Windows窗體界面,共十五個(gè)Windows窗體(見9.2.3UI層界面布局)和一個(gè)系統(tǒng)配置文件App.config(代碼見DAL層),本教材只提供“用戶維護(hù)”模塊相關(guān)的五個(gè)Windows窗體,其他窗體由用戶自行設(shè)計(jì)。1.登錄界面Login.cs2.類MainForm.cs3.類UserAdd.cs4.類UserManage.cs5.類UserSearch.cs任務(wù)2企業(yè)人事管理系統(tǒng)項(xiàng)目案例本項(xiàng)目基于三層架構(gòu)開發(fā)了企業(yè)人事管理系統(tǒng),通過(guò)完成整個(gè)系統(tǒng)的開發(fā),讓讀者掌握三層架構(gòu)的設(shè)計(jì)模式和搭建流程,學(xué)會(huì)利用系統(tǒng)配置文件配置數(shù)據(jù)庫(kù)連接字符串的步驟,提供了訪問(wèn)數(shù)據(jù)庫(kù)的通用類編寫方法。掌握以上知識(shí),讀者能夠基于三層架構(gòu)開發(fā)一個(gè)小型的應(yīng)用系統(tǒng)。本項(xiàng)目是在前面項(xiàng)目基礎(chǔ)上的進(jìn)一步深化,從這個(gè)意義上說(shuō),我們做任何事情,都要精益求精。從另一個(gè)側(cè)面說(shuō),我們做任何事情,不要怕困難,可以把復(fù)雜的工作哦分解成績(jī)個(gè)相對(duì)簡(jiǎn)單的工作的組合,這是一種方法論,可以有力促進(jìn)我們工作的開展和進(jìn)步。項(xiàng)目總結(jié)對(duì)企業(yè)人事管理系統(tǒng)項(xiàng)目進(jìn)行健壯性、操作方便性、規(guī)范性等方面的改進(jìn),可以參考以下幾點(diǎn):1.所有密碼在程序中均不可見2.所有DataGridView各列名稱改為中文3.每次的數(shù)據(jù)庫(kù)操作變化要及時(shí)反映到DataGridView控件中4.各種輸入信息的正確性驗(yàn)證5.界面操作焦點(diǎn)的合理定位:焦點(diǎn)能夠自動(dòng)定位到錯(cuò)誤輸入上面,回車可以響應(yīng)默認(rèn)按鈕6.快捷按鈕和快捷鍵功能補(bǔ)全7.員工、部門、用戶等不能重復(fù)添加8.整個(gè)系統(tǒng)流程不能出現(xiàn)邏輯錯(cuò)誤,如:刪除員工時(shí),該員工的工資、考核等信息是否也刪除?怎樣處理?同理,刪除部門呢?是否需要進(jìn)行刪除確認(rèn)?9.各種時(shí)間的輸入是否應(yīng)該有所限制?項(xiàng)目提升10.工資的部分字段自動(dòng)生成?11.考慮到操作的方便性,添加員工窗口中的員工編號(hào)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 625-2024化學(xué)試劑硫酸
- 團(tuán)購(gòu)房屋購(gòu)買合同模板
- 技術(shù)保密協(xié)議格式范本
- 旅游景區(qū)合作開發(fā)協(xié)議書
- 校園無(wú)線網(wǎng)絡(luò)接入規(guī)定
- 掃描合同法律效力評(píng)估
- 通信工程施工合同
- 店面出租轉(zhuǎn)讓合同模板
- 2024年二手房買賣合同協(xié)議書
- 塔式起重機(jī)拆卸安全合同示范文本
- 2024年新華社招聘筆試參考題庫(kù)附帶答案詳解
- 2024年全國(guó)統(tǒng)一高考數(shù)學(xué)試卷(新高考Ⅱ)含答案
- 2024年中小學(xué)學(xué)生防范電信網(wǎng)絡(luò)詐騙知識(shí)競(jìng)賽題庫(kù)及答案
- 24春國(guó)家開放大學(xué)《學(xué)前兒童美術(shù)教育活動(dòng)指導(dǎo)》期末大作業(yè)參考答案
- (正式版)QBT 8027-2024 家用和類似用途電動(dòng)洗鞋烘鞋機(jī)
- 數(shù)字化時(shí)代背景下教師角色的思考
- 醫(yī)院績(jī)效考核分配方案及實(shí)施細(xì)則
- 護(hù)照加急辦理申請(qǐng)
- 乙炔的理化性質(zhì)及危險(xiǎn)特性表
- 汽車場(chǎng)地越野賽突發(fā)事件應(yīng)急預(yù)案
- 神奇的世界文檔
評(píng)論
0/150
提交評(píng)論