图书管理系统课程设计_第1页
图书管理系统课程设计_第2页
图书管理系统课程设计_第3页
图书管理系统课程设计_第4页
图书管理系统课程设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1目录一、绪论 4 1.1 开发背景 .4 二、可行性分析报告 4 2.1 引言 .4 2.1.1编写目的 .4 2.1.2项目背景 .4 2.1.3定义 .4 2.1.4参考资料 .5 2.2 技术可行性 .5 2.3 操作可行性 .5 2.4 时间、设备可行性.5 2.5 对现有系统的分析.5 2.5.1处理流程和数据流程.5 2.5.2工作负荷 .5 2.5.3费用支出 .6 2.5.4人员 .6 2.5.5设备 .6 2.5.6局限性 .6 2.6 所建议的系统 .6 2.6.1对系统的简要描述.6 2.7 系统工作量 .6 2.8 代码工作量 .6 2.9 文档要求 .6 三、需求分

2、析说明书 6 3.1 引言 .6 3.1.1编写目的 .6 3.1.2项目背景 .6 3.1.3定义 .6 3.1.4参考资料 .7 3.2 系统介绍 .7 3.3 系统面向的用户群体.7 3.4 系统的功能性需求.7 3.5 系统的非功能性需求.7 3.5.1用户界面需求 .7 3.5.2软硬件环境需求 .7 3.5.3软件质量需求 .8 3.6 系统 e-r图 .8 四、开发环境与项目规划 8 4.1 开发环境 .8 4.2 项目规划与管理.8 4.2.1 开发人员安排 .8 2五、软件界面设计标准与规范 9 5.1 编写目的 .9 5.2 界面设计思想 .9 5.3 界面设计原则 .9

3、5.4 界面设计样式 .9 5.5 常见错误信息样式.9 5.6 其他界面约定 9六、概要设计说明书 10 6.1 引言 .10 6.1.1编写目的 .10 6.1.2项目背景 .10 6.1.3定义 .10 6.1.4参考资料 .10 6.2 系统概述 .10 6.3 系统总体结构图.10 6.4 系统局部模块 ipo表 .11 七、详细设计说明书 12 7.1 引言 . .12 7.1.1编写目的 . .12 7.1.2项目背景 . .12 7.1.3定义 . .12 7.1.4参考资料 . .13 7.2 主要功能模块的结构说明. .13 7.2.1读者注册 . .13 7.2.2读者界

4、面 . .13 7.2.3管理员界面 . .13 7.2.4图书管理 . .13 7.2.5读者管理 . .13 7.3 系统部分模块流程图 . .13 7.3.1系统登录流程 . .13 7.3.2新书入库流程 . .14 八、数据库分析与设计 15 8.1 数据库环境说明.15 8.2 数据库命名标准与规范.15 8.3 数据库逻辑设计.15 8.4 数据库物理设计.16 8.4.1 表、视图汇总 .16 8.4.2 各表、视图设计详解 .17 九、用户界面设计报告 17 9.1 界面设计规范 .17 9.2 主界面设计 .17 9.3 子界面设计 .17 十、软件测试分析报告 20 10

5、.1 测试范围与主要内容.20 310.2 测试方法 .20 10.3 测试用例 .20 10.4 总体测试报告 .21 总结.22 附录一 .23 参考文献 .38 4一、绪论在编写本软件之前, 我们对同类型产品的市场进行了前期调查,查阅了很多资料, 并与本校的图书管理员进行了调查,经过细致的讨论和分析, 之后由软件项目小组提出了这个项目分析报告。这份报告对图书管理系统软件进行了全面细致的分析,对设计过程作了详细的说明, 明确了编写这样一个系统的可行性,可操作性以及必要性, 通过这个报告, 可以详细的了解到本系统的功能与设计过程,便于用户提出改进意见,是该系统能够更加完善。1.1 开发背景今

6、天,随着信息技术的发展, 在图书馆的管理中运用传统的手工操作方式在现在这个数字化的时代已显得极不适应,因此,工作人员和读者对于运用计算机来辅助协调和管理自身工作的需求正在逐步提高。随着现代化技术的不断提高和普及,学校也在不断的提高它的各个部门的管理质量,而图书馆管理就是对图书的编目、查询及读者信息的管理, 重要的是图书的信息管理。 因此,图书的管理是一个工作量比较大而且较为繁杂的工作,至今还有很多学校仍然采用人工管理的方式,由两三个工作人员管理图书档案, 对于借书还书都是用手工来进行操作,而一旦借阅者较多时就容易因忙碌导致错误的产生,这样的情况不适应今天这样一个科技高速发展、工作节奏加快的年代

