1、厦门大学软件学院毕业设计(论文)开题报告学生姓名 班级 学号指导教师姓 名 职称 所在单位 厦门大学软件学院毕业设计(论文)题 目 微软开源框架 DNN 的二次开发毕业设计(论文)的目标:一 整体软件目标基于 DNN 框架的模块开发;并具有如下特点:1强大的内容管理系统。可广泛应用于商务网站、企业内网(Intranet)和外网网站、在线内容发布网站。2通用性。几乎可以构建起来让任何 Web 应用:商务网站,企业内网外网,在线内容发布。3用户友好性。其设计考虑非常周全,借助站点向导,无处不在的帮助图标等等,用户能够很容易的控制项目的各个方面。4多网站支持。一套程序部署就可以支持多个网站。每个网站
2、都有各自的管理员和独特页面布局。5高扩展性。DNN 内建的功能已经足够构建一个非常复杂的内容管理系统。DNN 提供了全新的在线式功能块扩展,无论是第三方模块还是自己开发的模块,都能随时地很容易的加入到正在运行的网站中。二 开发目标1从零掌握微软的开源框架 Dnn-Dotnetnuke, 并向国内开发者推介。2深入学习 DNN 的源代码。掌握该框架,熟练使用框架提供的接口,了解该框架的结构和精髓。3安装和使用 DNN。4在该框架下进行二次开发。大体分为三步逐层深入的开发模块。(1)基础开发。开发一个新闻发布系统。可以对数据进行简单的添加删除修改。(2)进阶开发。开发一个博客系统。可以对日志内容,
3、日志分类,日志回复进行处理。(3)高级开发。通用的搜索模块。一个模块设定要查询的数据库、表、字段选择查询条件,另外一个模块接受信息并显示查询结构。 5不断的进行二次开发。丰富该框架的内容。提供多种多样的模块供客户选择,实现门户网站的未来DNN 的商业价值。实现方法:一基本环境开发工具:VisualStudio 2005. Microsoft SQL Server 2005. DotNetNuke04.08.00. CodeSmith.开发语言:C#.VB.开发平台:Windows XP .开发使用的插件:Visual Studio 2005 Web 应用程序项目. DNNProjectTemp
4、late.软件管理:DotNetNuke04.08.00.性能测试:DotNetNuke04.08.00.二准备1利用网络下载最新版的 DotNetNuke 框架,由于英文版的版本比较新。因此采用英文版的。目前英文最新版是 DotNetNuke04.08.00.2安装 DNN。 (配置虚拟目录,数据库,权限等) 。3学习 DNN 并入门。三模块划分三个阶段的模块都是独立的模块。独自实现一定的功能。供用户选择使用:1新闻发布系统:发布公告,新闻的模块。通过写该模块熟悉对 DNN 数据库 CRUD。在 VIEW界面显示各个新闻标题,供查看的人点击查看新闻内容。在 EDIT 界面里提供功能强大的写字
5、版,供用户编辑。2博客系统:给用户提供自己的 BLOG。在 VIEW 界面上显示日志。通过加载子模块操作,产生多个 EDIT 界面,能对日志的内容,回复,种类进行各种操作。所有DNN 用户都可以到该 BLOG 上进行回复。3通用的搜索查询模块:由一个模块设定要查询的数据库、表、字段并选择查询条件,另外一个模块接受信息、显示查询结构。高效率查询,具有模糊查询功能,配置需要查询哪个表,那些字段就自动显示哪些字段作为搜索条件如何输出查询结果。其中使用 AJAX 技术。一个简易的搜索引擎。其他模块:为丰富 DNN 网站门户的各种模块。DNN 皮肤:设计不同的皮肤供使用者选择。随时可以更换网站的界面。最
6、后利用这些模块,还有皮肤,为我们学院组织一个门户网站。四模块关系由于 Dotnetnuke 是一个免费、开源、可扩展、几近完美的内容管理系统。开发的模块虽然彼此独立,但每个模块作为一个安装程序,都可以安装到DNN 框架上。就像 VS 的控件一样。一个个的可以加到 DNN 网站上的任何位置。也可以随意移除、编辑。同时还具有强大的模块通信功能。各个模块组成了一个门户网站。如图 1新闻发布系统Feed Explore通用搜索模块BLOGAccount LoginBannerMarkets-hareFAQS 等等。 。LinksDNN 门户图 1 DNN 框架功能示意图五系统流程图登陆 管理员?安装卸
7、载模块添加删除模块调整布局发布网站是否用户图 2 DNN 门户使用流程图六界面模块设计1各个模块相互独立。他们的关系可以参考模块关系的那张图。2DNN 框架有各种各样的皮肤。可以自己开发,也可以引用。在外观设计方面十分出众。3每个模块至少 VIEW,EDIT,SETTING 三个部分。作为一个完美的内容管理系统。每个模块的内容都可以让用户自己编辑发布,为用户做网站而设计。VIEW 外观,EDIT 是编辑内容。SETTING 是一些对模块的设置。让网站设计最大的简单化。七模块程序设计1创建数据库表使用 VS.NET 或 Sql Server 企业管理器,创建任何模块功能所需要的表。2创建存储过程
8、。使用 CodeSmith,产生基本操作增、删、改、选的存储过程。3安装重要的项目在 VS.NET 中打开 DNN 解决方案,创建两个项目:DNN Module,和 DNN SqlDataProvider DAL,在这里只产生通用代码;特定模块(或模块相关)的代码在下一步产生。4使用 CodeSmith 产生 Data Provider 代码为基于模块表和存储过程的DNN SqlDataProvider DAL 项目产生代码。5创建视图控制产生一个基本的视图控制来从数据库中显示数据测试模块功能。这包括:a) 使用 VS.NET 编写 DNN Module 项目的 .ascx 和 .ascx.c
9、s 文件代码。b) 通过 DotNetNuke 为自定义模块手工产生一个模块定义。6创建一个 Edit Control 在 VS.NET 中,创建一个 DNN 模块 Edit control,以给予自定义模块一种方式来允许用户为自定义模块增加/编辑数据库中的数据。7创建一个 Settings Control在 VS.NET 中,创建一个 DNN 模块Settings control,它可以提供改变视图显示模块数据的选项。8利用各种 WEB 技术丰富模块。例如 css、ajax、linq 等。9打包自定义模块创建一个 DNN 安装配置文件(.dnn)并打包整个自定义模块代码以便于 DNN web
10、 站点上传并安装模块。10.利用手中的模块组成一个门户网站。时间进度安排:2007 年 2 月 18 日-2007 年 3 月 15 日 完成详细设计,所有模块的细节敲定,模块的所有接口、数据结构、函数及所用算法均定义完毕,并完成相应文档资料。2007 年 3 月 16 日-2007 年 3 月 31 日 征求导师意见后进一步改进,整理提交毕业设计开题报告。2007 年 4 月 1 日-2007 年 4 月 30 日 对 DNN 框架进一步了解学习,完成基本代码编写,所有模块基本完成。2007 年 5 月 1 日-2007 年 5 月 10 日 集成测试,所有模块协同工作测试,整个门户基本完成。2007 年 5 月 11 日-2007 年 5 月 20 日 网站测试,在虚拟主机上完成测试。2007 年 5 月 21 日-2007 年 5 月 25 日确认网站功能,由本人确认所需要的功能均已经完成。2007 年 5 月 26 日-2007 年 6 月 1 日 项目文档终稿完成,提交毕业论文,准备毕业答辩。指导教师审核意见:校内指导教师签名: 2007 年 3 月 27 日