设计报告.docx
- 文档编号:3482532
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:24
- 大小:384.59KB
设计报告.docx
《设计报告.docx》由会员分享,可在线阅读,更多相关《设计报告.docx(24页珍藏版)》请在冰豆网上搜索。
设计报告
郑州轻工业学院本科
数据库课程设计总结报告
设计题目:
书店租赁管理系统
学生姓名:
李文静李艳
系别:
计算机与通信工程学院
专业:
计算机科学与技术
班级:
计算机科学与技术10-01班
学号:
541007010120541007010121
指导教师:
张保威金松河
2013年1月11日
郑州轻工业学院
课程设计任务书
题目书店租赁管理系统
专业、班级计算机科学与技术10-01
学号2021姓名李文静李艳
主要内容:
系统数据初始化;员工基本信息录入与修改;职工工资标准基本设定;员工工资查询;系统用户设定,密码修改等。
基本要求:
立足于高校工资管理的实际事务,开发具有价值的工资管理专用软件,实现工资管理自动化,提高工作效率,减少手工工作方式难以避免的数据错漏。
主要参考资料等:
《数据库系统概论》作者:
王珊萨师煊出版社:
高等教育出版社
《SQLServer2005中文版关系数据库基础与实践教程》作者:
周峰
出版社:
电子工业出版社。
《SQLServer数据库开发实例精粹》作者:
徐国智汪孝宜等
出版社:
电子工业出版社。
完成期限:
两周
指导教师签名:
张保威金松河
课程负责人签名:
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)
列名
含义
数据类型
备注
客户编号
客户编号
nchar
主码
姓名
姓名
nchar
性别
性别
nchar
年龄
年龄
nchar
借书名称
借书名称
nchar
借书日期
客户借书日期
datetime
应还日期
应还日期
datetime
实际还书日期
实还日期
datetime
押金
押金
int
表1.客户信息表
书籍信息表(BookInfo)
列名
含义
数据类型
备注
书号
图书ISBN编号
nchar
主码
书名
图书名称
nchar
出版日期
出版日期
datetime
作者
图书作者
nchar
出版社
出版社
nchar
目前库存量
目前图书库存量
numeric
表2.书籍信息表
书号_店内编号表(BookID_InsideID)
列名
含义
数据类型
备注
书号
图书ISBN号
char
主码
店内编号
图书店内编号
char
主码
是否借出
图书是否借出
char
表3.书号_店内编号表
供应商供书记录(Gsjl)
列名
含义
数据类型
备注
名称
供应商名称
char
主码
地址
供应商地址
char
主码
是否供书
图书是否被供
char
表4.供应商供书记录表
3.2书店租赁管理系统主要模块的程序流程图
3.2.1客户借书程序流程图
3.2.2客户还书程序流程图
四、关键代码与操作界面
import java.awt.*;
import 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 = new JLabel("密 码");
label3 = new JLabel("身 份");
button1 = new JButton("登陆");
button2 = new JButton("重置");
box1 = Box.createVerticalBox();
box1.add(label1);
box1.add(Box.createGlue());
box1.add(label2);
box1.add(Box.createGlue());
box1.add(label3);
box2 = Box.createVerticalBox();
box2.add(new TextField(30));
box2.add(Box.createVerticalStrut(10));
box2.add(new TextField(30));
box2.add(Box.createVerticalStrut(10));
box2.add(new TextField(30));
box3 = Box.createHorizontalBox();
box3.add(Box.createHorizontalGlue());
box3.add(button1);
box3.add(Box.createHorizontalStrut(5));
box3.add(button2);
box4 = Box.createHorizontalBox();
box4.add(box1);
box4.add(Box.createHorizontalStrut(5));
box4.add(box2);
box5 = Box.createVerticalBox();
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(label1);
box1.add(Box.createGlue());
box1.add(label2);
box1.add(Box.createVerticalStrut(15));
box1.add(label3);
box1.add(Box.createVerticalStrut(15));
box1.add(label4);
box2=Box.createVerticalBox();
box2.add(newTextField(30));
box2.add(Box.createVerticalStrut(10));
box2.add(newTextField(30));
box2.add(Box.createVerticalStrut(10));
box2.add(newTextField(30));
box2.add(Box.createVerticalStrut(10));
box2.add(newTextField(30));
box3=Box.createHorizontalBox();
box3.add(Box.createHorizontalGlue());
box3.add(button1);
box3.add(Box.createHorizontalStrut(5));
box3.add(button2);
box3.add(Box.createHorizontalStrut(5));
box3.add(button3);
box4=Box.createHorizontalBox();
box4.add(box1);
box4.add(Box.createHorizontalStrut(5));
box4.add(box2);
box5=Box.createVerticalBox();
box5.add(box4);
box5.add(Box.createVerticalStrut(20));
box5.add(box3);
add(box5);
}
}
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("管理员");
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");
sb.append("密码:
").append(f2.getText()).append("\n");sb.append("登陆身份:
").append(jcb.getSelectedItem()).append("\n");
Stringmsg="图书管理系统v1.0\n欢迎进入\n";
Stringtitle="登陆信息";
JOptionPane.showMessageDialog(c,msg+sb.toString(),title,JOptionPane.INFORMATION_MESSAGE);
}
}
classResetListenerimplementsActionListener{
@Override
publicvoidactionPerformed(ActionEvente){
f1.setText("");
f2.setText("");
Stringmsg="图书管理系统v1.0\n请重新输入";
Stringtitle="登陆信息";
JOptionPane.showMessageDialog(c,msg,title,JOptionPane.INFORMATION_MESSAGE);
}
}
}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class MaFrame extends JFrame implements ActionListener{
CardLayout myCard;
Panel p;
MessageSearch p1;
ConsumeMenuItem p2;
LandMenuItem p3;//登陆的
HistoryMenuItem p4;
JTableDemo p5;
MenuBar menuBar;
Menu menu1,menu2,menu3,menu4,menu5;
MenuItem item1,item2,item3,item4,item5,item6,item7,item8,item9;
public MaFrame(){
this.setTitle("书店管理信息系统");
myCard = new CardLayout();
p = new Panel();
p.setLayout(myCard);
menuBar = new MenuBar();
menu1 = new Menu("登陆");
menu2=new Menu("书籍信息");
menu3=new Menu("仓库管理");
menu4=new Menu("供应商");
menu5=new Menu("退出系统");
item1=new MenuItem("登陆");
item2=new MenuItem("注销");
item3=new MenuItem("查看书籍");
item4=new MenuItem("借出书籍");
item5=new MenuItem("仓库查看");
item6=new MenuItem("添加仓库");
item7=new MenuItem("供应商查看");
item8=new MenuItem("添加供应商");
item9=new MenuItem("退出");
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文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 报告