设计报告Word格式文档下载.docx
- 文档编号:16387940
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:24
- 大小:384.59KB
设计报告Word格式文档下载.docx
《设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《设计报告Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。
张保威金松河
课程负责人签名:
2013年1月11日
课程设计任务书
一数据库的需求分析1
1.1系统功能分析1
1.2系统功能模块设计1
二数据库设计2
2.1实体信息2
2.2E—R图2
2.3数据字典3
三详细设计3
3.1书店租赁系统数据库的设计3
3.1.1书店租赁系统ER模型3
3.1.2书店租赁系统数据库表的结构5
3.2书店租赁系统主要模块的程序流程图6
3.2.1客户借书模块流程图7
3.2.2客户还书模块流程图8
四关键代码与操作界面9
五对本设计的简单描述、总结与体会20
六参考文献21
一、数据库的需求分析
如今人们的生活可谓是五彩缤纷,改革开放以来人们生活中的温饱早已得到解决,人们也开始追求精神上的享受,阅读便成为人们精神美餐的一部分。
但是有些人又不想买大量的书,读过之后就不去翻开了。
因此,图书租赁便开始产生并且不断地发展成为潮流,为了方便租赁型书店的管理人员的管理和提高工作效率,因此我们开发了书店租赁管理系统。
现在许多中小型书店对书店里的图书信息、租赁信息以及客户信息都是采用人工笔记的方式,这是比较传统的、低效率的方法。
而如今的计算机技术非常发达,为了给书店提高效率和经济效益,因此利用相关计算机技术开发出一个书店租赁管理系统是很必要的。
1.1系统功能分析
系统在界面设计方面要尽可能的人性化,对用户使用而言应该是简单易用的,在布局和设计上要科学化。
就目前而言,该系统是为中小型书店研发的,所以系统为C/S模式。
系统开发的目标是实现书店图书租赁的系统化、规范化和自动化,这是在用户要求的基础上提出来的,功能要求如下:
1、管理员能对书店租赁系统里的客户信息、图书信息、借阅信息、收入信息等进行数据的添加、修改、删除、查询以及统计的功能操作。
2、客户能够登录系统和修改密码,并且只能够查询自己的借阅信息和个人信息查询以及查询书店书库信息(包括书名、作者、出版社、库存数量等
1.2系统功能模块设计
二、数据库设计
2.1实体信息
客户(客户编号、姓名、性别、年龄),图书(书号、书名,作者,出版社、价格、年份、库存量),供应商(名称、地址),仓库(仓库号、管理员、地址、库存量),书架(架号),员工(工号)
2.2E-R图
2.3数据字典
(1)客户编号数据项定义
数据项定义
数据项编号:
1有关编码的说明:
数据项名称:
客户编号XXX
简介:
本书店客户编号客户类别编号
类型及宽度:
nchar
长度:
3
实例:
A01
表1.客户编号数据项定义
(2)客户借书信息数据流定义
数据流定义
数据流名称:
客户借书信息数据流编号:
FD-1
简述:
对客户借书进行登记
数据流来源:
管理员
数据流去向:
数据库
数据流组成:
店内编号
客户编号
已借册数
允许借书
借出日期
表2.客户借书信息数据流定义
(3)客户信息表数据存储定义
数据存储定义
名称:
客户信息表编号:
D1
书店客户的基本信息有关数据流D1P1
数据存储组成:
客户姓名
客户性别
客户类型
到期日期
三、详细设计
3.1书店租赁管理系统数据库的设计
3.1.1书店租赁管理系统E-R模型
书店租赁管理系统E-R模型
3.1.2书店租赁管理系统数据库表的结构
客户信息表(CustomerInfo)
列名
含义
数据类型
备注
主码
姓名
性别
年龄
借书名称
借书日期
客户借书日期
datetime
应还日期
实际还书日期
实还日期
押金
int
表1.客户信息表
书籍信息表(BookInfo)
书号
图书ISBN编号
书名
图书名称
出版日期
作者
图书作者
出版社
目前库存量
目前图书库存量
numeric
表2.书籍信息表
书号_店内编号表(BookID_InsideID)
图书ISBN号
char
图书店内编号
是否借出
图书是否借出
表3.书号_店内编号表
供应商供书记录(Gsjl)
名称
供应商名称
地址
供应商地址
是否供书
图书是否被供
表4.供应商供书记录表
3.2书店租赁管理系统主要模块的程序流程图
3.2.1客户借书程序流程图
3.2.2客户还书程序流程图
四、关键代码与操作界面
import
java.awt.*;
javax.swing.*;
public
class
LandMenuItem
extends
JPanel{
Box
box1,box2,box3,box4,box5;
JLabel
label1,label2,label3;
JButton
button1,button2;
LandMenuItem(){
label1
=
new
JLabel("
账
号"
);
label2
密
码"
label3
身
份"
button1
JButton("
登陆"
button2
重置"
box1
Box.createVerticalBox();
box1.add(label1);
box1.add(Box.createGlue());
box1.add(label2);
box1.add(label3);
box2
box2.add(new
TextField(30));
box2.add(Box.createVerticalStrut(10));
box3
Box.createHorizontalBox();
box3.add(Box.createHorizontalGlue());
box3.add(button1);
box3.add(Box.createHorizontalStrut(5));
box3.add(button2);
box4
box4.add(box1);
box4.add(Box.createHorizontalStrut(5));
box4.add(box2);
box5
box5.add(box4);
box5.add(Box.createVerticalStrut(20));
box5.add(box3);
add(box5);
}
}
importjava.awt.*;
importjavax.swing.*;
publicclassConsumeMenuItemextendsJPanel{
Boxbox1,box2,box3,box4,box5;
JLabellabel1,label2,label3,label4;
JButtonbutton1,button2,button3;
ConsumeMenuItem(){
label1=newJLabel("
进货时间"
label2=newJLabel("
进货数量"
label3=newJLabel("
产品信息"
label4=newJLabel("
产品数量"
button1=newJButton("
确定"
button2=newJButton("
button3=newJButton("
清空"
box1=Box.createVerticalBox();
box1.add(Box.createVerticalStrut(15));
box1.add(label4);
box2=Box.createVerticalBox();
box2.add(newTextField(30));
box3=Box.createHorizontalBox();
box3.add(button3);
box4=Box.createHorizontalBox();
box5=Box.createVerticalBox();
}
importjava.awt.Container;
importjava.awt.FlowLayout;
importjava.awt.GraphicsConfiguration;
importjava.awt.HeadlessException;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjavax.swing.JButton;
importjavax.swing.JCheckBox;
importjavax.swing.JComboBox;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPasswordField;
importjavax.swing.JTextField;
publicclassLoginGuiextendsJFrame{
privateJButtonlogin,reset;
privateJLabellb1,lb2,lb3;
privateJTextFieldf1;
privateJPasswordFieldf2;
privateJComboBoxjcb;
privateContainerc;
LoginGui(){
//初始化
c=this.getContentPane();
login=newJButton("
reset=newJButton("
取消"
lb1=newJLabel("
用户名"
lb2=newJLabel("
密码"
lb3=newJLabel("
登陆身份"
jcb=newJComboBox();
jcb.addItem("
管理员"
学生"
f1=newJTextField(10);
f2=newJPasswordField(10);
//放到面板上
this.setLayout(newFlowLayout());
this.add(lb1);
this.add(f1);
this.add(lb2);
this.add(f2);
this.add(lb3);
this.add(jcb);
//添加监听器
login.addActionListener(newLoginListener());
reset.addActionListener(newResetListener());
this.add(login);
this.add(reset);
//添加窗口关闭事件
this.addWindowListener(newWindowAdapter(){
@Override
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
//设置标题
this.setTitle("
请登录…"
//设置大小
this.setSize(180,180);
//设置大小不可变
this.setResizable(false);
//可见
this.setVisible(true);
publicstaticvoidmain(String[]args){
newLoginGui();
classLoginListenerimplementsActionListener{
@Override
publicvoidactionPerformed(ActionEvente){
StringBuffersb=newStringBuffer();
sb.append("
用户名:
"
).append(f1.getText()).append("
\n"
密码:
).append(f2.getText()).append("
sb.append("
登陆身份:
).append(jcb.getSelectedItem()).append("
Stringmsg="
图书管理系统v1.0\n欢迎进入\n"
;
Stringtitle="
登陆信息"
JOptionPane.showMessageDialog(c,msg+sb.toString(),title,JOptionPane.INFORMATION_MESSAGE);
}
classResetListenerimplementsActionListener{
f1.setText("
f2.setText("
图书管理系统v1.0\n请重新输入"
JOptionPane.showMessageDialog(c,msg,title,JOptionPane.INFORMATION_MESSAGE);
java.awt.event.*;
MaFrame
JFrame
implements
ActionListener{
CardLayout
myCard;
Panel
p;
MessageSearch
p1;
ConsumeMenuItem
p2;
p3;
//登陆的
HistoryMenuItem
p4;
JTableDemo
p5;
MenuBar
menuBar;
Menu
menu1,menu2,menu3,menu4,menu5;
MenuItem
item1,item2,item3,item4,item5,item6,item7,item8,item9;
MaFrame(){
this.setTitle("
书店管理信息系统"
myCard
CardLayout();
p
Panel();
p.setLayout(myCard);
menuBar
MenuBar();
menu1
Menu("
menu2=new
书籍信息"
menu3=new
仓库管理"
menu4=new
供应商"
menu5=new
退出系统"
item1=new
MenuItem("
item2=new
注销"
item3=new
查看书籍"
item4=new
借出书籍"
item5=new
仓库查看"
item6=new
添加仓库"
item7=new
供应商查看"
item8=new
添加供应商"
item9=new
退出"
this.setMenuBar(menuBar);
menuBar.add(menu1);
menuBar.add(menu2);
menuBar.add(menu3);
menuBar.add(menu4);
menuBar.add(menu5);
menu1.add(item1);
menu1.add(item2);
menu2.add(item3);
menu2.add(item4);
menu3.add(item5);
menu3.add(item6);
menu4.add(item7);
menu4.add(item8);
menu5.add(item7);
menu5.add(item8);
menu5.add(item9);
item1.addActionListener(this);
item2.addActionListener(this);
item3.addActionListener(this);
item4.addActionListener(this);
item5.addActionListener(this);
item6.addActionListener(this);
item7.addActionListener(this);
item8.addActionListener(this);
item9.addAc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 报告