数据库原理及应用课程设计报告
院 (系): 计算机科学学院
专业班级:
姓 名:
学 号:
指导教师:
设计时间:
设计地点:
目 录
一、设计目的............................................................................................................................1
二、设计任务............................................................................................................................1
三、系统需求............................................................................................................................1
系统边界与约定................................................................................................................1
需求概要............................................................................................................................1
系统分析目标....................................................................................................................2
3.1 读者管理....................................................................................................................2
3.2 图书管理....................................................................................................................4
3.3 借阅管理....................................................................................................................5
3.4 用户登录与用户管理................................................................................................7
3.5 读者查询与预约借书*..............................................................................................8
3.6 统计与报表*..............................................................................................................8
3.7 数据备份*..................................................................................................................9
3.8 系统功能与用户角色................................................................................................9
3.9 领域模型....................................................................................................................9
四、系统设计..........................................................................................................................10
4.1 数据库设计...............................................................................................................10
4.2 三层架构简介...........................................................................................................12
4.4 类总体设计...............................................................................................................13
4.5 Model 层实体类设计 ................................................................................................14
4.6 DAL 层类设计 ..........................................................................................................14
4.7 BLL 层类设计...........................................................................................................14
4.8 UI 层窗体设计 ..........................................................................................................14
五、系统实现..........................................................................................................................21
5.1 数据库设计..............................................................................................................21
5.3 搭建三层架构解决方案..........................................................................................26
5.4 Model 层...................................................................................................................29
4.6 DAL 层类...................................................................................................................34
4.7 BLL 层类设计...........................................................................................................59
4.8 UI 层类设计 ..............................................................................................................67
六、系统演示........................................................................................................................122
6.1 登录系统.................................................................................................................122
6.2 添加 35 本《c 程序设计》....................................................................................123
6.3 维护 52 号图书.......................................................................................................125
6.4 借阅图书.................................................................................................................127
6.5 续借图书.................................................................................................................129
6.6 归还图书.................................................................................................................130
6.7 权限管理.................................................................................................................131
6.8 密码修改.................................................................................................................132
七、课程设计小结................................................................................................................134
1 / 138
一、设计目的
通过对图书管理系统的系统分析、系统设计、编码和调试等工作的实践,熟悉管理信息
系统的开发过程、设计方法及相关编程技术,熟练掌握数据库设计的基本理论及方法。
二、设计任务
要求完成一个具有一定实用价值的图书管理系统,主要任务包括:
(1)在 MySQL 8.0(或更高版本)环境下建立图书管理系统所使用的数据库,利用 SSMS
建立各种数据库对象,包括:数据表、视图、约束、存储过程和触发器等;
(2)掌握 ADO.NET 编程技术,对 MySQL 数据库进行连接和操纵;
(3)掌握使用 C#语言开发一个数据库应用系统的基本方法和步骤,熟悉一些基础功能
的实现方法,如:数据维护(插删改等操作),数据查询、浏览和 Excel 导出,统计与报表,
用户登录和权限管理等。
(4)了解 C/S 或 B/S 应用程序的多层体系结构及三层架构方案设计思想,了解迭代式
开发,熟悉面向对象设计方法及其分析与设计过程,了解 UML 文档及其开发过程中的作用。
三、系统需求
系统边界与约定
(1)系统限定在实体书库的借阅和管理等业务范围;
(2)不考虑图书馆的电子书库、订购、情报、人事管理等业务;
(3)不考虑图书馆的跨区分布情况,如长江大学图书馆包括多个校区图书馆;
(4)不考虑图书的通借通还,如长江大学读者可在湖北省高校任何一家图书馆借还图
书;
(5)不考虑珍藏图书的借阅业务;
(6)暂不考虑与校园一卡通系统的外部接口。一卡通系统为外部系统(外部参与者),
卡内记录有身份及相关信息,该系统负责身份验证工作。
(7)期刊库和论文库的借阅和管理等业务可作为二期项目目标,视本系统使用情况而
定。
需求概要
(1)图书管理系统的基本功能需求包括:读者管理、图书管理、借阅管理、用户登录
与用户管理等;其它功能需求包括:读者查询与预约借书*、统计与报表*、数据备份*、书
架管理*、期刊管理*、期刊借阅*、论文管理*、论文借阅*等。(* 表示留待以后的迭代
2 / 138
周期完成,下同)
(2)相关领域概念:借书证(读者)、图书、借还书记录。
(3)系统外部参与者:读者、借书证管理员、图书管理员、借阅管理员、系统管理员。
将图书馆工作人员划分为借书证管理、图书管理、借阅管理等三类人员;系统管理员负责数
据库和软件系统管理,包括各类管理员用户的创建和授权、数据库备份等工作。
系统分析目标
找出系统用例,书写用例文档,建立领域模型(概念模型)。
[用例] use case,或译为使用案例、用况。是指为了完成一个领域目标或任务,提供
一个或多个场景来说明其在系统内部与外部(人员或外部系统等)之间的交互过程。如办理
借书证、借书、还书、用户登录等均为用例;而借阅管理不是用例,因为它包括多个任务;
读者可否借书也不是用例,因为它不是一个领域任务或业务目标。参见“参考资料 01
用例.doc”。
用例是一个事件流,一个事件对应一个系统操作;如借书用例中的“根据借书证号查询
读者信息”、“根据借书证号查询超期未归还图书”、“判断读者可否借书”、“判断图书是
否在馆”、“确认借书”等均为事件或系统操作。
找出系统用例后,对每个用例的交互操作过程进行描述(即书写用例),通过用例发现
领域概念及其属性,并建立领域模型(即概念模型)。用例与领域模型的建立过程一般是交
互进行的,并相互参考、印证和补充完善。
通过用例发现事件或系统操作,可进行下一步的设计和实现工作,是系统设计主要内容。
在面向对象方法的开发过程中,分析与设计没有明显的界限,只是侧重面不同而已。
3.1 读者管理
读者管理即借书证管理,包括的业务(即用例)有:办理借书证、借书证变更、借书证
挂失、解除挂失、补办借书证、注销借书证、批量办理新生借书证*等。(*表示留待迭代 2
及以后完成,下同。完成此类用例文档并实现其功能者,教师可酌情加分)
借书证(读者)可分为 2 种类别:教师、学生。
借书证(教师)=借书证号、姓名、性别、所在单位、办证日期、照片等。
借书证(学生)=借书证号、学号、姓名、性别、专业、班级、办证日期、有效期、照
片等。其中,有效期由学生类别决定,本科生 4 年、专科生 3 年、硕士生 3 年等。
相关业务规则:(1)读者凭借书证借书;(2)教师最多借书 12 本,借书期限最长为 60 天,
可续借 2 次;学生最多借书 8 本,借书期限最长为 30 天,可续借 1 次;(3)处于挂失、注销
状态的读者不能借书;(4)未归还图书者不能注销其借书证。
分析:增加读者类别概念,统一并简化读者信息,采用教师属性项,而学生可在所在单
位填写班级,学生特有读者信息可留待以后的开发周期处理。可得到 2 个概念:读者、读者
类别。
读者=借书证号、姓名、性别、所在单位、读者类别、办证日期、照片等。(另可加:电
话、邮箱等)
读者类别=读者类别号、类别名称、可借书本数、可借书天数、可续借次数。
1. 办理借书证
3 / 138
用例名称:办理借书证
迭 代:1(说明:第 1 次迭代期间的用例文档)
参 与 者:借书证管理员(或系统管理员)、读者
综 述:用例起始于读者来到借书证管理办公室,管理员给读者办理新借书证。
触 发 器:(说明该用例的触发条件)
前置条件:登录用户具备读者管理权限。
过程描述:(标题名或为:基本流程、基本事件流、主要成功场景等)
1. 管理员输入:读者类别、所在单位、姓名。
2. 点击“查询”。
3. 系统查询读者信息,并显示查询结果。
4. 管理员判断该读者是否已办理借书证,若是,则可取消办证过程。(人工操作)
5. 管理员输入读者信息:读者类别、姓名、性别、所在单位、办证日期、照片等。
(类别、 姓名、单位等可预置为过程 1 中输入值,办证日期可预置为系统日期)
6. 确认办证。
后置条件:创建新的读者对象,并具有新的借书证号;系统记录读者信息。
业务规则:借书证号应具有唯一性。
待解决问题:
1. 打印借书证;
注 释:未考虑校园一卡通做为借书证使用的情况。
2. 变更借书证
变更借书证类别、有效期、所在单位等,以及其它信息;借书证号不可更改。
用例(略,要求自己完成)。
3. 挂失借书证
用例名称:挂失借书证
参 与 者:借书证管理员、读者
综 述:用例起始于读者来到借书证管理办公室,管理员给读者办理借书证挂失。
前置条件:登录用户具备读者管理权限,且读者已经存在。
过程描述:
1. 输入借书证号,或输入读者的类别、单位、姓名。
2. 点击“查询”。
3. 系统查询并显示读者信息。
4. 找到其借书证,且读者状态为有效。
5. 确认挂失。系统修改读者状态为挂失。
后置条件:系统记录读者信息。
业务规则:借书证挂失后禁止读者借书。
分析:修改读者概念,增加属性“借书证状态”;并修改办理借书证用例。
4. 解除挂失