7、。现在,管理信息系统已经广泛应用于各行各业,加之短学期时间有限。因此在这样的前提下, 我们选择了 “图书管理信息系统” 这样一个较为普遍, 同时又较为典型的课题。 在当今这样一个科技高速发展的社会里,仅有理论知识是显然不行的,所以,我们希望通过开发这个系统, 能更好地把理论与实际结合起来,充分将自己所学的专业知识应用于实践之中,并在实践中不断充实自己, 提高自己的专业技能水平,以获取更多的教益。1.2 定义lms :library management system ,图书管理系统。为了系统的顺利开发和维护,特编制如下技术文档:二、可行性分析报告2.1 引言2.1.1 编写目的编写本报告的目的

8、是研究本系统的总体需求、实现方案,并分析开发系统的可行性,为决策者提供是否开发系统的依据和建议。2.1.2 项目背景所建议开发软件的名称:图书管理系统项目开发者:四川理工学院计算机科学系“图书管理系统”开发小组组长: xx 组员: xx xx 用户单位:学校图书馆2.1.3 定义5图书管理系统对于现代图书馆而言, 是能否发挥其教学科研作用的至关重要技术平台。对于读者和图书管理员来说, 是能否方便快速获取信息的关键。 所以,图书管理系统应该能够为用户提供充足的信息和快捷方便的操作手段。2.1.4 参考资料1. 计算机软件产品开发文件编制指南2. 软件工程导论张海藩编著清华大学出版社 2008 年

9、 2 月3. 更锋利的 c# 代码包善东编著清华大学出版社 2008 年 10 月4. 数据库系统原理教程王珊 陈红编著清华大学出版 2009年 6 月2.2 技术可行性系统的性质为 mis ,因而数据库的设计与操纵是系统设计的核心。小组对软件开发与维护有所实践, 具备一定的系统分析与设计能力,熟悉数据库的设计与操纵;指导老师陈超经验丰富,因而该系统的实现在技术上是可行的。2.3 操作可行性小组成员都学过c# 、c+ 、数据库技术,有一定的功底,可以完成开发任务以及数据库的设计与开发; 本小组成员的审美观、 文字功底、 耐性都还不错, 所以可以胜任用户界面开发和后期测试任务等;对于用户文档的制

10、作、 内部文档的整理相信都能够很好地完成。故所有人员均可立即投入开发工作。2.4 时间、设备可行性系统设计与开发工作预计耗时两周,所有参与开发的人员均能够保证按时完成任务。实验设备如:计算机及相关软件(有,条件符合),任务可以完成。2.5 对现有系统的分析针对现有的图书馆系统的现有功能,进行分析, 开发新的图书管理系统。 分先现有系统的目的是为了进一步阐明开发新系统或修改现有系统的必要性及可行性。2.5.1 处理流程和数据流程2.5.2 工作负荷处理较多数据时, 会出现较长时间的延时。 系统的界面不是很友好, 不图书管理系统身份认证输出目录借书中心出示借阅卡借阅者信息图书目录查询书库填写借阅表

11、修改图书库存信 息打印显示6利于管理人员的操作。2.5.3 费用支出维护人员: 3 人 * 元/ 月;操作人员: 10 人 * 元/ 月;空间:图书馆;支持性服务:软件维护及咨询;服务器、客户端由学校统一提供。2.5.4 人员维护人员 3 人,计算机专业本科学历及以上。操作人员 10 人,对其进行系统应用的培训并熟练掌握。2.5.5 设备使用 windows 操作系统,以及 sql server 、microsof access 数据库软件。2.5.6 局限性图书管理系统不是标准的windows应用程序,界面不友好,操作不容易,功能不是很完善, 必须经过专门训练才可以操作。图书管理系统的数据流

