软件工程课程设计报告范例_第1页
软件工程课程设计报告范例_第2页
软件工程课程设计报告范例_第3页
软件工程课程设计报告范例_第4页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

1、软件工程课程设计报告范例西安科技大学软件工程课程设计报告题目: 图书馆管理系统班级: 软件工程 *学号: *姓名:*2013年 1月231. 绪论1.1选题目的及意义随着计算机技术的快速发展,人们对用计算机代替手工管理信息的需求越来越强烈,越来越多的计算机软件如雨后春笋般的应用于人们生产生活的各个领域,为人们提供各种各样的便利。本图书馆管理系统应用软件可以有效地解决高等院校、中小学图书馆由于藏书量增大而带来的管理问题,图书馆管理员可以更好地管理学校图书馆藏书信息,学生可以更方便地享受借书还书的服务,为更有效地学习知识提供有利的保证。对于我来说,选择这个题目作为课程设计的题目有以下两个原因:一是

2、因为自从上大学以来,每当在图书馆借书的时候,我都会留心观察一下图书馆管理员的那台计算机上显示的内容,久而久之,就对本系统的基本流程越来越了解,做好一个软件的前提是必须对这个软件的功能和原理非常熟悉,相比别的题目,我对这个题目更加了解;二是本学期通过学习 Java 程序设计和 Oracle 数据库课程,我觉得这个题目虽然没有那么难4(涉及算法的内容很少) ,但也不是轻而易举就能完成的,所以我想挑战一下自己,看看自己的实现能力到底怎么样,因此决定用面向对象方法学的思想,前台用 Java 程序设计语言编写界面,访问 Oracle 数据库中的数据,完成本系统。1.2系统概述本系统通过 JDBC-ODB

3、C桥实现前后台数据的联系,基本上实现了一个图书馆管理系统所具备的基本功能,本系统把使用者分为三类:超级管理员、普通管理员、读者,对三种用户分别设计了各自的主界面,以便更好的实现信息的隐藏性,超级管理员可以进行这个系统所有操作;管理员只能执行超级管理员的基本功能,查看自己的信息;读者只能查看自己的信息,对自己当前借书进行挂失和续借两种操作,查询图书馆的藏书。2. 可行性研究报告2.1编写目的本报告编写目的在于研究图书馆管理系统应用软件是否可行,指出本软件开发所使用的方法和手段,并对该软件前景进行分析。本报告的预期读者是:高等院校、中小学图书馆管理人员、程序设计人员、以及对图书馆管理系统感兴趣的爱

4、好者。2.2相关背景工程名称:图书馆管理应用软件5工程产品名称:高校图书馆管理系统应用软件工程的组织者:西安科技大学计算机学院软件工程系产品用户:高校图书馆、中小学图书馆;产品的生产者:西安科技大学计算机学院软件工程62 班袁震;产品设计者:西安科技大学计算机学院软件工程 062 班袁震;2.3可行性研究的前提本图书管理系统在功能上要求完成以下基本功能:a).读者、管理员登陆;b).借书;c).还书;d).续借;e).图书挂失;f). 历史记录查询;g).新书入库;h).读者登记及修改个人信息;本系统在性能上力争达到响应时间短,具有一定的容错能力,力争减少由用户直接输入数据,绝大多数据的输入都

5、用可以选择的形式让用户进行选择。本系统预计有如下输出:a).登陆成功显示:成功则进入主界面;失败则重新6输入;都要给出相应的提示;b).借书成功显示:显示借书是否成功,如成功,记录插入数据库,失败说明错误原因,返回借书界面;c).还书成功显示:显示还书是否成功,如成功,修改数据库多项记录,失败说明错误原因,返回主界面;d).续借成功显示:显示续借是否成功,如成功,修改数据库记录,失败则说明错误原因,返回主界面;e).图书挂失成功显示:成功则提示用户需要赔偿的价钱,并禁止该用户再借书,直到交了罚款为止;f). 历史记录查询:管理员可以查询所有记录,用户只能查询自己的借还书记录;显示这些记录;g)

