完整版图书管理系统软件工程毕业课程设计Word格式文档下载.docx
《完整版图书管理系统软件工程毕业课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《完整版图书管理系统软件工程毕业课程设计Word格式文档下载.docx(39页珍藏版)》请在冰豆网上搜索。
![完整版图书管理系统软件工程毕业课程设计Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-10/9/c40e960f-d3c3-4d9c-8d55-632a4698f901/c40e960f-d3c3-4d9c-8d55-632a4698f9011.gif)
SQLServer2005JCreator1.7
作图软件:
RationalRoseEnterpriseEdition2003
(三)进度安排
该软件应用JCreater1.7和SQLServer2005进行编程,历时大概一周,最终完成了这个小型图书管理系统。
由于时间仓促,该小型图书管理系统并不完善。
我用了两天时间查找相关资料,两天时间编写代码和连接数据库。
其余三天开始应用RationalRoseEnterpriseEdition2003画数据流图、结构图、流程图、用例图和包图类图。
整个过程系我一人完成。
二、结构化分析设计
(一)数据流图
书籍信息读者信息
读者信息查询信息
图2.1-1图书管理系统的顶层DFD
book表
录入信息查询请求
更新信息查询结果
reader表
图2.1-2图书管理系统的第二层DFD
book表reader表
图2.1-3图书管理系统的第三层DFD
查询结果
查询请求
无效请求有效请求
book表
图2.1-4图书管理系统的第三层DFD
(二)数据字典
数据流
数据流编号
D01
数据流名称
查询读者信息
数据流组成
学号
D02
查询读者信息结果
学号+姓名+性别+年龄+密码+系别
D03
添加书籍信息
索书号+书名+数量+作者+出版社
D04
删除书籍信息
索书号
D05
更新书籍信息
D06
查询书籍信息
D07
查询书籍信息结果
数据项
数据项名
取值
姓名
4-6字符
性别
2字符
年龄
正整数
密码
6字符
系别
0—20字符
书名
0-20字符
数量
作者
出版社
(三)加工说明
审查用户查询书籍信息请求
2.3图-加工说明
(四)结构图
图2.4-1—图书管理系统上层框架
图2.4-2-图书管理子系统初始SC图
图2.4-3-图书管理子系统初始SC图
图2.4-4-图书管理系统SC图的上层框架
(五)流程图
图2.5-1—图书管理系统登录流程图
图2.5-2—读者信息查询流程图
图2.5-3—添加书籍流程图
图2.5-4—删除书籍流程图
图2.5-5—更新书籍流程图
图2.5-6—查询书籍流程图
三、面向对象分析设计
(一)用例图
用例图在需求分析阶段有重要作用,它是作为参与者的外部用户所能观察到的系统功能模型图。
整个开发过程都是围绕需求阶段用例进行的。
首先需要确定参与者。
管理员在登录后对读者信息进行查询以及对书籍的添加、删除、更新和查询。
用户在登录后可以对书籍信息进行查询。
图书管理系统管理员-用户用例图
(二)对象行为模型
继续选择服务登录错误
登录正确
查询读者信息
(三)系统包图
数据库包:
包含数据库中所有的数据信息
用户包:
包含要使用系统的用户及其属性
管理员包:
包含要使用系统的管理员及其属性
接口包:
表示系统和数据库的借口
系统包:
表示图书管理系统
(四)类图
类是面对对象系统组成的核心。
类是对一组相同属性、操作、关系和语义的对象的描述。
这些对象包括了对现实世界中的物理实体、商业事务、逻辑事务、应用事务和行为事务等,甚至也包括了纯粹概念性的事务,它们都是类的实例。
图3.4-1类图
图3.4-2系统的类图
四、系统实现
(一)程序代码
1.主窗口界面
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjavax.swing.border.TitledBorder;
importjava.awt.Font;
importjavax.swing.JMenu;
publicclassMainWindowextendsJFrameimplementsActionListener
{privatestaticfinallongserialVersionUID=1L;
staticStringloginName;
staticStringloginNo;
JLabelmlabel;
JPaneljp=newJPanel();
建立菜单栏
JMenuBarmenu=newJMenuBar();
JMenua=newJMenu();
JMenub=newJMenu();
JMenuc=newJMenu();
建立系统管理菜单组
JMenuItemaa=newJMenuItem();
JMenuItemab=newJMenuItem();
JMenuItemac=newJMenuItem();
建立读者管理菜单组
JMenuItembb=newJMenuItem();
建立书籍管理菜单组
JMenuItemca=newJMenuItem();
JMenuItemcb=newJMenuItem();
JMenuItemcc=newJMenuItem();
JMenuItemcd=newJMenuItem();
publicMainWindow(){
super("
图书管理系统"
);
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}});
Containerd=getContentPane();
this.setSize();
this.setTitle("
d.add(menu);
menu.add(a);
menu.add(b);
menu.add(c);
添加菜单组
a.setText("
系统管理"
a.setFont(newFont("
Dialog"
0,12));
b.setText("
读者管理"
b.setFont(newFont("
c.setText("
书籍管理"
c.setFont(newFont("
生成系统管理菜单组的选项
aa.setText("
登录"
aa.setFont(newFont("
ab.setText("
退出登录"
ab.setFont(newFont("
ac.setText("
退出系统"
ac.setFont(newFont("
生成读者管理菜单组的选项
bb.setText("
查询读者信息"
bb.setFont(newFont("
生成书籍管理菜单组的选项
ca.setText("
添加书籍"
ca.setFont(newFont("
cb.setText("
删除书籍"
cb.setFont(newFont("
cc.setText("
查询读书信息"
cc.setFont(newFont("
cd.setText("
更新书籍"
cd.setFont(newFont("
添加系统管理菜单组
a.add(aa);
a.add(ab);
a.add(ac);
添加读者管理菜单组
b.add(bb);
添加书籍管理菜单组
c.add(ca);
c.add(cb);
c.add(cc);
c.add(cd);
添加事件侦听
aa.addActionListener(this);
ab.addActionListener(this);
ac.addActionListener(this);
bb.addActionListener(this);
ca.addActionListener(this);
cb.addActionListener(this);
cc.addActionListener(this);
cd.addActionListener(this);
setJMenuBar(menu);
}
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==aa){
UserLoginlogin=newUserLogin(this);
login.setVisible(true);
if(e.getSource()==ab){
setVisible(false);
MainWindowmainFrame=newMainWindow();
mainFrame.setLocation();
mainFrame.setVisible(true);
}
if(e.getSource()==ac)
{System.exit(0