⑴ java學生選課系統
學生選課系統的設計與實現摘要本文以一個具體的應用系統—學生選課信息系統的設計與實現來說明如何利用UML和EJB組件來設計和構建分布式軟體系統平台。UML和組件技術結合使用能提高開發效率,增加系統的易維護性。關鍵詞UML;EJB;實例1引言現在信息管理系統軟體的開發,採用組件技術可以提高效率,信息管理系統的分析設計也採用UML來進行。兩者的結合可以極大的提高開發效率,保證系統開發的易維護性。本文用UML這種設計方法和EJB這種組件技術來設計和實現一個系統。2系統分析本系統設計為學生通過網頁登陸學校網站,進行選課。下面用用例圖來說明該系統要實現的功能。2.1用例圖2.2系統總體結構圖本系統採用三層體系結構,分為表示層,事務處理層,數據存儲層。三層結構層次清晰,易維護。圖3類圖學生選課系統涉及到三個實體類學生,課程,以及學生和課程之間的一個一對多關系類。對每一個類,映射到一張表。學生類和課程類用Container-ManagedEntityBean實現,學生和課程間的一對多關系類,用Bean-ManagedPersistence的EntityBean實現。再設計一個SessionBean對學生選課過程進行控制。頁面顯示部分用JSP實現。3資料庫設計學生表對應學生實體,詳細內容如下表1學生表關聯表對應學生和課程間的一對多關系,詳細內容如下研究開發4實現4.1SessionBean的設計4.1.1定義HomeInterface4.1.2定義{//-----//這是一個基於SessionBean的Remote介面,這個SessionBean是基於//Stateful的SessionBean,用來對特定學生選課的登記過程進行操作//-----------------------------publicStringgetStudentName()throwsRemoteException;publicvoidenroll(ArrayListcourseItems)throwsRemoteExcep-tion;publicvoinenroll()throwsRemoteException;publicvoiddeleteStudent()throwsFinderException,RemoteEx-ception;publicvoiddeleteCourse(Stringcourse_id)throwsRemoteExcep-tion;}4.1.3Client獲取HomeInterface和RemoteInterface的參考方式,我們使用JNDI機制來獲取Home介面和Remote介面的對象參考。4.1.4定義回調方法4.1.5實現遠程資料庫的連接使用JNDI機制,通過資料庫的JNDI名稱javacomp/env/jdbc/StudentCourseDB來連接後台資料庫。4.1.6SessionBean方法實現//定義變數publicStudentHomesHome;publicEnrollHomeeHome;publicStringstudent_id;publicStringname;//回調方法實現publicvoidejbCreate(Stringstudent_id)throwsCreateException{try{Studentstudent=sHome.findByPrimaryKey(student_id);name=student.getName();}catch(ObjectNotFoundExceptione){thrownewCreateException(Student+student_id+notfoundinStudentTBL!);}catch(Exceptione){thrownewEJBException(e.getMessage());}this.student_id=student_id;}//商業方法實現publicvoidenroll(ArrayListcourseItems){Enrollenroll=null;try{enroll=eHome.findByPrimaryKey(student_id);}catch(Exceptione){}try{if(enroll!=null){enroll.replaceCourseItems(courseItems);}else{eHome.create(student_id,courseItems);}}catch(Exceptione){thrownewEJBException(e.getMessage());}}publicvoinenroll(){try{Enrollenroll=eHome.findByPrimaryKey(student_id);enroll.remove();}catch(Exceptione){thrownewEJBException(e.getMessage());}}//涉及到對兩張表的刪除。publicvoiddeleteStudent()throwsFinderException{try{Enrollenroll=eHome.findByPrimaryKey(student_id);Studentstudent=sHome.findByPrimaryKey(student_id);enroll.remove();student.remove();}catch(Exceptione){thrownewEJBException(e.getMessage());}}publicvoiddeleteCourse(Stringcourse_id){PreparedStatementps=null;try{getConnection();StringdeleteStatement=deletefromEnrollTBL+wherestudent_id=?andcourse_id=?;ps=con.prepareStatement(deleteStatement);ps.setString(1,student_id);ps.setString(2,course_id);ps.executeUpdate();}catch(Exceptione){thrownewEJBException(e.getMessage());}finally{try{ps.close();con.close();}catch(Exceptione){thrownewEJBException(e.getMessage());}}}4.2EntityBean的設計我們以關聯表(EnrollTBL)對應的實體Bean為例進行說明,它涉及到兩個表的一對多關系。4.2.1定義Home介面4.2.2定義{//---------------//這是一個基於EntityBean的Remote介面,這個EntityBean是基於//Bean-ManagedPersistence的EntityBean,用來對EnrollTBL表進行操作//--------------------------publicArrayListgetCourseItems()throwsRemoteException;publicStringgetStudent_id()throwsRemoteException;publicvoidreplaceCourseItems(ArrayListcourseItems)throwsRemoteException;}4.2.3變數定義publicStringstudent_id;publicArrayListcourseItems;4.2.4增加數據記錄實現publicStringejbCreate(Stringstudent_id,ArrayListcourseItems)throwsCreateException{if(courseItems==null||courseItems.size()==0){thrownewCreateException(ejbCreateexception!);}this.student_id=student_id;try{enroll(courseItems);}catch(Exceptione){thrownewEJBException(ejbCreateexception+e.getMessage());}this.courseItems=courseItems;returnstudent_id;}//根據學生ID,插入課程項。privatevoidenroll(ArrayListcourseItems)throwsSQLException{StringinsertStatement=insertintoEnrollTBLvalues(?,?);PreparedStatementps=con.prepareStatement(insertStatement);try{//------------//依次將所有的課程項目插入EnrollTBL表//------------------ps.setString(1,this.student_id);for(inti=0;i<courseItems.size();i++){Stringcourse_id=(String)courseItems.get(i);ps.setString(2,course_id);ps.executeUpdate();}}finally{ps.close();}}//根據學生ID,刪除課程項privatevoinenroll()throwsSQLException{StringdeleteStatement=deletefromEnrollTBL+wherestudent_id=?;PreparedStatementps=con.prepareStatement(deleteStatement);try{ps.setString(1,student_id);ps.executeUpdate();}finally{ps.close();}}5部署和運行5.1部署程序5.1.1部署StudentEntityBean,設置事務屬性,生成部署文件。5.1.2同樣,再部署其他三個EJB組件EnrollSessionBean,CourseEntityBean,EnrollEntityBean。5.1.3部署web組件5.1.4部署整個應用程序5.2運行啟動J2EE伺服器,啟動資料庫伺服器,打開瀏覽器。學生登錄,即可選課。6結論組件技術使得復雜的多層結構應用系統開發變得容易。採用組件技術能提高開發人員的效率,降低軟體的開發和維護成本,提高軟體的質量,控制所構建系統的復雜性。UML設計方法的使用能提高軟體設計的效率和保證設計的規范性。參考文獻[1]CraigLarman.UML和模式應用-面向對象分析與設計導論[M].北京機械工業出版社,2003.10-100.[2]劉特.J2EEEJB應用編程實例[M].北京清華大學出版社,2003.90-150.[3]GeriSchneider.用例分析技術[M].北京機械工業出版社,2003.1-98.
-----------------------------------------------
謝謝請採納:
不能發連接啊,請在網路
搜索『珍惜知識網』點進去就是了[ORDA]
⑵ JAVA學生選修課管理系統
你寫的是java學生選修課管理系統
到了要求哪裡:1.系統利用C、C++程序設計語言實現。
沒救了.
⑶ 我是JAVA初學者,要做個學生選課系統
需求分析→定義實體類→做好相關界面(圖形界面或web網頁)→根據界面上的功能要求完成功能實現→測試→完成
PS:以上只是一般流程,你的系統降低難度的話就不做網路版,應該還是很簡單
補充:思路很簡單,先把學生選課需要的功能列出來,再把程序應該處理的事情及功能列出來,根據需要把幾個實體類的屬性設計出來,就是class Student ,class Course ,class TextCourse,然後按照列出的功能需要改變的屬性值來在每一個實體類里提供相應的方法,最後寫一個測試類(含有main方法)調用這些方法(相當於使用功能)。
沒有看到具體要求,特別細的思路也寫不出來(也沒那麼多時間),將就下吧~汗~
⑷ java編程(學生選課系統)
您需要用簡潔明了的文字在這里將問題描述清楚,讓回答者更加明確的知道您的難疑
比如您的問題還不能描述清楚,請點擊展開「問題補充」,
詳細敘述您的疑惑,
並可以插入圖片來幫助回答者更明確的清楚你的疑惑,
更有針對性地幫助你。
我們可以針對你的需求提供一份適用於初學者的代碼,或學生版/個人版/專業版/企業版
您需要留下Email地址,以便回答者更好的解決你的問題
為獲取幫助,您可以發送消息到:六伍柒幺伍六幺五('幺'讀yao,一聲,'柒'同 '七'),QQ
您還可以通過向我們發起求助的方式主動去尋求我們的幫助。
如果您對回答不甚滿意,希望繼續對回答者進行追問了解詳情時,
可點擊回答內容下方的「繼續追問」按鈕
請您切記為您的問題選擇一個最恰當的分類,
因為只有這樣,您的問題才能在第一時間內得到正確解答。
交易提醒:預付訂金是詐騙
⑸ JAVA是專業限選課嗎
是專業限選課。
基於java所寫的學生選課管理系統,概述,項目,背景,隨著學校的規模不斷擴大,學生數量急劇增加,面對龐大的信息量需要有一個學生管理系統來提高學生管理工作的,通過學生選課管理信息系統可以做到信息的規范管理、科學統計和快速_詢、修改、增加、刪除等,從而實現管理方面的工作量。
目前社會上信息管理系統發展飛快,各個企業單位都引入了信息管理軟體來管理自己日益增長的各種信息,學生管理系統也有了很大的發展,商業化的管理軟體也是日益增多。
⑹ 基於JAVA的學生信息管理系統
2、教學管理:教學信息管理模塊主要實現各種與教學相關信息的設置和維護的操作,包括以下幾方面的內容:院系設置、專業設置、年級設置、班級設置、學期設置、課程開設等 3、學籍管理:學生學籍管理模塊主要實現對學生基本信息的設置和維護,提供學生信息的錄入和查詢頁面,並對學生班級更改情況進行維護等,它包括以下幾方面的內容:學生基本信息維護和查詢、學生增減、批量導入學生信息並自動生成學號。 其中,學生基本信息的錄入、維護和查詢統計功能是每個學生必須完成的功能,而學生增減和批量導入學生信息並自動生成學號則是有能力的學生可以在時間充裕的前提下進一步完成。 4、成績管理:學生成績管理模塊主要實現對學生選修課程以及所選課程的成績信息的設置和維護。 它包括以下幾方面的內容:學生選課管理、學生成績管理兩部分。銷售管理系統的主要任務是建立、維護客戶信息檔案、統計、匯總產品信息,進行定單的錄入、維護等。要求編寫Java GUI程序實現上述功能。 3 課程設計報告書主要內容1 需求分析2 總體設計2.1 設計的總體思想與演算法描述 2.2 模塊結構圖 2.3 各功能模塊的功能與處理流程描述 2.4 界面設計 3 各功能模塊程序設計 按照功能模塊的功能與處理流程描述給出詳細的程序代碼,並給出重點語句的注釋. 4 小結4 課程設計要求 1 按時到機房簽到,在指定機位上機。遵守機房紀律。 2 獨立完成課程設計任務。指導教師到機位上指導學生和分時段驗收學生完成的程序。 3 按時提交列印的課程設計報告書。 5 課程設計參考書 1 許文憲 懂子建. Java程序設計教程與實訓 北京:北京大學出版社,2005. 2 辛運幃 .Java程序設計.北京:清華大學出版社, 2004 3 蔡翠平 .Java程序設計.北京:清華大學出版社,2003
⑺ 你好,「求java連接資料庫實現學生選課管理系統 」這個題目,求解答,很急呀,萬分感謝了
driver = org.gjt.mm.mysql.Driver//構建外部路勁
url = jdbc:mysql://localhost:3306/users/*資料庫名*/?useUnicode=true&characterEncoding=utf8
username = root//用戶名
password =8638406//密碼
希望對你有幫助
⑻ Java:做一個學生管理系統要做些什麼啊
下面是我前不久做的一個系統,你可以參考一下:
課程管理系統確認項目系統建設方案
2008年4月21日星期一
1. 項目背景
隨著高校信息化的發展,不論是老師還是學生都有課程上網的需求。課程上網後。一方面會有利於學生經常反復閱讀教學計劃和教學內容,更好地領會老師教學設計的用意,在一定程度上減輕學生記筆記和聽課不能兼顧的問題,另一方面也有利於老師對網上課程內容的不斷更新,便於老師改進教學,同時因為課程管理系統提供了方便的教學管理工具,老師教學的效率會大大提高。
2. 功能模塊
�8�5 操作員管理
只有系統管理員可以添加操作員,添加成功後便可以訪問課程管理系統。添加的操作員具有不同的角色,分為教師與學生兩種。
�8�5 課程管理
教師特有許可權,可以在互連網上直接對課程進行相應增、刪、改操作。
�8�5 學生成績信息管理
教師特有許可權,可以在互連網上直接對學生成績信息進行相應增、刪、改操作。
�8�5 學生成績查詢
學生登錄後只能查詢自己的成績信息。
3. 系統特色
�8�5 技術的先進性
採用B/S(JAVA)技術架構、大型SQL資料庫技術使得系統在技術上處於絕對領先地位。
�8�5 完善的網路化管理策略
系統充分利用區域網和Intranet的網路化優勢,使得學校各教學崗位的教師對學生的管理實現網路化,學生也可通過網路得到與自己相關各項數據。
4. 方案設計
�8�5 軟體架構設計
本方案採用MVC三層架構,用戶使用瀏覽器以WEB方式使用系統的各個功能;業務層提供系統的各項功能與服務,包括操作員管理、課程管理、學生成績信息管理與學生成績查詢;業務層使用持久層組件來實現系統的各種業務數據的持久化。EIS層提供了數據的保存等工作。
�8�5 業務概述
系統管理員添加操作員成功以後,此操作員便可以登陸課程管理系統網站進行相應操作。此時系統將判斷登陸的操作員角色,如果為教師,那麼他能夠對課程信息做相應增、刪、改操作。還可以對學生課程信息進行相應增、刪、改操作。如果為學生,那麼他只能夠查詢自己的課程成績信息。
�8�5 關鍵技術
1) Struts框架:完美的MVC實現,便於日後系統的擴展。
2) Hibernate持久層框架:使用Hibernate技術實現系統數據持久化,同時簡化了數據的操作,使業務邏輯更加清晰。
⑼ 請教JAVA問題(學生選課系統)
這也算是一個許可權控制
比較簡單的 就是你設定2個許可權
一個就是普通的學生的
另一個就是管理員的,
根據許可權開放給他們相應的功能即可