浅析数字图书馆网站设计与实现

时间:2022-08-30 02:02:56

浅析数字图书馆网站设计与实现

1系统需求分析

1.1后台功能需求

1)系统设置模块。对系统的的基本设置进行设置。例如网站版权信息、网站备案号、网站的域名、网站管理员信息等等。2)栏目管理模块。对网站的栏目进行设置管理。主要包括添加栏目、删除栏目、查看栏目基本信息、修改栏目信息(例如栏目分组、栏目的类型、栏目模版、是否在菜单显示、栏目的状态等等)、添加栏目分组、删除栏目分组等等。3)网站公告模块。超级管理员可以对网站的固定公告、弹窗公告等进行管理。主要包括添加删除弹出公告,修改公告内容等功能。4)投票模块。用户可以添加网站调查,启动网站投票。包括添加调查主题、添加删除调查选项、设置选项的票数、设置投票多选还是单选、设置投票状态等等。5)访问者安全管理模块。网站管理员可以添加、修改、删除访问IP地址段,用于屏蔽、授权访问的IP地址的功能。6)专题管理模块。网站管理员可以添加、修改、删除网站的专题,并绑定专题所属栏目等等功能。7)内容管理模块。有权限的管理员可以管理网站的内容,例如添加文章、删除文章、修改文章、审核文章、修改文章作者来源等信息。

1.2前台功能需求

前台主要向最终用户显示信息,将信息显示到最终用户的浏览器。前台包括8个主要的功能需求模块:1)模版管理模块。建站人员可以在不修改系统源代码的情况下修改网站的模版、风格以及前台界面。2)内容展示模块。系统根据建站人员设置的模版以及栏目设置等向最终用户展示文章新闻等内容。3)访问控制模块。对系统的栏目文章等页面进行访问控制,不在允许列表中的IP不能访问。4)访问记录模块。记录每一个IP访问某一篇文章的次数,按照一定次序进行排序。5)投稿模块。超级管理员创建的投稿用户拥有权限向可以投稿的栏目投稿,投稿用户可以选择投稿的栏目,引用栏目,投稿文章标题、内容等信息。6)友情链接模块。管理员可以添加有钱链接,使用标签可以在首页以及其他页面显示文字或者图片形式的友情链接。7)日志模块。记录系统的操作日志,以及访问异常等日志信息。8)搜索模块。用户可以使用搜索功能搜索到本系统中的信息。

2系统设计

2.1系统总体设计

1)总体架构本系统作为一种通用型的软件系统,其架构必须适应用户需求的不断变化,而且应该层次清晰,各模块应该独立不互相依赖,方便二次开发。数据访问层、逻辑层、界面层完全独立。2)设计思想本系统采用了多层结构的设计思想,即网站架构常用的三层架构模式,使界面层,逻辑层,数据访问层全部独立,当某一层代码需要改变时,不会影响到其他层。如新建一个站点时,只需要添加栏目以及更改界面,设置网站基本信息,就可以快速搭建一个WEB站点,这样使系统具有很好的灵活性和扩展性。

2.2系统的主要类设计

系统充分的利用了面向对象语言多态的特性,对系统中的主要功能函数都采用接口的方式进行了封装,数据库访问层使用了单独的动态链接库进行封装,使系统二次开发或者更新时,减少人力和物力资源的浪费。

3系统实现

3.1系统核心模块实现

针对网站系统最常用类,分别设计并实现了相应的核心接口函数。主要包括数据库操作函数、读取配置文件函数、文件操作函数、加解密函数、网站即时信息操作函数等等。

3.2缓存类的实现

系统广泛使用了缓存的方式保存了网站访问比较频繁的数据,减小了数据库服务器的压力,使页面加载速度更快,分别实现了基本缓存类(BasicCache.cs)、栏目缓存类(CategoryCache.cs)、IP缓存类(IpFilterCache.cs),角色缓存类(RoleCache.cs)。

3.3动态模版实现

内容管理系统中最核心以及最复杂的就是动态模版的实现,本系统采用的一个模版库NVelocity实现了动态模版。NVelocity是开源包Velocity重写的.NET版本,代码简单易懂,标签可读性很高。

4结束语

本系统根据内容管理系统通用快捷特点,把实现灵活和可扩展的软件系统为目标,设计并实现了本系统。使用2.0和NVelocity实现了简单灵活的一个快速建站系统,系统采用多层分离的方式,使方便开发人员二次开发,以及方便更新。经实践,该系统相对市面上的其他内容管理系统,具有更简洁,更容易扩展等优点,目前已经在网站领域得到了很好的应用。

作者:董屹 单位:西华师范大学图书馆

上一篇:浅谈关于AspNet的博客网站设计研究 下一篇:略谈高校网站中设计网页色彩的应用