版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
編號畢業(yè)設計(論文)題目勤工儉學管理信息系統(tǒng)的設計與實現(xiàn)二級學院計算機科學與工程學院專業(yè)軟件工程班級學生姓名學號指導教師職稱時間目錄摘要 5Abstract 51緒論 61.1引言 61.2背景和意義 61.3系統(tǒng)特點 61.4系統(tǒng)目標 71.5系統(tǒng)可行性分析 72系統(tǒng)環(huán)境介紹 82.1概述 82.1.1MyEclipse基本概述 82.1.2MySqL基本概述 82.2技術支持簡介 92.2.1UML介紹 92.2.2TCP協(xié)議簡單介紹 112.2.3Spring介紹 122.2.4Struts2介紹 142.2.5Hibernate介紹 152.2.6JavaScript開發(fā)技術介紹 173系統(tǒng)分析 203.1系統(tǒng)總需求 203.1.1需求描述與分析 203.1.2系統(tǒng)總功能 213.2系統(tǒng)需求分析 233.2.1系統(tǒng)活動者與用例模型 233.2.2用例圖 243.2.3用例文檔描述 264勤工儉學系統(tǒng)設計 324.1系統(tǒng)中包含實體類及相互關系 324.1.1由前面文檔描述,得出以下類圖: 324.1.2確定類與類之間的關系 324.2時序圖 334.2.1用例“注冊”的時序圖 334.2.2用例“登錄”的時序圖 344.2.3用例“審核”的時序圖 354.2.4用例“報名”的時序圖 364.2.5用例“錄用”的時序圖 374.2.6用例“解雇”的時序圖 384.2.7用例“發(fā)放工資”的時序圖 394.3數(shù)據(jù)庫設計 404.3.1CDM(ConceptualDataModel) 404.3.2PDM(PhysicalDataModel) 414.3.3數(shù)據(jù)庫表對應實體說明 425系統(tǒng)實現(xiàn) 475.1登錄 475.2注冊 485.3主頁面 495.4功能列表頁 505.5詳細信息頁面 505.6新增/修改頁面 516系統(tǒng)測試 526.1功能性測試 526.1.1系統(tǒng)登錄測試 526.1.2用戶管理模塊 526.2非功能性測試 536.2.1UI測試 536.2.2性能測試 536.2.3安全性測試 54參考文獻 55摘要 隨著各大高校勤工助學不斷擴大,如何有效地幫助勤工儉學的學生,管理勤工助學所產(chǎn)生的信息,成為各大高校的一個難題,傳統(tǒng)手工管理模式已經(jīng)不適應時代發(fā)展。由于信息化快速發(fā)展,開發(fā)適應當前工作需要的辦公管理軟件已經(jīng)成為必然。本文基于UML建模,結(jié)合JAVA編程語言和MySQL數(shù)據(jù)庫管理服務技術,設計并實現(xiàn)了大學生勤工儉學管理信息系統(tǒng)的運行管理。整個管理系統(tǒng)的開發(fā)包括分析、設計、實現(xiàn)三個主要過程。該系統(tǒng)有機結(jié)合了勤工助學的現(xiàn)實情況,運用信息化技術來完成任務,減輕勤工助學日常工作的成本,提高勤工助學的工作效率。關鍵詞:勤工助學JAVAMySQLAbstractWithconstantlyexpandingofthenumberofwork-studystudents,ithasbecomeaproblemofmajorcollegesanduniversitiestoeffectivelyhelpthework-studystudentsandmanagetheirinformation.Thetraditionalmanualmanagementmodelhasbeenoutdated.DuetotheWiththerapiddevelopmentofinformationitisurgenttodevelopanofficemanagementsoftwaretoadapttothecurrentwork.ThisarticlebasedonUMLmodeling,combinedwithJAVAprogramminglanguageandMySQLdatabasemanagementservicestotechnologytodesignandrealizetherunningandmanagementofthecollegework-studyprogramsystem.Thedevelopmentofentiremanagementsystemincludingthreemainprocesses--analysis,designandimplementation.Thesystemorganicallycombinestherealityofwork-studytousetheinformationtechnologytoaccomplishthetask,reducingthecostofwork-studydailywork,eventuallytoachievethepurposeofimprovingtheefficiencyofwork-study.Keywords:Work-studyJavaMySQL1緒論1.1引言 在當今信息高度發(fā)達的時代,勤工助學管理涉及的各環(huán)節(jié)已經(jīng)不再僅僅是傳統(tǒng)的勤工管理,助學管理,而是更廣泛、更全面的系統(tǒng)服務,利用計算機管理及時了解各個環(huán)節(jié)中信息的變更,有利于提高管理的效率。同時,勤工助學工作對解決貧困生的經(jīng)濟問題,鍛煉學生的工作能力、溝通能力、理解能力和自立能力等方面都起著重要作用。做好學生勤工助學管理工作對提高勤工助學管理系統(tǒng)的服務水平和勤工助學學生的綜合能力,實現(xiàn)雙贏有著重要的意義。因此為能夠?qū)崿F(xiàn)校方管理學生勤工助學而開發(fā)本系統(tǒng),學生能夠自主選擇勤工助學項目的功能,為學生提供一個自主選擇的平臺。1.2背景和意義 勤工儉學是社會主義教育的一個不可缺少的組成部分,是培養(yǎng)四有新人的重要途徑。近幾年來,學校的勤工儉學活動越來越引起人們的重視,經(jīng)濟效益有了較大幅度的提高,機構(gòu)和隊伍得到充實和加強,有利地促進了社會主義一代新人的健康成長。所以,這項活動不僅有利于學生德、智、體、美全面發(fā)展,而且可以使學生通過參加勞動取得相應報酬。這是對廣大學生,特別是家庭經(jīng)濟困難學生的有效資助辦法,是對他們安心完成在校學業(yè)的有力支持 隨著勤工儉學者的增多,如何合理管理,有效幫助勤工儉學者成為一個難題,本系統(tǒng)旨在幫助勤工學生、公司、以及管理者之間進行快速通信,合理安排工作,合理利用人力資源,提高人員效率,降低勞動成本和差錯發(fā)生的概率。1.3系統(tǒng)特點安裝部署簡單、靈活,無需安裝客戶端界面簡潔美觀并且具有較強的交互能力數(shù)據(jù)統(tǒng)一管理分析,便于查詢統(tǒng)計豐富的輔助工具,具有較強的管理功能大量采用設計模式,擴展靈活1.4系統(tǒng)目標 學生能查看公司的招聘信息以及報名職位,對工作安排以及工資發(fā)放情況能一目了然;勤工儉學組織能發(fā)布招聘信息、添加職位、對學生工作數(shù)據(jù)進行管理,能輕松的進行用工分配,以及學生信息的查詢、管理、統(tǒng)計,管理員能對審核信息進行管理、發(fā)放工資。1.5系統(tǒng)可行性分析 1)技術可行性: 為了確定現(xiàn)有技術能否實現(xiàn)目標系統(tǒng),Eclipse自帶的工具和空間、SQL擁有的表操作(建立、修改、刪除等)以及它協(xié)調(diào)操作完全可以實現(xiàn)本系統(tǒng)要求達到的功能,因此技術上可行操作可行性: 勤工儉學管理系統(tǒng)的建設是基于java平臺開發(fā)的,java是被廣泛應用與數(shù)據(jù)庫開發(fā)和操作的一套成熟的軟件平臺,而且它對于一個大型的數(shù)據(jù)庫處理具有不可比擬的優(yōu)點和簡單方便。所以操作可行性方面是可行的。經(jīng)濟可行性: 勤工儉學工作如果光靠完全人工來操作執(zhí)行,不僅存在信息延后的問題,而且需要花費大量的人力物力,通訊費,各類表格通知打印費等一筆不小的長期開資,而且這筆開銷還將一直無限的擴大下去,所以一次性的投入建設勤工儉學管理系統(tǒng)不僅方便管理而且可以節(jié)約大筆費用。顯然,從長遠考慮在軟件有效期內(nèi)預期經(jīng)濟效益大于開發(fā)成本,經(jīng)濟性收益明顯,有廣闊市場前景。有以上分析我們可以確定本系統(tǒng)在經(jīng)濟可行性上行得通。2系統(tǒng)環(huán)境介紹2.1概述2.1.1MyEclipse基本概述 MyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是一個十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項功能??梢哉fMyEclipse是幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。[1]根據(jù)官方最新消息,MyEclipse2013已經(jīng)正式發(fā)布!MyEclipse2013[2]支持HTML5、JQuery和主流的Javascript庫。隨著MyEclipse2013支持Html5,你可以添加音頻、視頻和API元素到你的項目,從而為移動設備創(chuàng)建復雜的Web應用程序。你甚至還可以通過HTML5可視化設計器設計令人難以置信的用戶界面。同時,隨著MyEclipse2013支持JQuery,你可以通過插件提升性能,并添加動畫效果到設計中。2.1.2MySqL基本概述MySQL是一個關系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQLAB公司開發(fā),目前屬于Oracle公司。Mysql是最流行的關系型數(shù)據(jù)庫管理系統(tǒng),在WEB應用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:關系數(shù)據(jù)庫管理系統(tǒng))應用軟件之一。MySQL是一種關聯(lián)數(shù)據(jù)庫管理系統(tǒng),關聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性。MySQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標準化語言。MySQL軟件采用了雙授權政策(本詞條“授權政策”),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。由于其社區(qū)版的性能卓越,搭配PHP和Apache可組成良好的開發(fā)環(huán)境。MySQL是一個開放源碼的小型關聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司。MySQL被廣泛地應用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。2.2技術支持簡介2.2.1UML介紹UML全稱是UML-UnifiedModelLanguage統(tǒng)一建模語言,又稱標準建模語言。是用來對軟件密集系統(tǒng)進行可視化建模的一種語言。UML的定義包括UML語義和UML表示法兩個元素。UML是在開發(fā)階段,說明,可視化,構(gòu)建和書寫一個面向?qū)ο筌浖芗到y(tǒng)的制品的開放方法。最佳的應用是工程實踐,對大規(guī)模,復雜系統(tǒng)進行建模方面,特別是在軟件架構(gòu)層次,已經(jīng)被驗證有效。統(tǒng)一建模語言(UML)是一種模型化語言。模型大多以圖表的方式表現(xiàn)出來。一份典型的建模圖表通常包含幾個塊或框,連接線和作為模型附加信息之用的文本。這些雖簡單卻非常重要,在UML規(guī)則中相互聯(lián)系和擴展。UML作為一種模型語言,它使開發(fā)人員專注于建立產(chǎn)品的模型和結(jié)構(gòu),而不是選用什么程序語言和算法實現(xiàn)。當模型建立之后,模型可以被UML工具轉(zhuǎn)化成指定的程序語言代碼。公認的面向?qū)ο蠼UZ言出現(xiàn)于70年代中期。從1989年到1994年,其數(shù)量從不到十種增加到了五十多種。在眾多的建模語言中,語言的創(chuàng)造者努力推崇自己的產(chǎn)品,并在實踐中不斷完善。但是,OO方法的用戶并不了解不同建模語言的優(yōu)缺點及相互之間的差異,因而很難根據(jù)應用特點選擇合適的建模語言,于是爆發(fā)了一場“方法大戰(zhàn)”。90年代中,一批新方法出現(xiàn)了,其中最引人注目的是Booch1993、OOSE和OMT-2等。Booch是面向?qū)ο蠓椒ㄗ钤绲某珜д咧?,他提出了面向?qū)ο筌浖こ痰母拍睢?991年,他將以前面向Ada的工作擴展到整個面向?qū)ο笤O計領域。Booch1993比較適合于系統(tǒng)的設計和構(gòu)造。Rumbaugh等人提出了面向?qū)ο蟮慕<夹g(OMT)方法,采用了面向?qū)ο蟮母拍睿⒁敫鞣N獨立于語言的表示符。這種方法用對象模型、動態(tài)模型、功能模型和用例模型,共同完成對整個系統(tǒng)的建模,所定義的概念和符號可用于軟件開發(fā)的分析、設計和實現(xiàn)的全過程,軟件開發(fā)人員不必在開發(fā)過程的不同階段進行概念和符號的轉(zhuǎn)換。OMT-2特別適用于分析和描述以數(shù)據(jù)為中心的信息系統(tǒng)。Jacobson于1994年提出了OOSE方法,其最大特點是面向用例(Use-Case),并在用例的描述中引入了外部角色的概念。用例的概念是精確描述需求的重要武器,但用例貫穿于整個開發(fā)過程,包括對系統(tǒng)的測試和驗證。OOSE比較適合支持商業(yè)工程和需求分析。此外,還有Coad/Yourdon方法,即著名的OOA/OOD,它是最早的面向?qū)ο蟮姆治龊驮O計方法之一。該方法簡單、易學,適合于面向?qū)ο蠹夹g的初學者使用,但由于該方法在處理能力方面的局限,目前已很少使用。概括起來,首先,面對眾多的建模語言,用戶由于沒有能力區(qū)別不同語言之間的差別,因此很難找到一種比較適合其應用特點的語言;其次,眾多的建模語言實際上各有千秋;第三,雖然不同的建模語言大多雷同,但仍存在某些細微的差別,極大地妨礙了用戶之間的交流。因此在客觀上,極有必要在精心比較不同的建模語言優(yōu)缺點及總結(jié)面向?qū)ο蠹夹g應用實踐的基礎上,組織聯(lián)合設計小組,根據(jù)應用需求,取其精華,去其糟粕,求同存異,統(tǒng)一建模語言。1994年10月,GradyBooch和JimRumbaugh開始致力于這一工作。他們首先將Booch93和OMT-2統(tǒng)一起來,并于1995年10月發(fā)布了第一個公開版本,稱之為統(tǒng)一方法UM0.8(UnitiedMethod)。1995年秋,OOSE的創(chuàng)始人IvarJacobson加盟到這一工作。經(jīng)過Booch、Rumbaugh和Jacobson三人的共同努力,于1996年6月和10月分別發(fā)布了兩個新的版本,即UML0.9和UML0.91,并將UM重新命名為UML(UnifiedModelingLanguage)。1996年,一些機構(gòu)將UML作為其商業(yè)策略已日趨明顯。UML的開發(fā)者得到了來自公眾的正面反應,并倡議成立了UML成員協(xié)會,以完善、加強和促進UML的定義工作。當時的成員有DEC、HP、I-Logix、Itellicorp、IBM、ICONComputing、MCISystemhouse、Microsoft、Oracle、RationalSoftware、TI以及Unisys。這一機構(gòu)對UML1.0(1997年1月)及UML1.1(1997年11月17日)的定義和發(fā)布起了重要的促進作用。UML是一種定義良好、易于表達、功能強大且普遍適用的建模語言。它溶入了軟件工程領域的新思想、新方法和新技術。它的作用域不限于支持面向?qū)ο蟮姆治雠c設計,還支持從需求分析開始的軟件開發(fā)的全過程。面向?qū)ο蠹夹g和UML的發(fā)展過程可用圖形來表示,標準建模語言的出現(xiàn)是其重要成果。在美國,截止1996年10月,UML獲得了工業(yè)界、科技界和應用界的廣泛支持,已有700多個公司表示支持采用UML作為建模語言。1996年底,UML已穩(wěn)占面向?qū)ο蠹夹g市場的85%,成為可視化建模語言事實上的工業(yè)標準。1997年11月17日,OMG采納UML1.1作為基于面向?qū)ο蠹夹g的標準建模語言。UML代表了面向?qū)ο蠓椒ǖ能浖_發(fā)技術的發(fā)展方向,具有巨大的市場前景,也具有重大的經(jīng)濟價值和國防價值。2.2.2TCP協(xié)議簡單介紹TCP的全稱是TransmissionControlProtocol/InternetProtocol的簡寫,中譯名為傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議,又名網(wǎng)絡通訊協(xié)議,是Internet最基本的協(xié)議、Internet國際互聯(lián)網(wǎng)絡的基礎,由網(wǎng)絡層的IP協(xié)議和傳輸層的TCP協(xié)議組成。TCP/IP定義了電子設備如何連入因特網(wǎng),以及數(shù)據(jù)如何在它們之間傳輸?shù)臉藴省f(xié)議采用了4層的層級結(jié)構(gòu),每一層都呼叫它的下一層所提供的協(xié)議來完成自己的需求。通俗而言:TCP負責發(fā)現(xiàn)傳輸?shù)膯栴},一有問題就發(fā)出信號,要求重新傳輸,直到所有數(shù)據(jù)安全正確地傳輸?shù)侥康牡?。而IP是給因特網(wǎng)的每一臺電腦規(guī)定一個地址。TCP/IP協(xié)議并不完全符合OSI的七層參考模型。傳統(tǒng)的開放式系統(tǒng)互連參考模型,是一種通信協(xié)議的7層抽象的參考模型,其中每一層執(zhí)行某一特定任務。該模型的目的是使各種硬件在相同的層次上相互通信。這7層是:物理層、數(shù)據(jù)鏈路層、網(wǎng)路層、傳輸層、話路層、表示層和應用層。而TCP/IP通訊協(xié)議采用了4層的層級結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡來完成自己的需求。這4層分別為:
應用層:應用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡遠程訪問協(xié)議(Telnet)等。
傳輸層:在此層中,它提供了節(jié)點間的數(shù)據(jù)傳送服務,如傳輸控制協(xié)議(TCP)、用戶數(shù)據(jù)報協(xié)議(UDP)等,TCP和UDP給數(shù)據(jù)包加入傳輸數(shù)據(jù)并把它傳輸?shù)较乱粚又?,這一層負責傳送數(shù)據(jù),并且確定數(shù)據(jù)已被送達并接收。
互連網(wǎng)絡層:負責提供基本的數(shù)據(jù)封包傳送功能,讓每一塊數(shù)據(jù)包都能夠到達目的主機(但不檢查是否被正確接收),如網(wǎng)際協(xié)議(IP)。
網(wǎng)絡接口層:對實際的網(wǎng)絡媒體的管理,定義如何使用實際網(wǎng)絡(如Ethernet、SerialLine等)來傳送數(shù)據(jù)。2.2.3Spring介紹Spring是一個開源框架,它由RodJohnson創(chuàng)建。它是為了解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應用中的對象不依賴于Spring的特定類??刂品崔D(zhuǎn)——Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術促進了松耦合。當應用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。面向切面——Spring提供了面向切面編程的豐富支持,允許通過分離應用的業(yè)務邏輯與系統(tǒng)級服務(例如審計(auditing)和事務(transaction)管理)進行內(nèi)聚性的開發(fā)。應用對象只實現(xiàn)它們應該做的——完成業(yè)務邏輯——僅此而已。它們并不負責(甚至是意識)其它的系統(tǒng)級關注點,例如日志或事務支持。容器——Spring包含并管理應用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個bean如何被創(chuàng)建——基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨的實例或者每次需要時都生成一個新的實例——以及它們是如何相互關聯(lián)的。然而,Spring不應該被混同于傳統(tǒng)的重量級的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用??蚣堋猄pring可以將簡單的組件配置、組合成為復雜的應用。在Spring中,應用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎功能(事務管理、持久化框架集成等等),將應用邏輯的開發(fā)留給了你。所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎支持。Spring框架是一個分層架構(gòu),由7個定義良好的模塊組成。Spring模塊構(gòu)建在核心容器之上,核心容器定義了創(chuàng)建、配置和管理bean的方式。組成Spring框架的每個模塊(或組件)都可以單獨存在,或者與其他一個或多個模塊聯(lián)合實現(xiàn)。每個模塊的功能如下:
核心容器:核心容器提供Spring框架的基本功能。核心容器的主要組件是BeanFactory,它是工廠模式的實現(xiàn)。BeanFactory使用控制反轉(zhuǎn)(IOC)模式將應用程序的配置和依賴性規(guī)范與實際的應用程序代碼分開。Spring上下文:Spring上下文是一個配置文件,向Spring框架提供上下文信息。Spring上下文包括企業(yè)服務,例如JNDI、EJB、電子郵件、國際化、校驗和調(diào)度功能。SpringAOP:通過配置管理特性,SpringAOP模塊直接將面向方面的編程功能集成到了Spring框架中。所以,可以很容易地使Spring框架管理的任何對象支持AOP。SpringAOP模塊為基于Spring的應用程序中的對象提供了事務管理服務。通過使用SpringAOP,不用依賴EJB組件,就可以將聲明性事務管理集成到應用程序中。SpringDAO:JDBCDAO抽象層提供了有意義的異常層次結(jié)構(gòu),可用該結(jié)構(gòu)來管理異常處理和不同數(shù)據(jù)庫供應商拋出的錯誤消息。異常層次結(jié)構(gòu)簡化了錯誤處理,并且極大地降低了需要編寫的異常代碼數(shù)量(例如打開和關閉連接)。SpringDAO的面向JDBC的異常遵從通用的DAO異常層次結(jié)構(gòu)。SpringORM:Spring框架插入了若干個ORM框架,從而提供了ORM的對象關系工具,其中包括JDO、Hibernate和iBatisSQLMap。所有這些都遵從Spring的通用事務和DAO異常層次結(jié)構(gòu)。SpringWeb模塊:Web上下文模塊建立在應用程序上下文模塊之上,為基于Web的應用程序提供了上下文。所以,Spring框架支持與JakartaStruts的集成。Web模塊還簡化了處理多部分請求以及將請求參數(shù)綁定到域?qū)ο蟮墓ぷ鳌pringMVC框架:MVC框架是一個全功能的構(gòu)建Web應用程序的MVC實現(xiàn)。通過策略接口,MVC框架變成為高度可配置的,MVC容納了大量視圖技術,其中包括JSP、Velocity、Tiles、iText和POI。2.2.4Struts2介紹Struts2是Struts的下一代產(chǎn)品,是在struts1和WebWork的技術基礎上進行了合并的全新的Struts2框架。其全新的Struts2的體系結(jié)構(gòu)與Struts1的體系結(jié)構(gòu)差別巨大。Struts2以WebWork為核心,采用攔截器的機制來處理用戶的請求,這樣的設計也使得業(yè)務邏輯控制器能夠與ServletAPI完全脫離開,所以Struts2可以理解為WebWork的更新產(chǎn)品。雖然從Struts1到Struts2有著太大的變化,但是相對于WebWork,Struts2的變化很小。在Struts2體系結(jié)構(gòu)中當Web容器收到請求(HttpServletRequest)它將請求傳遞給一個標準的的過濾鏈包括(ActionContextCleanUp)過濾器,然后經(jīng)過Otherfilters(SiteMesh,etc),接下來需要調(diào)用FilterDispatcher核心控制器,然后它調(diào)用ActionMapper確定請求那個Action,ActionMapper返回一個收集Action詳細信息的ActionMaping對象。接下來FilterDispatcher將控制權委派給ActionProxy,ActionProxy調(diào)用配置管理器(ConfigurationManager)從配置文件中讀取配置信息(struts.xml),然后創(chuàng)建ActionInvocation對象,ActionInvocation在調(diào)用Action之前會依次的調(diào)用所用配置攔截器(InterceptorN)一旦執(zhí)行結(jié)果返回結(jié)果字符串ActionInvocation負責查找結(jié)果字符串對應的(Result)然后執(zhí)行這個ResultResult會調(diào)用一些模版(JSP)來呈現(xiàn)頁面,之后攔截器(InterceptorN)會在被執(zhí)行(順序和Action執(zhí)行之前相反)最后響應(HttpServletResponse)被返回在web.xml中配置的那些過濾器和(核心控制器)(FilterDispatcher)。Struts2的攔截器在在AOP(Aspect-OrientedProgramming)中用于在某個方法或字段被訪問之前,進行攔截然后在之前或之后加入某些操作。攔截是AOP的一種實現(xiàn)策略。在Webwork的中文文檔的解釋為——攔截器是動態(tài)攔截Action調(diào)用的對象。它提供了一種機制可以使開發(fā)者可以定義在一個action執(zhí)行的前后執(zhí)行的代碼,也可以在一個action執(zhí)行前阻止其執(zhí)行。同時也是提供了一種可以提取action中可重用的部分的方式。大部分時候,攔截器方法都是通過代理的方式來調(diào)用的。Struts2的攔截器實現(xiàn)相對簡單。當請求到達Struts2的ServletDispatcher時,Struts2會查找配置文件,并根據(jù)其配置實例化相對的攔截器對象,然后串成一個列表(list),最后一個一個地調(diào)用列表中的攔截器Struts2已經(jīng)為您提供豐富多樣的,功能齊全的攔截器實現(xiàn)。因此可以至struts2的jar包內(nèi)的struts-default.xml查看關于默認的攔截器與攔截器鏈的配置。2.2.5Hibernate介紹Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Hibernate的核心接口一共有6個,分別為:Session、SessionFactory、Transaction、Query、Criteria和Configuration。這6個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務控制。下面對這6個核心接口分別加以介紹。 1)SessionSession接口負責執(zhí)行被持久化對象的CRUD操作(CRUD的任務是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時,Hibernate的session不同于JSP應用中的HttpSession。這里當使用session這個術語時,其實指的是Hibernate中的session,而以后會將HttpSession對象稱為用戶session。 2)SessionFactorySessionFactory接口負責初始化Hibernate。它充當數(shù)據(jù)存儲源的代理,并負責創(chuàng)建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當需要操作多個數(shù)據(jù)庫時,可以為每個數(shù)據(jù)庫指定一個SessionFactory。 3)TransactionTransaction接口是一個可選的API,可以選擇不使用這個接口,取而代之的是Hibernate的設計者自己寫的底層事務處理代碼。Transaction接口是對實際事務實現(xiàn)的一個抽象,這些實現(xiàn)包括JDBC的事務、JTA中的UserTransaction、甚至可以是CORBA事務。之所以這樣設計是能讓開發(fā)者能夠使用一個統(tǒng)一事務的操作界面,使得自己的項目可以在不同的環(huán)境和容器之間方便地移值。 4)QueryQuery接口讓你方便地對數(shù)據(jù)庫及持久對象進行查詢,它可以有兩種表達方式:HQL語言或本地數(shù)據(jù)庫的SQL語句。Query經(jīng)常被用來綁定查詢參數(shù)、限制查詢記錄數(shù)量,并最終執(zhí)行查詢操作。 5)CriteriaCriteria接口與Query接口非常類似,允許創(chuàng)建并執(zhí)行面向?qū)ο蟮臉藴驶樵?。值得注意的是Query接口也是輕量級的,它不能在Session之外使用。 6)ConfigurationConfiguration接口的作用是對Hibernate進行配置,以及對它進行啟動。在Hibernate的啟動過程中,Configuration類的實例首先定位映射文檔的位置,讀取這些配置,然后創(chuàng)建一個SessionFactory對象。雖然Configuration接口在整個Hibernate項目中只扮演著一個很小的角色,但它是啟動hibernate時所遇到的每一個對象。hibernate優(yōu)點:1、封裝了jdbc,簡化了很多重復性代碼。2、簡化了DAO層編碼工作,使開發(fā)更對象化了。3、移植性好,支持各種數(shù)據(jù)庫,如果換個數(shù)據(jù)庫只要在配置文件中變換配置就可以了,不用改變hibernate代碼。4、支持透明持久化,因為hibernate操作的是純粹的(pojo)java類,沒有實現(xiàn)任何接口,沒有侵入性。所以說它是一個輕量級框架。2.2.6JavaScript開發(fā)技術介紹JavaScript是一種基于對象(Object)和事件驅(qū)動(EventDriven)并具有安全性能的腳本語言。它可以嵌入到HTML文檔中使網(wǎng)頁更加生動活潑,并具有交互性。HTML語言是網(wǎng)頁設計普遍采取的一種超文本標記語言,但HTML自身不能為網(wǎng)頁提供很多動態(tài)支持,它只能創(chuàng)建超鏈接以允許用戶瀏覽不同的HTML文檔。HTML也不能接受用戶輸入,更不能對用戶請求作出反應。JavaScript的出現(xiàn)彌補了HTML語言的缺陷,是Web上新的、強大的編程語言。一種編程語言通常是由另外一種編程語言演變而來的,JavaScript的發(fā)展歷史還得從Java談起。Java最初是SunMicrosystems公司為了在實時嵌入式系統(tǒng)中使用而開發(fā)的。最初只有HotJava支持Java,而HotJava正是Sun公司為支持Java而開發(fā)的一種實驗性Web瀏覽器。當Netscape公司在認識到Java的巨大潛力后,便把它和自己開發(fā)的Web瀏覽器——NetscapeNavigator結(jié)合到一起。Netscape公司最初開發(fā)了一個LiveScript語言,在Navigator和Web服務器產(chǎn)品中加進了基本的腳本功能。當Navigator2.0中加進了Java小程序支持后,Netscape公司便把最初的LiveScript更名成了JavaScript。接著,Microsoft公司的瀏覽器InternetExplorer3.0也開始支持JavaScript。此后,許多公司相繼宣布承認JavaScript為Internet上的開放式腳本編寫標準,并且把它添加到了自己的產(chǎn)品中。因此,目前流行的瀏覽器都支持JavaScript。JavaScript因而也日益流行起來。JavaScript是一種簡單的腳本編程語言,主要適用于簡單、小型的程序。它可以與HTML超文本標記語言、Java腳本語言(Java小程序)一起實現(xiàn)在一個Web頁面中鏈接多個對象,與Web客戶交互作用,從而開發(fā)出客戶端的應用程序等。它是通過嵌入或調(diào)入到標準的HTML語言中實現(xiàn)的,它的出現(xiàn)彌補了HTML語言的缺陷。JavaScript語言有以下特點。1.JavaScript是一種腳本編寫語言腳本(Script)是一種能夠完成某些特殊功能的指令序列(小程序段)。這些指令序列不像一般程序那樣需要被編譯才能執(zhí)行,而是在程序運行過程中被逐行地解釋。在腳本中所使用的命令與語句集稱為腳本語言。JavaScript是一種腳本語言,它采用小程序段的方式實現(xiàn)編程。像其他腳本語言一樣,JavaScript同樣也是一種解釋性語言,它提供了一個開發(fā)過程,它的基本結(jié)構(gòu)形式與C、C++、VB十分類似,但它不像這些語言那樣,需要先編譯,而是在程序運行過程中被逐行地解釋。它通過與HTML標識結(jié)合在一起來方便用戶的使用操作。2.JavaScript是一種基于對象的語言JavaScript是一種基于對象的語言,這意味著它能運用已經(jīng)創(chuàng)建的對象,但不能派生新的對象,也就是沒有面向?qū)ο蟪绦蛟O計語言(如Java就是一種面向?qū)ο蟮某绦蛟O計語言)所具有的繼承、多態(tài)等特點,這使JavaScript更容易學習。3.簡單性JavaScript的簡單性主要體現(xiàn)在:第一,它是一種基于Java基本語句和控制流之上的簡單而緊湊的設計,從而對學習Java是一種非常好的過渡;第二,它的變量類型采用弱類型,并未使用嚴格的數(shù)據(jù)類型;第三,JavaScript可以用很小的程序做大量的事,如創(chuàng)建交互式網(wǎng)頁、控制瀏覽器的行為等。用戶無須有高性能的電腦,也無須安裝復雜的軟件,僅需一個字處理軟件及一個瀏覽器,即可使用JavaScript進行程序設計。JavaScript不需要耗時的編譯過程,從而使腳本程序的開發(fā)周期比較短。JavaScript的大多數(shù)界面特征,均由瀏覽器和HTML代碼處理,因此更加提高了開發(fā)速度。4.安全性JavaScript是一種安全性語言,它不允許訪問本地的硬盤,更不能將數(shù)據(jù)存入到服務器上,也不允許對網(wǎng)絡文檔進行修改和刪除,只能通過瀏覽器實現(xiàn)信息瀏覽或動態(tài)交互,從而可以有效地防止數(shù)據(jù)丟失。5.動態(tài)性JavaScript是動態(tài)的,它可以直接對用戶或客戶輸入作出響應,無須經(jīng)過Web服務程序。它對用戶反映的響應是采用事件驅(qū)動的方式進行的。在主頁(HomePage)中執(zhí)行了某種操作所產(chǎn)生的動作,就稱為“事件”(Event)。如按下鼠標、移動窗口、選擇菜單等都可以視為事件。當事件發(fā)生后,就可能會引起相應的事件響應。6.跨平臺性JavaScript是依賴于瀏覽器本身的,與操作環(huán)境無關,只要能運行瀏覽器的計算機,并有支持JavaScript的瀏覽器就可以正確執(zhí)行,從而實現(xiàn)了“編寫一次,走遍天下”的夢想。正是以上的這些JavaScript的特點,使JavaScript在Web編程領域中得到了廣泛的普及和運用,具有廣闊的發(fā)展前景。為了能夠讓瀏覽器識別HTML文檔中的腳本代碼行,每個腳本必須包含在Script容器標識符(也稱為標簽)內(nèi),換言之,要用打開標簽<script>開始腳本,用關閉標簽</script>來結(jié)束腳本。無論是表單或者段落,在HTML中,都要使用首尾標記對標記內(nèi)容進行封裝。在HTML文件中嵌入JavaScript的方法,可以通過<script>標簽的屬性來決定。<script>…</script>標簽對的位置并不是固定的,可以出現(xiàn)在HTML文檔的<head>…</head>或者<boda>…</body>標簽對之間,也可以出現(xiàn)在文檔的多個位置。通過<script>…</script>標簽對來嵌入多段JavaScript代碼,該<script>標簽有兩個可選屬性,這兩個屬性決定著正在使用的JavaScript是以哪種方式并入HTML文件的。利用<script>標簽及其屬性最終能夠用兩種不同的方法將JavaScript程序集成到HTML文件中。如果src屬性生效,開發(fā)者就能夠把存儲到某個單獨文件中的某段JavaScript代碼引用過來,并簡單地將這些文件加載到單獨的Web頁面中。如果將language屬性設置為JavaScript,則表示文檔中的腳本語言是JavaScript,而不是其他腳本語言,開發(fā)者就可以直接在HTML文檔中編寫JavaScript腳本程序。這兩種屬性可以單獨使用,也可以并用。用上述兩種方法在HTML文檔中嵌入的JavaScript腳本都是在文檔載入時開始運行的。這種在頁面載入時就運行的腳本稱為實時腳本。如果JavaScript腳本是在文檔載入后或者響應用戶動作時才運行,這種方式稱為延時腳本。延時腳本是通過將JavaScript代碼定義在函數(shù)中實現(xiàn)的。3系統(tǒng)分析3.1系統(tǒng)總需求3.1.1需求描述與分析 1)需求描述 勤工儉學勤工儉學管理信息系統(tǒng)的系統(tǒng)需求主要來自勤工儉學者和勤工儉學工作相關的工作人員,用以實現(xiàn)學生用戶和數(shù)據(jù)管理、用工分配、查詢、統(tǒng)計分析等功能。學生用戶的主要需求是能夠注冊自己的賬戶,填充自己的申請信息,瀏覽自己的信息,修改自己的信息。勤工助學相關工作人員需要能夠通過信息系統(tǒng)實現(xiàn)核實、審查、安排、核算、反饋等工作,以達到高效準確完成勤工助學工作的目的。勤工儉學管理信息系統(tǒng)需要保證信息的安全,系統(tǒng)的用戶應具有部門權限和操作權限。系統(tǒng)中的用戶具有不同的部門角色,處于不同部門的用戶只能進行本部門職能范圍內(nèi)的操作。系統(tǒng)中的用戶具有不同的權限,用戶只能進行自己權限相對應的操作。 2)需求分析 從提出的需求來看,勤工儉學管理信息系統(tǒng)的參與者有三大類:學生用戶、工作人員用戶、管理員用戶,因此系統(tǒng)需要為三類用戶提供用戶接口,設計不同的操作權限。 系統(tǒng)需求描述中提出的操作要求需要通過功能模塊來實現(xiàn),由此可以確定管理信息系統(tǒng)的功能模塊,如圖3.1所示。圖3.1系統(tǒng)功能模塊圖3.1.2系統(tǒng)總功能學生注冊 學生登錄系統(tǒng)進行注冊,同時填寫學生自身信息(包括學號、登錄密碼、用戶姓名、身份證號、性別、年齡、專業(yè)、地址、電話、電子郵件、銀行卡號、備注等)。管理員審核后,即可報名勤工助學。學生登錄學生登錄系統(tǒng)進行登錄,在填寫完學號、密碼后,如果賬號密碼正確則登錄成功,否則登錄失敗。學生查詢個人信息學生登錄系統(tǒng)后,可以查詢自身信息。學生更改個人信息學生登錄系統(tǒng)后,查看自身信息,如需修改個人信息,進行修改個人信息。學生查詢用人單位信息學生登錄系統(tǒng)后,可以查看所有已審核的公司的信息。學生查詢招聘信息學生登錄系統(tǒng)后,可以查看管理員發(fā)布的招聘信息。學生報名勤工儉學學生登錄系統(tǒng)后,查看崗位信息,根據(jù)查看到的崗位信息選擇合適的職位。學生查看狀態(tài)學生登錄系統(tǒng)后,查看報名單信息,可以根據(jù)報名單查看自身是否被錄用。被錄用的可以查看工作開始時間,并且查看自身的工作狀態(tài)。如果已經(jīng)離職,可以查看離職時間。確認收到工資學生登錄系統(tǒng)后,查看工資單信息,如果已經(jīng)收到工資,點擊收到工資按鈕,確認已收到工資。公司注冊 公司登錄系統(tǒng)進行注冊,同時填寫公司自身信息(包括登錄賬戶、登錄密碼、公司名稱、公司地址、電話、電子郵件、聯(lián)系人、公司簡介等)。管理員審核后,即可發(fā)布勤工職位信息。公司登錄公司登錄系統(tǒng)進行登錄,在填寫完賬號、密碼后,如果賬號密碼正確則登錄成功,否則登錄失敗。公司查詢本公司信息 公司登錄系統(tǒng)后,可以查看到本公司的詳細信息。公司更改本公司信息公司登錄系統(tǒng)后,查看本公司信息,如需修改信息,進行修改信息。公司查看職位信息 公司登錄系統(tǒng)后,可以查看已經(jīng)本公司已經(jīng)發(fā)布的職位信息。公司發(fā)布職位信息 公司登錄系統(tǒng)后,可以發(fā)布職位信息(包括標題、職位名稱、簡介、申請截止日期、面試地點、面試時間、預計工資、備注等)。管理員審核后,成功發(fā)布該職位。公司修改職位信息 公司登錄系統(tǒng)后,可以修改職位信息。修改后管理員審核該職位。公司刪除職位信息 公司登錄系統(tǒng)后,可以刪除本公司發(fā)布的信息。公司錄用招聘者 公司登錄系統(tǒng)后,查看報名表信息,可以錄用招聘者,開始。公司錄用招聘者 公司而登陸系統(tǒng)后,查看報名表信息,可以解雇招聘者。管理員注冊 管理員登錄系統(tǒng)進行注冊,同時填寫管理員信息(包括登錄賬戶、登錄密碼、管理員名稱、備注等)。管理員登錄管理員登錄系統(tǒng)進行登錄,在填寫完賬號、密碼后,如果賬號密碼正確則登錄成功,否則登錄失敗。查詢用人單位信息 管理員登錄系統(tǒng)后,可以查看所以用人單位信息。審核用人單位信息 管理員登錄系統(tǒng)后,可以查看用人單位信息,審核單位信息。查看學生信息 管理員登錄系統(tǒng)后,可以查看所以學生信息。審核學生信息 管理員登錄系統(tǒng)后,可以查看學生信息,審核學生信息。發(fā)布招聘信息 管理員登錄系統(tǒng)后,可以發(fā)布招聘信息。發(fā)放工資 理員登錄系統(tǒng)后,查看工資表信息,發(fā)放工資。3.2系統(tǒng)需求分析3.2.1系統(tǒng)活動者與用例模型 1)活動者:系統(tǒng)的活動者是用戶作用于系統(tǒng)的一個角色。活動者通過與系統(tǒng)交互達到目標?;顒诱呤怯脕斫⑾到y(tǒng)外部用戶的,活動者直接與系統(tǒng)交互作用?;顒诱呤窍到y(tǒng)外邊界之外的對象的描述。活動者不一定是人,也可能是一個外部系統(tǒng),該系統(tǒng)與本系統(tǒng)相互通信。 根據(jù)系統(tǒng)的需求描述和分析,可以分析出活動者,系統(tǒng)活動者分為三類,分別為勤工儉學學生、公司、管理員。 2)用例:在不展現(xiàn)一個系統(tǒng)或子系統(tǒng)內(nèi)部結(jié)構(gòu)的情況下,對系統(tǒng)或子系統(tǒng)的某個連貫的功能單元的定義和描述。用例是系統(tǒng)單元提供外部可感知的功能單元,表達成系統(tǒng)單位和與之相交互的一個或多個活動者的消息序列。用例的目的是定義清晰的行為塊而不解釋系統(tǒng)的內(nèi)部結(jié)構(gòu)。 3)用例模型主要由以下模型元素構(gòu)成:參與者是指存在于被定義系統(tǒng)外部并與該系統(tǒng)發(fā)生交互的人或其他系統(tǒng),他們代表的是系統(tǒng)的使用者或使用環(huán)境。用例用于表示系統(tǒng)所提供的服務,它定義了系統(tǒng)是如何被參與者所使用的,它描述的是參與者為了使用系統(tǒng)所提供的某一完整功能而與系統(tǒng)之間發(fā)生的一段對話。 系統(tǒng)分為三個子系統(tǒng),分別是勤工學生信息管理子系統(tǒng)、用人單位信息管理子系統(tǒng)、和管理機構(gòu)信息子系統(tǒng)。3.2.2用例圖 用例圖定義:由參與者(Actor)、用例(UseCase)以及它們之間的關系構(gòu)成的用于描述系統(tǒng)功能的靜態(tài)視圖稱為用例圖。用例圖(UserCase)是被稱為參與者的外部用戶所能觀察到的系統(tǒng)功能的模型圖,呈現(xiàn)了一些參與者和一些用例,以及它們之間的關系,主要用于對系統(tǒng)、子系統(tǒng)或類的功能行為進行建模。用例圖展示了用例之間以及同用例參與者之間是怎樣相互聯(lián)系的。用例圖用于對系統(tǒng)、子系統(tǒng)或類的行為進行可視化,使用戶能夠理解如何使用這些元素,并使開發(fā)者能夠?qū)崿F(xiàn)這些元素。將每個系統(tǒng)中的用戶分出工作狀態(tài)的屬性和工作內(nèi)容,方便建模,防止功能重復和多余的類。用例圖定義了系統(tǒng)的功能需求,它是從系統(tǒng)的外部看系統(tǒng)功能,并不描述系統(tǒng)內(nèi)部對功能的具體實現(xiàn)。 1)勤工學生參與根據(jù)用例,分析參與者得到頂層初始用例圖。圖系統(tǒng)頂層用例圖用例圖(簡略圖)圖用例圖簡略圖3.2.3用例文檔描述 根據(jù)需求分析,建立的用例模型和確定了功能模塊。下面是幾個比較重要的用例注冊用例用例名稱注冊用例描述勤工學生注冊執(zhí)行者勤工學生前置條件這個用例打開登錄頁面后置條件登錄成功后跳轉(zhuǎn)到主頁面基本流勤工學生打開勤工中心主頁點擊勤工學生注冊填寫注冊信息用例終止擴展流業(yè)務規(guī)則:注冊時默認學號等不能為空。備注:登錄用例用例名稱登錄用例描述勤工學生登錄系統(tǒng)執(zhí)行者勤工學生前置條件在這個用例開始前,申請者必須進入系統(tǒng)登錄頁面。后置條件登錄成功則跳轉(zhuǎn)到主頁面,否則返回登錄界面基本流用人單位打開勤工中心登錄界面點擊學生登錄輸入用戶名密碼用例終止擴展流業(yè)務規(guī)則:賬號密碼默認不能為空備注:審核勤工學生用例用例名稱審核勤工學生用例用例描述管理員對勤工學生信息進行審核執(zhí)行者管理員前置條件在這個用例開始前,申請者必須登錄后置條件審核成功,勤工學生狀態(tài)改變,否則不變?;玖鞴芾韱T登錄系統(tǒng),點擊審核勤工學生列表查看所有學生信息點擊相應的審核按鈕用例終止擴展流業(yè)務規(guī)則:審核成功后將勤工學生狀態(tài)改為已審核,并將當前管理員名字填入。備注:申請勤工助學用例用例名稱申請勤工助學用例描述勤工學生申請勤工助學職位執(zhí)行者勤工學生前置條件在這個用例開始前,申請者必須登錄到系統(tǒng)中后置條件如果勤工學生申請勤工儉學,公司選擇是否錄用基本流勤工學生進入登錄系統(tǒng)學生點擊查詢職位信息,選擇合適的職位學生報名職位,申請勤工儉學擴展流業(yè)務規(guī)則:申請職位默認填寫申請職位編號,當前學生,工資,當前時間,狀態(tài),工作狀態(tài)。備注:錄用用例用例名稱錄用用例描述用人單位登錄系統(tǒng)進行錄用操作執(zhí)行者用人單位前置條件在這個用例開始前,勤工學生已經(jīng)報名。后置條件用人單位雇傭?qū)W生后,學生開始勤工儉學。基本流用人單位進入系統(tǒng)后,點擊申請表信息。點擊相對應的申請表,進行雇傭勤工學生。用例終止擴展流業(yè)務規(guī)則:離職默認將填寫當前時間,對應職位的金額,并且修改狀態(tài)為錄用。備注:離崗用例用例名稱離崗用例描述用人單位登錄系統(tǒng)進行離崗操作執(zhí)行者用人單位前置條件在這個用例開始前,勤工學生已經(jīng)被雇傭。后置條件用人單位解雇學生后,管理員進行發(fā)放工資。基本流用人單位進入系統(tǒng)后,點擊申請表信息。點擊相對應的申請表,進行解雇勤工學生。用例終止擴展流業(yè)務規(guī)則:離職默認將填寫當前時間,并且修改狀態(tài)為離職。備注:發(fā)放工資用例用例名稱發(fā)放工資用例描述管理員登錄系統(tǒng)發(fā)放勤工學生所選擇職位對應工資執(zhí)行者管理員前置條件在這個用例開始前,勤工學生已經(jīng)離職,已經(jīng)建立相應的工資表信息后置條件發(fā)放成功后,勤工學生登錄系統(tǒng)確認收到工資基本流管理員登錄系統(tǒng),點擊工資單列表。點擊相對應的發(fā)放工資按鈕用例終止擴展流業(yè)務規(guī)則:發(fā)放工資默認將申請表的工資填入工資單,并且將當前時間、發(fā)放人信息寫入工資表。備注:確認收到工資用例名稱確認收到工資用例描述勤工學生登錄系統(tǒng)進行確認收到工資操作執(zhí)行者勤工學生前置條件在這個用例開始前,管理員已經(jīng)發(fā)放工資。后置條件勤工學生確認收到工資,否則未收到?;玖髑诠W生登錄系統(tǒng),點擊工資單列表。點擊相對應的工資單,確認收到工資用例終止擴展流業(yè)務規(guī)則:確認工資默認更改是否收到狀態(tài)為已收到。備注:4勤工儉學系統(tǒng)設計4.1系統(tǒng)中包含實體類及相互關系4.1.1由前面文檔描述,得出以下類圖: 1)確認類:類是一類具有相同特征的對象的描述,類的特征包括行為和屬性。對象是類的實例。面向?qū)ο蟮暮诵乃枷刖褪怯妙惖母拍顏韯澐謫栴}中設計的各種對象,并且組織結(jié)構(gòu)。 2)根據(jù)以上分析,得到以下類圖有: 工資信息類(PaySheet) 新聞信息類(NewS) 管理信息類(Manager) 公司信息類(Company) 勤工學生類(Student) 職位信息類(Position) 報名/工資信息類(Application)4.1.2確定類與類之間的關系圖4.1.2系統(tǒng)類圖4.2時序圖 時序圖(SequenceDiagram)描述了一組交互對象間的交互方式,它表示完成某項行為的對象和這些對象之間傳遞消息的時間順序。一般情況,使用時序圖來描述一個用例的事件流,標識參與這個用例的對象,并以服務的形式將用例的行為分配到對象上。通過對用例進行時序圖建模,對用例的流程進行細化,以便發(fā)現(xiàn)更多的對象和服務。 時序圖包含4個元素,分別是對象(Object)、生命線(Lifeline)、消息(Message)和激活(Activation)。4.2.1用例“注冊”的時序圖圖4.2.1注冊時序圖 備注:register():注冊學生add():添加學生save():新增學生4.2.2用例“登錄”的時序圖圖4.2.2登錄時序圖 備注:myLogin():學生登錄isExists():判斷學生是否存在checkStudentExists():判斷是否存在學生find():查詢數(shù)據(jù)庫4.2.3用例“審核”的時序圖圖4.2.3審核時序圖 備注:auditCompany():審核公司queryCompanyByName():根據(jù)公司名稱查詢公司find():查詢數(shù)據(jù)庫4.2.4用例“報名”的時序圖圖4.2.4報名時序圖 備注:addApplication():新增報名表add():新增報名表save():保存報名表4.2.5用例“錄用”的時序圖 圖4.2.5錄用時序圖 備注:hireStudent():雇傭?qū)W生updateApplication():更新報名表update():更新報名表4.2.6用例“解雇”的時序圖 圖4.2.6解雇時序圖 備注:fireStudent():解雇學生updateApplication():更新報名表update():更新報名表addPosition():新增工資表add():新增工資表save():新增工資表4.2.7用例“發(fā)放工資”的時序圖圖4.2.6發(fā)放工資時序圖 備注:givePaySheet():發(fā)放工資queryPaySheetsByIdAndCode():根據(jù)學號和職位號查詢工資表queryPaySheet():查詢工資表find():查詢數(shù)據(jù)庫4.3數(shù)據(jù)庫設計4.3.1CDM(ConceptualDataModel) CDM表達的是數(shù)據(jù)庫的整體邏輯結(jié)構(gòu),該結(jié)構(gòu)獨立于任何軟件和數(shù)據(jù)庫存儲結(jié)構(gòu),即它只是系統(tǒng)分析人員、應用程序設計人員、維護人員和用戶之間相互理解的共同語言,并不是針對具體的數(shù)據(jù)庫平臺和工具。 下面是PowerDesigner類圖生成的CDM圖。圖4.3.1系統(tǒng)CDM圖4.3.2PDM(PhysicalDataModel) 物理數(shù)據(jù)模型(PhysicalDataModel)PDM,提供了系統(tǒng)初始設計所需要的基礎元素,以及相關元素之間的關系。即用于存儲結(jié)構(gòu)和訪問機制的更高層描述,描述數(shù)據(jù)是如何在計算機中存儲的,如何表達記錄結(jié)構(gòu)、記錄順序和訪問路徑等信息。使用物理數(shù)據(jù)模型,可以在系統(tǒng)層實現(xiàn)數(shù)據(jù)庫。數(shù)據(jù)庫的物理設計階段必須在此基礎上進行詳細的后臺設計,包括數(shù)據(jù)庫的存儲過程、操作、觸發(fā)、視圖和索引表等。 下圖由Powerdesigner的CDM轉(zhuǎn)換生成的PDM圖4.2.1系統(tǒng)PDM圖4.3.3數(shù)據(jù)庫表對應實體說明1)勤工助學者表:Student(學生表)字段編號字段名稱字段類型中文名稱約束關系備注1idLongid主鍵自增長2studentStudent學生Id(學號)外鍵唯一3passwordString密碼4nameString學生姓名5idCardString身份證6sexString性別男,女7ageInt年齡8professionString專業(yè)9addressStri
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)電腦交易協(xié)議格式(2024年)版A版
- 2025年度跨境電商平臺產(chǎn)品區(qū)域代理合同協(xié)議書4篇
- 科技前沿:資金驅(qū)動創(chuàng)新
- 2025年度倉儲物流場地租賃保證金三方服務協(xié)議4篇
- 2025年度柴油運輸合同書(智能化物流服務)4篇
- 2025年度綠色環(huán)保型鏟車租賃合作協(xié)議4篇
- 2025年智能餐飲連鎖店合作協(xié)議范本3篇
- 2025年度特色面館連鎖品牌加盟管理規(guī)范合同范本3篇
- 2025年度商業(yè)地產(chǎn)項目場地合作運營協(xié)議4篇
- 專業(yè)電線電纜供應協(xié)議模板2024版
- 【公開課】同一直線上二力的合成+課件+2024-2025學年+人教版(2024)初中物理八年級下冊+
- 高職組全國職業(yè)院校技能大賽(嬰幼兒照護賽項)備賽試題庫(含答案)
- 2024年公安部直屬事業(yè)單位招聘筆試參考題庫附帶答案詳解
- NB-T 47013.15-2021 承壓設備無損檢測 第15部分:相控陣超聲檢測
- 裝飾工程施工技術ppt課件(完整版)
- SJG 05-2020 基坑支護技術標準-高清現(xiàn)行
- 汽車維修價格表
- 司爐崗位應急處置卡(燃氣)參考
- 10KV供配電工程施工組織設計
- 終端攔截攻略
- 藥物外滲處理及預防【病房護士安全警示教育培訓課件】--ppt課件
評論
0/150
提交評論