ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:1.63MB ,
资源ID:9724377      下载积分:8 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9724377.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(数据库原理及应用课设报告.doc)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

数据库原理及应用课设报告.doc

1、《数据库原理及应用》课设报告 数据库课程设计报告 系 (院): 计算机科学学院 专业班级: 软工***** 姓 名: **** 学 号: 20****** 指导教师: ***** 设计时间: 2015.12.********* 设计地点: 4教机房

2、 目录 一、课程设计目的 3 二、设计任务及要求 3 三、需求分析 3 四、总体设计 5 五、详细设计与实现 9 六、课程设计小结 18 七、指导老师意见: 19 一、课程设计目的 通过对图书管理系统的系统分析、系统设计、编码和调试等工作的实践,熟悉管理信息系统的开发过程、设计方法及相关编程技术,熟练掌握数据库设计的基本理论及方法。 二、设计任务及要求 要求完成一个具有一定实用价值的图书管理系统,主要任务包括:  在Microsoft

3、SQL Server 2000/2005/2008环境下建立图书管理系统所使用的数据库,利用企业管理器或查询分析器建立各种数据库对象,包括:数据表、视图、约束、存储过程和触发器等; ‚ 掌握ADO.NET编程技术,对MS SQL Server数据库进行连接和操纵; ƒ 掌握使用C#语言开发一个数据库应用系统的基本方法和步骤,熟悉一些基础功能的实现方法,如:数据维护(插删改等操作),数据查询、浏览和Excel导出,统计与报表,用户登录和权限管理等。 „ 了解C/S或B/S应用程序的多层体系结构及三层架构方案设计思想,了解迭代式开发,熟悉面向对象设计方法及其分析与设计过程,了解UML文档及其

4、开发过程中的作用。 指导书说明: (1)开发环境与目标:微软 C#、SQL Server,基于C/S结构的Windows应用程序。 (2)仅给出了部分功能的设计与实现,以说明面向对象分析与设计的一般方法以及关键编程技术,其它功能部分需要自己完成。 (3)为减少篇幅和降低阅读门槛,没有追求使用标准的UML设计文档和术语。 三、需求分析 1.开发背景 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的

5、信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。 2. 系统准备 操作系统:Windows xp/7/8 数据库系统:SQL Server 2005/2008/2012 客户端开发工具:Eclipse KEPLER 知识准备 熟悉SQL Server 2005/2008/2012的使用; 熟悉Java语言及其数据库编程技术。 了解:迭代式开发过程、UML设计文档、设计模式;以及图书馆相关业务知识。 3.迭代式开发 迭代式开发(统一过程UP) 系统开发被组织成一系列固定的短期(一段为2-6周)小项目,称为迭代

6、每次迭代都产生可执行的系统。每次迭代都包括计划、需求、分析、设计、编码、测试等过程以及文档编写工作;第一次迭代考虑系统的核心功能,随后的迭代逐步扩展系统功能;每次迭代的成果(含需求、分析、设计、代码和文档等)均为下一次迭代的工作基础,直至满足最终需求。这种开发过程是基于面向对象方法的。 4. 系统分析 系统边界与约定 (1) 系统限定在实体书库的借阅和管理等业务范围; (2) 不考虑图书馆的电子书库、订购、情报、人事管理等业务; (3) 不考虑图书馆的跨区分布情况,如长江大学图书馆包括多个校区图书馆; (4) 不考虑图书的通借通还,如长江大学读者可在湖北省高校任何一家图书馆借还图

