- 相關推薦
軟件工程課程設計報告
軟件工程課程設計報告
課題名稱:員工工資管理系統的設計與實踐研究
姓 名:學 號:班 級:指導教師:
目 錄
1.概述.............................................................. 4
1.1問題的提出................................................... 4
1.1.1 選題背景與意義........................................ 4
1.1.2 開發工具簡介........................................... 5
2.可行性分析........................................................ 5
2.1社會可行性................................................... 5
2.2技術可行性................................................... 5
2.3經濟可行性................................................... 6
3.需求分析.......................................................... 6
3.1系統業務流程圖............................................... 7
3.2 系統的功能劃分 .............................................. 7
3.3 系統的功能要求 .............................................. 7
3.4 用戶的功能需求: ............................................ 7
3.4.1登陸功能 ............................................... 7
3.4.2 員工信息維護功能....................................... 8
3.4.3 工資信息維護功能....................................... 8
3.4.4查詢功能 ............................................... 8
3.4.5計算功能 ............................................... 9
3.4.6打印功能 ............................................... 9
3.4.7退出功能 ............................................... 9
3.5系統的數據需求.............................................. 10
3.5.1 總結出數據信息........................................ 10
3.5.2數據流程圖如下 ........................................ 10
3.5.3 數據流圖的數據字典.................................... 12
3.6 系統的性能需求 ............................................. 13
4.總體設計......................................................... 13
4.1系統結構的總體設計.......................................... 14
4.2 各個模塊的功能描述如下 ..................................... 14
4.2.1 員工基本信息維護模塊.................................. 14
4.2.2 工資信息維護模塊...................................... 15
4.2.3 查詢信息模塊.......................................... 15
4.2.4 計算工資模塊.......................................... 15
4.2.5 打印模塊.............................................. 15
4.2.6 登陸模塊.............................................. 15
4.2.7退出模塊 .............................................. 16
5.詳細設計......................................................... 16
5.1 生成報表 ................................................... 16
5.2 查詢模塊的詳細設計 ......................................... 17
6.測試............................................................. 18
6.1 黑盒測試 ................................................... 18
6.2 白盒測試 ................................................... 18
7. 調試............................................................ 19
8.結 論............................................................ 19
9.參考文獻......................................................... 21
1.概述
1.1問題的提出
工資管理系統是一個數據庫管理系統,是針對企業的工資管理業務進行計算機處理而開發的應用軟件。它提供關于公司老員工及新員工信息和工資有效管理等事務的信息,由于需要添加和修改員工的信息和工資信息、刪除離職員工信息和在職員工信息修改以及修改其他一些數據,工資管理系統由系統維護、輸入、查詢、修改、輸出、統計等子模塊組成,功能基本涵蓋普通企業的工資管理業務范圍。企業應用本系統后,可以有效的提高工資管理水平。
1.1.1 選題背景與意義
現代科學的發展,使計算機進入了幾乎一切領域,計算機已經是家喻戶曉、無人不知了。從科學研究到工農業生產,從企業生產管理到家庭生活,各行各業都廣泛地使用著計算機,可以說沒有計算機,就沒有現代化,計算機知識已經成為當代知識分子結構中不可缺少的一個重要組成部分。隨著經濟的發展,企業正面向著大型化、規模化發展,而對于大中型企業,員工、職稱等跟工資管理有關的信息隨之急劇增加。在這種情況下單靠人工來處理員工的工資不但顯得力不從心,而且極容易出錯。
在這種情況下,我們建立一個工資管理系統是必要的,該整個系統操作簡便、界面友好、靈活、實用、安全的要求出發,完成人事、工資管理的全過程,包括新進員工加入時人事檔案的建立、老員工的轉出、職位等的變動引起職工信息的修改、員工信息查詢、統計等人事管理工作以及新進員工工資的新增、老員工工資修改等工資管理工作。經過實際使用證明,本文所設計的人事工資管理系統可以滿足本單位人事、工資管理方面的需要。
該設計主要介紹了本課題的開發背景,需求分析和功能設計等過程。
1.1.2 開發工具簡介
1)pd:PowerDesigner,就是一個容易畫出數據流圖和生成數據庫的邏輯模型和物理模型。該軟件很容易實現把數據流圖轉化成相應的數據庫的邏輯模型和物理模型。
2)SOL Server:它是一種關系數據庫管理系統,能處理大量的數據和管理眾多的并發用戶,保證了數據的完整性,并提供許多高級管理和數據分布能力。
3) Visual Studio .NET: 向開發人員提供了用于在操作系統之間和語言之間集成解決方案的工具。開發人員可將現有的業務邏輯方便地轉換為可重復使用的 XML Web 服務、封裝進程并使它們能夠用于任何平臺上的應用程序。
2.可行性分析
2.1社會可行性
C/S模式系統以服務器作為數據處理和存儲平臺,在終端設計有專門的應用程序進行數據的采集和初次處理,再將數據傳遞到服務器端,用戶必須使用客戶端應用程序才能對數據進行操作。C/S模式具有專業化程度高、開發手段靈活、運行速度快等特點,但受到維護成本大、適應性弱等問題的影響。本系統利用了C/S模式,符合企事業單位的管理要求,為其實現較為先進的工資管理提供了有利的支持。
2.2技術可行性
使用PowerBuilder開發傳統意義上的C/S模式結構的數據庫系統,可以利用其提供的許多對于數據庫訪問與控制的有效機制,開發過程并不是很長且難度適中。我們曾學習了《數據庫原理及應用》,掌握了數據庫的基本原理及數據庫的設計方法,在此基礎上我們又深入學習了PowerBuilder的數據庫系統開發。
2.3經濟可行性
成本:本系統要求的計算機配置不是很高,需要設備購置費用較低,其他設備的購置成本也在承擔能力之中。本系統運行費用較低,系統使用方便簡潔。
收益:應用本系統能在一定時期內產生明顯的收益,此外應用本系統提高了工作效率從而提高了管理水平;節省了人力,減輕了有關人員手工處理的工作負擔;即使給管理者提供相應的輔助決策信息。
3.需求分析
需求分析的過程可以說是一個對具體問題的反復理解和抽象的過程。理解就是對 現實問題的理解,要弄清楚究竟需要解決什么問題。抽象就是除去問題的表面,提取問題的本質,建立問題的邏輯模型,以便于以后階段的系統的設計實現。需求分析階段是軟件產品生存命期中的一個重要階段,其根本任務是確定用戶對軟件系統的需求。所謂需求是指用戶對軟件的功能和性能的要求,就是用戶希望軟件能什么事情,完成什么樣的功能,達到什么性能。通常需求分為兩種類型:一種是功能性需求,一種是非功能性需求,這一點也需要有一種清楚的認識。功能性需求是指需要計算機系統解決的問題,也就是對數據的處理要求,這是一類最主要的需求。非功能性需求是指實際使用環境所要求的需求,往往是一些限制要求,例如:性能要求,可靠性要求,安全保密要求,等等。 軟件需求一般包含三個層次—業務需求、用戶需求和功能需求,還包括非功能需求。業務需求:反映了組織機構或客戶對系統、產品高層次的目標要求,它們在項目視圖與范圍文檔中予以說明。用戶需求:描述了用戶使用產品必須要完成的任務和具備的功能,這在使用實例文檔或方案腳本說明中予以說明。功能需求:定義了開發人員必須實現的軟件功能,使得用戶能完成他們的任務,從而滿足其業務需求。 系統目的是能夠用計算機實現對各種工資進行日常管理,如添加、刪除、修改員工信息,能夠根據員工的等級、職位以及出勤情況、獎金、津貼情況等進行工資的計算,能夠使員工、部門方便地查詢和統計各種信息,最后能生成報表反饋給員工等。
3.1系統業務流程圖
通過對企業原先手工進行員工工資管理業務的情況,可以設計出它的業務流程圖,如圖4-1所示。
用戶登錄數據輸入工資計算存儲數據
工資查詢 報表匯總
圖3-1
3.2 系統的功能劃分
1. 工資信息設置部分:包括設置員工的基本工資和其他項目的金額,如獎金等。
并且負責設置員工工資的計算公式。
2. 工資信息管理部分:包括統計出勤、計算工資、查詢工資和導出工資表。
3. 系統部分:包括添加用戶和修改密碼。
3.3 系統的功能要求
1. 整體結構合理,風格一致,模塊化結構,界面清晰,接口靈活,操作簡便。
2. 開發方法,文檔規范化,便于管理,可擴充。
3. 完善的數據輸入,維護,輸出。
4. 自檢性能高,用戶誤輸、錯輸均有提示。
5. 容錯性能高,某個用戶的操作錯誤不會引起整個系統的癱瘓,每一功能的操
作都有信息提示以免重復操作,錯誤操作有警告,以便用戶及時改正。
3.4 用戶的功能需求:
3.4.1登陸功能
該系統要有登陸功能。管理員要進行員工信息維護或者進行計算員工工資
時,必須首先進行登陸。同理,員工也要先進行登陸才能進行各種查詢等操作。
1. 用戶權限設置,修改密碼。
2. 綜合初始系統設置。
3.4.2 員工信息維護功能
該系統要能夠添加員工信息、刪除員工信息和修改員工信息等功能。 一個單位的員工不是一成不變的,總是在不斷地變化,如有的員工被招聘進入公司,這時就要添加員工的基本信息;當員工辭職或者由于其它原因離開公司,這時就要刪除員工的基本信息;當員工進行調動時,就要修改員工的基本信息了。
1. 追加員工信息。
2. 刪除員工信息。
3. 修改員工信息。
4. 自動更新數據庫。
3.4.3 工資信息維護功能
1. 該系統要能夠輸入員工基本工資:為了方便系統的計算員工的工資,系統應
該能夠輸入員工基本工資、獎金、津貼等一些工資數據,以計算員工的月工資或者年工資等。
2. 該系統要能夠修改員工基本工資:員工的工資不是一成不變的,它會發生變
化,這時就要求能夠修改員工的工資等。
3. 該系統要能夠刪除員工基本工資:當員工由于某種原因離開公司后,由于員
工的基本信息已經刪除了,所以也要刪除員工的基本工資等信息。
3.4.4查詢功能
一個員工或者部門要更好了解自己工資、出勤情況、獎金、津貼等情況,可以進行相關的查詢,為了有更好地適應性,查詢應該可以根據各種情況進行查詢,能夠進行單項查詢或者按一定的條件范圍進行查詢,如能夠查詢單個員工的工資情況,能夠查詢每個部門的工資情況和月工資的統計情況。
1. 根據員工姓名查詢員工的工資情況。
2. 根據員工編號等查詢員工的工資情況。
3. 根據員工學歷等各種條件組合查詢員工的工資情況。
3.4.5計算功能
1. 系統應該能夠根據員工的基本工資、員工的出勤情況、資金和津貼情況進行
工資的計算。
2. 系統應該根據能夠根據加班的時間、加班的類別等計算出員工所得的津貼工
資。
3. 系統應該能夠根據各種員工在公司的工作表現、,計算出給員工的獎金。
4. 系統應該能夠計算各個部門的工資情況。
5. 統計功能:為了更好地了解員工的人數情況、員工的工資情況、部門的工資
情況或者發放工資,系統應該能夠對各個部門的總工資進行統計。
3.4.6打印功能
每月發放工資時,要求能夠打印本月的工資表、隨工資發給每個員工的工資條以及一些統計表等,如工資統計表。
1. 打印工資信息。
2. 打印工資條。
3. 打印各種圖表。
3.4.7退出功能
員工或管理員可利用退出功能退出系統。
3.5系統的數據需求
3.5.1 總結出數據信息
對上述系統功能需求,可心分析、歸納出其相應必須管理的信息包括員工基本信息、員工的等級信息、員工出勤情況信息、員工津貼信息等,其數據及其屬性需求分析如下:
1. 員工基本信息:員工號、員工姓名、性別、工資等級、職稱、所在部門、住
址、電話等;
2. 部門信息:部門號,部門名稱;
3. 員工考勤信息:員工號、日期、上午、下午、遲到、早退等。
4. 工資等級信息:等級號、等級名稱、職位、基本工資;
5. 員工津貼信息:員工號、加班時間、加班類別等。
3.5.2數據流程圖如下
0層圖如下所示:
3.5.3 數據流圖的數據字典
下面介紹一下一些主要的數據流的數據詞典。 一、
系統管理數據流數據詞典
1. 數據流名稱:管理員登陸信息
說明:它的作用是將管理員的ID、密碼等讓工資管理系統檢查,看是否允
許登陸。
數據流來源:管理員 數據流去向:工資管理系統 2. 數據流名稱:非法登陸信息
說明:它的作用是把用戶的錯誤登陸信息反饋給用戶。 數據流來源:工資管理系統 數據流去向:管理員 3. 數據流名稱:查詢請求信息
說明:它的作用是把用戶要查詢的信息提交給工資管理系統,讓其顯示查詢
的信息。
數據流來源:管理員 數據流去向:工資管理系統 4. 數據流名稱:添加員工信息
說明:它的作用是把要添加的員工信息提交給工資管理系統,讓其處理該信
息。
數據流來源:管理員 數據流去向:工資管理系統 5. 數據流名稱:更新員工信息
說明:它的作用是把要更新的員工信息提交給工資管理系統,讓其處理該信
息。
數據流來源:管理員 數據流去向:工資管理系統 6. 數據流名稱:打印信息
說明:它的作用是讓工資管理系統反饋一些打印信息,如工資條、報表等,
以便用戶更好地了解相關信息。
數據流來源:工資管理系統 數據流去向:管理員 二、
在用戶數據流數據詞典
1. 數據流名稱: 業績記錄表
說明: 每月執行一次,由各部門主管填寫本部門員工的業績;部門主管和
公司高級管理人員則由總經理指定。
數據流來源:工資管理系統 數據流去向:管理員 2. 數據流名稱: 工資標準表
說明:每個職工的各項工資標準,由人事部主管填寫。 數據流來源:工資管理系統 數據流去向:管理員
包含結構:員工編號、姓名、基本工資、生活補貼、崗位補貼,還有一些其它的數據詞典,在此不一一列出。
3.6 系統的性能需求
1.硬件要求。 設備名稱說明:處理器奔騰III以上,256MB。內存256MB,內存越大,速度越快。硬盤40GB以上。
2.軟件要求。(1)windows 2000以上操作系統,IIS服務,配置.net框架。
(2)需要有一個數據庫服務器,提供數據庫的連接,這里選用
Microsoft SQL Server2000來為數據庫提供連接,當然要一臺計算機來運行程序.這樣就可以了。
4.總體設計
在系統的需求分析階段,我們已經知道系統“做什么”的問題了,現在我們要進入軟件設計的階段,去解決“怎么做”的問題。在軟件設計階段,它分為根
要設計和詳細設計。首先做概要設計,它是將軟件的需求轉化為數據結構和軟件的系統結構。然后是詳細設計,即過程設計,通過對結構表示進行細化,得到軟件的詳細的數據結構和算法。
4.1系統結構的總體設計
根據上面對需求的分析,我們可以得到系統的模塊層次結構,層次結構如下所示:
4.2 各個模塊的功能描述如下 4.2.1 員工基本信息維護模塊
本模塊的功能是能夠完成對員工基本信息的添加、修改、刪除操作等進行維護。它包括三個子模塊,添加員工信息子模塊、修改員工信息子模塊和刪除員工
信息子模塊。
4.2.2 工資信息維護模塊
本模塊的功能是能夠完成工資信息的輸入、修改和刪除等操作。它也包括兩個子模塊,輸入工資信息子模塊、修改工資信息子模塊和刪除工資信息子模塊。
4.2.3 查詢信息模塊
本模塊的功能是能夠對單個員工工資信息、員工基本信息情況、部門工資情況、總工資情況等進行單項查詢或者一定范圍查詢、多項查詢等。
4.2.4 計算工資模塊
本模塊的功能是能夠計算員工工資的獎金情況、計算員工的津貼情況、計算員工月工資、年工資及進行一些相應的統計計算等。它包括一些子模塊,如計算津貼子模塊、計算獎金子模塊、統計工資子模塊等。
4.2.5 打印模塊
本模塊的功能是能夠打印工資條以及一些部門報表、工資報表等,以反饋一些信息給員工。
4.2.6 登陸模塊
本模塊的功能是:根據員工的登陸時的輸入信息,看是否要讓該員工登陸系統。
主要是用戶登錄的一個界面,判斷登錄的用戶是管理員還是普通用戶,進入后將面對的是主界面,從而進行相關的操作。
登錄的界面主要由用戶名和密碼的信息,還有一些標題設置,確定和取消的按鈕組成。通過標題可以知道此系統的大概內容,由此,登錄界面的設計完成。
4.2.7退出模塊
本模塊的功能是可以讓員工或管理員隨時利用該模塊退出系統。
5.詳細設計
概要設計完成了軟件系統的總體設計,規定了各個模塊的功能及模塊之間的聯系,進一步就要考慮實現各個模塊規定的功能,這就是要進行詳細設計。在詳細設計階段,要決定名個模塊的實現算法,并精確地表達這些算法。下面主要實現一些重點模塊的算法。
5.1 生成報表
用Jackson系統設計方法設計報表,如下所示:
5.2 查詢模塊的詳細設計
在該模塊中,要查詢信息,首先要進行登陸,然后輸入要查詢的信息,如員工號,接著系統連接數據庫,在數據庫中查找是否有和輸入信息相應的信息,如果有,則顯示相應的查找結果;如果沒有,則提示找不到相應的信息或者提示出錯。流程圖如下所示:
在完成了詳細設計、編碼之后,就要進入軟件測試階段了。軟件測試是指根據軟件開發各階段的規格說明各程序的內部結構而精心設計一批測試用例(即輸入數據及其預期的輸出結果),并利用這些測試用途去運行程序,以發現程序錯誤的過程。軟件測試分為黑盒測試和白盒測試。黑盒測試主要看模塊的功能是否實現;白盒測試主要對模塊內部的檢查。
6.1 黑盒測試
黑盒測試主要是為了發現以下幾類錯誤: 1)是否有不正確或遺漏了的功能。
2)在接口上,輸入能否正確地接受,能否輸出正確的結果。 3)是否有數據結構錯誤或外部信息訪問錯誤 4)性能上是否能夠滿足要求 5)是否有初始化或終止性錯誤
6.2 白盒測試
白盒測試是對軟件的過程性細節做細致的檢查。 白盒測試主要想對模塊進行如下的檢查:
1)對程序的模塊的所有獨立的執行路徑至少測試一次
2)對所有的邏輯判定,取”真”與取”假”的兩種情況都能至少測試一次; 3)在循環的邊界和運行界限內執行循環體; 4)測試內部數據結構的有效性,等等。
因此在對程序進行白盒測試測試時,測試用例要有:條件組合覆蓋測試用例和路徑測試用例。
在測試完成之后,還要對程序進行調試。 可用下面的幾種方法進行調試。
1)強行排錯: 可以通過內存全部來排錯,也可在程序特定部位設置打印語句來排錯。
2)回溯法排錯。這是在小程序中常用的一種有效的排錯方法。 3)歸納法排錯。 它是一種從特殊推斷一般的系統化思考方法。 4)演繹法排錯軟件工程課程設計報告等。
8.結 論
員工工資管理系統是一個典型的信息管理系統,通過軟件工程方面的選擇課題、需求分析、概要設計、詳細設計、程序模塊、系統測試等幾個步驟來實現。開發本系統的過程中,首先熟悉員工工資發放管理的流程、步驟;其次在系統需求分析過程中,要透過現象看本質,敏銳觀察到員工工資管理中存在的各種問題,并在總體設計把握好對問題的分析、理解,進而解決問題。
在我們的共同努力下,我們基本完成了這個系統。由于時間、條件和個人水平的限制,軟件相對較簡單,如果要將該軟件用于具體單位,還需針對單位的實際情況對軟件進行進一步的完善。
本軟件的特點和優點:
1. 本軟件可以工資核算正確無誤、快速輸出,提高企業的管理水平和管理效率。 2. 可以對工資的各個項目隨時作增加和刪除。
3. 可以分別查詢單個工人每個月的工資,包括工資的各個細節項目。 4. 可以查詢各部門以及全公司的員工的工資報表。
本軟件需要改進的地方有:
1. 基本工資的設定太籠統,不能滿足有些單位的需要。 2. 員工管理部分比較少需要結合人事管理軟件使用。
4. 軟件的界面美觀性方面需要很大的改進。 5. 幫助文檔比較簡單。
課程設計對一個學生來說是一個非常的重要的學習過程。從對PowerDesigner,軟件開發過程的一知半解,到完成這個系統的基本設計,雖然這個系統還存在這樣那樣的缺點,但是我在專業知識方面學到的東西是非常多的。而設計過程中也遇到了很多的困難,在老師和同學的幫助之下最終我還是克服了困難完成了設計。這個過程更使我學到了面對困難應該持有的積極態度。
總的來說,這次的課程設計是非常有意義的,在我的人生學習的路上起到了一個里程碑的作用,讓我有一個質的飛躍!
衷心感謝何老師給予我們這次機會,讓我們對軟件的開發過程還是對程序的編寫步驟都有了更加深刻的認識。
9.參考文獻
[1] 楊文龍 《軟件工程》,電子工業出版社,2003
[2] 張國藩,《軟件工程》。北京:清華大學出版社,2001
[3] 鄭人杰 殷人昆 陶永雷, 《實用軟件件工程》. 清華大學出版社,2001
[4] 薩師煊 王珊,《數據庫系統概論》,高等教育出版社2003
[5] 丁寶康,《數據庫原理》,經濟科學出版社,2000
[6] 林福泉,《SQL Server 2002中小企業實務應用》,中國鐵道出版社,2002
[7] 楊昭,《PowerDesigner對象與控件技術詳解》,中國水利水電出版社,2003
[8] 周紅芳,《PowerDesigner基礎應用與系統開發》,電子工業出版社,2004
[9] 劉斌 卞慧,《PowerDesigner入門與提高》,中國鐵道出版社,2003
[10] 薛華成,《管理信息系統》,清華大學出版社,2002
[11] 湯庸 葉小平 湯娜,《數據庫理論及應用基礎》,清華大學出版社,2004
[12] MSDN - Microstft Developers'NetWork Microstft 1998
Microstft 編著
[13] 譚桂華 魏亮,《Visual C# 高級編程范例》,清華大學出版社
[14] 章立民,《用實例學ASP.NET》,電子工業出版社
【軟件工程課程設計報告】相關文章:
軟件工程課程設計總結08-27
課程設計報告07-20
EDA課程設計報告09-04
軟件工程的實習報告03-23
軟件工程的實習報告04-03
軟件工程的實習報告04-27
軟件工程實習報告02-27
流水燈課程設計報告07-20
單層廠房課程設計報告07-22
軟件工程專業實習報告04-19