【正文】
據(jù)流圖 安徽理工大學理學院 數(shù)學專業(yè) 課程設計 4 信息 , 老師登錄能查詢該老師自己基本信息教職工基本信息,可以查詢自己的授課情況,可以查詢選修自己課程的學生名單。 需求總數(shù) 以上的用戶請 求經(jīng)應用程序的轉(zhuǎn)化,化為對數(shù)據(jù)庫中的相應的表或視圖的操作,數(shù)據(jù)庫再把處理的結(jié)果(或都是錯誤信息)返回結(jié)應用程序。 邏輯結(jié)構(gòu)設計 由 er 圖經(jīng)過數(shù)據(jù)模型優(yōu)化可得數(shù)據(jù)結(jié)構(gòu), Course( course_name, course_i, num) Student ( student_ , student_name , student_faccty , age ) Teacher( teacher_id, teacher_name,age) Register(num,register_number,register_id,register_type) Faculty(faculty_id,faculty_name,facuty_principal) Seleccourse(course_id,student_id,garde,teacher_id,term) Teaching_table( teacher_id,course_id) 采用 mysql 數(shù)據(jù)庫建立如下表結(jié)構(gòu): Register: Register: Num INT NN AI Register_number Varchar Key NN Register_password Varcahr NN Register_type Varchar NN Course: Num INT NN AI Course_id Varchar Key NN Course_name Varchar NN Student: Num INT NN AI Student_id Varchar Key NN Student_name Varc NN 安徽理工大學理學院 數(shù)學專業(yè) 課程設計 5 har Student_facuty Int Student_age Int NN Teachaer: Num INT NN AI Teacher_id Varchar Key NN Teacher_name Varchar NN Teacher_age INT NN Selecourse: Num INT Key NN AI Course_id Varchar Teacher_id Varchar Grade INT Student_id Varchar Term INT NN T eaching_table: Num INT Key NN AI Teacher_id Varchar Course_Id INT Student_facuty: Facuty_id INT Key NN Facuty_name Varchar Facuty_principal Varchar 五.系統(tǒng)設計 設計介紹 本設計模型采用 c/s 結(jié)構(gòu),通過 shocket 進行傳輸數(shù)據(jù)。設計模式采用 mvc 結(jié)構(gòu),實現(xiàn)數(shù)據(jù)分層。 權(quán)限分為學生和老師兩種。 StudentFrame,該類主要顯示學生成績管理系統(tǒng)的主界面,和相關(guān)時間的響應。 teacherFrame,該類主要顯示教師成績管理系統(tǒng)的主界面,和相關(guān)時間的響應。 客戶端服務類 StudentService ,服務器 StudentService 前者主要處理前端用戶發(fā)出任務的業(yè)務邏輯,并將指令和數(shù)據(jù)發(fā)給服務器StudentService,接受服務器送回結(jié)果。 dao 主要實現(xiàn)對數(shù)據(jù)庫的查詢刪除操作。 Student, teacher 主要用于傳輸和封裝用戶信息 。 7. 服務器框架類 serverFrame 主要用于開啟服務器,發(fā)出關(guān)閉服務器請求,設置監(jiān)聽客戶端連接,并開啟新線程。 六.系統(tǒng)實現(xiàn) 本模型系統(tǒng)采用的 MVC設計模式,分為 service 模塊, model 模塊, view 模塊。以下為主要代碼 (非主要方法略及實現(xiàn)代碼相似函數(shù)省略 ): 服務器端框架代碼: package serverFrame。 JButton end = null。 JLabel currentTime = null。 StartServerThread sst = null。 (new FlowLayout())。 (this)。 (this)。 ()。 currentTime = new JLabel(未開啟 )。 (end)。 (jsp)。 (currentTime)。 } public static void main(String agrgs[]) { MainFrame mainFrame = new MainFrame()。 (100, 100, 500, 500)。 } Override public void actionPerformed(ActionEvent e) { if(() == ) startActionDealing()。 } //處理結(jié)束按鈕事件 private void endActionDealing() { if(sst==null) (服務器尚未開始服務。 else{ (false)。 wrong (服務器結(jié)束請求已處理,等待中 .....\n)。 ()。 public class LogInFrame extends JFrame { public String getClientType。 (new FlowLayout())。 (new Dimension(300,30