12、程与图书管理工作流程不大相符, 必须要懂图书馆业务, 在一个月左右的时间才可以掌握。系统不具备高度容错能力, 如用户不小心执行了错误操作, 系统可能会死机。2.6 所建议的系统2.6.1 对系统的简要描述所建议的图书管理系统使用基于c/s架构的 windows应用程序,相对于现行的系统界面更加人性化, 操作更简单容易。 子系统也增加了一些功能, 并挺高了系统的容错能力。(*注:具体流程与设计请参照系统详细设计部分)2.7 系统工作量该系统的工作量相对于我们的开发小组来说有一定难度,必须保证按进度完成任务。但软件维护及技术文档的整理、制作,工作量将大大增加。(故小组全体人员要团结一致,多一点奋业

13、精神,努力完成任务)2.8 代码工作量预计 5 天左右。2.9 文档要求依据国家计算机软件产品开发文件编制指南和软件工程的理论与原则编制标准的软件技术文档。三、需求分析说明书3.1 引言3.1.1 编写目的根据需求调研分析报告, 定义系统功能和数据流图, 通过编写需求规格说明书,让开发人员能够根据需求规格说明书来开发项目。3.1.2 项目背景根据 xx学校希望能够充分利用现代科学技术来提高图书管理的效率,在现有图书管理系统的基础上进行修改和扩展,是图书管理系统功能更加强大,使图书管理人员工作更加方便快捷,工作效率更高。3.1.3 定义microsoft access 2003:数据库设计软件7

14、windows 2000/xp/vista:运行环境microsoft visual studio2008:开发工具3.1.4 参考资料1. 计算机软件产品开发文件编制指南2. 软件工程导论张海藩编著清华大学出版社 2008 年 2 月3. 更锋利的 c# 代码包善东编著清华大学出版社 2008 年 10 月4. 数据库系统原理教程王珊 陈红编著清华大学出版 2009年 6 月3.2 系统介绍立足于当今社会信息的发达,着眼于未来发展,建成符合标准化协议、通用性较强、 实用的系统, 以提高图书信息的现代化管理水平,实现信息资源的共享。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对

15、图书、 读者的管理, 其实是对图书、读者数据的管理。 本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读者、 某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。本系统定位于小型图书馆,暂时考虑单机环境下的实现;操作系统选择目前常用的 windows 98/2000/xp 。系统性质为 mis(管理信息系统)。本系统界面力求简洁、易

16、用,在标准化的基础上考虑界面的美观和新颖。3.3 系统面向的用户群体该系统面向小型图书馆,用户群体为图书馆的管理人员。3.4 系统的功能性需求功能序号功能名称功能说明1 图书资料管理包含图书资料的添加、修改等2 借阅登记登记读者id、图书名称、图书编号、借阅时间等3 归还登记解除图书借阅状态4 图书检索提供按图书的书名检索5 读者管理包含读者的信息、借阅查询等6 读者信息查询提供按读者姓名、所有读者的检索7 读者借阅查询提供按读者姓名的检索8 个人信息管理包含个人借阅信息、 个人资料、 用户密码修改等9 个人借阅查询直接查看自己的借阅信息10 个人资料查询直接查看自己的资料信息11 用户密码修

17、改通过输入旧密码可以设置新的密码3.5 系统的非功能性需求3.5.1 用户界面需求简洁、易用、易懂,美观、大方、标准,具备一定的兼容性。3.5.2 软硬件环境需求软件环境:兼容当前主流操作系统 windows 98/nt/me/2000/xp 等。8硬件环境: 586以上计算机。3.5.3 软件质量需求易用、健壮、兼容性好、运行稳定、有一定安全保障。3.6 系统 e-r图如下图所示:图 3-1. 系统 e-r图四、开发环境与项目规划4.1 开发环境前台开发环境: microsoft visual studio 2008 后台数据库环境: microsoft access 2003 4.2 项目

18、规划与管理4.2.1 开发人员安排系统分析与设计: xx xx 程序编制: xx 数据库设计: xx xx 文档整理与制作: xx xx 系统测试: xx xx 读者姓名登陆 id 登陆密码借阅卡号管理员登陆密码登陆 id 姓名图书书名编号作者出版社出版日期关键词内容简介借阅状态管理借阅管理9五、软件界面设计标准与规范5.1 编写目的制定界面设计标准规范的目的是为了规范和统一软件界面设计制定软件界面设计标准与规范。5.2 界面设计思想首先考虑标准化,在标准化的基础上进行界面的美工设计。5.3 界面设计原则简单易用、简洁明了、兼容性好、标准、规范。5.4 界面设计样式采用标准 windows界面

