中期检查表及中期检查报告--多文本编辑器设计与实现_第1页
中期检查表及中期检查报告--多文本编辑器设计与实现_第2页
中期检查表及中期检查报告--多文本编辑器设计与实现_第3页
中期检查表及中期检查报告--多文本编辑器设计与实现_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业论文中期检查表昆山杰普软件科技有限公司填表日期2014年4月28日以下内容由学生填写班级课题类型设计类调研类实验类其他学生姓名课题名称多文档编辑器设计与实现指导教师指导教师职称讲师选题是否有变化是否是否一人一题是否是否有文献综述是否课题拟解决的问题毕业设计拟实现一个多文本编辑器,可以同时打开多个文本进行编辑,此外还希望可以实现特殊类型文件中关键字的高亮显示,设想希望高亮显示这一功能是以插件的形式加载到主程序中去的,主程序根据不同的文件类型加载不同的插件进行高亮显示。设计时间2014年3月17日至2014年6月27日以下内容由检查组填写工作量及难度太大大小适中很难较难一般简单对分配工作完成的进度情况提前完成按计划完成拖后完成没有完成工作态度认真较认真一般不认真质量评价(学生前期已完成的工作情况)存在的问题检查组意见组长签名毕业设计中期报告一、毕业设计进度首先,我深入研究当前各种文本编辑软件优劣,分析了软件开发中程序员的实际需求,发现他们有时候并不需要打开系统庞大、启动较慢的集成开发环境来阅读改写代码,只需要通过小型的文本编辑器即可。然而大多数小型文本编辑器并不能高亮显示代码中的关键字,或者软件本身闭源,不能根据需要改变高亮显示关键字列表,或者软件只有WINDOWS版或LINUX版移平台植性较差,这并不能满足经常需要在各个软件系统平台之间交叉开发的程序员的需求,甚至影响了他们的工作效率。本系统运用了平台移植性较好的QT语言来开发,不同平台之间只需要重新编译即可,且代码易读可重用性良好,程序员只需要修改代码中关键字列表或根据需要自定义自己的高亮显示关键字列表即可,这一软件为程序员阅读改写代码提供了便利。4月4月中旬系统性能分析确定该项目要实现的主要功能。概要设计将项目分成几个模块,分析模块之间的耦合关系。查阅相关资料、撰写任务书、开题报告等相关报告。开发环境的搭建本项目使用QTCREATOR来实现,针对于WINDOWS,LINUX、ANDROID平台的编译,分别下载安装了QT提供的相应版本的QTCREATOR。4月中旬5月中旬详细设计项目主要分两个工程来实现MDIEDITOR和HIGHLIGHTPLUGINS,MDIEDITOR的实现依赖于插件工程HIGHLIGHTPLUGINS的实现。MDIEDTOR中需要以下几个类来实现必要的封装CLASSMAINWINDOW、CLASSEDITOR、CLASSHIGHLIGHTER、CLASSINTERFACE。HIGHLIGHTPLUGINS中针对于C、C、JAVA的源码文件,根据其文件类型后缀名的不同分别定义了三个插件类来实现接口类INTERFACE中的方法。系统功能代码的具体实现根据详细设计阶段画出项目的UML类图、构件图、交互图,以它们为依据进行编码。5月中旬5月末系统测试阶段设计测试用例,来测试软件的可靠性。进一步维护代码,增加必要的注释,提高软件的可维护性。6月撰写毕业论文,准备毕业答辩。二、毕业设计主要内容在进行针对程序员对于文本编辑软件方面需求分析之后,我开始对自己要编写的软件进行了设计,毕业设计拟实现一个多文本编辑器,可以同时打开多个文本进行编辑,此外还希望可以实现特殊类型文件中关键字的高亮显示,设想希望高亮显示这一功能是以插件的形式加载到主程序中去的,主程序根据不同的文件类型加载不同的插件进行高亮显示。概要设计阶段,项目大概分为三大块多文本界面、高亮显示、插件加载。分别实现软件的多文本编辑界面,负责与用户的友好交互;实现在定义的高亮显示方案,可以根据具体需要随时修改,高亮显示字符列表;实现动态加载插件,根据文件类型动态的选择加载相应的高亮显示插件来实现相应的高亮显示方案。在详细设计阶段,我重点了解了一下QT插件加载机制,确定具体实现方案细节。QT中对于每一种类型的插件通常至少需要两个类一个是插件封装器类,它实现了插件的通用API函数,定义了具体要实现的方法接口;另外一个是一个或多个处理器类,每个处理器类都实现了一种用于特殊类型的插件API,用来实现插件封装器类中的接口。只有通过封装器类才能访问这些处理器类,来实现自定义处理函数。在具体编码阶段,我确定了项目主要分两个工程来实现MDIEDITOR和HIGHLIGHTPLUGINS,MDIEDITOR的实现依赖于插件工程HIGHLIGHTPLUGINS的实现。MDIEDTOR中需要以下几个类来实现必要的封装CLASSMAINWINDOW通过包含一个中央部件MDIAREA,来实现多界面程序框架,此外,它还提供了菜单系统,并利用QT中的信号与槽机制做出相应处理。CLASSEDITOR使每个文本编辑器有其独立状态。通过MAINWINDOW中的ADDEDITOR方法成为MDIAREA的子窗口部件。CLASSHIGHLIGHTER继承自QSYNTAXHIGHLIGHTER类,定义了每个EDITOR中的文本语法高亮显示方案。CLASSINTERFACE抽象基类,可以实现插件提供的方法SETKEYWORDPATTERNS更改HIGHLIGHTER中的高亮显示关键字列表。HIGHLIGHTPLUGINS中针对于C、C、JAVA的源码文件,根据其文件类型后缀名的不同分别定义了三个插件类来实现接口类INTERFACE中的方法。在系统功能代码的具体实现中,我发现有的时候并不能如预期的那样生成动态库,正确的加载插件运行,根据老师的建议仔细阅读CGUIQT4编程第二版一书中关于插件的部分,分析QTASSISTANT给的几个插件有关的例子工程后,对各个项目配置文件进行了修改,终于解决了问题。项目可以在QTCREATOR中成功运行后,我试图在LINUX环境下,用命令行来重新构建,运行整个项目,同时观察项目文件系统目录下文件的变化来了解QT插件机制的细节部分,分析其具体实现。三、毕业设计主要成果1实现一个适用于程序员读写代

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论