人机交互——设计一个简单的计算器 附有状态转换图

上传人:第*** 文档编号:34048932 上传时间:2018-02-20 格式:DOC 页数:24 大小:80.50KB
返回 下载 相关 举报
人机交互——设计一个简单的计算器 附有状态转换图_第1页
第1页 / 共24页
人机交互——设计一个简单的计算器 附有状态转换图_第2页
第2页 / 共24页
人机交互——设计一个简单的计算器 附有状态转换图_第3页
第3页 / 共24页
人机交互——设计一个简单的计算器 附有状态转换图_第4页
第4页 / 共24页
人机交互——设计一个简单的计算器 附有状态转换图_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《人机交互——设计一个简单的计算器 附有状态转换图》由会员分享,可在线阅读,更多相关《人机交互——设计一个简单的计算器 附有状态转换图(24页珍藏版)》请在金锄头文库上搜索。

1、1人机交互实验报告-简单计算器的功能实现院系:信息工程学院专业: 组员姓名: 指导教师: 2010年 11月 21日2目录一、实验目的 3二、实验内容 3三、实验设计的基本思想和方法要求 43.1软件开发方式 43.2开发语言 43.3开发集成环境 43.4 设计思路 43.5系统硬件要求 53.6软件要求 5四、实验过程和步骤 54.1需求分析 54.2概要设计 54.3详细设计 634.3.1类的设计 6 4.3.2算法的设计 64.3.3界面的设计 64.4编写代码 64.5系统测试 74.5.1测试目的 74.5.2测试过程 7五、实验心得 8一、实验目的信息技术的高速发展给人类生产、

2、生活带来了广泛而深刻的影响。新产品、新概念层出不穷,不断冲击着人们的视听。这些高科技成果为人们带来了便捷、快乐的同时,也促进了人机交互技术的发展。为使我们更进一步的了解人机交互这门技术,实现简单计算器的功能实验意在巩固我们所学的基础理论和专业知识,掌握利用状态转换网络进行系统设计的方法,增强我们分析问题解决问题的能力,提高我们的动手能力和创新能力。4二、实验内容实现一个简单的计算器程序,具体内容如下:设计一个四则运算计算程序,实现“operand1 operator operand2=”,operand1 可以是整数或者小数或者是上一次的运算结果,operand2 是整数或者小数,操作符是“+

3、 - * /”。另外还要实现辅助键的功能,CE(Clear Entry)键清零, C 键取消用户上一次的操作。界面如下图:三、实验设计的基本思想和方法要求3.1软件开发方式本次实验采用队友软件开发方式,小组成员根据实验要求进行需求分析,根据平时使用计算器的经验讨论出各个功能模块的相关设计及其基本实现方法,利用状态转换网络进行系统设计,由组长进行分工,负责整个设计,组长协同组员完成各个模块的设计编码实现和文档,最终完成编码的整合及测试工作。53.2开发语言由于 Java 语言作为一种完全面向对象的语言,它吸取了其他语言的各种优点,设计简洁而优美,使用起来方便而有效。所以本次实验设计采用 Java

4、 语言进行编码, Java 语言中的文本框、事件监听器、标签、按钮等多种组件均被用在本次实验中。3.3开发集成环境Java 不仅提供了一个丰富的语言和运行环境,而且还提供了一个免费的开发工具集,即 JDK。由于本次实验采用 Java 语言进行编码,故开发集成环境选择安装在 JDK 环境下,运用不仅仅提供最基本的编辑、编译功能,而且还提供了强大附加功能的 Myeclipse-7.5 进行集成编码测试。3.4 设计思路本实验设计的计算器应用程序 JFrame 继承自框架类( Frame)。通过Swing 包中的可视化组件进行界面设计,通过对面板的监听以进行后台的计算。设计中采用模型-视图-控制器(

5、MVC )模式,用模型存储内容,用视图显示内容,用控制器处理输入。同时用类来实现抽象和封装,实现模块化处理。3.5系统硬件要求内存 1024MB,硬盘 SCSI 36GX2 ,CPU 双至强.0,双千兆卡,250W 400W 电源。3.6软件要求由于本次实验采用 Java 语言进行编码实现,故需要安装 JDK 环境,或者安装在 JDK 环境下可以进行编译运行 Java 编码的软件,如 Myeclipse 等软件。6四、实验过程和步骤在本次实验过程中,系统设计主要由五部分组成:需求分析、概要设计、详细设计、编写代码和系统测试。如图 4-1 所示:图 4-14.1需求分析在日常生活中经常需要使用到

