學校內部工資管理系統(tǒng)軟件工程導論實驗報告_第1頁
學校內部工資管理系統(tǒng)軟件工程導論實驗報告_第2頁
學校內部工資管理系統(tǒng)軟件工程導論實驗報告_第3頁
學校內部工資管理系統(tǒng)軟件工程導論實驗報告_第4頁
學校內部工資管理系統(tǒng)軟件工程導論實驗報告_第5頁
已閱讀5頁,還剩44頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、. . . . 軟件工程導論實驗報告學 院:計算機科學與技術學院專業(yè)班級: 指導教師: 項目成員:項目課題:學校部工資管理系統(tǒng)時 間:46 / 49目 錄小組情況1一、可行性分析報告21.1 引言21.1.1 編寫目的21.1.2 背景21.2 可行性分析的前提31.2.1 要求31.2.2 開發(fā)目標31.2.3 條件、假定和限制31.2.4 可行性研究的方法41.3 技術可行性41.3.1 簡要描述41.3.2 與現(xiàn)有系統(tǒng)的優(yōu)越性比較41.4 經濟可行性51.4.1 成本51.4.2 效益51.5 社會因素可行性分析61.5.1 法律方面的可行性61.5.2 操作可行性61.6 結論意見6二

2、、軟件需求規(guī)格說明書72.1 背景材料72.2 功能需求分析72.2.1 管理員用戶設置72.2.2 普通用戶創(chuàng)建82.2.3 用戶登錄82.2.4 遠程信息接收與傳遞82.2.5 信息提醒82.2.6 職工編號的判斷92.2.7 職工工資的計算92.3 性能需求分析102.3.1 運行環(huán)境102.3.2 精度102.3.3 響應時間102.3.4 存占用112.3.5 安全與更新112.3.6 故障處理11三、數據流程圖12四、功能分析圖134.1 員工工資標準模塊134.2 工資統(tǒng)計模塊134.3 財務處理模塊134.4 職工工資查詢模塊134.5 登錄用戶管理模塊144.6 人事管理模塊

3、144.7 員工出勤管理模塊14五、數據字典15六、概要設計16七、詳細設計說明書177.1 編寫目的177.2 背景177.3 系統(tǒng)的結構177.4 程序流程圖187.4.1 用戶注冊187.4.2 用戶登錄207.4.3 人事管理217.4.4 員工工資查詢217.4.5 員工出勤管理217.4.6 財務部管理227.5程序部分代碼237.5.1 用戶注冊237.5.2 用戶登陸297.5.3 人事部管理337.5.4 財務部管理36八、測試報告398.1 單元測試398.1.1 用戶注冊登陸測試398.1.2 人事部測試418.1.3 財務部測試448.2 黑盒測試458.2.1 測試用

4、例表468.3 測試總結48九、參考資料49小組情況項目題目 :學校部工資管理系統(tǒng)項目成員 :項目負責人:任務分配表任務模塊人員安排可行性分析研究需求分析模型的建立結構化設計系統(tǒng)的編碼、單元測試黑盒測試一、可行性分析報告1.1 引言1.1.1 編寫目的可行性研究的目的是為了對問題進行研究,以最小的代價在最短的時間確定問題是否可解。經過對此項目進行詳細調查研究,初擬系統(tǒng)實現(xiàn)報告,對軟件開發(fā)中將要面臨的問題與其解決方案進行初步設計與合理安排,明確開發(fā)風險與其所帶來的經濟效益。本報告經審核后,交項目經理審查。1.1.2 背景工資管理是學校很重要的一個管理事項,它與學校的人事管理、財務管理有著密切的聯(lián)

5、系。目前大多學校部工資的管理,基本上是手工操作或是基于excel或word下的應用,對于勞資關系相對復雜的學校,手工進行工資的發(fā)放工作往往需要耗費大量的人力與時間,對信息的管理者有諸多不便。由于工資發(fā)放在時間和操作上存在著一定的重復性、規(guī)律性,這使得工資管理的計算機化成為可能。因此有必要開發(fā)一個基于網絡的工資管理系統(tǒng),能實現(xiàn)數據的錄入、插入、刪除、查詢、統(tǒng)計、更新、打印等功能。同時,為了信息的與安全,系統(tǒng)還要提供一定的安全機制 。開發(fā)軟件名稱:學校部工資管理系統(tǒng)項目任務提出者:計算機工程學院項目經理:用戶:1.2 可行性分析的前提1.2.1 要求(1)功能。工資管理系統(tǒng)的主要功能是:月工資發(fā)放

