版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 一.緒論</b></p><p><b> 1.1引言</b></p><p> 課程設(shè)計是實踐性教學(xué)中的一個重要環(huán)節(jié),它以某一課程為基礎(chǔ),可以涉及和課程相關(guān)的各個方面,是一門獨立于課程之外的特殊課程。課程設(shè)計是讓同學(xué)們對所學(xué)的課程更全面的學(xué)習(xí)和應(yīng)用,理解和掌握課程的相關(guān)知識?!睹嫦?qū)ο笳n程設(shè)計》是一門重要的專業(yè)
2、基礎(chǔ)課,是計算機(jī)理論和應(yīng)用的核心基礎(chǔ)課程。</p><p><b> 1.2設(shè)計要求</b></p><p> 1.組隊時只能1-3位同學(xué)為一組,要求有數(shù)據(jù)庫連接操作。1.只能1-3個一組,要求有數(shù)據(jù)庫連接操作。</p><p> 2.同組之間的文檔要分開,每個人的文檔只寫自己做的功能模塊。</p><p> 3
3、.每組程序必須保證運行通過,程序和文檔均在老師檢查通過以后方可打印上交!(源程序不需要打?。?lt;/p><p> 注意:老師沒有檢查的小組程序均視不合格。</p><p> 4.倘若需要提前交程序的同學(xué),請上交一個輔導(dǎo)員簽字的請假條。</p><p> 5.最后的上交材料是:a.一份程序說明書打印版,b. 將源程序和文檔的電子版一起放在一個文件夾下,文件夾命名為
4、學(xué)號+姓名</p><p><b> 1.3開發(fā)環(huán)境</b></p><p> 系統(tǒng)平臺:Windows XP</p><p> 數(shù)據(jù)庫服務(wù)器:Mysql</p><p> 開發(fā)工具:Eclipsedk7</p><p> 1.4 開發(fā)人員 </p><p>
5、; 張眾一、胡先洋和樊曙光同學(xué)共同完成</p><p> 二.系統(tǒng)功能介紹
6、
7、 </p><p> 本次課程設(shè)計完成一個基于java的學(xué)生成績管理系統(tǒng)模型,采用c/s結(jié)構(gòu),它的基本功能是學(xué)生通過客戶端連接服務(wù)器登陸,實現(xiàn)成績的查詢以,成績統(tǒng)計查詢;實現(xiàn)老師通過客戶端登陸查詢授課情況,學(xué)生
8、名單,及進(jìn)行賬戶管理。添加學(xué)生成績以及進(jìn)行賬戶管理。(根據(jù)自己的系統(tǒng)詳細(xì)展開敘述)。</p><p> 詳細(xì)的功能描述如下:</p><p> ?。?)用戶登錄驗證:對登錄用戶進(jìn)行登錄驗證。(假設(shè)用戶信息已經(jīng)由數(shù)據(jù)庫管理員設(shè)置)</p><p> ?。?)賬戶管理:學(xué)生可以查看自給的賬戶信息(假設(shè)已由數(shù)據(jù)管理員給出)并可修改密碼。</p><p
9、> 學(xué)生成績查詢:學(xué)生可以通過輸入學(xué)期查詢自己某學(xué)期的選修課程成績(假設(shè)學(xué)修課程表已經(jīng)給出),同時,學(xué)生也可以查詢自己地歷史選課成績清單。</p><p> 學(xué)生成績統(tǒng)計查詢:學(xué)生用戶可以查詢自己各學(xué)期成績統(tǒng)計指數(shù),各學(xué)年成績統(tǒng)計指數(shù)以及歷史成績的指數(shù)。</p><p> (3)老師賬戶管理;管理員可以查看自給的賬戶信息(假設(shè)已由數(shù)據(jù)管理員給出)并可修改密碼。</p>
10、;<p> 授課查詢:老師可以查詢自己的授課情況(假設(shè)已給出)。</p><p> 學(xué)生名單查詢:老師可以查詢選修該老師課程的所有學(xué)生名單。</p><p> 添加學(xué)生成績:老師可以天加學(xué)生的學(xué)生成績。</p><p><b> 三.系統(tǒng)功能模板圖</b></p><p><b> 四.
11、數(shù)據(jù)庫設(shè)計</b></p><p><b> 4.1需求分析</b></p><p><b> 信息錯誤 </b></p><p><b> 信息正確</b></p><p><b> 外部存儲</b></p><p
12、><b> 查詢添加數(shù)據(jù)</b></p><p> 登錄信息 數(shù)據(jù)存儲</p><p><b> 4.2需求要求:</b></p><p> (1)學(xué)生基本信息管理(不由管理系統(tǒng)添加和修改)</p><p> ?。?)學(xué)生登
13、錄信息修改:學(xué)生登錄后可進(jìn)行且僅能修改登錄密碼。</p><p> ?。?)課程信息管理:假設(shè)信息已經(jīng)存在 (不由管理系統(tǒng)添加和修改)</p><p> (4)教職工信息管理:假設(shè)選課表已經(jīng)給出(不由管理系統(tǒng)添加和修改)</p><p> 教師登錄信息修改:教師登錄后可進(jìn)行且僅能修改登錄密碼。</p><p> ?。?)選課管理: 假設(shè)
14、選課表已經(jīng)給出(不由管理系統(tǒng)添加和修改)</p><p> 其中:學(xué)生可以同時選修一門或多門課程。 </p><p> 可以同時為多個學(xué)生選修某一門或某幾門課程。</p><p> ?。?)學(xué)生成績信息管理:老師登陸后,可以按課程添加選學(xué)該老師學(xué)生成績;</p><p> 學(xué)生登錄后按學(xué)期號查詢學(xué)期成績信息,直接查詢歷史成績信息,按學(xué)期
15、(學(xué)年)查詢成績的平均成績,平均績點,總成績,以及歷史平均績點,</p><p> ?。?)用戶注冊信息管理:不同權(quán)限用戶登錄的賬號為學(xué)號或是教工號由,數(shù)據(jù)庫管理員已經(jīng)創(chuàng)建,密碼信息用戶課以自行更改</p><p> (8) 信息查詢:學(xué)生只能查詢該學(xué)生自己基本信息、查詢成績信息及統(tǒng)計信息,老師登錄能查詢該老師自己基本信息教職工基本信息,可以查詢自己的授課情況,可以查詢選修自己課程的學(xué)
16、生名單。</p><p> 按課程號、課程名稱、教師姓名輸出對應(yīng)課程的成績登記表。</p><p><b> 4.3需求總數(shù)</b></p><p> 以上的用戶請求經(jīng)應(yīng)用程序的轉(zhuǎn)化,化為對數(shù)據(jù)庫中的相應(yīng)的表或視圖的操作,數(shù)據(jù)庫再把處理的結(jié)果(或都是錯誤信息)返回結(jié)應(yīng)用程序。應(yīng)用程序把結(jié)果返回給用戶,該結(jié)果可能為一個對表操作的結(jié)果(如插入
17、,刪除等),也可能為一個查詢的結(jié)果,甚至可能為一個錯誤的信息。</p><p><b> 4.5邏輯結(jié)構(gòu)設(shè)計</b></p><p> 由e-r圖經(jīng)過數(shù)據(jù)模型優(yōu)化可得數(shù)據(jù)結(jié)構(gòu), </p><p> Course(course_name,course_i,num)</p><p> Student(student_
18、,student_name,student_faccty,age)Teacher(teacher_id,teacher_name,age)</p><p> Register(num,register_number,register_id,register_type)</p><p> Faculty(faculty_id,faculty_name,facuty_principal)&
19、lt;/p><p> Seleccourse(course_id,student_id,garde,teacher_id,term)</p><p> Teaching_table( teacher_id,course_id)</p><p> 采用mysql數(shù)據(jù)庫建立如下表結(jié)構(gòu):</p><p><b> Register:&
20、lt;/b></p><p><b> Register:</b></p><p><b> Course:</b></p><p><b> Student:</b></p><p><b> Teachaer:</b></p>
21、<p> Selecourse:</p><p> T eaching_table:</p><p> Student_facuty:</p><p><b> 五.系統(tǒng)設(shè)計</b></p><p><b> 5.1設(shè)計介紹</b></p><p>
22、 本設(shè)計模型采用c/s結(jié)構(gòu),通過shocket進(jìn)行傳輸數(shù)據(jù)??蛻舳酥饕獙崿F(xiàn)用戶任務(wù)的識別和分發(fā),服務(wù)端主要實現(xiàn)接受任務(wù)處理業(yè)務(wù)返回結(jié)果通過序列化對象實現(xiàn)數(shù)據(jù)的封裝傳輸。設(shè)計模式采用mvc結(jié)構(gòu),實現(xiàn)數(shù)據(jù)分層。</p><p> 5.2系統(tǒng)設(shè)計的幾個主要類</p><p> 1.登錄類,loginFrame 主要有登陸賬戶,密碼 ,權(quán)限。</p><p> 權(quán)
23、限分為學(xué)生和老師兩種。主要行為是在用戶確認(rèn)之后,判斷用戶類型,封裝用戶信息,后臺驗證成功后,建立用戶服務(wù)類,開啟管理界面。</p><p> 2.學(xué)生管成績理類 StudentFrame,該類主要顯示學(xué)生成績管理系統(tǒng)的主界面,和相關(guān)時間的響應(yīng)。主要行為時判斷用戶的操作(界面事件),并將行為轉(zhuǎn)交給服務(wù)類,實現(xiàn)與用戶的交互。</p><p> 3.教師管成績理類teacherFrame,該
24、類主要顯示教師成績管理系統(tǒng)的主界面,和相關(guān)時間的響應(yīng)。主要行為時判斷用戶的操作(界面事件),并將行為轉(zhuǎn)交給服務(wù)類,實現(xiàn)與用戶的交互。</p><p> 4.服務(wù)類 客戶端服務(wù)類StudentService ,服務(wù)器StudentService</p><p> 前者主要處理前端用戶發(fā)出任務(wù)的業(yè)務(wù)邏輯,并將指令和數(shù)據(jù)發(fā)給服務(wù)器StudentService,接受服務(wù)器送回結(jié)果。后者主要
25、接受前者的數(shù)據(jù)和指令,并分發(fā)業(yè)務(wù),通過model層處理數(shù)據(jù)庫信息用戶信息并得出業(yè)務(wù)結(jié)果,將結(jié)果返回前端。</p><p> 5.數(shù)據(jù)庫處理類 dao 主要實現(xiàn)對數(shù)據(jù)庫的查詢刪除操作。 </p><p> 6 .bean數(shù)據(jù)類 Grade ,Student,Teacher,serialvector</p><p> Grade主要用于前后端傳輸成績實現(xiàn)了序
26、列化。</p><p> Student,teacher主要用于傳輸和封裝用戶信息。</p><p> serialVector主要用于封裝和批量傳輸數(shù)據(jù)。</p><p> 7.服務(wù)器框架類 serverFrame 主要用于開啟服務(wù)器,發(fā)出關(guān)閉服務(wù)器請求,設(shè)置監(jiān)聽客戶端連接,并開啟新線程。</p><p> 8.線程類 ser
27、verthread類 主要用于處理用戶業(yè)務(wù),接受命令,接收數(shù)據(jù),分發(fā)任務(wù),到service層并將結(jié)果傳給客戶端。</p><p><b> 六.系統(tǒng)實現(xiàn)</b></p><p> 本模型系統(tǒng)采用的MVC設(shè)計模式,分為service模塊,model模塊,view模塊。本人負(fù)責(zé)view模塊和bean中g(shù)rade serialVector student tea
28、cher client的封裝數(shù)據(jù)類的實現(xiàn)</p><p> 主要由客戶端的界面,服務(wù)器端界面(bean中之一grade 和serialVector為例)。以下為主要代碼(非主要方法略及實現(xiàn)代碼相似函數(shù)省略):</p><p><b> 服務(wù)器端框架代碼:</b></p><p> package serverFrame;</p&g
29、t;<p> public class MainFrame extends JFrame implements ActionListener{</p><p> JButton start =null;</p><p> JButton end = null;</p><p> JLabel startTime = null;</p&
30、gt;<p> JLabel currentTime = null;</p><p> static JTextArea jta = null;</p><p> StartServerThread sst = null;//處理監(jiān)聽程序</p><p> public MainFrame(){</p><p> su
31、per("成績管理服務(wù)器");</p><p> this.setLayout(new FlowLayout());</p><p> start = new JButton("開啟服務(wù)器");</p><p> start.addActionListener(this);</p><p> e
32、nd = new JButton("結(jié)束服務(wù)器");</p><p> end.addActionListener(this);</p><p> jta = new JTextArea(10,40);</p><p> jta.disable();</p><p> JScrollPane jsp = new J
33、ScrollPane(jta);</p><p> currentTime = new JLabel("未開啟");</p><p> startTime = new JLabel("現(xiàn)在時間是:");</p><p> this.add(end);</p><p> this.add(star
34、t);</p><p> this.add(jsp);</p><p> this.add(startTime);</p><p> this.add(currentTime);</p><p> //this.add(jta);</p><p><b> }</b></p&g
35、t;<p> public static void main(String agrgs[]) {</p><p> MainFrame mainFrame = new MainFrame();</p><p> mainFrame.setVisible(true);</p><p> mainFrame.setBounds(100, 100,
36、500, 500);</p><p> mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</p><p><b> }</b></p><p><b> @Override</b></p><p> public void a
37、ctionPerformed(ActionEvent e) {</p><p> if(e.getSource() == this.start)</p><p> startActionDealing();</p><p> if(e.getSource() == this.end)</p><p> endActionDealing
38、();</p><p><b> }</b></p><p> //處理結(jié)束按鈕事件</p><p> private void endActionDealing() {</p><p> if(sst==null) </p><p> jta.append("服務(wù)器尚未開始服
39、務(wù)。\n");</p><p><b> else{</b></p><p> sst.setStartSign(false);</p><p> // sst.destroy(); wrong</p><p> jta.append("服務(wù)器結(jié)束請求已處理,等待中.....\n&q
40、uot;);</p><p><b> }</b></p><p><b> }</b></p><p> //處理開始服務(wù)器按鈕事件</p><p> private void startActionDealing() {</p><p> //開啟新線程處理監(jiān)聽
41、</p><p> sst= new StartServerThread();</p><p> sst.start();</p><p><b> }</b></p><p> public static JTextArea getJta() {………</p><p> public
42、static void setJta(JTextArea jta) {………</p><p> public static void setJta(JTextArea jta) {………</p><p><b> }</b></p><p><b> 登陸界面 </b></p><p> p
43、ackage Frames;</p><p> public class LogInFrame extends JFrame {</p><p> public String getClientType;</p><p> public LogInFrame() {</p><p> super("登陸");<
44、;/p><p> this.setLayout(new FlowLayout());</p><p> LoginPanel loginPanel = new LoginPanel(this);</p><p> loginPanel.setPreferredSize(new Dimension(300,300));</p><p> t
45、his.add(loginPanel,BorderLayout.CENTER);</p><p> this.setVisible(true);</p><p> this.setResizable(false);</p><p> this.setBounds(500, 200, 400, 400);</p><p> this.s
46、etDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</p><p><b> }</b></p><p><b> }</b></p><p><b> 客戶端學(xué)生管理界面</b></p><p> package Frames
47、;</p><p> public class StudentManager extends JFrame{</p><p> Icon icon =null;</p><p> Client client = null;</p><p> StudentService ss = null;</p><p>
48、 JPanel jp =null;</p><p> public StudentManager(Client client, StudentService ss){</p><p> super("學(xué)生成績管理系統(tǒng)");</p><p> this.ss = ss;</p><p> imageIcon();&
49、lt;/p><p> this.client = client;</p><p> addcompoents();</p><p> this.setVisible(true);</p><p> this.setBounds(400, 100, 500, 500);</p><p> this.setDefau
50、ltCloseOperation(JFrame.EXIT_ON_CLOSE);</p><p><b> }</b></p><p> private void addcompoents() {</p><p> setLayout(new BorderLayout());</p><p> Container
51、con = getContentPane();</p><p> StudentManagerHeadPanel smhp = new StudentManagerHeadPanel(client);</p><p> con.add(smhp,BorderLayout.NORTH);</p><p> StudentManBody smb = new Stu
52、dentManBody(client,ss,this);</p><p> con.add(smb,BorderLayout.CENTER);</p><p> JLabel lb = new JLabel("");</p><p> lb.setIcon(icon);</p><p> con.add(lb,Bo
53、rderLayout.SOUTH);</p><p><b> }</b></p><p> void imageIcon(){………</p><p> public void setJp(JPanel jp) {………</p><p><b> }</b></p><p
54、> 客戶端教師管理界面:</p><p> package Frames;</p><p> public class StudentManager extends JFrame{</p><p> Icon icon =null;</p><p> Client client = null;</p><
55、p> StudentService ss = null;</p><p> JPanel jp =null;</p><p> public StudentManager(Client client, StudentService ss){</p><p> super("學(xué)生成績管理系統(tǒng)");</p><p&g
56、t; this.ss = ss;</p><p> imageIcon();</p><p> this.client = client;</p><p> addcompoents();</p><p> this.setVisible(true);</p><p> this.setBounds(400
57、, 100, 500, 500);</p><p> this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</p><p><b> }</b></p><p> private void addcompoents() {</p><p> setLayout(
58、new BorderLayout());</p><p> Container con = getContentPane();</p><p> StudentManagerHeadPanel smhp = new StudentManagerHeadPanel(client);</p><p> con.add(smhp,BorderLayout.NORTH
59、);</p><p> StudentManBody smb = new StudentManBody(client,ss,this);</p><p> con.add(smb,BorderLayout.CENTER);</p><p> JLabel lb = new JLabel("");</p><p>
60、lb.setIcon(icon);</p><p> con.add(lb,BorderLayout.SOUTH);</p><p><b> }</b></p><p> void imageIcon(){………</p><p><b> }</b></p><p>
61、;<b> 添加學(xué)生信息類</b></p><p> package Frames;</p><p> public class AddStudentGrade extends JFrame implements ActionListener{</p><p> Label prompt=new Label("請 輸 入 各
62、項 添 加 信 息");</p><p> Label lbId,lbName,lbAge,TS;</p><p> TextField txtId,txtName,txtAge,txtTs;</p><p> Button btnAdd,btnQuit,btnreAdd;</p><p> TeacherService t
63、ss =null;</p><p> public AddStudentGrade(TeacherService ts){</p><p> super("添加學(xué)生信息");</p><p> this.tss= ts;</p><p> setResizable(false);</p><p&
64、gt; TS=new Label("學(xué)期:");</p><p> lbId=new Label("學(xué)號:");</p><p> lbName=new Label("課程:");</p><p> lbAge=new Label("成績:");</p><p
65、> txtTs=new TextField(8);</p><p> txtId=new TextField(10);</p><p> txtName=new TextField(10);</p><p> txtAge=new TextField(10);</p><p> btnAdd=new Button("
66、添加到數(shù)據(jù)庫");</p><p> btnQuit=new Button("退出");</p><p> btnreAdd=new Button("繼續(xù)添加");</p><p> btnAdd.addActionListener(this);</p><p> btnQuit.ad
67、dActionListener(this);</p><p> btnreAdd.addActionListener(this);</p><p> this.setLayout(new FlowLayout());</p><p> add(prompt);</p><p> this.add(lbId);</p>
68、<p> this.add(txtId);</p><p> this.add(lbName);</p><p> this.add(txtName);</p><p> this.add(lbAge);</p><p> this.add(txtAge);</p><p> this.add(T
69、S);</p><p> this.add(txtTs);</p><p> this.add(btnAdd);</p><p> this.add(btnreAdd);</p><p> his.add(btnQuit);</p><p> this.setSize(170, 400);</p>
70、<p> this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);</p><p> this.setVisible(true);</p><p><b> }</b></p><p> public void actionPerformed(ActionEvent e
71、){</p><p> if(e.getSource()==btnQuit){dispose();}</p><p> if(e.getSource()==btnAdd){</p><p> String id=txtId.getText();</p><p> String name=txtName.getText();</p
72、><p> String age=txtAge.getText();</p><p> String ts=txtTs.getText();</p><p> if(id.equals("")||name.equals("")||age.equals("")||ts.equals(""
73、)) {</p><p> JOptionPane.showMessageDialog(this, "不允許有選項為空!");</p><p><b> return;}</b></p><p> Grade grade = new Grade();</p><p> grade.setCou
74、rseName(name);</p><p> grade.setGrade(Integer.parseInt(age));</p><p> grade.setTerm(Integer.parseInt(age));</p><p> boolean b = tss.addGrade(grade);</p><p><b>
75、 if(b)</b></p><p> JOptionPane.showMessageDialog(this, "添加成功!");}</p><p> //清空各選項,以便下次輸入學(xué)生信息</p><p> if(e.getSource()==btnreAdd)</p><p> {txtId.set
76、Text("");</p><p> txtName.setText("");</p><p> txtAge.setText("");</p><p> txtTs.setText("");}</p><p><b> }</b>&
77、lt;/p><p> //列表時間監(jiān)聽以及做出的反應(yīng)</p><p><b> }</b></p><p><b> Grade 類</b></p><p> package Bean;</p><p> import java.io.Serializable;<
78、;/p><p> public class Grade implements Serializable{</p><p><b> /**</b></p><p><b> * </b></p><p><b> */</b></p><p> p
79、rivate static final long serialVersionUID = 1L;</p><p> String courseName = null ;</p><p> String studentName = null ;</p><p> String studentFaculty =null;</p><p>
80、public String getStudentFaculty() {</p><p> return studentFaculty;</p><p><b> }</b></p><p> public void setStudentFaculty(String studentFaculty) {</p><p>
81、; this.studentFaculty = studentFaculty;</p><p><b> }</b></p><p> int grade = 0;</p><p> int term = 0;</p><p> public String getCourseName() {</p>
82、<p> return courseName;</p><p><b> }</b></p><p> public String getStudentName() {</p><p> return studentName;</p><p><b> }</b></p
83、><p> public int getGrade() {</p><p> return grade;</p><p><b> }</b></p><p> public int getTerm() {</p><p> return term;</p><p>
84、<b> }</b></p><p> public void setCourseName(String courseName) {</p><p> this.courseName = courseName;</p><p><b> }</b></p><p> public void
85、 setStudentName(String studentName) {</p><p> this.studentName = studentName;</p><p><b> }</b></p><p> public void setGrade(int grade) {</p><p> this.gr
86、ade = grade;</p><p><b> }</b></p><p> public void setTerm(int term) {</p><p> this.term = term;</p><p><b> }</b></p><p><b&g
87、t; }</b></p><p> Serialvector類</p><p> package Bean;</p><p> import java.util.*;</p><p> public class SerialVector implements java.io.Serializable{</p>
88、<p><b> /**</b></p><p><b> * </b></p><p><b> */</b></p><p> private static final long serialVersionUID = 1L;</p><p> pri
89、vate Vector<Grade> vect=new Vector<Grade>();</p><p> public void add(Object obj){</p><p> this.vect.add((Grade) obj);</p><p><b> }</b></p><p>
90、; public Grade get(int arg0){</p><p> if(vect.isEmpty())</p><p> return null;</p><p> Grade g= this.vect.get(arg0);</p><p> vect.remove(arg0);</p><p>
91、; return g;</p><p><b> }</b></p><p> public Vector<Grade> getVect() {</p><p> return vect;</p><p><b> }</b></p><p> p
92、ublic void setVect(Vector<Grade> vect) {</p><p> this.vect = vect;</p><p><b> }</b></p><p><b> }</b></p><p><b> 2.系統(tǒng)運行截圖</b&g
93、t;</p><p><b> 七.總結(jié):</b></p><p> 本管理系統(tǒng)作為管理系統(tǒng)的縮影,對模型進(jìn)行了簡化,代表性的實現(xiàn)了c/s結(jié)構(gòu)的成績管理系統(tǒng)。實現(xiàn)用戶封閉信息查詢(只準(zhǔn)許查個人信息),由于時間和能了問題,對老師,課程,學(xué)生等實體屬性以及管理系統(tǒng)功能進(jìn)行簡化處理,代表性的給出一些查詢,統(tǒng)計,報表功能,對數(shù)據(jù)表分表實現(xiàn)一定的優(yōu)化,因此可進(jìn)行屬性擴(kuò)展,有
94、一定的擴(kuò)展能力。此系統(tǒng)不是封閉系統(tǒng),需要在選課表,授課表,注冊表給定的條件下運行。</p><p> 在開發(fā)的過程中遇到困主要集中在于如何保持socket握手連接傳送數(shù)據(jù)的統(tǒng)一,如何保持代碼的調(diào)試的效率,對于軟件的良好分層及上下層數(shù)據(jù)的傳輸定義和代碼的重用以實現(xiàn)邏輯的清晰,對視圖的組件的動態(tài)控制。如何減少組件之間的耦合,實現(xiàn)邏輯的清晰。</p><p> 通過這次課程設(shè)計學(xué)會如何處理自
95、己遇到的問題,理解到獨立思考的能力的重要性以及合理利用優(yōu)秀設(shè)計模式的必要性;學(xué)會如何進(jìn)行代碼的跟蹤調(diào)試,實現(xiàn)junit測試,跟好的掌握了java開發(fā)軟件的的基本操作,以及面向?qū)ο笤O(shè)計的分析和思想;熟悉了eclipse的開發(fā)環(huán)境,用優(yōu)秀的框架減少自己寫代碼的工作量;懂得了團(tuán)隊開發(fā)的力量及良好交流的重大意義。更好的理解了復(fù)雜系統(tǒng)良好分層和良好耦合度帶來的代碼重用的必要性;明白軟件需求分析,軟件架構(gòu)的重要性。在實戰(zhàn)中鍛煉自己的開發(fā)能力,在技術(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計--學(xué)生成績管理系統(tǒng)
- java課程設(shè)計--學(xué)生成績管理系統(tǒng)
- java課程設(shè)計----學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)java課程設(shè)計
- java學(xué)生成績管理系統(tǒng) 課程設(shè)計
- java學(xué)生成績管理系統(tǒng)課程設(shè)計
- java課程設(shè)計報告---學(xué)生成績管理系統(tǒng)
- java學(xué)生成績管理系統(tǒng)課程設(shè)計報告
- java學(xué)生成績管理系統(tǒng)課程設(shè)計報告
- java學(xué)生成績管理系統(tǒng)課程設(shè)計報告
- java程序課程設(shè)計---學(xué)生成績管理系統(tǒng)的設(shè)計
- 課程設(shè)計---基于java的學(xué)生成績管理系統(tǒng)的設(shè)計與實現(xiàn)
- java學(xué)生管理系統(tǒng)課程設(shè)計--學(xué)生成績管理信息系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 課程設(shè)計——學(xué)生成績管理系統(tǒng)
- 課程設(shè)計---學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
評論
0/150
提交評論