版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
企業(yè)人事管理系統(tǒng)項目九高等院校公共課系列精品教材C#程序設(shè)計學(xué)會三層架構(gòu)開發(fā)模式學(xué)會利用配置文件App.config連接數(shù)據(jù)庫熟練掌握利用MDI窗體管理項目中的多個窗體的方法熟練掌握在VS2013的一個解決方案中多個項目間的引用方法能夠使用重載解決問題熟練掌握數(shù)據(jù)庫控件DataGridView的使用技能目標(biāo)之前我們做的項目可以說都是一些小項目,然而,目前軟件開發(fā)行業(yè)最需要的是能夠幫助企業(yè)提高工作效率的各類管理系統(tǒng),如企業(yè)人事管理系統(tǒng)等等。項目導(dǎo)讀任務(wù)1知識點任務(wù)2企業(yè)人事管理系統(tǒng)項目案例知識梳理知識點任務(wù)1任務(wù)引入:對于小程序來說,我們不用考慮代碼的設(shè)計規(guī)范,但是對于大軟件來說,必須遵循程序代碼設(shè)計規(guī)范,這樣可以提高開發(fā)效率,便于軟件后期維護(hù)和升級,那么最流行的軟件設(shè)計架構(gòu)是什么呢?任務(wù)分析:三層架構(gòu),是目前非常流行的代碼分層設(shè)計模式,但是我們用三層架構(gòu)主要是使項目結(jié)構(gòu)更清楚,分工更明確,有利于后期的維護(hù)和升級。它未必會提升性能,因為當(dāng)子程序模塊未執(zhí)行結(jié)束時,主程序模塊只能處于等待狀態(tài)。這說明將應(yīng)用程序劃分層次,會帶來其執(zhí)行速度上的一些損失。但從團隊開發(fā)效率角度上來講卻可以感受到效率的提升。任務(wù)1知識點一、三層架構(gòu)目前比較常用的代碼分層設(shè)計模式為三層架構(gòu)設(shè)計(3-TierArchitecture)。三層架構(gòu)設(shè)計能夠很好地體現(xiàn)出軟件設(shè)計“高內(nèi)聚,低耦合”的設(shè)計思想。三層架構(gòu)通常是指將整個業(yè)務(wù)應(yīng)用劃分為:表示層UI、業(yè)務(wù)邏輯層BLL、數(shù)據(jù)訪問層DAL任務(wù)1知識點傳統(tǒng)的三層架構(gòu)設(shè)計如圖所示,將項目代碼劃分了三層,每一層有其獨自的職責(zé)邊界。但在大多數(shù)的場景中,我們??吹降氖菆D的改進(jìn)的三層架構(gòu),將數(shù)據(jù)結(jié)構(gòu)模型再進(jìn)一步地抽離了出來統(tǒng)一維護(hù)。
傳統(tǒng)的三層架構(gòu)
改進(jìn)的三層架構(gòu)1.表示層UI2.業(yè)務(wù)邏輯層BLL3.數(shù)據(jù)訪問層DAL4.模型定義層Model采用三層結(jié)構(gòu),主要是使項目結(jié)構(gòu)更清楚,分工更明確,有利于后期的維護(hù)和升級。三層架構(gòu)主要有以下幾個優(yōu)點:(1)開發(fā)人員可以只關(guān)注整個結(jié)構(gòu)中的某一層。(2)可以很容易地用新的實現(xiàn)來替換原有層次的實現(xiàn)。(3)可以降低層與層之間的依賴。(4)有利于標(biāo)準(zhǔn)化。(5)利于各層邏輯的復(fù)用。任務(wù)1知識點(6)結(jié)構(gòu)更加明確。(7)在后期維護(hù)的時候,極大地降低了維護(hù)成本和維護(hù)時間。同時,三層架構(gòu)也有如下的不足:(1)降低了系統(tǒng)的性能。如果不采用分層式結(jié)構(gòu),很多業(yè)務(wù)可以直接訪問數(shù)據(jù)庫,以此獲取相應(yīng)的數(shù)據(jù),如今卻必須通過中間層來完成。(2)有時會導(dǎo)致級聯(lián)的修改。(3)增加了代碼量,增加了工作量。任務(wù)1知識點企業(yè)人事管理系統(tǒng)項目案例任務(wù)2一、系統(tǒng)功能描述二、搭建三層架構(gòu)三、UI層界面布局四、編寫代碼知識梳理任務(wù)引入:隨著信息技術(shù)的不斷發(fā)展,企業(yè)中需要管理的數(shù)據(jù)信息量越來越多,隨之而來的管理成本也不斷提高。如果使用傳統(tǒng)的人工方式進(jìn)行人事管理,就會出現(xiàn)效率低、保密性差等問題,另外,時間長了會產(chǎn)生大量的文件和數(shù)據(jù),這給查找、更新和維護(hù)都帶來不少的困難。任務(wù)分析:本任務(wù)我們設(shè)計并實現(xiàn)企業(yè)人事管理系統(tǒng),該系統(tǒng)將提高企業(yè)人事管理工作的效率,也是企業(yè)科學(xué)化、正規(guī)化管理的重要條件。整個系統(tǒng)采用三層架構(gòu)模式開發(fā),便于后期維護(hù)和升級。任務(wù)2企業(yè)人事管理系統(tǒng)項目案例一、系統(tǒng)功能描述本項目基于三層架構(gòu)開發(fā)一套企業(yè)人事管理系統(tǒng),該系統(tǒng)主要包括六個功能模塊:員工管理(包括添加員工和管理員工)、工資管理(包括添加工資和管理工資)、考核管理(包括添加考核和管理考核)、信息查詢(包括員工查詢和考核查詢)、部門維護(hù)(包括添加部門和管理部門)、用戶維護(hù)(包括添加用戶和管理用戶)。系統(tǒng)的功能結(jié)構(gòu)如圖所示。從數(shù)據(jù)庫設(shè)計角度來看,本系統(tǒng)共包含五個實體,每個實體需要設(shè)計一張數(shù)據(jù)表,分別對應(yīng)除“信息查詢”以外的五個功能模塊。本項目采用vs2013自帶的sqlserver數(shù)據(jù)庫,創(chuàng)建數(shù)據(jù)庫文件HR.mdf,數(shù)據(jù)庫文件中包含5個數(shù)據(jù)表,分別是用戶表userInfo、部門信息表department、員工信息表employee、工資信息表salary、考核信息表checkInfo。任務(wù)2企業(yè)人事管理系統(tǒng)項目案例任務(wù)2企業(yè)人事管理系統(tǒng)項目案例二、搭建三層架構(gòu)啟動VS2013以后,選擇“文件”菜單——“新建”——“項目”打開“新建項目”對話框,確認(rèn)左側(cè)目錄樹選中的是“VisualC#”選項,然后選擇“Windows窗體應(yīng)用程序”,瀏覽到項目的存放目錄“D:\CSharp”,名稱設(shè)置為“WThreeLayer”。進(jìn)入項目后,把自動生成的Form1窗體重命名為Login,改名后按回車鍵確認(rèn),會彈出如下圖所示的對話框。另外,還再需要添加四個Windows窗體MainForm、UserAdd、UserManage和UserSearch,將項目名稱由“WThreeLayer”重命名為“UI”,設(shè)置為啟動項目,作為三層架構(gòu)的表示層UI層。右擊解決方案WThreeLayer依次添加三個類庫項目:BLL、DAL、Model,在三個類庫中各添加一個類UserInfo.cs,在DAL中添加類DBHelper.cs和數(shù)據(jù)庫文件HR.mdf專門用于訪問數(shù)據(jù)庫,添加完畢后項目結(jié)構(gòu)圖如下圖所示。任務(wù)2企業(yè)人事管理系統(tǒng)項目案例任務(wù)2企業(yè)人事管理系統(tǒng)項目案例
MicorsoftVisualStudio
添加完畢后項目結(jié)構(gòu)圖(1)重新生成整個解決方案。(2)為項目DAL添加引用。(3)為項目BLL添加引用。(4)為項目UI添加引用。任務(wù)2企業(yè)人事管理系統(tǒng)項目案例引用管理器-DAL
引用管理器-BLL引用管理器-UI三、UI層界面布局(一)登錄界面用戶登錄Login.cs是企業(yè)人事管理系統(tǒng)的第一個界面。任務(wù)2企業(yè)人事管理系統(tǒng)項目案例
登錄界面(二)主界面企業(yè)人事管理系統(tǒng)的主界面MainForm.cs匯集了六個功能模塊的所有功能。任務(wù)2企業(yè)人事管理系統(tǒng)項目案例企業(yè)人事管理系統(tǒng)的主界面任務(wù)2企業(yè)人事管理系統(tǒng)項目案例任務(wù)2企業(yè)人事管理系統(tǒng)項目案例(三)用戶維護(hù)模塊1.添加用戶添加用戶UserAdd.cs的界面如圖所示。任務(wù)2企業(yè)人事管理系統(tǒng)項目案例
添加用戶UserAdd.cs的界面2.管理用戶管理用戶UserManage.cs的界面如圖所示。任務(wù)2企業(yè)人事管理系統(tǒng)項目案例管理用戶UserManage.cs的界面(四)員工管理模塊1.添加員工2.管理員工任務(wù)2企業(yè)人事管理系統(tǒng)項目案例添加員工界面
管理員工界面(五)工資管理模塊1.添加工資2.管理工資任務(wù)2企業(yè)人事管理系統(tǒng)項目案例添加工資界面
管理工資界面(六)考核管理模塊1.添加考核2.管理考核任務(wù)2企業(yè)人事管理系統(tǒng)項目案例添加考核界面管理考核界面(七)信息查詢模塊1.用戶查詢?nèi)蝿?wù)2企業(yè)人事管理系統(tǒng)項目案例用戶查詢UserSearch.cs的界面2.員工查詢3.考核查詢?nèi)蝿?wù)2企業(yè)人事管理系統(tǒng)項目案例員工查詢界面考核查詢界面(八)部門維護(hù)模塊1.添加部門2.管理部門任務(wù)2企業(yè)人事管理系統(tǒng)項目案例
添加部門界面管理部門界面四、編寫代碼(一)ModelModel類庫用來描述企業(yè)人事管理系統(tǒng)中的五個實體用戶、員工、工資、考核、部門,針對每個實體創(chuàng)建一個類文件:用戶UserInfo.cs、員工Employee.cs、工資Salary.cs、考核Check.cs、部門Department.cs。(二)DAL層DAL層是三層架構(gòu)的最底層,主要用于操作數(shù)據(jù)庫。企業(yè)人事管理系統(tǒng)的DAL層包含九個文件:數(shù)據(jù)庫文件HR.mdf、數(shù)據(jù)操作類DBHelper.cs、以及分別和五個實體對應(yīng)的DAL層UserInfo.cs、Employee.cs、Salary.cs、Check.cs、Department.cs。任務(wù)2企業(yè)人事管理系統(tǒng)項目案例1.數(shù)據(jù)庫文件HR.mdf(1)創(chuàng)建“讀全部”存儲過程Pro_SelectUser_All的代碼dbo.Pro_SelectUser_All.sql:(2)創(chuàng)建“按用戶名和密碼讀”存儲過程Pro_SelectUser_ByUserName的代碼dbo.Pro_SelectUser_ByUserName.sql:(3)創(chuàng)建“插入”存儲過程Pro_InsertUser的代碼dbo.Pro_InsertUser.sql:任務(wù)2企業(yè)人事管理系統(tǒng)項目案例
數(shù)據(jù)庫HR.mdf的結(jié)構(gòu)
三個存儲過程創(chuàng)建完畢以后的效果2.類DBHelper.cs該類主要用于操作數(shù)據(jù)庫文件HR.mdf,企業(yè)人事管理系統(tǒng)中對五個數(shù)據(jù)表的操作都用這個類,此類是訪問數(shù)據(jù)庫的通用類,可以支持字符串拼接、命名參數(shù)、存儲過程三種訪問數(shù)據(jù)庫的方法。任務(wù)2企業(yè)人事管理系統(tǒng)項目案例引用管理器-DAL3.類UserInfo.cs該類包含六個方法:(1)無參GetList()方法可以讀取所有用戶信息,用于在“管理用戶”界面中加載所有用戶信息;(2)用“用戶實體”做參數(shù)的一參GetList()方法可以按照用戶名和密碼查找用戶信息,用于“登錄”界面對用戶名和密碼的驗證;(3)用“select語句”做參數(shù)的一參GetList()方法可以依據(jù)select語句讀取用戶信息,用于“用戶查詢”界面對用戶信息的多字段組合查詢;(4)Add()方法可以插入用戶信息,用于“添加用戶”界面完成用戶注冊;(5)Update()方法可以修改用戶信息,用于“管理用戶”界面對用戶密碼和用戶類型進(jìn)行修改;(6)Delete()方法可以刪除用戶信息,用戶“管理用戶”界面刪除用戶;任務(wù)2企業(yè)人事管理系統(tǒng)項目案例(三)BLL層BLL層是三層架構(gòu)的中間層,主要用于設(shè)置業(yè)務(wù)邏輯,比如數(shù)據(jù)加密等,作為DAL和UI層的橋梁。企業(yè)人事管理系統(tǒng)的BLL層包含五個文件:與五個實體對應(yīng)的BLL層UserInfo.cs、Employee.cs、Salary.cs、Check.cs、Department.cs。本教材只包含UserInfo.cs,其他四個類由讀者自行完成。類UserInfo.cs包含一個字段和七個方法,字段dal是實例化DAL層的類UserInfo,以便調(diào)用DAL層UserInfo類的六個方法,此外還有一個加密方法toMD5()用于對用戶密碼字段加密。任務(wù)2企業(yè)人事管理系統(tǒng)項目案例(四)UI層UI層是三層架構(gòu)中的最高層,為用戶提供操作界面,企業(yè)人事管理系統(tǒng)的UI層包含六個功能模塊的所有Windows窗體界面,共十五個Windows窗體(見9.2.3UI層界面布局)和一個系統(tǒng)配置文件App.config(代碼見DAL層),本教材只提供“用戶維護(hù)”模塊相關(guān)的五個Windows窗體,其他窗體由用戶自行設(shè)計。1.登錄界面Login.cs2.類MainForm.cs3.類UserAdd.cs4.類UserManage.cs5.類UserSearch.cs任務(wù)2企業(yè)人事管理系統(tǒng)項目案例本項目基于三層架構(gòu)開發(fā)了企業(yè)人事管理系統(tǒng),通過完成整個系統(tǒng)的開發(fā),讓讀者掌握三層架構(gòu)的設(shè)計模式和搭建流程,學(xué)會利用系統(tǒng)配置文件配置數(shù)據(jù)庫連接字符串的步驟,提供了訪問數(shù)據(jù)庫的通用類編寫方法。掌握以上知識,讀者能夠基于三層架構(gòu)開發(fā)一個小型的應(yīng)用系統(tǒng)。本項目是在前面項目基礎(chǔ)上的進(jìn)一步深化,從這個意義上說,我們做任何事情,都要精益求精。從另一個側(cè)面說,我們做任何事情,不要怕困難,可以把復(fù)雜的工作哦分解成績個相對簡單的工作的組合,這是一種方法論,可以有力促進(jìn)我們工作的開展和進(jìn)步。項目總結(jié)對企業(yè)人事管理系統(tǒng)項目進(jìn)行健壯性、操作方便性、規(guī)范性等方面的改進(jìn),可以參考以下幾點:1.所有密碼在程序中均不可見2.所有DataGridView各列名稱改為中文3.每次的數(shù)據(jù)庫操作變化要及時反映到DataGridView控件中4.各種輸入信息的正確性驗證5.界面操作焦點的合理定位:焦點能夠自動定位到錯誤輸入上面,回車可以響應(yīng)默認(rèn)按鈕6.快捷按鈕和快捷鍵功能補全7.員工、部門、用戶等不能重復(fù)添加8.整個系統(tǒng)流程不能出現(xiàn)邏輯錯誤,如:刪除員工時,該員工的工資、考核等信息是否也刪除?怎樣處理?同理,刪除部門呢?是否需要進(jìn)行刪除確認(rèn)?9.各種時間的輸入是否應(yīng)該有所限制?項目提升10.工資的部分字段自動生成?11.考慮到操作的方便性,添加員工窗口中的員工編號
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度綠色環(huán)保廠房改造合同協(xié)議3篇
- 專屬擔(dān)保義務(wù)拓展協(xié)議樣本版B版
- 2025年度拆除工程安全評估與裝修監(jiān)理合同樣本4篇
- 個人住宅裝修協(xié)議樣例一
- 二零二五年度車輛租賃行業(yè)信用體系建設(shè)合同3篇
- 2025年度假離婚后子女撫養(yǎng)權(quán)爭奪法律合同3篇
- 專業(yè)油漆工程2024年度承包協(xié)議版B版
- 上海二手房買賣合同書范本(2024版)
- 2025年度拆遷拆除工程進(jìn)度款支付協(xié)議書4篇
- 2025年度戶外活動場地及設(shè)施租賃合同范本4篇
- 大數(shù)據(jù)管理與考核制度大全
- 大學(xué)面試后感謝信
- 2022屆上海高考語文調(diào)研試測卷詳解(有《畏齋記》“《江表傳》曰…”譯文)
- SBT11229-2021互聯(lián)網(wǎng)舊貨交易平臺建設(shè)和管理規(guī)范
- 如何打造頂尖理財顧問團隊
- 土壤農(nóng)化分析課件
- 小區(qū)大型團購活動策劃
- NEC(新生兒壞死性小腸結(jié)腸炎)92273
- 2023年租賃風(fēng)控主管年度總結(jié)及下一年展望
- 開關(guān)插座必看的七個安全隱患范文
- 高分子成型加工課件
評論
0/150
提交評論