软件工程大型实验课程设计说明书-大学自动排课算法设计与实现系统——登陆及用户管理子系统

上传人:aa****6 文档编号:30012654 上传时间:2018-01-26 格式:DOC 页数:36 大小:841.50KB
返回 下载 相关 举报
软件工程大型实验课程设计说明书-大学自动排课算法设计与实现系统——登陆及用户管理子系统_第1页
第1页 / 共36页
软件工程大型实验课程设计说明书-大学自动排课算法设计与实现系统——登陆及用户管理子系统_第2页
第2页 / 共36页
软件工程大型实验课程设计说明书-大学自动排课算法设计与实现系统——登陆及用户管理子系统_第3页
第3页 / 共36页
软件工程大型实验课程设计说明书-大学自动排课算法设计与实现系统——登陆及用户管理子系统_第4页
第4页 / 共36页
软件工程大型实验课程设计说明书-大学自动排课算法设计与实现系统——登陆及用户管理子系统_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《软件工程大型实验课程设计说明书-大学自动排课算法设计与实现系统——登陆及用户管理子系统》由会员分享,可在线阅读,更多相关《软件工程大型实验课程设计说明书-大学自动排课算法设计与实现系统——登陆及用户管理子系统(36页珍藏版)》请在金锄头文库上搜索。

1、中北大学课 程 设 计 说 明 书软件工程大型实验学生姓名 : 史东海学 号:学 院 : 电子与计算机科学技术学院专 业 : 软件工程题 目 : 大学自动排课算法设计与实现系统登陆及用户管理子系统成 绩指导教师: 职称: 讲师 2010 年 1 月 21 日11.设计目的该系统并不是所有人都能随便使用的。系统应该有不同的权限用于排课和课表的查询,通过登陆可以解决权限问题。而用户是会经常变动的(比如毕业生的离校) ,所以需要对用户进行相应的管理(如添加、删除及密码的修改) ,所以需要实现用户管理功能。2.设计内容在整个系统中本人主要负责登陆和用户管理功能的实现,同时也参加算法的设计与实现。本系统

2、要涉及到管理人员、教师、学生三个不同的参与者,有两个不同的权限。管理员可以录入教师、教室、班级等基本的信息然后进行排课,而教师和学生只具有查询课表的权限。所以在登录的时候要把不同的权限划分出来。程序在设计好后数据库中有一个默认的管理员的用户名和密码,通过该用户名和密码可以登陆系统,然后通过用户管理模块可以添加教师、学生或管理员。为了防止用户忘记密码,管理员可以在不知道原始密码的情况下修改用户的密码。而教师或学生若想修改自己的密码必须输入旧密码。3.需求描述图 1 登陆及用户管理子系统用例图2用例描述如下:表 1 UserManagement 用例描述表用例编号 UC00用例名称 UserMan

3、agement用例概述 实现用户的添加、删除及密码修改主参与者 管理员次要参与者 教师、学生前置条件 用户成功登陆后置条件 显示出添加、修改用户及密码修改的子菜单基本事件流 1.用户点击用户管理菜单项2.用户管理菜单项显示添加用户、删除用户、修改密码三个子菜单扩展事件流 无表 2 Login 用例描述表用例编号 UC01用例名称 Login用例概述 用户输入账号和密码登陆主参与者 管理员、教师、学生次要参与者 无前置条件 用户打开应用程序后置条件 登陆失败时显示登陆失败信息,成功时进入系统基本事件流 1.用户输入用户信息2.用户合法则进入系统扩展事件流 用户不合法时,则提示登陆失败消息3表 3

4、 AddUser 用例描述表用例编号 UC000用例名称 AddUser用例概述 实现用户的添加主参与者 管理员次要参与者 无前置条件 管理员成功登陆,并点击了添加用户菜单项后置条件 弹出添加用户对话框,输入用户名及密码基本事件流 1.管理员点击添加用户菜单项2.管理员输入用户名、密码并选择所添加用户的身份,点击确定扩展事件流 1.若用户存在则提示“用户名已存在”2.若没有选择用户身份则提示“请选择用户身份”3.若用户不存在且两次输入密码不同则提示“两次输入密码不同”4.若用户名不存在且两次输入密码相同并选择了身份,则给出“添加成功”提示表 4 DeleteUser 用例描述表用例编号 UC0

5、01用例名称 DeleteUser用例概述 实现用户的删除主参与者 管理员次要参与者 无前置条件 管理员成功登陆,并点击了删除用户菜单项后置条件 弹出删除用户对话框,输入用户名及密码基本事件流 1.管理员点击删除用户菜单项2.管理员输入用户名及密码,点击确定扩展事件流 1.若用户名或密码错误则给出相应的提示2.若用户名和密码正确则提示删除成功4表 5 ModifyPassword 用例描述表用例编号 UC002用例名称 ModifyPassword用例概述 实现用户密码的修改主参与者 管理员、教室、学生次要参与者 无前置条件 用户成功登陆,并点击密码修改菜单项后置条件 弹出密码修改对话框,输入

6、用户名及密码基本事件流 1.用户点击密码修改菜单项2.用户输入用户名及密码,点击确定扩展事件流 1.若用户名或旧密码错误则给出相应的提示2.若用户名和密码正确则提示修改成功4.系统详细分析设计 4.1 顺序图(1)登陆顺序图:图 2 登陆顺序图登陆首先输入用户名和密码,然后程序到数据库中查询用户名是否存在,密码是否正确,如果正确则登陆成功;不正确登陆失败,可以继续登陆或关闭登陆窗口。5(2)添加用户顺序图:图 3 添加用户顺序图管理员输用户名、密码和确认密码。如果数据库对应表中有所输入的用户名则给出提示;没有则比较两次输入密码是否相同,相同条件成功;不同则给出相应提示。删除用户顺序图:图 4

