![ASP.NET项目开发全程实录(第4版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/589/26793589/b_26793589.jpg)
1.3 系统设计
1.3.1 系统目标
开发程序源论坛最终目的是为程序源提供一个良好的技术交流平台,为了满足需求,本系统在设计时应实现以下几个目标:
网站界面友好、美观。
划分用户级别,将不同的权限划分给不同的用户。
合理管理论坛相关信息。
易于维护和扩展。
系统运行稳定、可靠。
1.3.2 系统功能结构
程序源论坛主要分为前台页面、后台管理、登录用户和非登录用户等几个模块。其详细的功能结构如图1.1所示。
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P13_32915.jpg?sign=1738825036-gfp9r98lHEHO7mTWAbVnWqRle6a139Jw-0-95d3ddd2be4d35aac79cba089c0548fd)
图1.1 程序源论坛的功能结构图
1.3.3 系统业务流程
一个网站项目的主要核心部分就是业务逻辑,围绕着业务逻辑来编写代码,图1.2是“程序源论坛”项目的业务流程图。
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P13_32916.jpg?sign=1738825036-wvXeNq5IMPd9lD3d2HnM2VbxsX4oajv5-0-a5cd526b07b61d850c6f777569bd8465)
图1.2 “程序源论坛”的系统业务流程图
1.3.4 构建开发环境
1. 网站开发环境
网站开发环境:Microsoft Visual Studio 2017。
网站开发语言:ASP.NET+C#。
网站后台数据库:SQL Server 2014。
开发环境运行平台:Windows 7(SP1)/ Windows Server 8/Windows 10。
注意
SP(Service Pack)为Windows操作系统补丁。
2. 服务器端
操作系统:Windows 7。
Web服务器:IIS 7.0以上版本。
数据库服务器:SQL Server 2014。
网站服务器运行环境:Microsoft .NET Framework SDK v4.7。
3. 客户端
浏览器:Chrome浏览器、Firefox浏览器。
1.3.5 系统预览
论坛首页如图1.3所示,该页面包含各大专区、专区内的子专区版块以及全局导航登录等信息。
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P14_1902.jpg?sign=1738825036-rhzR1ntI9fB8cXLUaEcQvrwduBrxquUP-0-286fd50358b83f48ec24c01d8fa2ac74)
图1.3 论坛首页
子专区版块帖子列表如图1.4所示,该页面包含所属该专区的帖子以及发布属于该专区的新帖功能。
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P15_1915.jpg?sign=1738825036-82G7rqtspOfIT9HhkAe7Q1w0E9yURuVE-0-18e696d5cf84644f26e5121c36986735)
图1.4 帖子列表
图1.5所示是精华帖子列表,单击帖子标题可以进行帖子内容阅读与主题回复。
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P15_1919.jpg?sign=1738825036-QoXcUMy1EC2txxTvfZrUO7SoRZ7ryq7j-0-e20befcbed1bd3677f7509d18629785a)
图1.5 帖子列表
1.3.6 项目目录结构预览
在本项目目录中通过建立Areas区域将前台和后台系统进行了分离,Content文件夹内存放了各类资源文件,包括js、css、图片和字体文件等。“程序源论坛”的项目结构如图1.6所示。
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P16_1932.jpg?sign=1738825036-MbNiqw8nqjfn8SkTa0iClzAcNeT8Jg54-0-65676d0e9ace195d307d0f981a6a9535)
图1.6 项目包结构图
1.3.7 数据库设计
由于本网站属于中小型的BBS论坛,因此需要充分考虑到成本问题及用途需求(如跨平台)等问题,而SQL Server 2014作为目前常用的数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大、效率高,这正好满足了中小型企业的需求,所以本网站采用SQL Server 2014数据库。本网站中数据库名称为DB_BBS,其中包含14张数据表,分别用于存储不同的信息,如图1.7所示。
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P17_1951.jpg?sign=1738825036-CsCFYvd7SGvQ3LWlsEa0WXTnGeCGP6Gr-0-5c68dd55ab413ce4859da16c94bcdca8)
图1.7 数据库结构
下面给出比较重要的数据表结构。
1. tb_ForumMain(帖子主表)
tb_ForumMain表用于保存网站中的所有帖子信息,该表的结构如表1.1所示。
表1.1 帖子主表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T17_32918.jpg?sign=1738825036-v8AeqkQ6pA4UJ9UMZdGkfb0Lr3W0IOa6-0-3f3c2e5b2561e7be2e9b0cfec22e7c97)
2. tb_ForumSecond(帖子回复表)
tb_ForumSecond表用于所有帖子的回复信息,该表的结构如表1.2所示。
表1.2 帖子回复表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T18_32922.jpg?sign=1738825036-VULkBqmZ2CthBGCN1SjoGhaaomwnPCoO-0-7bba8051631f01e25fecfe25cb6cfc55)
3. tb_ForumInfoStatus(帖子常用状态表)
tb_ForumInfoStatus表用于保存所有帖子的一些状态信息,比如回复数量、查看数量、最后一次回复人及回复时间等,该表的结构如表1.3所示。
表1.3 帖子常用状态表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T18_32923.jpg?sign=1738825036-bThqYXS4BgEkJNI0kiZI3vTHbKoriRkH-0-bb6c42f3f125880cf2ec83a4fad5da57)
4. tb_ForumArea(版块区域表)
tb_ForumArea表用于保存网站的区域信息,该表的结构如表1.4所示。
表1.4 版块区域表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T18_32924.jpg?sign=1738825036-l2I24ni9PfVTPtMQsLH38hmOOvNwXk25-0-aff18fe08ec50a8b25cabe76629ca97f)
5. tb_ForumClassify(版块分类表)
tb_ForumClassify表用于保存网站中的论坛版块分类,该表的结构如表1.5所示。
表1.5 版块分类表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T18_32926.jpg?sign=1738825036-uPAcJWP5ORbSiThMIT5pzULx3r4GUyUe-0-2da33ffa17b105c8090b9f773e8c61cc)
6. tb_UsersByCustomer(普通用户表)
tb_UsersByCustomer表用于保存论坛中的网站用户信息,该表的结构如表1.6所示。
表1.6 普通用户表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T19_32931.jpg?sign=1738825036-B2A5zdR0UiRop4yK6z8zrNj9LInlpSvY-0-21634af3767b89b7913ac51e7a7a56e2)
7. tb_UsersBySystem(版主用户表)
tb_UsersBySystem表用于保存论坛各个版块的版主信息,该表的结构如表1.7所示。
表1.7 版主用户表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T19_32932.jpg?sign=1738825036-UUQlptpGhEJ8wdySPH778CuLrqZCq5jc-0-c0bccd73effebaefd616b7f71d792620)
8. tb_UserByRole(用户角色表)
tb_UserByRole表用于保存论坛中的角色信息,该表的结构如表1.8所示。
表1.8 用户角色表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T19_32933.jpg?sign=1738825036-pyjeDsJseT6wIgE3vwEuQz8SFRM5j9Dx-0-49c66a3b1dba7ad3ff38af52f57cd5c0)
9. tb_UserByRoleJoinColumn(角色与权限关联表)
tb_UserByRoleJoinColumn表用于保存论坛中各个角色及其关联的权限信息,该表的结构如表1.9所示。
表1.9 角色与权限关联表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T20_32936.jpg?sign=1738825036-V3b1cq0kb2f7LW7P0TnVlOvytyt8aM5N-0-a9f4441f637e0ea4b91c7a5a7481b099)