6、和處理、標準工資庫維護、臨時工資發(fā)放、查詢與系統(tǒng)維護和系統(tǒng)幫助。(2)性能。 方便、快捷、有效地完成工資發(fā)放的各項任務,在工資數據統(tǒng)計和報表打印等方面,具有準確率高、速度快等特點。 (3)系統(tǒng)的輸入。輸入所有職工的標識,如職工的、工號、所在部門、各項應發(fā)的金額和各項應扣的金額。 (4)系統(tǒng)的輸出。輸出各種報表、上報的文件等。 (5)安全和要求。 本系統(tǒng)在使用前必須正確輸入密碼,否則系統(tǒng)將不能運行。進入系統(tǒng)后,要想修改密碼或對系統(tǒng)的一些信息進行修改,也必須輸入高級用戶密碼,對數據庫中的關鍵數據應該要求。服務器的管理員享有對工資數據信息庫的管理與修改。用戶只享有對信息的查詢和部分信息修改(如個人信

7、息)。1.2.2 開發(fā)目標本系統(tǒng)開發(fā)目標應該考慮到以下幾個方面的因素:人力與設備費用的相對減少,人員利用率的改進;數據處理速度的提高;數據統(tǒng)計精度的和準確率的提高。管理信息服務的改進;自動決策系統(tǒng)的改進;人員利用率的改進。1.2.3 條件、假定和限制項目開發(fā)中所具備的條件、假定和所受到的限制包括以下幾個方面: (1)所建議系統(tǒng)運行壽命的最小值:系統(tǒng)運行壽命的最小值應達三年。 (2)硬件、軟件、運行環(huán)境、開發(fā)環(huán)境等條件:硬件環(huán)境要求如下:奔騰II或更高檔的計算機、筆記本電腦;運行時存的要10MB以上;安裝所需硬盤空間是150MB;打印機可選激光打印機。軟件環(huán)境要求如下:中文 Windows98/

8、Windows2000/Me/xp/7; (3)系統(tǒng)投入使用的最晚時間:系統(tǒng)投入使用的最晚時間為2011年的10月中旬。1.2.4 可行性研究的方法(1)客戶調查:通過對客戶調查,了解和認知客戶對軟件產品的需求,按照客戶的要求不僅要實現(xiàn)月工資發(fā)放,而且要實現(xiàn)臨時的工資發(fā)放,同時還要有數據庫備份。GZGL系統(tǒng)的主要功能為:月工資發(fā)放和處理、標準工資庫維護、臨時工資發(fā)放、查詢與系統(tǒng)維護和系統(tǒng)幫助。(2)同類產品調查:通過對市場中相關或同類產品的調查,筆者了解到,工資管理系統(tǒng)大體上都應該實現(xiàn)工資的統(tǒng)計、匯總、報表打印等功能。1.3 技術可行性1.3.1 簡要描述工資管理系統(tǒng)是一個數據庫管理和查詢的系

9、統(tǒng),本系統(tǒng)采用常規(guī)的數據庫處理方法,根據工資信息管理的特點對數據庫進行操作,如對工資發(fā)放項目的修改、人員的增刪、工資數據的添加和修改、工資的統(tǒng)計、工資的匯總、臨時發(fā)放工資的管理、上報文件、打印等給予了優(yōu)化。1.3.2 與現(xiàn)有系統(tǒng)的優(yōu)越性比較工資管理系統(tǒng)有利于工資發(fā)放的統(tǒng)一、有效管理。與傳統(tǒng)的手工記賬方式相比,占據空間小、易于統(tǒng)計工資總額、易于更新、易于數據備份;與其它工資系統(tǒng)相比,該系統(tǒng)實現(xiàn)了對不同類型職工的工資發(fā)放,系統(tǒng)功能比較全面,而且價格也比較合理。工資管理系統(tǒng)具有高效率的系統(tǒng)靈活性。當修改工資庫中某個職工的工資情況或者修改某個工資發(fā)放項目時,只需在工資數據編輯狀態(tài)下對該職工的工號進行鎖

