Java实现的图书管理系统设计文档
一、系统简介
1本系统存有书籍信息与管理员、用户账号。管理员与用户(教师、学生)可以使用本系统。
2用户可以输入工号、学号进行注册,管理员账号无法在本级系统注册,用户账号与管理员账号的默认密码都是编号,即工号、学号。
3用户可以对书籍进行展示、检索、借阅、归还,管理员可以对书籍进行展示、检索、增加、删除、更改。管理员可以更改用户账号密码和信息。
二、功能思维
三、代码模块
四、功能的操作原理
1.登录
1.1管理员登录 ----管理员登录需要提供工号和密码,然后读出管理员类型数组中的所有管理员对象,先匹配管理员的工号,再对工号匹配的对象验证密码
1.2教师登录 ----教师用户登录需要提供工号和密码,然后读出教师类型数组中的所有教师对象,先匹配教师用户的工号,再对工号匹配的对象验证密码
1.3学生登录 ----学生用户登录需要提供学号和密码,然后读出学生类型数组中的所有学生对象,先匹配学生用户的学号,再对学号匹配的对象验证密码
2.注册
2.1.管理员 ----管理员账号无法在本系统注册,需要在上级管理系统进行设置
2.2.教师用户 ----教师用户类型数组中,各教师用户账号已经设置好工号为编号,其他属性为空。教师用户注册时输入工号,系统找出对应的编号所在的账号,输入并设置其他属性,默认密码为账号的编号,即工号
2.3学生用户 ----学生用户类型数组中,各学生用户账号已经设置好学号为编号,其他属性为空。学生用户注册时输入学号,系统找出对应的学号所在的账号,输入并设置其他属性,默认密码为账号的编号,即学号
3.书籍类
Book类
属性:编号、书名、作者、是否在馆状态
方法:获取与设置属性
BookList类
属性:books ( Book 类型数组 —— 存储 Book 对象 ),count( Book 对象个数)
方法:操作 ( Book 类型数组 —— 存储 Book 对象 )
4.管理员类
Librarian类
属性:工号、姓名、密码
方法:获取与设置属性、整理书籍、更改用户密码、更改用户信息
管理员独有方法:
4.1整理书籍 ----将书架的书籍按编号进行排序
4.2更改用户密码 ----先选择要更改的账号是教师用户账号还是学生用户账号,再输入工号或者学号找到要更改的账号,输入并设置新密码
4.3更改用户信息 ----先选择要更改的账号是教师用户账号还是学生用户账号,再输入工号或者学号找到要改改账号,选择要更改的属性,输入并设置新属性
LibrarianList类
属性:librarians ( Librarian 类型数组——存储 Librarian 对象 )
方法:操作 librarians ( Librarian 类型数组——存储 Librarian 对象 )
5.教师用户类
Teacher类
属性:工号、密码、姓名、部门
方法:获取与设置属性
TeacherList类
属性:teachers (Teacher 类型数组——存储 Teacher 对象 )
方法:操作 teachers (Teacher 类型数组——存储 Teacher 对象 )
6.学生用户类
Student类
属性:学号、密码、姓名、学院、专业
方法:获取与设置属性
StudentList类
属性:students ( Student 数组——存储 Student 对象 )
方法:操作 students ( Student 数组——存储 Student 对象 )
7.书籍操作类
类:AddBook、AlterBook、BorrowBook、returnBook、DeleteBook、ExitBook、SearchBook、ShowBook
方法:
7.1增加书籍 ----输入书的编号、名字、作者,新建对应的书籍对象,设置是否在馆状态为是,将其加入书架
7.2删除书籍 ----输入书籍名字,在书架找到这本书,设置这本书编号外的属性为空
7.3.借阅书籍 ----输入书籍名字,在书架找到这本书,设置这本书的是否在馆状态为 False
7.4归还书籍 ----输入书籍名字,在书架找到这本书,设置这本书的是否在馆状态为 True
7.5改动书籍信息 ----输入书的名字,在书架中找到这本书,选择更改其属性
7.6查找书籍 ----输入书籍名字,在书架中找到这本书,展示
7.7展示书架 ----展示书架的所有书
8.用户操作类
类:Exit、LibraryChooseOperations、SetUser、SetUserKey、StudentChooseOperations、TeacherChooseOperations
方法:
8.1退出 ----将最新数据序列化,退出程序
8.2管理员选择操作 ----输出命令菜单,读入命令,调用相关方法执行命令
8.3设置用户属性 ----输入用户Id,选择更改属性
8.4设置与用户密码 ----输入用户Id,设置用户新密码
8.5学生用户选择操作 ----输出命令菜单,读入命令,调用相关方法执行命令
8.6教师用户选择操作 ----输出命令菜单,读入命令,调用相关方法执行命令
9.数据存取类
Deserialization 类:
反序列化方法:读取指定文件,返回对象
Serialization 类:
序列化方法:传入对象,写入指定文件
10.运行类
Login 类:
静态字段:欢迎语
Login 方法:调用方法 login 方法
login :选择 登录、注册、退出并调用对应的方法
Registration 类:
registration 方法:选择身份,注册对应的账号,调用 Enter 方法
Enter 类:
enter 方法:选择身份,输入账号、密码进行登录,调用身份对应的选择操作方法
11.测试类
Main 类
main方法:创建书架和用户名单对象(使其作用域为全程序),进入系统前进行反序列化,读入最新数据。新建 Login 对象进入系统