7、删除用户顺序图管理员输入用户名和密码。如果数据库中不存在所输入的用户名则给出相应提示;存在则检查密码是否匹配,匹配则删除成功;不匹配则删除失败。6修改密码顺序图:图 5 修改密码顺序图用户输入用户名、旧密码(非管理员输入) 、新密码。程序检查数据库中所输入用户名是否存在,不存在则给出提示;存在则检查旧密码(非管理员)是否匹配,不匹配则给出提示;匹配则检查新密码是否为空,为空则给出提示;不为空则修改表中数据,密码修改成功。4.2 活动图登陆活动图:图 6 登陆活动图7登陆首先输入用户名和密码,然后程序到数据库中查询用户名是否存在,密码是否正确,如果正确则登陆成功;不正确登陆失败,可以继续登陆或关

8、闭登陆窗口。添加用户活动图:图 7 添加用户活动图管理员输用户名、密码和确认密码。如果数据库对应表中有所输入的用户名则给出提示;没有则比较两次输入密码是否相同,相同条件成功;不同则给出相应提示。删除用户活动图:图 8 删除用户活动图8管理员输入用户名和密码。如果数据库中不存在所输入的用户名则给出相应提示;存在则检查密码是否匹配,匹配则删除成功;不匹配则删除失败。修改密码活动图:图 9 修改密码活动图用户输入用户名、旧密码(非管理员输入) 、新密码。程序检查数据库中所输入用户名是否存在,不存在则给出提示;存在则检查旧密码(非管理员)是否匹配,不匹配则给出提示;匹配则检查新密码是否为空,为空则给出

9、提示;不为空则修改表中数据,密码修改成功。94.3 类图图 10 登陆及用户管理模块类图本系统有五个类,分别是 Login、UserManagement、AddUser、DeleteUser和 ModifyPassword,其中 AddUser、DeleteUser、ModifyPassword 是UserManagement 的泛化。4.4 部署图图 11 登陆及用户管理模块部署图10系统通过应用服务器与数据库连接,可分为四个模块,都可以单独编译执行。四个模块的所有动作都需要连接到数据库并查询。4.5 构件图图 12 登陆及用户管理模块构件图本人将此系统分成了四个模块,分别是登录、添加用户、

10、删除用户和修改密码。在这四个子系统中,程序都是独立编写,每个程序之间通过对类的调用实现的联系。4.6 数据库表表 6 教师信息表字段名称 中文含义 字段类型 长度 是否为空 备注Username 教师用户名 Char 20 否 主键Password 教师密码 Char 20 否表 7 学生信息表字段名称 中文含义 字段类型 长度 是否为空 备注Username 学生用户名 Char 20 否 主键Password 教师密码 Char 20 否11表 8 管理员信息表字段名称 中文含义 字段类型 长度 是否为空 备注Username 管理员用户名 Char 20 否 主键Password 管理员

11、密码 Char 20 否5.系统实现5.1 开发工具及系统运行环境开发工具:Java 运行平台(JDK 1.6.0_17) 、MyEclipse、Microsoft Office Access 2003。运行环境:装有 Java 运行平台的任何 PC 机。5.2 登陆及用户管理子系统实现登陆模块伪代码如下:Username=textfield.getText();Password=textfield2.getText();if(signA=true)try rs=sql.executeQuery(SELECT * FROM guanliyuan);while(rs.next() getUser

12、name=rs.getString(1);getPassword=rs.getString(2);if(getUsername.equals(Username)&getPassword.equals(Password)this.dispose();ClassroomSchedulerFrame win=new ClassroomSchedulerFrame(大学自动排课系统);sign1=true;break;if(sign1=false)JOptionPane.showMessageDialog(this,用户名或密码错误,请重新12输入,信息提示,JOptionPane.WARNING_M

13、ESSAGE);textfield2.setText(null);catch(SQLException ee)System.out.println(+ee);else if(signT=true)try rs=sql.executeQuery(SELECT * FROM teacher);while(rs.next() getUsername=rs.getString(1);getPassword=rs.getString(2);if(getUsername.equals(Username)&getPassword.equals(Password)this.dispose();Classroo

14、mSchedulerFrame win=new ClassroomSchedulerFrame(大学自动排课系统);sign2=true;break;if(sign2=false)JOptionPane.showMessageDialog(this,用户名或密码错误,请重新输入,信息提示,JOptionPane.WARNING_MESSAGE);textfield2.setText(null);catch(SQLException ee)System.out.println(+ee);else if(signS=true)try rs=sql.executeQuery(SELECT * FRO

15、M student);13while(rs.next() getUsername=rs.getString(1);getPassword=rs.getString(2);if(getUsername.equals(Username)&getPassword.equals(Password)this.dispose();ClassroomSchedulerFrame win=new ClassroomSchedulerFrame(大学自动排课系统);sign3=true;break;if(sign3=false)JOptionPane.showMessageDialog(this,用户名或密码错

16、误,请重新输入,信息提示,JOptionPane.WARNING_MESSAGE);textfield2.setText(null); catch(SQLException ee) System.out.println(+ee);登陆模块窗口图如下:图 13 登陆窗口图登陆界面是运行排课程序或查课的入口,只有成功登陆才能做相应的一些操作。当选择管理员、教师、学生不同身份登陆者的时候程序会到相应的表中14查找用户名和密码,如果存在对应用户并且密码正确则登陆成功,进入系统;如果用户名或密码不正确则登陆失败并给出相应的错误提示。添加用户的伪代码如下:Username=textfield.getText();Newpasswor

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号