6、.新书入库成功显示:显示新书入库是否成功,成功则向数库插入数据, 失败给出错误提示, 返回主界面;h).读者登记成功显示:显示读者是否成功注册,成功则向数据库插入数据,失败给出提示,返回主界面; i). 修改个人信息成功显示:显示个人信息是否成功修改,成功则修改数据库中的数据,失败则给出错误提示,返回主界面;本系统预计有如下数据输入:a).登陆系统时需要输入用户名和密码,选择用户类型;用户名、密码、和用户类型均为字符型;b).借书时需要选择用户编号和书的编号,均为字符型;7c).还书时需要选择用户名和书的名字, 均为字符型;d).续借时,需要选择书的编号,为字符型;e).挂失时,需要选择书的编

7、号,为字符型;f). 新书入库时,需要输入书的编号、名字、类别、价格、当前剩余藏书量、入库日期;其中入库时期为系统当前时间,价格为双精度浮点型,当前剩余藏书量为整型,其余均为字符型;g).读者登记时,需要输入读者的编号、名字、密码、当前最大可借书量,当前状态( 0 或 1),0 为未激活, 1 为激活;其中当前最大可借书量为整型, 其余为字符型;h).修改个人密码时,需要提供一次原密码和两次新密码;均为字符型;本系统基本系统模型如图2-1 所示:图书馆管理员读者事务图书管处理结果读者理系统事务图 1-1 图书管理系统基本系统模型通过图 1-1.,我们可以发现该系统的数据源是读者和图书馆管理员;

8、读者处理的事务只有修改个人密码、续借、图书挂失,其余事务均由图书馆管理员来处理;数据终点是读者,意味着所有处理最后都要由读者确8认,这种确认可以是某种操作,也可以是管理员的一句提示。本系统的完成期限为16 天(即 2008 年 12 月 22 日到 2009年 1月 7 日)。2.4目标本图书管理系统的主要开发目标为:a).实现图书管理的便捷程度;b).在完成数据库连接的基础上,适当提高查询速度和访问效率;c).在完成基本功能的基础上,减少代码量,提高工作效率;2.5进行可行性研究的方法本系统可行性研究是通过走访大学图书馆的方式进行的,通过走访西安科技大学图书馆和陕西航天职工大学图书馆,对两校

9、现有图书管理系统进行调查、了解,分析得出本系统应实现的基本功能,本系统根据两校图书馆管理系统进行相应的模仿的基础上,添加了一些自己的功能。2.6评价尺度本系统在评价时应从以下几个方面进行分析:开发时间要尽量短;各个功能实现代码要尽量少;访问数据库的效率要尽量高;用户使用过程中容错能力要很强;2.7对现有系统的分析9通过对西安科技大学图书馆管理系统的分析,由于该系统是专业软件公司所为,基本上没有什么太大的问题,就是有时候会出现响应时间过长的问题,原因可能是访问数据库效率过低,所以本系统着重提高访问数据库效率的问题,在功能上尽量模仿上述系统。因此有必要对现有系统进行修改。现有系统的主要工作为处理借

10、还书,新书入库,读者登记,读者信息修改,读者挂失等业务。现有系统最大局限性就是响应时间过慢,数据存储能力不足,由于使用时间很长,源代码无法找到,所以需要对该系统进行重新设计,以适应社会的需要。2.8所建议使用的系统本图书管理系统采用面向对象的分析方法进行分析,然后用面向对象的设计方法进行设计,最后用面向对象语言 Java 进行实现,后台数据库使用Oracle ,连接方式为 JDBC-ODBC 。Java 中 GUI 程序设计本身就是界面程序设计,用它设计出来的界面不但美观,而且使用方便,使用者只需点几次鼠标,就能根据提示进行正确的操作,实现了图书管理的便捷程度;由于 Java 代码重用性非常好

11、,加上本系统部分代码我可以用别的程序代码稍微做一些修改就可以实现功能,因此可以实现降低代码量的目的;10Oracle 数据库是目前市场上通用数据库之一,查询速度本身就非常多,再加上我会在代码中尽量避免多表连接查询和处理语句的使用,所以可以真正起到提高查询效率的目的。本系统局限性可能来自以下几个方面:a).界面不美观;b).部分功能无法实现;c).访问效率很低;d).容错性不够;对于 a),我觉得我们应该注意力放在功能及代码的效率上,而不是去追求一个优秀的界面,对于界面,只要能看得过去就行;对于 b),我尽量避免这个的发生, 因为它是一个程序员水平的标尺,尽可能的用自己最大努力做出尽可能多的功能

