简易绘图工具程序
目录目录 1 需求分析 1 1.1 需求说明 1 1.2 编译环境 . 1 2 系统分析与设计 1 2.1 功能描述 . 1 2.2 系统用例图 . 2 2.3 系统时序图 . 2 2.4 系统类图 . 3 3 软件实现 3 3.1 系统初始化界面 . 3 3.2 图形绘制窗口 . 4 3.3 图形排序窗口 . 4 3.4 图形保存窗口 . 5 3.5 程序关闭窗口 . 5 4 系统模式说明 6 1 1 需求分析需求分析 1.11.1 需求说明需求说明 1) 提供绘制直线、矩形、椭圆等简单图形元素,每个图形元素包括线宽、前 景颜色等属性。通过工具条方式驱动绘制(类似与画笔工具) 。 2) 对每个图形对象可以在图形显示区域和列表显示区域选中,选中后可以 对其进行编辑,包括改变属性、删除、改变绘制顺序等。 3) 对所绘制的图形对象分别以图形方式和列表方式显示,其中在列表方式 显示框中可以根据图形对象的名称、颜色和笔宽进行排序。 4)所绘制的简单图形对象可以组合成组合对象。 5) 所绘制的图形可以保存到文件中。 1.21.2 编译环境编译环境 编码语言:C# 编译环境: 2 2 系统分析与设计系统分析与设计 2.12.1 功能描述功能描述 简易绘图工具运用 C#编写,程序实现提供绘制直线、矩形、椭圆图形元素, 每个图形元素可以设置为细、中、宽三种宽度、同时可以将其前景颜色分为红绿 蓝黄四种颜色类别。并且对所绘制的图形对象分别以图形方式和列表方式显示, 其中在列表方式显示框中可以根据图形对象的形状、 颜色和笔宽以及绘制先后进 行分组排序。同时可以将所绘图形保存下来。 1 2.22.2 系统用例图系统用例图 系统系统 画图 -结束2 直线 椭圆 线宽、前景颜色等属性 -结 束1 *-结束5 * -结束7 * -结束6 图的显示 * 用户 图形方式 * -结束8 保存 列表方式 图 2.1 2.32.3 系统时序图系统时序图 interface command fuction 用户 请求操作 调用命令 调用函数 根据请求返回相应的结果 根据请求返回相应的结果 显示操作结果 图 2.2 2 2.42.4 系统类图系统类图 dwLinedwLine +DrawShape() 1 useruser * -端3 -端4 dwdw +DrawShape() CircleCircle +Circle() LineLine +Line() RectangleRectangle +Rectangle() 图 2.3 3 3 软件实现软件实现 3.13.1 系统初始化界面系统初始化界面 图 3.1 3 3.23.2 图形绘制窗口图形绘制窗口 图 3.2 3.33.3 图形排序窗口图形排序窗口 图 3.3 4 3.43.4 图形保存窗口图形保存窗口 图 3.4 3.53.5 程序关闭窗口程序关闭窗口 图 3.5 5 4 4 系统模式说明系统模式说明 工厂模式:首先在本程序中定义了一个产品接口 Shape,产品接口有 Sample 的接口实现类,该程序中是 Rectangle、Line、Circle 类,其中 factory 实现类是 draw、drawCircle、drawLine、drawRec 类。如下代码是关于以上类的描述: 接口 Shape: abstract class Shape { public Point pStart; public Point pEnd; } 实现类 Rectangle、Line、Circle 类 class Rectangle: Shape { } class Line:Shape { } class Circle:Shape { } Factory 实现类如下所示: abstract class draw { public abstract shape.Shape DrawShape(Point pStart, Point pEnd); } class drawCircle:dw { public override Shape DrawShape(Point pStart, Point pEnd ) 6 { return new shape.Circle(pStart, pEnd); } } class drawLine : draw { public override Shape DrawShape(Point pStart, Point pEnd) { return new Line(pStart, pEnd); } } class drawRec: draw { public override Shape DrawShape(Point pStart, Point pEnd) { return new shape.Rectangle( pStart,pEnd); } } 程序中体现: 桥接模式:实现部分所处层次较低,可以被多种业务模块复用。 7