《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH 7 8 9 10 11 12 13 ldDateRetAct ldOverDay ldOverMoney ldPunishMoney lsHasReturn OperatorLend OperatorRet DateTime Int Money Money Bit Nvarchar(20) Nvarchar(20) 实际还书日期 超期天数 超期金额(应罚款金额) 罚款金额 是否已经还书,缺省为0-未还 借书操作员 还书操作员 分析提示:借阅信息即用于图书的借还管理,同时又是统计分析的主要信息来源,故要求保持其历史信息。设计时不能以(读者序号+图书序号)为关键字,否则读者不能第二次借阅同一本书了。 5. 数据库实现
内容:
(1) 创建数据库:Library;
(2) 创建登录名:LibAdmin,密码:123;并设置为数据库Library的dbo; (3) 创建上述4张数据表及约束; 实现方法:
(1) 采用SQL Server企业管理器手工操作方法完成创建工作;(自己完成)
(2) 编写SQL脚本文件,并在查询窗口工具中运行并创建;如创建TB_ReaderType表:
CREATE TABLE [dbo].[TB_ReaderType](
[rdType] smallint NOT NULL,
[rdTypeName] nvarchar(20) NOT NULL, [CanLendQty] int NULL, [CanLendDay] int NULL, [CanContinueTimes] int NULL, [PunishRate] float NULL,
[DateValid] smallint NULL DEFAULT ((0)),
PRIMARY KEY ([rdType]), UNIQUE ([rdTypeName]) ) GO
insert into [TB_ReaderType] values(10,'教师',12,60,2,0.05,0); insert into [TB_ReaderType] values(20,'本科生',8,30,1,0.05,4); insert into [TB_ReaderType] values(21,'专科生',8,30,1,0.05,3); insert into [TB_ReaderType] values(30,'硕士研究生',8,30,1,0.05,3); insert into [TB_ReaderType] values(31,'博士研究生',8,30,1,0.05,4); GO
6.2 三层架构简介
采用三层体系结构,即表示层、业务逻辑层和数据访问层,如图2所示,图中箭头表示调用和依赖关系。
13 / 47
《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH
图2 三层架构示意图
表示层(USL):也称UI,提供交互式界面,形式:WinForm或HTML Web界面。 业务逻辑层(BLL):实现业务功能,为表示层提供服务,形式:类库。 数据访问层(DAL):实现数据访问功能(如数据库、文件等数据的读取、保存和更新),为业务逻辑层提供服务,形式:类库。微软公布的SQLHelper类提供了对SQL Server数据库的一般访问方法(JAVA有类似的类或组件)。
实体类(Model):描述一个业务实体的类,也即应用系统所涉及的业务对象。对数据库来讲,每个数据表对应于一个实体类,数据表的每个字段对应于类的一个属性。
表示层、业务逻辑层、数据访问层都依赖于业务实体。各层之间数据的传递主要是实体对象,业务信息封装在实体对象中。
6.3 搭建三层架构解决方案
创建C#应用程序解决方案,包括4个项目:BookManage(Windows窗口应用程序)、BookManage.Model(类库)、BookManage.DAL(类库)、BookManage.BLL(类库)。 1. 新建项目BookManage(启动项目)
MS VS菜单:“文件”->“新建”->“项目”,在新建项目窗口中,选择“C#”->“Windows”->“Windows窗口应用程序”,选择项目文件的存储位置,并输入项目名称:BookManage,如图3。
项目BookManage即为UI层,该项目在VS .NET编译后产生BookManage.exe文件。
14 / 47
《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH
图3 新建项目BookManage
2. 添加新项目BookManage.Model
MS VS菜单:“文件”->“添加”->“新建项目”,选择“类库”,输入项目名称,如图4。VS .NET编译后产生BookManage.Model.dll文件(.DLL后缀文件称为动态链接库)。
图4 添加新建项目BookManage.Model
3. 添加新项目BookManage.DAL
操作与BookManage.Model类似,项目名称设置为:BookManage.DAL。VS .NET编译后产生BookManage.DAL.dll文件。
15 / 47
《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH
4. 添加新项目BookManage.BLL
操作与BookManage.Model类似,项目名称设置为:BookManage.BLL。VS .NET编译后产生BookManage.BLL.dll文件。至此,解决方案参见图5。
图5 图书管理项目解决方案
5. 设置启动项目和项目引用关系
在解决方案中设置BookManage为启动项目(“BookManage”右键菜单“设为启动项目”)。 项目引用关系如表2所示。如BookManage.BLL项目引用DAL和Model,其设置方法:解决方案中项目“BookManage.BLL”的右键菜单“添加引用”,并按图6进行设置。
表2 项目引用关系。 BookManage BookManage.BLL BookManage.DAL BookManage.Model BookManage BookManage.BLL BookManage.DAL BookManage.Model
- √ - × √ - √ √ √ -
图6 给BookManage.BLL项目添加引用
16 / 47