首页 面向对象课程设计-UML活动图编辑系统

面向对象课程设计-UML活动图编辑系统

举报
开通vip

面向对象课程设计-UML活动图编辑系统面向对象课程设计-UML活动图编辑系统 《UML活动图编辑系统 》 目录 1.设计背景........................................................................................................................................ 2 2.系统需求.......................................................................

面向对象课程设计-UML活动图编辑系统
面向对象课程设计-UML活动图编辑系统 《UML活动图编辑系统 》 目录 1.设计背景........................................................................................................................................ 2 2.系统需求........................................................................................................................................ 2 2.1.系统界面 ........................................................................................................................... 2 2.2.活动图显示方式 ............................................................................................................... 2 2.3.创建活动图 ....................................................................................................................... 3 2.4.编辑活动图 ....................................................................................................................... 3 2.5.删除活动图 ....................................................................................................................... 3 2.6.显示状态迁移 ................................................................................................................... 3 2.7.初步案例图 ....................................................................................................................... 3 3.系统分析........................................................................................................................................ 4 3.1.系统基本结构 ................................................................................................................... 4 3.1.1.基本对象的确定 ................................................................................................... 4 3.1.2.基本对象关系 ....................................................................................................... 5 3.1.3基本类文档 .............................................................................................................. 6 3.2.基本用例模型及用例描述 ............................................................................................... 8 3.2.1. 基本用例模型 ..................................................................................................... 8 3.2.2.基本用例描述 ....................................................................................................... 9 3.2.2.1.创建图形用例描述 ........................................................................................... 9 3.3.序列图............................................................................................................................. 10 3.3.1.创建图元序列图 ................................................................................................. 10 3.3.2.编辑图元序列图 ................................................................................................. 10 4.系统设计...................................................................................................................................... 11 4.1.概要设计 ......................................................................................................................... 11 4.1.1.解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ............................................................................................................. 11 4.1.2.设计思想 ............................................................................................................. 11 4.1.3.系统框架 ............................................................................................................. 11 4.2.界面设计 ......................................................................................................................... 12 4.3.完整的用例模型 ............................................................................................................. 13 4.4.完整的对象图 ................................................................................................................. 13 4.5.系统状态图 ..................................................................................................................... 14 4.6.系统活动图 ..................................................................................................................... 15 5.系统实现...................................................................................................................................... 16 5.1.图形类(CDiagram)定义文档 ..................................................................................... 16 5.2.图元基类(CElement)定义文档 ................................................................................. 16 5.3.工具类文档 ..................................................................................................................... 16 5.3.1.抽象基类(CTool)文档 ................................................................................... 16 5.3.2.创建工具类(CCreateTool)文档 ................................................................... 17 5.3.3.编辑工具类(CEditTool)文档 ....................................................................... 17 5.4.图元工具类 ..................................................................................................................... 17 5.4.1.起点工具类(CStartTool)文档 ..................................................................... 17 5.4.2.活动状态工具类(CActiveStatusTool)文档 ............................................... 18 5.4.3.等待信号工具类(CWaitSingalTool)文档 ................................................... 18 5.4.4.发送信号工具类(CSendSingalTool)文档 ................................................... 18 5.4.5.同步条工具类(CSynchronousBarTool)文档 ............................................... 19 5.4.6.判定工具类(CJudgePointTool)文档 ........................................................... 19 5.4.7.状态迁移工具类(CArrowTool)文档 ............................................................. 19 5.4.8.终点工具类(CEndTool)文档 ......................................................................... 19 5.5.图元类文档 ..................................................................................................................... 20 5.5.1.起点类(CStart)文档 ..................................................................................... 20 5.5.2.活动状态类(CActiveStatus)文档 ............................................................... 20 5.5.3.等待信号类(CWaitSingal)文档 ................................................................... 20 5.5.4.发送信号类(CSendSingal)文档 ................................................................... 21 5.5.5.同步条类(CSynchronousBar)文档 ............................................................... 21 5.5.6.判定类(CJudgePoint)文档 ........................................................................... 21 5.5.7.状态迁移类(CArrow)文档 ............................................................................. 22 5.5.8.终点类(CEnd)文档 ......................................................................................... 22 5.6.视图类(CActiveChartView)文档 ............................................................................. 22 5.7.显示状态迁移对话框类(CDlgStateMove)文档 ....................................................... 23 6.课程设计总结 .............................................................................................................................. 24 1.设计背景 面向对象技术是一种发展成熟的程序设计技术,在当今社会中占有主流地 位;此外,UML在软件开发过程中的作用也越来越重要,因此,有必要掌握面向 对象程序设计技术以及能够熟练的在软件开发过程中运用UML。 2.系统需求 2.1.系统界面 系统界面应提供编辑区、菜单栏、工具条,以方便创建编辑图形。 2.2.活动图显示方式 用不同的图元 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示起点、终点、状态迁移、活动状态、等待信号、发送信号、 同步条、判定等各种活动图。 2 2.3.创建活动图 选择菜单栏或工具栏上的创建起点、终点、状态迁移、活动状态、等待信号、发送信号、同步条、判定等各种活动图命令,在编辑区内创建各种活动图。 2.4.编辑活动图 能够实现选择图元、移动图元、改变图元大小、在图元上编辑文字等各种编辑功能。 2.5.删除活动图 在菜单栏或工具栏上提供删除活动图的命令,能用弹出式菜单或选中图元后单击Del键来删除活动图,若删除的图元不是状态迁移,则应级联删除与之相连的状态迁移。 2.6.显示状态迁移 在菜单栏或工具栏上提供“显示状态迁移“命令,用于显示已经输入的所有状态迁移,能够显示状态迁移的前后状态信息。 2.7.初步案例图 经过初步的需求分析,系统的初步案例图如下: 3 主角1 编辑图形删除图形创建图形显示状态迁移 编辑图元创建图元 3.系统分析 3.1.系统基本结构 3.1.1.基本对象的确定 将每一个具体的图元定义为不同的类,因此就有:起点类(CStart)、终点类(CEnd)、活动状态类(CActiveStaus)、状态迁移类(CArrow)、等待信号类(CWaitSingal)、发送信号类(CSendSingal)、同步条类(CSynchronousBar)、 CJudgePoint);因为各种图元类有公共的属性,再抽象出一个图元基类判定类( CElement;因为要对各种图元操作,因此要存储所有的图元,所以再定义一个保存所有图元的类CDiagram。 根据对图元的操作,提取出工具类来定义对图元的公共操作,此类为虚基类CTool;因为创建图元与编辑图元的操作不同,因此,抽象出创建图元类(CCreateTool)和编辑图元类(CEditTool);又因为不同的图元又有不同的操作,因此再抽象出各个对不同图元操作的工具类:起点工具类(CStartTool)、终点工具类(CEndTool)、等待信号工具类(CWaitSingalTool)、发送信号工具类(CSendSingalTool)、同步条工具类(CSynchronousBarTool)、活动状态工具类(CActiveStatusTool)、状态迁移工具类(CArrow)、判定工具类(CJudgePointTool)。 因为要在对话框中“显示状态迁移“,所以,需要定义显示状态迁移的对话框类(CDlgStateMove)。 4 3.1.2.基本对象关系 通过对基本对象的分析,我们可以得到如下的基本对象关系: CElement CStartCSynchronousBar CEnd CJudgePoint CArrow CActiveStatusCWaitSingal 图元类的继承关系 CSendSingal CTool CEditToolCCreateTool CSynchronousBarTool CJudgePointTool CSendSingalTool CActiveStatusTool CArrowToolCStartToolCEndToolCWaitSingalTool 工具类的继承关系 5 3.1.3基本类文档 3.1.3.1.工具类的类文档 CTool 工具类基类 对象关联 包含图形基类CDiagram 继承类 无 属性 CDiagram* m_d 保存图形 CActiveChartView* m_pAct 指向当前活动视图 行为 virtual void Press(CPoint pos) =0; 响应鼠标左键按下消息 virtual void Move(CPoint pos) =0; 响应鼠标移动消息 virtual void Release(CPoint pos) =0; 响应释放鼠标 CCreateTool 创建工具类 继承类 CTool 属性 CPoint* m_pStart 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 鼠标按下时的位置 CPoint* m_pEnd 记录鼠标释放时的位置 行为 void Press(CPoint pos); 响应鼠标左键按下消息 void Move(CPoint pos); 响应鼠标移动消息 void Release(CPoint pos); 响应释放鼠标 virtualCElement* Create(CPoint 创建图元 start,CPoint end) =0; virtual void Update(CPoint 动态记录鼠标的位置 start,CPoint end)=0; CEditTool 编辑工具类 继承类 CTool 属性 int m_focus 记录图元获得焦点的控制点 CElement* m_pElem 指向正在编辑的图元 行为 void Press(CPoint pos); 响应鼠标左键按下消息 void Move(CPoint pos); 响应鼠标移动消息 void Release(CPoint pos); 响应释放鼠标 CEditTool(CDiagram* d); 保存正在编辑的图形 6 3.1.3.2.图形类的类文档 CDiagram 图形类 属性 CObArray m_elems 保存所有的图元 行为 CElement* Find(CPoint pos); 判断选中了哪个图元 3.1.3.3.图元基类的类文档 CElement 图元基类 继承类 CObject 属性 BOOL m_select 某个图元是否被选中 int m_logo 标志是哪类图元 CString m_wordsInElem 记录图元上显示的文字 CPoint m_pStart,m_pEnd 分别记录创建图元的两个点 行为 virtual void Move(int vx,int vy); 移动图元 virtual CRect CreateInputArea(); 创建显示文字区域 virtual BOOL Contains(CPoint pos) =0; 判断是否点到了图元 virtual void Draw(CDC* pDC) =0; 创建图元 void MoveControlPoint(int pos,int vx,int 移动图元的控制点 vy); virtual int FindControl(CPoint pos) =0; 判断是否点到了图元的控制 点 3.1.3.4.图元工具类的类文档 因为8中图元工具类的类文档都差不多,只是名字不同,因此,这里仅仅给出一个图元工具类的类文档。 CArrowTool 状态迁移工具类 继承类 CCreateTool 属性 行为 CArrowTool(CDiagram* m); 记录图形 void Update(CPoint start,CPoint end); 更新图元位置 CElement* Create(CPoint start,CPoint end); 创建图元 7 3.1.3.5.图元类的类文档 同理,因为8中图元的类文档也差不多,只是名字不同而已,因此,这里也只给出一个图元类的类文档。 CArrow 状态迁移类 继承类 CElement 属性 方法 void Move(int cx,int cy); 移动状态迁移 int FindControl(CPoint pos); 判断点到哪个控制点 void Draw(CDC* pDC); 画状态迁移 BOOL Contains(CPoint pos); 判断是否点到了状态迁移 CArrow(CPoint start,CPoint end); 生成状态迁移 3.2.基本用例模型及用例描述 3.2.1. 基本用例模型 3.2.1.1.创建图形用例模型 用户 <><>创建起点创建图形创建终点<><> <><><><>创建活动状态创建状态迁移 创建等待信号 创建发送信号创建同步条创建判定 8 3.2.1.2.编辑图形用例模型 用户<>编辑起点<>编辑文字<>编辑图形<> <>编辑活动状态编辑终点<> <><><> 编辑等待信号编辑状态迁移 编辑发送信号编辑判定编辑同步条 3.2.2.基本用例描述 3.2.2.1.创建图形用例描述 创建图形 用户 编辑系统 1.要求创建 1.建立空文档 2.选择创建起点 2.创建起点 3.选择创建活动状态 3.创建活动状态 4.选择创建发送信号 4.创建发送信号 5.选择创建等待信号 5.创建等待信号 6.选择创建判定 6.创建判定 7.选择创建同步条 7.创建同步条 8.选择创建状态迁移 8.创建状态迁移 9.选择创建终点 9(创建终点 3.2.2.2.编辑图形用例描述 编辑图形 用户 编辑系统 1.选择图形 1.高亮显示图形 2.选择编辑起点 2.编辑起点 3.选择编辑活动状态 3.编辑活动状态 9 4.选择编辑发送信号 4.编辑发送信号 5.选择编辑等待信号 5.编辑等待信号 6.选择编辑判定 6.编辑判定 7.选择编辑同步条 7.编辑同步条 8.选择编辑状态迁移 8.编辑状态迁移 9.选择编辑终点 9.编辑终点 3.3.序列图 3.3.1.创建图元序列图 在系统处于初始状态下,用户选择创建图元命令,然后在编辑区内按住鼠标左键并拖动,这时会动态绘制图元,绘制好后释放鼠标,按下鼠标时系统会记录下图元的起点,鼠标弹起时系统又会记录图元的终点。 用户用户界面创建工具类具体图元类视图类图元工具类 选择创建 创建工具类指针 鼠标按下 记录起点位置记录起点鼠标移动 更新鼠标位置动态显示图元 更新鼠标位置 鼠标弹起 记录鼠标终点 创建图元 生成图元 将图元加入图形类 显示图元 3.3.2.编辑图元序列图 创建好图元后有时需要编辑,这时先选中需要编辑的图元,方法是用鼠标左键单击要编辑的图元。将鼠标定位在图元内部,然后拖动鼠标,就会移动图元到新的位置。将鼠标定位到图元的控制点上,根据选择的不同控制点以不同的方式改变图元的大小。用鼠标双击图元,就会出现一个文字编辑区域,可以在给区域内输入文字。 10 图元类用户系统界面编辑工具图元基类 选择图元查找图元 高亮显示 移动图元移动更新图元坐标 重画图元 改变图元大小改变图元大小移动控制点改变图元坐标重画图元 编辑文字 编辑显示编辑区域 编辑结束 重画图元 4.系统设计 4.1.概要设计 4.1.1.解决方案 本课程设计采用的开发环境是Microsoft Visual C++ 6.0,它是一种可 视化的开发环境,并且利用其提供的MFC类库来进一步简化程序的设计。 4.1.2.设计思想 本课程设计是基于面向对象技术的系统设计,因此,定义了各种类来描述系统的各个部分的属性和具体实现方法,并且利用UML来描述系统需求、系统结构、系统行为。 4.1.3.系统框架 本系统主要包括创建图元、编辑图元、删除图元、显示状态迁移等四大部分。 11 UML活动图编辑系统 建立空文档 创编删显 建辑除示 图图图状 元元元态 迁 移 4.2.界面设计 由图可知,系统界面提供了创建各种图元的命令,包括菜单命令和工具栏命令,并且提供了删除图元的的菜单和工具栏命令,还提供了显示状态迁移的菜单和工具栏命令,此外,在状态栏上可以显示鼠标在编辑区的坐标位置,这样可以方便绘制图形。 12 4.3.完整的用例模型 根据对系统的详细分析,可以得到如下完整的用例模型: 4.4.完整的对象图 通过对各种对象功能以及系统结构的分析,可以得到如下完整的对象图: 13 <>CObjectCDiagramCTool CEditToolCCreateToolCElement CStartCStartTool<> CEndCEndTool<> CArrowCArrowTool<> CWaitSingalToolCWaitSingal<> CSendSingalToolCSendSingal<> CActiveStateToolCActiveStatus<> CJudgePointToolCJudgePoint<> CSynchronousBarCSynchronousBarTool<> 4.5.系统状态图 该系统中的状态主要有:创建图元状态、选中图元状态、编辑图元状态、删除图元状态、显示状态迁移状态,其转移过程如下: 在初始状态下,只能先创建图元,否则,系统没有反应;创建图元后,可以选中图元,继而编辑图元或删除图元,删除图元有三种方法:可以选择菜单栏中的删除命令,也可以直接单击工具栏上的删除命令,还可以在图元上右键单击,这时会弹出快捷菜单,单击其中的删除命令删除图元。在选中图元的状态下,可以移动图元、改变图元的大小、在图元内编辑文字。除了初始状态的任意状态下,可以选择显示状态迁移命令来显示当前的状态迁移信息。 14 创建图元状态 选中图元状态 编辑图元状态 删除图元状态显示状态迁移状态 4.6.系统活动图 下图是用该系统绘制的本系统的活动图。 15 5.系统实现 5.1.图形类(CDiagram)定义文档 class CDiagram //图形类 { public: CObArray m_elems; //保存所有的图元 public: CElement* Find(CPoint pos);//查找点到哪个图元 }; 5.2.图元基类(CElement)定义文档 class CElement : public CObject { public: BOOL m_select; //是否被选中 int m_logo; //具体图元的标志 CString m_wordsInElem; //图元上显示的文字 CPoint m_pStart,m_pEnd; //记录图元的起点与终点 public: void MoveControlPoint(int pos,int vx,int vy);//移动控制点 virtual CRect CreateInputArea();//创建文字区域 virtual void Move(int vx,int vy),0; //移动图元 virtual int FindControl(CPoint pos) =0; //判断点到哪个控制点 virtual BOOL Contains(CPoint pos) =0; //是否点到某个图元 virtual void Draw(CDC* pDC) =0; //绘制图元 }; 5.3.工具类文档 5.3.1.抽象基类(CTool)文档 class CTool //工具类 { public: CDiagram* m_d; //指向建立的图形对象 CActiveChartView* m_pAct; //指向当前视图 public: 16 CTool(CDiagram* d); //保存图形 virtual void Press(CPoint pos) =0; //鼠标左键按下时调用 virtual void Move(CPoint pos) =0; //鼠标移动时调用 virtual void Release(CPoint pos) =0; //鼠标弹起时调用 }; 5.3.2.创建工具类(CCreateTool)文档 class CCreateTool : public CTool { public: CPoint* m_pStart; //临时记录起点 CPoint* m_pEnd; //临时记录终点 public: virtual CElement* Create(CPoint start,CPoint end) =0; //创建一个图元,并返回指向该图元的指针 void Release(CPoint pos); //鼠标释放时 virtual void Update(CPoint start,CPoint end)=0; //更新 void Move(CPoint pos); //移动 void Press(CPoint pos); //鼠标按下记录起点 }; 5.3.3.编辑工具类(CEditTool)文档 class CEditTool : public CTool { public: int m_focus; //判断是否有图元获得焦点 CElement* m_pElem; //正在编辑的图元 public: void Release(CPoint pos); //鼠标释放 void Press(CPoint pos);//鼠标按下 void Move(CPoint pos);//鼠标移动 CEditTool(CDiagram* d);//记录编辑的图形 }; 5.4.图元工具类 5.4.1.起点工具类(CStartTool)文档 class CStartTool : public CCreateTool //起点工具类 17 { public: CElement* Create(CPoint start,CPoint end); //创建起点 void Update(CPoint start,CPoint end); //更新起点 CStartTool(CDiagram* d); }; 5.4.2.活动状态工具类(CActiveStatusTool)文档 class CActiveStatusTool : public CCreateTool { public: CActiveStatusTool(CDiagram* m); void Update(CPoint start,CPoint end); //更新活动状态 CElement* Create(CPoint start,CPoint end);//创建活动状态 }; 5.4.3.等待信号工具类(CWaitSingalTool)文档 class CWaitSingalTool : public CCreateTool { public: void Update(CPoint start,CPoint end);//更新等待信号 CElement* Create(CPoint start,CPoint end);//创建等待信号 CWaitSingalTool(CDiagram* m); }; 5.4.4.发送信号工具类(CSendSingalTool)文档 class CSendSingalTool : public CCreateTool { public: CSendSingalTool(CDiagram* m); void Update(CPoint start,CPoint end); //更新发送信号 CElement* Create(CPoint start,CPoint end); //创建发送信号 }; 18 5.4.5.同步条工具类(CSynchronousBarTool)文档 class CSynchronousBarTool : public CCreateTool { public: CElement* Create(CPoint start,CPoint end); //创建同步条 void Update(CPoint start,CPoint end); //更新同步条 CSynchronousBarTool(CDiagram* m); }; 5.4.6.判定工具类(CJudgePointTool)文档 class CJudgePointTool : public CCreateTool { public: CElement* Create(CPoint start,CPoint end); //创建判定 void Update(CPoint start,CPoint end); //更新判定 CJudgePointTool(CDiagram* m); }; 5.4.7.状态迁移工具类(CArrowTool)文档 #include "CreatTool.h" class CArrowTool : public CCreateTool //状态迁移类 { public: CElement* Create(CPoint start,CPoint end); //创建状态迁移 CArrowTool(CDiagram* m); void Update(CPoint start,CPoint end);//更新状态迁移 }; 5.4.8.终点工具类(CEndTool)文档 class CEndTool : public CCreateTool { public: void Update(CPoint start,CPoint end); //更新终点 19 CEndTool(CDiagram* d); CElement* Create(CPoint p1,CPoint p2); //创建终点 }; 5.5.图元类文档 5.5.1.起点类(CStart)文档 class CStart : public CElement //起点类 { public: void Move(int vx,int vy); //移动起点 int FindControl(CPoint pos);//判断点到哪个控制点 BOOL Contains(CPoint pos); //是否点到起点 void Draw(CDC* pDC); //画起点 CStart(CPoint start,CPoint end);//生成起点 }; 5.5.2.活动状态类(CActiveStatus)文档 class CActiveStatus : public CElement //活动状态类 { public: void Move(int vx,int vy);//移动活动状态 void Draw(CDC* pDC); //画活动状态 BOOL Contains(CPoint pos);//是否点到活动状态 int FindControl(CPoint pos);//判断点到哪个控制点 CActiveStatus(CPoint start,CPoint end);//生成活动状态 }; 5.5.3.等待信号类(CWaitSingal)文档 class CWaitSingal : public CElement { public: BOOL m_Wait_L,m_Wait_R; //2种等待信号 public: void Move(int cx,int cy);//移动等待信号 CWaitSingal(CPoint start,CPoint end);//生成等待信号 void Draw(CDC* pDC); //画等待信号 int FindControl(CPoint pos); //判断点到哪个控制点 20 BOOL Contains(CPoint pos); //是否点到等待信号 }; 5.5.4.发送信号类(CSendSingal)文档 class CSendSingal : public CElement { public: void Draw(CDC* pDC);//画发送信号 void Move(int vx,int vy);//移动发送信号 int FindControl(CPoint pos); //判断点到哪个控制点 BOOL Contains(CPoint pos);//是否点到发送信号 CSendSingal(CPoint start, CPoint end);//生成发送信号 }; 5.5.5.同步条类(CSynchronousBar)文档 class CSynchronousBar : public CElement { public: int FindControl(CPoint pos);//判断点到哪个控制点 void Draw(CDC* pDC); //画同步条 CSynchronousBar(CPoint start,CPoint end);//生成同步条 void Move(int cx,int cy); //移动同步条 BOOL Contains(CPoint pos);//是否点到同步条 }; 5.5.6.判定类(CJudgePoint)文档 class CJudgePoint : public CElement { public: void Move(int vx,int vy);//移动判定 void Draw(CDC* pDC); //画判定 int FindControl(CPoint pos); //判断点到哪个控制点 BOOL Contains(CPoint pos);//是否点到判定 CJudgePoint(CPoint start,CPoint end); //生成判定 }; 21 5.5.7.状态迁移类(CArrow)文档 class CArrow : public CElement { public: void Move(int cx,int cy); //移动状态迁移 int FindControl(CPoint pos); //判断点到哪个控制点 void Draw(CDC* pDC); //画状态迁移 BOOL Contains(CPoint pos); //是否点到状态迁移 CArrow(CPoint start,CPoint end); //生成状态迁移 }; 5.5.8.终点类(CEnd)文档 class CEnd : public CElement { public: int FindControl(CPoint pos);//判断点到哪个控制点 void Move(int vx,int vy); //移动终点 BOOL Contains(CPoint pos);//是否点到终点 void Draw(CDC* pDC); //画终点 CEnd(CPoint p1,CPoint p2); //生成终点 }; 5.6.视图类(CActiveChartView)文档 class CActiveChartView : public CView { public: BOOL m_lbtn; //判断左键是否按下 BOOL flag[8]; //标志着按下了哪个图元菜单 BOOL m_edit; //判断是否在对图元上的文本进行编辑 BOOL m_Wait_L,m_Wait_R; //2种等待信号 CPoint m_start;//临时保存起点 CPoint m_end; //临时保存终点 CTool* m_pCreatTool; //创建工具类指针 CTool* m_pEditTool; //编辑工具类指针 CDiagram* m_d; //保存刚建立的图形 CEdit* m_pEdit; // CElement* m_pSelElem; //指向双击的图元,要在上面编辑文本 int m_selIndex; //双击选中图元在数组中的位置 int m_checkCtrl; //记录选中的控制点 22 public: virtual void OnDraw(CDC* pDC); // overridden to draw this view void DrawArrow(CDC* pDC); //画状态迁移 void DrawSynchronousBar(CDC* pDC);//画同步条 void DrawJudgePoint(CDC* pDC); //画判定 void DrawSendSingal(CDC* pDC); //画发送信号 void DrawWaitSingal(CDC* pDC); //画等待信号 void DrawActiveStatus(CDC* pDC);//画活动状态 void DrawEndPoint(CDC* pDC);//画终点 void DrawStartPoint(CDC* pDC); //画起点 void Focus(CElement* m_Elem,int m_focus);//使图元获得焦点 void Highlight(CElement* e); //高亮显示图元 void SetEditTool(CDiagram* m); //重置编辑工具指针 void RecordPoint(CPoint start,CPoint end);//记录图元两个点 afx_msg void OnLButtonDown(UINT nFlags, CPoint point);//鼠标左键 afx_msg void OnMouseMove(UINT nFlags, CPoint point); //鼠标移动 afx_msg void OnLButtonUp(UINT nFlags, CPoint point);//鼠标弹起 afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);//鼠标双击 afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);//右键菜单 afx_msg void OnRButtonDown(UINT nFlags, CPoint point);//右键按下 afx_msg void OnGraphStartpoint();//响应画起点命令 afx_msg void OnGraphEndpoint(); //响应画终点命令 afx_msg void OnGraphActivestatus(); //响应画获得状态命令 afx_msg void OnGraphLwaitsingal(); //响应画等待信号命令 afx_msg void OnGraphRsendsingal(); //响应画发送信号命令 afx_msg void OnGraphJudgementpoint(); //响应画判定命令 afx_msg void OnGraphSynbar(); //响应画同步条命令 afx_msg void OnGraphStatusmove(); //响应显示状态迁移命令 afx_msg void OnGraphdelete(); //响应删除图元命令 afx_msg void OnGraphRwaitsingal(); afx_msg void OnMenuShow(); //响应弹出显示状态迁移窗口 }; 5.7.显示状态迁移对话框类(CDlgStateMove)文档 class CDlgStateMove : public CDialog { public: void ShowStateMove(); //显示状态迁移 virtual BOOL OnInitDialog(); //初始化对话框 }; 23 6.课程设计总结 在本次课程设计的过程中,我遇到了许多问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 ,包括个人问题和技术问题,我深刻的体会到,要想精通一种技术,需要有大量的实践,不仅仅是学习书本上的知识,更重要的是在实践中积累技能,知识和技能不能简单的划等号,要想知识变为技能,必须经过长时间的大量的实践;此外,做程序不仅仅需要知识,还有重要的一点是,要有耐心,遇到问题要不慌不忙,对自己说,出现问题是好事,这正好来弥补自己知识的漏洞。 通过本次课程设计,我对面向对象技术有了进一步的理解,特别是类与对象这两个概念逐渐的清晰起来,还有对多态性的理解更加深刻,我想对我以后的学习起了鼓励和启迪的作用;另外,通过使用UML,不仅熟悉了各种图形的功能与使用,而且使我对软件开发的过程有了一个整体的认识,对我以后从事软件开发工作具有指导意义。 最后,感谢老师对我的鼓励与指导,老师严谨的治学精神给了我深刻的印象,会激励我不断努力。 24
本文档为【面向对象课程设计-UML活动图编辑系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_477730
暂无简介~
格式:doc
大小:164KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-10-16
浏览量:19