电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

软件工程课程设计报告完成

12页
  • 卖家[上传人]:s9****2
  • 文档编号:507062608
  • 上传时间:2022-12-14
  • 文档格式:DOC
  • 文档大小:562.51KB
  • / 12 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、 滨江学院软件工程课程设计报告( 2012 - 2013 年度第 2 学期)课程名称: 软件工程课程设计 题 目: Windows绘图板的设计与实现 院 系: 计算机系 班 级: 10软工3班 学 号: 20102344920 姓 名: 吴天娇 指导教师: 李振宏 设计周数: 两周 日期:2013 年 6 月 4 日摘要:Windows画图板系统的开发最主要包括前端应用程序的开发。对前端应用程序的开发要求应用程序功能完备,易使用,界面美观等特点。本次课程设计主要是用JAVA实现画笔系统,其系统主要完成以下功能:Windows画图板系统主要实现文件的新建,保存,颜色的编辑,设计一个画图程序,能够实现画笔、画箭头、画直线、画圆形、画椭圆、画矩形、画多边形、书写文字修改该画笔的大小以及颜色。该画图程序还需具有橡皮擦功能以及清空整个画面的功能。关键词:Windows绘图板 Java一、 课程设计的目的与要求目的:采用面向对象编程技术,设计并实现一个功能完善的Windows绘图板程序。通过实际程序的开发,熟练面向对象程序设计方法,掌握桌面程序设计技巧,熟悉.NET或Java开发环境。任务:1.

      2、开发一个功能完善的Windows绘图板程序,功能包括:新建空白文档、文件保存、绘制一些基本的图形组件(直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等)、橡皮擦、添加文字等;2. 完成软件开发文档编写;3. 给出程序运行、测试的详细结果。4. 进一步加强和提高软件工程文档的编写能力;5. 培养协作能力和团队精神。二、设计正文1 概述1.1课题题目:Windows绘图板的设计与实现1.2系统的主要目标:本系统目标是实现Windows绘图板软件功能概述l 新建一个空白图形文件:用于绘制新的图形。l 打开或保存一个图形文件,便于对图形文件的管理。l 绘制一些基本的图形组件:直线,矩形,实心矩形,椭圆,实心椭圆,圆,实心圆,圆角矩形,实心圆角矩形等。l 用鼠标在绘图板上单击拖动进行随笔花。l 橡皮擦:可以将已绘制的图形擦掉。l 添加文字:可以在绘图区域内添加文字。l 选择文字的字体:通过一个下拉式的选择条,可以选中所需要的字体。本程序中包括:宋体,隶书,华文彩云,仿宋-GB2312,华文行楷,Times New Roman,Serif,Monospaced,SonsS

      3、erif,Garamond。当然,在下面的程序分析中可以看到,由于设置了字体选择数组,使得可以随意添加系统支持的任何字体。大大方便和简化了程序设计。l 选择文字的字体风格:通过两个复选框按钮,可以选择需要的字体风格,包括:粗体,斜体,用同时选中两者,只选择其中一种或两者都不选中3种选择方式。l 设置画笔的颜色:可以选择当前绘制图形的画笔颜色,让图形更加丰富多彩,生动活泼。l 设置画笔的粗细:该选项在作用于基本图形组件和文字时,它的效果是不同的。当作用于绘制图形组建时,它的作用是改变画笔绘制线条的粗细;当作用于文字时,它的作用是改变文字的大小。1.3 系统的开发环境及运行环境:操作系统: Windows XP Pro SP2建模工具: Rational Rose 2003开发工具: eclipseWeb服务器:IIS+ASP.NET 2.0平台2 系统需求分析2.1绘图板的功能分析: 该系统所要实现的功能如下: (1)“橡皮”的功能:用来画出的图形。 (2)“铅笔”的功能:用来画出的任意直线。(3)“直线”的功能:用来让用户更好的画出的直线。(4)“刷子”的功能:用来让用户更好的画出的图

      4、形。(5)“吸管”的功能:用来让用户得到图片的颜色。(6)“字体”的功能:用来让用户写出自己的字体。(7)“多边形”的功能:用来让用户更好的画出的多边形。(8)“椭圆”的功能:用来让用户更好的画出的椭圆。(9)“画函数”的功能:根据用户的输入画出函数图形。(10)“圆角矩形”、“矩形”、“填充”、“选择颜色”等功能:用来让用户更好的实用该绘图板功能。2.2用户界面需求和性能分析:Windows绘图板主要是为用户提供基本画图工具。所以以提供用户最需要的功能为目的。设计性能如下: (1) 让用户不管怎样操作都能得到用户的目的,争取做到傻瓜都能使用该软件。 (2) 较windows绘图板增加了生成函数图象的功能,能实现绘制一些基本的图形组件(直线、 矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等)、橡皮擦、添加文字等。 (3)其他的实现了windows绘图板的大部分功能:铅笔、橡皮、刷子、直线、选择颜色等等功能。2.3 用例图图2 绘图板用例图用例图说明:(1)系统的外部角色有:paintings。(2)系统主要用例的文档描述:painting可见的功能,包含了penc

      5、il、word、circle、fillcircle、painting、rubber、filloval、filloval、fillrect、oval、line、reck。2.4 类图图2 绘图板类图类图说明:1.工具接口Tool:从图中可以看到,工具接口Tool 定义了鼠标动作的四个方法,分别是拖动mouseDrapped()、移动mouseMoved()、松开mouseReleased()、按下mousePressed()、点击mouseClicked()五个动作,并用String 类型的常量属性来定义工具的类型。这个接口只有一个实现类AbstractTool,而每个工具类都是去扩展AbstractTool 类,在图中表现为Tool1、Tool2.ToolN。2.Tool的实现类AbstractToolAbstractTool 是Tool 的实现类,也是一个抽像类,所以并不能被创建,只能被继承。此类实现Tool中定义的所有方法,并扩展了其它方法,让其子类继承或者重写。该类中为其他的工具类提供了大部分的实现,那么它的子类就可以不必再做重复的实现,只关心与本类相关的逻辑,3.Abstrac

      6、tTool的子类AbstractTool 一共有ArrowTool(箭头)、PencilTool(铅笔)、BrushTool(刷子)、EraserTool(橡皮擦)、LineTool (直线)、RectTool (矩形)、PolygonTool (多边形)、RoundTool (椭圆形)、RoundRectTool(圆矩形)、AtomizerTool(喷墨)、ColorPickedTool(颜色选择)11 个子类,4. 界面类ImageFrame这个画图工具的界面的主要放在这个类中实现5. 业务逻辑类ImageService除鼠标的画图功能外(画图功能由Tool 的实现类完成),初始化画板、图片的新建打开与保存、各种面板的显示与隐藏、颜色的编辑、整个界面的刷新、菜单等业务逻辑都放在这个类中实现,对象,它并没有保存一些状态属性。6 .文件选择类ImageFileChooserImageFileChooser 类继承了JFleChooser 类,JFleChooser 是Java 提供的一个简单的文件选择机制,我们这里扩展这个类,是为了增加我们自己的文件过滤器。3. 系统总体设计3.1设计

      7、准备(1)此程序为实现这些功能模块,必须首先定义一个工具面板,将这些画笔、画箭头、椭圆、圆、多边形直线、画矩形、画笔颜色、画笔大小、橡皮等功能组件放入这个工具面板中。(2)此程序为实现利用鼠标做画笔的功能,必会产生鼠标事件MouseEvent。因此,为实现鼠标画图的功能,必须用到鼠标触发事件,故在此程序中,必须实现“委托事件模型”,用到事件源、事件对象以及监听者对象。(3)此程序中,必须用到的包如下:import java.awt.*;import java.awt.geom.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;(4)需用到的类l class DrawPad 这个类是主类,是程序得以运行的入口。在这个主类中定义了主方法,是该程序执行的入口。l class SimpleDrawPad 此类用于实现这个程序的大部分功能,在这个类中除了定义一些基本变量以及构造函数外,还定义了很多成员方法,这些成员方法将实现鼠标触发事件的一系列绘图功能。l class Button

      8、Dealer(SimpleDrawPad内部类)按钮侦听器ButtonDealer类,内部类,用来侦听基本按钮的操作。l class ButtonDealer1(SimpleDrawPad内部类) 按钮侦听器ButtonDealer1类,用来侦听颜色选择、画笔粗细设置、文字输入按钮的操作。l class mouseA(SimpleDrawPad内部类) 鼠标事件mouseA类,继承了MouseAdapter,用来完成鼠标相应事件操作。l class mouseB(SimpleDrawPad内部类) 鼠标事件mouseB类继承了MouseMotionAdapter,用来完成鼠标拖动和鼠标移动时的相应操作。l class checkBoxHandler(SimpleDrawPad内部类) 选择字体风格时候用到的事件侦听器类,加入到字体风格的选择框中l class DrawPanel(SimpleDrawPad内部类) 画图面板类,用来画图。l class drawings 定义画图的基本图形单元。l class Line 继承class drawings 实现画直线功能。l class Rect 继承class drawings 实现画矩形功能。l class fillRect 继承class drawings 实现画实心矩形功能。l class Oval 继承class drawings 实现画椭圆功能。l class fillOval 继承class drawings 实现画实心椭圆功能。l class Circle 继承 class drawings 实现画圆功能。l class fillCircle 继承 class drawings 实现画实心圆功能。l class Pencil 继承 class drawings 实现自定义绘画功能。l class Rubber 继承 class drawings 实现清除图案功能。l class word 继承 class drawings 实现输入文字功能。(5)画板主要由以下几个部分组成:主窗体的设计:主

      《软件工程课程设计报告完成》由会员s9****2分享,可在线阅读,更多相关《软件工程课程设计报告完成》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.