12、是我的目标;对于 c),尽量减少多表连接操作的次数, 应该就可以尽可能的提高访问效率了。对于 d),这个是需要大量测试才能发现的, 由于时间关系,不可能把所有的情况考虑完全,只能尽可能多地去考虑周全点,尽可能的把所有问题都考虑到。2.9技术条件方面的可行性按照目前的技术水平,本系统的功能目标是可以达到的,该系统的功能是可以实现的,在规定的期限内,本11系统可以开发完成。2.10法律方面的可行性由于这个系统只供学习研究使用,不涉及任何商业行为,因此,该系统从法律方面是可行的。2.11使用方面的可行性本图书管理系统是为学校图书馆开发的,从学校图书馆日常流程的角度来看,是可以使用该软件系统的;经过我

13、们的调查,我们发现学校图书馆管理人员是有一定的计算机操作水平的,经过短期的培训,是可以熟练掌握本系统的使用细则的。2.12结论由上面的内容我们可以得到如下研究结论:本图书馆管理系统可以立即开始进行。3. 需求规格说明书对软件需求完全理解对于软件开发工作的成功是至关重要的,需求说明的任务是发现、规范的过程,有益于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,便于采用工程方法开发软件,提高软件的质量,便于开发人员、维护人员、管理人员之间的交流、协作,并作为工作成果的原始依据,并且在向潜在用户传递软件功能、性能需求,使其能够判断该软件是否与自己的需求相关。3.1编写目的为开发人员,维

14、护人员,客户之间提供共同的协议而创立基础,对图书馆管理系统软件功能的实现做一全面12的描述;本说明书预期读者为客户、业务或需求分析人员、测试人员、文档编写者、项目管理人员;3.2任务概述本图书管理系统仅供学习、研究之用,应用目标是让使用该软件的用户感觉轻松、愉快的完成本系统的各个功能模块,给以客观公正的评价。本软件的灵感来源于本人长期使用本校的图书馆管理系统,对其结构和功能有了一定的了解,所以就产生了自己模仿一个的想法。由于本软件是模仿其他类似软件开发的,所以只能供学习、研究之用。 |本软件终端用户应该是图书馆管理人员,各个年龄层次的读者。对于图书馆管理人员来说,应该对这个软件的流程很熟悉,所

15、以本软件在设计时尽量追求可操作性和简洁大方的人机界面的设计,力求尽量减少用户直接输入性东西,大量使用可选框。对于读者,本软件将为其设计更加方便的界面,尽量不使用直接输入性信息,追求操作的最简单化。由于本软件只供学习和研究之用,所以不存在预期使用周期。3.3需求规定通过对学校图书馆管理系统的使用和跟有关人员的访谈,我初步认为该系统应该有以下功能约定:1). 每个读者最多在借数目为5;2). 每种书只剩一本时,禁止外借;133). 读者编号是 10 位数字,初始密码和编号相同,提示读者修改密码;4). 管理员编号是5 位数字,初始密码和编号相同,提示管理员修改密码;5). 当读者挂失图书且未缴纳罚

16、款时,禁止该读者借阅续借和挂失其他图书,直到罚款交齐为止;6). 尽可能多的用可选项代替文本框,减少人为输入错误发生的概率;7). 当可选项为编号时,为了方便查阅详细信息,设置按钮显示其详细信息;8). 读者界面应该显示读者当前在借图书的详细信息;9). 为了方便读者查询,应该提供多种查询图书的方式;10). 图书挂失后,读者应该缴纳三倍书价的罚款作为赔偿;11). 修改密码时, 应提供原密码作为验证, 两次输入新密码;12). 用户登陆时, 需根据用户身份, 进入各自的主界面;通过对以上功能约定的分析,我将这个系统分为以下 11 个模块,它们分别是登陆模块、 添加管理员、读者、书籍信息模块、