6、计算器,比如科学计算、数值计算、会计业务等。用 Java 语言实现一个简单精巧实用的计算器,不仅使我们更熟悉 Java 语言的使用,而且更进一步了解人机交互这门技术,熟悉各个状态间的转换关系。本次实验项目需要实现一个简单的四则运算的计算器,拥有加、减、乘、除等基本运算功能及相应的状态转换。4.2概要设计本次实验设计的简单计算器包含的功能有:加、减、乘、除等基本功能。计算器的屏显为 JTEXTFIELD 控件,显示屏下面的数字、操作符按键为JBUTTON 控件,每种计算功能均为独立设计算法。CE(Clear Entry)键可以清除所有已输入的数据从头计算,C 键取消用户上一次的操作,重新输入数据

7、可以继续当前的计算。4.3详细设计详细设计部分则是在概要设计的基础上对计算器的功能实现做出更为详细的介绍。主要对各个设计模块中的各个类做出说明,包括对每个类如何在以后的程序设计中的定义做出介绍,并做出相应的说明,同时对各个参数也会做出介绍。需求分析 概要设计 详细设计 编写代码 系统测试74.3.1类的设计本实验使用类对计算器的各个功能进行抽象和封装。首先定义计算器类Calculator,主要进行计算器的界面设计。然后分别对输入数字、输入运算符、输入退格和清除分别设计类 A、类 Operating、类 Clear,以实现对相应操作的抽象和封装。实验中继承的类是默认的系统软件包 java.lan

8、g 中的 Object 类。4.3.2算法的设计对每个类单独设计算法,以增大内聚性,减小耦合性。详细算法见源代码。4.3.3界面的设计界面设计秉持着简洁明了,符合人们习惯的原则。本实验中,先将 JLable 标签、JtextField 文本框、Jbutton 按钮等轻量级控件放在中间容器 Container 中,再将容器添加到顶层容器 mainJFrame 中。同时对按钮创建按钮事件监听器,以随时对按钮事件进行监听。4.4编写代码这一部分主要根据前面的详细设计内容用具体的语言实现计算器系统,主要采用 Java 语言实现,这一部分主要是将前一阶段的设计思想用代码的形式实现。4.5系统测试4.5.

9、1测试目的测试是软件设计中一个独立的、关键的阶段,也是保证软件质量的重要手段。为了发现系统的错误,使系统更加完善,就必须进行测试,测试阶段的目标就8是为了验证各阶段所完成的工作是否满足需求分析和详细的设计要求,识别出期望的结果和真正结果之间的差别,以便修正设计和代码实现中潜在的错误,保证系统运行的正确性和功能的完备性,提高系统运行的性能。4.5.2测试过程(1)代码审查人工测试源程序由编写程序本人非正式的进行,小组内的其他成员再进行核查。(2)软件调试在成功测试之后,发现的是故障的表现,小组成员对发现的错误进行了诊断,找到其发生的原因和位置,然后改正错误。组员的调试工作包括: 对错误进行定位并

10、分析原因。 对于错误部分重新编码以改正错误。 重新调试。五、实验心得自从拿到题目到完成整个编程,从理论到实践,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到了种种问题,尤其是运行程序时不断发现意想不到的 bug,但这毕竟独立做的,难免会遇到过问题。同时在设计的过程中发现了9自己的不足之处,对以前所学过的知识理解得不够深刻,掌

11、握得不够牢固,比如说算法和监听等,以后还得继续加强。状态转换图:清 除输 入 数 字输 出 结 果输 入 操 作 符清 除除 数 为 0 输 入 运 算 符输 入 数 字输 出 结 果 输 出 结 果输 出 结 果输 出 结 果 清 除输 入 运 算 符输 入 数 字退 格清 除清 除 输 入 运 算 符输 入 数 字退 格清 除begininput operationerrorbackspace eliminationinput numberoutput result附源代码:import java.awt.*;import javax.swing.*;import java.awt.eve

12、nt.*;public class a 10JFrame mainJFrame;Container con;JLabel JLabel1;JTextField usertext1;JTextField usertext2;JButton b1=new JButton(7);JButton b2=new JButton(8);JButton b3=new JButton(9); JButton b4=new JButton(C);JButton b5=new JButton(CE);JButton b6=new JButton(4);JButton b7=new JButton(5);JButt

13、on b8=new JButton(6);JButton b9=new JButton( + );JButton b10=new JButton( - );JButton b11=new JButton(1);JButton b12=new JButton(2);JButton b13=new JButton(3);JButton b14=new JButton( * );JButton b15=new JButton( / );JButton b16=new JButton( 0 );11JButton b17=new JButton( . );JButton b18=new JButton( = ); public a() trymainJFrame=new JFrame(Quantum Calc);c

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号