图书管理系统软件工程毕业设计

上传人:第*** 文档编号:57106100 上传时间:2018-10-19 格式:PDF 页数:15 大小:251.12KB
返回 下载 相关 举报
图书管理系统软件工程毕业设计_第1页
第1页 / 共15页
图书管理系统软件工程毕业设计_第2页
第2页 / 共15页
图书管理系统软件工程毕业设计_第3页
第3页 / 共15页
图书管理系统软件工程毕业设计_第4页
第4页 / 共15页
图书管理系统软件工程毕业设计_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《图书管理系统软件工程毕业设计》由会员分享,可在线阅读,更多相关《图书管理系统软件工程毕业设计(15页珍藏版)》请在金锄头文库上搜索。

1、1软件工程课程设计软件工程课程设计0606 级应用级应用(2 2) 班班 0303 曾静曾静1可行性研究可行性研究1.1 项目总论项目总论本需求规格说明书旨在向开发人员说明将要开发的系统的详细情况, 帮助开发 人员明确任务。1.1.1 项目名称项目名称a. 待开发的系统的名称:图书借阅管理系统b.本项目的用户:图书馆管理员1.2 项目背景项目背景1.2.1 目标目标开发适合实际应用的图书借阅管理系统1.2.2 用户的特点用户的特点本次开发的图书借阅管理系统面向各图书馆的广大管理人员,最终用户 不需要懂得专业的计算机知识, 只需要通过鼠标点击相应按钮或按照提示从键盘 输入少量文字即可完成操作。1

2、.2.3 假定和约束假定和约束本系统开发假定用户已拥有专门的财务结算软件, 本系统不处理任何财务有 关的事务。1.3 项目承办单位:项目承办单位:1.41.4 项目主管部门:项目主管部门:0606 级应用级应用 2 2 班班1.51.5 项目拟建地方部门:学校图书馆项目拟建地方部门:学校图书馆1.61.6 研究工作的依据研究工作的依据; ;22 需求分析需求分析一张详细的馆藏图书清单,包括书名、馆藏编号、ISDN 号等。可以对图书信息进行管理。一张详细的读者清单,包括读者姓名、借书证号、联系方式等。商品库存量高于或低于规定数量时,提出警告供进货参考。可以对读者信息进行管理。一张详细的借阅信息清

3、单,包括借阅日期、借阅书目、借阅人等。一定程度上的数据灾难防范手段。以上操作必须是合法的操作员才能进行操作。操作尽量简单。2.1 需求规定需求规定2.1.1 按照需求分析的要求,拟定本次所设计图书借阅管理系统应实现的功能如 下:1.1.图书信息管理功能;图书信息管理功能;(1) 图书记录新增(2) 图书记录修改(3) 图书记录删除2.2. 读者信息管理功能;读者信息管理功能;(1) 读者记录新增(2) 读者记录修改(3) 读者记录删除3.3.图书借阅事务处理功能;图书借阅事务处理功能;(1) 借书(2) 还书34.4.系统信息管理功能;系统信息管理功能;(1) 管理员帐号维护(2) 数据备份(

4、3) 数据恢复(4) 系统日志(5) 参数配置5.5.操作指引功能操作指引功能(1)帮助文件6.6.查询统计功能查询统计功能(1) 读者信息查询;(2) 图书信息查询;(3) 借阅记录查询;(4) 系统信息统计;3.2 故障处理要求提供数据备份和恢复的支持;3.3 其他专门要求用户界面简洁,操作界面中为用户可进行的各项操作提供一定的提示,并 附带帮助文件作为参考。 尽量减少要求用户从键盘输入数据的次数,各项数据的用户输入以下拉框 点选为主。提供进入系统前的合法用户验证功能。3运行环境规定支持 windows 2000,windows xp 平台。安装 SQL SERVER 2000 数据库管理

5、系统。4从需求分析出发,确定了系统应具备的功能如下:登录系统:注销用户、系统退出。 管理:管理员帐户管理、图书信息管理、读者信息管理、借阅管理。 查询:图书查询、读者查询、借阅查询。 帮助:使用说明、关于。局部局部 ER 图图(1) 设计局部 ER 模式 实体和属性的定义: 图书(图书编号,图书名称,作者,出版社,ISDSN,类型,定价,馆藏 数量,译者, 登记时间,可借数量,封面图,简介, ) 读者(借书证号,姓名,住址,电话,工作单位,照片,职业) (2) 借书(借书时间,书号,备注) ER 模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结 构中任意两个实体类型,依据需求分析

6、的结果,考察局部结构中任意两个 实体类型之间是否存在联系。若有联系,进一步确定是 1:N,M:N,还是 1:1 等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是 否存在联系,多个实体类型之间是否存在联系,等等。联系定义如图 4-5 所示。解释如下: u 一个借阅者(用户)只能具有一种身份,而一种身份可被多个借阅者所 具有; u 一本图书只能属于一种图书类别(类别) ,而一种图书类别可以包含多 本图书; u 一个用户可以借阅多本不同的书,而一本书也可以被多个不同的用户所5借阅。结构框图6界面设计界面设计进行本图书馆管理系统界面设计时,以整洁美观、方便友好作为宗旨,力求 简化人机交互复