19、:图 5-1. 系统界面5.5 常见错误信息样式错误信息依据提示信息样式设计。如下图所示:图 5-2. 常见错误信息样式5.6 其他界面约定除主界面外,所有子界面均采用模式窗体,即该窗体不消失,不可以在本程序内将焦点移出子窗体。10六、概要设计说明书6.1 引言6.1.1 编写目的根据需求分析报告,设定系统总体结构,怎样有效提高图书管理、用户权限的合理划分与有效控制是本阶段设计系统体系结构的核心。6.1.2 项目背景根据需求分析报告得出用户对系统的综合要求,在确定开发环境及系统设计界面标准后, 通过与本说明书所设计的系统总体结构相结合,能更好的为下一阶段系统详细设计做铺垫。6.1.3 定义mi

20、crosoft access 2003:数据库设计软件windows 2000/xp/vista:运行环境microsoft visual studio2008:开发工具6.1.4 参考资料1. 计算机软件产品开发文件编制指南2. 软件工程导论张海藩编著清华大学出版社 2008 年 2 月3. 更锋利的 c# 代码包善东编著清华大学出版社 2008 年 10 月4. 数据库系统原理教程王珊 陈红编著清华大学出版 2009年 6 月6.2 系统概述在单机环境下进行系统安全的考虑,有必要进行用户权限的划分与控制,因而系统在总体上应包含安全子系统之下的各类用户工作环境。用户权限的合理划分与有效控制是

21、本系统体系结构设计的核心。6.3 系统总体结构图11图 6-1. 系统总体结构图6.4 系统局部模块 ipo表如下:系统名称:图书管理系统设计者:何余谌礼强 徐晓龙模块名:登陆界面日期: 2010/6/29 编号: 7-3-01 上层调用模块:无下层调用模块:读者界面、管理员界面、注册界面输入数据 : 用户名(* )密码(* ) 输出数据:无处理: 如果选择读者登陆,验证用户名、密码,正确则进入读者界面;如果选择管理员登陆, 验证用户名密码, 正确则进入管理员界面; 点击注册, 则进入到系统登录读者注册登录管理员登录读者登录账号密码重新输入密码姓名借阅卡号个人信息系统注销退出个人借阅查询个人资

22、料查询读者密码修改系统图书管理读者管理注销退出新书入库借阅登记还书登记图书检索读者信息查询读者借阅查询12注册界面系统名称:图书管理系统设计者:何余谌礼强 徐晓龙模块名:读者界面日期: 2010/6/29 编号: 7-3-02 上层调用模块:登陆界面下层调用模块:个人信息查询模块、个人借阅查询模块、用户密码修改模块输入数据 : 无输出数据:无处理: 点击个人信息查询和个人借阅查询可以查看个人信息和个人借阅状态,点击用户密码修改转到密码修改界面系统名称:图书管理系统设计者:何余谌礼强 徐晓龙模块名:管理员界面日期: 2010/6/29 编号: 7-3-03 上层调用模块:登陆界面下层调用模块:新

23、书入库界面、图书检索界面、读者信息查询界面、读者借阅查询界面、借书登记界面、还书登记界面输入数据 : 无输出数据:无处理: 分别点击各个模块名转到相应的界面并进行相应的操作*注:其他模块 ipo表(略)七、详细设计说明书7.1 引言7.1.1 编写目的概要设计阶段的总体结构设计把系统划分成了几个模块,本阶段就是详细地设计这些模块间的关系和模块的功能及模块的组成,同时确定每个模块的处理过程。7.1.2 项目背景本系统主要分为一下几个功能模块: 1、读者注册 2、读者界面 3、管理员界面 4、图书管理 5、读者管理7.1.3 定义microsoft access 2003:数据库设计软件windo

24、ws 2000/xp/vista:运行环境13microsoft visual studio2008:开发工具7.1.4 参考资料1. 计算机软件产品开发文件编制指南2. 软件工程导论张海藩编著清华大学出版社 2008 年 2 月3. 更锋利的 c# 代码包善东编著清华大学出版社 2008 年 10 月4. 数据库系统原理教程王珊 陈红编著清华大学出版 2009年 6 月7.2 主要功能模块的结构说明7.2.1 读者注册读者应该通过在本系统注册后才能在图书馆借阅图书。注册时输入读者容易记忆的账号和自己的密码, 同时还要输入自己的名字和图书馆借阅卡的卡号。 当第二次输入的密码和第一次输入的密码不

