




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.软件工程课程设计报告书项目名称:图书借阅管理系统指导老师:学生姓名:专业:班级:日期:信息科学与工程系.目录一、项目计划 .1(一)项目开发背景及内容 .1(二)开发环境 .1(三)进度安排 .1二、结构化分析设计 .2(一)数据流图 .2(二)数据字典 .3(三)加工说明(可用结构化语言描述、判定表、判定树).8(四)结构图 .9(五)流程图 .9三、面向对象分析设计 .11(一)用例图 .11(二)对象行为模型 .12(三)系统包图 .13(四)类图 .14(五 )配置图 .15四、系统实现 .15(一)程序代码 .15(二)功能演示(界面) .25五、测试 .27六、 软件发布 .28
2、.七、参考文献 .29八、总结体会 .错误 ! 未定义书签。.一、项目计划(一)项目开发背景及内容随着计算机技术的不断发展,计算机作为知识经济时代的产物,已被广泛应用于社会各个行业和领域。 目前,我国的科技水平高速发展,计算机作为今天使用最广的现代化工具已深入到各个领域,并且正在成为未来社会信息社会的重要支柱。在这样的大背景下,现代图书馆的管理方式,资源建设等方面都发生了重大变化,这种变化表现在图书馆工作,管理和服务平台发生的变化,图书馆不再是传统的手工操作,人工管理, 而是全面实行计算机管理。图书馆的正常运营中总是面对大量的读者信息,图书信息以及两者相互作用产生的借书信息,因此要对读者资源,
3、图书资源, 借书信息进行管理。 本系统的开发就是在于提高图书借阅管理的工作效率,加强图书馆的管理,全面实行计算机管理。(二)开发环境开发环境: win 7旗舰版开发工具: visualbasic6.0access作图软件: microsoft visio 2010(三)进度安排该软件应用microsoft visio 2010和 visualbasic6.0, access进行编程作图,历时大概两周, 最终完成了这个小型图书借阅管理系统。由于时间仓促, 该小型图书借阅管理系统并不完善。 我用了两天时间查找相关资料,两天时间编写代码和连接数据库。其余三天开始用 microsoft visio 2
4、010画数据流图、结构图、流程图、用例图和包图类图。整个过程系我们三人分工人完成。.二、结构化分析设计(一)数据流图图 2.2.1系统的数据流图.图 2.2.2 1 层数据流图(二)数据字典在定义的图书借阅管理系统数据字典中,主要对数据流图中的数据项、数据流、 数据存储和处理过程进行说明。( 1)数据项描述1 )数据项名称:借书证号含义说明:惟一标识一个借书证类型:字符型长度: 50逻辑关系:不允许为空2 )数据项名称:用户名含义说明:读者的名称类型:字符型长度: 20逻辑关系:不允许为空3 )数据项名称:密码含义说明:对用户名和操作员管理员进行加密.类型;字符型长度: 10逻辑关系:允许为空
5、4 )数据项名称:性别类型:字符型长度: 10逻辑关系:允许为空5 )数据项名称:所在系别类型;字符型长度: 10逻辑关系:允许为空6 )数据项名称:所在班级类型:字符型长度: 10逻辑关系:允许为空7 )数据项名称:操作员名称类型:字符型长度: 30逻辑关系:不允许为空8 )数据项名称:操作员简称含义说明:惟一标识一个操作员类型:字符型长度: 10逻辑关系:不允许为空9 )数据项名称:操作员级别含义说明:对操作员和管理员进行区分类型:字符型长度: 10逻辑关系:不允许为空10 )数据项名称:图书编号.含义说明:惟一标识一个图书类型:字符型长度: 10逻辑关系:不允许为空11 )数据项名称:图
6、书名称类型:字符型长度: 50逻辑关系:不允许为空12 )数据项名称:作者类型:字符型长度: 50逻辑关系:不允许为空13 )数据项名称:出版社类型:字符型长度: 50逻辑关系:不允许为空14 )数据项名称:出版时间类型:日期时间型长度: 8逻辑关系:不允许为空15 )数据项名称:价格类型:整型长度: 4逻辑关系:不允许为空16 )数据项名称:备注类型:字符型长度: 200逻辑关系:允许为空17 )数据项名称:借书日期类型:日期时间.长度: 8逻辑关系:不允许为空18 )数据项名称:还书日期类型:日期时间长度: 8逻辑关系:不允许为( 2)数据结构描述1 )数据流名称:用户情况含义说明:定义了
7、一个读者的有关信息组成结构:用户情况 =用户名 +借书证号 +密码 +性别 +所在系别 +所在班级2 )数据流名称:操作员情况含义说明:定义了一个操作员的有关信息组成结构 : 操作员情况 =操作员名称 +操作员简称 +操作员级别 +操作员密码3) 数据流名称:图书情况含义说明:定义了一个图书的有关信息组成结构:图书情况=图书编号 +图书名称 +作者 +出版社 +出版时间 +价格 +备注( 3) 数据流描述1 )数据流名称:借书含义:读者借书时的记录来源:读者去向:审核借书数据流量: 50 份 / 天组成:借书单 =借书证号 +图书编号 +借书日期2 )数据流名称:还书含义:读者还书时要填写的记
8、录来源:读者去向:审核还书数据流量: 25 份 / 天组成:还书单 =图书编号 +还书日期( 4) 数据存储说明.1)数据存储名称:图书数据表含义说明:存放图书的有关信息组成结构:图书编号 +图书名称 +作者 +出版社 +出版时间 +价格 +备注说明;书号具有惟一性和非空性2 ) 数据存储名称:用户信息表含义说明:存放读者的注册信息组成结构:用户名 +借书证号 +密码 +性别 +所在系别 +所在班级说明:证号具有惟一性和非空性,性别只能是男和女3) 数据存储名称:借书记录含义说明:存放读者的借书,还书信息组成结构:借书证号+图书编号 +借书日期 +还书日期说明:要求能够立即查询(5)处理过程说
9、明1)处理过程名称:图书管理输入:图书情况,输出:图书记录处理说明: 对馆内所有图书按图书编号进行管理, 将图书数据数据化, 存储图书数据表中。2 )处理过程名称:读者管理输入:读者情况,输出:读者记录处理说明: 建立读者信息表, 对读者进行统一编号, 实现读者记录表的增删改维护功能。3 )处理过程名称:查看数目输入:借书请求,读者输出:借书记录,图书信息处理说明:实现根据图书编号等查询图书。4 )处理过程名称:借书处理输入:图书情况,读者,借书记录输出:借书记录.处理说明:确认读者符合借书条件,办理借书手续。5 )处理过程名称:还书处理输入:图书情况,输出:借书记录处理说明:对照相应的图书编
10、号可办理还书手续。6 )处理过程名称:安全管理输入:操作员情况,用户情况输出:操作员级别,操作员记录,用户记录处理说明:通过用户名和口令,确认用户身份,保证系统的安全型。(三)加工说明(可用结构化语言描述、判定表、判定树)图 2.3.1借阅管理系统的判定树.(四)结构图图 2.4.1系统的结构图(五)流程图.图 2.5.1 系统登录流程图图 2.5.2 系统的借书流程图.图 2.5.3 系统的还书流程图三、面向对象分析设计(一)用例图用例图在需求分析阶段有重要作用,它是作为参与者的外部用户所能观察到的系统功能模型图。整个开发过程都是围绕需求阶段用例进行的。.图 3.1.1系统的用例图(二)对象
11、行为模型图 3.2.1系统状态图.图 3.1.2系统活动图(三)系统包图.图 3.3.1 系统的包图数据库包:包含数据库中所有的数据信息用户包:包含要使用系统的用户及其属性管理员包:包含要使用系统的管理员及其属性接口包:表示系统和数据库的借口系统包:表示图书借阅管理系统(四)类图类是面对对象系统组成的核心。 类是对一组相同属性、 操作、关系和语义的对象的描述。这些对象包括了对现实世界中的物理实体、商业事务、逻辑事务、应用事务和行为事务等,甚至也包括了纯粹概念性的事务,它们都是类的实例。图 3.4.1系统的类图.(五 )配置图图 3.5.1系统配置图四、系统实现(一)程序代码图书借阅管理 :pu
12、blic schcnd as stringprivate sub cmd_add_click() 初始化 frmborrowedit 信息 设置借阅编号为当前编号最大值 +1 dim jyno as string 取表中的最大借阅编号jyno = 00 + trim(str(val(myborrow.getmaxno() + 1)frmborrowedit.txtborrowno = jy + jynofrmborrowedit.txtborrowdate = date.frmborrowedit.txtreturndate = frmborrowedit.txtbcount = 0frmbo
13、rrowedit.txtcardno = frmborrowedit.txtname = frmborrowedit.txtcardtype = frmborrowedit.txtmaxcount = 0frmborrowedit.txtmaxdays = 0frmborrowedit.txtbookno = frmborrowedit.txtbookname = frmborrowedit.txtbooktype = frmborrowedit.txtlcount = 0frmborrowedit.txttotal = 0 设置添加图书按钮不能用frmborrowedit.cmd_add.e
14、nabled = falsefrmborrowedit.cmd_del = falsefrmborrowedit.cmd_ok.enabled = false 设置图书信息不能用frmborrowedit.frame2.enabled = false 启动编辑窗体frmborrowedit.show 1刷新 datagrid表格的内容gridrefreshend sub 单击“返回”按钮.private sub cmd_back_click()unload meend subprivate sub cmd_push_click() 列出离应归还日期小于等于 5天的图书frmpush.show
15、1end subprivate sub cmd_return_click() 归还调用 frmreturnedit 窗体,需要输入借阅证号,提取该证借阅信息frmreturnedit.show 1gridrefreshend subprivate sub comboflag_click()gridrefreshend sub 启动窗体private sub form_load() 设置借阅状态为 借阅 comboflag.listindex = 0 刷新 datagrid 表格的内容gridrefreshend subprivate sub gridrefresh()if comboflag.
16、listindex 0 then.schcnd = and l.status= + trim(comboflag.text) + elseschcnd = end if 设置 ado控件的连接字符串adodc1.connectionstring = provider=microsoft.jet.oledb.4.0;data source= _+ app.path + books.mdb;persist security info=false 刷新 datagrid记录设置数据源adodc1.recordsource = select l.bookno as图书编号 ,i.bookname as
17、图书名称 , _+l.bcountas 借阅数量 ,b.borrownoas 借阅编号 ,b.cardnoas 借阅证编号 ,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.borrowdate desc msgbox (adodc1.recordsource)adodc1
18、.refreshdatagrid1.columns(0).width = 1200datagrid1.columns(1).width = 1600datagrid1.columns(2).width = 1200datagrid1.columns(3).width = 1400datagrid1.columns(4).width = 1400datagrid1.columns(5).width = 1200datagrid1.columns(6).width = 1400.end sub编辑用户信息:public modify as booleanpublic oriuser as stri
19、ngprivate sub cmd_cancel_click()unload meend subprivate sub cmd_ok_click()if trim(txtusername) = thenmsgbox 请输入用户名 txtusername.setfocusexit subend ifif len(txtpass) 6 thenmsgbox 密码长度不能小于6txtpass.setfocustxtpass.selstart = 0txtpass.sellength = len(txtpass2)exit subend ifif txtpass txtpass2 thenmsgbox
20、 密码和确认密码不相同,请重新确认txtpass2.setfocustxtpass2.selstart = 0.txtpass2.sellength = len(txtpass2)exit subend ifwith myuserif modify = false or oriuser trim(txtusername) thenif .in_db(makestr(txtusername) = true thenmsgbox 用户名已经存在,请重新输入txtusername.setfocustxtusername.selstart = 0txtusername.sellength = len(
21、txtusername)exit subend ifend if.username = makestr(txtusername).pwd = makestr(txtpass)if modify = false then.insertmsgbox 添加完成 else.update (oriuser)msgbox 修改完成 如果修改自身用户名,则更新curuser 对象if oriuser = curuser.username and trim(txtusername) oriuser thencuruser.username = trim(txtusername).curuser.getinfo
22、 (curuser.username)end ifend ifend withunload meend subprivate sub form_load()end subprivate sub txtpass_change()end sub用户管理:private sub cmd_add_click()with frmuseredit.txtusername = .txtpass = .txtpass2 = .modify = false.show 1end withadouserlist.refreshdatalist1_clickend subprivate sub cmd_back_cl
23、ick()unload me.end subprivate sub cmd_del_click()if datalist1.text = thenmsgbox 请选择要删除的用户exit subend ifif myuser.username = admin thenmsgbox 此用户不能删除exit subend if 确认删除if msgbox(是否删除当前用户, vbyesno, 请确认 ) = vbyes thenmyuser.delete (datalist1.text)msgbox 成功删除 adouserlist.refreshdatalist1_clickend ifend
24、subprivate sub cmd_modi_click()if datalist1.text = thenmsgbox 请选择要修改的用户exit subend ifwith frmuseredit.oriuser = myuser.overcame.txtusername = myuser.username.txtpass = myuser.pwd.txtpass2 = myuser.pwdif trim(myuser.username) = admin then.txtusername.enabled = falseend if.modify = true.show 1end with
25、adouserlist.refreshdatalist1_clickend subprivate sub datalist1_click()if datalist1.text = thenexit subend if 读取用户数据myuser.getinfo (datalist1.text)lblusername = myuser.usernameif trim(myuser.username) = admin thenlblusertype = 系统管理员 elselblusertype = 普通用户 .end ifend subprivate sub form_load()lblusertype = lblusername = 设置 ado控件的连接字符串adouserlist.connectionstring = provider=microsoft.jet.oledb.4.0;data source= _+ app.path + books.mdb;persist security info=false 设置数据源adouserlist.recordsource = select * from usersadouserlist.refreshend subprivate sub fra
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 9612:2025 EN Acoustics - Determination of occupational noise exposure - Methodology
- 2025年税务师之涉税服务实务模考预测题库(夺冠系列)
- 多宝乐园教学课件图片
- 参与式教学课件
- 心理学基础(第2版) 课件 第10章 动机
- 少儿英语培训教学课件
- 偷影子的人教学课件
- Brand KPIs for milk alternatives:So Good in India-英文培训课件2025
- 《荷塘月色》教学课件
- 2025年工业互联网平台IPv6技术升级下的工业互联网平台市场拓展策略研究报告
- 江苏省扬州市江都区2024-2025学年七年级上学期第一次月考数学试卷
- 木材原木采购合同范本
- EPC光伏项目投标方案(技术方案)
- 家庭医生签约服务手册
- 膝关节骨节炎康复诊疗规范
- 立式压力蒸汽灭菌锅确认方案
- 2024活动委托承办服务合同协议书范本
- 2024年全国高考Ⅰ卷英语试题及答案
- (1000题)焊工(初级)理论考试题及参考答案
- SL-T+62-2020水工建筑物水泥灌浆施工技术规范
- 人民军队优良传统附有答案
评论
0/150
提交评论