软件工程课程设计报告Word文件下载.docx
- 文档编号:22223686
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:16
- 大小:820.93KB
软件工程课程设计报告Word文件下载.docx
《软件工程课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计报告Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
日期:
2012年5月24日
摘要:
Windows画图板系统的开发最主要包括前端应用程序的开发。
对前端应用程序的开发要求应用程序功能完备,易使用,界面美观等特点。
Windows画图板系统主要实现文件的新建,保存,颜色的编辑,在坐标系中画直线、矩形、椭圆、圆形、三角等。
图形界面各个按钮如“橡皮”、“铅笔”、“刷子”、“A”、“直线”等的实现。
该系统还能调整画笔的大小,橡皮的大小,颜色是否填充,编辑各种颜色的实现。
我们采用Java语言设计编程该系统。
关键词:
Windows绘图板Java、J2SE
一、课程设计的目的与要求
目的:
采用面向对象编程技术,设计并实现一个功能完善的Windows绘图板程序。
通过实际程序的开发,熟练面向对象程序设计方法,掌握桌面程序设计技巧,熟悉.NET或Java开发环境。
任务:
1.开发一个功能完善的Windows绘图板程序,功能包括:
新建空白文档、文件保存、绘制一些基本的图形组件(直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等)、橡皮擦、添加文字等;
2.完成软件开发文档编写;
3.给出程序运行、测试的详细结果。
4.进一步加强和提高软件工程文档的编写能力;
5.培养协作能力和团队精神。
二、设计正文
1.概述
1.1课题题目:
Windows绘图板的设计与实现
1.2系统的主要目标:
本系统目标是实现Windows绘图板软件功能概述
(1)新建空白文档;
(2)文件保存;
(3)绘制一些基本的图形组件(直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等)、橡皮擦、添加文字等;
1.3系统的开发环境及运行环境:
操作系统:
WindowsXPProSP2
建模工具:
RationalRose2003
数据库系统:
SQLServer2000
开发工具:
VisualStudio2005
Web服务器:
IIS+ASP.NET2.0平台
2.系统需求分析
2.1绘图板的功能分析:
该系统所要实现的功能如下:
(1)“橡皮”的功能:
用来画出的图形。
(2)“铅笔”的功能:
用来画出的任意直线。
(3)“直线”的功能:
用来让用户更好的画出的直线。
(4)“刷子”的功能:
用来让用户更好的画出的图形。
(5)“吸管”的功能:
用来让用户得到图片的颜色。
(6)“字体”的功能:
用来让用户写出自己的字体。
(7)“多边形”的功能:
用来让用户更好的画出的多边形。
(8)“椭圆”的功能:
用来让用户更好的画出的椭圆。
(9)“画函数”的功能:
根据用户的输入画出函数图形。
(10)“圆角矩形”、“矩形”、“填充”、“选择颜色”等功能:
用来让用户更好的实用该绘图板功能。
2.2用户界面需求和性能分析:
Windows绘图板主要是为用户提供基本画图工具。
所以以提供用户最需要的功能为目的。
设计性能如下:
让用户不管怎样操作都能得到用户的目的,争取做到傻瓜都能使用该软件。
较windows绘图板增加了生成函数图象的功能,能实现绘制一些基本的图形组件(直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等)、橡皮擦、添加文字等。
其他的实现了windows绘图板的大部分功能:
铅笔、橡皮、刷子、直线、选择颜色等等功能。
3.Windows绘图板软件总体设计
3.1Windows绘图板软件总体设计思想
画板主要由以下几个部分组成:
主窗体的设计:
主类(painter)用来生成主界面,完成画图板的主要框架。
主类由JFrame派生出来。
主界面由菜单栏、工具栏和画图区域三部分组成,布局格式采用BorderLayout布局形式。
(1)菜单栏的设计。
菜单栏包括文件菜单栏、颜色菜单栏、线条粗细菜单栏和提示菜单栏。
其中文件菜单栏包括文件的新建、打开、保存等选项;
颜色菜单栏可以进行颜色选择;
线条粗细菜单栏设置线条的粗细;
提示菜单栏给出提示信息。
工具栏由新建、打开和保存文件按钮、基本图形的按钮、选择字体风格复选框和字体下拉列表框组成。
在主类中添加并对菜单栏和工具栏添加事件监听。
(2)事件响应的处理。
对菜单栏、工具栏和用鼠标画图的事件响应进行处理。
菜单栏中文件的新建、打开和保存菜单事件的处理:
Java把每个文件都视作顺序字节流。
如果要在Java中进行文件处理,则必须用到Java.io包。
这个包定义了一些流类,选用FileInputStream(从文件中读入数据)和FIleOutputStream(向文件输出数据),通过建立这些文件的对象便可以打开文件。
这些流相应地从InputStream和OutputStream派生,这些文件均使用文件流,所以必须将文件结构化以适应程序的要求。
我们需要对保存的对象序列化,然后以输出流的方式保存。
在程序中用newFile()、loadFile()和saveFile()三个函数分别实现文件的新建、打开和保存。
工具栏事件的处理:
主要有一些Button组成。
我们用ButtonHandler内部类处理基本单元事件,ButtonHandler1内部类处理新建、打开和保存文件按钮,在画图类DrawPanel中定义CreateNewItem()函数处理工具栏中的画图事件。
鼠标画图:
由于画图板主要是用来画图,所以需要在程序中添加对鼠标按下、拖动、进入、退出、移动和单机事件进行监听并进行处理。
内部类mouseA定义了完成鼠标按下、松开、进入、退出事件响应。
内部类mouseB完成鼠标拖动和移动事件响应。
画图的基本功能。
在程序设计中用到了动态绑定,我们可以提取他们的公共属性,先建立一个父类,然后建立各个子类,继承父类中的方法并将父类中的draw函数重写。
一些关于图形形状的类,最主要是用于画图、字体和橡皮擦等基本类型。
如Circle、Triangle、Rectangle,它们都是有超类(Object类)派生的。
在面向对象编程中,每个类都有画出自己的能力,每个类都有自己的draw函数,但每种形状的draw函数都不一样,但在绘制任何形状时,只需简单调用父类drawing的draw方法,然后让程序动态地根据对象的类型决定使用哪个子类的draw方法。
为了使画出的图形更加美观,我们在draw函数中使用了Graphics2D的对象的引用。
这样可以在不改变原程序的情况下,添加扩展的图形,是程序变得更加强大。
同时,为了文件的保存,父类实现Serialize接口,将对象线性化。
3.1总体设计流程图
图2-1 总体设计流程
4.1Windows绘图板软件详细设计
4.1绘制基本图形
基本图形包括以下几种:
Pencil:
随笔画,图标为:
。
Line:
直线,图标为:
Curve:
曲线,图标为:
Rect:
矩形,图标为:
Ellipse:
椭圆,图标为:
Circle:
圆,图标为:
RoundRect:
圆角矩形,图标为:
Eraser:
橡皮擦,图标为:
RectSelect:
椭圆选择工具,图标为:
PaintBucket:
颜色填充,图标为:
Font:
文本,图标为:
ColorPicker:
颜色选取器,图标为:
绘图时,单击工具栏上相应图形的图标,然后用鼠标拖动,在绘图区域内进行绘图即可。
4.1.1设置工具属性
鼠标单击工具栏相应图形的图标时,在菜单栏下面就会出现各工具相应的属性,例如当选中椭圆工具时,就会出现有关椭圆的属性(设置线条的宽度,线条的样式:
实线或虚线,线条的平滑与否,以及内部是否填充颜色),如下图:
4.1.2编辑颜色
点击LineColor(FileColor),然后在
或者点击EditColor选择所要的颜色,即可设置线条颜色(矩形等内部的填充颜色)。
点击EditColor后出现界面:
5.程序测试
5.1主界面
图4-1主界面
5.1.1文件菜单界面
图4-2文件菜单选择界面
如上图所示,该程序为用户提供文件菜单界面,用户可以对程序的各种功能进行选择,方便用户使用。
例如选择OpenFile键进行操作:
图4-2-1OpenFile界面
图4-2-2save/saveas界面
5.1.2Edit界面
图4-3Edit界面
5.1.3Help界面
图4-4Help界面
如上图所示,该功能实现软件的说明。
选择AboutPaint:
4-5AboutPaint运行界面
三、课程设计总结或结论
为了提高我们的实践能力,让我们学以致用,能灵活运用所学的知识进行再创造,学校特安排我们进行为期二周的java课程设计实习,并安排了指导老师帮助辅导,让我们在规范化、严谨化、实用化上面有了很大进展。
在此次Windows绘图板程序开发过程中,有很多东西值得我们思考并总结。
开发过程大体可分为以下几个步骤:
(1)思考总体设计方案:
总体结构和模块外部设计,功能分配。
思考要实现整个程序大体需要的几个模块和其中用到的java语言基本操作符、语句等。
(2)画出总体设计方案流程图:
用流程图的形式展现你的基本编程思想。
(3)流程图具体化:
即将流程图中的几大模块的具体实现思考清楚,可以用流程图的形式展现.并想好实现的关键代码。
(4)编辑程序代码:
这是一个至关重要复杂而且需要反复修改的环节,在此环节中你将发现总体设计和模块思想会存在很多问题,需不断改进.如何实现各函数功能,达到预期效果也将是一项繁复的工作。
(5)代码的调试:
在eclipse环境下输入代码并进行调试和正确运行。
在调试过程中会遇到很多需要精化的地方,需要十足的耐心与细心,不断改进完善程序。
(6)最后修饰:
程序可以正确运行之后,再不影响程序功能的情况下,运用各种辅助性符号,使界面更加美观漂亮,操作更人性化.增强程序的新意与可行性。
通过这次课程设计,使我们更加熟悉的掌握了java语言的运用。
帮助我们熟悉了更多java语言的功能,提高了我们的动手能力,学到了许多解决实际问题的宝贵经验.同时也挖掘出了我们潜在的能力,使我们对自己更有自信,对编程也更有兴趣。
我相信,只要努力、勤奋、坚持不懈,就没有什么做不到的事,不能还没开始就退缩,要勇于拼搏,敢于创新。
1.
四、参考文献
[1]清华大学出版社的《java2实用教程》(第三版),张跃平、耿祥义著。
[2]清华大学出版社的《java程序设计》,陈勇孝著。
[3]清华大学出版社的《Java就业培训教程》,张孝祥著。
[4]CSDN论坛网址
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计 报告