1.3.1 MathML语言
由于必须要支持基于数学公式的搜索,势必要支持数学公式的显示。而事实上,当前的各类文字排版的工具中,要么就是有自己的核心模块用来显示数学公式,比如说菁优网等学习网站。要么就直接是一幅图片。这个对查找是很不利的。幸好当前有好几种用来生成数学公式的语言。MathML就是其中的一种。它基于XML标准,并且在互联网上通用。当前的Microsoft Office,Mozilla Firefox等都提供了对它的直接支持。[2]同时,其本质上是格式化了的字符串。用来进行搜索当然比图片有效得多。在我的毕业设计中,主要就是应用该语言来生成和显示数学公式。当然还要有相关的控件来进行文字到图像的格式转换。
1.3.2 MYSQL数据库
数据库有很多种,但是免费的,又在互联网上比较通用的中小型数据库,mysql可以说是独领风骚。说是中小型,但在大型事务的处理上也具有十分良好的表现。用来做我的毕业设计的程序后台数据库来说绰绰有余了。
1.3.3 .NET框架
.NET框架其实是一个很泛泛的提法,在这里主要指我目前所用的开发环境:WIN7+VS2010+C# LANGUAGE+FORM,也就是在win7系统下,基于vs2010这个开发套件,使用C#语言的Form 模板编写程序。其实我也有打算使用ASP.NET 来搭建网站,WPF来搭建桌面应用程序。然则时间上比较匆忙,Form的开发算是我比较成熟的了。然而不管怎么样,都是围绕.NET这个框架来进行。而这个框架可以说是微软的核心技术了,只要是WIN VISTA 以上的操作系统都能完美地支持,XP系统也可以在安装.NET 3.5后可以很好地使用。符合中国当前的主流操作系统。
1.3.4 谷歌百度等搜索引擎,各大论坛以及朋友们和老师的帮助
有着谷歌百度存在,能为我遇到的很多问题提供思路。事实上,也就几个比较特殊的问题卡住了我,而我不能在搜索引擎上找到。我可以说是站在前人的基础上进行开发的。真得感谢我混迹的几个国内的论坛,感谢我的指导老师的支持(朱老师一开始就表示了对我自主命题的极大的支持,这很让我感动),我也很感激于几位不知名的外国友人的帮助:他们对我在codeproject、Stack Overflow等网站上发表的帖子进行了细心的回答。没有以上帮助,我根本不可能独立完成。源.自/优尔·论\文'网·www.youerw.com/
1.4 当前的成果
由于时间上的不充分和经验上的缺乏,我的毕业设计中只能完成整个系统设计的第一阶段:除了这篇报告,还有一个用前一个标题中所列举出来的工具所编写出来的桌面应用程序。在运行了mysql的机子上,该应用程序已经能自动连接数据库,并提供给用户登陆注册,输入各类题目,使用关键字、数学公式、标签混合查询题目的基本功能。由于只是用于展示的版本。所以我没有对界面进行优化,而把主要的经历放在接口的维护和类的封装,可重用模块的创建上。在后台,还有一个具备了基本结构的数据库。它支持了用户的信息存储,题目的信息存储,资源存储以及简单查询等功能。综合起来,已经达到我在开题报告中的预期目标