歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > DOC文檔下載  

軟件工程課程設計工資管理系統(tǒng).doc

  • 資源ID:8177260       資源大小:529KB        全文頁數:26頁
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

軟件工程課程設計工資管理系統(tǒng).doc

1 前言課程設計是對學生的一種全面綜合訓練,是與課堂聽講、自學和練習相輔相成的、必不可少的一個教學環(huán)節(jié)。通常,課程設計中的問題比平時的習題復雜得多,也更接近實際。課程設計著眼于原理與應用的結合點,使學生學會如何把書上學到的知識用于解決實際問題,培養(yǎng)軟件工作所需要的動手能力。另一方面,使書上的知識變活,起到深化理解和靈活應用教學內容的目的。平時的習題局限于一個和二個知識點,而課程設計題是軟件設計的綜合訓練,包括問題分析,總體結構設計,用戶界面設計、程序設計、基本技能和技巧,以及一整套軟件工作規(guī)范的訓練和科學作風的培養(yǎng)。我們這組選的課題是工資管理系統(tǒng)的設計與開發(fā)。從接到任務書開始,我們首先完成了系統(tǒng)的需求分析與概要設計,在完成這些任務時,我們深感理論與實踐的結合的是需要一個過程。從個人分工到整個系統(tǒng)分析,從設計到測試之所以能順利完成是和大家的努力分不開的。雖然還有一些不足之處,但是我們還是從中獲益不少。下面簡要介紹一下我們課題組的分工,我們這組的分工其實借鑒了Shari Lawrence Pfleeger 和Joanne M.Atlee 合著的 SOFTWARE ENGINEERING Theory and Practice (高等教育出版社第三版影印版)中的一些理論,這些知識可以參考此書的第25頁中關于“開發(fā)團隊的角色分工”一節(jié)。根據分工的細化和部分重疊原則,我們組的具體分如下: (1)項目管理 : 王培 (2)需求分析 : 鐘耀明、賀純 (3)概要設計 : 賀純、趙亦嫻 (4)詳細設計 : 趙亦嫻、王培、鐘耀明、楊安、陳華、賀純 (5)程序編碼 : 王培、陳華 (6)系統(tǒng)測試 : 陳華、楊安 我的主要任務是概要設計和詳細設計2需求分析2.1 任務概述 現代企業(yè)基本上都引進了計算機軟件對公司業(yè)務進行管理,這樣做有很多優(yōu)點,一是提高了工作的效率,同時也減少了手工操作的錯誤以及人員的開支。本課題開發(fā)的工資管理系統(tǒng)正是基于這樣的目的實現的,系統(tǒng)完成的主要功能是對員工工資的管理,同時還包括對員工信息、部門信息以及附屬于員工、部門的職稱和職務信息的管理。系統(tǒng)主要采用事務型數據庫設計,但對于員工工資的信息,系統(tǒng)能夠保留其相應的歷史記錄,包括員工的請假信息,出差信息以及工資結算信息等。本系統(tǒng)面向員工和管理人員同時開放,普通用戶可以進行查詢以及對個人相關信息的修改等操作,管理賬戶則擁有系統(tǒng)的全部功能。系統(tǒng)不允許非經認證通過的用戶使用系統(tǒng)。系統(tǒng)采用JAVA語言開發(fā),系統(tǒng)的數據使用ORACLE數據庫進行管理。2. 功能需求分析(1)系統(tǒng)能夠維護員工的基本信息,部門、職務、職稱以及工資記錄等信息。(2)系統(tǒng)應該能記錄員工的每一個職稱信息,并授予相應的職稱,系統(tǒng)在計算員工工資的時候選取職稱對應的最高職稱津貼。(3)工資表應當由系統(tǒng)自動生成。系統(tǒng)負責員工的工資表以及員工工資的歷史記錄及記錄員工的請假信息和出差信息等意外情況。(4)系統(tǒng)可以給管理員提供權限增加刪除修改系統(tǒng)用戶以及其它實體信息,系統(tǒng)的部分權限不能下放給普通用戶以保證系統(tǒng)的安全性以及數據的正確性。2.3 外部接口需求分析系統(tǒng)人機交互界面為半屏幕大小,采用上下左右居中方式顯示,系統(tǒng)分辯率默認設置為1280*800,實際的界面大小由具體的屏幕決定。主界面包括標題欄,菜單欄,快捷工作區(qū),幫助信息區(qū)(默認是隱藏的)。每一個菜單對應一個鍵盤快捷鍵區(qū)。2.4 性能需求分析系統(tǒng)在主頻1.5GHZ,內存512MB,總線頻率667MHZ的硬件平臺上運行時,系統(tǒng)的響應時間、更新處理時間、數據轉換與傳輸時間、運行時間均能達到毫秒級。系統(tǒng)支持用戶并發(fā)操作,事務采用可串行化隔離級別,防止在讀寫過程中產生的丟失修改、讀臟數據、不可重復讀等一系列由并發(fā)操作帶來的不一致問題。系統(tǒng)的運行主存控制在1024KB以內,響應時間控制在1000ms以內,系統(tǒng)對數據的存儲空間取決于數據庫系統(tǒng)表空間的約束限制。2.5 軟件屬性需求分析系統(tǒng)必須保證所有操作結果以及存儲數據的正確性,對于用戶的非法操作,系統(tǒng)必須能夠提出告警信息,對于用戶的錯誤操作,系統(tǒng)能夠提供錯誤信息以及錯誤源。在數據庫操作上的異常,系統(tǒng)也應捕捉到并提供界面化的提示信息,對于可能會產生錯誤的操作,應當能夠防范。另外系統(tǒng)必須提供一定的安全保密性,一些保密信息只針對特定的用戶提供。它人員無法訪問。軟件必須為中文操作界面,并且所有的中文功能菜單項描述須與其實際對應的功能相一致,不能存在功能不足或者功能不對的情況,軟件采用面向對象技術架構,遵循代碼編寫規(guī)范,提供適當的代碼注釋,盡可能地采用可復用技術,提高軟件的可維護性。概要設計3.1 系統(tǒng)設計總體思想當工資管理系統(tǒng)處理的事務主要有工資管理,員工信息管理,部門信息管理,職務信息管理,職稱信息管理。職務和職稱以及部門信息管理主要服務于工資管理和員工信息管理,系統(tǒng)接收的輸入項目有員工信息,部門信息,職務信息,職稱信息,請假信息,出差信息等。系統(tǒng)能夠接受用戶的請求,顯示相應的查詢信息,增加、刪除、修改相應的合法的信息。圖3.1.1 工資管理系統(tǒng)HIPO圖圖3.1.1是工資管理系統(tǒng)的HIPO圖,上圖主要說明了系統(tǒng)的各個主要功能以及各功能模塊之間的層次關系。上圖的基本框架也是整個系統(tǒng)界面的基要框架。系統(tǒng)的人機交互采用圖形化用戶界面,考慮到系統(tǒng)的平臺無關性,系統(tǒng)由JAVA語言實現,系統(tǒng)的界面元素也是采用了JAVA的JFC圖形類庫。系統(tǒng)可以在安裝了JAVA運行環(huán)境的平臺上運行。系統(tǒng)從登錄界面開始,要求驗證用戶信息,用戶通過驗證后,進入系統(tǒng)主界面。主界面提供了一個菜單框架,可以通過各個菜單類的一個實例來加載菜單,這一步不是由主界面完成的,而是由所需要被加載的類完成的,但需要主界面類去生成這些菜單英的實例。系統(tǒng)加載的功能主要包括系統(tǒng)管理,用戶管理,工資管理,部門管理,職務管理,職稱管理以及適當的幫助信息。系統(tǒng)管理主要向用戶提供用戶更改密碼的操作以及退出程序的功能。用戶管理允許管理員新建一個員工信息,比如當公司新增加了一個員工時,系統(tǒng)為該員工生成相應的工資關系,但新建這個員工的信息則是第一環(huán)節(jié),當然如果公司離任了一名員工時,此員工與公司的工資關系已解除,則沒有必要保留該員工的信息,系統(tǒng)應向管理員提供刪除該員工的功能,同時刪除與該員工相關的所有其它信息。公司所在的員工可能有部分具有相應的職稱,考慮到職稱的種類繁多,系統(tǒng)只添加本公司員工所擁有的職稱的一個集合,而不考慮外界的因素,因此系統(tǒng)提供了增加、刪除、修改、查詢等對職稱的相關操作。例如,當公司一員工拿到高級職稱后,管理員首選應該查看系統(tǒng)是否記錄了相應職稱的信息,如果有,則直接將該職稱信息添加到員工信息中去,如果沒有,則應當先增加這一職稱信息,再執(zhí)行上述操作。另外在刪除一個職稱的時候,系統(tǒng)要求必須沒有員工擁有此職稱,否則系統(tǒng)不能刪除,如果確實要刪除,則只能先刪除擁有此職稱的所有員工或者撤銷擁有此職稱的所有員工的此職稱。3.2 系統(tǒng)功能模塊設計圖3.2.1 系統(tǒng)功能模塊設計3.3 系統(tǒng)數據庫設計 通過對工資管理系統(tǒng)的數據分析并根據業(yè)務之間的聯系,我們可以得出與系統(tǒng)相關的實體有:員工、部門、職務、職稱、請假信息、出差信息、工資。工資管理系統(tǒng)的數據據庫管理模式用語義描述如下:(1) 每一個員工只能屬于一個部門,擔任一個職務,但是可以擁有多個職稱.(2) 每個部門可以有多名員工,有不同的職務.(3) 每個職務可以由多名員工擔任,可以在相同的部門,也可以在不同的部門.(4) 每個職稱可以授予不同的員工.(5) 每個員工每個月都會有一份工資記錄,并且會有一份歷史工資記錄.(6) 員工每個月可以請假多次或者出差多次.但是要扣除相應的工資或者獲得相應的補助.每個員工都有一分歷史請假記錄和歷史出差記錄。綜合上述語義,可以得出系統(tǒng)的ER圖如圖3.3.1所示:3.3.1 工資管理系統(tǒng)ER圖根據實體之間的聯系,以及分析實體的屬性,得出了工資管理系統(tǒng)中各個實體的屬性,相關屬性列表見表3.3.1。表3.3.1 工資管理模型的相關屬性列表實體或聯系屬性員工員工編號、姓名、性別、部門號、職務部門部門編號、名稱、人數、電話職務職務編號、名稱、基本工資職稱職稱編號、名稱、職稱津貼出差信息出差編號、員工編號、天數、出差年份、出差月份、出差補助員工職稱信息員工編號、職稱編號請假信息請假編號、員工編號、天數、年、月、扣除工資、請假原由工資工資編號、員工編號、工資所屬年月、基本工資、扣除工資、出差補助、崗位工資、職稱津貼、工資總額說明:加粗部分為主鍵,加底線部分為外鍵 圖3.3.2 實體及其相關屬性圖詳細設計4.1 數據結構設計4.1.1 數據庫表結構設計Employee員工信息表字段名數據類型約束名稱說明empnonumber(6)主鍵員工編號enamevarchar2(20)not null員工姓名sexvarchar2(4)not null性別deptnonumber(6)外鍵department(deptno)部門編號dutynonumber(6)外鍵duty(dutyno)職務編號Department-部門信息表字段名數據類型約束名稱說明deptnonumber(6)主鍵部門編號deptnamevarchar2(20)not null部門名empnumnumber部門人數telnumber電話Duty-職務信息表字段名數據類型約束名稱說明dutynonumber(6)主鍵職務編號dutynamevarchar(20)not null職務名dutypaynumberdefault(0), check(dutypay>=0)職務基本工資Title-職稱信息表字段名數據類型約束名稱說明titlenonumber(6)主鍵職稱編號titlenamevarchar2(20)not null職稱名titlepaynumberdefault(0), check(titlepay>=0)職稱津貼TitledEmployee-員工職稱聯系表字段名數據類型約束名稱說明empnonumber(6)組合主鍵, 外鍵employee(empno)員工編號titlenonumber(6)職稱編號yearnumber(4)年記錄職稱授予時間monthnumberbetween 1 and 12月Leave-員工請假信息表字段名數據類型約束名稱說明leavenonumber(6)主鍵請假編號empnonumber(6)外鍵employee(empno)請假員工leavedaysnumbernot null請假天數leaveyearnumber(4)not null請假年份leavemonthnumbernot null請假月份deductionnumbernot null扣除工資reasonvarchar(60)請假原因BusinessTravel-出差信息表字段名數據類型約束名稱說明travelnonumber(6)primary key出差編號empnonumber(6)外鍵employee(empno)員工編號traveldaysnumbernot null出差天數travelyearnumber(4)not null出差年份travelmonthnumbernot null出差月份travelpaynumbernot null出差補助Reward-獎勵信息表字段名數據類型約束名稱說明rewardnonumber(6)primary key獎勵編號empnonumber(6)外鍵employee(empno)員工編號rewardyearnumber(4)not null獎勵年份rewardmonthnumbernot null獎勵月份rewardpaynumber獎勵金額reasonvarchar(60)獎勵原由Penalty-罰金信息表字段名數據類型約束名稱說明penaltynonumber(6)primary key罰金編號empnonumber(6)外鍵employee(empno)員工編號penaltyyearnumber(4)not null罰金年份penaltmonthnumbernot null罰金月份penaltynumnumber罰金額度reasonvarchar(60)罰金原由Salary-職工工資信息表字段名數據類型約束名稱說明salnonumber(6)primary key工資編號empnonumber(6)外鍵employee(empno)員工編號payyearnumber(4)工資年份paymonthnumberbetween 1 and 12工資月份basepaynumber基本工資deductionnumber請假扣除金額travelpaynumber出差補助dutypaynumber職務工資titlepaynumber職稱津貼rewardpaynumber獎勵金額penaltynumnumber罰金totalpaynumber工資總額4.1.2 程序數據結構設計(1)ADT DepartmentBean數據對象:D=deptNo,deptName,empNum,tel|deptNo,empNumt和tel均為整數,deptName為字符串數據關系:R1=<deptNo,deptName,tel>|deptNo為部門編號,deptName為部門號,tel為部門電話R2=<deptNo,empNum>|deptNo為部門編號,empNum為部門人數基本操作:setDeptNo(int no):設置部門的部門號為no.getDeptNo ():返回部門的部門號。setDeptName(String name):設置部門的部門名為name.getDeptName():返回部門的部門號.setEmpNum(int num):設置部門的員工人數為num.getEmpNum():返回部門的人數.setTel(int telephone):設置部門的電話號碼為telephone.getTel():返回部門的電話號碼。ADT DepartmentBean (2)ADT Jdbc 數據對象:D=dbUrl,theUser,thePsw,c,stmt,rs|dbUrl提供數據庫對象,theUser,thePsw指定用戶名和密碼,c與數據庫建立一個連接,stmt聲明一條SQL語句,rs保存執(zhí)行SQL語句的結果集. 數據關系:R1<theUser,thePsw>:用戶登陸的驗證信息用戶名和密碼.R2<stmt,rs>:rs為語句stmt執(zhí)行的結果集. 基本操作:Jdbc():加載數據庫驅動,建立數據庫連接.executeUpdate(String sql):執(zhí)行SQL更新語句,成功返回TRUE,失敗則返回FALSE.executeQuery(String sql):執(zhí)行SQL查詢語句,返回結果集rs.close():關閉與數據庫的連接.ADT Jdbc4.2 模塊功能詳細設計4.2.1 部門信息刪除模塊設計(1)類圖設計圖4.2.1.1 部門信息刪除模塊類圖以下對部分類的屬性和方法的說明:DepartmentMenu類:屬性名稱屬性類型屬性說明deptMenuJMenu頂層菜單項deptInqueryItemJMenuItem部門信息查詢菜單項deptDeleteItemJMenuItem部門信息刪除菜單項deptUpdateItemJMenuItem部門信息更新菜單項UserUserBean用戶業(yè)務類說明: 當點擊各菜單項時,會彈出相應的操作界面。DepartmentDelete類:方法名稱返回值類型功能說明isDeptExist()boolean判斷輸入的部門號是否存在isDeptEmpty()boolean判斷輸入的部門號是否為空executeDelete()void執(zhí)行刪除操作ShowAction 類:該類為內部類,是將各功能集成到系統(tǒng)的框架之中.ShowAction類的構造函數提供了一個命名菜單項的方法,主要功能引入了DepartMentDelete這個類到系統(tǒng)中。通過監(jiān)聽器ShowAction執(zhí)行actionPerformed()方法,系統(tǒng)就應該可以產生期望的動作。(2)界面設計圖4.2.1.2 界面設計界面設計說明:該文本框為單行文本框,可以輸入要刪除的部門號,當系統(tǒng)監(jiān)聽到文本框中選項被確定,將會自動地將該部門信息從數據庫中刪除。(3)核心代碼public class DepartmentDeleteprivate static final long serialVersionUID = -8537661840347605772L;public DepartmentDelete() executeDelete();private boolean isDeptExist(int deptno)ResultSet rs; Jdbc conn=null;boolean flag = false;try conn = new Jdbc();rs = conn.executeQuery("select deptno from department "); while(rs.next() if( deptno = rs.getInt("deptno") flag = true; break; catch (InstantiationException e1) e1.printStackTrace(); catch (IllegalAccessException e1) e1.printStackTrace(); catch (ClassNotFoundException e1) e1.printStackTrace(); catch (SQLException e1) e1.printStackTrace(); return flag;public boolean isDeptEmpty(int deptno)ResultSet rs; Jdbc conn=null;boolean flag = false;try conn = new Jdbc();rs = conn.executeQuery("select count(*) from employee where deptno="+deptno); while(rs.next() if( rs.getInt(1) = 0) flag = true; break; catch (InstantiationException e1) e1.printStackTrace(); catch (IllegalAccessException e1) e1.printStackTrace(); catch (ClassNotFoundException e1) e1.printStackTrace(); catch (SQLException e1) e1.printStackTrace(); return flag;private void executeDelete() String deptnoStr = JOptionPane.showInputDialog(null,"請輸入待刪除部門編號!"); int deptno=0; boolean flag =true; try deptno = Integer.parseInt(deptnoStr); catch(Exception e) flag=false; if( isDeptExist(deptno) = true ) if( isDeptEmpty(deptno) = false ) JOptionPane.showMessageDialog(null,"部門中有員工存在,無法刪除!"); else Jdbc conn = null; int res=0; try conn = new Jdbc();PreparedStatement pstmt = conn.c.prepareStatement("delete from department where deptno=?");pstmt.setInt(1, deptno);res = pstmt.executeUpdate();if( res !=0 ) JOptionPane.showMessageDialog(null, "成功刪除部門"+deptno);else JOptionPane.showMessageDialog(null, "刪除失敗"); catch (InstantiationException e) e.printStackTrace(); catch (IllegalAccessException e) e.printStackTrace(); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace(); else if(flag) JOptionPane.showMessageDialog(null, "您輸入的部門號不存在!"); /executeDelete4.2.2 部門信息增加模塊設計(1)類圖設計根據系統(tǒng)的需求,我們需要使得系統(tǒng)能夠通過圖形化的界面來增添一個部門,并將輸入的部門信息長久得保存在數據庫文件中,為此我們需要一個從界面類到與數據庫連接的底層類的一系列類的組合來實現這樣的需要. 圖4.2.1.2所示的類圖就是一個增加新員工的實現過程,DepartmentAdd類是一個繼承自javax.swing.JFrame類的界面類,它提供了一個供錄入員工信息的操作界面,所有錄入的信息,則通過DepartmentBean類生成一個實例對象來保存,departmentAdd類的構造函數負責調用createAddInterface()私有方法來構造出界面,以及初始化各控件中的數值,如generateDeptNo()是生成部門編號,部編號并不能由用戶或者管理員確定,而是由系統(tǒng)查詢數據庫后,遵循唯一性原則生成出來的編號.這樣做不僅避免用戶管理編號的繁瑣性,而且也增強了系統(tǒng)的安全性.圖4.2.2.1 部門信息的增加功能模塊類圖以下部分類的屬性和方法的說明:DepartmentMenu類:屬性名稱屬性類型屬性說明deptMenuJMenu頂層菜單項deptInqueryItemJMenuItem部門信息查詢菜單項deptDeleteItemJMenuItem部門信息刪除菜單項deptUpdateItemJMenuItem部門信息更新菜單項UserUserBean參數傳遞說明: 當點擊各菜單項時,會彈出相應的操作界面。Load Department方法是用來加載Departmentmenu類 。DepartmentAdd類:屬性名稱屬性類型屬性說明deptNoTextJTextFied部門編號輸入文本框deptNameTextJtextFied部門名稱輸入文本框deptTelTextJTextFied部門電話輸入文本框confirmButtonJButton確定按鈕cancelButtonJButton取消按鈕deptDepartmentBean參數傳遞DepartmentAdd類:方法名稱返回值類型功能說明DepartmentAdd()void是Departmentadd類的構造函數InitDeptInfo()void初始化部門信息genertateDeptNo()void產生部門編號CreateAddInterface()void創(chuàng)建增加信息界面StoreDepartment()void將新的信息保存到數據庫中ShowAction 類:該類為內部類,是將各功能集成到系統(tǒng)的框中.ShowAction類的構造函數提供了一個命名菜單項的方法,主要功能是引入DepartMentDelete這個類到系統(tǒng)中。通過監(jiān)聽器ShowActionactionPerformed()方法,系統(tǒng)就應該可以產生期望的動作。監(jiān)聽器ConfirmAction和CancelAction這兩個監(jiān)聽器實現的均是java.awt.event.ActionListener接口,系統(tǒng)通過監(jiān)聽器響應用戶的保存或者取消操作,調用數據庫類Jdbc來執(zhí)行SQL存儲語句實現與數據庫的連接以及對數據庫的增加信息操作。(2)界面設計圖4.2.2.2 增加部門信息界面界面說明:以上文本框都是單行文本框,可以輸入部門編號,部門名稱,部門電話,當系統(tǒng)監(jiān)聽到文本框中的內容被確定,將會新的部門信息保存到數據庫中。(3)核心代碼 public class DepartmentAdd extends JFrame this.setTitle("Add a new Department!"); this.setSize(WIDTH,HEIGHT); this.setLayout(null); this.setResizable(false); v Dimension scr=Toolkit.getDefaultToolkit().getScreenSize(); Dimension frm=this.getSize(); this.setLocation(int)(scr.getWidth()-frm.getWidth()/2, (int)(scr.getHeight()-frm.getHeight()/2-50); createAddInterface(); generateDeptNo(); initDeptInfo();private void initDeptInfo() dept.setDeptName("某部門"); dept.setTel(1000000); dept.setEmpNum(0);private void generateDeptNo() ResultSet rs; Jdbc conn=null;int no = 102001;try conn = new Jdbc();rs = conn.executeQuery("select deptno from department order by deptno"); while(rs.next() if( no = rs.getInt("deptno") +no; else break; dept.setDeptNo(no); deptNoText.setText("" + no); catch (InstantiationException e1) e1.printStackTrace(); catch (IllegalAccessException e1) e1.printStackTrace(); catch (ClassNotFoundException e1) e1.printStackTrace(); catch (SQLException e1) e1.printStackTrace(); private void createAddInterface()Container contentPane = getContentPane(); JLabel label1 = new JLabel("部門編號:"); JPanel panel1 = new JPanel(); deptNoText = new JTextField(10); deptNoText.setEditable(false); panel1.add(label1); panel1.add(deptNoText); JLabel label2 = new JLabel("部門名稱"); JPanel panel2 = new JPanel(); deptNameText = new JTextField(10); panel2.add(label2); panel2.add(deptNameText); JLabel label3 = new JLabel("部門電話"); JPanel panel3 = new JPanel(); deptTelText = new JTextField(10); panel3.add(label3); panel3.add(deptTelText); confirmButton = new JButton("保存"); cancelButton = new JButton("重置"); JPanel panel4 = new JPanel(); panel4.add(confirmButton); panel4.add(cancelButton); confirmButton.addActionListener(new ConfirmAction(); cancelButton.addActionListener(new CancelAction(); panel1.setSize(WIDTH,50); panel1.setLocation(0, 0); panel2.setSize(WIDTH,50); panel2.setLocation(0,50); panel3.setSize(WIDTH,50); panel3.setLocation(0,100); panel4.setSize(WIDTH,50); panel4.setLocation(0,150); contentPane.add(panel1); contentPane.add(panel2); contentPane.add(panel3); contentPane.add(panel4); private void storeDepartment()int rs; Jdbc conn = null; try conn = new Jdbc();PreparedStatement pstmt = conn.c.prepareStatement("insert into department values(?,?,?,?)");pstmt.setInt(1, dept.getDeptNo();pstmt.setString(2, dept.getDeptName();pstmt.setInt(3, dept.getEmpNum();pstmt.setInt(4, dept.getTel(); rs = pstmt.executeUpdate(); if( rs !=0 ) JOptionPane.showMessageDialog(null, "保存成功"); this.dispose(); else JOptionPane.showMessageDialog(null, "保存失敗"); this.dispose(); 5 測試5.1 部門信息刪除和增加模塊測試 模塊采用黑盒測試策略,設計測試用例實例如下:表5.1.1測試用例序號輸入數據預期結果1從文本框中輸入一個要刪除的部門號(102005)正常刪除2從文本框中輸入一個要刪除的部門號(102007)異常刪除3在各文本框中輸入相應的內容并保存正常添加4在部門編號文本框中輸入數字并保存異常添加 測試結果如下: 圖5.1.1測試用例1輸入 圖5.1.2測試用例1結果 圖5.1.3測試用例2輸入 圖5.1.4 測試用例2輸出結果 圖5.1.5測試用例3輸入 圖5.1.6測試用例4輸出結果 圖5.1.5測試用例4輸入 圖5.1.5測試用例4輸出結果 測試結論:該模塊功能基本正常,能夠接受合法的輸入,并能產生相應的輸出結果,對于非法的輸入,系統(tǒng)采取的策略時忽略非法請求,直到用戶輸入正確的合法的數據才給以響應并產生正常的輸出.6課程設計的總結與體會這次課程設計中我負責的是概要設計和詳細設計這兩個模塊。概要設計中包括:系統(tǒng)設計總體思想,系統(tǒng)功能模塊設計,系統(tǒng)數據庫設計。其中系統(tǒng)設計總體思想主要說明了該系統(tǒng)是主要處理的事務以及系統(tǒng)的各個主要功能以及各功能模塊之間的層次關系。系統(tǒng)功能模塊主要說明了該系統(tǒng)是的實現各操作的流程。系統(tǒng)數據庫設計則主要說明了各業(yè)務之間的聯系,以及各個實體之間的聯系。詳細設計這個模塊中包括:數據結構設計,程序數據結構設計,模塊功能詳細設計。數據庫表結構設計則主要定義了該系統(tǒng)所需的表格結構。程序數據結構設計則定義了該系統(tǒng)所用到的數據結構。模塊功能詳細設計則主要用來實現各功能的模塊。在這個模塊中我們通過類圖來實現各類之間的調用關系,設計好操作界面,編寫好實現部分模塊的功能。而詳細設計這個模中,我主要的工作是負責部門管理這個模塊功能的設計。在這個模塊中,我為部門管理增加了兩個功能:一個部門信息的增加,另一個是部門信息的刪除。這兩個操作主要是通過菜單操作實現的。如要刪除某個部門信息則在部門菜單上選擇刪除菜單項,在彈會的對話框中輸入要刪除的部門號再單擊確定即可實現刪除操作。通過次課程設計使我明白了合作的重要性,分工明確,培養(yǎng)了我良好的團隊合作精神。同時我也掌握了軟件開發(fā)的具體流程以及開發(fā)方式。參考文獻1任勝兵、邢琳軟件工程M北京:北京郵電大學出版社2006:762442Shari Lawrence Pfleeger 、Joanne M.Atlee.軟件工程理論與實踐(第三版影印版).北京:高等教育出版社2008.5:141209,337-362.3閻菲.Java程序設計教程.北京:中國水利水電出版社.2004:154-233.4Harvey M.Deitel Paul J.Deitel.Java程序設計教程.北京:機械工業(yè)出版社.2006.1.5孫風棟 等.Oracle數據庫基礎教程.北京:電子工業(yè)出社.2008.6:276-358.致謝在這里我要特別感謝我們的指導老師姚老師和組長王培同學,謝謝他們不厭其煩的幫助我。

注意事項

本文(軟件工程課程設計工資管理系統(tǒng).doc)為本站會員(jian****018)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!