滨江学院。
2011 --2012 年度第 2 学期)
课程名称: 软件工程课程设计
题目: windows绘图板的设计与实现
院系:滨江学院计算机系软件工程(动漫)
班级动漫1班。
学号20102359024
姓名徐希芝。
指导教师李振宏。
设计周数两周。
日期:2012 年 5 月 24 日。
摘要:windows画图板系统的开发最主要包括前端应用程序的开发。对前端应用程序的开发要求应用程序功能完备,易使用,界面美观等特点。
windows画图板系统主要实现文件的新建,保存,颜色的编辑,在坐标系中画直线、矩形、椭圆、圆形、三角等。图形界面各个按钮如“橡皮”、“铅笔”、“刷子”、“a”、“直线”等的实现。该系统还能调整画笔的大小,橡皮的大小,颜色是否填充,编辑各种颜色的实现。
我们采用j**a语言设计编程该系统。
关键词:windows绘图板 j**a、j2se
一、 课程设计的目的与要求。
目的:采用面向对象编程技术,设计并实现一个功能完善的windows绘图板程序。通过实际程序的开发,熟练面向对象程序设计方法,掌握桌面程序设计技巧,熟悉。
net或j**a开发环境。
任务:1. 开发一个功能完善的windows绘图板程序,功能包括:
新建空白文档、文件保存、绘制一些基本的图形组件(直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等)、橡皮擦、添加文字等;
2. 完成软件开发文档编写;
3. 给出程序运行、测试的详细结果。
4. 进一步加强和提高软件工程文档的编写能力;
5. 培养协作能力和团队精神。
二、设计正文。
1. 概述。
1.1课题题目:windows绘图板的设计与实现。
1.2系统的主要目标:
本系统目标是实现windows绘图板软件功能概述。
1)新建空白文档;
2)文件保存;
3)绘制一些基本的图形组件(直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等)、橡皮擦、添加文字等;
1.3 系统的开发环境及运行环境:
操作系统: windows xp pro sp2
建模工具: rational rose 2003
数据库系统:sql server2000
开发工具: visual studio 2005
web服务器:iis+ 2.0平台。
2. 系统需求分析。
2.1绘图板的功能分析:
该系统所要实现的功能如下:
1)“橡皮”的功能:用来画出的图形。
2)“铅笔”的功能:用来画出的任意直线。
3)“直线”的功能:用来让用户更好的画出的直线。
4)“刷子”的功能:用来让用户更好的画出的图形。
5)“吸管”的功能:用来让用户得到**的颜色。
6)“字体”的功能:用来让用户写出自己的字体。
7)“多边形”的功能:用来让用户更好的画出的多边形。
8)“椭圆”的功能:用来让用户更好的画出的椭圆。
9)“画函数”的功能:根据用户的输入画出函数图形。
10)“圆角矩形”、“矩形”、“填充”、“选择颜色”等功能:用来让用户更好的实用该绘图板功能。
2.2用户界面需求和性能分析:
windows绘图板主要是为用户提供基本画图工具。所以以提供用户最需要的功能为目的。
设计性能如下:
让用户不管怎样操作都能得到用户的目的,争取做到傻瓜都能使用该软件。
较windows绘图板增加了生成函数图象的功能,能实现绘制一些基本的图形组件(直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等)、橡皮擦、添加文字等。
其他的实现了windows绘图板的大部分功能:铅笔、橡皮、刷子、直线、选择颜色等等功能。
画板主要由以下几个部分组成:
主窗体的设计:主类(painter)用来生成主界面,完成画图板的主要框架。主类由jframe派生出来。
主界面由菜单栏、工具栏和画图区域三部分组成,布局格式采用borderlayout布局形式。
1)菜单栏的设计。菜单栏包括文件菜单栏、颜色菜单栏、线条粗细菜单栏和提示菜单栏。其中文件菜单栏包括文件的新建、打开、保存等选项;颜色菜单栏可以进行颜色选择;线条粗细菜单栏设置线条的粗细;提示菜单栏给出提示信息。
工具栏由新建、打开和保存文件按钮、基本图形的按钮、选择字体风格复选框和字体下拉列表框组成。在主类中添加并对菜单栏和工具栏添加事件监听。
2)事件响应的处理。对菜单栏、工具栏和用鼠标画图的事件响应进行处理。
菜单栏中文件的新建、打开和保存菜单事件的处理:j**a把每个文件都视作顺序字节流。如果要在j**a中进行文件处理,则必须用到包。
这个包定义了一些流类,选用fileinputstream(从文件中读入数据)和fileoutputstream(向文件输出数据),通过建立这些文件的对象便可以打开文件。这些流相应地从inputstream和outputstream派生,这些文件均使用文件流,所以必须将文件结构化以适应程序的要求。我们需要对保存的对象序列化,然后以输出流的方式保存。
在程序中用newfile()、loadfile()和s**efile()三个函数分别实现文件的新建、打开和保存。
工具栏事件的处理:主要有一些button组成。我们用buttonhandler内部类处理基本单元事件,buttonhandler1内部类处理新建、打开和保存文件按钮,在画图类drawpanel中定义createnewitem()函数处理工具栏中的画图事件。
鼠标画图:由于画图板主要是用来画图,所以需要在程序中添加对鼠标按下、拖动、进入、退出、移动和单机事件进行监听并进行处理。内部类mousea定义了完成鼠标按下、松开、进入、退出事件响应。
内部类mouseb完成鼠标拖动和移动事件响应。
图2-1 总体设计流程。
基本图形包括以下几种:
pencil:随笔画,图标为line:直线,图标为:。
curve:曲线,图标为rect:矩形,图标为:。
ellipse:椭圆,图标为circle:圆,图标为:。
roundrect:圆角矩形,图标为:。 eraser:橡皮擦,图标为:。
rectselect:椭圆选择工具,图标为:。 paintbucket:颜色填充,图标为:。
font:文本,图标为colorpicker:颜色选取器,图标为:。
绘图时,单击工具栏上相应图形的图标,然后用鼠标拖动,在绘图区域内进行绘图即可。
点击edit color后出现界面:
图4-1 主界面。
图4-2 文件菜单选择界面。
如上图所示,该程序为用户提供文件菜单界面,用户可以对程序的各种功能进行选择,方便用户使用。例如选择open file键进行操作:
图4-2-1 open file界面。
图4-2-2 s**e/s**e as界面。
图4-3 edit界面。
图4-4 help界面。
如上图所示,该功能实现软件的说明。选择about paint:
4-5 about paint运行界面。
三、课程设计总结或结论。
为了提高我们的实践能力,让我们学以致用,能灵活运用所学的知识进行再创造,学校特安排我们进行为期二周的j**a课程设计实习,并安排了指导老师帮助辅导,让我们在规范化、严谨化、实用化上面有了很大进展。
在此次windows绘图板程序开发过程中,有很多东西值得我们思考并总结。
开发过程大体可分为以下几个步骤:
1)思考总体设计方案:总体结构和模块外部设计,功能分配。思考要实现整个程序大体需要的几个模块和其中用到的j**a语言基本操作符、语句等。
2)画出总体设计方案流程图:用流程图的形式展现你的基本编程思想。
软件工程课程设计报告
软件工程 综合设计报告。题目。学院 信息科学与技术学院 班别 软件工程1 4班。组长学号。组员学号。组员学号。组员学号。组员学号。指导老师 胡德昆 完成时间 2014 6 10 成都大学信息与科学技术学院。提要。软件工程综合设计报告是软件工程的六个实验报告文档的汇总整理,包括软件项目可行性分析报告 ...
软件工程课程设计报告
滨江学院。2011 2012 年度第 2 学期 课程名称 软件工程课程设计 题目 个人通讯录管理系统 院系 滨江学院计算机系 班级 动漫 2 班。学号 20102359059 姓名 郑强。指导教师 李振宏。设计周数 两周。日期 2012 年 5 月 24 日。摘要 个人通讯录管理系统是针对系统服务对...
软件工程课程设计报告
目录。一 题目。二 课程设计目的。三 课程设计内容。四 可行性研究。五 需求分析。六 总体设计。七 详细设计。八 测试计划及测试分析报告。九 心得体会。一 题目。图书管理系统。二 课程设计目的。1 熟悉软件工程过程及软件开发的各种方法和生存周期模型。2 熟练运用c 数据结构 数据库等基础知识。三 课...