MIS实践课程指导书.docx
《MIS实践课程指导书.docx》由会员分享,可在线阅读,更多相关《MIS实践课程指导书.docx(182页珍藏版)》请在冰豆网上搜索。
![MIS实践课程指导书.docx](https://file1.bdocx.com/fileroot1/2023-1/10/2a1eaa42-31b5-4660-b595-55e29b330cac/2a1eaa42-31b5-4660-b595-55e29b330cac1.gif)
MIS实践课程指导书
11级电子商务专业
管理信息系统上机指导书
《图书馆管理系统》开发与实现
一、图书馆管理系统开发目的
高校图书馆管理系统,对于高校而言,是不可缺少的管理信息系统。
学校学生众多,图书馆中的藏书种类繁多,而且图书数量非常巨大。
如何使学生能及时准确的查到各种书籍的馆内信息,对于提高整个高校的教学环境都起到至关重要的作用。
本集中实践环节的目的在于将《管理信息系统》的理论知识与实践相结合,利用设计和开发工具,以图书馆管理信息系统实现为目标,掌握MIS理论,并利用所学习的系统设计方法进行设计,用JAVA语言做代码实现,亲历管理信息系统实施阶段,达到管理信息系统的学习目的。
三、教学实习任务与要求
1.实践任务:
改善图书馆管理的手工方式,优化传统落后的手工图书管理方式,实现自动化图书管理,管理精度提高,灵活处理各种图书资料变动,用户管理、图书管理、书刊借阅管理等,能够满足高校对图书管理的要求。
(1)按照要求理解本系统的总体设计方案,分析系统方案设计的流程图与数据库设计、系统代码实施的关系,明确实践目标、步骤和内容;
(2)按照管理信息系统总体方案的数据库设计,按要求建立数据库,完成实践内容,完成表的创建、表关系的建立;
(3)完成《图书馆管理系统》中各种功能模块代码的编写,明晰事件代码的功能,以及实施的效果;
(4)完成《图书馆管理系统》项目的编译,将项目文件生成可执行运行程序;
(5)完成实验报告,写出实验总结。
四、图书馆管理系统实践内容与步骤
1.系统需求分析
解决方案要帮助高校图书馆提高工作效率、减少出错率,达到图书管理、图书借阅管理更加全面细致的目标。
系统要包括以下几方面功能:
(1)系统功能
包括系统登录、退出、账户管理等基本功能,只能由专门的管理员登录进行对图书馆用户信息的操作,确保系统的安全性。
并且根据需要可以添加其他登录用户,但对权限就要进行限制。
另外,根据需要可以更改密码。
(2)数据管理功能
实现数据的录入、修改和删除功能。
注意保证数据内容的完整、全面,在创建数据表字段时,应该充分考虑到图书以及图书借阅的所有的基本情况。
(3)信息查询功能
对于图书馆管理数据库中的信息,可以显示数据库中所有图书以及用户的所有信息,并能够根据不同条件对数据进行筛选,查询所需图书信息,甚至可以根据不同条件,以图形方式可视化地显示信息分析。
需求详细描述:
图书馆管理系统的用户主要是各个学校的图书馆,具体功能包括:
基本信息管理、借书、还书管理、以及用户管理。
A、基本信息管理功能模块
基本信息管理模块的主要功能包括:
读者信息、图书类别、图书信息的添加、删除和修改。
B、借书、还书功能模块
针对图书馆最主要的借书、幻术、图书查找、借阅超期查看,各功能模块完成相关数据的记录。
C、用户管理功能模块
用户管理模块的功能比较简单。
用户分为系统管理员用户和普通用户。
系统管理员用户可以创建用户、修改用户信息以及删除用户。
普通用户智能够修改自己的用户信息。
系统运行流程:
模拟系统的运行流程:
运行系统后,首先会弹出用户登录对话框,对用户的身份进行认证并确定用户的权限。
如果需要对其它任何普通用户进行管理,则使用admin用户登录,创建其它用户。
可以在系统维护菜单下进行添加、删除和修改操作。
否则建议使用user用户进行登录。
进入系统后,首先需要增加基本信息,包括:
读者信息,图书信息和图书类别信息。
基本信息是图书馆管理系统的基础数据。
它为图书馆管理系统其它模块提供数据参考。
读者信息包括读者姓名、性别、证件号码、年龄、借书证有效时间、联系电话、押金、结束量、读者编号、有效证件和证件编号等。
图书类别信息包括图书分类名,各类型图书的属性描述等。
图书信息包括图书名、图书编号、图书单价和类别等。
图书借阅模块主要实现对读者所借图书进行登记,归还图书进行归还记录操作。
对抄起的图书借阅情况进行查询,查询指定图书情况。
2.总体设计方案
根据图书馆管理的实际情况,现确定总体设计方案如下:
图1系统总体设计方案结构图
3.数据库设计
CREATETABLE`bookinfo`(
`book_id`varchar(13)NOTNULLDEFAULT'',图书编号主键
`typeId`int(11)NOTNULLDEFAULT'0',类别号
`bookname`varchar(40)NOTNULLDEFAULT'',书名
`writer`varchar(21)NOTNULLDEFAULT'',作者
`translator`varchar(30)DEFAULT'',译者
`publisher`varchar(50)NOTNULLDEFAULT'',出版社
`date`datetimeNOTNULL,出版日期
`price`decimal(18,2)NOTNULLDEFAULT'0.00',价格
PRIMARYKEY(`book_id`),
KEY`book_type_id`(`typeId`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
/*插入试例数据*/
INSERTINTO`bookinfo`VALUES
('aaaaaaaaaaaaa',2,'aa','aaaaaaaaaa','aaaaaaaaaa','北京出版社','2010-11-04',2);
CREATETABLE`booktype`(
`id`int(11)NOTNULLDEFAULT'0',图书类别主键
`typeName`varchar(20)NOTNULLDEFAULT'',类别名称
`days`int(11)DEFAULT'0',天数
`fk`doubleDEFAULT'0',罚款
PRIMARYKEY(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
/*插入试例数据*/
INSERTINTO`booktype`VALUES(2,'小说类',3,0.6);
INSERTINTO`booktype`VALUES(4,'程译设计',6,10);
INSERTINTO`booktype`VALUES(5,'网页设计',3,0.1);
INSERTINTO`booktype`VALUES(6,'平面设计',1,0.5);
INSERTINTO`booktype`VALUES(7,'文学',3,0.5);
CREATETABLE`borrow`(
`id`int(11)NOTNULL,序号、主键
`book_id`varchar(13)DEFAULT'',图书编号
`operatorId`int(11)DEFAULT'0',操作员
`reader_id`varchar(13)NOTNULLDEFAULT'',读者号
`isback`int(11)NOTNULLDEFAULT'0',是否已还
`borrowDate`datetimeNOTNULL,借出日期
`backDate`datetimeDEFAULTNULL,归还日期
KEY`b_read_id`(`reader_id`),
KEY`b_oper_id`(`operatorId`),
KEY`b_book_id`(`book_id`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
CREATETABLE`operator`(
`id`int(11)NOTNULLAUTO_INCREMENT,用户编号
`name`varchar(20)NOTNULLDEFAULT'',名称
`sex`varchar
(2)NOTNULLDEFAULT'',性别
`age`int(11)NOTNULLDEFAULT'0',年龄
`identityCard`varchar(30)NOTNULLDEFAULT
'(''111'')',出版年
`workdate`datetimeNOTNULL,入职时间
`tel`varchar(50)NOTNULLDEFAULT'()',电话
`password`varchar(10)NOTNULLDEFAULT'',密码
`type`varchar
(1)NOTNULLDEFAULT'1',用户类型
PRIMARYKEY(`id`)
)ENGINE=InnoDBAUTO_INCREMENT=26DEFAULTCHARSET=utf8;
/*插入实例数据*/
INSERTINTO`operator`VALUES
(1,'a','1',23,'******','2007-12-26','*****','1','1');
INSERTINTO`operator`VALUES
(22,'admin','1',25,'100','2010-10-27','','1','1');
INSERTINTO`operator`VALUES
(24,'a','1',11,'1111','2010-10-27','','0','1');
INSERTINTO`operator`VALUES
(25,'user','2',22,'100','2010-10-28','','0','2');
CREATETABLE`order`(
`book_id`varchar(13)NOTNULLDEFAULT'',图书编号
`date`datetimeNOTNULL,下单日期
`number`int(11)NOTNULLDEFAULT'0',下单数量
`operator`varchar(6)NOTNULLDEFAULT'',操作用户
`checkAndAccept`int(11)NOTNULLDEFAULT'0',是否已收到货物
`zk`doubleNOTNULLDEFAULT'0',折扣
PRIMARYKEY(`book_id`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
CREATETABLE`reader`(
`name`varchar(10)NOTNULLDEFAULT'',名称
`sex`varchar
(2)NOTNULLDEFAULT'',性别
`age`int(11)NOTNULLDEFAULT'0',年龄
`identityCard`varchar(30)NOTNULLDEFAULT'',证件号码
`date`datetimeNOTNULL,有效日期
`maxNum`int(11)NOTNULLDEFAULT'0',借数量
`tel`varchar(50)NOTNULLDEFAULT'',电话
`keepMoney`decimal(18,2)NOTNULLDEFAULT'0.00',押金
`zj`int(11)NOTNULLDEFAULT'0',证件类型
`zy`varchar(50)NOTNULLDEFAULT'',职业
`id`varchar(13)NOTNULLDEFAULT'',读者编号
`bztime`datetimeNOTNULL,办证日期
UNIQUEKEY`reder_id`(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
ALTERTABLE`bookinfo`
ADDCONSTRAINT`book_type_id`FOREIGNKEY(`typeId`)REFERENCES`booktype`(`id`);
ALTERTABLE`borrow`
ADDCONSTRAINT`b_book_id`FOREIGNKEY(`book_id`)REFERENCES`bookinfo`(`book_id`),
ADDCONSTRAINT`b_oper_id`FOREIGNKEY(`operatorId`)REFERENCES`operator`(`id`),
ADDCONSTRAINT`b_read_id`FOREIGNKEY(`reader_id`)REFERENCES`reader`(`id`);
ALTERTABLE`order`
ADDCONSTRAINT`ordr_book_id`FOREIGNKEY(`book_id`)REFERENCES`bookinfo`(`book_id`);
4.功能模块分析
根据系统总体设计方案,本系统包括的功能模块如下:
(1)登录界面
系统启动时先弹出如图5所示登录信息窗口,供管理员用户输入正确的用户名和密码,才能进入系统。
图5登录界面
程序:
packagecom.ts.main;
importjava.awt.BorderLayout;
importjava.awt.Dimension;
importjava.awt.Toolkit;
importjava.awt.event.ComponentAdapter;
importjava.awt.event.ComponentEvent;
import.URL;
importjavax.swing.ImageIcon;
importjavax.swing.JButton;
importjavax.swing.JDesktopPane;
importjavax.swing.JFrame;
importjavax.swing.JInternalFrame;
importjavax.swing.JLabel;
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JToolBar;
importjavax.swing.UIManager;
importjavax.swing.WindowConstants;
importjavax.swing.border.BevelBorder;
importcom.ts.form.BookLogin;
importcom.ts.tool.Icon;
/**
*主窗体
*
*/
publicclassMainextendsJFrame{
privatestaticfinalJDesktopPane
DESKTOP_PANE=newJDesktopPane();//桌面窗体
publicstaticvoidmain(String[]args){//入口方法
try{
UIManager.setLookAndFeel(UIManager
.getSystemLookAndFeelClassName());//设置系统界面外观
newBookLogin();//登录窗口
}catch(Exceptionex){
ex.printStackTrace();
}
}
publicstaticvoidaddIFame(JInternalFrameiframe){//添加子窗体的方法
DESKTOP_PANE.add(iframe);//新增子窗体
}
publicMain(){
super();
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);////设置关闭按钮处理事件
Toolkittool=Toolkit.getDefaultToolkit();//获得默认的工具箱
DimensionscreenSize=tool.getScreenSize();//获得屏幕的大小
setSize(800,600);//设置窗体大小
setLocation((screenSize.width-getWidth())/2,
(screenSize.height-getHeight())/2);//设置窗体位置
setTitle("图书馆管理系统");//设置窗体标题
JMenuBarmenuBar=createMenu();//调用创建菜单栏的方法
setJMenuBar(menuBar);//设置菜单栏
JToolBartoolBar=createToolBar();//调用创建工具栏的方法
getContentPane().add(toolBar,BorderLayout.NORTH);//设置工具栏
finalJLabellabel=newJLabel();//创建一个标签,用来显示图片
label.setBounds(0,0,0,0);//设置窗体的大小和位置
label.setIcon(null);//窗体背景
DESKTOP_PANE.addComponentListener(newComponentAdapter(){
publicvoidcomponentResized(finalComponentEvente){
Dimensionsize=e.getComponent().getSize();//获得组件大小
label.setSize(e.getComponent().getSize());//设置标签大小
label.setText("+size.height+"src='"
+this.getClass().getResource("/backImg.jpg")
+"'>");//设置标签文本,设置窗口背景
}
});
DESKTOP_PANE.add(label,newInteger(Integer.MIN_VALUE));//将标签添加到桌面窗体
getContentPane().add(DESKTOP_PANE);//将桌面窗体添加到主窗体中
}
/**
*创建工具栏
*
*@returnJToolBar
*/
privateJToolBarcreateToolBar(){//创建工具栏的方法
JToolBartoolBar=newJToolBar();//初始化工具栏
toolBar.setFloatable(false);//设置是否可以移动工具栏
toolBar.setBorder(newBevelBorder(BevelBorder.RAISED));//设置边框
JButtonbookAddButton=newJButton(MenuActions.BOOK_ADD);//图书信息添加按钮
ImageIconicon=newImageIcon(Main.class.getResource("/bookAddtb.jpg"));//添加菜单栏图标
bookAddButton.setIcon(icon);//设置按钮图标
bookAddButton.setHideActionText(true);//显示提示文本
toolBar.add(bookAddButton);//添加到工具栏中
JButtonbookModiAndDelButton=newJButton(MenuActions.BOOK_MODIFY);//图书信息修改按钮
ImageIconbookmodiicon=Icon.add("bookModiAndDeltb.jpg");//创建图标方法
bookModiAndDelButton.setIcon(bookmodiicon);//设置按钮图标
bookModiAndDelButton.setHideActionText(true);//显示提示文本
toolBar.add(bookModiAndDelButton);//添加到工具栏中
JButtonbookTypeAddButton=newJButton(MenuActions.BOOKTYPE_ADD);//图书类别添加按钮
ImageIconbookTypeAddicon=Icon.add("bookTypeAddtb.jpg");//创建图标方法
bookTypeAddButton.setIcon(bookTypeAddicon);//设置按钮图标
bookTypeAddButton.setHideActionText(true);//显示提示文本
toolBar.add(bookTypeAddButton);//添加到工具栏中
JButtonbookBorrowButton=newJButton(MenuActions.BORROW);//图书借阅按钮
ImageIconbookBorrowicon=Icon.add("bookBorrowtb.jpg");//创建图标方法
bookBorrowButton.setIcon(bookBorrowicon);//设置按钮图标
bookBorrowButton.setHideActionText(true);//显示提示文本
toolBar.add(bookBorrowButton);//添加到工具栏中
JButtonbookOrderButton=newJButton(MenuActions.NEWBOOK_ORDER);//新书订购按钮
ImageIconbookOrdericon=Icon.add("bookOrdertb.jpg");//创建图标方法
bookOrderButton.setIcon(bookOrdericon);//设置按钮图标
bookOrderButton.setHideActionText(true);//显示提示文本
toolBar.add(bookOrderButton);//添加到工具栏中
JButtonbookCheckButton=newJBut