![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=1738883877-hsKUiaDAp8NkWAiWHkCsVr82kPkB7rJ2-0-06d4d66b45df8453cac95ec5c28f85b7)
图1.1 程序源论坛的功能结构图
1.3.3 系统业务流程
一个网站项目的主要核心部分就是业务逻辑,围绕着业务逻辑来编写代码,图1.2是“程序源论坛”项目的业务流程图。
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P13_32916.jpg?sign=1738883877-N4ohyZhm9Wz7Sdq2zGIHjM7BpMUyqdm8-0-c44365a32895306917d0a9056d39e985)
图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=1738883877-7TXagWnPIQOfxppDLCPHLMjQf3d2jTox-0-bf005ac06b7e48f08777cf212f209dbc)
图1.3 论坛首页
子专区版块帖子列表如图1.4所示,该页面包含所属该专区的帖子以及发布属于该专区的新帖功能。
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P15_1915.jpg?sign=1738883877-37ibfbyySkdtf4Mn8cQtVLQPvgSv4wqD-0-e5c3cf0d30f10294e5e522425e08cc90)
图1.4 帖子列表
图1.5所示是精华帖子列表,单击帖子标题可以进行帖子内容阅读与主题回复。
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P15_1919.jpg?sign=1738883877-aWflpNasrGThHExMNBYdK7SM2WGufSs2-0-91de1bc591221d463b23db2c72713d82)
图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=1738883877-abeQ2pO96IfbqrT80Hz1aw0fn1niJDfo-0-d2b8716cb535bf074d9c127f240b8dd2)
图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=1738883877-yDaxO8vtSXY6PsenV4JW1gAAMF5FpXuN-0-03dd5bba17280b40931efd316aa8e26b)
图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=1738883877-GgmrvG0jgc7kEoD3gCkkzQ1L5hzUFtIT-0-7d6c71df04fdddabf1d1a4cd53ca6b1f)
2. tb_ForumSecond(帖子回复表)
tb_ForumSecond表用于所有帖子的回复信息,该表的结构如表1.2所示。
表1.2 帖子回复表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T18_32922.jpg?sign=1738883877-I63f0F6vKsMSOf3SJof1Fy4XfTWZ7TwT-0-64ba8f9b57d40a9762938ac1f55c0c8b)
3. tb_ForumInfoStatus(帖子常用状态表)
tb_ForumInfoStatus表用于保存所有帖子的一些状态信息,比如回复数量、查看数量、最后一次回复人及回复时间等,该表的结构如表1.3所示。
表1.3 帖子常用状态表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T18_32923.jpg?sign=1738883877-oPUI9OIpjt6BHpxJ0xvYiy8TtXA0LsQY-0-8be26c89c899a97e83c46880645aa626)
4. tb_ForumArea(版块区域表)
tb_ForumArea表用于保存网站的区域信息,该表的结构如表1.4所示。
表1.4 版块区域表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T18_32924.jpg?sign=1738883877-kl3L8yE7XdvePnXeHMv3jtX7mHxOIcyr-0-87c2eb33b5ca3fcf82dd1605c438f240)
5. tb_ForumClassify(版块分类表)
tb_ForumClassify表用于保存网站中的论坛版块分类,该表的结构如表1.5所示。
表1.5 版块分类表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T18_32926.jpg?sign=1738883877-IGTytSuzBiDn53YPrwkjqwKbNAJBk20d-0-1833855ddb9d6f805271225ce3ee2506)
6. tb_UsersByCustomer(普通用户表)
tb_UsersByCustomer表用于保存论坛中的网站用户信息,该表的结构如表1.6所示。
表1.6 普通用户表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T19_32931.jpg?sign=1738883877-ddwfMzo00xi1CPhFUtMleJqLgK5TypHo-0-702669b922401aa2320bee7389003cad)
7. tb_UsersBySystem(版主用户表)
tb_UsersBySystem表用于保存论坛各个版块的版主信息,该表的结构如表1.7所示。
表1.7 版主用户表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T19_32932.jpg?sign=1738883877-jge1P9vHgrFLAd6eP4da89Z1Xf1eMB4A-0-cb120c1b3afd1d0b7add53963687452d)
8. tb_UserByRole(用户角色表)
tb_UserByRole表用于保存论坛中的角色信息,该表的结构如表1.8所示。
表1.8 用户角色表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T19_32933.jpg?sign=1738883877-Lt9609xr6naRgWRcjWqUNTe0qnqaiOzx-0-4341b1bad81fc036a22a1c9a4d125dea)
9. tb_UserByRoleJoinColumn(角色与权限关联表)
tb_UserByRoleJoinColumn表用于保存论坛中各个角色及其关联的权限信息,该表的结构如表1.9所示。
表1.9 角色与权限关联表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T20_32936.jpg?sign=1738883877-lXiFl11B3uzcMt9N3aBo9HYuxNL4BChW-0-3b8e2a76e43decab16f618ddf783e898)