10、定,或者對某個工資項目進行鎖定,即可對鎖定的項目進行修改,而對其它的人員或項目無權修改,這樣可以提高系統(tǒng)的準確性。工資管理系統(tǒng)能夠較好保證數據庫的安全。戶可以對后臺數據庫進行加密,同時還可以給系統(tǒng)設定密碼?,F(xiàn)有的技術已較為成熟,硬件、軟件的性能要求、環(huán)境條件等各項條件良好,利用現(xiàn)有技術條件完全可以達到該系統(tǒng)的功能目標。同時,考慮給予的開發(fā)期限也較為充裕,預計系統(tǒng)是可以在規(guī)定期限完成開發(fā)。1.4 經濟可行性 估算新系統(tǒng)的成本效益分析,其中包括估計項目開發(fā)的成本,開發(fā)費用和今后的運行、維護費用,估計新系統(tǒng)將獲得的效益,估算開發(fā)成本是否會高于項目預期的全部經費。并且,分析系統(tǒng)開發(fā)是否會對其它產品或利

11、潤帶來一定影響。1.4.1 成本(1)基本投資硬件設備:PC機軟件:Windows98/Windows2000/xp/7,Delphi7,sql 2000/2005; Visual Basic 6.0、SQL Server 2000、Word 2005/2007(2) 其他一次性支出,主要是軟件設計和開發(fā)費用。軟件設計開發(fā)過程當中,投入設計和開發(fā)費用包括:購買書籍的資金,需求分析的費用 (其中包含技術開發(fā)上的花銷、生活花銷等)。 (3)經常性支出,主要是軟件后期維護費用。軟件開發(fā)完畢后投入使用時,對軟件產品進行的后期軟件維護所需要支出的費用。1.4.2 效益系統(tǒng)的效益可以從經濟效益和社會效益兩

12、方面考慮。本系統(tǒng)的應用使工資管理實現(xiàn)科學化、規(guī)化進一步實現(xiàn)學校員工工資管理的規(guī)化和自動化本系統(tǒng)。減少了人力投資和辦公費用的開銷,極提高辦公效率。并且該系統(tǒng)定會受到各學校的歡迎,擁有一定的市場,可在短時間收回成本,并有可觀的經濟效益。投入使用將獲得的經濟效益分為直接效益和間接效益兩方面。直接效益主要體現(xiàn)在:原來4人/周工作量將只須1人/周完成;間接效益體現(xiàn)在:減少支付3人工資(1200元/人月),共計3600元/月。1.5 社會因素可行性分析1.5.1 法律方面的可行性系統(tǒng)開發(fā)所用軟件均采用正版,系統(tǒng)的研制和開發(fā),將不會侵犯他人、集體和國家的利益,不會違反國家政策和法律。本小組的工資管理系統(tǒng)是以

13、微軟為操作平臺的。但是現(xiàn)在在中國微軟所推出的操作系統(tǒng)盜版非常猖獗。作為系統(tǒng)的開發(fā)者,我建議用戶采用正版的微軟操作系統(tǒng)。如果因為使用盜版操作系統(tǒng)所帶來的任何損失。本開發(fā)小組概不負責。1.5.2 操作可行性本系統(tǒng)定位于各高校,也可以適用于各中小型企業(yè)。運用此系統(tǒng)進行工資管理,給各院校教職工帶來極大的方便。 只要可以熟練得使用window操作系統(tǒng)所提的各種功能,就很方便操作本系統(tǒng),而且本系統(tǒng)有友好的用戶界面、有良好的安全性設置、有詳細的操作說明書,這樣更使各類用戶很快地掌握系統(tǒng)的使用方法。1.6 結論意見由于投資效益比遠大于100%, 技術、經濟、操作都有可行性,可以進行開發(fā)。二、軟件需求規(guī)格說明書

14、2.1 背景材料隨著信息化時代的到來,社會生活的各個方面都發(fā)生著翻天覆地的變化,當然學校這個教育的前沿陣地也發(fā)生著巨大的變化。傳統(tǒng)的人工工資管理存在著很大的不足,如處理量隨著職工人數的增多而急劇上升、靠人工來處理顯得力不從心、而且極其容易出錯,萬一出錯,將造成極大的麻煩。而以計算機代替人工執(zhí)行一系列的操作,將極提高辦事效率和準確率,并減輕了辦公人員的負擔。由此,學校工資管理系統(tǒng)就應運而生了。通過我們對學校現(xiàn)有的工資管理系統(tǒng)的調查,并對工作人員的提出的要求進行細致地分析,我們設計了一個實用的學校工資管理系統(tǒng)。下面我將介紹我們項目組所開發(fā)的一個學校工資管理系統(tǒng)。本說明書對軟件的功能需求、性能需求、

