毕业设计-javascript在线api文档生成.doc
《毕业设计-javascript在线api文档生成.doc》由会员分享,可在线阅读,更多相关《毕业设计-javascript在线api文档生成.doc(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本科毕业设计说明书(论文) (2012届)论文题目 JavaScript在线API文档生成摘要JavaScript 是目前最流行的脚本语言。它起初是为网页提供交互能力而设计的一门基于对象的普通脚本语言。但随着一些Web新标准的出现和一些像Nodejs之类的JavaScript客户端宿主程序的流行,JavaScript的用途也越来越广,一个JavaScript的项目也随之变大。因此现在对JavaScript项目的API文档的需求也迅速膨胀。为了将作者从手动书写API文档的繁琐过程中解脱出来,必须要有一个强大的工具能够提取代码中的注释,并自动生成一份完整的API文档。传统的一些JavaScript
2、文档生成项目,比如jsdoc,只能生成比较简单的文档,无法很好地满足现在的新需求。本文研究对JavaScript源码中的注释进行解析,然后提取有用的API信息,并最后生成一个完整的文档页面供读者阅读。解析过程充分考虑了JavaScript语言的灵活特性,让JavaScript源码作者可以快速地为自己的代码生成对应的文档。同时为了方便用户进行文档生成操作,使用C#开发一个WinForm软件。生成的文档是一个普通的网页,用户可以自定义文档界面模板。生成的文档可以放在ASP.NET服务器上直接运行。读者可以在线阅读文档,并在文档的任何一页添加评论。 关键词:JavaScript, API, 文档生成
3、, WinForm32AbstractJavaScript is the most popular script language nowadays, which is designed as a simple object-based script language to provide the ability of interaction for web pages at first. But along with the appearance of new web standards and the popularity of some JavaScript clients like N
4、odejs, the usage of JavaScript increases soon and the JavaScript projects become more complex, which leads to new requirement of JavaScript documentation as well.To avoid authors writing API Document word by word, there should be a powerful tool to export an API document from the source code automat
5、ically. The traditional related projects such as Jsdoc show their shortcoming when meeting new requirements. This article focuses on analyzing source code of JavaScript and then generating a full API document. The analyzing program is fit for JavaScript, which can save a lot of time for JavaScript a
6、uthors.This article also talks about developing a program of WinForm to make it easier to operate. On the other hand, users can custom the templates of document if needed. The generated API document can run on ASP.NET server directly. Readers can view the document online and leave their comments on
7、any page.Keywords:JavaScript, API, Document Generator, WinForm目录摘要IABSTRACTI第一章绪论31.1研究开发的目的31.2国内外研究发展现状41.3研究开发的基本目标41.4本文的组织结构5第二章 方法与技术62.1软件运行环境62.1.1客户端环境要求62.1.2服务器环境要求62.2WinForm 简介62.3ASP.NET 简介72.4AJAX 简介72.5编译原理82.6系统构架: B/S构架82.7主要开发语言92.8开发工具92.8.1Visual Studio 201092.8.2Firebug9第三章 需求分
8、析103.1软件主体103.1.1用例图103.1.2新建和保存项目103.1.3编辑项目103.1.4编译项目113.2生成的文档界面113.3用于在线可评论的文档123.4文档调试工具12第四章 系统设计实现134.1文档解析核心134.1.1数据流图134.1.2类图144.1.3相关的实体类144.1.4DocProject 类的实现154.1.5DocParser类的实现164.1.6JavaCommentParser 类的实现174.1.7JavaScript 语法树构建器的实现174.1.8DocAstVistor 类的实现184.1.9DocMerger 类的实现184.1.1
9、0DocGenerator 类的实现194.2软件主体194.2.1界面布局194.2.2项目操作204.2.3软件实现204.3文档页面234.4在线文档评论244.5文档调试工具25第五章 系统测试275.1单元测试275.2系统功能测试27第六章 总结286.1完成的工作286.2下一步工作28参考文献29致谢31附录32附录1 毕业设计文献综述32附件2 毕业设计开题报告32附件3 毕业设计外文翻译(中文译文与外文原文)32图目录图 11文档注释3图 21 Firebug 运行界面9图 31软件主体用例图10图 41数据流图13图 42类图14图 43 DocData的字段15图 44
10、软件主体的布局19图 45软件主体运行界面21图 46编辑项目21图 47设置项目属性22图 48控制台22图 49文档界面23图 410评论框24图 411文档调试工具25表目录表4-1接口设计24表4-2数据库设计25第一章 绪论1.1 研究开发的目的随着软件工程的规模越来越大,参与项目的人数也越来越多,因此非常需要有API文档来描述各个模块的功能,以让团队内的成员无需关心其它人的编码细节就能协调开发,减少沟通成本。API文档可以让作者自己书写,但毫无疑问书写文档的时间是非常长的,而且现代软件项目的需求经常改变,这就意味着每次修改需求都要重新修改源码和对应的文档,其维护的成本是相当大的。因
11、此现实很少有人会花额外时间来编辑API文档。如果将文档直接以注释的方式写进代码里,这样源码和文档总是出现在一起,修改的时候可以一并修改,这样就能大大减少维护文档的时间成本了。同时也方便其他人在阅读源码时通过注释来更直观地理解功能。如图1-1就是一个典型的文档注释。图 11文档注释文档生成工具可以提取源码中的注释,并最后生成一个可供人直接阅读的API文档。使用一些工具来生成API文档自然可以节约额外的文档书写时间,也可以在源码被修改后重新生成文档,而不需要每次都手写文档。因此,开发一个优秀的文档生成工具是非常有必要的。传统的API文档都是一个类似word的本地数据文件,它确实完成了API文档所应
12、该拥有的功能。但在 web2.0 时代,如果能让更多人通过网页参与API文档内容的讨论,则可以帮助作者修正错误,更帮助其他读者理解。同时还能让来自不同地区的读者在网站上共同学习、共同进步。因此生成的文档可以让读者可以就某个API进行评论。在线API文档也方便读者浏览文档,读者不需要安装额外的软件,只需一个浏览器即可直接打开文档。1.2 国内外研究发展现状目前主流的编程语言都有相应的文档生成工具。比如Java语言可以使用javadoc来生成文档,生成的文档非常精确。目前国外最有名的JavaScript文档生成工具为jsdoc toolkit,它的工作原理是在强制作者在代码中书写一些标记,然后js
13、doc文档会分析这些标记来构建文档,并确保最后生成的文档是正确的。虽然使用这个方式比较容易理解和使用,但由于它只分析这些标记,而忽略源码本身,很多可以从源码中得到的信息必须在标记中重新写明,所以让文档书写的工作量倍增。此外,它还具有以下缺点:1. 只有命令行模式,新用户不容易上手。2. 由于是国外的项目,中文容易出现乱码。3. 生成的文档比较简单,信息量少。因此它不是完美的解决方案。目前最有名的在线API文档系统为MSDN,MSDN 库为使用 Microsoft 工具、产品、技术和服务的开发人员提供必不可少的信息资源。MSDN 库包含操作方法和参考文档、示例代码、技术文章和其他内容。但 MSD
14、N 仅针对指定平台才能使用,而且MSDN是不开源的,无法被其他用户使用。1.3 研究开发的基本目标该软件主要分三个部分:(1) 软件主体。本程序目标用户为源码作者,这些用户可以通过这个软件进行文档生成操作,同时软件也会向它们报告解析错误。(2) 文档网站。网站用于展示文档,同时网站允许使用不同的模板风格,方便用户自定义网站。(3) 可以为最终用户提供联机使用帮助,包括本系统的说明信息、使用方法和步骤以及版权信息和联系方式等。1.4 本文的组织结构本文共分为六章,各章内容如下:第一章,绪论,讨论课题的研究目的和意义、研究现状,研究主要内容。第二章,相关方法和技术介绍。第三章,重点介绍了文档生成过
15、程的具体需求。第四章,对整个系统进行设计和实现。重点介绍分析算法的实现和最终文档页面的代码设计。第五章,系统测试与系统使用说明。第六章,对系统开发进行总结并提出下一步工作。第二章 方法与技术本系统涉及了多个领域的知识。用户可以通过一个本地软件界面来生成文档,而生成的文档本身又是一个Web页面,并且还需要开发一个后台动态网站才能实现在线评论。软件的主要任务是生成文档,文档解析核心算法是本系统开发的主要难点,它需要用到编译原理相关的知识。2.1 软件运行环境本系统基于.Net Framework 3.5 坏境开发。.Net Framework 坏境是支持生成和运行下一代应用程序和XML Web S
16、ervice 的内部 Windows 组件。12.1.1 客户端环境要求安装有.Net Frameworks 3.5 的 windows系统。2.1.2 服务器环境要求(1) 服务器: IIS(Internet Information Server) 7。IIS是Internet Information Services的缩写,是一个World Wide Web server。Gopher server和FTP server全部包容在里面。 IIS意味着你能发布网页,并且有ASP(Active Server Pages)、JAVA、VBScript产生页面,有着一些扩展功能2。(2) 数据库:
17、Access2007Access 2007是 Microsoft Office 2007 家族中专业的数据库管理系统,它具有强大的数据管理和分析功能。作为一种新型的关系型数据库管理系统,它能帮助用户处理各种海量信息。它不仅能存储数据,更重要的是能够对数据进行分析和处理,使用户方便快捷地聚聚各种有用的数据3。2.2 WinForm 简介Windows Forms(Windows窗体)是1个新的窗体包,它使得开发人员可以创建基于Windows的应用程序,来充分利用Microsoft Windows操作系统中丰富的用户界面特性。Windows Forms是新的MicrosoftNET Framewo
18、rk的一部分,它使用了许多新技术,包括1个公共应用程序框架、受控的执行环境、集成的安全性和面向对象的设计原则。此外,Windows Forms完全支持快速、容易地连接XML网络服务和在ADONET数据模型基础上创建丰富的、数据感知(dataaware)的应用程序。利用Visual StudioNET中新的共享开发环境,开发人员可以使用任何支持NET平台的语言。开发人员可以使用任何支持NET平台的语言。在VisualC#中构建Windows窗体程序时需要向项目添加窗体,将控件拖放到窗体,然后在控件双击,即可编写窗体背后的代码。开发人员使用这种熟知的模型,来迅速地构建桌面应用程序。C#的Windo
19、wsForms有1个重要的新特性一可视化集继承,它将提高开发人员的生产力,促进代码的重用。C群的WindowsForms还可以创建支持最广泛的用户群的应用程序。使用c#的WindowsForms应用程序,不需要将应用程序部署到最终用户的桌面上。用户可以通过在浏览器中输入1个URL地址即可调用这个应用程序。应用程序将下载到客户端机器中,在1个安全的执行环境中运行,然后在完成后自我删除。同时,c#的WindowsForms给开发人员提供了创建基于Windows的应用程序所需的多种技术。不仅有用于调整用户界面的新控件和特性,还提供了灵活的部署和集成的安全特性4。Windows窗体提供了一套丰富的控件
20、,并且开发人员可以定义自己有特色的新的控件5。2.3 ASP.NET 简介ASP.NET 是一个后台动态语言技术。它是开发人员和构架师共同思考关于未来Web开发的发展方向而得出的结果6。生成的文档本身不依赖于 ASP.NET,它仅仅需要用ASP.NET 为它提供后台提供评论服务接口。2.4 AJAX 简介Ajax是Asynchronous JavaScript and XML的缩写。Ajax并不是一门新的语言或技术,它实际卜是几项技术按一定方式的组合,在共同的协作中发挥各自的作用,它包括:使用XHTML和CSS标准化呈现:使用DOM实现动态显示和交互;使用XML和XSLT进行数据交换与处理;使
21、用XMLHttpRequest进行异步数据读取;最后用JavaScript绑定和处理所有数据。其中XMLHttpRequest,JavaScript和DOM是Ajax技术的核心7。Ajax 使得Web应用程序的客户端可以不断从Web服务器更新部分页面,用户不必再提交表单,或者离开当前的页面。客户端的脚本代码(通常是JavaScript)可以向页面的部分片段(Fragment)发起异步的,或者非阻塞(Non-Blocking)的请求。这些片段可以是一些原始的数据,在客户端再被转成 HTML 代码,也可以本身就是HTML代码,直接插入到浏览器的文档(Document)对象中。不管怎样,在服务器端完
22、成对请求的处理,并将响应片段返回给客户端浏览器之后,客户端的较代码都会使用这些数据来修改页面中的文档对象模型(Document Object Model, DOM)。这种方法不仅能够满足我们对快速、平滑更新的要求,更重要的是能够以异步的形式发送请求,因此,即使在请求的处理过程中,用户也可以继续使用应用程序8。生成的文档的所有数据都是通过AJAX动态载入然后转成HTML代码后显示的。这样可以加速文档初始化,还可以保证最佳的用户体验。2.5 编译原理编译原理起初用于将源代码编译成可执行文件。本系统的重点是将源代码翻译成文档,因此只需要编译原理中词法分析、语法分析的技术。使用语法分析的方式来分析源码
23、是本软件和jsdoc的最大的区别。Jsdoc 只以文本方式去分析注释,它忽略了代码本身所展示的信息。而如果先解析语法,然后进行文档分析,就可以充分获取语法树种提供的信息来补全文档。这样可以大大提高分析的正确性。2.6 系统构架: B/S构架B/S(Browser/Server)结构即浏览器和服务器结构,随着互联网的快速发展,越来越多的应用选择了B/S构架。相对于C/S结构属于“胖”客户端,需要在使用者电脑上安装相应的操作软件来说,B/S结构是属于一种“瘦”客户端,大多数或主要的业务逻辑都存在于服务器端9。2.7 主要开发语言本系统采用C# 开发。C# 是一门间的、现代化、面向对象和类型安全的编
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 javascript 在线 api 文档 生成
限制150内