![java 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計報告_第1頁](http://file4.renrendoc.com/view/cbc5f28ac83a3deaf94dcbd72c2a9159/cbc5f28ac83a3deaf94dcbd72c2a91591.gif)
![java 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計報告_第2頁](http://file4.renrendoc.com/view/cbc5f28ac83a3deaf94dcbd72c2a9159/cbc5f28ac83a3deaf94dcbd72c2a91592.gif)
![java 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計報告_第3頁](http://file4.renrendoc.com/view/cbc5f28ac83a3deaf94dcbd72c2a9159/cbc5f28ac83a3deaf94dcbd72c2a91593.gif)
![java 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計報告_第4頁](http://file4.renrendoc.com/view/cbc5f28ac83a3deaf94dcbd72c2a9159/cbc5f28ac83a3deaf94dcbd72c2a91594.gif)
![java 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計報告_第5頁](http://file4.renrendoc.com/view/cbc5f28ac83a3deaf94dcbd72c2a9159/cbc5f28ac83a3deaf94dcbd72c2a91595.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
博R玖公面向?qū)ο蟪绦蛟O(shè)計
課程設(shè)計報告題目門禁系統(tǒng)的設(shè)計與實現(xiàn)系(院)計算機科學技術(shù)系專業(yè)軟件技術(shù)班級2011級3班學生姓名喻寧學號1123110941指導教師李群二0—二年六月十二日團隊介紹(一) 第六小組成員構(gòu)成組長:李晗雨組員:喻寧、許亞男、王麗珍(二) 成員的不同分工及任務(wù)前期工作王麗珍負責:編寫“管理員、雇員、訪客”三個類?:?李晗雨和許亞男負責:編寫“門禁系統(tǒng)、電子門、計算機、輸入設(shè)備〃四個類把門禁系統(tǒng)電子門作為一類,運用選擇,循環(huán)結(jié)構(gòu),實現(xiàn)電子門的開閉,身份驗證等方法,把計算機作為一類,編寫進入電子門的請求方式及計算機是否同意電子門的開啟。加以接口,實現(xiàn)進入電子門需要通過的三種方式:密碼,刷卡和指紋?:?我負責:編寫“驗證接口、驗證實現(xiàn)”包含屬性:系統(tǒng)已有的信息和需要驗證的信息包含方法:(1) 驗證接口定義驗證方法(2) 編寫默認的實現(xiàn)類:GenericValidate(3) 具體的驗證類繼承默認的實現(xiàn)類?小組所有成員負責:編寫測試類后期工作?李晗雨負責:整合各類代碼?許亞男負責:優(yōu)化代碼,改善程序?我負責:編寫ppt實驗報告?王麗珍負責:講解ppt,進行答辯
1課程設(shè)計目的與要求 錯誤!未定義書簽。1.1課程設(shè)計目的1.2課程設(shè)計要求2問題描述與分析2.1問題描述....2.2問題分析....3總體設(shè)計 3.1開發(fā)環(huán)境 3.2功能設(shè)計 3.3界面設(shè)計 3.4類的設(shè)計 4詳細設(shè)計 4.1主要類的說明 4.2主要方法說明 4.3程序流程圖 5程序測試分析 5.1程序運行情況 5.2程序異常處理 錯誤!未定義書簽錯誤!未定義書簽錯誤!未定義書簽錯誤!未定義書簽錯誤!未定義書簽錯誤!未定義書簽。錯誤!未定義書簽錯誤!未定義書簽錯誤!未定義書簽錯誤!未定義書簽錯誤!未定義書簽錯誤!未定義書簽。錯誤!未定義書簽。錯誤!未定義書簽。錯誤!未定義書簽。錯誤!未定義書簽。錯誤!未定義書簽。錯誤!未定義書簽。錯誤!未定義書簽。錯誤!未定義書簽。錯誤!未定義書簽。錯誤!未定義書簽。錯誤!未定義書簽。參考資料 錯誤!未定義書簽。91課程設(shè)計目的與要求1.1課程設(shè)計目的培養(yǎng)學生綜合運用所學課程知識解決實際問題的能力,促進學生動手實踐能力的提高,很好地調(diào)動學生學習的積極性和主動性。同時使學生熟練應用面向?qū)ο蟮奶匦裕悍庋b、繼承、多態(tài);掌握常量的定義和使用(必需的關(guān)鍵字--final);熟練應用接口解決實際問題;能使用異常處理處理程序中的異常情況;會使用log4j工具輸出保存日志信息。1.2課程設(shè)計要求能夠應用OO思想設(shè)計并實現(xiàn)門禁系統(tǒng)的功能要求,并要求系統(tǒng)具備良好的可擴展性、可維護性和健壯性。鼓勵在原功能需求上根據(jù)實際情況進行功能的完善和創(chuàng)新。2問題描述與分析2.1問題描述某公司安裝了電子門,要設(shè)計門禁系統(tǒng):?公司的雇員可以憑借密碼、胸卡或指紋進入公司?計算機根據(jù)雇員的驗證方式對其身份進行驗證?管理員在監(jiān)控室可以通過按鈕直接開啟電子門,管理員可以為新職員設(shè)置密碼?訪客可以按門鈴請求進入,由管理員為其放行2.2問題分析(1)根據(jù)需求分析對象門禁系統(tǒng)、電子門、計算機、輸入設(shè)備管理員、雇員、訪客驗證接口、驗證實現(xiàn)(2)對象關(guān)系3總體設(shè)計3.1開發(fā)環(huán)境Pc機與eclipse軟件3.2功能設(shè)計本系統(tǒng)至少要具備以下功能:1、 公司的雇員可以憑借密碼、胸卡或指紋進入公司;2、 計算機根據(jù)雇員的驗證方式對其身份進行驗證;3、 管理員在監(jiān)控室可以通過按鈕直接開啟電子門,管理員可以為新職員設(shè)置密碼;4、 訪客可以按門鈴請求進入,由管理員為其放行。3.3界面設(shè)計在此次的設(shè)計中,除了在控制臺輸出外,我組還添加了對話框形式,如:3.4類的設(shè)計ComputerNameComputerName驗證信息Validate增加新的信息addPassWordaddCardaddFingerMarkEmployee^^xtend^GuestAdmin g^xten^JNameNameName輸入驗證信息PassWord、Card、FingerMark初始化按門鈴開/關(guān)電子門監(jiān)控門鈴錄入驗證信息4詳細設(shè)計4.1主要類的說明電子門類包含屬性:電子門的開啟和關(guān)閉狀態(tài)publicfinalstaticStringOPEN=〃門已開啟〃;publicfinalstaticStringCLOSE=〃門已關(guān)閉〃;privateStringstate=CLOSE;//電子門狀態(tài)包含方法:開啟電子門 關(guān)閉電子門publicvoidopen()(this.setState(OPEN);}publicvoidopen()(this.setState(close);}輸入設(shè)備類包含屬性:用戶輸入的認證信息,密碼、胸卡信息、指紋信息等privateStringinput=null;包含方法:輸入設(shè)備接受認證信息publicvoidinput(){}publicStringgetInput()(returninput;}publicvoidsetInput(Stringinput)(this.input=input;}
(三)計算機類包含屬性:計算機存儲的雇員密碼,胸卡號,指紋privateString口passWord=newString[100];privateString口privateString口cardnewString[100];privateString口fingerMark=newString[100];包含方法:(1)無參構(gòu)造方法,創(chuàng)建一組測試用密碼、指紋、卡號publicComputer(){}(2)驗證密碼,胸卡號,指紋publicbooleanvalidate(StringpassStr)(}(3)增加新的密碼,胸卡號,指紋publicvoidaddPassWord(intpassWord)(}publicvoidaddCard(Stringcard)(}publicvoidaddFingerMark(StringfingerMark)(}(四)門禁系統(tǒng)類包含屬性:電子門對象、計算機對象、輸入設(shè)備對象、門鈴、開門信號、日志對象privateDoordoor;//門禁系統(tǒng)的電子門privateDoordoor;//門禁系統(tǒng)的電子門privateComputercomputer;//門禁系統(tǒng)的計算機privateInputEquipinputEquip;//門禁系統(tǒng)的輸入設(shè)備ring;privateintring;privateint openSign;privateLoggerlogger;包含方法:工作publicvoidwork()訪客雇員管理員類包含屬性:人員姓名,日志對象包含方法:訪客:初始化訪客按鈴publicGuest(Stringname){}publicvoidpressRing(ControlSyscontrolSys)(}雇員:繼承Guest類輸入驗證信息publicEmployee(Stringname)(super(name);}publicvoidinput(ControlSyscontroSys)(}管理員:繼承Employee類工作方法publicAdmin(Stringname)(super(name);}管理員的工作方法1,通過控制室的按鈕開啟電子門publicvoidwork(ControlSyscontrolSys)(}管理員的工作方法2,監(jiān)控門鈴publicvoidwork(ControlSyscontrolSys,Guestguest)(}管理員的工作方法3,錄入驗證信息publicvoidwork(ControlSyscontrolSys,StringvalType,StringvalStr)(}(六) 驗證接口類包含屬性:系統(tǒng)已有的信息和需要驗證的信息privateObject]]inner;privateObjectinput;包含方法:(1) 驗證接口定義驗證方法publicbooleancheck();//定義驗證方法(2) 編寫默認的實現(xiàn)類:GenericValidateprivateObject]]inner; //系統(tǒng)保存的身份信息privateObjectinput; //需要驗證的身份信息(3) 具體的驗證類繼承默認的實現(xiàn)類publicclassPassWordVldextendsGenericValidate{}publicclassFingerMarkVldextendsGenericValidate(}publicclassCardVldextendsGenericValidate(}(七) 測試類(1)測試雇員通過電子門publicclassEmployeeTest(publicstaticvoidmain(String[]args)(Employeeemployee=newEmployee(〃雇員a"); //管理員ControlSyscontrolSys=newControlSys(); //門禁系統(tǒng)System.out.println("門禁系統(tǒng) 雇員測試");System.out.println("***************************************************);while(true)(employee.input(controlSys);controlSys.work();}}}綜合測試類-通過運用switch語句選擇進入不同的系統(tǒng)訪客測試while(true)(guest.pressRing(controlSys2);admin1.work(controlSys2,guest);controlSys2.work();break;}break;}管理員測試while(true)(admin.work(controlSys);controlSys.work();admin.work(controlSys);break;}break;}雇員測試switch(num2){case1:JOptionPane.showMessageDialog(null,"你選擇以密碼的形式進入?〃,〃title〃,JOptionPane.PLAIN_MESSAGE);Break;}//此處省略代碼4.2主要方法說明接口-ValidatepublicinterfaceValidate(publicbooleancheck();}接口-GenericValidatapublicGenericValidate(Object[]inner,Objectinput)(this.inner=inner;this.input=input;}publicbooleancheck()(for(inti=0;i<this.getInner().length;i++){if(this.getInput()!=null&&this.getInput().equals(this.getInner()[i])){returntrue;}}returnfalse;}接口-CardVldpublicCardVld(Object[]inner,Objectinput)(super(inner,input);}publicbooleancheck()(Loggerlogger=Logger.getLogger(Admin.class.getName());StringinputStr=null;if(this.getInput()!=null&&this.getInner()!=null){try(inputStr=((String)this.getInput()).substring(2);}catch(Exceptione)(logger.debug("胸卡信息采集失?。?+e.getMessage());returnfalse;}//代碼省略接口-FingerMarkVldpublicFingerMarkVld(Object[]inner,Objectinput)(super(inner,input);}publicbooleancheck()(Loggerlogger=Logger.getLogger(Admin.class.getName());StringinputStr=null;if(this.getInput()!=null&&this.getInner()!=null){try{inputStr=((String)this.getInput()).substring(2);}catch(Exceptione)(logger.debug("指紋信息采集失?。骸?e.getMessage());//代碼省略接口-PassWordVldpublicPassWordVld(Object[]inner,Objectinput)(super(inner,input);}publicbooleancheck()(Loggerlogger=Logger.getLogger(Admin.class.getName());for(inti=0;i<this.getInner().length;i++){intinputInt=0;intinnerInt=0;//代碼省略驗證人員信息publicbooleanvalidate(StringpassStr)(Validatevalidate=null;Stringprefix=passStr.substring(0,2);if(prefix.equals(〃pa〃)){validate=newPassWordVld(passWord,passStr);returnvalidate.check();}elseif(prefix.equals("ca"))(validate=newCardVld(card,passStr);returnvalidate.check();}elseif(prefix.equals(〃fi〃))(validate=newFingerMarkVld(fingerMark,passStr);returnvalidate.check();}else(returnfalse;}}門禁系統(tǒng)工作publicvoidwork()(if(inputEquip.getInput()!=null){if(inputEquip.getInput().equals(〃exit〃)){("門禁系統(tǒng)關(guān)閉");System.exit(0);}if(computer.validate(inputEquip.getInput())){door.open();("<身份驗證成功,"+"雇員小偉”+"通過電子門>”);inputEquip.setInput(null);} 〃省略代碼(八)管理員工作方法publicvoidwork(ControlSyscontrolSys)(Scannerscanner=newScanner(System.in);System.out.print("管理員("+this.getName()+")按開門按鈕?[y/n]:");Stringbtn=scanner.nextLine();if(btn.equals("y"))(JOptionPane.showMessageDialog(null,"你管理員確定開門嗎?","title",JOptionPane.PLAIN_MESSAGE);controlSys.setOpenSign(1);controlSys.getLogger().debug("管理員("+this.getName()+")按下開門按鈕");}〃省略代碼4.3程序流程圖5.1程序運行情況5程序測試分析(運行時首先出現(xiàn)對話框形式)京:A:A哉嫌W卡承世嫉政迎使用門禁系統(tǒng) 下面是可以遙擇的系綠m.管理員皿雇員口3,祐客口4,退出系統(tǒng)確認已明確所有可遙部門嗎?確定(點擊“確定”,由控制臺輸出程序結(jié)果)<terminated>Zonghe[JavaApplication]D:\ProgramFiles(x86)\Java\jre6\bin\javaw.exe(2012-6-2下午D5:W6:43)頭勺后跟卡號■Nam歡迎使用門禁系統(tǒng)*****?請選擇所要啟動的門禁系統(tǒng)3.管理員2.雇員3.訪客4.退出系統(tǒng)M辦進次篙理員測試*"門整系統(tǒng)的使用方法1.?;≥斎朊艽a峪?以性b開湘后跟密碼2.模頊j雨卡:以*caJT弁模擬取指絞:以%M開頭,后跟表示指紋的字符串模擬管理員按下開門按鈕3輸)、z2012-06-0217:26:47門禁系統(tǒng)啟動門禁系統(tǒng)一一管理員測試管理員(王哲)按開門按鈕?[y/nl72012-0€-02172012-06-02172012-0€-022727:05管理員t王哲}按下開門按鈕27:05管理員開啟:電字ri?。?0電于門關(guān)閉歡迎使用□整系統(tǒng)**##火心#心m請選擇所柬啟動南門整系統(tǒng)八…*1.管,理員£.雇員3,訪客4.退出系統(tǒng)**k進人雇員測試門禁系統(tǒng)的使用方法[.模擬輸關(guān)密碼:以訂口開2酒擬刷卡:以七耳”開3.模擬取指紋:以”旦"開'獲餐后跟表示指紋的字符串4.模擬管理員按下開門按鈕£輸入”產(chǎn)后跟密碼關(guān)!后跟卡號2012-06-0217:27:17門整系統(tǒng)啟動門整系統(tǒng)一一雇員測試身■猝蜂壞:張二王5.2程序異常處理以下幾處都采用了異常處理的方法,保證程序可正常運行驗證胸卡:try{inputStr=((String)this.getInput()).substring(2);}catch(Exceptione)(logger.debug("胸卡信息采集失?。?+e.getMessage());returnfalse;}for(inti=0;i<this.getInner().length;i++){if(inputStr.equals(this.getInner()[i]))(returntrue;}}}returnfalse;驗證指紋:try(inputStr=((String)this.getInput()).substring(2);}catch(Exceptione)(logger.debug("指紋信息采集失?。?+e.getMessage());returnfalse;}for(inti=0;i<this.getInner().length;i++){if(inputStr.equals(this.getInner()[i]))(returntrue;} }}returnfalse;驗證密碼:try{inputInt=Integer.parseInt(((String)this.getInput()).substring(2)); }catch(NumberFormatExceptione)(logger.debug("密碼不合格:〃+e.getMessage());returnfalse
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版數(shù)學八年級下冊16.2《二次根式的乘除》聽評課記錄4
- 岳麓版歷史八年級下冊第16課《“一國兩制”與香港、澳門回歸祖國》聽課評課記錄
- 蘇教版三年級第五冊整百數(shù)乘一位數(shù)的口算教學設(shè)計
- 小學二年級語文教學計劃范文
- 廠房物業(yè)管理服務(wù)合同范本
- 五年級上冊數(shù)學聽評課記錄《第5單元:第3課時 用字母表示稍復雜的數(shù)量關(guān)系》人教新課標
- 2025年度互聯(lián)網(wǎng)金融服務(wù)連帶責任保證擔保協(xié)議范文
- 2025年度蔬菜種植基地病蟲害防治合作協(xié)議
- 二零二五年度XX裝修公司員工崗位責任合同協(xié)議書
- 2025年度電商團隊數(shù)據(jù)安全合作協(xié)議
- 2023年上海青浦區(qū)區(qū)管企業(yè)統(tǒng)一招考聘用筆試題庫含答案解析
- 2023年高一物理期末考試卷(人教版)
- 2023版押品考試題庫必考點含答案
- 植物之歌觀后感
- 空氣能熱泵安裝示意圖
- 建筑工程施工質(zhì)量驗收規(guī)范檢驗批填寫全套表格示范填寫與說明
- 2020年中秋國慶假日文化旅游市場安全生產(chǎn)檢查表
- 辦公家具項目實施方案、供貨方案
- 七年級英語下冊閱讀理解10篇
- 節(jié)后開工收心會
- 設(shè)計質(zhì)量、進度保證措施
評論
0/150
提交評論