15、系統(tǒng)的數據處理流程、用戶權限等做了詳細的說明。通過閱讀本說明書,開發(fā)人員能夠對該系統(tǒng)的各個方面進行詳細的了解。進而依照本說明書對系統(tǒng)進行高效的開發(fā)。2.2 功能需求分析本系統(tǒng)所應該包括的功能有:2.2.1 管理員用戶設置初次使用要求用戶設置至少兩個管理員(分別隸屬于人事部和財務部),人事部管理員的權限有:設置各個部門或系的基本工資、獎金、扣款、人事信息管理(添加、注銷等),財務部管理員的權限有:接收人事處的工資、人事等信息、對工資詳情進行核對、工資單的打印、傳送工資詳情給銀行、。界面上提示輸入管理員用戶名和密碼。2.2.2 普通用戶創(chuàng)建由管理員根據職工的信息創(chuàng)建各個普通用戶(即學校的職工),普

16、通用戶的權限僅限于查看工資、獎金、扣款細節(jié)等。2.2.3 用戶登錄請用戶輸入用戶名和密碼,判斷該用戶是管理員還是普通用戶,根據用戶類型對其所能夠進行的操作進行提示和限定,若用戶名不正確則輸出“用戶不存在的提示信息”并清空登錄框,密碼不正確則輸出“密碼錯誤”的提示信息并清空登錄框,最多可以輸入三次,三次不正確系統(tǒng)會自動關閉且只能在10分鐘后再次登錄。2.2.4 遠程信息接收與傳遞由人事部的管理員進行職工出勤信息的接收與處理,并將出勤工資、獎金、扣款等傳送給財務部的管理員,若出現(xiàn)職工離退休等情況,要與時修改職工信息,并通知財務部等部門。財務部的管理員負責接收人事部的工資詳情,并在規(guī)定的時間將職工的

17、工資表傳送給銀行,并將工資條發(fā)給各個部門。2.2.5 信息提醒在每個月20日前2天提醒各部門、院系的負責人各個部門(包括系和部門)將出勤情況上報人事處。23日前一天提醒人事部管理員將出勤工資、獎金與扣款清單送到財務處 。每個月月底前三天提醒財務部管理員將教職工的工資表做好并將數據送銀行。并且在每個月3號提醒將工資條發(fā)給每個單位。2.2.6 職工編號的判斷定義每個普通用戶的用戶名為四位數字組成的編碼:前兩位是部門(或院系)的編碼,后兩位是個人編號。10個部門每個部門的職工數為20(其中個人編號從01到20),8個系每個系的職工數為100(其中個人編號從00到99)。各個部門、院系的編號定義如下:

18、編號與工資定義部門編號月基本工資院系編號月基本工資教務處103800計算機學院203500學生處113500軟件學院213500財務部124000土木與建筑學院223000人事部133500機械學院233000保衛(wèi)處143500電氣學院243200科技部154000信息學院253200招生就業(yè)處163500文學院263500后勤處173500經濟管理學院273200黨政部184000對外交流部1938002.2.7 職工工資的計算獎金扣款細節(jié)突出貢獻等級獎金額(¥)出勤情況(天)扣款額(¥)A800>=210B60020100C30019200D20018400E100<17800

19、2.3 性能需求分析2.3.1 運行環(huán)境本系統(tǒng)在財務部、人事部使用,通過各個終端對服務器進行操作,還需要從各個部門(系)收集信息,打印各種表。因此要求能夠適應網絡環(huán)境、復雜的集成環(huán)境。運行的環(huán)境有:硬件平臺:Intel 奔騰/酷睿、AMD速龍/翼龍等x86系列的平臺,基于交換機的以太網;軟件平臺:操作系統(tǒng)為Windows XP/Windows7/Linux等,還有SqL server2000、輔助管理軟件等;需要程序能夠穩(wěn)定地運行在上面所述的平臺上,并且需要考慮一定的穩(wěn)定性。另外要考慮到運行環(huán)境的變化:如果增強服務器的硬件配置,不僅可以增快系統(tǒng)的響應時間,還能足夠保證系統(tǒng)的穩(wěn)定性。2.3.2