17、借书模块、还书模块、续借模块、图书14挂失模块、挂失处理模块、修改个人密码模块、删除操作记录、读者信息模块,查询图书模块等等。下面用 IPO 表分别写出对上述模块的功能要求进行定性和定量的叙述:1、登陆模块:模块登陆模块名称输入用户编号,密码,级别数据处理调用数据库数据进行过程验证输出无数据表 3-1登陆模块IPO 表2、添加管理员与读者模块模块添加管理员和读者模名称块输入新管理员编号和姓名数据处理编号唯一性验证, 向数过程据库添加数据输出无数据表 3-2添加管理员和读者模块IPO 表153、添加书籍信息模块模块添加书籍信息模块名称输入书条形码号,书名,作数据者,分类,价格,数目处理编号唯一性

18、验证, 向数过程据库添加数据输出无数据表 3-3添加书籍信息模块IPO 表4、借书模块模块借书模块名称输入读者编号、书条形码号数据处理验证编号,向数据库添过程加数据输出无数据表 3-4借书模块 IPO 表5、还书模块模块借书模块名称16输入读者编号、书条形码号数据处理验证编号,修改数据库过程数据输出无数据表 3-5还书模块 IPO 表6、续借模块模块续借模块名称输入读者编号、书条形码号数据处理验证编号,修改数据库过程数据输出无数据表 3-6续借模块 IPO 表7、图书挂失模块模块图书挂失模块名称输入读者编号、书条形码号数据处理验证编号,修改数据库17过程数据输出书名、应缴纳的罚款数数据额表 3

19、-7图书挂失模块IPO 表8、图书挂失处理模块模块图书挂失处理模块名称输入读者编号数据处理查询挂失信息过程输出书名,罚款数额数据表 3-8图书挂失处理模块IPO 表9、修改个人密码模块模块修改个人密码模块名称输入读者编号,旧密码,新数据密码处理验证旧密码正确性, 修过程改数据库数据输出无数据表 3-9修改个人密码模块IPO 表1810、删除操作记录模块模块删除操作记录模块名称输入无数据处理删除数据库中操作记过程录表的信息输出无数据表 3-10删除操作记录模块IPO 表11、删除读者信息模块模块删除读者信息模块名称输入读者编号数据处理验证能否删除,删除数过程据库数据输出无数据表 3-11删除读者

20、信息模块IPO 表12、查询图书信息模块模块查询图书信息模块名称输入图书编号或分类信息19数据或书名关键字处理查询图书表过程输出相关图书信息数据表 3-12删除读者信息模块IPO 表3.4性能需求该软件对输入数据、输出数据精度的要求如下表所示:数据类型方向格式字符型输入输avcAaaa出浮点型输入输123.65出日期型输出YYYY-MM-DD时间型输出HH24:MM:SS表 3-13数据精度要求表本图书管理系统要求响应时间低于 1 秒,更新处理时间、数据的转换和传送时间短,用户等待时间尽可能为 0.本系统主要任务是访问后台数据库的数据,并做出相应的处理,所以对数据库的容量要求很高,因此建议设置

21、变长的表空间,这样就可以避免出现分配的空间不够而给用户管理带来麻烦的情况。初始化表空间容量为205M ,每次增长的空间为5M 。本系统运行过程中可能出现的问题是数据库故障,处理方法是建议用户每天对数据库中的做一次备份,这样如果数据库出现问题,可以立即还原数据,而不造成大的损失3.5事件跟踪图由于这个系统模块很多,如果画出每个模块的事件跟踪图,会占用很大的篇幅,何况很多模块的事件跟踪图大同小异,所以我决定画出正常情况下读者挂失图书模块、管理员新增图书信息模块、超级管理员查看操作记录模块的事件跟踪图。读者挂失图书模块的事件跟踪图如图3-1 所示:SystemDbaseReader输入编号,密码,级

