《天风文章》V1.1.0 设计文档
2007-1-25 skywind.jk@gmail.com
一 简介
1、序
为了深入学习asp.net2.0,将理论同实践相结合,特以一新闻(文章)管理系统为例,来积累实际经验。在程序设计中,充分体现层次机构设计、面向对象思想,以及设计模式的思想。
系统定位:新闻(文章)管理系统
2、系统简介
² 系统名称:天风文章
² :SW Article (Note:SW means Skywind)
² 版本(Version):V1.1.0
² 开发环境:Visual Studio 2005, C# 语言 (ASP.NET2.0)
² 运行环境:IIS6.0 + .Net Framwork 2.0
² 使用到的第三方开源组件:
ü :ASP.NET中英文混合特效服务端验证控件v1.01
ü :FCKeditor.Net_2.2, HTML文本编辑器
3、功能简介
天风文章V1.1.0 功能简介:
1) 开源!同时提供设计文档!
2) (C#)的新闻/文章类系统,同时支持Access和SQL Server数据库
3) 栏目、设置等内容后台维护,前台自动生成显示内容
4) 前台采用样式(Theme)设计,优化显示,同时可以方便更改系统样式
5) 文章目录:文章栏目二级分类,随意修改
6) 文章编辑:后台编辑文章,采用htm格式编辑录入文章,使文章更美观
7) 图片新闻:支持图片文章,在主页显示最新的图片新闻(文章)
8) 登陆验证:登陆采用图片验证,密码采用MD5方式加密
9) 搜索功能:对站内文章的按照文章标题(内容)进行搜索。
10) 公告管理:后台可以维护Htm格式发布的公告
11) 留言本:访客留言后,审核后才能显示
4、各版本功能增加列表
V1.1.0(2007-1-25):
1) 数据访问层(DataAccess Layer)代码完全重构
2) 逻辑层(Logic Layer)部分实现重构
3) 留言本:访客留言后,审核后才能显示
V1.0.0(2007-1-25):
1) 采用最新的asp.net2.0(C#)实现,同时支持Access和SQL Server数据库
2) 栏目、设置等内容后台维护,前台自动生成显示内容
3) 前台采用样式(Theme)设计,优化显示,同时可以方便更改系统样式
4) 支持文章栏目二级分类,随意修改
5) 所有文章内容可以后台维护,允许以htm格式编辑录入文章,使文章更美观
6) 支持图片文章,在主页显示最新的图片新闻(文章)
7) 后台登陆采用图片验证,密码采用MD5方式加密
8) 对站内文章的按照文章标题(内容)进行搜索。
9) 公告管理,后台可以维护Htm格式编辑的公告
5、关于系统源码的说明
代码实现的规划,完全如下架构图,共五个项目,除JKLib因为是本人长期积累的东西,暂时不公开外,其他四个完全开源!JKLib中,感兴趣的朋友们可以Mail 我,提供部分源码。
![](https://i-blog.csdnimg.cn/blog_migrate/9cf5b8452a4a35eae1ade933132588b1.gif)
希望在我的作品上二次开发的朋友,能在你的作品上提一下我啊!本人也衷心希望大家能一起交流,共同提高!
二 层次架构
1、理论层次架构
系统的设计目标是要能够适应今后的扩充和修改,所以设计时采用3层架构设计,便于今后的二次开发。示意图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/9d5d3c8419e98bd504eac6b723ad3d28.gif)
各层介绍:
² 层:界面显示实现
² 层:业务逻辑层
² 层:标准的数据访问层
² 层,供上面三层调用的通用对象定义,保证上面三层的一致性,避免hard code
2、实际层次架构
为了对于通用代码功能的方便管理,以便重用到其他本人的软件作品中去,所以,将平时经常用到的一下code整理为一个dll,命名为JKLib.dll,系统的三层中均有不同程度的应用。实际架构示意图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/0f044cabd13237b77f0456d3d18bc7d6.gif)
三 数据库设计
![](https://i-blog.csdnimg.cn/blog_migrate/8e728f09f1f7b71ed0c16c220afa5aba.jpeg)
四 概要设计
系统的规划,主要分为前台显示和后台管理两部分。前台显示主要是呈现给最终用户的显示界面;后台管理,主要是供网站管理人员管理分类、新闻(文章)内容、公告,以及进行系统设置等的地方。
1、 前台显示
1) 前台页面结构
![](https://i-blog.csdnimg.cn/blog_migrate/3f5c1335002a4cb1fe98f0b65df9f37d.gif)
2) 首页
显示内容:系统标题、两级菜单、最新文章、图片文章、公告、搜索、热点文章、一级最新文章等内容,示意图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/8a297da2e647e744cba0f26457231817.jpeg)
3) 第一级目录页
显示内容:两级菜单、最新文章、图片文章、搜索、热点文章、二级最新文章等内容,示意图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/aa53127eba859d219b793fca4885e83a.jpeg)
4) 第二级目录页
显示内容:两级菜单、搜索、热点文章、文章列表等内容,示意图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/f9f6a86dc3f16033c48dee46175a50ac.jpeg)
5) 文章显示页
显示内容:两级菜单、搜索、热点文章、文章内容等,示意图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/11e3b7a6289d0c0c8215e930a29c30aa.jpeg)
6) 公告显示页
显示内容:两级菜单、公告列表、公告信息等,示意图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/f4b43f01ac2b8f6c06becaad47eb9a97.jpeg)
7) 查询页
显示内容:两级菜单、查询选项、查询结果类表等,示意图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/dd9200d7357756e87ca6e3da93e33cd9.jpeg)
2、 后台管理
1) 后台页面结构
![](https://i-blog.csdnimg.cn/blog_migrate/4e55194329a6fc48f778dc6eb7b4d179.gif)
2) 登陆页
ü 登陆后,cookie中保存登陆信息,只有登陆过的用户,才能进行相关后台操作。
ü 登陆时,要求输入图片验证内容
ü 密码采用MD5加密方式保存到数据库中
3) 后台首页
ü 登陆成功后显示的首页
ü 欢迎及系统简介界面
ü 后台功能菜单列表
4) 第一级目录管理页
对第一级目录进行维护,对应数据库表为Level1,示意图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/ecabce72a9f80078e6172c2663ed6f8f.jpeg)
5) 第二级目录管理页
对第一级目录进行维护,对应数据库表为Level2,示意图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/37f776f6d39db1685567eaf6e1d916db.jpeg)
6) 公告管理
管理公告内容,对应数据库表为Announce。
7) 文章管理
编辑文章的功能实现,对应数据库表为Articals。示意图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/1b50fe9177616e49b18668871e0c7adf.jpeg)
8) 用户管理
维护管理员信息,修改密码也在此处实现。示意图如下。
![](https://i-blog.csdnimg.cn/blog_migrate/f9bfe5a832548f1a401ec26a6d475471.jpeg)
9) 重新登陆
类似登陆,用于切换用户登陆。
10) 重新发布
针对菜单等不是经常变化的内容,系统对其进行缓冲,避免每次客户端访问时都动态初始化所有内容。因此,如果后台修改两级菜单时,需要重新发布一下,来使客户端内容更新,更新缓冲。