20、精度要求輸入的信息盡可能準確,并對輸入進行限定?;竟べY、扣款額、獎金額、稅率等用浮點數進行存儲,計算的工資精確到小數點后兩位(分)。2.3.3 響應時間基于處理的實時性,要求系統(tǒng)能夠在較短的時間完成處理,具體要求如下:所有員工的工資計算:10秒數據傳送:5秒數據庫更新:8秒2.3.4 存占用考慮到可能運行其它的程序和某些電腦配置不高,要求軟件正常運行時的平均存占用能夠控制在10M以,峰值存占用不超過30M。2.3.5 安全與更新考慮到所涉與問題的敏感性和現(xiàn)有網絡環(huán)境的不安全特點,要求軟件有較好的安全防護措施,包括密碼的安全性、用戶的驗證、系統(tǒng)的封裝等。而且還要求能夠與主流的殺毒軟件和安全輔助

21、軟件兼容。另外在當前復雜的網絡環(huán)境下應考慮到數據傳輸的安全性,最好使用數據加密技術。在數據檢索、數據有刪改機制以與軟件的復用性,以便增強軟件的健壯性。另外任何一款軟件都不能保證沒有漏洞,因此要求軟件保留有限的升級接口,為打補丁和軟件的升級提供便利。2.3.6 故障處理情況 1:客戶端與服務器網絡不能連接處理 :a. 檢修本地端網絡連接是否正常;b. 查看服務器端交換機端口是否被關閉;c. 查看端點間網絡線路是否完好。情況2:存儲空間已滿處理 :a. 數據庫切換到備份存儲空間; b. 進行數據檢索,刪除日期超過4年的數據。情況3:服務器死機處理 :程序自動保存存中的臨時數據;重啟機器情況 4:服

22、務端程序報告異常處理 :保存好臨時數據,關閉訪問端口,關閉程序重新啟動,通過臨時數據初始化程序其它具體情況參照相關技術進行處理。三、數據流程圖由以上的需求分析進過研討和學習得到了如下圖所示的數據流程圖:N YN Y開始 輸入用戶名字和密碼判斷密碼時候正確提示錯誤信息并重新輸入判斷用戶標志登陸人事部界面登陸職工界面判斷管理用戶查看工資情況人事管理員工工資管理員工出勤管理登陸財務部界面工資統(tǒng)計管理財務處理結束 Y N 圖3-1 數據流程圖.四、功能分析圖4.1 員工工資標準模塊用戶登錄人事管理登錄輸入職工基本信息結束輸出職工工資標準圖4-1 員工工資標準查詢4.2 工資統(tǒng)計模塊用戶登錄財務管理登錄

23、輸入職工與出勤信息結束輸入職工出勤,獎金扣款圖4-2 工資統(tǒng)計4.3 財務處理模塊用戶登錄財務管理登錄輸入教職職工的信息銀行賬號與員工工資結束輸出職工工資表、工資發(fā)放賬單表圖4-3財務部工作4.4 職工工資查詢模塊用戶登錄職工登錄輸入職工ID與登錄密碼結束輸出職工出勤情況,工資計算標準 ,工資金額圖4-4 職工工資查詢4.5 登錄用戶管理模塊用戶登錄輸入用戶角色用戶ID與密碼結束輸出登陸結果圖4-5 用戶登錄管理用戶登錄輸入人事調動信息以與員工基本信息結束4.6 人事管理模塊圖4-5 人事管理模塊圖用戶登錄輸入員工ID與出勤信息結束4.7 員工出勤管理模塊圖4-5 員工出勤管理模塊圖五、數據字

24、典定義的變量的匯總如下:數據字典變量描述類型長度取值Personnel職工類類boo在職判斷標志bool1true/falsebh職工編號 int2見需求規(guī)格說明書t出勤次數int20-31 m基本工資int2見需求規(guī)格說明書d獎金額 int2見需求規(guī)格說明書k扣款金額int2見需求規(guī)格說明書money凈工資int2Huiz存儲匯總表int1000*6*2account用戶名charpassword密碼char其它有些變量沒有出現(xiàn)在這里,是因為它們過于復雜,不能這樣分類。六、概要設計主模塊判斷用戶登陸進入系統(tǒng)退出系統(tǒng)用戶輸入賬戶、密碼人事部財務部返回出錯信息出勤統(tǒng)計獎 金扣款計算人員異動工資計

