2022年班管理系统数据库方案和数据流图 .pdf
个人资料整理仅限学习使用班级管理系统的需求分析1.1功能描述本高校班级管理系统的主要目的是为了方便毕业之后大家保持联系,不会因为彼此分开而使得同学间的感情疏远。因此要为班级成员提供一个温馨,友好的操作界面,让大家进入系统感觉如同走进家庭般温暖,同时为具有较高权限的系统管理员提供相应的系统功能。高校班级管理系统主要需要实现以下基本功能:1. 登入功能:系统首页提供登入对话框,输入用户名和密码,系统验证正确后进入系统,否则提示错误信息。2注册功能:该功能为浏览者提供注册功能,在注册界面填写相应信息,系统验证正确后,成为系统用户。3留言功能:所有用户都具有此功能,它用于用户发表留言。4查看留言功能:所有用户都具有此功能,用于查看系统中所有成员留言。5删除留言功能:该功能只有系统管理员才能使用,用于删除系统中不需要的留言。6. 个人信息修改功能:所有用户都具有此功能,用于修改用户注册信息。7查看班级信息功能:所有用户都具有此功能,用于查看当前系统信息,如班级创建者,班级说明,班级成员总数,留言总数,相片总数等。8修改班级信息功能:该功能只有系统管理员才能使用,用于修改班级信息。9上传相片功能:该功能只有系统管理员才能使用,用于将班级照片发布在系统中10删除相片功能:该功能只有系统管理员才能使用,用于删除不需要的照片。11浏览相片功能:所有用户都具有此功能,用于浏览系统发布的照片。12发送短信功能:所有用户都具有此功能,用于在系统中发送短信,你可以指定发送对象。13查看短信功能:所有用户都具有此功能,用于查看是否有自己的短信。14删除短信功能:该功能只有系统管理员才能使用,用于删除不需要的短信。15发布班级新闻功能:该功能只有系统管理员才能使用,用语发布班级重精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 12 页个人资料整理仅限学习使用要通知等。16修改班级新闻功能:该功能只有系统管理员才能使用,用于修改新闻内容。17删除班级新闻功能:该功能只有系统管理员才能使用,用于删除系统中的旧新闻。18添加教师功能:该功能只有系统管理员才能使用,用于添加教师信息。19查看教师信息功能:所有用户都具有此功能,用于查看教师信息,方便用户与教师取得联系。20查看用户信息功能:该功能只有系统管理员才能使用,用于查看注册的所有用户信息。21用户权限设置功能:该功能只有系统管理员才能使用,用于设置用户权限,是否将用户提升为管理员,或者将管理员降为一般用户。1.2 系统结构图 ( 流程图 依据需求分析描述,班级管理系统大体上可以分为7 个模块:用户登入模块、用户管理模块、留言管理模块、信息管理模块、新闻管理模块、短消息管理模块和相册管理模块。如图2 所示。图 2 系统结构图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 12 页个人资料整理仅限学习使用2 系统设计2.1 各模块设计2.1.1 登录模块设计用户身份验证。用户进入系统,首先需要进行身份验证。如果通过了身份验证,则为合法用户,同时其帐号和权限等资料将会保存在Session 对象,Session 对象储存的信息是局部的,随用户不同而不同的。当用户访问系统的各个子系统时,系统自动从Session 对象中获取用户的资料,而无须将用户的资料作为请求方法、参数名、参数值追加到URL中。这样可以避免用户恶意修改URL中 的 值 非 法 访 问 。 Session对 象 中 的 变 量 设 置 :SessionUser_ID用 户名,Sessionsign用户权限。模块设计流程如图所示。用户登录过程是必须的,因为只有这样才能从数据库中得到用户名和权限。. 图 3 登入验证流程图2.1.2 班级信息管理模块设计班级信息管理功能的设计。只有管理员才可以对班级信息进行管理,用户只能查看班级信息而不能修改,班级宣言限制为200字以内并不能为空,系统将判断新班级宣言是否为空或超过200字,如果数据为空或超过200字则提示错误,返回班级信息管理页面,班级名称、创建人、入学年份同上。否则,班级信息修改成功,班级信息还包括了对新闻、留言、相片和成员总数和最新更新的动态统计。此模块的设计流程如图所示。开始登陆管理页面查看班级信息验证班级信息转到班级管理修改班级信息信息不正确更新数据库信息正确数据库更新完成数据库更新失败开始用户登录输入用户名和密码用户注册验证未注册已注册用户名长度验证用户信息验证查询数据库用户名长度不合法用户信息不合法验证通过用户名或密码错误添加用户验证通过返回登陆登陆成功把用户信息存入 Session精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 12 页个人资料整理仅限学习使用图 4 班级信息修改流程图2.1.3 用户管理模块用户管理功能设计。该功能只有系统管理员才能使用此功能, 包括四部分:一是用户查询功能,二是用户权限管理,三是用户删除。用户查询功能:该功能方便使用者查找亲友同学,还可以统计出目前班级拥有多少成员。此项功能是根据使用者输入的关键字遍历数据库,查找有无匹配的记录。如果记录存在将记录输出到用户浏览端,否则显示“暂无类似用户信息”。用户权限管理功能:该功能方便管理员认命其他用户为管理员,这样不仅能减少自己的工作量,也能更好的维护网站,如果发现某管理员利用权限进行非法活动时超级管理员可以取消掉该管理员的管理权限。用户删除功能,该功能使管理员能处理那些利用本网站进行非法活动的用户,删除其用户信息。此模块设计流程如图所示。开始登陆管理页面查看用户转到用户管理页面验证操作权限锁定、解锁;提升、取消管理权限删除用户数据库更新验证通过返回结果验证未通过图 5 用户管理流程图2.1.4 新闻管理模块新闻管理功能。该功能只用系统管理员才能使用, 包括三部分,一是发布新闻,二是修改新闻,三是删除新闻。发布新闻功能 : 该功能的实现是从新闻添加页面获取到新闻表单信息,然后调用相应方法进行处理,最后更新至数据库。修改新闻功能 : 该功能的实现是先获取该新闻编号,然后使用SQL语言遍历数据库中有无该新闻记录,如果记录存在,将记录信息放入新闻对象实体内,管理员在JSP 页面获取新闻信息,再进行修改,其后操作类似添加新闻。新闻删除功能 : 该功能的实现需要使用SQL语言遍历数据库中有无新闻记录,如果记录存在,则把记录信息放入新闻对象实体,管理员可在页面查看记录并批量删除。模块设计流程如图所示。开始登陆管理页面查看新闻转到新闻管理页面验证操作权限添加、修改和删除数据库更新验证通过返回结果精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 12 页个人资料整理仅限学习使用图 6 新闻管理流程图2.1.5 相册管理模块班级相册管理功能设计。作为班级网站应该有上传相片的能力,班级相册管理功能的设计正是为班级管理员设置的管理功能之一。其中包括二部分,一是上传相片,二是删除相片。1 上传相片功能:该功能方便管理员批量上传班级活动的相关照片,管理员先选择好要上传的照片,点击上传后,通过JSP页面处理生成缩放的新图,然后把原图和新图放入服务器端的上传文件夹中,然后把照片信息存入数据库,上传完成。2 删除相片功能:该功能的实现需要使用SQL语言遍历数据库中有无相片记录,如果记录存在,则把记录信息放入相片对象实体,管理员在页面查看记录并删除。模块设计流程如图所示。图 7 相册管理流程图2.1.6 留言管理模块班级留言管理功能设计。作为班级网站应该具备的能力,班级留言管理功能的设计正是为班级管理员设置的管理功能之一。其中包括二部分,一是发表、查看留言,二是删除留言。发表、查看留言功能:该功能是作为网站成员之间交流信息的重要载体,用户可以在留言页面发表留言,用户如果没有登陆网站,则默认为“游客”身份,只能使用该名发表留言,不能使用其它用户名进行留言,登陆网站后则用户可直接发表留言,但只能使用自己的用户名进行发表。删除留言功能:该功能的实现需要使用SQL语言遍历数据库中有无留言记录,如果记录存在,则把记录信息放入相片对象实体,管理员可在管理页面查看记录并批量删除。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 12 页个人资料整理仅限学习使用模块设计流程如图所示。图 8 留言管理流程图2.1.7 短消息管理模块短消息管理功能设计。包括三部分,一是发送短消息,二是查看短消息,三是删除短消息。发送短消息功能:该功能是作为网站成员之间交流信息的另一重要载体,用户可以在短消息页面发送短消息,用户如果没有登陆网站,则不能访问短消息页面,因而无法发送短消息,登陆网站后用户可向其他用户发送短消息,收件人必须是数据库内现有的用户名。查看短消息功能:该功能的实现需要先查看短消息列表,点击其中一个短消息标题即可查看详细内容。删除短消息功能:该功能的实现需要使用SQL语言遍历数据库中有无该用户短消息记录,如果记录存在,则把记录信息放入短消息对象实体,用户可在短消息管理页面查看记录并批量删除。模块设计流程如图所示。开始登陆主页查看短消息转到短消息页面验证操作权限发送、查看和删除数据库更新验证通过返回结果验证未通过图 9 短消息管理流程图2.3 数据库设计4.2.1 系统数据流分析根据上面的模块功能分析与设计可知,有关数据操作的对象有2 个,实体有精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 12 页个人资料整理仅限学习使用7 个。两个对象分别为用户和管理员,7 个实体分别为用户信息表、短消息信息表、班级信息表、班级新闻信息表、班级留言信息表、班级相册信息表和教师信息表。系统总体数据流如图所示。图 10 系统数据流图2.2.2 实体 E-R图系统数据库设计是系统功能实现的基础。制作数据库表首先要确定实体的属性和实体间的关系。数据库要存储的班级信息、短消息信息、新闻信息、相片信息、留言信息、教师信息和用户信息,这些信息是班级、短消息、新闻、相片、留言、教师和用户的属性。图 11 用户 E-R 图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 12 页个人资料整理仅限学习使用图 12 班级信息E-R 图图 13 短消息 E-R 图图 14 教师 E-R 图图 15 留言 E-R 图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 12 页个人资料整理仅限学习使用图 16 相册 E-R 图图 17 新闻 E-R 图2.2.3 实体关系 E-R 图一个用户可以发表若干的留言,一个留言只能属于一个用户;一个用户可以有若干的短消息,一个短消息只能属于一个用户;一个管理员可以管理若干的用户,一个用户可以被若干的管理员所管理;一个管理员可以管理若干的新闻,一个新闻可以被若干的管理员所管理;一个管理员可以管理若干的相片,一个相片可以被若干的管理员所管理;一个管理员可以管理若干的教师信息,一个教师信息可以被若干的管理员所管理。实体间关系如图所示。图 18 实体关系 E-R 图用户管理员短消息留言新闻班级信息教师通讯录发表1 N 发送N 1 管理N M 管理1 N 管理M N 管理M N 管理M N 管理M N 管理相片N M 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 12 页个人资料整理仅限学习使用2.2.4 数据库主要表结构说明用户信息表 帐号, 密码, 真实姓名 , 性别 , 生日, 权限, 是否锁定 ,Email, 个人主页, 注册时间 , 联系电话 , 手机号码 , 通讯地址 ,QQ,自我介绍 , 所属班级 班级信息表 班级编号 , 班级名称 , 创建日期 , 班级人数 教师信息表 教师编号 , 教师姓名 , 所属学院 ,Email, 办公地点 , 手机号码 , 联系电话, 通讯地址 短消息信息表 消息编号 , 发送者账号 , 接收者账号 , 标题 , 内容 , 发送时间 , 是否阅读 班级新闻信息表 新闻编号 , 标题, 内容, 发布时间 班级相册信息表 图片编号 , 所属班级 , 图片名称 , 存储路径 , 图片介绍 班级留言信息表 留言编号 , 留言者账号 , 所属班级 , 留言内容 , 留言时间 、用户信息表 (members 记录所有的用户信息。在此表中,每一条记录都是一个用户,其中User_ID是用户名,并且含有相对应的信息,在表中作为唯一标识。表 1 用户信息表members 序号字段名称字段含义类型宽度是否为空备注1 User_ID 用户名varchar 16 NO Primarykey 2 Password 密码Varchar 16 NO 3 Sex 性别Varchar 2 NO 4 Realname 真实姓名Varchar 16 YES 5 Birthday 出生日Int YES 从 01 至 31 6 Birthmonth 出生月Int YES 从 01 至 12 7 Email 电子邮箱地址Varchar 40 NO 8 AddTime 注册时间Varchar 50 NO 9 Mobile 手机号码Varchar 15 YES 10 Phone 家庭电话Varchar 15 YES 11 Address 家庭住址Varchar 40 YES 12 Introduction 自我介绍Varchar 500 YES 13 Locked 锁定用户Enum NO 14 QQ QQ Int 10 YES 2、留言信息表 (word 留言信息表记录了用户在班级中的留言信息,“Word_ID ”为主键。表 2 班级留言信息表word序号字段名称字段含义类型宽度是否为空备注1 Word_ID 留言编号Int 10 NO Primary key 2 User_ID 留言者编号Varchar 16 NO Foreign key 3 Time 留言时间Timestamp NO 4 Content 留言内容Varchar 500 NO 3、教师信息表 (communicate 包含了教师通讯信息,其中Teacher_ID“教师编号”是系统分配的唯一标识,在整个教师通讯录表存储的数据里是互不相同的。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 12 页个人资料整理仅限学习使用表 3 教师通讯录表communicate序号字段名称字段含义类型宽度是否为空备注1 Teacher_ID 教师编号Int 4 NO Primary key 2 Realname 教师姓名Varchar 16 NO 3 Academic 所在学院Varchar 16 NO 4 Email 电子邮箱Varchar 40 YES 5 Office 办公地址Varchar 40 YES 6 Mobile 手机号码Varchar 15 YES 7 Phone 联系电话Varchar 15 YES 8 Address 家庭住址Varchar 40 YES 4、短消息信息表 记录系统的新闻信息。 Note_ID“新闻编号”是系统为其分配的唯一标识。表 5 班级新闻表notes序号字段名称字段含义类型宽度是否为空备注1 Note_ID 新闻编号Int 4 NO Primary key 2 Body 新闻内容Varchar 1000 NO 3 Addtime 发布时间Varchar 50 NO 4 Title 新闻标题Varchar 50 NO 6 、相册信息表 (up_imges 记录相册信息。 ID相片编号是系统为其分配的唯一标识。表 6 相册信息表up_imges序号字段名称字段含义类型宽度是否为空备注1 ID 相片编号int 4 NO Primary key 2 times 上传时间Varchar 50 3 Path 相片位置Varchar 60 NO 4 ip 上传者 IP Varchar 100 7 、班级信息表 (classes 记录班级信息。 Class_ID “班级编号”是系统为其分配的唯一标识。它在整个班级信息表存储的数据里是互不相同的,而且在系统的许多其它表里也要用到它。表 7 班级信息表classes 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 12 页个人资料整理仅限学习使用序号字段名称字段含义类型宽度是否为空备注1 Class_ID 班级编号Int 4 NO Primary key 2 Classname 班级名称Varchar 16 NO 3 Classmaker 创建者Varchar 16 NO Foreign key 4 Registtime 创建时间Timestamp NO 5 Number 成员人数Int 4 6 Classtop 班级宣言Varchar 200 YES 杨庆波2008-12-18 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 12 页