微波炉仿真实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西安邮电学院

软件工程实验报告

——微波炉控制仿真

系部名称:

学生姓名:

专业名称:

班级:

一、实验目的

1、了解程序仿真的基本步骤

2、掌握需求分析的描述,并复习java 面向对象的程序设计方法

3、应用学到的软件设计方法

二、开发平台

本次实验老师要求用面向对象的编程语言,所以我选择了java ,在eclipse 底下进行编写

三、应用程序需求分析

1、微波炉原理

微波炉就是用微波来煮饭烧菜的。微波是一种电磁波。这种电磁波的能量不仅比通常的无线电波大得多,而且还很有“个性” :微波一碰到金属就发生反射,金属根本没有办法吸收或传导它;微波可以穿过玻璃、陶瓷、塑料等绝缘材料,但不会消耗能量;而含有水分的食物,微波不但不能透过,其能量反而会被吸收。微波炉里的磁控管的电子管是个微波发生器,它能产生每秒钟振动频率为24.5亿次的微波。这种肉眼看不见的微波,能穿透食物达5cm 深,并使食物中的水分子也随之运动,剧烈的运动产生了大量的热能,于是食物"煮"熟了。(参考百度)

2、需求分析

以前没有用过微波炉,不知道到底是如何工作的,就在网上看了些微波炉的使用,联想现实生活中用到的微波炉应有的功能,将它的工作原理用和主要功能用程序来模拟实现。

刚开始我想的这个微波炉应该简单易用,适用于各类人群。首先要安全。所以,做饭期间不能打开炉门,饭熟了或者炉内温度过高都应有警报提示,最好能有多种警报方式,并自动达到安全电压。其次,微波炉应提供多种做饭方式和方便简单的操作,方便大多数用户的需求。再者,做饭期间应该显示微波炉的工作状态及时长,并可以调节微波炉的工率,还应该能定时自动做饭,做饭前可以检测炉内是否放有食物寄托盘是否放好。主要功能就是以上所述,还有其他一些功能需求,就不在赘述。

3、功能、执行模块

功能模块

微波炉

煮饭 炒饭

调节功率 警报提示

执行模块

微波炉

4、软件截图

四、程序设计

本程序共分为五部分,主要代码如下

1)、application ()主窗口

public class Application {

private static JFrame frame = new JFrame("微波炉仿真程序");

private static FoodNotMatureWindow foodNotMaWin = new FoodNotMatureWindow(frame);

通电

参数设置 取出食物

加热完毕 显示时间 安全监测 加热

private static FoodMatureWindow foodMaWin = new FoodMatureWindow(frame); public Application(){

frame.setSize(500, 400);

frame.setVisible(true);

rame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setLayout(null);

frame.setResizable(false);

publicInterFace.setWindowCentre(frame);

MainWindow mainwindow = new

MainWindow();frame.setContentPane(mainwindow);

}

public static void main(String[] args){

new Application();

}

public static void foodMatureDialog(){

foodMaWin.setVisible(true);

}

2)、FoodMatureWindow()食物熟

public class FoodMatureWindow extends JDialog {

private JLabel label = new JLabel("食物成熟,请取出食物");

public FoodMatureWindow(JFrame parent) {

super(parent,"提示",true);

setResizable(false);

PublicInterFace.setWindowCentre(this);

setLayout(new BorderLayout());

setSize(300,100);

label.setFont(new Font("Serif", Font.BOLD, 18));

add(label,BorderLayout.CENTER);

}

}

3)、FoodNotMatureWindow()食物未熟

public class FoodNotMatureWindow extends JDialog {

private JPanel panel = new JPanel();

private JPanel panelCenter = new JPanel();

private JLabel label = new JLabel("食物尚未成熟,确定要取出"); private JButton buttonCertain = new JButton("确定");

private JButton buttonCancel = new JButton("取消");

private boolean isCertain = false;

public FoodNotMatureWindow(JFrame parent) {

super(parent,"警告",true);

setResizable(false);

PublicInterFace.setWindowCentre(this);

setSize(300,100);

label.setFont(new Font("Serif", Font.BOLD, 18)); buttonCertain.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent arg0) {

isCertain = true;

setNotVisi();

}

});

buttonCancel.addActionListener(new ActionListener(){

public void actionPerformed(AcionEvent arg0) {

isCertain = false;

setNotVisi(); }

});

panel.add(buttonCertain);

panel.add(buttonCancel);

panelCenter.add(label);

panelCenter.setLayout(new FlowLayout());

setLayout(new BorderLayout());

add(panel,BorderLayout.SOUTH);

add(panelCenter,BorderLayout.CENTER);

}

public void setNotVisi(){

this.setVisible(false);

}

public boolean isCertain() {

return isCertain;

}

相关文档
最新文档