25、算表格派送人員異動普通用戶登錄工資細節(jié)查詢根據前面得到的數據流程圖,用面向數據流的設計方法(軟件工程導論P95)導出系統(tǒng)結構圖如下:圖6-1 系統(tǒng)結構圖七、詳細設計說明書7.1 編寫目的在使用程序語言編制程序之前,需要對所采用算法的邏輯關系進行進行分析,設計出全部必要的過程細節(jié),并給予清晰的表達,使之成為編碼的依據,也作為軟件測試人員與軟件維護人員進行測試與維護時的參照。7.2 背景項目的提出:工資管理是學校管理的重要組成部分,它與學校的人事管理、財務管理有著密切的聯(lián)系。對于勞資關系相對復雜的學校,手工進行工資的發(fā)放工作往往需要耗費大量的人力與時間。由于工資發(fā)放在時間和操作上存在著一定的重復性

26、、規(guī)律性,這使得工資管理的計算機化成為可能,該項目的提出正是為了在此基礎上進一步實現(xiàn)企業(yè)員工工資管理的規(guī)化和自動化。7.3 系統(tǒng)的結構工資管理系統(tǒng)是學校管理系統(tǒng)的一個有機組成部分,它并非一個獨立的系統(tǒng),需要和員工人事管理、財務管理等系統(tǒng)連接,能夠從這些系統(tǒng)中正確的取得員工基本信息、基本工資、獎金、出勤狀況等信息。本系統(tǒng)與其他系統(tǒng)聯(lián)系緊密,那么就得通過相應的接口相聯(lián)系。本工資管理系統(tǒng)分為四大模塊,它們分別是登錄模塊、普通用戶、人事管理員用戶、財務管理用戶模塊。普通用戶的權限非常小,所以享受的服務也非常少,只能查詢自己的一些簡單信息,不能修改任何信息。管理員模塊最為復雜,它是工資管理系統(tǒng)的核心部分

27、,所有的設置、修改、計算和對數據庫的修改都在這個模塊。系統(tǒng)幫助為普通用戶和管理員用戶所共有。由前面的數據流圖和系統(tǒng)結構圖進行進一步的分析和設計,得到了后面的一些程序流程圖。7.4 程序流程圖7.4.1 用戶注冊點擊新用戶注冊注冊成功可登錄填寫相應的信息注冊P填寫信息 獲得確認 圖7-1 頂層圖點擊新用戶注冊填寫相應的信息注冊 P1D添加用戶信息返回用戶信息 P2注冊成功填寫信息 獲得確認圖7-2 用戶注冊的詳細層圖NY注冊系統(tǒng)選擇注冊類型人事管理用戶注冊財務管理用戶注冊普通用戶注冊注冊界面輸入注冊信息信息是否有效注冊成功圖7-3 用戶注冊的詳細流程圖7.4.2 用戶登錄NYNN輸入賬號和密碼用

28、戶類型普通用戶登錄財務管理用戶登錄輸入賬號和密碼人事管理用戶登錄輸入賬號和密碼賬號和密碼是否正確賬號和密碼是否正確普通用戶界面財務管理用戶界面查看基本信息查看工資、獎金、加班時間等信息人事管理用戶界面YYN賬號和密碼是否正確登陸系統(tǒng)圖7-4 用戶登錄流程圖YNYN選擇操作功能輸入職工編號顯示職工的基本信息判斷是否退休修改職工為退休人員填寫職工調動情況7.4.3人事管理圖7-5 人事管理流程圖輸入職工信息輸出職工本月工資情況7.4.4員工工資查詢圖7-6 員工工資查詢流程圖輸入職工編號輸入職工出勤情況根據賞罰規(guī)定計算職工的工資輸入職工工資情況7.4.5員工出勤管理圖7-7 員工出勤管理流程圖7.

