1、 长度:50 逻辑关系:不允许为空 2)数据项名称:用户名读者的名称20 3)数据项名称:密码对用户名和操作员管理员进行加密 类型;10允许为空 4)数据项名称:性别 5)数据项名称:所在系别 6)数据项名称:所在班级 7)数据项名称:操作员名称30 8)数据项名称:操作员简称惟一标识一个操作员 9)数据项名称:操作员级别对操作员和管理员进行区分 10)数据项名称:图书编号惟一标识一个图书 11)数据项名称:图书名称 12)数据项名称:作者不允许为空 13)数据项名称:出版社 14)数据项名称:出版时间日期时间型8 15)数据项名称:价格整型4 16)数据项名称:备注200 17)数据项名称:
2、借书日期日期时间 18)数据项名称:还书日期不允许为(2)数据结构描述 1)数据流名称:用户情况定义了一个读者的有关信息组成结构:用户情况=用户名+借书证号+密码+性别+所在系别+所在班级 2)数据流名称:操作员情况定义了一个操作员的有关信息 组成结构:操作员情况=操作员名称+操作员简称+操作员级别+操作员密码3) 数据流名称:图书情况定义了一个图书的有关信息 组成结构:图书情况=图书编号+图书名称+作者+出版社+出版时间+价格+备注(3) 数据流描述借书 含义:读者借书时的记录 来源:读者 去向:审核借书 数据流量:50份/天 组成:借书单=借书证号+图书编号+借书日期还书读者还书时要填写的
3、记录审核还书25份/天还书单=图书编号+还书日期(4) 数据存储说明1) 数据存储名称:图书数据表存放图书的有关信息图书编号+图书名称+作者+出版社+出版时间+价格+备注 说明;书号具有惟一性和非空性 2) 数据存储名称:用户信息表存放读者的注册信息用户名+借书证号+密码+性别+所在系别+所在班级 说明:证号具有惟一性和非空性,性别只能是男和女 3) 数据存储名称:借书记录存放读者的借书,还书信息借书证号+图书编号+借书日期+还书日期要求能够立即查询(5) 处理过程说明 1)处理过程名称:图书管理 输入:图书情况, 输出:图书记录 处理说明:对馆内所有图书按图书编号进行管理,将图书数据数据化,
4、存储图书数据表中。 2)处理过程名称:读者管理读者情况,读者记录建立读者信息表,对读者进行统一编号,实现读者记录表的增删改维护功能。 3)处理过程名称:查看数目借书请求,读者借书记录,图书信息实现根据图书编号等查询图书。 4)处理过程名称:借书处理图书情况,读者,借书记录确认读者符合借书条件,办理借书手续。 5)处理过程名称:还书处理对照相应的图书编号可办理还书手续。 6)处理过程名称:安全管理操作员情况,用户情况操作员级别,操作员记录,用户记录通过用户名和口令,确认用户身份,保证系统的安全型。(三)加工说明(可用结构化语言描述、判定表、判定树)图2.3.1 借阅管理系统的判定树(四)结构图图
5、2.4.1 系统的结构图(5)流程图图2.5.1系统登录流程图图2.5.2 系统的借书流程图图2.5.3 系统的还书流程图三、面向对象分析设计(一)用例图 用例图在需求分析阶段有重要作用,它是作为参与者的外部用户所能观察到的系统功能模型图。整个开发过程都是围绕需求阶段用例进行的。图3.1.1 系统的用例图(2)对象行为模型图3.2.1 系统状态图图3.1.2 系统活动图(三)系统包图图3.3.1 系统的包图数据库包:包含数据库中所有的数据信息用户包:包含要使用系统的用户及其属性管理员包:包含要使用系统的管理员及其属性接口包:表示系统和数据库的借口系统包:表示图书借阅管理系统(四)类图 类是面对
6、对象系统组成的核心。类是对一组相同属性、操作、关系和语义的对象的描述。这些对象包括了对现实世界中的物理实体、商业事务、逻辑事务、应用事务和行为事务等,甚至也包括了纯粹概念性的事务,它们都是类的实例。图3.4.1 系统的类图(五)配置图图3.5.1 系统配置图四、系统实现(一)程序代码图书借阅管理:Public SchCnd As StringPrivate Sub Cmd_Add_Click() 初始化FrmBorrowEdit信息设置借阅编号为当前编号最大值+1 Dim JYNo As String取表中的最大借阅编号 JYNo = 00 + Trim(Str(Val(MyBorrow.Ge
7、tMaxNo() + 1) FrmBorrowEdit.txtBorrowNo = JY + JYNo FrmBorrowEdit.txtBorrowDate = Date FrmBorrowEdit.txtReturnDate = FrmBorrowEdit.txtBCount = 0 FrmBorrowEdit.txtCardNo = FrmBorrowEdit.txtName = FrmBorrowEdit.txtCardType = FrmBorrowEdit.txtMaxCount = 0 FrmBorrowEdit.txtMaxDays = 0 FrmBorrowEdit.txtB
8、ookNo = FrmBorrowEdit.txtBookName = FrmBorrowEdit.txtBookType = FrmBorrowEdit.txtLCount = 0 FrmBorrowEdit.txtTotal = 0设置添加图书按钮不能用 FrmBorrowEdit.Cmd_Add.Enabled = False FrmBorrowEdit.Cmd_Del = False FrmBorrowEdit.Cmd_Ok.Enabled = False设置图书信息不能用 FrmBorrowEdit.Frame2.Enabled = False启动编辑窗体 FrmBorrowEdit
9、.Show 1刷新DataGrid表格的内容 GridRefreshEnd Sub单击“返回”按钮Private Sub Cmd_Back_Click() Unload MePrivate Sub Cmd_Push_Click()列出离应归还日期小于等于5天的图书 FrmPush.Show 1Private Sub Cmd_Return_Click()归还调用FrmReturnEdit窗体,需要输入借阅证号,提取该证借阅信息 FrmReturnEdit.Show 1Private Sub ComboFlag_click()启动窗体Private Sub Form_Load()设置借阅状态为借阅
10、 ComboFlag.ListIndex = 0Private Sub GridRefresh() If ComboFlag.ListIndex 0 Then SchCnd = AND l.Status= + Trim(ComboFlag.Text) + Else End If设置ADO控件的连接字符串 Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= _ + App.Path + Books.mdb;Persist Security Info=False刷新DataGrid记录设置数据源 Adodc
11、1.RecordSource = SELECT l.BookNo AS 图书编号,i.BookName AS 图书名称, + l.BCount AS 借阅数量,b.BorrowNo AS 借阅编号,b.CardNo AS 借阅证编号,c.Name AS 姓名,BorrowDate AS 借阅日期 FROM Borrow b,BorrowList l,Cards c,BookInfo i WHERE l.BNo=b.BorrowNo AND b.CardNo=c.CardNo AND l.BookNo =i.BookNo + SchCnd _ ORDER BY l.BookNo,b.Borrow
12、Date DESC MsgBox (Adodc1.RecordSource) Adodc1.Refresh DataGrid1.Columns(0).Width = 1200 DataGrid1.Columns(1).Width = 1600 DataGrid1.Columns(2).Width = 1200 DataGrid1.Columns(3).Width = 1400 DataGrid1.Columns(4).Width = 1400 DataGrid1.Columns(5).Width = 1200 DataGrid1.Columns(6).Width = 1400编辑用户信息:Pu
13、blic Modify As BooleanPublic OriUser As StringPrivate Sub Cmd_Cancel_Click()Private Sub Cmd_OK_Click() If Trim(txtUserName) = Then MsgBox 请输入用户名 txtUserName.SetFocus Exit Sub If Len(txtPass) 6 Then密码长度不能小于6 txtPass.SetFocus txtPass.SelStart = 0 txtPass.SelLength = Len(txtPass2) If txtPass txtPass2 T
14、hen密码和确认密码不相同,请重新确认 txtPass2.SetFocus txtPass2.SelStart = 0 txtPass2.SelLength = Len(txtPass2) With MyUser If Modify = False Or OriUser Trim(txtUserName) Then If .In_DB(MakeStr(txtUserName) = True Then用户名已经存在,请重新输入 txtUserName.SelStart = 0 txtUserName.SelLength = Len(txtUserName) .UserName = MakeStr
15、(txtUserName) .Pwd = MakeStr(txtPass) If Modify = False Then .Insert添加完成 .Update (OriUser)修改完成如果修改自身用户名,则更新CurUser对象 If OriUser = CurUser.UserName And Trim(txtUserName) OriUser Then CurUser.UserName = Trim(txtUserName) CurUser.GetInfo (CurUser.UserName) End WithPrivate Sub txtPass_Change()用户管理: With
16、 FrmUserEdit .txtUserName = .txtPass = .txtPass2 = .Modify = False .Show 1 AdoUserList.Refresh DataList1_ClickPrivate Sub Cmd_Del_Click() If DataList1.Text = 请选择要删除的用户 If MyUser.UserName = Admin此用户不能删除确认删除 If MsgBox(是否删除当前用户, vbYesNo, 请确认) = vbYes Then MyUser.Delete (DataList1.Text)成功删除Private Sub C
17、md_Modi_Click()请选择要修改的用户 .OriUser = MyUser.Overcame .txtUserName = MyUser.UserName .txtPass = MyUser.Pwd .txtPass2 = MyUser.Pwd If Trim(MyUser.UserName) = .txtUserName.Enabled = False .Modify = TruePrivate Sub DataList1_Click()读取用户数据 MyUser.GetInfo (DataList1.Text) lblUserName = MyUser.UserName lblU
18、serType = 系统管理员普通用户 lblUserName = AdoUserList.ConnectionString = AdoUserList.RecordSource = SELECT * FROM UsersPrivate Sub Frame2_DragDrop(Source As Control, X As Single, Y As Single)(二)功能演示(界面)图4.2.1图书借阅管理系统主界面图图4.2.2 用户登录图图4.2.3借阅管理图图4.2.4用户管理图图4.2.5编辑用户信息图五、测试序号测试内容测试数据期望结果测试结果测试结论1合法输入格式00001王明
19、00001 女123456计算机正确2错误证件号名10060028提示“请输入正确的证件号!”3空数据Null系统用户管理测试用例20天没超期超期40天超期,交罚金还书模块测试用例索书号为:00001,书名为:Java程序设计,现有数量为1,出版社为:清华大学出版社,作者为:沈泽刚错误索书号提示“对不起,没有您要找的书籍!空索书号借书模块测试用例6、软件发布1. 电脑操作系统:Win 7 旗舰版,开发工具:Visualbasic6.0 ACCESS 2.系统配置说明:分别给开发工具配置特定环境,特别注意连接数据库的语 句是否匹配。3.登录用户名:admin 密码:admin登录用户名:079041 密码:079041七、参考文献1 窦万峰.软件工程方法与实践M.机械工业出版社,20092史济民,顾春华,郑红。软件工程原理、方法与应用。高等教育出版社,2009
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1