22、别验证信息验证成功查询读者在借书显示读者当前借书情情况况,进入主界面单击续借图书菜单项查询借阅记录返回所借书的条形码显示所借书的条形码选择条形码并单击续接按钮判断该书是否续借过该书未续借修改该条记录借阅信息表的信息修改成功续借成功并进入主界面图 3-1读者挂失模块的事件跟踪图管理员新增图书信息模块的事件跟踪图如图 3-2 所示:21ManagerSystemDbase输入编号,密码,级别验证信息进入主界面验证成功单击新增图书信息菜单项返回新增图书信息界面填写相关图书的信息单击提交按钮检验条形码是否存在条形码不存在添加相关记录到表中添加成功显示提示信息单击确定按钮返回主界面图 3-2 管理员新增

23、图书信息模块事件跟踪图超级管理员查看操作记录模块的事件跟踪图如图 3-3 所示:SManagerSystemDbase输入编号,密码,级别验证信息进入主界面验证成功单击查看所有操作记录菜单项查询操作记录表的所有信息返回这些信息显示所有记录信息单击返回按钮返回主界面图 3-3 超级管理管理员新增图书信息模块事件跟踪图4. 总体设计说明书4.1编写目的总体设计的目的就是回答 “概括地说, 系统应该如何实现?”这个问题。也就是说这个说明书的编写目的也22就是告诉程序员和软件设计人员本图书馆管理系统系统的系统结构和软件结构。本报告的预期读者是:编写该软件的程序员、其他软件设计人员、系统分析员。4.2图

24、书管理系统的系统层次结构图图 4-1 是该图书管理系统的系统层次结构图。4.3图书管理系统的软件结构图图 4-2 是图书管理系统的软件结构图5. 数据库设计说明书5.1概念结构设计本课程设计连接数据库是 Oracle9i, 用的方式是JDBC桥,因此数据库设计尤为重要;本系统 E-R 图如图书馆管理系统登陆添加挂失续借信息图书图书查询信息修改退出删除处理密码信息挂失*添添 添 添添查 查查 查查删删删加加询除管加 加 加操询 询询 询除除管管理读 借 书作书 借操 读理操读理员者 阅 籍记的 阅作 者员作者员信信信信录信信记信记信信信息 息 息息 息录 息录息息信息息息图 3-4图书管理系统的

25、系统层次结构图23图书馆管理系统接收信息处理信息显示信息登添借陆添书添加编加:加书号管书读籍和理号者信密员和息码读者编号还挂续改数数数数计书失借据据据据密算:库库库库码罚书书书添修删查旧款号号号加改除询密数和和和记记记记码额读读读录录录录新者者者密编编编码号号号显显示验示表证提中信示数息信据息信息界面显示图 3-5图书管理系统的软件结构图下:价格书名姓名当前可借书数标识位编号还书时间mn编号编号读者表借阅书表可用性标识密码 借书时间类别出版社当前在馆册数计划还书时间图 5-1 读者表和书表的E-R 图24编号姓名操作时间事件密码级别管理员表操作记录表图 5-2管理员表和操作记录表的E-R 图5

26、.2 逻辑结构设计根据上述 E-R 模型,我们可以得到该系统的数据库应该包括五个表,分别是:读者信息表、书籍信息表、借阅信息表、管理员表、操作记录表;下面是这五个表的详细属性信息(下划线的是该表的主键) :读者信息表:读者编号、姓名、密码、当前可借书册数、当前状态书籍信息表:书编号、书名、出版社、类别、单价、现有藏书量借阅信息表:借阅编号、读者编号、书编号、借书时间、预计还书时间、标识位、还书时间管理员表:管理员编号、姓名、密码、级别操作记录表:操作时间、发生事件5.3物理结构设计一般数据库的物理结构设计包括两个方面:为关系模式选择存取方法和设计关系、索引等数据库文件的物理存储结构。本系统没有

27、建立任何索引。6. 详细设计说明书6.1编写目的详细设计阶段的根本目标是确定应该怎样具体地实25现所要求的系统, 也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种设计语言书写的程序。本说明书是为了给程序员提供出一个程序的“蓝图”,指导他们更好地完成编码任务。本说明书目标读者是:软件设计师、所有参与这个项目的编码人员和测试人员。6.2界面设计从需求规格说明书中,我们已经知道本系统将使用者分为三类:超级管理员、一般管理员和读者。而且他们的权限各不相同,故需要为他们各自设计主界面,本节将用三个参考模型详细说明三个主界面应如何设计。图 6-1