29、4.6 財務部管理讀取人事部傳來的數據是否是有離退休人員用戶輸入信息銀行發(fā)放表發(fā)給銀行、工資表發(fā)給部門(系)判斷是否是做工資計算NY計算員工的工資(工資+獎金-扣款)統(tǒng)計并生成工資表、部門匯總表、扣稅款表、銀行發(fā)放表,然后保存判斷是否是表格派送YN清除該職工的賬號,轉移關系結束YN圖7-8 財務部管理流程圖7.5程序部分代碼然后根據這些程序流程圖進行實現(xiàn),得到了如下的主要代碼:7.5.1 用戶注冊用戶注冊的代碼如下:void welcome1() printf("n=n"); printf(" | | 請輸入序號 | |n"); printf("

30、; | | 1.用戶注冊。 | |n"); printf(" | | 2.普通職工登陸。 | |n"); printf(" | | 3.人事管理人員登錄。 | |n"); printf(" | | 4.財務管理人員登錄。 | |n");printf(" | | 5.退出系統(tǒng) | |n"); printf("=n"); /* 注冊界面 */ void welcome2() printf("n=n"); printf(" | | 請輸入序號 | |n"

31、;); printf(" | | 1.普通職工注冊。 | |n"); printf(" | | 2.人事管理人員注冊。 | |n"); printf(" | | 3.財務管理人員登錄。 | |n"); printf("n=n");void welcome3() printf("nntt注冊須知nn"); printf("*n"); printf("* 1.請?zhí)顚懩恼鎸嵸Y料! *n"); printf("*n"); void zhuce

32、() Registered *reg= new Registered; char chose;reg->welcome2();if(chose <='0' | chose>='4') while(chose <='0' | chose>='4') printf("您的輸入有誤,請重新輸入:"); fflush(stdin); scanf("%c",&chose); fflush(stdin); else if(chose='1') sys

33、tem("cls"); reg->pzhuce();/*普通職工注冊*/ else if(chose='2') system("cls"); reg->rzhuce();/*人事管理人員注冊*/ else (chose='3'); system("cls"); reg->czhuce();/*財務管理人員注冊*/ /* 判斷 */int psearch(char* user, char* pwd, char* real_pwd)/*判斷是否一樣,不一樣返回1*/ FILE* file;