25、同时,系统会弹出对话框提醒用户密码输入不正确;当两次输入的密码相同, 及输入自己的名字和正确的卡号, 回车后系统会弹出注册成功对话框,同时推出读者注册界面。7.2.2 读者界面读者在本系统注册后,输入自己的账号和正确的密码就能进入读者界面了。该界面中,读者在系统菜单栏里可以注销本次登录或者退出系统(注销登录后系统将回退到系统登录界面);而在个人信息菜单栏里读者可以查询自己借阅的书籍信息,查看自己的个人信息, 以及修改自己的登录密码。7.2.3 管理员界面输入事先已经记录到数据库中的管理员账号和密码就进入了管理员界面。 该界面中,系统菜单栏里可以注销本次登录或者退出系统;本系统将图书管理和读者管

26、理两个功能模块作为管理员界面下的两个子目录,由有权进入管理员界面的管理员来统一管理。7.2.4 图书管理该界面中,新书入库要输入新书的书名、作者、出版社、出版日期、关键词和内容简介; 读者将需要借阅的书籍拿到借阅处,由管理员通过借阅登记选项来录入书籍的借阅状态和读者的借阅书籍信息;读者归还书籍在还书处, 由管理员通过还书登记来录入信息;在图书检索选项里,管理员可以查询图书及其编号、作者、出版社、出版日期、关键词、内容简介和借阅状态。7.2.5 读者管理该界面中,管理员可以查询已经在本系统注册的读者信息,也可以查询已经记录到本系统数据库中的图书馆书籍的借阅情况。7.3 系统部分模块流程图7.3.

27、1 系统登录流程: 1.开始,进入登陆界面; 2.选择读者登录还是管理员登录; 3.若选择读者登录,则输入用户名密码,系统校对验证; 4.若验证成功, 则进入读者界面, 登录成功; 若验证不成功, 则返回登录界面,重复 3、4 步骤; 5若选择管理员登录,则输入用户名密码,系统校对验证;14 6. . 若验证成功,则进入管理员界面,登录成功;则返回登录界面,重复 5、6 步骤; 7.结束,登录事件完成;图 7-1. 系统登录流程图7.3.2 新书入库流程: 1.开始,登录成功进入管理员界面; 2.选择新书入库; 3.填写新书信息;检查录入信息是否有误;无误,则录入;有误,则重新填写; 4.新书

28、入库事件完成; 5.结束;选择操作管理员登陆读者登陆界面管理员界面读者界面登陆开始登陆成功结束15图 7-2. 新书入库流程图八、数据库分析与设计8.1 数据库环境说明考虑该系统的定位与现有技术力量, 决定采用 microsoft access 2003 作为系统的后台数据库开发环境。8.2 数据库命名标准与规范说明:下表所列为数据库及各表、视图的命名方法,具体信息请参阅8.4.1表、视图汇总。名称类型命名办法约定wfssdatabase 系统数据库字母表基本表汉字或字母查询查询汉字字段字段汉字或字母8.3 数据库逻辑设计开始管理员界面新书入库填写书籍信息检查信息是否有误录入录入成功结束16图

29、 8-1. 数据库逻辑结构图8.4 数据库物理设计8.4.1 表、视图汇总视图/ 表名类型说明admin 基本表集中保存系统用户的帐号、密码book 基本表集中存放书目信息管理员姓名登陆 id 登陆密码图书名称编号作者出版社借阅状态内容简介关键词出版日期读者姓名借阅卡号登陆 id 登陆密码17读者查询查询提供给所有用户的书目查询界面8.4.2 各表、视图设计详解 说明 :空缺位置表示无要求,主键在约束栏注明。基本表: admin 字段类型长度格式约束用户 id 文本250 主键用户密码文本250 用户身份文本250 基本表: book 字段类型长度格式约束图书编号文本250 主键书名文本255

