![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=1739281774-hm9ukvwkrcQK9MrFKxqsCKgUsPG8HQdI-0-7da8782ac1e01b09b85c1358540405c9)
图1.1 程序源论坛的功能结构图
1.3.3 系统业务流程
一个网站项目的主要核心部分就是业务逻辑,围绕着业务逻辑来编写代码,图1.2是“程序源论坛”项目的业务流程图。
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P13_32916.jpg?sign=1739281774-9I8NXPrK2JYWBlFHxMH5HVIhBNPpDvwT-0-0e283287bf20089a8f7ce2baa2855d2f)
图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=1739281774-PqyKhe68wjNKsVh5JSZDv9viDZfA3ClS-0-02ea0d6e50260b9316d895d078e6ef8e)
图1.3 论坛首页
子专区版块帖子列表如图1.4所示,该页面包含所属该专区的帖子以及发布属于该专区的新帖功能。
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P15_1915.jpg?sign=1739281774-U5D8lkPEHn2Y8nA3Hwl4P4uPcEf1Q50g-0-e9cc11d9d994cb73cec723be880d3ea8)
图1.4 帖子列表
图1.5所示是精华帖子列表,单击帖子标题可以进行帖子内容阅读与主题回复。
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-P15_1919.jpg?sign=1739281774-Ym8ONx0jaAElSHFvxjJNKLuuMuTTfWdH-0-16dd4b726ba76b172374f9fc23c7daa4)
图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=1739281774-uf86CfaWkRq5O86Qls7cDkkVZjiifKhA-0-484cd56db8053d2ba9f8225c600dee33)
图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=1739281774-8ii4mk71OsbSQSwkvGeTnq7SCAY7CCvh-0-04bc071991eb07e93cfd1965db33d003)
图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=1739281774-EFx5KY5LsoAtiXvb4ZrZ4PENEXoXGXD6-0-808983ba0820be609cc8cc39b03622d3)
2. tb_ForumSecond(帖子回复表)
tb_ForumSecond表用于所有帖子的回复信息,该表的结构如表1.2所示。
表1.2 帖子回复表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T18_32922.jpg?sign=1739281774-6UUQo8Adnxx9xwBi4CxzSQdHPj89Gr6b-0-8711c500932d7c78da279ed3d338ee97)
3. tb_ForumInfoStatus(帖子常用状态表)
tb_ForumInfoStatus表用于保存所有帖子的一些状态信息,比如回复数量、查看数量、最后一次回复人及回复时间等,该表的结构如表1.3所示。
表1.3 帖子常用状态表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T18_32923.jpg?sign=1739281774-RpKD7GOGytn7PDJcJX31zo75JHiVrvBm-0-b62af5cfb91b2c1b8b80b5acf0546467)
4. tb_ForumArea(版块区域表)
tb_ForumArea表用于保存网站的区域信息,该表的结构如表1.4所示。
表1.4 版块区域表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T18_32924.jpg?sign=1739281774-zNYYNkofk7zdptzt1tNtCqy6RwAyFfN7-0-9b530a68af9e878c973aeeafa12e4372)
5. tb_ForumClassify(版块分类表)
tb_ForumClassify表用于保存网站中的论坛版块分类,该表的结构如表1.5所示。
表1.5 版块分类表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T18_32926.jpg?sign=1739281774-t4jHhPpSkdCyXmDbCfnl98WVvlDOga9v-0-77ecb60c153dda581dd4ae65f4a6b984)
6. tb_UsersByCustomer(普通用户表)
tb_UsersByCustomer表用于保存论坛中的网站用户信息,该表的结构如表1.6所示。
表1.6 普通用户表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T19_32931.jpg?sign=1739281774-gLRThTsPuyGDM2kGiXMEq4ukryQXjGwA-0-a9f92c1ea7dd6f624e7b97db036aeffd)
7. tb_UsersBySystem(版主用户表)
tb_UsersBySystem表用于保存论坛各个版块的版主信息,该表的结构如表1.7所示。
表1.7 版主用户表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T19_32932.jpg?sign=1739281774-MeCwhzCWV4SYgrqsOIXJdQPzu43JF222-0-dcfd56dd4c167b6215150fce1c0568b8)
8. tb_UserByRole(用户角色表)
tb_UserByRole表用于保存论坛中的角色信息,该表的结构如表1.8所示。
表1.8 用户角色表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T19_32933.jpg?sign=1739281774-vWjEgWXYv4LpSTEQ8Ai2p9mkaNAIoYVn-0-c137552146ba957b7a0345acfb61b1f5)
9. tb_UserByRoleJoinColumn(角色与权限关联表)
tb_UserByRoleJoinColumn表用于保存论坛中各个角色及其关联的权限信息,该表的结构如表1.9所示。
表1.9 角色与权限关联表
![](https://epubservercos.yuewen.com/60F777/15253385804108706/epubprivate/OEBPS/Images/Figure-T20_32936.jpg?sign=1739281774-nIN20L2Ev55oEpNZjNxNzGelgptldIJ7-0-55f2ac87c171abd4a0b1da29cb925dc0)