7、书; (5) 不考虑珍藏图书的借阅业务; (6) 暂不考虑与校园一卡通系统的外部接口。一卡通系统为外部系统(外部参与者),卡内记录有身份及相关信息,该系统负责身份验证工作。 (7) 期刊库和论文库的借阅和管理等业务可作为二期项目目标,视本系统使用情况而定。 需求概要 (1) 图书管理系统的基本功能需求包括:读者管理、图书管理、借阅管理、用户登录与 用户管理等;其它功能需求包括:读者查询与预约借书*、统计与报表*、数据备份*、书架 管理*、期刊管理*、期刊借阅*、论文管理*、论文借阅*等。(* 表示留待以后的迭代周期完成,下同) (2) 相关领域概念:借书证(读者

8、图书、借还书记录。 (3) 系统外部参与者:读者、借书证管理员、图书管理员、借阅管理员、系统管理员。 将图书馆工作人员划分为借书证管理、图书管理、借阅管理等三类人员;系统管理员负责数据库和软件系统管理,包括各类管理员用户的创建和授权、数据库备份等工作 5.功能概述 图书管理系统的一般用户具有以下功能: (1) 登录验证 (2) 个人借阅信息查询 图书管理系统的管理员具有以下功能: (1) 登录验证 (2) 图书管理:删除,修改,查询,添加图书信息 (3) 读者管理:删除,修改,查询,添加读者信息 (4) 读者类型管理:删除,修改,查询,添加读者的读者类型 (5

9、 浏览学生的借阅图书的情况 6.领域模型 领域概念小结 读者=读者号(借书证号)、姓名、性别、所在单位、电话、邮箱地址、办证日期、照片、借书证状态、已借书数量、密码、管理角色。(借书证状态:有效、挂失、注销) 读者类别=读者类别号、读者类别名称、可借书数量、可借书天数、可续借次数,罚款率,证件有效期。 图书=书号、书名、作者、出版社、出版日期、ISBN、分类号、语言、页数、单价、内容简介、图书封面、图书状态。(图书状态包括:在馆、借出、遗失、销毁、卖出) 借阅信息=借书顺序号、读者号、书号、借书操作员、借书日期、应还日期、续借次数、 还书操作员、还书日期,超期天数、应罚款金额、

10、实际罚款金额。 领域模型 图 1 图书管理系统概念模型(V1) 重要提示:在领域模型建立后、以及数据库设计完成后,均应检查所有的用例文档(检查重点:事件流、前置条件和后置条件),检查两者的一致性,发现缺漏点及矛盾之处,并进行修正。 四、总体设计 4.1 数据库设计与实现 1. 操作表(tb_operator) 序号 字段名 数据类型 说明 1 id int id(主键) 2 name varchar(12) 姓名 3 sex varchar(2) 性别 4 age int

11、年龄 4 identityCard varchar(30) 身份证号 5 workdate datetime 工作时间 6 tel varchar(25) 电话 7 admin bit 管理员权限 8 password varchar(10) 密码 2. 读者信息表(tb_reader) 序号 字段名 数据类型 说明 1 name varchar(10) 读者姓名 2 sex varchar(2) 性别,男/女 3 age int 年龄 4 identityCard varchar (30) 身份证 5 da

12、te datetime 日期 6 maxNum int 最大借书量 7 tel varchar(50) 电话 8 keepMoney money 押金 9 zj int 证件类型 10 zy Int 11 ISBN varchar (13) 国际书号 12 bztime datetime 办证日期 3. 图书信息表(tb_bookInfo) 序号 字段名 数据类型 说明 1 ISBN Varchar(13) 国际标准书号号【标识列,主键】 2 typeId Int Id 3 bookName va

13、rchar(40) 书名 4 writer varchar(21) 作者 5 translator varchar(30) 翻译者 6 publisher varchar(50) 出版社 7 date smalldatetime 出版日期 8 Price money 价格 4. 借阅信息表(tb_borrow) 序号 字段名 数据类型 说明 1 id int id【主键】 2 bookISBN varchar(13) 国际书号 3 operatorId int 操作者编号 4 readerISBN varch

14、ar(13) 读者编号 5 isback int 是否归还 6 borrowDate DateTime 借书日期 7 backDate DateTime 还书日期 5. 订书表(tb_order) 序号 字段名 数据类型 说明 1 ISBN Varchar 国际书号【主键】 2 date datetime 日期 3 number int 数量 4 operater Varchar(6) 操作员 5 checkAndAceept int 是否接收 6 zk float 5. 库存表(tb_stockp

15、ile) 序号 字段名 数据类型 说明 1 ISBN varchar(13) 国际书号【主键】 2 Amount int 数量 4.2 三层架构简介 采用三层体系结构,即表示层、业务逻辑层和数据访问层,如Error! Reference source not found.所示,图中箭头表示调用和依赖关系。 图 2 三层架构示意图 表示层(USL):也称UI,提供交互式界面,形式:JFrame或HTML Web界面。 业务逻辑层(BLL):实现业务功能,为表示层提供服务,形式:类库。 数据访问层(DAL):实现数据访问功能(如数据库、文件等数据的读取、

16、保存和更新),为业务逻辑层提供服务,形式:类。com.yan. dal.DAO类提供了对SQL Server数据库的一般访问方法。 实体类(model):描述一个业务实体的类,也即应用系统所涉及的业务对象。对数据库来讲,每个数据表对应于一个实体类,数据表的每个字段对应于类的一个属性。 表示层、业务逻辑层、数据访问层都依赖于业务实体。各层之间数据的传递主要是实体对象,业务信息封装在实体对象中。 4.3 搭建三层架构解决方案 在Eclipse中创建新的Java项目,命名为LibraryMIS,包括4个包:com.yan.gui(Java窗口应用程序)、com.yan.dal(数

17、据访问层),com.yan.model(实体类集合)、com.yan.bll(业务功能集合)。 4.4 类总体设计(迭代1) 实体类、数据访问层类、业务逻辑层类、表示层窗口类的初步设计,实体类、数据访问层、业务逻辑层的类设计 其中,实体类、数据访问和业务逻辑模块分别设置了一个抽象类(业务逻辑层为通用类),供模块中其他类继承和扩展。这有利于统一方法接口,便于不同层次之间的调用。 4.5 Model层实体类设计 在com.yan.model包中添加4个实体类:reader、operater、bookInfo、order、borrow、stockpile,分别对应4个数据库表。实体类的

18、属性与数据库表结构保持一致(名称、类型);实体类应尽量简单,除了实体对象的复制与比较等方法外,不宜添加过多方法。 例 reader类 在com.yan.model包中添加新Java类reader.java。 添加Java类文件reader.java 表字段映射为实体类属性的基本方法如下: private String Name; public String getName() { return Name; } public void setName(String Name) { this. Name = Name; } 4.6BLL层类设计 BLL层类

19、的成员函数设计,可在实现用例的过程中去发现和完成,用例实现主要包括UI层窗口类、BLL层类、DAL层类等方法的设计与实现。 4.7部分重要代码 五、详细设计与实现 5.1部分代码实现 1.连接数据库 protected static String dbClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; protected static String dbUrl = "jdbc:sqlserver://localhost

20、1433;" + "DatabaseName=Library;SelectMethod=Cursor"; protected static String dbUser = "sa"; protected static String dbPwd = "9109005439enter"; protected static String second = null; private static Connection conn = null; private Dao() { try { if (conn == null) { Class.f

21、orName(dbClassName).newInstance(); conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd); } else return; } catch (Exception ee) { ee.printStackTrace(); } } 2.对数据库的操作 示例:public static Operater check(String name, String password) { int i = 0; Oper

22、ater operater=new Operater(); String sql = "select * from tb_operator where name='" + name + "' and password='" + password + "'and admin=1"; ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { String names = rs.getString(1); operater.setId(rs.getString("id"))

23、 operater.setName(rs.getString("name")); operater.setGrade(rs.getString("admin")); operater.setPassword(rs.getString("password")); if (names != null) { i = 1; } } } catch (Exception e) { e.printStackTrace(); } Dao.close(); return operater; }