30、 作者文本255 出版社文本255 版次文本150 内容简介备注关键词文本255 出版日期文本150 九、用户界面设计报告9.1 界面设计规范主界面:菜单栏、工具条、工作区等。9.2 主界面设计主界面的设计采用标准windows主窗口样式, 所有系统用户拥有相似的主界面。主界面包含基本的图书管理和读者管理功能。主界面如下图所示:图 9-1. 系统主界面设计样式9.3 子界面设计除系统中主要的、基本的功能之外,子系统均采用子界面的设计来实现,如18新书入库、借阅登记、图书检索等。子界面设计样式如下图所示:19图 9-2. 系统子界面设计样式20十、软件测试分析报告10.1 测试范围与主要内容测试

31、范围主要内容简要说明图书检索测试能否成功检索出指定图书功能性测试系统登陆验证验证用户身份,进行权限控制功能性测试统计分析测试测试按时段统计的准确性功能性测试核心代码复检检验核心代码的质量逻辑检错性测试10.2 测试方法功能性测试:黑盒测试逻辑检错性测试:白盒测试10.3 测试用例test-001 测试用例测试项目名称: 图书管理系统测试用例编号: test-001 测试人员:xx xx 测试时间:2009-6-29 测试项目标题: 所有基本页面的正确链接测试内容:验证各按钮是否与其相应的功能界面相对应测试环境与系统配置 :20gb以上空闲硬盘空间, windows 操作系统, microsof

32、t access。测试次数: 每个测试过程做 3 次。预期结果 :可以正确显示页面,每个页面链接有效,且链接的页面功能与按钮功能相符合测试过程 :选择每个功能按钮后验证所弹出的界面功能是否与指定功能相符合测试结果 :链接无误测试结论 : 验证完全正确备注 :无21test-002 测试用例测试项目名称: 图书管理系统测试用例编号: test-002 测试人员:xx xx 测试时间:2009-6-29 测试项目标题: 填写图书信息设置 - 无效数据测试内容:验证系统管理界面中的各个数据的输入是否有效并测试其对异常数据的处理测试环境与系统配置 :20gb以上空闲硬盘空间, windows 操作系统

33、, microsoft access。测试 过程及相 应的测试 输入数据有效测试:1. 在新书入库界面的图书名称输入框中输入:论语出版日期输入框中输入: 2008/2 无效测试:2. 在新书入库界面的图书名称输入框中输入:论语出版日期输入框中输入: ab 测试次数: 每个测试过程做 3 次,分别输入不同数据类型。预期结果 :对于正常数据能够进行相应的操作,异常数据能够报错,并提示相应正确输入测试结果 :3 对于正常数据能够进行相应的操作,异常数据报错. 4. 在图书名称不输入时 , 提示”请输入图书名称 “,在出版日期输入数据错误时提示“请输入正确格式的日期” 。测试结论 : 数据验证正确备注

34、 :无10.4 总体测试报告测试项目测试目的测试数据测试结果改进意见修 改 状态图书检索信息检索功能的准确性和健壮性java检索成功- - 登陆验证系统安全和权限控制用户名:admin 密码:123456 系 统 响 应 正常,权限控制正常- - 统计分析按时段统计功能的实现2010-6 响应正常- - 核心代码复检检验核心代码的质量与效率- 编 码 风 格 良好,内部注释不足。添加必要注释已完善22总结本次课程设计我们选择的题目是图书馆管理系统。图书馆管理系统采用目前比较流行的c/s 模式, visual studio 2008作为前端开发工具,数据库的设计采用microsoft acces

35、s 2003,系统的运行平台为windows系统。该项目是从6 月 16 日开始实施的, 6 月 30 日完成。通过小组成员的共同努力,所有模块功能全部实现,达到预期目标。我们小组成员共三人, 何余、谌礼强、徐晓龙。 其中何余负责整个项目的开发过程管理。 需求分析、 概要设计、 详细设计、 编码设计以及后期测试由所有的小组成员共同完成。由于没有做项目的经历,实践的过程中也遇到了不少困难。特别是在编码的时候, 很多内容都需要我们自己摸索, 由于每个人的基础不一样,在交流的时候还需要考虑到对方所掌握的情况。最后我们决定何余主要负责编码部分,谌礼强主要负责数据库部分的设计以及文档的撰写,徐晓龙主要负

