# **系统详细设计文档**
# **1 引言**
在之前设计文档基础上,给出详细设计过程,同时提供给用户最后的操作实际使用方法,和一些要注意的问题,类似于用户手册。
# **2 目的**
在完成需求分析和概要设计的基础上,系统提供详细设计计划,详细设计的实现提供实现和说明。
# **3 读者**
图书管理系统的开发人员,和管理员。
# **4 专有名词**
|使用到的专业术语|解释|
| :-: | :-: |
|UI层|调用BLL层和实体类实现所需要的功能|
|BLL层|业务逻辑层,用于连接UI层和DAL层|
|DAL层|层存放访问数据库类的DLL工程|
|实体类|从数据库中的表,创建相应的类|
# **5 总体设计**
## **5.1 需求总体描述**
总体用例图如下:
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.002.png)
实现系统注册用户,管理用户的登录验证功能(使用的是创建用户,分配角色的方式进行权限管理。)
用例描述
(1)登陆
|用例名称|登录|
| - | - |
|活动者|管理员、读者|
|前件条件|无|
|成功条件|输入正确账号及密码|
|主路径|在登陆界面输入正确的账号与密码|
|可选路径|再次重新输入账号|
|级别|用户管理子功能|
(2)权限管理
|用例名称|权限系统分配|
| - | - |
|活动者|无|
|前件条件|无|
|成功条件|登陆超级用户sa|
|主路径|在注册时按照设计好的权限分配不同角色|
|可选路径|无|
|级别|用户管理子功能|
## **5.2概要设计总览**
采用n-tire分层架构。
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.003.png)
图5.2-1
# **6 开发环境**
## **6.1 数据库系统**
Microsoft SQL Server 2008 R2
## **6.2 开发工具**
Microsoft Visual Studio 2015
## **6.3 软硬件环境**
Windows 8.1
# **7 类详细设计**
## **7.1类汇总**
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.004.png)
表7-1-3
main类中封装了根据不同条件查询图书以及读者的功能,对图书的增加、删除和编辑功能,对读者的增加、删除和编辑功能,借书和还书的功能,查看所有逾期未还书籍的功能。
login类中封装了用户的登录功能。
register类中封装了用户的注册功能。
ReaderEdit类中封装了对读者的修改和添加功能。
BookEdit类中封装了对图书的修改和添加功能。
DbHelperSQL类中封装了公共函数如数据库查询和数据库语句执行等。
PubConstant类中封装了公共变量如当前登录用户以及当前数据库连接等。
# **8 程序模块详细设计**
## **8.1用户登录/注册模块**
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.005.png)
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.006.png)
功能:
完成用户登录、注册功能
输入输出项:
输入:用户ID及密码,以及选定作为何种身份注册,登录则不需要选定身份(因为账户已经和对应的身份绑定了)。
重点算法:
1、注册的时候调用sql server的创建服务器登录名、数据库用户和分配相应的服务器角色以及数据库角色的存储过程,逻辑上实现管理员、读者的功能,并分配相应权限,因此只要注册用户分配角色即可。
2、在登录后把登录信息(账户、密码、数据库连接)保留作为公共变量对于之后的程序要用到。
## **7.2 读者信息管理模块**
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.007.png)
功能:
完成读者信息的查询,新增,修改功能
输入输出项:
输入:各种查询条件,编辑的信息。
输出:sql语句执行结果。
重点算法:
1. 这里重要的是逻辑——一个读者用户注册之后并不能借书,因为他并没有被管理员认证,即是说我们读者表中每一条记录都要对应到一个user,这样才不会乱,也因此在readers表设计中加入这一个unique约束,就是为的和reader用户一一对应。
1. 查询等语句封装在dbhelperSQL这个类中,同时也使用pubconstant类,后面保证连接字符串不会重复访问。
1. 用户的新增是要保证必须有该用户,并且一一对应。删除保证级联删除。
1. 出于对主键的约束,编辑不可更改borrowid。
## **8.2图书信息管理模块**
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.008.png)
功能:
完成图书信息的查询,新增,修改功能
输入输出项:
输入:各种查询条件,编辑的信息。
输出:sql语句执行结果。
重点算法:
1. 图书本身不存在和user的级联,因此方便容易很多,只要保证逻辑正确即可。
1. 是否可借本身是可以修改的——即使还有一定数量。
1. 主要是和rb的关联,图书删除了的话,借书记录也要一并删除。
1. 出于对主键的约束,编辑不可修改isbn。
## **8.3图书借书还书模块**
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.009.png)
功能:
完成图书的借阅归还。
输入输出项:
输入:各种查询条件。
输出:sql语句执行结果,借书还书操作结果。
重点算法:
1. 借书注意点:书是否可借,书存量大于零,人本身是可以借书(无欠款),人是否还有借书数量。
1. 还书,关联rb的借书记录删除。
1. 借书时向rb插入记录,同样道理借过的书,没有归还,就不允许该用户再借同一本书。
1. 还书时从rb中删除一条记录。
1. 借书和还书过程都通过在数据库中创建触发器来保证过程的完整性和正确性。
1. 借书还书操作有可能修改图书的借书状态(数量涉及到0,就要修改)。
## **8.4 逾期未还图书查询模块**
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.010.png)
功能:
查询逾期未还的记录。
输入输出项:
输入:无
输出:sql语句执行结果,未还操作结果。
重点算法:
1. 通过getdate得到当前日期,跟应当归还日期相比较,大于该日期就输出出来即可,显然这一操作在数据库完成非常简便,写成存储过程。
1. 罚款事先定好,计算读者的罚款也从这个表里面找出读者的所有逾期记录相加并输出即可。
# **9 用户手册(详细使用方法步骤,重要!!!)**
首先数据库附加,如失败,修改两个文件的权限即可
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.011.png)
添加完成后,在服务器-安全性-登录名的sa用户,修改密码为123456
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.012.png)
启动工程文件DataBase Project.exe
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.013.png)
之前的用户都不用去管,注册新的用户即可(如a7、a8、r7、r8),密码随意设置(建议为1),并且对应选择管理员或者读者。这里与r5和a5为例操作。
管理员各项操作!!!
查询读者信息
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.014.png)
注册,指定用户(r5)
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.015.png)
而如果再次插入,不论是主键约束还是unique约束都是有效的
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.016.png)
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.017.png)
编辑也是一个道理,删除的时候则是会级联删除
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.018.png)
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.019.png)
删除了r6的读者,我们测试r6是否还能登录。
![](img/Aspose.Words.85dcc882-65ad-4d1c-909d-7a07
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
图书管理系统其实是一个很复杂的信息管理系统,它包括很多分类、检索等方面的内容。因为其复杂性,本实验只要实现一个简化的图书管理系统的功能。 实现功能:用户登录/注册模块、读者信息管理模块、图书信息管理模块、图书借书还书模块、逾期未还图书查询模块、
资源推荐
资源详情
资源评论
收起资源包目录
DataBase_Project1-master.zip (76个子文件)
database_project1
img
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.032.png 26KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.008.png 28KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.027.png 6KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.028.png 22KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.040.png 30KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.042.png 30KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.014.png 20KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.009.png 27KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.025.png 8KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.013.png 5KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.021.png 21KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.012.png 30KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.038.png 9KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.035.png 29KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.005.png 5KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.030.png 5KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.016.png 10KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.039.png 19KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.003.png 7KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.023.png 33KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.034.png 21KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.036.png 7KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.020.png 6KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.024.png 29KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.017.png 10KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.002.png 2KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.007.png 22KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.004.png 90KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.026.png 29KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.037.png 7KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.022.png 11KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.011.png 42KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.015.png 9KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.010.png 17KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.029.png 29KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.041.png 36KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.019.png 20KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.031.png 23KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.006.png 5KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.033.png 24KB
Aspose.Words.85dcc882-65ad-4d1c-909d-7a07102bb616.018.png 9KB
C#程序
DataBase Project
DbHelperSQL.cs 3KB
ClassDiagram2.cd 3KB
BookEdit.resx 6KB
login.Designer.cs 5KB
main.Designer.cs 34KB
Program.cs 528B
register.Designer.cs 5KB
BookEdit.cs 5KB
register.resx 6KB
ReaderEdit.Designer.cs 11KB
login.resx 6KB
ReaderEdit.cs 4KB
DataBase Project.csproj 5KB
ReaderEdit.resx 6KB
main.resx 6KB
register.cs 5KB
main.cs 19KB
BookEdit.Designer.cs 10KB
PubConstant.cs 554B
ClassDiagram1.cd 60B
App.config 1KB
Properties
Resources.resx 5KB
Settings.settings 249B
AssemblyInfo.cs 1KB
Settings.Designer.cs 1KB
Resources.Designer.cs 3KB
login.cs 3KB
DataBase Project.sln 1015B
ER图.vsdx 37KB
LICENSE 1KB
数据库文件
SQL脚本.sql 6KB
Library.mdf 3MB
Library_log.ldf 1024KB
README.md 10KB
物理数据模型.pdm 144KB
共 76 条
- 1
资源评论
神仙别闹
- 粉丝: 2674
- 资源: 7640
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功