28、 是超级管理员主界面设计参考模型。图 6-2 是一般管理员主界面设计参考模型。图 6-3 是读者主界面设计参考模型。添加信息查看信息删除信息系统管理添加一般管理员查看管理员的信息删除管理员修改个人密码添加读者查看书的信息删除读者系统退出添加书的信息查看读者的信息删除操作记录添加借阅记录查看操作记录信息添加还书记录查看读者借阅信息处理挂失记录图 6-1超级管理员主界面设计模型26添加信息查看信息系统管理添加读者查看所有读者的信息修改个人密码添加书的信息查看自己操作记录信系统退出添加借阅记录查看所有书的信息添加还书记录处理挂失记录图 6-2一般管理员主界面设计模型管理图书查询图书系统管理挂失图书按

29、书号查询修改个人密码查看历史借阅记录按分类信息查询系统退出查看全部图书信息按书名关键字查询续借信息按出版社查询图 6-3读者主界面设计模型6.3一点说明由于本系统模块过多,如果把所有模块的详细设计过程全部写出,实验报告的篇幅将会很长,所以我只写出“添加书的信息” 模块详细设计过程, 其余模块类似。6.4“添加书的信息”模块界面设计从需求规格说明书和数据库设计中,我们可以看出,书表的属性有:编号、书名、类别、当前在馆册数、价格和出版社;而为了节省字段,我把书名定义为书名和作者;当前在馆册数初始状态下就是藏书量,一般的图书馆一种书籍的藏书量不会超过5 本,所以该项可设计为可选项;由于管理员的工作是

30、很忙的,不可能不出现错误,尤其长时间做同一工作,所以出版社那一栏中我建议初始化为 “出版社”,按钮设置方面,“提交”和“取消”是不可缺少的,但考虑到管理员的工作需要,我又设置了一个“重置”的按钮,单击这个按钮后,所有输27入栏都将会回到刚打开窗口时的状态;因此,其界面设计参考模型如图 6-4 所示。图 6-4“添加书的信息”模块界面设计参考模型6.5“添加书的信息”模块参考方法设计表 6-1 和表 6-2 是“添加图书信息”模块参考方法设计方法名checkID称方法返boolean回类型方法形String id参名称前置条单击“提交”件SQL语select * from book where句

31、b_no=id处理结如果没有这个号码,返回果false, 反之返回 true表 6-1 “添加图书信息”模块参考方法1方 insertBook28法名称方 boolean法返回类型方 Book b法形参名称前所有验证都已完毕,且没有异常置条件SQ insertintobookLvalues(id,name,puname,leibie,price,语 lsnum )句29处如果插入成功,返回 true, 失败,返回 false理结果表 6-2 “添加图书信息”模块参考方法27. 系统实现7.1开发环境中央处理器:Core(TM) JBuider2006 ;2 CPU T5600;数 据 库 :

32、Oracle内存: 512MB;9i ;主频:1.83GHz;运行平台: Windows开发平台:XP7.2关键技术本图书管理系统所使用的关键技术有: JDBC-ODBC 桥,JavaGUI 程序设计基本技术, 数据库增删改查技术,面向对象程序设计技术(类的继承和派生技术) 。7.3运行结果访问数据库模块该系统访问数据库使用的是 JDBC-ODBC 桥的方式,为了节省工作量,需要编写一个类专门用户访问 Oracle 数据库,这个类的代码如下:package librarysystem.tools;public class DBClass implements DBinterface publi

33、c DBClass() 30Connection conn=null;Statement stmt=null;ResultSet rs=null;tryClass.forName(DRIVER);conn=DriverManager.getConnection(URL,lmsm,1234);return true;catch(Exception e)e.printStackTrace();return false;public int getExecuteUpdate(String sql)trystmt=conn.createStatement();int n=stmt.executeUpd

