软件工程实践课程设计-java内容摘要:

e . j s p : R e c o r d : B o o k : R e a d e r1. 递交图书和借阅证2. 输入读者证号和图书编号8. 将书和借阅证递还读者3. 调用 b o r r o w B o o k ( )4. 调用 g e t B o o k ( )5. 调用 g e t R e a d e r ( )7. 返回借书页面6. 调用 s a v e R e c o r d ( ) 图三 借书时序图 借书时序描述: 读者将借阅证和图书交给图书管理员; 图书管理员在 页面中输入读者证号和图书编号,点击保存按钮; 系统调用 Record 中的 borrowBook()方法来将进行借书处理; saveRecord()方法调用 Book 中的方法 getBook(),来查询该图书是否入库; 同时 saveRecord()方法调用 Reader 中的 getReader()方法,来查询是否存在该读者; 如果图书已入库且读者是合法的读者,则调用 saveRecord()方法; 返回到 ,如果需要可以继续借书; 图书管理员将图书和借阅证返还给读者; 还书 还书时序图如图四: 软件工程课程设计 -图书管理系统 12 : 读者 : 图书管理员r e c o r d _ d e l e t e . jsp : R e c o r d1. 递交待还的图书2. 输入图书编号3. 调用 r e t u r n B o o k ( )8. 将书和借阅证递还读者4. 调用 g e t R e c o r d ( )5. 调用 is E x p i r e d ( )7. 返回到还书页面6. 调用 d e le t e R e c o r d ( ) 还书时序描述: 读者将待还的图书交给图书管理员; 图书管理员在 页面中输入图书编号,点击还书按钮; 系统调用 Record 中的 returnBook()方法来进行还书处理; returnBook ()方法调用 Record 中的方法 getRecord (),来查询该图书是否是本馆出借的图书; 同时 returnBook ()方法调用 Record 中的 isExpired()方法,来查询借阅是否超期; 如果没有超期, returnBook ()方法调用 Record 中的 deleteReader()方法,来删除该条借阅记录; 跳转到 ,如果需要,可以继续进行还书; 图书管理员将图书和借阅证返还给读者; 软件工程课程设计 -图书管理系统 13 4. 数据库表的设计 图书表: 表名: book 字段名 字段含义 数据类型 是否允许空 是否主键 id 图书的自然主键 int  bookId 图书编号 varchar(20) bookName 图书书名 varchar(20) author 图书作者 varchar(20) publisher 图书出版社 varchar(50) price 图书单价 double abstracts 图书摘要 varchar(500)  catelog 图书分类 varchar(20) status 图书状态 char(1) 读者表 表名: reader 属性名 属性解释 数据类型 是否允许空 是否主键 id 读者的自然主键 int  readerId 读者证号 varchar(20) readerName 读者姓名 varchar(20) address 读者联系地址 varchar(100)  phone 读者电话号码 varchar(20)  读者电子邮件 varchar(40)  借阅记录表 表名: record 属性名 属性解释 数据类型 是否允许空 是否主键 id 借阅记录的自然主键 int  bookId 图书编号 varchar(20) readerId 读者证号 varchar(20) borrowDate 借阅日期 Date 帐号表 表名: account 属性名 属性解释 数据类型 是否允许空 是否主键 id 帐号的自然主键 int  username 用户名 varchar(20) password 密码 varchar(20) type 用户类型 char(1) 软件工程课程设计 -图书管理系统 14 三 系统的实现 1.软件平台 操作系统: windows 2020 或 windowsXp 数据库: Microsoft SQL Server 2020 JDK: 应用服务器: Apache 开发平台: 2.技术路线 系统框架: struts 注: 如果没有一定的 java 基础,可以不采用 struts,系统仅用 jsp 来实现; 3.具体实现: 数据库实现 注: 以下操作可以参考文档《数据库服务器安装及使用 .doc》进行 安装数据库服务器 Microsoft SQL Server2020 SQL Server 2020 建立数据库表,步骤如下:  从开始菜单中,打开 SQL Server 企业管理器,新建数据库 lms(参考使用文档),效果如下图所示:  在数据库 lms 中新建 book 表,按照本文档第二部分总体设计中的“ 4 数据库表的设计”来设置 book 的字段如下图: 软件工程课程设计 -图书管理系统 15  将系统需要的几个表都在数据库中建好; 前台页面实现 本系统的显示页面用 dreamweaver 来设计,步骤如下: 安装 dreamweaver,打开 dreamweaver 后,界 面如下图: 软件工程课程设计 -图书管理系统 16 建系统中所需的前台显示页面,步骤如下:  新建网页: 选择菜单中“ File” — “ New”来新建 jsp页面,选择“ Dynamic Page”中的“ JSP”,点击“ Create”按钮,如下图: 软件工程课程设计 -图书管理系统 17 出现新建的 jsp,如下图所示: 软件工程课程设计 -图书管理系统 18 点击页面顶端的“ Design”按钮,切换到设计视窗,如下图  建立表单 点击工具栏上的“ mon”按钮,出现下拉框,选择 Form,如下图所示: 这时工具栏出现的工具变成了表单类的工具,点击工具栏中的“ Form”,这时页面上添加了表单(即红色虚线边框),如 下图所示: 软件工程课程设计 -图书管理系统 19 这时在页面下方设置表单的属性,通常情况只需要设置 Action,即该页面内容的处理页面:这里假设为“ /?method=save”,结果如下图:  使用表格定位 切换到 Common 工具栏,点击工具栏中 Table,出现表属性设置,按照下图设置: 软件工程课程设计 -图书管理系统 20 点击“ OK”按钮,这时主窗口中出现表,如下图:  添加所需表单元素 在表中输入文字“图书编号”,并且根据需要拖动表来设置表格的大小,切换到“ Forms”工具栏,点击工具栏中的“ Text Field”。 如下图: 软件工程课程设计 -图书管理系统 21 根据需要,添加相应的 控件(如“ Textarea”,“ Button”等),效果如下图:  保存 选择菜单“ File”中的“ Save”保存文件。 编码 软件工程课程设计 -图书管理系统 22 开发工具使用 此系统使用 进行开发。 打开 ,如下: 新建工程 打开菜单“ File”选择“ New Project” ,选择“ Web”,如下图: 选择“ Next”,在界面中数如工程名“ lms”和存放路径“ E:” (可以根据自己的需要来输入 ),如下图: 软件工程课程设计 -图书管理系统 23 点击“ Finish”。 这时建立了工程“ lms”。 如下图: 生成的项目中有多个 文件夹: Web Pages 中存放的是 jsp 文件。 Sourcr Packages 中存放源文件, library中 存 放 库 文 件。 右 键 点 击 “ Run Project ”, 便 可 以 运 行 该 工 程 了。 软件工程课程设计 -图书管理系统 24 效果如下: 我们只要在相应的目录下添加代码就可以了。 注意要导入系统所用的库文件,系统所需库文件在文件夹“ web\WEBINF\lib”中,以及添加 和 文件。 软件工程课程设计 -图书管理系统 25 代码介绍 软件工程课程设计 -图书管理系统 26 系统采用基于 MVC( Model,View,Control)结构的 struts 框架  Model: 创建由 ActionForm 的派生类实现对客户端表单数据的封装 ; 例: package。 import。 public class BookForm extends ValidatorForm{ private id。 //代理主键,没有业务含义 private bookId。 //图书编号 private bookName。 //图书书名 private author。 //图书作者 private publisher。 //图书出版社 private double price。 //图书单价 private abstracts。 //图书摘要 private catelog。 //图书分类 private status。 //图书状态 : 1 为库内 2 为解除 public getAbstracts() { return abstracts。 } public void setAbstracts( abstracts) { = abstracts。 } public getAuthor() { return author。 } public void setAuthor( author) { = author。 } public getBookId() { return bookId。 } public void setBookId( bookId) { = bookId。 } public getBookName() { return bookName。 } public void setBookName( bookName) { = bookName。 } public getCatelog() { return catelog。 } public vo。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。