




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
如何设计类似Visio的流程图软件V3.1(访问下载最新Word资料(含图表)第一章 创意说明1.1 背景介绍流程图绘制软件是图表作为一种简洁、方便、易于理解的辅助表达方式,在各个领域都有着普遍的使用,很多场合,图表的表达能力远远超越了文字。另一方面,由于人对直观所见的理解力强于阅读的理解力,所以人们总是乐于看一张简单的图表,而不是一段冗长的文字。市场调研员的分析报告、软件工程师的设计方案、教师的讲义、网络建设方案、公司的工作流程等等,这些都需要大量的图表来强化其意图说明的问题。名词解释 形状:各种绘图的基本元素,如直线、弧线,以及由基本元素构成的具有特定意义的图形,如进程、判定等。图形模板:系统中将各不同行业和不同应用的图形加以整理分类,形成一系列图形组合以适应各类不同需求,这些组合称为图形模板。实例模板:为用户提供的一系列优秀的绘图实例。1.1.1 国内外发展现状及对比专业图表制作软件市场需求量巨大,微软开发的Microsoft Visio软件作为流程图制作软件的巨头,占据了半壁江山,它操作方便使用简单,应用它可以轻松地完成一般的流程图制作。据分析,Visio的最大亮点在于他的图形操作方式,让用户在最短的时间内就可以学会绘图。近年来,国内在该领域做出了一定的尝试,但功能上十分单薄,在制作专业的图表上还有很大的一段距离。1.1.2 创意说明和开发意义 创意和灵感来自于一步步对工作学习的总结,我们在实际使用绘图软件时不断总结前人的经验,并大胆的提出新的想法。 1绘制图形时,很多用户在工作时通常无从下手,如果软件系统中预先为用户提供各种专业的绘图模板,例如各种专业的流程图、网络图解决方案。用户在设计时有据可查、有板可依,能够激发用户的创意,同时可以极大的提高绘图的工作效率和节约公司成本。 2在使用各种流程图软件时,经常发现单用一种软件很难完成工作,比如说利用Visio进行排版,将是一件不很轻松的事情。用过Visual C+的用户也许知道:用控件设计对话框时,排版将是一件很方便的事。如果将Visio的图形操作方式结合Visual C+的排版功能,对用户而言将是一件很有意义的事情。 3Visio的全矢量图绘制,具有缩放图形不失真、任意填充的众多优点,但矢量图在图形质量上没有其他的图形格式好,如颜色、分辨率。如果在图形设计上结合矢量图、位图和文本,做到真正意义上的图文混排,同时提供用户自定义图形模板库,方便用户日后的工作。4国内一些软件公司,通常针对于某一领域,如建筑、电子线路、服装、软件设计等众多领域开发专业的图表软件,在这个开发过程中,有很多相似的部分,即对图形的操作,如果能够有一个类似如Visio的功能强大的图形控件,将大大提高公司的开发效率,节约开发成本。1.2 市场定位在做出市场定位之前,首先需要说明一下一个最重要特性:易扩展性。易扩展性就是提供了简单方便的方式来扩充自己的图形库和图形模板,通过扩充可以将应用扩展到相应的领域。从设计之初就将易扩展性作为软件的设计首要标准,通过扩展,很快地定制出其它的行业性软件。其适用对象举例,可参看表1.1:表1.1 系统适用对象举例图形模板适用对象系统带来的帮助基本图表无行业局限性系统提供足够的图形元素,帮助用使用者完成所设想的图表,帮助其表达意图说明的问题。销售和市场营销人员以图解方式说明其意见,通过图表显示公司产品的销售业绩和市场趋势。财务工作人员向其服务对象表达统计材料和财务趋势。流程图基本流程图学生、教师等以图解方式表达某些过程中的逻辑关系。混合流程图无行业局限性系统提供足够的图形元素,帮助用使用者表达某些比较复杂的逻辑过程,想法和设计思路。数据流程图软件工程师显示软件或数据库中数据流程。工作流程图项目或部门管理人员以图表表示部门工作流程,项目的进展流程或服务流程。事务流程图经理 查看进程如何进展、进程涉及哪些部门以及如何改进进程。审计流程图财务计划人员描述财政管理、资金管理和财务库存进程。因果流程图特定行业的分析人士以图解的方式阐述导致某些结果产生的现象,并跟踪分析。SDL图通信工程师设计电信系统,或排除电信网络问题。IDEFO图软件工程师表示功能业务模型。网络图基本网络图网络管理员以图解的方式介绍公司网络的高级视图。网络经理显示产品在组织内的分布状况。详细网络图网络设计人员描述网络的设计、布线方案。网络管理员,IT专业人员排除网络连接和数据流问题,确定并显示远程位置的互连方式。Active Directory 图表IT 专业人员软件设计人员直观地表示Active Directory服务并排除故障;测试 Active Directory 对象交互。LDAP 目录图表IT 专业人员技术支持工程师对目录服务中的轻型目录访问协议 (LDAP) 对象进行建模; 排除与 LDAP 服务有关的问题。软件设计软件设计相关人员帮助绘制各类软件设计图,如UML中的用例图,活动图等等。 说明:表一中所举的例子受到作者知识面的限制,仅覆盖了实际适用对象的很小一部分,较为常用的图形模板还有数据库设计、工艺过程图、工程管理、Web 应用、科学计算、商业计划、电子工程等等。(目前完成了基本绘图、流程图和网络图三大模块的图形模板)从上述材料可以看出,有着强大的市场潜力,并且软件的设计结构也为走向市场提供了可行性或者说是有着很好的支持。下面将详细说明这一点。除了很强的可扩展性,同时具有“松耦合”的特性,这种特性来自于各图形模板间的独立性,使得可以很容易拆分成具有行业性的系列软件,“专业流程图制作软件” 、“专业网络图制作软件” 、“专业工程管理图表制作软件” 等系列化的产品呼之欲出。拆分后的软件产品具备更强的行业特色,可以为特定行业提供更专业的服务,由此可以看到立足市场的另一有力支撑方式-企业定制,得益于的统一模型,可以为企业量身定制满足其需求的系统。另外,可制作成控件为服装、建筑、汽车等工业软件提供二次开发。1.3 本章小结是一款高应用的通用型软件,同时也可以点对点地为客户提供定制服务。其易于扩展的特性使得其具有广泛的适用对象和强大的发展潜力。 第二章 产品介绍2.1 设计理念是以各行业常用图表为基础,在对各类图表制作方式综合分析的基础上设计出的一款图表制作软件。提供丰富的图形元素,您只需要从图形模板库中拖曳图形,就可以绘制出专业的图表,使绘制过程尽可能的简化。软件提供不同行业的规范图形,常用预定义方案,当然,您也可以将自己绘制的图形添加到收藏夹中供日后使用。a) 设计合理。人性化设计,提供完善的绘制、修改方法,提供良好的扩展性和可维护性。b) 操作简单。与常见的绘图、文档编辑软件的操作方式相似,使用户可以在短时间内掌握软件的使用方法。c) 功能强大。丰富的预定义模板库让您绘制图形无需从头开始,只要轻轻的拖曳即可做出漂亮的图形。d) 技术先进。全部矢量绘图,缩放自如,图形任意组合和分解,方便的自定义图形,图形抗锯齿等等。e) 创新点多。系统提供的实例模板库,让您思路开阔,在绘图时不断学习进步。直接拖曳式工作方式让你工作更方便。灵活的绘图工具可以充分发挥用户的创意灵感。2.2 设计目标的目标就是建立了一个通用且功能完备的作图系统,帮助用户轻松绘制各类图表。其特点就是方便高效、省时省力,帮助用户建立高效简单的工作方式,改善企业间、企业各部门间、部门内部、各用户间的沟通,缩短交流时间,提高用户的工作效率。有效地帮助用户理解复杂的业务过程、系统结构、组织方式、抽象的理念和想法,同时可以协助用户理清思路,帮助用户建立起清晰且易于理解的可视模型。另外为软件企业提供可以二次开发的图形控件,提高企业开发效率,节约开发成本。2.3 产品特点1) 人性化设计,提供完善的绘制、修改方法,各种显示模式,随意切换。2) 与常见的绘图、文档编辑软件的操作方式相似,使用户可以在短时间内掌握软件的使用方法。3) 丰富的预定义模板库让您绘制图形无需从头开始,只要轻轻的拖曳即可做出漂亮的图形。系统提供的实例模板库,让您思路开阔,在绘图时不断学习进步。4) 模板形状库中全部矢量绘图,缩放自如,支持插入其它格式的图形和OLE对象,最大限度地减少用户输入量。5) 绘图过程比用纸笔画图更简单方便和精准,提供统一排版、图层控制等格式设置,让您轻松完成各类专业的流程图、网络图、软件设计图等。6) 基本绘图工具让您可以通过直线、曲线、弧线、矩形和椭圆工具等元素绘制出新的图形,并可以保存到图形模板库供日后使用,让用户的思想和创意能够淋漓尽致的体现在绘图过程中。7) 矢量图形抗锯齿。让您绘制的图形在任何角度都保持美观。8) 无限撤销和重做功能,使用更加方便灵活。9) 可以输出为专用的绘图格式,或者通用的各种图形格式,同时可以方便的利用剪贴板将选中的绘图形状拷贝到其它支持剪贴板操作的软件中。10) 所见即所得的操作方式,使用户可以将任何时候看到的绘图形状输出为bmp、jpg、emf等格式文件或直接打印。2.4 产品功能提供了一套完备的图表绘制方案,极大的提高了图表的制作效率和图表的质量。1. 丰富的图形库专业的图形分类库,专为各行业定制。目前包括背景库、边框和标题库、线和箭头库、基本流程图图形库、混合流程图图形库、审计流程图图形库、数据流程图图形库、工作流程图图形库、事物流程图图形库、SDL图形库、IDEFO图形库、基本网络符号库、计算机和显示器图形库、网络外设图形库、Cisco设备图形库等等。2. 无限可扩充性提供了一套完备图形和图形库的扩充机制,通过这个机制用户和软件设计者都能很轻松的对图形和图形库进行扩充,以满足新的需要。3. 操作方式体贴入微所有的操作方式与现有的绘图、文档编辑软件的操作方式相似,并且都使用鼠标图形提示,使得用户操作得心应手。图形的通用操作有平移、拉伸、旋转、组合、分解、图层调整、保护设置、排版、连接等等,使得图表制作异常简单。4. 填充方案、阴影方案、线条方案打造超酷图表提供了丰富的填充风格、阴影风格、阴影填充风格、透明度、线条样式、线条宽度、箭头样式、箭头大小和各自颜色的设置,用户可以充分发挥自己的想象,通过简单设置就可打造出生动并富有表现力的图表。5. 多种图形处理工具本软件提供了强大的位图图形处理功能,包括替换颜色、设置透明度、色彩平衡、RGB色调调整、亮度/对比度、色相/饱和度、Gramma校正、灰度、噪声、平滑、锐化、底片。 6. 审阅功能随心所欲记录想法、批注本软件的审阅功能,帮助您随时记录自己的想法、对文档的批注意见或一些特别说明。审阅功能同时记录批阅者和批阅时间,相当于Word的审阅功能。另外,本软件提供了手写批注的功能,您可以随意书写并调整书写的内容。7. 强大的文本编辑功能本软件提供了操作简单功能强大的文本编辑,多种编辑模式和丰富的字体、颜色、段落设置,令您使用起来得心应手。8. 预定义方案扩展的您思路本软件提供了一些经典的图表方案,帮助拓宽您的思路,更大程度上地提高您的作图效率。同时,预定义方案库也提供了个人收藏夹的功能,您可以将您成功的方案图存入其中,作为以后的模板使用,即方便又高效。9. 配色方案让您的文档更具个性色彩本软件提供了多套优秀的配色方案,可以统一设置绘图的色调。给你的工作提供最大的方便。还可以通过自定义配色方案,让软件和绘图充满个性。 10. 自由绘制,画出您想要的图形本软件提供了矩形、椭圆、直线、弧线、贝塞尔曲线、曲线六种绘图工具,利用这些工具,您可以绘制自己想要的图形。并且通过组合绘制和调整,绘制出更为复杂的图形,完成您需要表达的思想,更令人兴奋的是这些图形可以存入图形库,达到一劳永逸的效果。11. 图形连接和组合功能本软件提供连接线、直线、曲线、弧线、贝塞尔曲线五种自绘线型和线与箭头的预定义图形库,来完成图形间的连接。连接功能将帮助您更好地理解图形所代表的模块间的关系,同时也极大地方便了页面的排版。而图形的组合可以将具有特定意义的一组图形组合成一个图形,有利于统一操作和理解。12. 区域操作本软件提供了联合、组合、拆分、相交、剪除五中区域操作,可以将目标图形组合或拆解,形成新的图形。13. 排版功能让您排版轻松自如本软件提供了标准的排版功能,有上对齐、水平居中对齐、下对齐、左对齐、垂直居中对齐、右对齐、水平等间距、垂直等间距、等宽、等高、等大、页面水平居中、页面垂直居中,同时页面提供了标尺和网格设置使得您排版工作轻松自如。14. 支持丰富的图形文件格式本软件支持多种图形格式,有Windows位图(*.bmp,* .dib),Tag图像文件格式(*.tif),可移植网络图形(*.png),图形交换格式(*.gif),JPEG文件交换格式(*.jpg),Window图元文件(*.wmf),增强型图元文件(*.emf)。15. 与其他通用软件的兼容本软件具有良好的兼容性,支持Word、Excel等OLE 对象的插入。支持图形直接复制到Word等Office办公软件中。 第三章 需求分析3.1 任务概述3.1.1 目标目标就是建立了一个通用且功能完备的作图系统,帮助用户轻松绘制各类图表。其特点就是方便高效、省时省力,帮助用户建立高效简单的工作方式,改善企业间、企业各部门间、部门内部、各用户间的沟通,缩短交流时间,提高用户的工作效率。有效地帮助用户理解复杂的业务过程、系统结构、组织方式、抽象的理念和想法,同时可以协助用户理清思路,帮助用户建立起清晰且易于理解的可视模型。另外为软件企业提供可以二次开发的图形控件,提高企业开发效率,节约开发成本。3.1.2 用户的特点本软件的最终用户分为两类。第一类是一般用户,包括学生、教师、专业图形设计师、公司职员、软件设计师等,他们将使用本软件进行专业的图表设计,用户特点是具有较高的计算机操作水平和教育水平。第二类是软件企业用户,他们使用本软件提供的图形控件进行二次开发,提高工作效率和节约开发成本。用户特点是计算机编程水平高、开发和维护能力强。3.1.3 假定和约束1时间约束:软件开发主要分为三个阶段。(以下时间为业余时间)第一阶段:进行可行性研究和需求分析。制定详细的开发计划、项目管理计划和软件需求分析书。第二阶段:进行系统概要设计。从功能上划分软件模块、定义文件系统、数据结构、定义系统的各种设计约束和设计目标。第三阶段:系统详细设计。攻克各项关键技术,构架整个软件系统。第四阶段:编码。第五阶段:编写软件设计说明书。第六阶段:继续完善软件功能、测试。2人员约束:3.2 需求规定3.2.1 对功能的规定主要的功能模块:UI用户界面,控制模块,图形模块,文件系统模块,图形显示模块。关系图如下:UI用户界面(接收用户的输入)控制模块(分类处理用户输入)图形模块(生成图形,更改图形信息)图形显示模块(根据图形信息完成图形显示)文件系统(打开、存储亿图文件,导入bmp,gif ,jpg,emf等多种图形文件,导入OLE对象,将图形直接拷贝到Word等等)图3.1图形显示模块关系图详细的功能需求参看第四章的软件功能描述。3.2.2 对性能的规定1)绘图效率,图形的拉伸、旋转、模糊化、平移等操作包含的了大量的计算,软件必须设计高效的算法提高绘图的效率,避免操作延迟的现象。2)矢量图形的反锯齿,由于像素的不连贯,在图形存在角度时时会有锯齿现象发生。软件需采用模糊算法美化图形。3)绘图过程的无闪烁。3.2.3 输人输出要求系统的设计并没有具体的数据性约束,其限制主要来源于对图形的操作、图形的显示需符合人们的操作习惯和思维习惯。可以分为两类:操作约束和图形约束。操作约束就是用户对图形操作时的约束,这些在图形的状态、大小、位置、角度、形状等方面有所体现:1)用户对图形的拖拽不能超出当前文档页面。2)用户在编辑对象文本时不能更改图形对象的大小、位置、外观等属性。3)用户剪辑文档区域时不能进行任何对象操作。4)多选对象在移动时不发生连接对象的事件。5)在用户选中某种工具时,其操作会有相应的限制。另外还有些更为细微和具体的限制,如键盘操作的限制等不予列出。图形约束是各类图形在不同状态(大小、角度、组合等)下的显示和调整约束,用户可在使用中体会到。1)每个图形对象在不同的大小下,其拉伸的变化模式有所不同。2)五类绘图工具绘制的线条在多选后的操作时需根据连接状态来自我调整。3)线条对象不能参与图形区域操作。4)矢量图形对象不能进行图像操作(如替换颜色、灰度)。5)对象在拉伸操作时,若某方向的大小已经足够小便不再支持此方向上的单向拉伸操作。6)文本对象和对象中的文本在对象拉伸到最小时,需将文本转换成单列或单行显示。7)文本对象的变形不能丢失文本内容和文本格式。8)排版操作中,线条对象不作为参照对象。排版操作须考虑连接对象的更新。9)连接线对象在不同连接状态时的多节点可调。系统主要应用于公司、企业、学校的各类图表的制作,简化表达,提高工作效率。3.2.4 数据管理能力要求软件的易扩展性和易维护性主要体现在优秀的文件系统和合理的数据库设计。由于图形模板库中的预定义图形元素大约有2500个。而用户定义的图形元素无上限要求,故文件系统设计要求:数据量力争小、检索速度力争快、格式定义清晰明朗易于扩充。3.2.5 故障处理要求软件的平均无故障时间应=1000小时。软件在设计时应尽可能的考虑到异常,提供出错处理。即使出错也应该可以恢复用户的工作内容。3.3 运行环境规定操作系统:简体中文版Windows 2000/XP(Window98 未测试),屏幕分辨率1024x768像素。最低配置:CPU:奔腾550以上内存:64MB显示卡:标准16位VGA驱动器:8倍速CD-ROM以上硬盘空间:完全安装30MB其它设备:鼠标 第四章 系统设计4.1 引言从软件工程的角度来看,系统分析阶段主要是根据需求分析阶段产生的需求分析文档,从实现的角度去分析,抽象并设计类的属性和操作,产生系统的功能模块划分,定义出系统的数据结构。绘制系统的设计是在“面向对象分析与设计即OOA, OOD”方法的理论指导下进行的。因此在理解了用户需求的前提下,需要利用面向对象的思想去分析、抽象需求,最后抽象出各个对象,然后再根据需求文档中要求的功能得出功能模块划分,根据需求得知数据的流向,最后得出类对象之间的数据流向。在这个阶段还应设计出完成主要功能所使用的算法。本系统设计阶段除了使用了传统的流程图表达功能流程之外,还使用了Rational公司的UML可视化工具Rose进行了各个功能的“协作图“、“顺序图”、“用例图”以及“静态图”的设计。不过本文由于篇幅太长,没有把每个功能的相应图给出,仅仅给出了部分设计。下面是本系统在系统分析阶段产生的文档。4.2 系统总体框架设计4.1.1 技术路线1) 文件系统具有良好的扩展性和可维护性2) 先进的图像处理技术和矢量处理技术3) 图文混排技术4) 简便的绘图方式和强大的绘图功能并举4.1.2 设计目标4.1.3 系统功能模块划分和功能描述文档的通用操作预定义方案管理文档打印图形外观图形外形控制图像处理颜色方案列问题的解决。 系统主要功能模块可以描述为图7-2图片上传入库形成电子印章(签名)的系列功能。电子签章软件主要完成对文档的编辑、盖章、签名、对文档内容部分数字签名,签名验证,保存。其中涉及到了系统安全登录,安全连接启用、角色权限分配、文档管理等一系列问题的解决。 系统主要功能模块可以描述为图7-2删除线条方案填充方案图形连接区域操作文档格式管理阴影方案文本编辑图形几何变换图形外观调整组合/取消组合线条操作直线工具曲线工具弧线工具贝塞尔曲线工具线条工具矩形工具椭圆工具自由绘制工具连接线工具箭头方案视图显示项设置视图排版设置多样式文本编辑字体设置图形属性编辑连接点操作状态机图形向Word的直接拷贝使用通用软件的OLE对象浮动批注/审阅特殊字符插入插入外来图形图像文档配色方案图形排版图形剪辑图层操作图形操作保护设置图形库操作图形元素操作图形库行业分类新建图形库修改图形库删除图形库修改图形元素删除图形元素添加图形元素键盘操作鼠标样式图4.1软件功能模块图各个主要模块的功能描述:1. 文件操作1)文档通用操作:主要有对当前的文件元素的复制、黏贴、剪切、删除、撤销、重做、新建、打开、保存、全选、清除选中等操作。2)文档打印:主要是文档的打印预览、打印设置、打印。3)文档格式管理:系统对各类图形文件的支持,以及对文档文件、图形库文件、图形元文件格式的支持。系统支持的图形文件格式有Windows位图(*.bmp,* .dib),Tag图像文件格式(*.tif),可移植网络图形(*.png),图形交换格式(*.gif),JPEG文件交换格式(*.jpg),Window图元文件(*.wmf),增强型图元文件(*.emf)。4)预定义方案的管理:主要是对系统提供的经典方案和用户的个人方案的管理。2. 图形编辑5)图形外观:颜色方案,主要对线条颜色、填充颜色、阴影颜色、文本颜色、渐变填充中的双色的设置;线条方案,主要是对图形中线条的宽度、样式、转角样式、线条透明度的设置;箭头方案,主要对线条两个线端的箭头样式、箭头的大小的设置;填充方案,主要是对图形的填充类型、填充的样式、填充透明度的设置,类型有无填充、纯色填充、渐变填充、图案填充、纹理填充,相对于不同的填充类型有丰富的预定义样式;阴影方案,主要是对图形阴影类型、阴影的角度、阴影的偏移量、阴影的填充类型、阴影的填充样式、阴影透明度的设置,类型有无阴影、各个方向偏移、偏移加放缩、角度等,阴影填充类型和样式类似填充方案;文本编辑,主要对图形对象中的文本进行文字编辑、字体设置。6)区域操作:主要对图形的区域进行联合、组合、拆分、相交、剪除操作,并生成新的图形。7)图形处理:主要对图像进行替换颜色、设置透明度、色彩平衡、RGB色调调整、亮度/对比度、灰度、噪声、平滑、锐化、底片等处理。8)组合/取消组合:将多选的图形组组合成一个新图形,取消组合是将组合图形分解成成员图形。9)图形外观控制:图形几何变换,对图形进行旋转、拉伸、平移操作;图形外观调整,主要是对有外观控制点的图形进行调整形成图形新外观,对有文本控制点的图形,可调整文本的相对位置。10)图形连接:主要通过有连接属性的图形(箭头、线条工具、连接线等)将有关联意义的图形连接。11)线条操作:利用线条连接图形对象,此外可通过各种线条的相互连接形成自定义图形。12)图形属性编辑:添加、删除、修改图形的语义属性。13)连接点操作:移动、添加、删除图形的连接点。3. 文本功能14)多样式文本编辑:系统提供多种样式的文本对象应用在不同场合。15)字体设置:完成对文本中文字的字体、大小、颜色、倾斜、下划线、黑体等常规设置。4. 视图管理16)状态机:完成各种操作状态的设置和状态迁移,保证操作无误。17)视图显示项设置:主要包括网格、标尺、连接点的显示设置,各类工具条是否显示的设置,视图的放缩比例设置,全屏显示,图形库显示设置等。18)视图排版设置:包括各种工具的排放位置、多视图的排放方式、图形库的显示方式的设置。5. 绘图工具19)线条工具:直线工具,绘制直线,连接图形对象,绘制线条连接对象。曲线工具,绘制曲线,连接图形对象,绘制线条连接对象。弧线工具,绘制弧线,连接图形对象,绘制线条连接对象。贝塞尔曲线工具,绘制贝塞尔曲线,连接图形对象,绘制线条连接对象。连接线工具,绘制连接线,连接图形对象。20)矩形工具:绘制矩形。21)椭圆工具:绘制椭圆。22)自由绘制工具:可自由画线,手写批注。6. 绘制图表23)文档配色方案:可对整个文档中的图形或设置以后添加的对象进行统一的颜色方案设置,系统给出了大量精彩的配色方案。24)图形排版:对文档中图形进行排版,提供的排版功能有上对齐、水平居中对齐、下对齐、左对齐、垂直居中对齐、右对齐、水平等间距、垂直等间距、等宽、等高、等大、页面水平居中、页面垂直居中。25)图形剪辑:提供整个文档的图形截屏功能,可将选中的部分截取保存。26)图层操作:调整选中图形所在的图层,典型的是置于顶层、置于底层。27)图形操作保护设置:提供了图形保护设置,以免用户的误操作。锁定对象有高度、宽度、纵横比、X位置、Y位置、旋转、固定起点、固定终点、锁定文本、锁定格式、防止选取、防止删除。7. 图形库管理28)图形库操作:主要有图形库的添加、修改、删除操作。29)图形库行业分类:图形库中的图形元素按行业分类。30)图形元素操作:主要有图形元素的添加、修改、删除操作。8. 辅助功能31)浮动批注/审阅:系统提供浮动的隐藏主体的注释文本块,不同与普通图形元素。32)特殊字符插入:系统提供了几种特殊字符集的字符插入。33)插入外来图形图像:用户可插入任何系统支持的图形文件,作为图形对象。34)键盘操作:提供键盘对图形对象的简单操作和各类快捷键。35)鼠标样式:针对各种操作变更鼠标样式,用于提示用户。9. 与其他软件的兼容36)图形向Word的直接拷贝:文档选中的图形可直接拷贝到MS Word中。37)使用通用软件的OLE对象:文档可插入MS Word,Visio等常用软件的OLE对象,作为图形对象。4.3 系统设计和实现4.2.1 系统建模本节采用况图和时序图来说明系统需要做的主要功能。如上节介绍系统有文件操作、图形编辑、文本功能、视图管理、绘图工具、绘制图表、图形库管理、辅助功能、与其他软件的兼容九个主要功能模块。而这些功能从设计角度分成用户UI、控制、图形处理、图形显示、文件系统五个主要的功能模块,系统设计了一个状态机,将用户的输入转换成操作状态,系统根据操作状态进入相应的功能模块。系统的主体工作模型如下:用户输入状态机功能模块文件系统返回结果图形库上图中状态机属于系统控制模块,图形库和功能模块属于图形处,返回结果属于图形显示。图4.2是系统主体功能的用况图,图形中对于图形库的修改,由系统制作方提供也可由用户直接修改。图4.2主体功能用况图可以看到系统的使用模型并不复杂,针对用户输入,系统自动分析并转入相应的功能模块进行处理,完成后通过图形显示模块来刷新用户的输入。下面是针对用户的一次输入做出的时序描述。图4.3主体功能时序图4.2.2 系统流程设计操作性很强,系统的工作依赖用户的输入,具有很复杂的控制流程,以下列出部分状态图和子状态图以说明系统的控制流程。状态图(1)是总状态图,概括了用户有输入后系统的通用状态。图4.4状态图(1)系统总状态描述系统接收用户输入后,由状态机识别控制状态和操作类型,随后根据控制状态和操作类型进入相应的操作模块。具体的操作模块有:新建图形,包括从图形库新建图形,从图形文件新建图形。绘制图形,通过系统提供的矩形、椭圆、直线等六种绘图工具绘制图形。图形操作,包括平移、拉伸、旋转、调整外观、编辑文本、连接对象等操作。设置图形,包括设置图形的填充风格、填充颜色、阴影风格、阴影颜色,线条类型、线条颜色、箭头类型、配色方案等。文本操作,包括文本的编辑,设置文本字体、颜色、段落。插入其他对象,包括Word等OLE对象、图形文件、特殊的字体符号。审阅,包括新建、修改、删除注释、手写圈批。图形一般性操作,包括单选、多选、复制、组合图形、取消组合、图层控制、对齐形状、排版、连接对象、连接点操作等。区域操作,包括联合、组合、拆分、相交、剪除。位图图形操作,包括替换颜色、设置透明度、色彩平衡、RGB色调调整、亮度/对比度、灰度、噪声、平滑、锐化、底片等。其他,包括打印、显示设置等。状态图(2)是从图形库新建图形的状态过程:图4.5状态图(2)从图形库新建图形的状态过程描述状态图(3)是图形拉伸操作的过程状态,拉伸操作说明:一旦系统进入拉伸状态,在一次合法的拉伸后都会产生一次刷新,直到鼠标左键抬起,本次拉升才算完毕。所谓合法拉伸即,鼠标移动到标尺单位上。图4.6状态图(3)拉伸状态描述状态图(4)是设置图形属性的状态图4.7状态图(3)图形属性描述4.2.3 用户界面设计人机交互部分的设计结果,将对用户的情绪和工作效率产生直接的重要影响。人机界面设计的水平,则会使系统对用户产生吸引力,用在使用系统的过程中,会感到兴奋,能激发用户的创造力,提高工作效率。相反,用户在使用过程中会感到不方便、不习惯、甚至会产生厌烦和恼怒的情绪。本系统采用工程界面模型,遵行界面设计的一般准则。及充分考虑设计合理性的同时,注重用户操作的简单性。详细信息参看第五章的系统使用说明中的主界面介绍。4.2.4 文件系统设计本系统的文件操作没有直接使用MFC中提供的CFile类,而是使用了VC中提供的序列化结合数据库来完成的,用户绘制的图形信息存放在一个单链表中,这个链表使用MFC的类:CObList,这个链表的每个结点可以是不同类的对象,本系统正是利用了这一点。下面是链表的定义,定义在文档类中:CObList m_listFile;在各个类中实现自己的Serialize(CArchive &ar)函数。绘制的板图文件扩展名定义为“*.edd”。4.2.5 图形编辑模块设计图形编辑功能可以更改图形的位置、大小、角度、颜色,可以选取、组合、分解图形,还可以对图形进行文本编辑。该模块是图形操作的核心模块,设计应符合人性化设计,提供完善的绘制、修改方法,提供良好的扩展性和可维护性。同时应保证操作简单,与常见的绘图、文档编辑软件的操作方式相似,使用户可以在短时间内掌握软件的使用方法。1. 选取(绘图区操作) 若当前有活动的文件,那么,当鼠标左键在绘制区的某个元器件图形区域点按时,要进行如下判断:SHIFT键是否按下,若按下,则将它的IsSelected属性设为true;若没有按卜,则需要把当前存放电路板元器件对象的链表中所有IsSelected属性为true的对象的IsSelected属性设为false,然后将刚点按对象的此属性设为true.当鼠标左键在绘制区的空白处点按时(也就是没有点按在任何一个元器件图形区域内),需要将链表中所有对象的IsSelected属性设为false.下面是此功能程序流程图:图4.8选取图形的操作流程图2. 填充方案设计打开填充对话框,选择某个颜色方案后。如果当前选中图形,则修改选中图形的颜色方案,否则修改视图的配色方案。程序流程图为:图4.9填充方案流程图3. 组合和分解图形设计您可以对多个形状进行组合,以使其能够作为一个形状来执行操作。如果您经常一起使用某些形状,则将它们组合在一起会十分有用。例如,如果您要制作由若干独立的形状构成的公司徽标,可以将这些形状组合在一起,以便能够将它们作为一个形状来处理,并将该组合形状添加到其他绘图中。设计流程图如下:图4.10组合图形流程图4. 其它模块鉴于技术保密和篇幅有限,图形编辑的其它重要模块在本文中不再说明,如嵌入式富文本技术、无限次撤销和恢复、组合式的圈选技术、任意线条箭头的实现算法、图形阴影实现算法、旋转拉伸、连接线和连接点技术、复制和删除、控制点调整等。4.4 系统数据结构设计本节介绍系统中主要的数据结构的定义。4.4.1 图形对象主要数据元定义构成系统的基本元素是图形对象,为了完成图形对象的各种功能,系统定义了一系列的数据节点来作为支撑,主要有线条样式、阴影样式、填充样式、文本样式、连接信息、子对象信息、比例信息、保护信息块、语意属性块等等,下面给出几个数据节点的定义。1. 线条样式的数据节点的定义2. 阴影样式的数据节点的定义 3. 填充样式数据节点的定义 4. 连接信息数据节点的定义5. 子对象相对父对象的信息定义4.4.2 图形数据结构设计基本图形对象的数据结构设计如下表:表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 在办公室也能学得好探讨线上培训与办公的融合点
- 2025年游戏化营销在品牌传播中的社交媒体营销策略研究报告
- 基于数字孪生的智慧城市建设实践案例分析
- 企业IT战略规划与数字化转型关系解析
- 探索数字媒体艺术在医疗领域的应用前景
- 幼儿园数字化教学平台的构建与应用
- 亲子乐园娱乐项目与游乐设备选择标准
- 老旧小区供电与照明系统改造方案设计
- 2025年智能物流发展趋势及行业应用场景分析报告
- 成功企业的数字化转型战略案例分析
- 血液净化标准操作规程 2021 版
- 2025年内蒙古自治区初中学业水平考试数学模拟试题 (一)(含答案)
- 婚恋平台合同协议书
- 保护患者隐私权医疗AI技术的伦理要求与实践
- 权益配置与代理关系的成本效益分析
- 2025年贵州省贵阳市云岩区中考模拟语文检测试题(含答案)
- 空地或铺面出租合同协议
- GA 1812.3-2024银行系统反恐怖防范要求第3部分:印钞造币企业
- 【公开课】+滑轮-人教版(2024)初中物理八年级下册
- 2025餐饮转让合同协议书 餐饮转让合同协议书范本
- 2025年高考语文备考之近五年(2020-2024)语用题汇编:表达效果类真题+答案详解+思路六步走
评论
0/150
提交评论