【软件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页。

推荐访问:撰写 面向对象 模版
上一篇:自我评价党员【优秀党员自我评价范文】
下一篇:[家庭档案分类] 我家的家庭档案分类

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有