- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
学生考试成绩分析JAVA程序
一、实验目的
掌握图形用户界面的基本设计方法。
掌握事件驱动程序设计的方法。
掌握JAVA中绘图的方法。
掌握面向对象程序建立的过程。
进一步掌握UML中类图的使用。
二、实验过程
1、系统分析
题目的要求大概可分为3个模块:
数据输入并保存
班级的基本信息
(班级、专业、学生人数)
学生考试成绩信息
(学生名称、学号、成绩)
课程的基本信息
(课程编号、名称、学分、学时、考试日期、考试人数)
成绩查询
输入学生的名称、学号,查询成绩
成绩分析
从对象文件中对学生的成绩进行3方面的分析
(分数分析、分数段分析、图形分析)
要实现这个程序其实就是构建一个面向对象的过程,有以下步骤:
确定、标识系统的类。
描述每个类的属性和方法。
建立类之间的关系。
创建类。
第一步是为系统确定、标识类。有许多方法可以为系统确定类,一种方法是研究系统的运转机制,并且选择一定数量有用的实例或场景。
第二步是对已经确定的每个类描述其属性和方法,它们可以用UML图表示,如上图所示。
第三步是建立类之间的关系。关系来源于欠两步的分析,这三步是相互关联的。当划分的时候,也需要思考它们之间的关系。建立对象之间的关系有助于理解对象之间的相互作用。一个面向对象系统由相互关联、相互合作的对象组合而成。上图说明了本例中类的关系
第四步是编写类的代码。程序虽然较长,但是大部分代码是get和set方法。一旦对象确定下来,就可以通过分析系统的需求和方案来定义他的属性和方法。通常,提供完整的get方法和set方法是一个很好的习惯。当前的项目也许不需要这些方法,但是其他项目可能需要,设计类是应该考虑到今后的项目可能使用它们。
2、系统设计
Scores
-NAME_SIZE=20:int
-NUM_SIZE=20:int
-SCORE_SIZE=4:int
-RECORD_SIZE=(NAME_SIZE+NUM_SIZE+SORE_SIZE):int
+Scores()
+max(double[]scores):double
+min(double[]scores):double
+average(double[]scores):double
+readString(size:int,in:DataInput):String
+writeString(s:String,size:int,out::DataOutput):String
+addActionListener(listener:ActionListener):void
+actionPerformed(e:ActionEvent):void
javax
javax.swing.JFrame
java.awt.even.ActionListener
java.awt.even.ActionListener
+Students()
+writeSores():String
+checkSore(position:long):void
+addActionListener(listener:ActionListener):void
+actionPerformed(e:ActionEvent):void
scoreAnalyze
-amount=Integer.parseInt(jtfAmount.getText()):int
-double[]sores=newdouble[amount]:double
+scoreAnalyze()
+getA():void
+getB():void
BarChart
-w=getWidth():int
-h=getHeight():int
-xCenter=w/2:int
-yCenter=h/2:int
-radius=(int)(Math.min(w,h)*0.8/2):int
-x=xCenter–radius:int
-y=yCenter–radius:int
-amount=Integer.parseInt(jtfAmount.getText()):int
paintComponent(g:Graphics):void
Javax.swing.JPanel
Javax.swing.JPanel
PieChart
-w=getWidth():int
-h=getHeight():int
-xCenter=w/2:int
-yCenter=h/2:int
-radius=(int)(Mat
文档评论(0)