【软件16级面向对象程序课程设计报告撰写格式模版】面向对象课程设计
来源:注会 发布时间:2020-03-30 点击:
**商学院
《面向对象程序》 课程设计报告
题 目
《模拟时钟》程序设计
姓
名:
***
学
号:
160920057
专
业:
计算机科学与技术
班
级:
计科1602
指导教师:
**
职
称:
老师
计算机与信息工程学院
2017年6月
课程设计评审表
等级
成绩
组成
优秀
良好
中等
及格
不及格
平
时
成
绩
1.考勤满勤
2.作业全,均在A以上。
3.实验报告全,均在A以上。
1.考勤90%到
2.作业90%全,均在B以上。
3.实验报告90%全,均在B以上。
1.考勤80%到
2.作业80%全,均在B以上。
3.实验报告80%全,均在B以上。
1.考勤70%到
2.作业70%全,均在C以上。
3.实验报告70%全,均在C以上。
1.考勤70%以下。
2.作业70%以下,或均在C以下。
3.实验报告70%以下,或均在C以下。
课
程
设
计
成
绩
设
计
文
档
1.完全按照课程设计文档规范要求。
2.结构合理、层次清晰。
3.内容充实、设计详细。
1.完全按照课程设计文档规范要求。
2.结构较合理、层次较清晰。
3.内容较充实、设计较详细。
1.基本按照课程设计文档规范要求。
2.结构较合理、层次较清晰。
3.内容较充实、设计较详细。
1.基本按照课程设计文档规范要求。
2.结构欠合理、层次欠清晰。
3.内容欠充实、设计欠详细。
1.没有按照课程设计文档规范要求。
2.结构不合理、层次不清晰。
3.内容不充实、设计不详细。
界
面
设
计
1.布局合理。
2.界面美观,色调和谐,风格统一。
3.无链接错误。
1.布局较合理。
2.界面较美观,色调和谐,风格统一。
3.无链接错误。
1.布局较合理。
2.界面较美观,色调和谐,风格统一。
3.链接错误很少。
1.布局欠合理。
2.界面欠美观。
3.链接错误较少。
1.布局不合理。
2.界面不美观。
3.链接错误很多。
功
能
设
计
1.能够很好的完成课程设计题目的基本功能。
2.可以完成异常数据和边界数据的友好处理。
3.类与接口的设计合理。
4.功能实现无错误。
1.能够很好的完成课程设计题目的基本功能。
2.基本可以完成异常数据和边界数据的友好处理。
3.类与接口的设计合理。
4.功能实现错误较少。
1.能够很好的完成课程设计题目的基本功能。
2.基本可以完成异常数据和边界数据的友好处理。
3.类与接口的设计较合理。
4.功能实现错误较少。
1.能够完成课程设计题目的大部分基本功能。
2.未能完成异常数据和边界数据的友好处理。
3.类与接口的设计较合理。
4.功能实现错误较多。
1.未能完成课程设计题目的大部分基本功能。
2.未能完成异常数据和边界数据的友好处理。
3.类与接口的设计不合理。
4.功能实现错误较多。
综合成绩评定:
评阅老师(签章):
年
月
日
目
录
1、课程设计的目的与要求……………………………………….…………………..1
1.1课程设计的目的…………………………….……………………...2
1.2课程设计的要求……………………….……………………….3
1.3课程设计的实验环境……………………………….……………………....4
2、课程设计内容….…………………………………………………………….5
2.1课程设计主要内容………...……………………………………………………6
2.2概要设计……………...………….……….....…………………………7
2.2.1自定义说明…………………….…….…………………………………..8
2.3详细设计…………………………….………………………………….....9
2.4测试设计
2.4.1程序运行情况……………………………………………………………....10
参考文献……………………….…………………………………11
附录……………………………….………………………………12
1、 课程设计的目的与要求
1.1 课程设计目的
1.1.1.深入理解Java面向对象的设计思想
1.1.2.提高用Java语言编程的能力
1.1.3.提高学生事件响应的理解
1.1.4.提高学生的逻辑思维能力
1.1.5学会制作软件开发文档
1.2课程设计的要求
1.2.1使用绘图API绘制一款电子时钟。且时钟具有运行效果
1.2.2要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计、解答类似问题
1.2.3培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高
1.3课程设计的实验环境
1.3.1硬件要求能运行Windows9.X操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境J2SDK和Eclipse开发工具
2、 课程设计内容
2.1课程设计主要内容
JAVA是一种跨平台、面向对象、基于网络及支持多媒体的编程语言。自1999年5月发布以来,JAVA很快成为开发因特网应用程序的极具魅力的语言。JAVA程序可以插入HTML页,有Web浏览器下载,为Web客户带来动画和交互式的享受。JAVA的强大功能不仅仅限于Web应用程序,它还是一种面向对象的通用编程语言,其功能编程完备,可以开发单独的应用程序。基于上述的优点可以看出,现如今的
JAVA应用程序之广泛,所以我的课程设计也选用了此编程工具,对生活中最常见的时钟进行编写,由于我是刚刚开始接触JAVA,编程水平有限无法实现复杂的编程项目,所以本次编写的程序是一个简单的,没有接触到数据库与错误异常的知识,这也是刚刚起步,不过我会在今后的学习中不断深入研究与学习,争取在下一个编程项目中做出更多更复杂的程序来。
2.2概要设计
2.2.1自定义说明
本次课程设计是利用本学期所学习的JAVA编程工具制作出一个可以显示时间的JAVA时钟程序软件。利用JAVA制作的原因是因为JAVA有着别的编程语言不能媲美的魅力。
启动时钟程序并运行,可以看到时钟界面,最上面写着标题“姚希瑶的小时钟”,当然这是可以在程序中任意修改的。界面的中心是表盘和表针,以模拟形式显示当前时间,界面颜色也可设置,另外它有三个指针,时针、分针和秒针,分别设置了不同颜色以便观察,这与我们日常生活中用的时钟是一模一样的。这些项目构成了整个JAVA时钟程序界面,此程序占用资源少,相应时间短,精确度与灵敏度高。
2.3详细设计
本时钟程序定义了时钟程序的界面,绘制出圆形表盘、表针(时针、分针和秒针)以及时针的窗口,然后获取计算机当前的时间。
2.4测试分析
2.4.1程序运行情况
在开发大型软件系统的漫长过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无瑕,因此,在软件生命周期的每个阶段都不可避免地会产生差错。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早地发现并纠错;但是,经验表明审查并不能发现所有差错,此外在编码过程中还不可避免地会引入新的错误。如果在软件投入生产性运行之前,没有尽可能早地发现并纠错,则这些差错迟早会在生产过程中暴露出来,那时不仅改正这些错误的代价更高,而且往往会造成很恶劣的后果。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。
参考文献:
1. 耿祥义 JAVA大学实用教程 电子工业出版社
2. 李欣 软件工程师 北京:人民邮电出版社
3. 马小军 JAVA程序设计 电子工业出版社
4. 柯温钏 JAVA例题教程 中国铁道出版社
5. 李诚 JAVA 2 简明教程 北京:清华大学出版社
附
录:
package Program;
import java.awt.*;
import java.awt.event.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import javax.swing.*;
import java.util.Timer;
import java.util.TimerTask;
import java.util.*;
class MainFrame extends JFrame implements Runnable{
private int width = 500;
private int height = 500;
private int hour = 1;
private int minute = 1;
private int second = 1;
//半径
private double R = (width-100)/2.0;
private double P =
Math.PI/6;
private boolean tag = true;
private Map<Integer,Double> xMap = new HashMap<Integer,Double>();
private Map<Integer,Double> yMap = new HashMap<Integer,Double>();
public MainFrame() {
this.setTitle("我的小钟");
this.setSize(new Dimension(width,height));
this.setLocation(200,200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
for(int i=1;i<=12;i++) {
double e = P*i;
double x = Math.sin(e)*R + R + 50;
double y = R + 50 - Math.cos(e)*R ;
xMap.put(i, x);
yMap.put(i, y);
}
new Thread(this).start();
}
public int calX(double P,int i,int R1){
double e = P*i;
double x = Math.sin(e)*R1 + R + 50;
return (int)x;
}
public int calY(double P,int i,int R1){
double e = P*i;
double y = R + 50 - Math.cos(e)*R1 ;
return (int)y;
}
public void paint(Graphics g){
Graphics2D g2 = (Graphics2D) g;
//钟的背景和钟盘只绘制一次
g2.setColor(Color.BLACK);
g2.fillRect(0,0,width,height);
g2.setColor(Color.BLUE);
g2.drawOval(35,35,width-70,height-70);
double x = 0, y = 0;
for(int i=1;i<=12;i++) {
double e = P*i;
x = xMap.get(i);
y = yMap.get(i) ;
g2.drawString(String.valueOf(i),(int)x,(int) y);
}
tag = false;
//绘制钟心
g2.fillRect(30+(width-70)/2,30+(height-70)/2,10,10);
//绘制数字时钟
g2.drawString(hour+":"+minute+":"+second,20 + (width-75)/2,100);
//绘制时针
g2.setColor(Color.RED);
if(hour>12){
hour -= 12;
}
g2.drawLine(35+(width-70)/2,35+(width-70)/2,calX(Math.PI/6+Math.PI/120,hour,60), calY(Math.PI/6+Math.PI/120,hour,60));
//绘制分针
g2.setColor(Color.YELLOW);
g2.drawLine(35+(width-70)/2,35+(width-70)/2,calX(Math.PI/30,minute,100), calY(Math.PI/30,minute,100));
//绘制秒针
g2.setColor(Color.GREEN);
g2.drawLine(35+(width-70)/2,35+(width-70)/2,calX(Math.PI/30,second,150), calY(Math.PI/30,second,150));
g2.dispose();
}
public void run() {
Timer timer = new Timer();
timer.schedule(new TimerTask(){
public void run() {
hour = new java.util.Date().getHours();
minute = new java.util.Date().getMinutes();
second = new java.util.Date().getSeconds();
repaint();
}
},0,1000);
}
public static void main(String[] args){
MainFrame mainf = new MainFrame();
}
}
(2)文档一律用Word 2000版本以上编辑和排版,激光打印机、A4纸张打印。其中,封面、目录、作品验收表、评审表单面打印,正文双面打印。
(3)文档的装订顺序为:封面、评审表、作品验收表、目录、正文。若文档的最后一面的页码为偶数,则装订时要加装一张白纸。
(4)在Word中插入图片后,不要对图进行长宽方向的非比例缩放。在图上单击右键,在快捷菜单中选择“设置图片格式”命令,打开“设置图片格式”对话框,然后在其中的“大小”选项卡中设置图片高度为70%~80%(根据图片的具体大小确定,一般全屏图设为70%,对话框等其他图可设为80%,使图中文字经缩放后为6号字大小)。
(5)图表编号及章节标题编号不使用Word的自动编号功能。
(6)不要用空格或添加回车键的方式来调整对齐或上下间隔,而应该使用Word自带的段落命令及分隔符等命令来调整。各级标题末尾不要加标点符号。
(7)不出现孤立编号,例如,不出现只有1.4.1而无1.4.2等后续编号的情况。
(8)表示数值范围用“34~56”,不用“34—56”。
(9)对于文档的正文部分,需在页脚部分设置页码,详见本文档中的第5、6页。
推荐访问:撰写 面向对象 模版