36、责后期测试工作等。 有些时候分工并不见得能够提高效率,特别是编码的部分, 因为需要前后的一致性, 所以很多时候大家都相互讨论,综合意见, 然后逐步修改各人所负责的部分。在需求分析的时候,我们所有的组员都参与了严肃认真讨论交流。需求分析是软件成败很关键的一部分,所以不容马虎。以前我们编写程序基本上没有什么计划,只是按照进展的状况而定。 这次我们完全按照项目开发的要求做了比较周到的计划,但在具体实施的时候遇到了很多没有料想的东西, 很多时候一个小小错误, 能够耗上一整天的时间, 严重影响了我们的进度。一方面是我们项目经验不足的原因, 一方面是计划阶段没有做好。还有一点就是如何调动大家的积极性,因为

37、每个人的任务不一样, 碰到的困难大小也不一样, 有的组员会有厌烦的感觉, 造成积极性不强。 在评审的时候我们及时分析原因,虽然每个人都有分工, 但碰到比较大的问题我们都是一起讨论。例如参考其他小组的设计过程,及时发现自己不完善的地方,遇到不能解决的,我们就虚心向周围的同学学习以及向老师求助。最后的成功离不开每个成员的努力。总体来说,这次软件工程的课程设计让我们学到了不少知识,每个组员都有很大的收获。相信会对我们日后的学习工作起到很大的指导作用。23附录一软件相关模块代码如下:1. 登陆界面:using system; using system.collections.generic; usin

