管理 1 1 用户 M 购书 N 订单列表 1 N订单图书 N1图书分类图4-6 实体之间的E-R图 管理员实体的E-R图,如图4-7所示。
图书分类实体的E-R图,如图4-8所示。
用户信息实体的E-R图,如图4-9所示。 图书实体的E-R图,如图4-10所示。 订单实体的E-R图,如图4-11所示。 订单列表实体的E-R图,如图4-12所示。 用户名 密码 分类编号 分类名称管理员 图书分类
图4-7 管理员实体的E-R图 图4-8 图书分类实体E-R图
用户名 密码 地址 邮编 真名管理员 Email 性别 注册时间 注册IP 电话 图 4-9 用户实体E-R图
20
图书名称 图书编号 剩余数量 封面 分类编号图 书总数量作者 出版社价格 内容介绍 图4-10 图书实体E-R图
订单编号 IP地址 用户编号 购买时间订单是否付款总价格是否发货 内容 图4-11 订单实体E-R图
用户号 订单号订单列表 图书编号 购书数量
图 4-12订单列表实体的E-R图
4.7 数据库逻辑结构设计
本系统数据库采用SQL Server 2000数据库,系统数据库名称为bookshop,下面分别给出数据表
21
概要说明、数据表关系概要说明及主要数据表的结构。
1、 数据表概要说明
数据表树型结构图如图4-13所示,该数据表树型结构图包含系统所有的数据表
图4-13数据表树型结构图
2、各个表的的结构如下表
表4-1为图书信息列表,记录书店现有的图书信息。
表4-1 Book表
列名 数据类型 长度 允许空 注释 ID Int 4 图书编号 BookName varchar 40 否 图书名称 BookClass Int 4 否 图书分类 Author Varchar 25 是 作者 Publish Varchar 150 是 出版社 BookNo Varchar 30 是 书号 Content text 300 是 内容 Price float 8 是 价格 Amount int 4 是 总数量 Leav_number int 4 是 剩余数量 RegTime datatime 8 是 注册时间 Picture
varchar
60
是
封面
表4-2为书店管理员信息表,记录管理员的帐号和密码。 表4-2 BookAdmin表
列名 数据类型 长度 允许空 注释 Adminuser Varchar 20 否 管理员 AdminPass
Varchar
20 否
管理员密码
表4-3为用户信息表,记录用户的基本信息。
表4-3 用户表
列名 数据类型 长度 允许空 注释 ID Int 2 否 用户编号 UserName Varchar 50 否 用户名 passWord Varchar 50 否 密码 Names Varchar 50 否 真名 Sex Varchar 50 是 性别 Address Varchar 50 是 地址 Phone Varchar 50 是 电话 Post Varchar 50 是 邮编 Email
Varchar
50
是
电子邮件
22
RegTime RegIPAddress
Datatime varchar
50 50
是 是
注册时间 注册IP地址
表4-4为订单总表,记录某个用户的订单总信息。
表4-4 订单总表
列名 ID OrderID BookNo Amount
数据类型 Int Int Int int
长度 4 4 4 4
表4-5 订单表
列名 ID OrderID UserId SubmitTime ConsignmentTime
TotalPrice content Ipaddress Ispayoff IsAddress
数据类型
Int Varchar Varchar
Datatime Datatime Float Text Varchar Varchar varchar
长度 4 50 50 8 8 16 300 50 50 20
允许空 否 否 否 是 是 是 是 是 是 是
注释 订单ID 总订单ID 用户ID 提交时间 购买时间 总价格 描述 Ip 地址 是否付款 是否发货
允许空 否 否 否 是
注释 总订单编号 订单号 书号 数量
表4-5为订单表,记录但张订单的具体信息。
表4-6为图书分类表,记录书店现有图书的分类。
表4-6 Bookclass表
列名 ID ClassName
数据类型 Varchar varchar
长度 30 30
允许空 否 否
注释 分类编号 分类名
5、详细设计
5.1程序描述
5.1.1功能
(1) 顾客可以方便地查看图书信息,及了解每天的特价图书。
(2) 顾客可以方便地队购物车中的图书进行增加、删除、修改和下订单。 (3) 顾客可以反馈自己的满意和部满意意见。
(4) 图书管理员可以方便地添加、删除、修改图书。
(5) 订单管理员可以方便地查看订单,可以方便地进行发货操作和记录缺货的处理情况。 (6) 顾客反馈信息管理员可以方便地查看顾客反馈信息和记录反馈信息的处理情况。 (7) 特价商品管理员可以方便地添加、删除、修改特价图书。 (8) 用户管理员可以方便地增加、删除、修改各种部同的用户。
5.1.2 可用性
本系统符合Microsoft的GUI标准。 5.1.3 可靠性
(1) 服务器模块可以24小时无人运行;
23
(2) 平均故障间隔时间是每月1次;
(3) 平均修复时间是3小时;
(4) 可采用双服务器保证数据完整。 5.1.4 性能
(1) 响应时间:对远程查询访问响应的平均时间是3秒,最长是10秒;Intranet程序的响应
时间少于1秒。
(2) 吞吐量:每秒处理的事务数达到2000条。
(3) 容量:系统可以容纳的客户数是1000人同时使用。
5.1.5 联机用户文档和帮助系统需求
联机用户文档、帮助系统需求说明书。 5.1.6 接口
(1) 用户界面
本系统的用户界面分为用户程序和网络程序两个部分。程序是标准的Windows程序,提供图形化的用户界面。
(2) 外部接口
本系统使用的是数据库开发技术,采用了ADO技术访问数据库。系统各个模块所访问的数据都存储在数据库中,杜绝了文件访问,具有很高的安全性和保密性。因此本系统与外部是接口主要是数据库与外部的接口。
(3) 内部接口 本系统与数据库通过ADO与ODBC连接。Client/Server采用ODBC接口实现数据库的调用,Browser/Server采用ADO接口调用
5.2 总体设计
5.2.1 数据层
数据服务是一组包装了对数据库进行各种操作(如连接数据库、获取数据、关闭连接等)的类。 (1)Base类
该类主要提供一些基本的数据库操作方法。
方 法 名 称 Protected static int ExecuteSql(string strSQL) Protected static int ExecuteSqlEx(string strSQL) Protected static DataSet ExecuteSql4Ds(string strSQL) Protected static int ExecuteSql4Value(string strSQL) Protected static object ExecuteSql4ValueEx(string strSQL) Protected static int ExecuteSqls(string strSQLs)
(2)Book类
该类定义了与书籍操作相关的各种数据库操作方法,例如添加、删除、查询书籍等。
方 法 名 称
描 述 执行SQL命令。通过使用SqlCommand对象的ExecuteNonQuery方法来判断执行结果。 执行SQL命令的另一种方法。通过SqlDataReader.Read方法来判断执行结果。 将SQL命令执行结果填充到一个数据集中,并返回该数据集。 返回一个单一的值。使用SqlCommand对象的ExecuteScalar方法执行查询,并返回查询所返回的结果集中第一行的第一列。 与ExecuteSql4Value类似,返回值为object类型的对象。 批量执行SQl语句。 描 述 24