34、ate(sql);return n;catch(Exception e)e.printStackTrace();return -1;public ResultSet getExecuteQuery(String sql)trystmt = conn.createStatement();rs = stmt.executeQuery(sql);return rs;catch(Exception e)e.printStackTrace();return null;public void closeConnect1()tryif(rs!=null)rs.close();catch(Exception

35、e)e.printStackTrace();public void closeConnect2()31tryif(stmt!=null)stmt.close();catch(Exception e)e.printStackTrace();public void closeConnect3()tryif(conn!=null)conn.close();catch(Exception e)e.printStackTrace();有了这个类,再访问数据库时,只需创建该类的对象,调用方法就可以了,不必在每次访问数据时都要设置很多参数变量。登陆模块由于这个系统是用JBuider2006 开发的,界面设计

36、代码不用自己写,只需要将所需的控件拖到合适的位置就大功告成了,所以我省去那些系统生成的代码,如果代码是自己写的,就把代码写在实验报告中吧!图7-1 是登陆模块的界面。在这个系统实现中, 主要代码是消息响应方法, 对于每个模块我都把它消息响应代码写在实验报告中,重复的就不再写了。public void actionPerformed(ActionEvent e) / 读取界面输入数据 .if (e.getActionCommand().equals(登陆 ) 32/ 验证信息,详见源代码/ / 验证成功if (flag) / 判断用户类型if (jibie.equals(管理员 ) / 控制信息

37、详见源代码/ .lc = new LoginControl();/验证用户名和密码与数据库中是否一致if (lc.checkManager(manager) / 控制信息 .详见源代码if (grade = 1) / 显示超级管理员登陆成功this.showInformation(超级管理员登陆成功);/操作记录表中添加记录record = 超级管理员 + manager.getName() + 登陆成功 !;/ 控制信息 / 详见源代码/ 进入超级管理员界面this.setVisible(false);new SuperManagerWindow(); else /this.showInfo

38、rmation( 管理员登陆成功 );record = 一般管理员 + manager.getName() + 登陆成功 !; /提示改密码if (manager.getId().equals(manager.getPwd() this.showInformation(为了您信息安全,请尽快修改密码!);/ 进入管理员界面new ManagerWindow(); else / 显示登陆失败信息this.showError(用户名或密码错误,请查验!);record = 某管理员登陆失败!; else / 读者登陆验证代码省略/ 向操作记录表中添加信息rc = new RecordControl

39、();rc.InsertRecord(record); else / 响应退出按钮 this.setVisible(false);添加管理员、读者、书籍信息模块这三个模块在设计思路上大同小异,故放在一起分33析,以添加书籍模块为例,设计界面如图 7-2 所示,其余两个详见系统测试部分,下面是消息响应方法的思路及关键代码;图 7-1 登陆界面图 7-2添加图书信息public void actionPerformed(ActionEvent e) / 得到文本框中输入的内容if (e.getActionCommand().equals(提交 ) / 控制验证 详见源代码/ 进行主键唯一性验证if

40、(ibc.checkID(id)flag=false;this.showError(条形码已经被使用,请更换!);34if(flag)/ 设置 Book 对象中的内容 ./ 插入数据库if(ibc.InsertBook(book)/ 向操作记录表中添加信息elsethis.showError(价格出现问题,请核实!);else if(e.getActionCommand().equals(重置 )/ 将五个文本框恢复到初始状态下else/ 响应取消按钮this.dispose();借书模块借书模块的设计充分体现了减少键盘输入的思想,用户只需选择就可以完成操作,但如果书很多,或读者很多时,选择速

41、度会很慢,现在大部分都用模式识别技术,直接去扫描条形码, 所以这个设计有点落伍。 图 7-3是借书模块界面的图。图 7-3添加借阅记录(借书模块)界面消息响应方法思路如下:public void actionPerformed(ActionEvent e) if (e.getActionCommand().equals(显示读者信息 ) 35String id = (String) cbx1.getSelectedItem();Reader r = imco.showReader(id);ShowReaderView srv = new ShowReaderView(r); else if (e.getActionCommand().equals( 关于该书 ) / 显示书的信息,和读者信息一致,省去 else if (e.getActionCommand().equals( 提交 ) / 得到文本框的内容/ 取得该编号的所有信

温馨提示

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

评论

0/150

提交评论