24、 3.model层 示例:bookInfo.java package com.yan.model; import java.sql.Date; public class BookInfo { private String ISBN; private String typeid; private String writer; private String translator; private String publisher; private Date date; private Double price; private String

25、bookname; public String getBookname() { return bookname; } public void setBookname(String bookname) { this.bookname = bookname; } public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } public String getISBN() { return ISBN;

26、} public void setISBN(String isbn) { ISBN = isbn; } public Double getPrice() { return price; } public void setPrice(Double price) { this.price = price; } public String getPublisher() { return publisher; } public void setPublisher(String publisher) { this.publisher

27、 publisher; } public String getTranslator() { return translator; } public void setTranslator(String translator) { this.translator = translator; } public String getTypeid() { return typeid; } public void setTypeid(String typeid) { this.typeid = typeid; } public String

28、 getWriter() { return writer; } public void setWriter(String writer) { this.writer = writer; } } 4.bll层 示例1:主界面Library.java package com.yan.bll; import java.awt.BorderLayout; import java.awt.Dimension; //import java.awt.Dialog.ModalExclusionType; import java.awt.event.Compo

29、nentAdapter; import java.awt.event.ComponentEvent; import .URL; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JDesktopPane; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing

30、JMenuBar; import javax.swing.JToolBar; import javax.swing.UIManager; import javax.swing.WindowConstants; import javax.swing.border.BevelBorder; import com.yan.gui.BookLoginIFrame; import java.awt.Font; /** * 主窗体 * */ public class Library extends JFrame { private static final JD

31、esktopPane DESKTOP_PANE = new JDesktopPane(); public static void main(String[] args) { try { UIManager.setLookAndFeel(UIManager .getSystemLookAndFeelClassName()); new BookLoginIFrame();//登录窗口 } catch (Exception ex) { ex.printStackTrace(); } } public static void a

32、ddIFame(JInternalFrame iframe) { // 添加子窗体的方法 DESKTOP_PANE.add(iframe); } public Library() { super(); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE); setLocationByPlatform(true); setSize(800, 600); setT

33、itle("图书馆管理系统"); JMenuBar menuBar = createMenu(); // 调用创建菜单栏的方法 setJMenuBar(menuBar); final JLabel label = new JLabel(); label.setBounds(0, 0, 0, 0); label.setIcon(null); // 窗体背景 DESKTOP_PANE.addComponentListener(new ComponentAdapter() { public void componentResized(final Com

34、ponentEvent e) { Dimension size = e.getComponent().getSize(); label.setSize(e.getComponent().getSize()); label.setText(""); } });

35、 DESKTOP_PANE.add(label,new Integer(Integer.MIN_VALUE)); getContentPane().add(DESKTOP_PANE); } /** * 创建工具栏 * * @return JToolBar */ private JMenuBar createMenu() { // 创建菜单栏的方法 JMenuBar menuBar = new JMenuBar(); JMenu bookOrderMenu = new JMenu(); // 初始化新书订购管理菜单 bo

36、okOrderMenu.setFont(new Font("华文行楷", Font.PLAIN, 14)); bookOrderMenu.setIcon(CreatecdIcon.add("xsdgcd.jpg")); bookOrderMenu.add(MenuActions.NEWBOOK_ORDER); bookOrderMenu.add(MenuActions.NEWBOOK_CHECK_ACCEPT); JMenu baseMenu = new JMenu();// 初始化基础数据维护菜单 baseMenu.setFont(new Font

37、"华文行楷", Font.PLAIN, 14)); baseMenu.setIcon(CreatecdIcon.add("jcsjcd.jpg")); { JMenu readerManagerMItem = new JMenu("读者信息管理"); readerManagerMItem.add(MenuActions.READER_ADD); readerManagerMItem.add(MenuActions.READER_MODIFY); JMenu bookTypeManageMItem = new JMenu("图书类别管理");

38、 bookTypeManageMItem.add(MenuActions.BOOKTYPE_ADD); bookTypeManageMItem.add(MenuActions.BOOKTYPE_MODIFY); JMenu menu = new JMenu("图书信息管理"); menu.add(MenuActions.BOOK_ADD); menu.add(MenuActions.BOOK_MODIFY); baseMenu.add(readerManagerMItem); baseMenu.add(bookTypeManageMI

39、tem); baseMenu.add(menu); baseMenu.addSeparator(); baseMenu.add(MenuActions.EXIT); } JMenu borrowManageMenu = new JMenu(); borrowManageMenu.setFont(new Font("华文行楷", Font.PLAIN, 14)); borrowManageMenu.setIcon(CreatecdIcon.add("jyglcd.jpg")); borrowManageMenu.add(MenuActions

40、BORROW); // 借阅 borrowManageMenu.add(MenuActions.GIVE_BACK); // 归还 borrowManageMenu.add(MenuActions.BOOK_SEARCH); // 搜索 JMenu sysManageMenu = new JMenu(); // 系统维护 sysManageMenu.setFont(new Font("华文行楷", Font.PLAIN, 14)); sysManageMenu.setIcon(CreatecdIcon.add("jcwhcd.jpg")); JMenu