34、 char user_buff256, pwd_buff256; file = fopen(cFile, "r"); if (!file) return 0; while (!feof(file) if (fscanf(file, "%s%sn", user_buff, pwd_buff) = EOF) return 0; if (!strcmp(user_buff, user) if (real_pwd) strcpy(real_pwd, pwd_buff); return 1; fclose(file); return 0; int rsearch(

35、char* user, char* pwd, char* real_pwd)/*判斷是否一樣,不一樣返回1*/ FILE* file; char user_buff256, pwd_buff256; file = fopen(rFile, "r"); if (!file) return 0; while (!feof(file) if (fscanf(file, "%s%sn", user_buff, pwd_buff) = EOF) return 0; if (!strcmp(user_buff, user) if (real_pwd) strcpy(

36、real_pwd, pwd_buff); return 1; fclose(file); return 0; int csearch(char* user, char* pwd, char* real_pwd)/*判斷是否一樣,不一樣返回1*/ FILE* file; char user_buff256, pwd_buff256; file = fopen(wFile, "r"); if (!file) return 0; while (!feof(file) if (fscanf(file, "%s%sn", user_buff, pwd_buff)

37、= EOF) return 0; if (!strcmp(user_buff, user) if (real_pwd) strcpy(real_pwd, pwd_buff); return 1; fclose(file); return 0; /* 添加用戶 */int padd (char* user, char* pwd, double coin_n) FILE* file; file = fopen(cFile, "a"); if (!file) return 0; fprintf(file, "%s %s n", user, pwd, coin_

38、n); fclose(file); return 0; int radd (char* user, char* pwd, double coin_n) FILE* file; file = fopen(rFile, "a"); if (!file) return 0; fprintf(file, "%s %s n", user, pwd, coin_n); fclose(file); return 0; int cadd (char* user, char* pwd, double coin_n) FILE* file; file = fopen(wFi

39、le, "a"); if (!file) return 0; fprintf(file, "%s %s n", user, pwd, coin_n); fclose(file); return 0; int pwenjian(char* user, char* pwd,double coin) if (psearch(user, pwd, NULL) return 0; else padd(user, pwd, coin); return 1; int rwenjian(char* user, char* pwd,double coin) if (rse

40、arch(user, pwd, NULL) return 0; else radd(user, pwd, coin); return 1; int cwenjian(char* user, char* pwd,double coin) if (csearch(user, pwd, NULL) return 0; else cadd(user, pwd, coin); return 1; void pzhuce()/*注冊*/ struct Registered *p,*r; int i=0,k=0,judge1,judge2; char name30; char pwd30;/ch char

41、ch; int n; r=(struct Registered*)malloc(sizeof(struct Registered); p=(struct Registered*)malloc(sizeof(struct Registered); welcome2(); printf("請輸入您的賬號:"); fflush(stdin); gets(name); fflush(stdin); printf("請輸入您的密碼:"); fflush(stdin); scanf("%s",&pwd); for(n=0;n <st

42、rlen(name);n+)/*判斷輸入信息是否正確*/ if( namen >= '0' && namen <= '9') continue;else if ( namen>='a'&& namen <='z')continue;else if ( namen >= 'A'&& namen <='Z' ) continue;else printf("您輸入的賬號有誤!n"); printf(&q

43、uot;n請選擇:按1返回主頁面. 按任意鍵退出:"); fflush(stdin); scanf("%c",&ch); fflush(stdin); if(ch='1')system("cls"); else exit(0); strcpy( p->id, &name0 );strcpy( p->psw, &pwd0 );if (pwenjian(p->id,p->psw,0)/*存入文件并輸出基本信息*/ system("cls"); printf(&quo

44、t;注冊成功!"); printf("您的注冊信息如下,請牢記:n"); printf("賬號:"); puts(p->id); printf("密碼:"); puts(p->psw); fflush(stdin); scanf("%c",&ch); fflush(stdin); if(ch='1') system("cls"); else exit(0); else/*如有一樣,注冊失敗*/ system("cls"); pri

45、ntf("您輸入的已經存在!注冊失敗!n"); printf("請選擇:按1返回主頁面. 按任意鍵退出:"); fflush(stdin); scanf("%c",&ch); fflush(stdin); if(ch='1')system("cls"); else exit(0); 7.5.2 用戶登陸登錄模塊說明:1) 程序:描述本程序是系統(tǒng)啟動時首先運行的程序,用戶通過本程序的認證進入系統(tǒng)。通過本程序,操作系統(tǒng)在存為用戶分配一段存,而且必須在此用戶退出之前常駐存,以便對本系統(tǒng)的所有操作都

46、是在此登陸用戶下進行。2) 功能:本段程序功能非常簡單,提供新用戶注冊和響應登陸者,并根據用戶的權限打開不同的登陸界面。3) 性能:該模塊若要注冊新用戶和響應登陸者,就必須對數據庫的用戶表進行查詢、核對和更改。經過反復測試與優(yōu)化,我們將登陸時間限制在5秒以,若超過5秒,就顯示登陸出錯信息。對新用戶注冊數據提交時間限制在5秒,若超過5秒,就提示注冊失敗。4) 輸人項:本程序的輸入就兩大類,用戶名(工號)和密碼。以下為這兩類輸入項作以下限制。1 工號:必須是數字,字母組成。2 密碼:必須是數字、字母組成。5) 輸出項:有四類輸出結果,登陸成功顯示財務管理用戶界面、登陸成功顯示人事管理用戶界面、登陸

47、成功顯示普通職工界面、登陸不成功顯示錯誤信息。6) 尚未解決的問題本模塊不能更好控制多次錯誤登錄。本系統(tǒng)的處理方式是退出本次登錄,該用戶只要再次運行程序即可繼續(xù)登錄。普通員工登錄設計說明:1) 程序描述:本段程序主要為普通用戶設定的,該程序所獲得的存保存在登錄一直到退出登錄為止。2) 功能:本段程序主要是區(qū)分普通用戶和管理員用戶,普通用戶享有的權限很小,所享受的服務也相應的減少,只能查看自己的基本信息和自己的工資信息。其功能可用如下的功能模塊圖描述。3) 性能:該模塊主要是查詢自己的基本信息和基本工資,由于數據處理量很小,所以要求每次執(zhí)行響應時間不得超過1.5秒。4) 輸人項:按界面要求輸入要執(zhí)行的命令的編號。5) 輸出項:顯示我的基本信息,如,工號,性別,年齡等。顯示我的工作情況,如出勤工資、獎金、扣款等。6) 算法:本段程序思想簡單,沒有特殊的算法,只是執(zhí)行

溫馨提示

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

評論

0/150

提交評論