7、杂程度,减少需要用户键入的数据量,对于各种非法操作给出清 晰易懂的错误提示以及修正错误的建议。考虑到要方便目标用户使用本系统,在 界面设计时尽可能地减少要求用户记忆的操作步骤,并为输入框、按钮等交互项 添加了工具条提示,使用户能够第一时间获得关于操作的参考建议。此外,提供 了用户以图文并茂的附加帮助文档,对于一些稍复杂的操作步骤,用户可以从帮 助文档中获得解决方案。界面的用色,采用了与系统界面相统一的灰色作为工具条及按钮的底色, 减少用户对本系统的突兀感和抵触情绪。此外,窗口底色选用柔和且吸光的浅黄 色,有缓和长期使用系统时的视觉疲劳作用。主窗口上添加响应主要功能模块交互窗口的图形化工具栏,

8、使用户能够快速直 观地被指引到某一特定的功能处理上来,专心于解决问题。考虑交互元件放置的位置时,优先从符合视觉流程和用户使用心理两点进 行考量,以此为指导来安排交互元件在界面上由上至下,从左到右的出现次序, 并尽可能拉近元件之间的距离,减少用户需要拖曳鼠标的距离。馆管理系统中的数据库操作类馆管理系统中的数据库操作类 DBHandle 源代码源代码#include “stdafx.h“ #include “library.h“ #include “DBHandle.h“7#ifdef _DEBUG #undef THIS_FILE static char THIS_FILE=_FILE_; #d

9、efine new DEBUG_NEW #endif / DBHandle.cpp: implementation of the DBHandle class./ Construction/Destruction/ DBHandle:DBHandle() DBHandle:DBHandle() bool DBHandle:DBEOF() /判断指针是否越过记录集最后一条记录,越过时返回 TRUE if(m_pRst-adoEOF) return TRUE; return FALSE; bool DBHandle:DBBOF() /判断指针是否越过记录集第一条记录,越过时返回 TRUE if(m

10、_pRst-BOF) return TRUE; return FALSE; void DBHandle:RstConn() /用 Connection 指针方式打开记录集(记录集为空时用) try m_pRst=m_pConn-Execute(_bstr_t)strSQL,NULL,adCmdText); catch (_com_error e) CString temp; temp=“执行 SQL 查询失败!“; temp+=e.Description(); AfxMessageBox(temp); void DBHandle:DBConn(CString DBName) /连接指定数据库

11、:CoInitialize(NULL); m_pConn.CreateInstance(“ADODB.Connection“); CString ConnStr; ConnStr.Format(“Provider=SQLOLEDB.1;Integrated8Security=SSPI;Persist Security Info=False;Initial Catalog=%s;Data Source=(local);“,DBName); try /连接数据库服务器方式串。连接方式:本地服务器,操作系统管理员 认证,连接 library 数据库 _bstr_t strConnect=ConnSt

12、r.AllocSysString(); m_pConn-Open(strConnect,“,“,0);/连接本地数据库服务器上的 library,用户名密码为空,连接模式 unknown catch (_com_error e) CString temp; temp.Format(“数据库连接失败!原因是:%s“,e.Description(); AfxMessageBox(temp);/2b revise int DBHandle:RecordCount() /统计记录条数 int counter=0; try m_pRst-MoveFirst(); catch (_com_error e)

13、 return 0;/记录集空时统计数计 0 if(m_pRst-adoEOF)return 0;/记录集指针一开始就到达末尾时统计数 按 0 计 while (!m_pRst-adoEOF) m_pRst-MoveNext(); counter+; m_pRst-MoveFirst();/记录集指针归位 return counter; long DBHandle:AutoNumber(CString FieldName) /为新记录自动分配记录号,新记录号为当前最大的记录号加 1 try m_pRst-MoveLast();long i=m_pRst-GetCollect(_bstr_t)F

14、ieldName).lVal;9return i+1; catch(_com_error e) if(m_pRst-BOF) return 1; CString temp; temp.Format(“操作被拒绝,原因是:%s“,e.Description(); AfxMessageBox(temp); return 0; void DBHandle:SQLExcute(CString strSQL) /执行指定 SQL 查询(默认 Recordset 方式打开记录集,记录集为空时再 尝试以 Connection 指针来打开) m_pRst.CreateInstance(_uuidof(Reco

15、rdset); _variant_t varSQL(strSQL); try m_pRst-Open(varSQL,m_pConn.GetInterfacePtr(),adOpenStatic,ad LockOptimistic,adCmdText); /打开方式:执行 SQL 语句查询,指针允许任意移动,屏蔽其他用户进 行的操作 /作 update 动作时为记录集上锁 catch (_com_error e) m_pRst=m_pConn-Execute(_bstr_t)strSQL,NULL,adCmdText);/记 录集为空时的 SQL 查询方法 /AfxMessageBox(“SQL

16、 查询成功!“); bool DBHandle:First() /判断当前记录是否为第一条记录 m_pRst-MovePrevious();/指针试探性前移一步 if(m_pRst-BOF) /越界,表明原记录是第一条记录 m_pRst-MoveFirst(); return TRUE; else10/指针归位 m_pRst-MoveNext(); return FALSE; bool DBHandle:Last() /判断当前记录是否为最后一条记录 m_pRst-MoveNext();/指针试探性后移一步 if (m_pRst-adoEOF) /越界,表明原记录是最后一条记录 m_pRst-MoveLast(); return T

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号