课程设计说明书3.docx
- 文档编号:7770192
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:31
- 大小:188.15KB
课程设计说明书3.docx
《课程设计说明书3.docx》由会员分享,可在线阅读,更多相关《课程设计说明书3.docx(31页珍藏版)》请在冰豆网上搜索。
课程设计说明书3
湖南工业大学
课程设计
资料袋
计通学院学院(系、部)2012~2013学年第2学期
课程名称Java程序设计指导教师周浩职称讲师
学生姓名王双喜专业班级计本1102班学号11408100236
题目Java计算器开发
成绩起止日期2013年06月24日~2013年06月30日
目录清单
序号
材料名称
资料数量
备注
1
课程设计任务书
1
2
课程设计说明书
1
3
源程序(电子文档)
1
4
5
6
湖南工业大学
课程设计任务书
2012—2013学年第1学期
计通学院(系、部)计算机专业计本1102班级
课程名称:
Java程序设计
设计题目:
Java计算器开发
完成期限:
自2013年06月24日至2013年06月30日共1周
内
容
及
任
务
一、设计的任务及主要技术参数
采用java技术设计一个简易计算器,用网格包布局各个按钮,再注册一个监听器类,对各个按钮监听,还要对各个按钮的加减乘除进行算法设计,再就是修改文本区的背景色,按钮的前景色等等
二、设计任务
1)系统分析(包括可行性分析、用户需求分析等)及功能分析;
2)系统总体功能设计;
3)系统详细功能设计,采用了数据库的同学,给出数据库设计;
4)程序设计及调试;
5)设计说明书的书写。
三、设计工作量
可以完成一个采用java技术的简单小型系统,每人至少要投入1周的时间来完成该系统的分析与设计,撰写出项目开发各个阶段需要的文档,每人独立完成自己的系统。
进
度
安
排
起止日期
工作内容
2013-06-24
选题,完成项目计划文档
2013-06-25
完成可行性分析文档、需求分析文档和完成设计文档
2013-06-26~2013-06-28
编码系统测试、客户提交文档
2013-06-29
完成课程设计说明书
2013-06-30
答辩,确定等级,交文档材料(含电子文档)、源程序
主
要
参
考
资
料
[1]Y.DanielLiang著.万波译.Java语言程序设计(基础篇)(第6版)[M],北京:
机械工业出版社,2009
[2]韩万江,姜立新.软件项目管理案例教程(第2版)[M].北京:
机械工业出版社,2010.
[3]张海藩,《软件工程导论》(第四版),清华大学出版社,2005年3月第7次印刷(教材)
[4]IanSommerville(英).SoftwareEngineering:
(8thEdition).机械工业出版社.2006年9月
[5]朱少民,《软件项目管理》,人民邮电出版社,2009年11月第1版
[6]郑阿奇,《Java使用教程》(第二版),电子工业出版社,2012年3月
[7]GayS.Horstmann,《Java核心技术》(第八版),机械工业出版社,2012年8月
[8]Y.DanielLiang(美),《Java语言程序设计》(第六版),机械工业出版社,2009年3月
指导教师(签字):
年月日
系(教研室)主任(签字):
年月日
Java程序设计课程设计
设计说明书
Java计算器开发
起止日期:
2013年06月24日至2013年06月30日
学生姓名
王双喜
班级
计本1102班
学号
11408100236
成绩
指导教师(签字)
计算机与通信学院
2013年6月30日
摘要-----------------------------------------------6
前言-----------------------------------------------6
系统开发背景---------------------------------------6
一.设计目的-------------------------------------7
二.设计任务-------------------------------------7
1、任务---------------------------------------7
2、要求---------------------------------------7
三.设计内容-------------------------------------7
一)引言-------------------------------------7
二)软件开发计划-------------------------------8
三)可行性研究-------------------------------8
1、技术可行性分析------------------------8
2、经济可行性分析------------------------8
3、社会上可行性分析----------------------8
4、工具可行性分析------------------------8
5、总结----------------------------------8
4)需求分析---------------------------------9
1、功能需求分析--------------------------9
2、性能需求分析--------------------------9
3、系统技术以及运行环境的需求分析--------9
5)详细设计-----------------------------------10
1、程序设计流程图------------------------10
2、界面设计------------------------------10
3、功能设计------------------------------13
四、软件测试与评价-------------------------------13
五、结论----------------------------------------18
六、致谢----------------------------------------18
附录--------------------------------------------19
Java计算器开发
摘要
现在计算器的这类小应用程序越来越多,也正是因为这类小应用程序组成了我们生活中使用的一些列小工具,使得我们的使用越来越方便。
而java语言也是当今比较流行的一种编程语言,具有跨平台性,使其不受平台影响,得到广泛应用。
本次Java计算器只实现一些计算器的基本功能,你可以在上面进行加、减、乘除、开方、求余、求倒数以及取正反,对窗口实现了GridBagLayout布局,窗口实现灰黄色。
前言:
人类已进入21世纪,科学技术突飞猛进,软件开发行业也是越来越好,各类软件充斥在我们的眼球,与此同时,随着物联网与移动终端的发展,人们生活方式也随之而改变,各种移动终端也正在改变人们的工作,随着而来的也就是各类小工具、小应用程序的开发与使用越来越受欢迎,人们已经习惯于使用桌面上的各类小工具,而不再是依赖电脑上的各个大型软件去做一个比较小的运算。
各种小工具已经成为人们桌面快捷应用之一.
在不久的将来,各类应用软件将越来越多,软件也越来越需要方便化、移动化,随着各类终端的发展以及物联网时代的到来,各类应用软件还需要有可跨平台,只有这样才能满足人们日益增长的需求。
而此时,java技术是当今最流行的编程语言之一,恰好他也具有跨平台性,你可以把用java制作的各类软件移植到其他平台上。
而此时,计算器这类小工具也是越来越多了,Windows有自带计算器小工具,各种平台的手机也自带计算器,哪种才能更讨用户喜欢呢,这就要看各类软件的人性化程度了。
系统开发背景:
当今时代是飞速发展的信息时代,各种平台都有计算器小工具,正是由于这些小工具的使用,使得人们生活、学习、工作都更加方便、快捷,尤其对于复杂的算数运算,计算器更能够充分发挥它的优越性.
java计算器是对基本的数据进行基本的算数运算,随着人们生活节奏越来愈快,现在的的学习、工作量的不断加大,人们越来越依赖于这些简易计算器了,这些计算器大大的减轻了人们的工作量,提高了人们的工作效率,所以就制作了这个java简易计算器。
一、设计目的
随着软件行业以及各类移动终端的发展,传统的windows桌面计算器已经不能满足人们的需要了,无法方便快捷的使用,而不适用计算器又不能应付那庞大的信息处理量,以及各种跨平台的软件需求,因此我们使用java语言编程,为的就是解决平台不同而软件无法移植的问题,使用java语言编程大大的增加软件的实用性。
针对小应用程序的快捷性,我们就制作了一个简易的计算器,只实现基本的算数运算功能,我们只是为了解决用户的一些基本的算术运算,而不涉及一些复杂的运算。
因此本程序的主要功能就是实现加减乘除、求余、取正负、求倒数、开方以及回退、清零、全清的这些功能。
二、设计任务
1任务
Java计算器使用了两个面板布局,各个按钮也是使用网格包布局,基本能实现各类平台常用计算器的界面外观,在监听器类里面来实现对各个按钮的功能运算。
2要求:
设计一个图形界面(GUI)的计算器应用程序,该计算机器至少拥有基本的加(+)、减(-)、乘(*)、除(\)、取余(%)等功能,且有小数点、正负号、求倒数、退格和清零等功能。
用鼠标单击相应的数字键和运算符号键,然后单击=按钮,窗口上方的文本框将会显示计算出来的结果,要将文本编辑框清零,可单击清零按钮。
三、设计内容
一)引言
随着科学技术的不断提高,计算机科学技术日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
随着各类工作量的需要,计算器这类小工具必然会成为人们学习工作的常用工具,经分析,人们只需要基本的一些算数运算,加减乘除,开方,求余等运算。
因此本程序就使用java技术来实现了这些功能。
二)软件开发计划
本次程序的开发,分一个礼拜完成,第一天选题,完成项目计划文档,第二天完成可行性分析文档、需求分析文档和完成设计文档,第三天,第四天以及第五天编码系统测试、客户提交文档,第六天完成课程设计说明书。
三)可行性分析
1技术可行性分析
程序采用机房的WindowsXP操作系统下的Eclipse来进行代码的书写,学校机房也联上了互联网,并且建有校内局域网,硬件上的支持非常好。
在机房这种环境下,非常有利于本次程序的实现。
本次程序的编写,采用的是JAVA技术来实现的,在Eclipse下对代码进行编写,分析,调试,运行。
软件方面,基本上可以满足这次程序的实现。
这是一个非常小的程序设计,无论是人力、物力、还是财力都是非常之小的,只需一台电脑,一个WindowsXP操作系统,一个Eclipse,一位程序员,即可。
非常节省人力财力。
这个JAVA计算器功能需求非常清晰,界面简洁美观,非常方便实用,也非常利于实现。
2经济可行性分析
经济可行性分析中最重要的内容之一是成本--效益分析。
对于一个基于计算机系统的研制项目要在经济方面评价其是否合理,成本--效益分析要估计研制开发的花费并与收益(包括有形的可以用货币计数的及无形的利益)衡量比较。
如果计算机上的编程软件eclipse在已有的情况之下,系统方案成本小,程序开发的时候人力财力非常之小,开发后投入运行,也是非常廉价的,而且现在的小工具类的都是免费的,不存在经济方面的问题。
3社会上可行性分析
该项目为用户自行开发,在法律方面不会存在侵犯专利权、侵犯版权等问题,完全按照合同规定的责任履行。
4工具可行性
软件方面:
信息时代对于软件的应用已不是人们的难题,人们在日常办公中用的计算机操作的系统等都属于软件部分。
硬件方面:
计算机普及到今天,人们对于它的拥有已不少见,它的硬件设备完全能够满足人们的需求,而价格也能被人们所接受。
5结论
技术、经济、操作都有可行性,可以进行开发.
四)需求分析
现在的人们的各种学习与工作上的运算量都非常之大,越来越需要一个计算器来解决人们学习工作的需要,减轻人们的工作学习压力。
根据人们学习与工作的需要,本次程序只需实现一些基本的算术运算,如一些基本的四则算数法则,开方,求余,求倒数,以及取正负的功能。
1功能需求分析
简易计算器主要提供一些基本的算术运算,要方便人们使用,因此本程序主要提供一些算术运算以及删除、回退的操作。
1.1本系统主要实现以下功能:
名称:
java简易计算器
功能:
1)加减乘除四则运算:
用户可以像使用普通计算器一样,点击界面上的数字按钮再点击四则运算的按钮,再按下等于号就可实现计算。
2)、取正负,求倒数,求余,开方:
这些都是单目运算符,用户可以在按下一个数字后,再按下这些按钮,就会自动实现运算了,
3)回退:
用户在输入数据错误的情况下,可以使用回退键来取消上一次按下的操作。
4)清零:
用户可以在一次运算完成后,按下清零,重新开始新运算。
5)全清:
用户在运算完成后,可以用全清的方式,清楚运算信息。
2性能需求分析
计算速度方面,这个程序基本是运算速度非常快的啦,跟普通在计算机上的计算器运算速度是相差不多的。
功能方面,这个程序做的非常简洁,只实现了工作学习的几个常用的基本运算。
界面外观方面:
这个程序使用java中的swing组件实现的,外观非常简洁朴素。
3系统技术以及运行环境的需求分析
本次程序是在eclipse环境下以java语言编写的,界面非常简洁,用户只需输入一些数字再点运算按钮,然后等于号后会实现计算。
五)、软件详细设计:
1、程序设计流程图:
2、界面布局:
本次设计只是用一个窗口,设计了两个面板,一个面板放文本区,为方便调整文本区大小,将面板的布局改为了边界布局,放在窗口的上方用来显示输入的数据以及输出结果,第二个面板采用的是网格包布局,用来放各个按钮。
此外、还设置了各个面板、各个按钮的背景色,前景色,使得界面更加美观
主要代码如下:
这是对文本区的设置:
jtfwsx=newJTextField(27);
jtfwsx.setEnabled(false);
jtfwsx.setFont(newFont("宋体",Font.BOLD,60));
jtfwsx.setBackground(Color.gray);
jtfwsx.setHorizontalAlignment(JTextField.RIGHT);
jtfwsx.setText("0");
jtfwsx.setPreferredSize(newDimension(27,90));
这是第一个面板的设置,因为要设置文本区的大小,所以这里必须把这个面板的布局改为边界布局
jp1_wsx.setLayout(newBorderLayout());
jp1_wsx.add(jtfwsx,BorderLayout.CENTER);
jp1_wsx.setBounds(10,110,4,150);
这是第二个面板的设置,把布局改为了网格包布局,最后等于号占两个高度
jp2_wsx.setLayout(newGridBagLayout());
jp2_wsx.setBackground(Color.yellow);
GridBagConstraintsgc=newGridBagConstraints();
gc.fill=GridBagConstraints.BOTH;//两边填充
gc.weightx=0;
gc.weighty=0;
gc.insets=newInsets(10,10,4,4);
jp2_wsx.add(Backspacewsx,gc);
jp2_wsx.add(CEwsx,gc);
jp2_wsx.add(qinglingwsx,gc);
jp2_wsx.add(zhengfuwsx,gc);
jp2_wsx.add(daoshuwsx,gc);
gc.gridy=1;
jp2_wsx.add(bt7wsx,gc);
jp2_wsx.add(bt8wsx,gc);
jp2_wsx.add(bt9wsx,gc);
jp2_wsx.add(chuwsx,gc);
jp2_wsx.add(qiuyuwsx,gc);
gc.gridy=2;
jp2_wsx.add(bt4wsx,gc);
jp2_wsx.add(bt5wsx,gc);
jp2_wsx.add(bt6wsx,gc);
jp2_wsx.add(chengwsx,gc);
jp2_wsx.add(kaifangwsx,gc);
gc.gridy=3;
jp2_wsx.add(bt1wsx,gc);
jp2_wsx.add(bt2wsx,gc);
jp2_wsx.add(bt3wsx,gc);
jp2_wsx.add(jianwsx,gc);
gc.gridy=4;
gc.gridwidth=2;
jp2_wsx.add(bt10wsx,gc);
gc.gridx=2;
gc.gridwidth=1;
jp2_wsx.add(dianwsx,gc);
gc.gridx=3;
jp2_wsx.add(jiawsx,gc);
gc.gridx=4;
gc.gridy=3;
gc.gridheight=2;
gc.fill=GridBagConstraints.BOTH;
jp2_wsx.add(dengyuwsx,gc);
//jp2.setBounds(10,65,300,25);
add(jp1_wsx,BorderLayout.NORTH);
add(jp2_wsx,BorderLayout.CENTER);
这是对框架的设置
setBounds(200,200,380,360);
//setBackground(Color.pink);
setResizable(false);
setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
3、功能设计:
本次设计采用一个监听器类来对面板上的各个按钮来实现相应的算术运算功能。
这里还采用一个字符串缓冲区,来存储字符,方便后面回退按钮的实现
四、软件测试与评价:
框架:
第一个面板与文本区:
加入第二个面板及相应按钮后:
文本区调整大小和字体后:
调整各个面板以及按钮的颜色后:
调整按钮前景色:
调整面板按钮背景色:
运算时候的效果图:
五、结论:
综上详细阐述了本系统的整个开发过程和实现功能,最后运行能够进行数字的输入,进行加减乘除,开方、求余、取倒数、取正负,以及回退,全清、清零等操作,整体界面色彩绚丽,美观大方,完成了人们对数学运算的基本要求,适用于家庭、学校、工作等环境下使用。
在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。
因此,该系统必然会存在一些缺陷。
其中,文本框显示中文字符的数量,以及一些科学计算如正余弦之类的运算、以及处理字符串、运算表达式之类的。
尽管本管理系统存在着很多不足,但其功能还是基本满足工作需求的、界面友好、绚丽、操作方便、效率高等优点是本程序所必需的。
这个软件应该是日常学习工作的常用小工具,通过开发这个软件,加强了对java的学习,巩固了基本知识,提高了自学能力。
总之在这次设计中我知道了很多,获得了很多。
六、致谢
这次课程设计能够顺利的完成,要感谢老师的教导和同学的无私的帮助。
首先是周浩老师,为我的设计改进提供了很多宝贵的意见,还有和同学一起讨论帮我解决了几个错误,老师上实验课时讲得详细并严格要求我们,为我们的课程设计起了促进作用。
在此对老师和给予我帮助的同学表示最诚挚的感谢!
附录:
软件源代码:
packagecom;
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
publicclassCal_wsxextendsJFrame{
JTextFieldjtfwsx;
JPaneljp1_wsx,jp2_wsx;
JButtonbt1wsx,bt2wsx,bt3wsx,bt4wsx,bt5wsx,bt6wsx,bt7wsx,bt8wsx,bt9wsx,bt10wsx,Backspacewsx,CEwsx,qinglingwsx,zhengfuwsx,daoshuwsx,chuwsx,qiuyuwsx,chengwsx,kaifangwsx,jianwsx,jiawsx,dengyuwsx,dianwsx;
StringBufferstrbfwsx;
doubleiwsx,jwsx;
intkwsx;
staticdoublepwsx;
publicCal_wsx(){
super("简易计算器");
jtfwsx=newJTextField(27);
jp1_wsx=newJPanel();
jp2_wsx=newJPanel();
strbfwsx=newStringBuffer();
jtfwsx.setEnabled(false);
jtfwsx.setFont(newFont("宋体",Font.BOLD,60));
jtfwsx.setBackground(Color.gray);
//jtf.setForeground(Color.red);
jtfwsx.setHorizontalAlignment(JTextField.RIGHT);
jtfwsx.setText("0");
jtfwsx.setPreferredSize(newDimension(27,90));
bt1wsx=newJButton("1");
bt2wsx=newJButton("2");
bt3wsx=newJButton("3");
bt4wsx=newJButton("4");
bt5wsx=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 说明书