软件工程导论(大三课程设计)
在以人为本的全新设计理念下,该项目容易被认可,具有简单易学性,便于管理的特点,是一个使学生能够实现资源的共享,以及学生之间、学生与老师之间的信息交流的校园交流平台,具有一定的实际开发价值和实用价值。有了用户实体才能实现资源的上传和下载功能,而上传和下载的对象便是资源,因而还需要一个资源实体,此外在资源下载的过程中用户可以给上传资源的用户留言,上传资源的用户可以查看留言并回复,这样还需要一个用于保存
- 问题定义
目前计算机互联网技术的发展可谓是肉眼所见的迅速,电子设备、互联网已经融入到了现代人的日常生活中。在当今信息化的时代,人们进行信息记录和交换的形式和工具也随着向信息化进行转变。通过浏览器在百度、谷歌等信息检索网站获取信息,进入某个论坛如CSDN探讨学习难题,又或者通过微信、QQ等通信工具进行交流等等手段,是当代大学生在信息化时代下的学习方式,大学生们通过这种方式能快速便捷地获取信息。但是,其美中不足之处便是这些信息化平台及工具大多数都是服务于广大群众的,兼容性强而专一性弱。大学校园需要一些专门为大学生服务的平台,从而实现资源共享和信息交流。
为本校搭建一个校内信息交流平台,方便广大师生交流,具有重要的意义。首先,实现资源共享,网络是一个大的信息载体,校内信息平台是校内信息资源共享的一个很好的途经。老师可以将最近的课件或者布置的作业要求上传到校内信息平台,供学生下载,来避免下课后资源拷贝的问题。此外,学生之间也可以共享信息资源。其次,校园信息交流平台作为一个信息交流的场所也成为校园文化建设的重要组成部分。随着我们人民生活水平的提高,电脑已逐渐在普及,特别是对于大学生来说,他们几乎每人都拥有一台电脑。上网已成为他们学习生活的一部分。搭建一个属于本校的校内信息交流平台,加强学校的文化教育建设,也为学生学习、休闲提供一个好的平台,具有重要的意义。此外,搭建一个校内信息平台也为师生之间的交流提供了便捷的渠道,老师或者学生可以在这个平台上通过留言或发帖的形式来交流,这样方便又快捷;也可以通过回复别人的贴子达到更广泛的交流。在以人为本的全新设计理念下,该项目容易被认可,具有简单易学性,便于管理的特点,是一个使学生能够实现资源的共享,以及学生之间、学生与老师之间的信息交流的校园交流平台,具有一定的实际开发价值和实用价值。
- 项目概述
2.1相关技术简介(jsp、MySQL、原型工具)
第三章 系统分析
3.1系统业务概述
本文涉及的学校论坛 BBS 社区网络系统要可以实现达到系统相关用户之间的顺畅交流的基本需求,同时要实现 BBS 论坛的所应该具备的一系列相关的基本站点功能。并能够发表附带各种资源类型的多媒体文章,以及在互动方面实现用户之间的发表文章的回复或评论信息。
3.2问题描述和可行性分析
3.2.1问题描述
问题描述主要是描述系统需要解决的是什么,明确系统的目标。本系统的主要目标是实现资源的上传和下载和论坛式的交流平台。资源上传和下载模块主要是针对老师对学生共享资源,当然也包括学生之间。在论坛中也可以实现资源的上传和下载,主要是在论坛中实现资源的上传与下载和单独的资源共享模块相比还加上了交流的功能,用户可以通过发帖上传资源,其他用户可以浏览帖子,下载资源,并进行回复。此外,论坛还添加了留言版的功能,用户可以给别的用户留言,等该用户上线时可以看到给自己的留言。为了论坛用户信息的安全性,登录论坛的用户先要填写相关的信息注册。并且为了保证论坛服务的质量,还需要管理员对论坛的帖子和普通用户进行管理。
学校资源分享及交流一体化平台所要实现的目标如下:
(1)本文涉及的学校论坛 BBS社区网络系统可以完成普通站点的相关用户或系统文件的上传与下载功能。同时可以满足系统各方用户能够上传自己的各类丰富类型的系统用户源并且能够下载任何类型的用户所感兴趣的系统资源。这其中就包括软件,相关文档文件,图片资源等等。
(2)本文涉及的学校论坛 BBS 社区网络系统要可以实现达到系统相关用户之间的顺畅交流的基本需求,同时要实现 BBS 论坛的所应该具备的一系列相关的基本站点功能。并能够发表附带各种资源类型的多媒体文章,以及在互动方面实现用户之间的发表文章的回复、评论信息、点赞收藏等等。
(3)本文涉及的学校论坛 BBS 社区网络系统在论坛中要能够实现一个多种资源类型附件的上传功能来满足实现系统用户的资源分享与检索。
(4)本文涉及的学校论坛 BBS 社区网络系统在页面中尽力完成实现系统页面元素的动态更新、增加、删除以及相关栏目特性的合理需求的变化更改更新。
(5)本文涉及的学校论坛 BBS社区网络系统在用户管理的模块中不仅要能够实现用户信息的修改、注册,而且要完成用户权限的登陆管理以及用户权限的合理分配管理。
3.2.2可行性分析
可行性分析是任何一个大型工程正式投入力量之前必须进行的一项工作,这对于保证资源的合理利用、避免浪费是十分必要的,也是项目一旦开始以后能顺利进行的必要保证。当系统开发目标明确后,就可以从下述四个方面对能否实现新系统目标进行可行性论证。
- 技术可行性。技术可行性是指:根据现有的技术条件,能否达到所提出的要求;所需要的物理资源是否具备、能否得到。
本系统属于一个MIS系统。在其组织关系上也未存在的很大的复杂性、繁琐性及不确定性,而且整个系统的技术构成上来看,它还是属于一个基于jsp开发的数据库应用类的系统。其基本操作还是对存在数据库进行增删改查等。并且本系统的开发采用MySQL作为本系统的数据库,适用于大中规模的数据量需求。因此,本系统的设计与开发上和硬件设备上的条件都能够获得满足,它在技术上是可行的。
- 经济可行性。经济可行性分析要估计项目的成本和效益,分析项目经济上是否合理,并将费用与效益进行比较,看是否有利。
本平台开发的硬件要求不高,普通计算机设备即可满足要求,并且本系统的成功开发将为学校带来更高的工作效率,如将QQ群、微信群信息集中并分类整合。
- 运行可行性。运行可行性是指所建立的信息系统能否在当前的操作环境下很好地进行,即组织内外是否具备接受和使用新系统的条件。
本系统是一个针对校园资源分分享及交流一体化平台,所耗资源较小,正常情况下所有用户都能满足要求;而且操作页面简洁易操作,打开平台即可很快学会如何进行操作。因此,本系统在运行上是可行的。
- 法律可行性。整个系统由于是自行开发,自行使用,在开发过程中没有涉及合同、责任等与法律抵触的方面。因此,本系统在法律上是可行的。
按照上述四个方面进行可行性分析和研究后,我们认为该项目的开发是完全可行的。
3.3需求分析
系统需求分析的主要任务是确定待开发的软件系统要“做什么”的问题。
- 系统的需求陈述。首先用户选择是否注册,填写一些相关的信息进行注册,注册后才能登录;然后再用户输入其之前通过注册输入完成的系统用户名和其对应的密码信息后,可进行系统页面的顺利登录,选择一个管理员或老师或学生的身份;针对不同身份,其中,老师和学生都需要通过注册来获取自己的账户,并且都享有管理个人论坛空间内容及分享圈子信息和使用资源的权利,而同时一个圈子的管理者有维护圈子信息的权限。管理员则是维护整个系统的用户信息和资源、圈子信息等。
校园资源分享及交流一体化平台需要具有以下功能。
- 系统管理功能:即管理员对资源内容、论坛帖子、用户信息的管理。
- 资源管理功能:资源的分类整合、资源信息管理,如资源的来源信息,资源下载、收藏的人数情况等。
- 论坛管理功能:用户可针对学习心得交流、校内新闻活动宣传以及生活疑难解惑等一系列交流活动。
- 用户管理功能:用户个人内容管理,如对下载和上传资源的增删改查,评论的回复、点赞、收藏,是否匿名的权限等。
- 查询管理功能:提供对系统所有资源、帖子的查询。
(2)系统的功能建模。通过对上述用户需求陈述的分析,我们可以构建该系统的功能模型,其对应的分层数据流图(DFD)如图 3-1、3-2、3-3所示:
图3-1校园资源分享及交流一体化平台的顶层DFD
图3-2校园资源分享及交流一体化平台的1层DFD
图3-3校园资源分享及交流一体化平台的2层DFD--“资源、论坛管理”的分解图
- 系统的数据建模。根据系统的数据流程图,我们可以列出下述系统所需的数据项。系统在设计的时候是把资源分享和论坛交流分开设计的,两者之间是相互独立的,因而数据库的设计也是采用分开设计的方法,由前面的介绍可以知道,资源分享主要针对教师给学生提供的资源(如专业学习的资料包以扩展自己的知识、专业证书和考研资料包等)。考虑到这些,我们可以利用现有的教师和学生的注册信息,使他们可以利用自己的账号进行资源下载。
1、介绍资源下载页面的数据库E-R模型设计。
资源下载页面先要有用户这个实体,用户可以是学生或教师,这样用户实体就包括学生实体和教师实体,这两个实体都有各自的属性用于区分自己。有了用户实体才能实现资源的上传和下载功能,而上传和下载的对象便是资源,因而还需要一个资源实体,此外在资源下载的过程中用户可以给上传资源的用户留言,上传资源的用户可以查看留言并回复,这样还需要一个用于保存用户留言信息的实体,这样用户实体(学生实体、教师实体)、资源实体和留言信息实体就是相互关联的。根据以上分析,我们可以列出下述系统所需的数据项。
- 用户:教师、学生。
- 学生:学号、用户名、密码、联系方式、专业班级。
- 教师:工号、用户名、密码、联系方式、院系。
- 资源:编号、名称、路径、大小、来源、描述、类别、下载人数、上传日期。
- 留言信息:留言信息编号、接收人名称、留言者名称、留言内容、留言回复、留言时间。
资源下载页面的E-R模型如图3-4至3-9所示。
- 介绍资源下载页面的数据库E-R模型设计。
用户会不定期地访问论坛,论坛上会有很多帖子,这些帖子根据内容的不同,被放在论坛上不同的版块,版块包括圈子讨论区,公告栏等。其中公告栏是单独管理公告信息的。
由上面的描述,可以抽象出四个实体,分别是访问论坛的用户实体,保存论坛文章的论坛帖子实体,保存论坛各个版块信息的栏目实体和作为单独管理的公告实体。根据以上分析,我们可以列出下述系统所需的数据项。
用户:用户编号、名称。
论坛帖子:编号、标题、作者、内容、阅读次数、发布时间、回复者名称、回复内容、回复时间、帖子类型。
栏目:编号、名称、说明、修改时间。
公告:编号、公告标题、发布人、公告内容、发布时间。
论坛页面的E-R模型如图3-10所示。
图3-10 论坛板块E-R图
第四章 系统概要设计
概要设计作为系统设计的重要阶段,其任务是解决系统应该“怎么做”的问题,主要包括:系统体系结构设计和数据库设计两部分。
- 系统的体系结构设计。通过对需求分析阶段结果的分析,我们可以获取校园资源分享及交流一体化平台的体系结构如图4-1所示。
图4-1 系统功能结构图
- 数据库设计。根据需求分析阶段的数据需求分析和E-R模型,本系统的数据库共涉及8个数据表格。具体数据表设计如表4-2至4-8所示。
表4-2 学生表
字段名 |
数据类型 |
是否为空 |
说明 |
学号 |
Varchar(15) |
NOT NULL |
学号(主键) |
用户名 |
Varchar(20) |
NOT NULL |
|
密码 |
Varchar(20) |
NOT NULL |
|
联系方式 |
Varchar(20) |
NULL |
可为空,邮箱、QQ、电话 |
专业班级 |
Varchar(10) |
NULL |
可为空 |
表4-3 教师表
字段名 |
数据类型 |
是否为空 |
说明 |
工号 |
Varchar(15) |
NOT NULL |
主键 |
用户名 |
Varchar(20) |
NOT NULL |
|
密码 |
Varchar(20) |
NOT NULL |
|
联系方式 |
Varchar(20) |
NULL |
可为空,邮箱、QQ、电话 |
院系 |
Varchar(10) |
NULL |
可为空 |
表4-4 资源表
字段名 |
数据类型 |
是否为空 |
说明 |
编号 |
Varchar(15) |
NOT NULL |
主键 |
名称 |
Varchar(20) |
NOT NULL |
|
路径 |
Varchar(20) |
NOT NULL |
|
大小 |
Varchar(20) |
NOT NULL |
|
来源 |
Varchar(10) |
NULL |
可为空 |
描述 |
Varchar(100) |
NOT NULL |
|
类别 |
Varchar(20) |
NOT NULL |
|
下载人数 |
Varchar(10) |
NOT NULL |
|
上传日期 |
Varchar(20) |
NOT NULL |
表4-5 留言信息表
字段名 |
数据类型 |
是否为空 |
说明 |
留言信息编号 |
Varchar(15) |
NOT NULL |
主键 |
接收人名称 |
Varchar(20) |
NULL |
可为空,即匿名显示 |
留言者名称 |
Varchar(20) |
NULL |
可为空 |
留言内容 |
Varchar(100) |
NULL |
可为空 |
留言回复 |
Varchar(100) |
NULL |
可为空 |
留言时间 |
Varchar(20) |
NOT NULL |
表4-6 论坛帖子表
字段名 |
数据类型 |
是否为空 |
说明 |
编号 |
Varchar(15) |
NOT NULL |
主键 |
标题 |
Varchar(20) |
NULL |
|
作者 |
Varchar(20) |
NULL |
可为空,即匿名显示 |
内容 |
Varchar(100) |
NOT NULL |
|
发布时间 |
Varchar(20) |
NOT NULL |
|
阅读次数 |
Varchar(20) |
NOT NULL |
|
回复者名称 |
Varchar(20) |
NULL |
可为空,即匿名显示 |
回复内容 |
Varchar(20) |
NOT NULL |
|
回复时间 |
Varchar(20) |
NOT NULL |
|
帖子类型 |
Varchar(20) |
NOT NULL |
表4-7 栏目表
字段名 |
数据类型 |
是否为空 |
说明 |
编号 |
Varchar(15) |
NOT NULL |
主键 |
名称 |
Varchar(20) |
NULL |
可为空 |
说明 |
Varchar(20) |
NULL |
可为空 |
时间 |
Varchar(100) |
NULL |
可为空 |
表4-8 公告表
字段名 |
数据类型 |
是否为空 |
说明 |
公告编号 |
Varchar(15) |
NOT NULL |
主键 |
公告标题 |
Varchar(20) |
NOT NULL |
|
发布人 |
Varchar(20) |
NULL |
可为空,即匿名显示 |
公告内容 |
Varchar(100) |
NOT NULL |
|
发布时间 |
Varchar(20) |
NOT NULL |
第五章 系统详细设计及实现
详细设计及其实现阶段的主要任务是设计每个功能模块内部用到的算法流程及其具体实现细节。由于系统规模较大,本节挑选其中若干个主要模块介绍它们的详细设计与实现过程。
(1)
功能名称 |
说明 |
||
用户注册 |
用户在论坛填写必要信息后就可以注册为注册用户,并能在登陆后对注册信息进行更改 |
||
用户登录 |
注册后的用户可利用用户名和密码在论坛登陆 |
||
上传资源 |
用户登录后进入资源版块,可以上传资源 |
||
下载资源 |
用户登录后进入资源版块,下载资源 |
||
浏览其他用户信息 |
用户注册后可以查看其他用户的公开信息 |
||
与其他用户联系 |
用户登录进入论坛版块,可以在论坛内给其他用户留言,或对其发布的帖子进行回复等 |
||
浏览版面 |
用户可以看到以列表形式展现的版面信息和版面说明 |
||
浏览发布公告 |
未登陆的用户可以浏览公告区,登陆后可以发布允许范围内的公告 |
||
浏览贴子 |
用户可以以列表形式浏览帖子主题及其全部内容 |
||
发布修改删除贴子 |
用户在登陆后可以发布帖子、修改自己的帖子,被给予版主权限后还可以编辑、修改、删除权限范围内的其他用户帖子 |
3.3.1功能设计
表3-3用户功能列表
功能名称 |
说明 |
用户注册 |
用户在论坛填写必要信息后就可以注册为注册用户,并能在登陆后对注册信息进行更改 |
用户登录 |
注册后的用户可利用用户名和密码在论坛登陆 |
上传资源 |
用户登录后进入资源版块,可以上传资源 |
下载资源 |
用户登录后进入资源版块,下载资源 |
浏览其他用户信息 |
用户注册后可以查看其他用户的公开信息 |
与其他用户联系 |
用户登录进入论坛版块,可以在论坛内给其他用户留言,或对其发布的帖子进行回复等 |
浏览版面 |
用户可以看到以列表形式展现的版面信息和版面说明 |
浏览发布公告 |
未登陆的用户可以浏览公告区,登陆后可以发布允许范围内的公告 |
浏览贴子 |
用户可以以列表形式浏览帖子主题及其全部内容 |
发布修改删除贴子 |
用户在登陆后可以发布帖子、修改自己的帖子,被给予版主权限后还可以编辑、修改、删除权限范围内的其他用户帖子 |
用户注册后进行登录时,可以从上面的工具栏中选择要进入那个版块,当选择资源版块时,用户就可以浏览当前系统中上传的资源,并且可以进行上传资源或者下载资源的操作;当用户选择论坛时,则进入论坛版块,进入论坛版块就可以进行上述描述的各项功能操作。像资源、版面、帖子都属于被动的对象,都是被用户和管理员操作的对象。
在这其中可以通过如下描述系统管理员在用户维护等功能上的说明,这里的系统管理员是事先约定并设定好的一组具备一系列权限的身份角色,通过这样的规约来进行系统权限的划分,这个划分的目的主要是对维护论坛的正常运转所进行的必要设定。管理员信息对象可以和其有关的所有涉及对象进行关联,如图3-4所示。
表3-4管理员功能列表
功能名称 |
说明 |
登录 |
管理员输入用户名和密码登录,然后进行其他操作 |
用户删除 |
对于一些蓄意破坏的用户,删除其身份,不允许其存在 |
删除资源 |
删除上传时间过长或者有病毒的资源 |
修改资源 |
修改资源的链接描述或者链接分类等 |
用户权限 |
对于一个具有管理能力的用户给予一些特殊权限,使他们在权限范围内帮助管理和维护论坛 |
版面管理 |
让论坛的功能更明细、分类更规范,方便用户浏览 |
公共信息管理 |
公共信息是向用户展示论坛状态的部分,由于信息的普遍性,其删除和修改权限需要管理人员来完成 |
帖子管理 |
帖子是论坛很重要的组成部分,由用户发布,但需要管理人员对其内容进行审查 |
3.3.2 扩展功能设计
通过上面的需求分析和功能设计,并结合了流程图,学校信息交流平台具备了资源模块和论坛模块,其中包括用户登录模块,对交流平台进行维护的管理员管理模块。资源模块只初步具备了资源上传和下载的功能;论坛具备了浏览、发布帖子、发布公告、回帖、查看其他用户显示的信息等基本操作。虽然具备了信息交流平台的基本功能,但是这样的学校信息交流平台是没有任何使用体验优势的,系统用户在操作系统的过程中会体会到很单调、甚至是有不舒服的感觉,这种状态更会影响到作为个人用户使用过程中或者还是高校用户使用过程中与其他先进的社区论坛竞争都是没有任何有效的竞争力。因此,为了满足相关用户的体
验需求,本文所涉及的系统还需要通过一些更加体现用户体验的设计来完善这个学校论坛BBS社区网络系统,使其内容更丰富用起来也更加的方便自如。
扩展功能包含:系统控制的信息显示、对热门信息的显示与下载、对其他友情网站的链接、登陆时需输入验证码(登陆信息错误则重新生成验证码,可以防止一些软件偷取用户名和密码)、对新上线用户下线时的留言信息进行提示、对帖子进行相关评价、对附件的增删查改等。见表3-5所示。
表3-5所示 功能扩展表
功能名称 |
说明 |
控制显示信息 |
用户可以选择信息是否公开 |
显示热门下载 |
统计各个资源的下载人数,对于下载人数超过一定量的资源,显示在热门下载栏中 |
其他网站链接 |
在资源下载左侧添加其他好的网站链接,方便用户转到别的网站去浏览信息 |
验证码 |
登录时需输入验证码,如登录信息错误则重新生成验证码,以防止一些软件偷取用户名和密码 |
提示留言 |
若有本用户留言,上线后有提示信息 |
帖子评价 |
对帖子的评价好坏等 |
添加附件 |
帖子发布的时候可以添加附件,附件可以是图片、文件等形式 |
下载附件 |
浏览帖子的用户可下载附件 |
帖子发布添加多媒体 |
在帖子内使用表情图片、插入flash、音乐等功能 |
多种类别的帖子 |
对帖子进行分类,如投票帖子、查询帖子等 |
收藏帖子 |
用户认为好的帖子可以放到个人收藏夹中,以免下次再去查找 |
用户等级 |
建立一个荣誉体系,对于对论坛贡献大的用户给予一定的荣誉称号或论坛等级 |
加精华 |
统计每个帖子的阅读次数,超过一定数的帖子加到精华展区 |
显示版主 |
显示论坛每个区的版主的用户民 |
论坛情况显示 |
让用户直接看到一些论坛统计数据,如主题总数、在线人员等 |
非法IP限制 |
对于一个蓄意捣蛋的用户,限制他的IP不能访问论坛,但这个有很大的局限性,一般用处不是很大 |
3.3.3 系统用例图
上面的功能设计列表可以细化成用例图如下所示。
用户注册后登录,浏览资源板块,用户可以上传和下载资源,管理员可以对资源板块进行管理,如修改资源描述、修改资源分类、删除资源等。其用例图如图3-6所示。
更多推荐
所有评论(0)