计算器——设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算器
概要设计说明书
1、引言
1.1编写目的
在程序设计中,通过设计、编制、调试一个模拟计算器的程序,加深对语法及语义分析原理的理解,并实现对命令语句的灵活应用。在程序设计中,可以用两种方法解决问题:一是传统的结构化程序设计方法,二是更先进的面向对象程序设计方法。而在面向对象程序设计中关键是如何将问题域中的实体(即日常所见的概念)抽取出来,作为JAVA程序中的类,而属性与行为作为类的两类要素通常是必不可少的,甚至还应考虑类必须满足的约束。
1.2项目背景
计算器是日常生活中十分便捷有效的工具,能实现加、减、乘、除、开方、求倒数等简单运算的工具。要实现计算功能,可以用JAVA 的知识编写程序来解决此问题。该计算器大大的降低了数字计算的难度及提高了计算的准确度和精确度。该计算器使用非常简单和方便,对广大中小学生的学习有巨大帮助作用,也对在职人员的工作有点帮助作用。
在课程设计中,系统开发平台为Windows 7,程序设计设计语言采用JAVA,在程序设计中,采用了结构化与面向对象两种解决问题的方法。
1.3定义
事务流:数据进入模块后可能有多种路径进行处理。
系统:若未特别指出,统指本系统。
1.4参考资料
[1]钱银中,眭碧霞.Java程序设计案例教程
[2]道客巴巴:
2、运行环境
操作系统:Windows 2000﹑Windows XP Professional、Windows 2000 Server或者window 7.0操作系统.
3、总体设计
3.1 系统设计流程
系统设计主要有五部分组成:需求分析、概要设计、详细设计、编写代码和系统测试。如下图所示:
⑴需求分析
这次课程设计的题目是实现简单计算器的功能。实现功能:加,减,乘,除,可加其它运算功能;还要实现数据的输入,输出,计算,显示及清除等功能。
⑵概要设计
计算器包含的功能有:加、减、乘、除、清除。计算器的屏显为JFrame控件,左侧的数字、操作符按键、右侧的功能为BUTTON控件。输入的原始数据、运算中间数据和结果在顶部的TEXTBOX 控件显示。每种计算功能均为独立设计算法。
⑶详细设计
详细设计部分则是在概要设计的基础上对计算器的功能实现作出更为详细
的介绍。主要对各设计块中的各个类作出说明,包括对每个类如何在以后的程序设计中的定义作出介绍,并作出相应的说明,并对各参数作出介绍。
⑷编写代码
这一部分主要根据前面的详细设计内容用具体语言实现计算器系统,主要采用Java语言实现,这一部分主要是代码实现,将前一阶段的设计思想实现,因为前面已经对该系统的整体设计思路和整体框架作出了说明,并且在详细设计部分对每个设计块中的类如何实现也已给出,所以在这一部分工作量也不是太大。
⑸系统测试
系统测试部分主要对前面已经实现的系统作出测试,看该系统是否符合系统设计要求。并对一些特殊的数据进行测试,比如一些数的取值,看是否符合要求,在测试的基础上,对发现的错误进行改正,使系统逐步得到完善。测试不是一朝一夕就能完成的,必须在今后的使用过程中逐渐完善,并得到用户的反馈后对系统作出修改。
计算器系统主要采用了软件工程的设计思路,从需求分析、概要设计、详细设计、编写代码直到系统测试都遵从软件工程的设计要求。
3.2功能设计
(1)计算器包含的功能有:加、减、乘、除、清除。
(2)每种计算功能均为独立设计算法。
4 、主程序的设计
系统选用Java程序设计语言来完成整个系统应用程序的编写。
4.1 按键的设计
(1)本计算器按键均使用BUTTON控件。例:“1”运算功能按键代码如下
[1]
……
JButton jb0,jb1,jb2,jb3,jb4,jb5,jb6,jb7,jb8,jb9,
jb10,jb11,jb12,jb13,jb14,jb15,jb16,jb17,jb18,jb19;
GridLayoutDemo(){
JPanel jp=new JPanel();
jp.setLayout(new GridLayout(5,4));
……
jp.add(jb1=new JButton("1"));
……
add(jp);
//注释监听器
…
jb1.addActionListener(this);
……
add(jt1=new JTextField(10),BorderLayout.NORTH); } [2]
bNumber = new JButton("1");
bNumber.setForeground(Color.blue);
bNumber.addActionListener(this);
bNumber.setMargin(new Insets(5, 4,5,3));
pDown.add(bNumber);
(2)计算器操作按键以加法为例,代码如下:
[1]
......
if(e.getSource()==jb12)
{
com=true;
total1=Double.parseDouble(jt1.getText());
jt1.setText(total1+"+");
total=total1;
}
if(e.getSource()==jb11)
{
t1=Double.parseDouble(jt1.getText());
if(total==total1){
Double ad=total1+t1;
jt1.setText(Double.toString(ad));
i=0;
}
if(total==total2){
Double ad=total2-t1;
jt1.setText(Double.toString(ad));
i=0;
}
......
}
[2]
else if (s.equals("+")) {
str.setLength(0);