概要设计说明
本说明的目的是对校园论坛进行概要的功能说明,以便用户及项目开发人员了解产品大致的设计与实现。以下叙述将结合文字描述、数据流图、变换图等来描述校园论坛的体系结构设计、接口设计,数据设计等方面。本说明的预期读者有客户、项目经理、开发人员以及跟该项目相关的其他竞争人员。
B/S | browser/server |
---|---|
E-R图 | 用特定图形表示系统功能、流程的一种方式 |
数据流图 | 用特定图形表示系统功能、流程的一种方式 |
实体 | 客观世界中存在的且可以互相区别的事物 |
联系 | 客观事物中的彼此之间的联系 |
属性 | 实体或者联系所具有的性质 |
用例图 | 参与者的外部用户所能观察到的系统功能的 |
序号 | 名称 |
---|---|
1 | Java Web程序设计(第2版)(清华大学出版社) |
2 | 软件工程(第3版)(高等教育出版社) |
3 | 数据库系统概论(第5版)(高等教育出版社) |
对于一个用户,使用论坛进行交流时,首先要注册一个 账户,然后登录后才能进行对帖子的回复,如果不登录,就 只能查看帖子而不能进行回复和发表帖子。用户使用论坛系统的需求是发表某一个主题相关的帖子,用户在发表帖子后, 如果有人进行回复,就要在首页提醒用户有新消息。用户可以删除自己发表的帖子和评论。对于论坛管理人员来说,需要完成对用户发表的帖子的管理,包括:设置精华帖、置顶 帖子、删除帖子等操作。
开发校园论坛系统的目的是提供一个供我校学生交流的平台,为我校学生提供交流经验、探讨问题的社区。因此, 校园论坛系统最基本的功能首先是发表主题,其次是其他人员根据主题发表自己的看法。此外,为了记录主题的发表者和主题的回复者信息,系统还需要提供用户注册和登录的功能。只有注册的用户登录后才能够发表和回复主题,浏览者
(游客)只能浏览主题信息。根据用户的需求及以上的分析, 校园论坛需要具备前台功能和后台功能。
(1)系统前台功能:显示用户发表的帖子,查看帖子的内 容、发表对帖子的回复、发表对回复的回复、显示用户的头像、用户信息的显示、用户新信息的提醒。 (2)系统后台功能:进入后台、帖子管理、用户管理、添 加删除用户、系统设置、退出系统、返回首页。
服务器 CPU:PIII 500以上 ,内存:512M以上。 客户机 CPU:P200MMX以上,内存:32M以上。
客户端:Chrome,Firefox,IE浏览器等。 服务器端:Windows7及以上,Tomcat6.0,JDK 1.5及其以上版本,IE6.0 及其以上版本等; 数据库:采用mysql,运行于服务器端。
校园论坛所具有的功能包括:用户注册、用户登录、用户信息修改、浏览帖子、发表帖子、收藏帖子、搜索帖子、回复帖子、用户信息管理(查询、增加、删除、修改)。
从整体上可以分为数据层、数据访问层和业务逻辑层。数据层是系统最底层,它用于存储系统的所有数据。数据访问层建立在数据库之上,应用程序通过该层访问数据库。数据访问层一般封装数据库的选择、添加、更新和删除操作, 同时还为业务逻辑层服务,所以数据访问层的设计的好坏关系到整个系统的成败。业务逻辑层包括用户登录、用户注册、 发表帖子等业务逻辑,它一般由Web页面实现。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JBs4PE3r-1651764135622)(media/352e5a206213887af89cff39e0d8aa58.jpeg)](1)系统操作结构
(2)页面操作结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-syjs6iyV-1651764135624)(media/9c131f4b840262a954f299d87c0ecb77.jpeg)]
2.4.1顶层数据流图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-artG8nXa-1651764135624)(media/1c505931d066dffa388d3538312f5d63.jpeg)]
2.4.2 0 层数据流图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5G6tIZtp-1651764135625)(media/8504f9020212e737ef2bce4dfc98a2a2.jpeg)]
2.4.3具体数据流图
2.4.3.1登录系统
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Apd6AM4L-1651764135626)(media/85581d70adf2715114c73b8222961b13.jpeg)]
2.4.3.2注册系统
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1JsY3lTv-1651764135626)(media/5c3110504064b9df563dd986fb82f7d2.jpeg)]
2.4.3.3发表主题
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mJpC8iZ1-1651764135627)(media/013e11ef0bd958cb75bdc03ea3453674.jpeg)]
2.4.4.4回复主题
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nRKJFihZ-1651764135627)(media/14affefd53c0814d2446b28797b4a487.jpeg)]
2.4.4.5论坛管理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iTwUsBcp-1651764135628)(media/4ae92a2ea150a2ba984b6a93315596ae.jpeg)]
本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:
用户登录界面 | 用户注册界面 | 用户信息修改界面 | 用户信息管理界面 | 浏览帖子 界面 | 搜索帖子界面 | 发表帖子界面 | |
---|---|---|---|---|---|---|---|
用户注册 | √ | ||||||
用户登录 | √ | ||||||
用户信息修改息管理 | √ | √ | |||||
浏览帖子 | √ | ||||||
发表帖子 | √ | ||||||
收藏帖子 | √ | ||||||
搜索帖子 | √ | ||||||
回复帖子 | √ | ||||||
用户信息管理(查询、增加、删除、修改) | √ | √ |
管理员可以添加,删除版块,也可以修改版块资料,如版块名称,上级版块,版主。
说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。
用户登录界面:当用户访问正确的网址时,进入用户登录界面。该界面至少包含用户名输入栏和密码输入栏以便接受用户的输入,还应该有“登录”按钮使得用户可以提交用户名和密码和“注册”按钮。
注册界面:用户点击用户登录界面的“注册”按钮后可以进入注册界面。该界面应提供“用户名”、“昵称”、“密码”、“确认密码”栏供用户输入,还应该提供“提交”按钮让用户提交用户信息并完成注册。
主界面:用户提供正确的用户名和密码后,跳转到该界面。该界面根据问题库中问题的热度,问题的时间等信息为用户推送相关的问题。并且需要提供搜索问题的输入栏和“个人中心”的跳转按钮。
搜索结果显示界面:通过读取主界面的搜索关键字在问题信息库中匹配相关问题,并将相关问题显示到该界面。
查看帖子界面:用户在看到问题后可以点击该问题便可跳转到该界面,在该界面展示问题的详细信息,并且需要提供给用户“点赞”按钮和评论栏。
个人中心界面:用户在主界面点击个人中心跳转按钮可以跳转到该界面。该界面显示用户的昵称、签名、称号、提问数、回答数等基本信息,并且提供给用户查看“我的回答”、“我的提问”、“创建问题”、“帮助\提示”和“退出”等按钮方便用户进行相应操作。
我的回答界面:用户在个人中心界面点击“我的回答”按钮可以跳转到该界面。该界面显示本用户发表过的所有回答,并且提供给用户“返回”按钮方便用户跳转回个人中心界面。
我的提问界面:用户在个人中心界面点击“我的提问”按钮可以跳转到该界面。该界面显示本用户发表过的所有问题,并且提供给用户“返回”按钮方便用户跳转回个人中心界面。
创建问题界面:用户在个人中心界面点击“创建问题”按钮可以跳转到该界面。该界面提供给用户问题标题栏、设置为问题箱选项、问题标签选项、问题描述栏以及“发布”按钮。用户点击“发布”按钮后的问题信息会及时存储到问题信息库。
硬件接口:
系统运行服务器要求运行内存大于1G,存储空间大于2G
使用者电脑内存要求512M以上,磁盘空间要求40G以上,硬盘空间要求1.5G以上。
软件接口:
VScode、IntelliJ IDEA、MySQL8.0,浏览器或安卓手机端。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HWJJ1sx8-1651764135628)(media/dedecde70376e3468a179c058793b1e7.png)]
说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。
说明每一种外界的运行控制的方式方法和操作步骤。
1.系统运行不响应时间不能超过10秒 2.对系统进行操作时,响应时间在5秒之内 3.多用户操作时,时间和相应的要求同上 5系统数据结构设计
根据系统需求,我们就可以创建系统所需要的数据库表
了。
本系统包含 3 个表,下面是这些表的结构。
user_info 表结构
字段名 | 数据类型 | 字段长度 | 是否主键 | 是否为空 | 备注 |
---|---|---|---|---|---|
user_id | int | 15 | 是 | 否 | 用户 id |
user_name | varchar | 50 | 否 | 否 | 用户名 |
user_password | varchar | 50 | 否 | 否 | 密码 |
user_sex | varchar | 2 | 否 | 否 | 性别 |
user_face | varchar | 255 | 否 | 否 | 头像 |
user_phone | varchar | 255 | 否 | 否 | 联系电话 |
user_email | varchar | 200 | 否 | 否 | 电子邮箱 |
user_from | varchar | 200 | 否 | 否 | 来自何处 |
isAdmin | int | 2 | 否 | 是 | 是否为管理员 |
forum_info 表结构
字段名 | 数据类型 | 字段长度 | 是否主键 | 是否为空 | 备注 |
---|---|---|---|---|---|
Fid | int | 10 | 是 | 否 | 发帖 id |
Title | varchar | 255 | 否 | 否 | 帖子标题 |
content | varchar | 255 | 否 | 否 | 帖子内容 |
create_time | datetime | 否 | 否 | 发帖时间 | |
---|---|---|---|---|---|
user_id | int | 11 | 否 | 否 | 用户 id |
reply_info 表结构
字段名 | 数据类型 | 字段长度 | 是否主键 | 是否为空 | 备注 |
---|---|---|---|---|---|
reply_id | int | 10 | 是 | 否 | 回帖 id |
reply_content | varchar | 255 | 否 | 否 | 回帖内容 |
reply_time | datetime | 否 | 否 | 回帖时间 | |
user_id | int | 11 | 否 | 否 | 用户 id |
fid | int | 11 | 否 | 否 | 发帖 id |
用一览表的方式说朗每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。
6.3系统维护设计
(1)系统本身的故障
系统已经在使用中,但在使用过程中发现经常出现几种错误,需要对这些错误进行收集、整理、归类,并在此过程中对相关使用个人和部门及时给与支持。
(2)新需求
随着公司业务的发现,可能公司的组织机构、业务模式发生改变,为适应新的业务流程、新的结算方式等等,要对现有系统进行升级或二次开发。这时候需要跟相关部门作必要的沟通,及时、准确了解需求,并归类整理成文档。
(3)研究维护可行性
召集相关部门和人员,对整理的维护事项作技术实现方面的认证,确认是否可以实现。在可以实现的情况下还要考虑手头是否有足够的人员可以投入开发,是否我们有足够的时间来完成系统升级改版。
(4)分析设计维护方案
在对问题有足够的认识,并确认有足够资源可以按时完成的情况下,需要把需求转化为用于开发的技术文档,如系统维护概要说明书、系统维护功能清单、新的数据库清单、系统维护详细说明书;之后依据现有人员列出详细的开发计划。最后把所有文档一并交给业务部门确认,待他们没有意见后,便可进入系统维护工作。
(5)系统维护
5.1参与人员
如果是一个比较大的项目,建议有项目主管、DBA、开发人员、美工、测试人员。
5.2工作分配
项目主管把握整个项目进度,负责开发任务的分配、跟踪、检视、提供必要的支持等。DBA保障数据库的稳定,协助开发人员作数据挖掘、写有难度的Sql语句、存储过程等。
开发人员主要写代码、作测试,及时跟主管、美工、DBA作沟通,保证开发不会Delay。
美工,负责页面设计和美化,保障页面风格一致性。
测试人员,在系统上线之前做充分的测试,保障系统安全、稳定、高效运行。
(6)系统更新、重新发布
系统开发完毕,经过反复、周密的测试,由项目负责人将系统重新发布出去,但要尽量保证原有数据完整性,保证新旧系统切换过程中还影响业务部门使用。因此建议先期新老系统并行,待新系统稳定之后再关掉老系统。
注:文档为word转格式而来,图片已经失效