38、g system.componentmodel; using system.data; using system.drawing; using system.text; using system.windows.forms; using system.data.oledb; namespace bookms public partial class loginframe : form string sname; public loginframe() initializecomponent(); private void loginbtn_click(object sender, eventa

39、rgs e) if (rb1.checked) database db = new database(); db.open(); bool b = false; if (usernametxt.text.trim() != |&pswtxt.text != ) string sql = select * from usertable where username= + usernametxt.text + and userpsw= + pswtxt.text + ; db.query(sql); try while (db.reader.read() b = true; break;

40、24 catch (nullreferenceexception ex) db.close(); if (b) sname = usernametxt.text; userform uf = new userform(sname,this); this.visible = false; usernametxt.text = ; pswtxt.text = ; uf.showdialog(); else messagebox.show(帐号或密码错误!); pswtxt.text = ; else messagebox.show(帐号或密码不能为空!); else if (rb2.checked

41、) database db = new database(); db.open(); bool b = false; if (usernametxt.text.trim() != & pswtxt.text != ) string sql = select * from admintable where adminname= + usernametxt.text + and adminpsw= + pswtxt.text + ; db.query(sql); try while (db.reader.read() b = true; break; catch (nullreferenc

42、eexception ex) db.close(); if (b) adminframe af = new adminframe(this); this.visible = false; 25 usernametxt.text = ; pswtxt.text = ; af.showdialog(); else messagebox.show(帐号或密码错误!); pswtxt.text = ; else messagebox.show(帐号或密码不能为空!); else messagebox.show(请选择登陆身份!); private void canclebtn_click(object

43、 sender, eventargs e) application.exit(); private void loginframe_load(object sender, eventargs e) this.setbounds(400, 300,400,300); 2 private void regbtn_click(object sender, eventargs e) registerform rf = new registerform(); rf.show(); 2. 注册界面:using system; using system.collections.generic; using

44、system.componentmodel; using system.data; using system.drawing; using system.text; using system.windows.forms; namespace bookms public partial class registerform : form 26 public registerform() initializecomponent(); private void regbtn_click(object sender, eventargs e) if (usertxt.text != & use

45、rnotxt.text != & pswtxt.text != & repswtxt.text != & usernametxt.text != ) database db = new database(); bool b = true; db.open(); string sql = select * from usertable where username= + usertxt.text + ; db.query(sql); while (db.reader.read() b = false; if (b) if (pswtxt.text = repswtxt.t

46、ext) string sql1 = insert into usertable(username,userpsw,userrelname,usernumber) + values( + usertxt.text + , + pswtxt.text + , + usernametxt.text + , + usernotxt.text + ); db.insert(sql1); messagebox.show(注册成功 , 恭喜 ); this.close(); else messagebox.show(二次输入密码不一致!, 提示 ); pswtxt.text = ; repswtxt.te

47、xt = ; else messagebox.show(用户名已存在!, 提示 ); usertxt.text = ; pswtxt.text = ; repswtxt.text = ; 27 else messagebox.show(信息不能为空!,warning); private void canclebtn_click(object sender, eventargs e) this.close(); 3. 管理员界面:using system; using system.collections.generic; using system.componentmodel; using s

48、ystem.data; using system.drawing; using system.text; using system.windows.forms; namespace bookms public partial class adminframe : form loginframe x; public adminframe(loginframe x) initializecomponent(); this.x = x; private void 注销 toolstripmenuitem2_click(object sender, eventargs e) this.close();

49、 x.visible = true; private void 退出 toolstripmenuitem2_click(object sender, eventargs e) application.exit(); private void 新书入库toolstripmenuitem2_click(object sender, eventargs e) 28 newbook nb = new newbook(); nb.showdialog(); private void 读 者 信 息 查 询toolstripmenuitem1_click(object sender, eventargs

50、e) userinfoform form = new userinfoform(); form.show(); private void 图书检索toolstripmenuitem2_click(object sender, eventargs e) bookframe bf = new bookframe(); bf.show(); private void 借阅登记toolstripmenuitem2_click(object sender, eventargs e) bookchangeform form = new bookchangeform(); form.show(); priv

51、ate void 还书登记toolstripmenuitem2_click(object sender, eventargs e) bookchangeform form = new bookchangeform(); form.show(); private void adminframe_load(object sender, eventargs e) / private void 读 者 借 阅 查 询toolstripmenuitem2_click(object sender, eventargs e) userbook ub = new userbook(); ub.showdial

52、og(); 29 4. 新书入库界面:using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.text; using system.windows.forms; namespace bookms public partial class newbook : form public newbook() initializecomponent(); private void retbtn_cli

53、ck(object sender, eventargs e) this.close(); private void savebtn_click(object sender, eventargs e) database db = new database(); db.open(); if (bookmarktxt.text = | bookdatetxt.text = | booknametxt.text = | booknotxt.text = | bookprotxt.text = | bookwritertxt.text = | keytxt.text = | contenttxt.tex

54、t = ) messagebox.show(图书信息不能为空!); else string sql = insert into bookinfo(booknumber,bookname,bookwriter,bookpro,bookdate,bookmark,bookkey,bookcontent,bookstate) + values( + int.parse(booknotxt.text) + , + booknametxt.text + , + bookwritertxt.text + , + bookprotxt.text + , + bookdatetxt.text + , + in

55、t.parse(bookmarktxt.text) + , + keytxt.text + , + contenttxt.text + ,no); try db.insert(sql); 30 catch (exception ex) db.close(); this.booknotxt.text = ; this.bookwritertxt.text = ; this.bookprotxt.text = ; this.booknametxt.text = ; this.bookmarktxt.text = ; this.bookdatetxt.text = ; this.contenttxt

56、.text = ; this.keytxt.text = ; messagebox.show(插入成功 !); 5. 图书检索界面:using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.text; using system.windows.forms; namespace bookms public partial class bookframe : form public bookfra

57、me() initializecomponent(); private void cheakbtn_click(object sender, eventargs e) database db = new database(); db.open(); string sql = select * from bookinfo where bookname= + cheaktxt.text + ; dataset ds = new dataset(); ds = db.band(sql); datagridview1.datasource = ds.tables0; 31 db.close(); 6.

58、 借阅登记,还书登记界面:using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.text; using system.windows.forms; namespace bookms public partial class bookchangeform : form public bookchangeform() initializecomponent(); private void bo

59、rbtn_click(object sender, eventargs e) if (borrtxt.text != & numbertxt.text != ) database db = new database(); db.open(); try string sql = update bookinfo set bookstate=yes where booknumber= + int.parse(numbertxt.text) + ; db.update(sql); string sql1 = insert into booklendinfo(book_number,book_n

60、ame,user_name) values( + int.parse(numbertxt.text) + , + booktxt.text + , + borrtxt.text + ); db.insert(sql1); db.close(); messagebox.show(登记成功! , 提示 ); borrtxt.text = ; numbertxt.text = ; 32 catch (exception ex) messagebox.show(图书编号不能为非数字!); else messagebox.show(信息不能为空!, 提示 ); private void backbtn_click(object sender, eventargs e)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论