41、 userManageMItem = new JMenu("用户管理"); // 用户管理 userManageMItem.add(MenuActions.USER_ADD); userManageMItem.add(MenuActions.USER_MODIFY); sysManageMenu.add(MenuActions.MODIFY_PASSWORD); sysManageMenu.add(userManageMItem); menuBar.add(baseMenu); // 添加基础数据维护菜单到菜单栏 menuBar.add(bookOrde

42、rMenu); // 添加新书订购管理菜单到菜单栏 menuBar.add(borrowManageMenu); // 添加借阅管理菜单到菜单栏 menuBar.add(sysManageMenu); // 添加系统维护菜单到菜单栏 return menuBar; } } 示例2:图书添加界面BookAddIFrame.java 5.2 UI层窗体设计与实现 除主窗体要考虑整体功能结构外,其它功能都是按用例逐一进行设计和实现的。部分用例的事件流相似且相关,可集中在同一个窗体内实现,如:借书证挂失、解除、补办与注销。 1.登陆界

43、面 2.主界面 3.读者添加界面 4.图书添加界面 5.借阅图书界面 6.图书归还界面 六、课程设计小结 通过本次课程设计,让我对数据库有了更深的了解,本次课设要求用MVC三层架构,开始做起来有点陌生,经过不断的失败与调试,让我对MVC有了深刻的理解,对以后的学习有很大的帮助,同时也熟悉了项目的大致流程:需求----分析----设计----实现-----调试-----维护。本次课设使用的是Java语言,有一些功能没有实现比如:网上续借,本次任务虽然完成了,还是有许多不足之处,希望后期的努力让自己的作品更加优秀。在整个课程设计中,老师对我们耐心的指导与帮助才使我们可以顺利完成此次课程设计,衷心感谢老师。 七、指导老师意见: 成绩: 教师签名: 年 月 日 19 / 19

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服