搜档网
当前位置:搜档网 › 图书管理系统数据库课程设计实验报告

图书管理系统数据库课程设计实验报告

图书管理系统数据库课程设计实验报告
图书管理系统数据库课程设计实验报告

数据库课程设计实验报告

摘要

随着人类社会的不断进步,科学技术有了长足的发展,尤其是在当今中国知识经济时代,知识大爆炸带来了全球图书企业的飞速发展,这些书籍为科技的发展做出了巨大的贡献。人类短短的几十年创造了大量的书籍资源,但是图书数量之多,也使得其管理起来非常的繁琐,随着信息时代的到来,图书的信息化管理使得问题得以解决,图书馆管理系统的出现就显得水到渠成了。

本系统主要上可以分为两大模块:图书馆管理员模块和读者登录模块,并在这两大模块下分成多个子模块。图书的使用对象是借阅者,例如学生,教师,管理员;而管理者同时也是图书馆的管理者。

因此根据这些信息,本系统的主要功能就是:实现图书馆图书信息的管理和维护,如用户信息管理,管理员信息管理,图书浏览,书架管理信息,图书馆规则维护,新书入库,整理图书,修改图书信息和进行查询等;以及系统的图书信息查询,图书的借出和归还等功能图书信息管理系统能够为用户提供充足的信息和快捷的查询手段.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

目录:

第一章:需求分析

1,学生用户端

2,教师用户端

第二章:总体设计

1,系统分析

2,可行性分析

3,系统目标

4,系统功能设计

5,构建开发环境

第三章:数据库设计

1,数据库分析

2,项目E-R图

3,数据库表的设计

第四章:程序模块设计

1,用户登录模块

2,数据库操纵框架

3,登录界面实现

4,管理端界面的设计

5,查询图书界面模块

6,借阅预约图书功能模块

7,归还挂失图书功能

8,图书超期处理模块

9,学生用户管理模块

10,,管理员管理模块

11,超级管理员功能开发

第五章:主要模块界面

第六章:程序源代码

第七章:参考文献

1,需求分析

当决定要开发一个信息系统时,首先要对信息系统的需求进行分析,需求分析要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。

抽象出当前系统的逻辑模型。在理解当前系统“怎么做”的基础上,抽取其“做什么”的本质,从而从当前系统的物理模型抽象出当前系统的逻辑模型。在物理模型中有许多物理因素,随着分析工作的深入,有些非本质的物理因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的物理因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的和非本质的困素,去

掉那些非本质的困素即可获得反映系统本质的逻辑模型。

管理员登录过程:当管理员在登录页面输入正确的用户名和密码后,通过客户端和服务器的双重校验,并且检测数据库中的对应的用户名和密码是否正确,如果是正确的,则表示管理员登录成功并进入管理员操作页面学生用户端:查询图书,学生用户可以进行简单的查询和高级查询,预约图书,当要借的的书不在馆时,可以提前预约。挂失图书,图书丢失要挂失,可以在学生用户端实现。

管理员端:学生用户管理,实现学生用户信息的修改,删减,添加,查询。图书管理,包括对图书的增加,删减,查询等。管理员管理:操作者包括超级管理员和普通管理员,超级管理员可以对普通管理员进行删减,查询等操作,而普通管理员只有修改自己密码的权限。借阅管理:主要是学生借阅管理,归还图书和缴纳罚款的管理。

2,总体设计

系统不但要满足客户提出的要求,同时也要考虑其性能。因此,在项目开发之前,首先要进行需求分析和可行性研究,这就是进行项目开发的基础。

利用MVC设计模式,模块间实现高内聚,低耦合。界面设计美观大方,操作简单。功能完善,结构清晰。

能够快速的进行图书馆信息,图书馆参数,书架,管理员等信息等系统的设置。

能够快速、准确的进行读者类型管理的相关功能,如读者类型增加、修改、删除。

能够快速、准确的进行读者档案管理的相关功能,如读者档案的详细信息的查看,读者档案的增加、修改、查询。

能够快速、准确的进行图书类型管理的相关功能,如图书类型的增加、修改、删除。

能够快速、准确的进行图书档案管理的相关功能,如图书档案的详细信息的查看,图书档案的增加、修改、删除。

能够快速、准确的进行图书借阅的相关功能,如图书借阅,图书借阅查询,图书归还,图书续借等。

能够快速准确的进行系统的相关功能查询,如图书借阅查询、图书到期查询、图书档案查询等。

能够快速、准确的进行管理员的相关功能,如管理员的增加、修改管理员密码、删除管理员。

能够快速、准确的进行管理员或者读者的登录。

能够快速、准确的让读者进行读者功能模块的浏览。

3,可行性研究

可行性分析是对项目的可行程度进行分析,以便管理层对资金以及技术的投入进行决策,包括技术可行性,经济可行性,营运可行性。对于本项目而言,图书是人类获取知识最重要的途径,随着读者的日益增加,对图书的管理要求也增大很多,从图书馆的需求以及现有的技术等方面研究该图书管理系统的可行性。

当前该图书馆的管理比较粗放,还有大部分需要手工操作,对信息的维护不仅费用高而且工作量大,而且信息的安全性很难得到保障,学校支出了适量的资金进行本系统的开发。使用本系统后大部分工作将实现自动化,图书馆只需花费很少的人力和物力进行系统的维护即可。

根据上述分析,公司为此项目结构清晰,功能合理,而且使用JAVA SE技术能够进行开发,并实现客户的需求的全部功能,由于这是一个中小型系统,客户要求的开发时间完全充裕,利润与开发成本也比较高,这可在一定程度上提高了公司的效益,因此决定开发此项目。

系统功能结构

本系统包括学生端和管理员端,有借阅图书,预约图书,查询图书,挂失图书,超期交纳罚款等功能模块,结构如下:

3,数据库设计

数据库作为系统的基础,首先要保证其设计的合理性,在使用应用系统的时候,拥有设计合理的数据库往往可以起到事半功倍的效果,在系统的维护,功能拓展时,这一优点尤其得到很好的体现。

系统包含的实体主要有:图书、学生、管理员等,下面将分别介绍各实体及实体间的E-R图。通过其E-R图读者可以更好地理解各实体的属性关系。下面就以学生实体为例,来进行介绍,

学生E-R图如图所示

管理员

管理员E-R图

数据库表的设计

主要有学生信息表和管理员信息表还有图书信息表为例

字段名称数据类型字段大小是否主键是否为空说明STUNO Int N/A 是否学号StuName Varchar 50 否是姓名StuAge Int N/A 否是年龄StuSex Varchar 50 否是性别Class Varchar 50 否是班级Department Varchar 50 否是院系

Tel Char 11 否是电话Permitted Varchar 50 否是借阅许可Password Varchar 20 否是密码学生用户信息表

字段名称数据类型字段大小是否主键是否为空说明mgNo Int N/A 是否管理员ID Permitted Varchar 50 否否管理员权限Password Varchar 50 否否管理员密码

管理员信息表

字段名称数据类型字段大小是否主键是否为空说明BookNo 是否图书ID BookName 否是图书名称Auther 否是图书作者Publishment 否是出版社ButTime 否是购进日期Borrowed 否是是否借阅Ordered 否是是否预约图书基本信息表

字段名称数据类型字段大小是否主键是否为空说明BookNo int N/A 是否书号STUNO varchar 50 否否学号BorrorTime varchar 50 否是借阅时间ReturnTime varchar 50 否是归还时间Borrowed varchar 50 否是是否借阅Ordered varchar 50 否是是否预约借阅图书信息

字段名称数据类型字段大小是否主键是否为空说明StuNO Int N/a 是否学号BookNO Int N/A 否是书号BookName Varchar 50 否是书名DelayTime varchar 50 否是超期天数超期图书信息表

字段名称数据类型字段大小是否主键是否为空说明BookNO Int N/A 是否书号StuName varchar 50 否是学生姓名Class varchar 50 否是班级BookName varchar 50 否是书名StuNO Int N/A 否是学生ID Auther varchar 50 否是作者

预约图书表如上

字段名称数据类型字段大小是否主键是否为空说明LBNO Int N/A 是否挂失书号BookNO Int N/A 否是书号BookName Varchar 50 否是书名StuNO int N/A 否是学生ID

第四章:程序模块设计

1,用户登录模块设计

用户登录界面的主要功能是验证登录者的身份和权限,只有学生用户或管理员才能登录与之对应的管理系统。在登录界面,通过对各项登录条件的验证,就可以确认用户的使用权限。下面将介绍登陆模块的具体开发。

登录界面开发

界面构造器的实现

管理员登录模块需要对管理员登录是输入的用户名和密码进行检验,当管理员输入用户名和密码后,系统需要对输入的参数与数据库中的所存储的参数进行

对比,当用户名和密码相对应且都正确时能能够成功登录到管理员的操作首页Login.jsp是管理员的登录界面,主要功能是将管理员输入的用户名和密码提交到manager.action进行处理而且能够进行简单的客户端校验。Manager.action 是对用户提交的用户名和密码进行服务器端的校验。当用户提交了数据后,manager.action将调用managerdao中的check()检测用户提交的数据是否匹配数据库中的数据,各代码如下所示

Login.jsp代码如下:

package wyf.hxl;

import javax.swing.*;import java.awt.*;

import java.awt.event.*;import javax.swing.table.*;

import javax.swing.event.*;import java.sql.*;

import java.util.*;import java.util.Date;

public class Login extends JFrame implements ActionListener{

private JPanel jp=new JPanel();//创建JPanel对象

private JLabel []jlArray={//创建标签组

new JLabel("用户IP"),new JLabel("端口号"),new JLabel("用户名"),

new JLabel("密码"),new JLabel("")

};

private JButton[] jbArray={//创建按钮数组

new JButton("学生登录"),new JButton("清空"),new JButton("管理员登录")

};

private JTextField[] jtxtArray={ //创建文本框

new JTextField("localhost"),new JTextField("3306"),new JTextField("10001")

};

private JPasswordField jpassword=new JPasswordField(""); //创建密码框

String sql;

DataBase db;

public Login(){

jp.setLayout(null); //设置JPanel的布局管理器

for(int i=0;i<4;i++){ //对标签与按钮控件循环处理

jlArray[i].setBounds(30,20+i*50,80,25);//设置标签与按钮的大小和位置

jp.add(jlArray[i]);//将标签和按钮添加进JPanel容器中

}

for(int i=0;i<3;i++){//设置按钮的大小位置并为其添加事件监听器

jbArray[i].setBounds(10+i*120,230,100,25);

jp.add(jbArray[i]);

jbArray[i].addActionListener(this);

}

for(int i=0;i<3;i++){//设置文本框的大小位置并为其添加事件监听器

jtxtArray[i].setBounds(80,20+50*i,180,25);

jp.add(jtxtArray[i]);

jtxtArray[i].addActionListener(this);

}

jpassword.setBounds(80,170,180,25);//设置密码框的大小位置

jp.add(jpassword);//将密码框添加进JPanel容器

jpassword.setEchoChar('*');//设置密码框的回显字符

jpassword.addActionListener(this);//为密码框注册监听器

jlArray[4].setBounds(10,280,300,25);//设置用于显示登录状态的标签的大小位置jp.add(jlArray[4]); //将标签添加进JPanel容器

this.add(jp);

Image image=new ImageIcon("ico.gif").getImage();//对logo图片进行初始化this.setIconImage(image);

//设置窗体的大小位置及可见性

this.setTitle("登录");

this.setResizable(false);

this.setBounds(100,100,400,350);

this.setVisible(true);

}

//实现ActionListener接口中的方法

public void actionPerformed(ActionEvent e)

{//事件源为文本框

String mgno=jtxtArray[2].getText().trim();

String mgIP=jtxtArray[0].getText().trim();

String port=jtxtArray[1].getText().trim();

String message=mgIP+":"+port;

DataBase.message=message;//将本方法椎谋淞孔魑 问 持蹈鳧ataBase方法的私有变量

DataBase.log=this;

if(e.getSource()==jtxtArray[0]){

jtxtArray[1].requestFocus();//切换输入焦点到密码框

}

if(e.getSource()==jtxtArray[1]){

jtxtArray[2].requestFocus();//切换输入焦点到密码框

}

if(e.getSource()==jtxtArray[2]) {

jpassword.requestFocus();//切换输入焦点到密码框

}

else if(e.getSource()==jbArray[1]){//事件源为清空按钮

//清空所有信息

jlArray[4].setText("");

jtxtArray[2].setText("");

jpassword.setText("");

//将输入焦点设置到文本框

jtxtArray[2].requestFocus();

}

else if(e.getSource()==jbArray[2]){//事件源为管理员登录按钮

//判断用户名和密码是否匹配

if(!mgno.matches("\\d+"))

{//如果用户名格式输入有误

JOptionPane.showMessageDialog(this,"用户名格式错误!!!","信息", https://www.sodocs.net/doc/cd14052857.html,RMATION_MESSAGE);

return;

}

if(jtxtArray[0].getText().trim().equals(""))

{//如果"用户IP"文本框为空,提示

JOptionPane.showMessageDialog(this,"用户IP不能为空!!!","信息", https://www.sodocs.net/doc/cd14052857.html,RMATION_MESSAGE);

return;

}

if(jtxtArray[1].getText().trim().equals(""))

{//如果"端口号"文本框为空,提示

JOptionPane.showMessageDialog(this,"用户端口号不能为空!!!","信息", https://www.sodocs.net/doc/cd14052857.html,RMATION_MESSAGE);

return;

}

sql="select mgNo,password from manager where mgNo="+Integer.parseInt(mgno); db=new DataBase();

db.selectDb(sql);//以上三行是对用户名和密码进行查询,验证身份

try{

String mgNo="";

String password="";

while(db.rs.next()){//取出结果集中数据并赋值

mgNo=db.rs.getString(1).trim();

password=db.rs.getString(2).trim();

}

if(jtxtArray[2].getText().trim().equals(mgNo)&&

String.valueOf(jpassword.getPassword()).equals(password)){//登录成功

jlArray[4].setText("恭喜您,登录成功!!!");

new Root(mgNo);

this.dispose();

}

else{//登录失败

jlArray[4].setText("对不起,登录失败!!!");

}

}

catch(Exception e1){e1.printStackTrace();}

db.dbClose();//关闭数据库链接

}

else if(e.getSource()==jbArray[0]){//事件源为学生登录按钮

if(!jtxtArray[2].getText().trim().matches("\\d+")){

//若学号格式错误,输出提示对话框

JOptionPane.showMessageDialog(this,"输入有误,学号只能为数字!!!",

"消息", https://www.sodocs.net/doc/cd14052857.html,RMATION_MESSAGE);

return;

}

if(jtxtArray[0].getText().trim().equals("")){//若"用户IP"文本框输入为空,提示JOptionPane.showMessageDialog(this,"用户IP不能为空!!!","信息", https://www.sodocs.net/doc/cd14052857.html,RMATION_MESSAGE);

return;

}

if(jtxtArray[1].getText().trim().equals("")){//若"端口号"文本框输入为空,提示JOptionPane.showMessageDialog(this,"用户端口号不能为空!!!",

"信息",https://www.sodocs.net/doc/cd14052857.html,RMATION_MESSAGE);

return;

}

//查询学号文本中所输学号是否存在于STUDENT表中

sql="select StuNO,Password from STUDENT where StuNO="

+Integer.parseInt(jtxtArray[2].getText().trim());

db=new DataBase();

db.selectDb(sql);

try{

if(!(db.rs.next())){//若学号错误,输出提示对话框

JOptionPane.showMessageDialog(this,"输入了错误的学号!!",

"消息", https://www.sodocs.net/doc/cd14052857.html,RMATION_MESSAGE);

}

else{//得到输入学号的学生的姓名和班级

String stuNO=db.rs.getString(1).trim(),

password=db.rs.getString(2).trim();

if(jtxtArray[2].getText().trim().equals(stuNO)&&

String.valueOf(jpassword.getPassword()).equals(password)){//登录成功jlArray[4].setText("恭喜您,登录成功!!!");

new StudentSystem();

this.dispose();

}

else{//登录失败

jlArray[4].setText("对不起,登录失败!!!");

}

}

}

catch(Exception ex) { ex.printStackTrace();}

db.dbClose(); //关闭数据库链接

}

}

public static void main(String[]args)

{

new Login();

}

}登录失败:

登录成功:

学生端登录成功

2,数据库操作类框架

3,public class DataBase

4,{

5,Connection con=null;//声明Connection引用6,Statement stat;

7,ResultSet rs;

8,int count;

9,public static String message; //声明一个静态成员变量

10,public static Login log;

11,public DataBase(){

12,try{//加载MySQL的驱动类,并创建数据库连接

13,Class.forName("org.gjt.mm.mysql.Driver");

14,//con=java.sql.DriverManager.getConnection("jdbc:mysql:// localhost:3306/test","root",null);

15,con=DriverManager.getConnection("jdbc:mysql://"+message+"

/test?useUnicode=true&characterEncoding=GBK","root","zhan ghai");

16,stat=con.createStatement();//创建Statement对象

17,}

18,catch(Exception e){//如果从Login类传的参数不对,则提示出错19,JOptionPane.showMessageDialog(log,"用户IP或端口号错误!!!

",

20,"信息",https://www.sodocs.net/doc/cd14052857.html,RMATION_MESSAGE);

21,}

22,}

23,public void selectDb(String sql){//声明select方法

24,try{

25,//sql = new String(sql.getBytes(),"ISO-8859-1");

26,rs=stat.executeQuery(sql);

27,}

28,catch(Exception ie){ie.printStackTrace();}

29,}

30,public int updateDb(String sql){//声明update方法

31,try{

32,sql = new String(sql);//转码

33,count=stat.executeUpdate(sql);

34,}

35,catch(Exception ie){ie.printStackTrace();}

36,return count;

37,}

38,public void dbClose(){//声明close方法

39,try{con.close();}

40,catch(Exception e){e.printStackTrace();}

41,}

42, }

这段代码主要实现了加载MYSQL的JDBC驱动。并且创建了数据库连接和STATEMENT对象

3,管理端界面的实现模块

管理端界面的实现,窗体左边是一个树状列表控件,右边是一个卡片布局的面板,实现代码如下:

package wyf.hxl;

import java.awt.*;

import java.awt.event.*;

import javax.swing.event.*;

import javax.swing.*;

import javax.swing.tree.*;

import java.io.*;

public class Root extends JFrame

{

//创建节点数组

DefaultMutableTreeNode[] dmtn=

{new DefaultMutableTreeNode(new NodeValue("图书馆管理系统")),

new DefaultMutableTreeNode(new NodeValue("学生用户管理")),

new DefaultMutableTreeNode(new NodeValue("图书管理")),

new DefaultMutableTreeNode(new NodeValue("查询图书")),

new DefaultMutableTreeNode(new NodeValue("借阅预约图书")),

new DefaultMutableTreeNode(new NodeValue("归还挂失图书")),

new DefaultMutableTreeNode(new NodeValue("交纳罚款")),

new DefaultMutableTreeNode(new NodeValue("管理员管理")),

new DefaultMutableTreeNode(new NodeValue("退出"))};

DefaultTreeModel dtm=new DefaultTreeModel(dmtn[0]);//创建树模型,指定根节点为"学生管理系统"

JTree jt=new JTree(dtm);//创建包含dtm树模型的JTree对象

JScrollPane jsp=new JScrollPane(jt);//为JTree创建滚动窗体

private JSplitPane jsplr=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true);//创建分割窗体对象

private JPanel jp=new JPanel();//创建JPanel对象

Image image=new ImageIcon("tsgl.jpg").getImage();

ImageIcon ii = new ImageIcon(image);

private JLabel jlRoot=new JLabel(ii);

private Manager mg;//登陆管理员名

String mgNo;//管理员ID

CardLayout cl=new CardLayout();//获取卡片布局管理器引用

public Root(String mgNo)

{

this.mgNo=mgNo;//获得管理员ID

mg=new Manager(mgNo);//创建管理员管理面板

this.setManager();//设置管理员权限

this.initJp();//初始化卡片布局面板

this.addTreeListener();//为树节点注册事件监听器

for(int i=1;i<9;i++)

{//向根节点添加子节点

dtm.insertNodeInto(dmtn[i],dmtn[0],i-1);

}

jt.setEditable(false);//设置该树中节点是可编辑的

this.add(jsplr);//将包含树的滚动窗口添加进窗体

jsplr.setLeftComponent(jt);//将包含树的滚动窗口添加进左边的子窗口jp.setBounds(200,50,600,500);//为jp设置大小位置并添加进右边的子窗口jsplr.setRightComponent(jp);

jsplr.setDividerLocation(200);//设置分隔条的初始位置

jsplr.setDividerSize(4);//设置分隔条的宽度

jlRoot.setFont(new Font("Courier",Font.PLAIN,30));

jlRoot.setHorizontalAlignment(JLabel.CENTER);

jlRoot.setVerticalAlignment(JLabel.CENTER);

//设置窗体的关闭动作,标题,大小,位置及可见性

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Image image=new ImageIcon("ico.gif").getImage();

this.setIconImage(image);

this.setTitle("图书管理系统");

//设置窗体首次出现的大小和位置--自动居中

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

int centerX=screenSize.width/2;

int centerY=screenSize.height/2;

int w=500;//本窗体宽度

int h=400;//本窗体高度

this.setBounds(centerX-w/2,centerY-h/2-100,w,h);//设置窗体出现在屏幕中央this.setExtendedState(JFrame.MAXIMIZED_BOTH);//窗体全屏

this.setVisible(true);//设置窗体可见

jt.setShowsRootHandles(true);//设置显示根节点的控制图标

}

public void setManager()

{

String sql="select permitted from manager where mgNo='"+mgNo+"'"; DataBase db=new DataBase();//创建数据库类对象

db.selectDb(sql);//执行查询

try

{

db.rs.next();//结果集游标下移

String str=db.rs.getString(1).trim();//得到管理员权限

if(str.equals("0"))

{

mg.setFlag(false);//设置管理员权限

}

}

catch(Exception e)

{

e.printStackTrace();

}

}

public void initJp()

{

jp.setLayout(cl);//设置布局管理器为卡片布局

jp.add(jlRoot,"root");//添加根结点显示信息

jp.add(new Student(),"stu");//添加学生管理模块界面

jp.add(new BookManage(),"bm");//添加图书管理模块界面

jp.add(new SearchBook(),"sb");//添加查找图书管理界面

jp.add(new BorrowBook(),"bb");//添加借阅预约图书模块界面

jp.add(new ReturnBook(),"rb");//添加归还挂失图书界面

jp.add(this.mg,"Manager");//添加管理员管理模块界面

jp.add(new ExceedTime(),"et");//添加罚款处理界面

}

public void addTreeListener()

{

jt.addTreeSelectionListener(new TreeSelectionListener()

{

public void valueChanged(TreeSelectionEvent e)

{

DefaultMutableTreeNode cdmtn=//得到选中的节点对象(DefaultMutableTreeNode)e.getPath().getLastPathComponent(); NodeValue cnv=(NodeValue)cdmtn.getUserObject();//得到自定义节点对象if(cnv.value.equals("图书馆管理系统"))

{//显示根结点信息

cl.show(jp,"root");

}

if(cnv.value.equals("学生用户管理"))

{//显示学生用户管理界面

cl.show(jp,"stu");

}

else if(cnv.value.equals("图书管理"))

{//显示图书管理界面

cl.show(jp,"bm");

}

if(cnv.value.equals("查询图书"))

{//显示查询图书界面

cl.show(jp,"sb");

}

else if(cnv.value.equals("借阅预约图书"))

{//显示借阅预约图书界面

cl.show(jp,"bb");

}

else if(cnv.value.equals("归还挂失图书"))

{//显示归还挂失图书界面

cl.show(jp,"rb");

}

else if(cnv.value.equals("交纳罚款"))

{//显示缴纳罚款界面

cl.show(jp,"et");

}

else if(cnv.value.equals("管理员管理"))

{//显示管理员管理界面

cl.show(jp,"Manager");

}

else if(cnv.value.equals("退出"))

{//显示退出界面

int i=JOptionPane.showConfirmDialog(Root.this,"是否退出系统?", "消息",JOptionPane.YES_NO_OPTION);

if(i==JOptionPane.YES_OPTION)

{//退出系统

System.exit(0);

}

}

}

});

}

public static void main(String args[]){new Root("wyf");}

}

class NodeValue

{

String value;//自定义节点对象字符属性

public NodeValue(String value)

{//构造器

this.value=value;

}

public String getValue()

{//value的Get方法

return this.value;

}

@Override

public String toString()

{//重写toString方法

return value;

}

}

3, 查询图书功能实现模块

当学生用户在学生信息系统中,单击‘查询图书’节点时,就会进入查询图书界面,页面开发的详细代码如下:

package wyf.hxl;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.table.*;

import javax.swing.event.*;

import java.sql.*;

import java.util.*;

import java.util.Date;

public class SearchBook extends JPanel implements ActionListener{

int flag;

String sql;

DataBase db;

//创建分割方向为上下的JSplitePane对象

private JSplitPane jsp=new JSplitPane(JSplitPane.VERTICAL_SPLIT,true);

private JPanel jpt=new JPanel();//创建JPanel对象

private JPanel jpb=new JPanel();

//创建表示下拉列表框数据模型的字符串数组

private String[] str={"书名","出版社","作者","购买时间"};

private JComboBox jcb=new JComboBox(str);//创建下拉列表框

private JButton jb=new JButton("提交"); //创建按钮

private JLabel[] jlArray=new JLabel[]{

new JLabel(" 书名"),

new JLabel(" 作者"),

new JLabel("出版社")

};

private JTextField[] jtxtArray=new JTextField[]{//创建文本框

new JTextField(),new JTextField(),

new JTextField(),new JTextField()

};

private JRadioButton[] jrbArray={//创建单选按钮

new JRadioButton("简单查询",true),

new JRadioButton("高级查询")

};

private ButtonGroup bg=new ButtonGroup();//创建按钮组

Vector head = new Vector();

{//定义表头

head.add("书号");head.add("书名");

head.add("作者");head.add("出版社");

head.add("购进时间");head.add("是否借阅");

head.add("是否预约");

}

Vector data=new Vector();//定义检索出的书的基本信息DefaultTableModel dtm=new DefaultTableModel(data,head); //创建表格模型JTable jt=new JTable(dtm); //创建Jtable对象

JScrollPane jspn=new JScrollPane(jt);//将JTable封装到滚动窗格

public SearchBook(){

this.setLayout(new GridLayout(1,1));//设置查询图书界面为网格布局

//设置整个RetrunBook界面上下部分均为空布局管理器

jpt.setLayout(null);

jpb.setLayout(null);

//设置单选框的大小、位置,并添加事件监听器

jpt.add(jcb);

jcb.setBounds(160,20,150,20);

jcb.addActionListener(this);

//添加JButton设置其大小位置并添加事件监听器

jpt.add(jb);

jb.setBounds(560,20,120,20);

jb.addActionListener(this);

for(int i=0;i<2;i++){//对单选按钮进行设置

jrbArray[i].setBounds(20,20+i*40,100,20);

jpt.add(jrbArray[i]);

jrbArray[i].addActionListener(this);

bg.add(jrbArray[i]);

}

for(int i=0;i<3;i++){//设置标签和文本框的坐标,并将其添加进JPanel jlArray[i].setBounds(120+i*200,60,80,20);

jtxtArray[i].setBounds(200+i*180,60,120,20);

jpt.add(jtxtArray[i]);

jpt.add(jlArray[i]);

}

for(int i=0;i<3;i++){//设置文本框为不可用

jtxtArray[i].setEditable(false);

}

//设置文本框的坐标,并添加进jpt

jtxtArray[3].setBounds(350,20,120,20);

jpt.add(jtxtArray[3]);

jsp.setTopComponent(jpt);//把jpt设置到jsp的上部窗格

jsp.setBottomComponent(jspn);

jsp.setDividerSize(4);

this.add(jsp);

jsp.setDividerLocation(100);//设置jsp中分割条的初始位置

//设置窗体的大小位置及可见性

this.setBounds(3,10,600,400);

this.setVisible(true);

}

//为事件加载的监听器加上处理事件

public void actionPerformed(ActionEvent e){

if(jrbArray[0].isSelected()){//"简单查询"单选按钮被选中

jtxtArray[3].setEditable(true);

for(int i=0;i

}

if(jcb.getSelectedIndex()>=0&&jcb.getSelectedIndex()<4){

jtxtArray[3].requestFocus();

if(e.getSource()==jb){//如果事件源为"提交"按钮,则执行检索String str=jtxtArray[3].getText().trim();

if(str.equals("")){

JOptionPane.showMessageDialog(this,"请输入必要的信息!!!",

"消息",https://www.sodocs.net/doc/cd14052857.html,RMATION_MESSAGE);

return;

C++图书管理系统实验报告

面向对象程序设计(C++语言)课程设计 设计说明书 图书管理系统的设计与实现 起止日期:年月日至年月日 学生姓名 班级 学号 成绩 指导教师(签字) 计算机与通信学院 年月日 图书管理系统

一.需求分析 图书馆是目前生活中除了网络外的另一个获取知识的重要场所。利用图书管理系统对图书记录进行统一管理,包括新增图书记录,更改图书记录,删除图书记录等功能,实现图书管理工作的系统化,规范化和自动化,为图书管理提供便利。同时是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。有助于加深对面向对象程序设计中基础理论和基本知识的理解,培养了实践能力,促进理论与实践的结合。 二.设计要求: 1.图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时 间、价格等。试设计一图书信息管理系统,使之能提供以下功能: 2.系统以菜单方式工作 3.图书信息录入功能(图书信息用文件保存)--输入 4.图书信息浏览功能--输出 5.查询和排序功能:(至少一种查询方式)--算法 6.按书名查询 7.按作者名查询 8.图书信息的删除与修改(可选项) 三.概要设计 1、类的设计 ①、Book类的设计(内部函数流程图):

②、BDatabase类的设计: ③、主函数流程图:

4多态的实现 class People { public: virtual void card(){cout<<"card people"<

数据库课程设计大作业

《数据库原理》课程设计报告 专业:测控技术与仪器 班级:测控071班 学号:200710402112 200710402115 姓名:杜文龙王京京 题目名称:物资管理系统 完成日期:2009年12月25日 昆明理工大学信息工程与自动化学院 2009年12月

物资管理系统 一、课程设计目的: 1.加深对讲授内容的理解 《数据库原理及应用》中有关数据库技术的基本理论、基本概念、设计与实现的方法和阶段性知识,光靠课堂讲授既枯燥无味又难以记住,但它们都很重要,要想熟练掌握,必须经过大量实践环节加深对它们的理解。 2.通过课程设计,掌握数据库系统设计与开发的方法及步骤 数据库是一门应用性很强的学科,开发一个数据库系统需要集理论、系统和应用三方面为一体,以理论为基础,以系统(DBMS)作支柱,以应用为目的,将三者紧密结合起来。同时结合实际需要开发一个真实的数据库系统,对于较大型的系统可多人一起完成,但无论如何都应完成数据库的需求分析、数据的分析与建模、数据库的建立、数据库的开发与运行等全部过程。在此过程中将所学的知识贯穿起来,达到能够纵观全局,分析、设计具有一定规模的题目要求,基本掌握数据库系统设计与开发的基本思路和方法并且做到对知识的全面掌握和运用。 3.培养学生自学以及主动解决问题的能力 通过本次设计,使同学能够主动查阅与数据库相关资料,掌握一些课堂上老师未曾教授的知识,从而达到培养学生自学以及主动解决问题的能力的目的。 二、课程设计基本要求: 1.课程设计应由学生本人独立完成,严禁抄袭。 2.掌握所学的基础理论知识,数据库的基本概念、基本原理、关系数据库的设 计理论、设计方法等。熟悉数据建模工具Visio与数据库管理系统SQLServer 软件的使用。 3.按时上机调试,认真完成课程设计。 4.认真编写课程设计报告。 三、需求分析 信息管理系统是集计算机技术、网络通讯技术为一体的信息系统工程,它能够使企业运行的数据更加准确、及时、全面、详实,同时对各种信息进一步地加工,使企业领导层对生产、经营的决策依据更充分,更具有合理性和库、科学性,并创建出更多的发展机会;另外也进一步加强企业的科学化、合理化、制度化、规范化管理,为企业的管理水平跨上新台阶,为企业持久、健康、稳定的发展打下基础。 这个物资管理系统是以客户机/服务器模式的信息管理模式的信息管理系统。它的开发过程不仅仅是一个编写应用程序的过程,而是以软件工程的思想为指导,从可行性研究开始,经过系统分析、系统设计、系统实施

数据库课程设计完整版

数据库课程设计完 整版

HUNAN CITY UNIVERSITY 数据库系统课程设计 设计题目:宿舍管理信息系统姓名: 学号: 专业:信息与计算科学指导教师:

20年 12月1日 目录 引言3 一、人员分配 4 二、课程设计目的和要求 4 三、课程设计过程 1.需求分析阶段 1.1应用背景 5 1.2需求分析目标5 1.3系统设计概要5 1.4软件处理对象 6 1.5系统可行性分析6 1.6系统设计目标及意义7 1.7系统业务流程及具体功能 7

1.8.1数据流程图8 2.系统的数据字典11 3.概念结构设计阶段 13 4.逻辑结构设计阶段 15 5.物理结构设计阶段 18 6.数据库实施 18 7.数据库的运行和维护 18 7.1 解决问题方法 19 7.2 系统维护 19 7.3 数据库性能评价 19 四、课程设计心得. 20参考文献 20 引言

学生宿舍管理系统对于一个学校来说是必不可少的组成部分。当前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强能够接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,而且具备修改功能,能够快速的查询学校所需的住宿信息。 面对当前学校发展的实际状况,我们经过实地调研之后,对宿舍管理系统的设计开发做了一个详细的概述。

数据库课程设计报告:学生成绩管理系统

《数据库系统原理》课程设计报告 学生成绩管理系统 设计成员 所在专业 所在班级 指导教师 提交时间

目录 卷首语:读书笔记 (4) 1、课程设计的目的 (6) 2、课题组成员的设计任务 (7) 3、学生信息管理系统概述 (8) 4、系统需求分析 (10) 5、数据库设计 (12) 6、系统模块详细设计 (17) 7、课程设计设计总结 (21) 8、程序源代码 (22) 参考文献 (50)

学生信息管理系统 班级:制作成员:指导教师:

卷首语: I、读书笔记 关于网上花店管理系统的读书笔记: 在网上购物逐步平民化的今天,网上购物人数不断增加,现代IT技术和互联网的结合。给了市场创造了无限商机!我阅读了一片“网上花店管理系统”的论文。该论文主要研究网上花店管理系统。该系统以MySQL作为后台数据库,JSP作为前台开发工具,通过Java中的JDBC连接数据库。提供给用户网上浏览,购买,支付等功能,同时.管理员对可以该系统进行维护和管理! SQL Server安全可靠,性能好,易用性强,JSP的Web运用跨平台,系统底层采用Java开发。Java语言简单,面向对象,安全性高的特点,运用Serlvet 模式和Tomcat服务器。这几点的综合搭配使得该系统灵活方便易用,简化了动态网站的开发。 网上花店管理系统实现了用户注册,网上订购支付,留言,购物车,鲜花资料管理和用户管理,订单管理等功能。SQl数据库实现了用户注册登记信息的存储,和网站资料维护,更新等使得数据的管理更加便利,高效…JSP则为用户提高动态图形界面,简化了操作,提高了易用性。论文还详细介绍了系统的逻辑结构设计,逻辑图,总功能设计,和数据库设计等。该系统即使是不懂web 技术的人也可以熟悉运用。 开发工具和数据库的工具有很多,各有各的优势。在互联网大行其道的时代,电脑技术顺应着时代的发展,只有我们把握运用好各类技术,相互结合与利用,才能制作出更好的软件和程序。 在现在信息化高速发展的时代,信息只有快,准,精才能发挥其价值。所以机器代替人力是必然的历史发展趋势,人工操作必将被计算机代替。计算机在我们的日常生活中的使用越来越不可或缺,计算机进行信息管理,不仅提高了工作效率,而且大大的提高了其安全性.尤其对于复杂的信息管理,计算机能够充分发挥它的优越性. 数据库技术,已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术从诞生到现在,在不到半个世纪

图书管理系统uml实验报告.doc

面向对象分析与设计大作业 学院:计算机科学与工程学院 班级:计算机软件 3 学生姓名:陈俊伟 学号:2174 指导老师:苏锦钿 提交日期:

华南理工大学 面向对象分析与设计大作业课程实验报告 实验题目 :_____ 图书管理系统 uml 图__________________________ 姓名 :___ 陈俊伟 ________学号:_ 2174_____ 班级 : ___09 软件 3 班________ 组别 : ________ 合作者 : __________________ 指导教师 : ______ 苏锦钿 __________ 实验概述 【实验目的及要求】 一.目的 1.掌握面向对象技术的基本原理和各种相关概念; Rational Rose 2003 、 IBM 2. 熟练掌握 UML的基本知识和9 种常见的 UML图形 , 并能够利 用 Software Architecture、或trufun UML工具进行建模; 3.根据问题进行学习,拓广、深化; 4.独立完成一个应用程序的分析、设计和建模,为以后软件项目的开发打下实践基础。 【实验原理】 UML建模,就是用模型元素来组建整个系统的模型,模型元素包括系统中的类、类和类 之间的关联、类的实例相互配合实现系统的动态行为等。UML提供了多种图形可视化描 述模型元素,同一个模型元素可能会出现在多个图中对应多个图形元素,人们可以从多 个视图来考察模型。UML建模主要分为结构建模、动态建模和模型管理建模 3 个方面,第 1 个方面是从系统的内部结构和静态角度来描述系统的,在静态视图、用例视图、实施视 图和配置视图中适用,采用了类图、用例图、组件图和配置图等图形。例如类图用于描述系 统中各类的内部结构(类的属性和操作)及相互间的关联、聚合和依赖等关系, 包图用于描述系统的分层结构等;第 2 个方面是从系统中对象的动态行为和组成对象间的相互 作用、消息传递来描述系统的,在状态机视图、活动视图和交互视图中适用,采 用了状态机图、活动图、顺序图和合作图等图形,例如状态机图用于一个系统或对象从 产生到结束或从构造到清除所处的一系列不同的状态;第 3 个方面描述如何将模型自身组织到高层 单元,在模型管理视图中适用,采用的图形是类图。建模的工作集中在前两 方面,而且并非所有图形元素都适用或需要采用

汽车修理管理系统 课程设计 数据库大作业(有源文件)

数据库大作业 《数据库原理与设计》课程设计汽车修理管理系统 学号: 姓名: 年级层次: 教学中心:

汽车修理管理系统 一. 概述 1.项目背景 在计算机不断发展的今天,计算机已经运用到各个领域,计算机的作用使由手工的操作到计算机的操作是一个大的飞跃,代替的复杂的容易出错的人工操作,节省了大量的时间,提高了正确性,提高了数据的可靠性。因此每个公司使用计算机建立自己的业务是迫在眉睫,汽车修理厂根据业务发展的需要,决定建立一个数据库管理系统,以代替单一的人工管理。这样使人工操作的管理方便,简单。 2.编写目的 编写的目的是使汽车修理厂由单一的人工管理到计算机管理的飞跃,使汽车修理厂的管理的效率得到很大的提高,使人工管理的出错的机会大大减少,实现数据的共享,便于查询自己的数据信息,使汽车修理厂的业务的流程时间大大减少,从而可以提高该汽车修理厂的竞争性,在社会有立足之地。 3.软件定义 该软件为第一版,既汽车修理管理系统1.0 版。 4.开发环境 数据库: SQL SERVER 2000 开发和编译环境: Visual C++6.0。 二.需求分析 1.通过分析得知,该修理厂共使用5种单据,4种账册和3种主要报表。 ⑴五种单据如表1所示: 表中D1由送修人填写。修理派工员据此开出修理单D2,分派给指定的修理工执行。如果在修理中需要更换零件,一律由修理工填写零件领用单D3向仓库领用。修理结束后,修理工将D2交回给派工员,然后转财务部门结账并开修车发票D5。D4在零件入库时由仓库管理员验收并且填写。图6显示了这些单据的格式内容。 编号名称填写人 D1 修车登记单送修人 D2 汽车修理单修理派工员和修理工 D3 零件领用单修理工 D4 零件入库单仓库管理员 D5 修车发票财务人员 表1 当前系统单据一览表

数据库课程设计完整版

HUNAN CITY UNIVERSITY 数据库系统课程设计设计题目:宿舍管理信息系统 姓名: 学号: 专业:信息与计算科学 指导教师: 20年 12月1日 目录 引言 3 一、人员分配 4 二、课程设计目的和要求 4 三、课程设计过程 1.需求分析阶段 1.1应用背景 5 1.2需求分析目标5 1.3系统设计概要 5 1.4软件处理对象 6 1.5系统可行性分析 6 1.6系统设计目标及意义7

1.7系统业务流程及具体功能 7 8 2.系统的数据字典11 3.概念结构设计阶段 13 4.逻辑结构设计阶段 15 5.物理结构设计阶段 18 6.数据库实施 18 7.数据库的运行和维护 18 7.1 解决问题方法 19 7.2 系统维护 19 7.3 数据库性能评价 19 四、课程设计心得. 20 参考文献 20 引言 学生宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了

数据库课程设计报告

《数据库类课程设计》 系统开发报告 学号:111007133 姓名:邢小迪 题目:企业员工薪资管理 指导教师:王红梅 提交时间:2013年6月01日 计算机科学与应用系

目录 一绪论 二员工薪资管理系统概述 (1) 现状分析 (1) 系统目标 (2) 系统特点 (3) 三员工薪资管理系统数据库设计 (3) 需求分析 (3) 数据库物理结构分析 (4) 数据库概念结构设计 (6) 数据库逻辑结构设计 (9) 四员工薪资管理系统数据库功能模块的创建 (12) 五总结 (21) 体会 (21) 参考文献 (22)

一绪论 随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于 SQL server数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资进行了统计如津贴管理、报表统计等。基本上能满足管理员和公司的要求。 此次数据库课程设计的主要设计如下: 原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。 需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。 二员工薪资管理系统概述 1、现状分析 随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。随着我国国民经济建设

图书馆管理系统实验报告

华北科技学院计算机系综合性实验 实验报告 课程名称数据库系统 实验学期2009至2010学年第2学期学生所在系部计算机系 年级专业班级网络B081 学生姓名王明仁学号200807024102 任课教师郭红 实验成绩 计算机系制

《图书馆管理系统》课程综合性实验报告 开课实验室:基础62010年6月19日实验题目 一、实验目的 利用一种DBMS作为设计平台,理解并应用课程中关于数据库设计的相关理论,能按照数据库设计步骤完成完整的数据库设计,包括需求分析、概念设计、逻辑设计、物理设计和实施。同时能够正确应用各个阶段的典型工具进行表示。 二、设备与环境 (1)硬件设备:PC机一台 (2)软件环境:安装Windows操作系统,安装数据库管理系统SQL Server2000等。 三、实验内容 完整实践应用数据库设计的工程过程:需求分析\概念设计\逻辑设计\物理设计和实施: (1)需求分析:选定一个应用(如图书管理系统),对所设计的数据库系统进行调研分析,其结果应该准确表达出选定 应用的功能需求; (2)概念分析:使用E-R图作为描述工具.必要时描述出局部和全局的E-R图; (3)逻辑设计:将上述绘制的E-R图转化为相应的关系模式,并根据范式理论进行优化分析。要求的关系模式不少于 3个,并根据实际应用的需要设计必要的视图; (4)物理设计:根据设计的结构,说明系统已经有的索引,并根据需要设计必要的索引; (5)实施:以SQL SERVER为平台创建出完整的数据库.在数据库中要表现出的知识点包括 ①登录控制(标准登录和混合登录) ②数据完整性:参照完整性、实体完整性、自定义完整性(包括触发器) ③安全性设计:设置用户,并相应设计用户的权限或角色(用户设计至少3个,有不同的权限) ④使用触发器、游标或存储过程完成相关操作,至少使用1种技术。 (6)以上内容,请详细描述,并有必要抓图. 四、实验结果及分析 根据我设计的图书馆数据库管理系统,我作了如下分析: 图书馆提供图书借阅业务,读者借阅需先办理借书卡(用条码识别身份),并交纳一定的押金。不同的书有着不同的借阅期限,比如期刊和某些新书最多只能借阅七天,而另一些书则可以借阅半个月或最长三个月不等。逾期不还,或丢失、损坏书籍则予以罚款。在交纳罚款前,借书卡被冻结。不同类别的读者不着不同的借阅数量限制,比如有的一次可以借阅7本,有的只能借阅5本等。对逾期不还的,系统给出报警,并打印催还通知单。读者可以事先从网上查询拟借书刊是否存在,并可查询书刊存放地点。 我设计的图书管理系统,功能包括: 一.图书管理系统: 1.图书查询 2.新书登记 3.图书下架 二.读者信息管理: 1.办卡 2.信息 3.挂失 4.注销 5.冻结 三.借阅管理系统: 1.借书(还书)

数据库课程设计工厂管理系统大作业

摘要 姓名:颜超丽学号:200915553013027 此文运用了数据字典、数据流图等方法对工厂管理系统进行了需求分析,运用E-R图进行了概念结构设计,在逻辑结构设计中将E-R图转化为关系模型,在物理结构设计中确定该数据库的存储结构,最后通过SQL语言实现数据库的设计。在这过程中,还详细地分析了各个子系统的属性、实体间的联系以及子系统间的关系。在这基础上,通过金仓数据库软件,运用SQL语言将所建工厂管理系统数据库顺利实现。 关键字:数据字典,E-R图,SQL语言 目录 一、系统概述 (1) 二、需求分析 (1) 1信息分析 (1) 2数据流图 (2) 3数据字典 (2) 三、概念结构设计 (4) 1实体列表 (4) 2分E-R图 (4) 3全局E-R图 (5) 四、物理结构设计 (5) 1关系模式存取方式选择 (5) 2确定数据库的存储结构 (5)

3评价物理结构 (5) 五、逻辑结构设计 (6) 六、数据库的实施 (7) 七、设计总结........ (8) 八、文献 (9)

工厂管理系统库 一、系统概述 工厂管理信息化是工厂管理系统应用信息技术及其产品的过程,是信息技术应用于工厂管理的过程。工厂信息化的实施,自下而上而言,必须以管理人员使用信息技术水平的逐步提高为基础;自上而下而言,必须与工厂的制度创新、组织创新和管理创新结合。 工厂管理系统算是比较简单一种信息系统。它主要应用于工厂仓库管理、职工管理、车间管理和零件管理。其中车间对职工和零件来说是很重要的。 工厂管理信息化建设工作具有长期性和内容的多变性;正因为这样,车间管理信息系统也不是一个简单的、静止的、封闭的系统,而是一个开放的,随着时间的推移会逐步变化和发展的系统。 二、需求分析 1、信息分析 根据工厂方面取得的信息资料,得出系统的信息需求和处理要求,得到设计所需的需求信息。这些信息是是选择了对数据库设计直接有用的信息。 A.工厂系统: a.车间:一个工厂有很多个车间,每个车间有车间号、车间主任名、地址、 电话。 b.工人:一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和 工种。 c.产品:一个车间生产多钟产品,产品有产品号,价格。 d.零件:一个车间有多个零件,一个零件也可以由多个车间制造。零件有 零件号、重量和价格。 e.仓库:产品与零件存入仓库中,厂内有多个仓库,仓库有仓库号、仓库 保管员、姓名、电话。 B.系统联系: a.生产:一个车间有多个零件,一个零件也可以由多个车间制造。 b.组成:一个产品由多个零件组成,一种零件也可装配多中产品内。 c.保管:产品与零件存入仓库中,厂内有多个仓库。

Oracle数据库课程设计报告

课程设计报告书

目录 第1章引言 (3) 第2章概要设计 (5) 2.1系统需求分析 (5) 2.2系统结构设计 (5) 2.3系统功能模块 (6) 第3章数据库分析 (7) 3.1 数据库总体设计 (7) 3.2 数据表设计 (7) 3.3 数据库的创建 (8) 3.4存储过程和触发器 (10) 第4章详细设计及测试 (12) 4.1 系统界面 (12) 4.2 主要代码设计 (15) 4.3 功能整体链接测试 (18) 第5章课程设计心得 (19)

第1章引言 1.设计目的 使用VC,C++,C#等作为前台开发工具,使用Oracle作为后台数据库,所设计的管理系统应包含输入输出、查询、插入、修改、删除等基本功能。根据题目的基本需求,设计系统界面、数据库、编写程序(Oracle),并写出课程设计报告 1、阅读资料:每个人必须提前阅读教材有关Oracle、VC、C++、C#应用方面的内容以及其它相关书籍。 2、需求分析:题目要求达到的功能,所提供的原始数据,需要输出的数据及样式等。 3、数据库的设计:根据要求设计数据库的结构,包括:表、数据完整性、关系、视图。 4、数据库的安全性设计:登录用户、数据库用户、数据库角色、命令许可等方面 涉及到数据的所有操作要求采用存储过程的方式进行。 2.设计要求 1.选好题目:先分组,每组两个人(或单独完成),必须确保每题有两组人员选做,班长将本班同学的选题情况汇总后于16周之前交。 2.独立思考,独立完成:课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝,否则不管是抄袭还是被抄袭,雷同的全部直接评定为不及格。 3.做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。 4.根据编程实现的结果,按课程设计报告的撰写规范完成数据库系统课程设计报告(课程设计报告中必须有相关原理分析、程序设计、程序实现和程序调试等内容);课程设计报告的具体要求如下: 1)课设报告按照规定用A4纸张进行排版打印,否则要求返工; 2)课设报告的内容顺序如下:封面—任务书—中文摘要—目录—正文—附录; 3)正文不少于4000字,正文部分至少包含以下内容,并可大致作如下安排 1.引言(包括设计目的、要求、设计环境、同组人员及分工等内容)

C--大作业图书管理系统实验报告

附件1: 《面向对象程序设计》 大作业 题学专班姓目 院 业 级 名 学生成绩管理系统 文法学院 教育学 教育学1201 杨欣 指导教师鄢红国 2013 年12 月20 日学号:0121213640126

目录 一二三四五六七八十设计目的 (1) 大作业的内容 (2) 大作业的要求与数据 (3) 大作业应完成的工作 (4) 总体设计(包含几大功能模块) (5) 详细设计(各功能模块的具体实现算法——流程图) (6) 调试分析(包含各模块的测试用例,及测试结果) (7) 总结 (8) 参考资料 (9)

一二 大作业的目的 《面向对象程序设计》是一门实践性很强的课程,通过大作业不仅可以全方位检验学生知识掌握程度和综合能力,而且还可以进一步加深、巩固所学课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。更好地掌握运用C++语言独立地编写、调试应用程序和进行其它相关设计的技能。 大作业的内容 对图书信息(包括编号、书名、总入库数量、当前库存量、已借出本数等) 进行管理,包括图书信息的输入、输出、查询、删除、排序、统计、退出.将图书的信息进行记录,信息内容包含:(1)图书的编号(2)图书的书名(3)图书的库存量。假设,现收集到了一个图书馆的所有图书信息,要求用C语言编写一个简单的图书管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。 三大作业的要求与数据 1、用C语言实现系统; 2、对图书信息(包括编号、书名、总入库数量、当前库存量、已借出本数)进行管理,包括图书信息的输入、输出、查询、删除、排序、统计、退出. 3、图书信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够 完成以下功能: (1)每一条记录包括一本图书的编号、书名、库存量 (2)图书信息录入功能:(图书信息用文件保存,可以一次完成若干条记录 的输入。) (3)图书信息显示浏览功能:完成全部图书记录的显示。 (4)查询功能:完成按书名查找图书记录,并显示。 (5)图书信息的删除:按编号进行图书某图书的库存量. (6)借书登记系统:可以输入读者编号和所借书号来借书。 (7)还书管理系统:可以输入读者编号和所借书号来还书。 (8)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应 尽可能清晰美观!

数据库课程设计报告

数据库课程设计 --JIA服装销售系统 指导老师:索剑 系名:计算机科学系 学号:111405128 姓名:薛文科 班级:11计算机1班

目录 第一章绪论 (3) 1.1课题简介 (3) 1.2设计目的 (3) 1.3设计内容 (3) 1.4系统实验要求 (3) 第二章需求分析 (3) 2.1 系统基本功能 (3) 2.2 权限划分 (4) 2.3 系统运作流程 (4) 2.4 数据字典 (5) 第三章概念结构设计 (7) 3.1 概念结构设计的方法与步骤 (7) 3.1.1 概念结构设计的方法 (7) 3.1.2概念结构设计的步骤 (7) 3.2 数据抽象与局部视图设计 (8) 3.3视图的集成 (9) 第四章逻辑结构设计 (10) 4.1 E-R图向关系模型的转换 (10) 4.2数据模型的优化 (11) 4.3 数据库的结构 (11) 第五章数据库物理设计 (11) 5.1 存储结构设计 (11) 5.2 存储路径设计 (11) 5.3数据存放位置 (11) 第六章数据库的实施 (12) 6.1表的建立与数据的载入 (12) 6.2触发器的设计 (12) 第七章系统效果图 (13) 第八章总结 (15)

第一章绪论 1.1课题简介 随着时代的发展,计算系软件和系统的成熟,服装的销售管理对于服装企业是一个很重要的问题,如何能有效的管理好自己企业销售的服装和统计出比较收欢迎的服装对于企业的盈利起着至关重要的作用,而建立一个服装销售系统就是一个很好的办法。本着理论联系实际的宗旨,通过学校提供的这次课程设计实践的机会,在指导教师的帮助下,历经两周时间,我自行设计一套服装销售系统,在下面的各章中,我将以这服装销售为例,谈谈其开发过程和所涉及到的问题。 1.2设计目的 应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。 实践和巩固在课堂教学中学习的关于SQL Server的有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。 1.3设计内容 选择课题并且对课题的相关信息有一定的了解,对于我选的课题来说,我必须了解服装销售的构造以及企业管理的信息。通过这些信息制成表格,输入到数据库中,使之能够进行查询、修改、删除并且与报刊订阅系统执行相同的操作。需求分析阶段就是要研究我所作的服装销售系统的具体分类和实施过程流图。概念设计阶段要完成数据抽象与局部视图设计还有视图的集成。逻辑结构设计阶段要把E-R图转化为关系模式并且把我输入的六张表结合在一起完成一个总关系表。最后就是要运行和实施数据库。要把查询结果与过程抓几张图。 1.4系统实验要求 建立两个用户:管理员,经理 管理员:负责进行库存的查询,客户的查询,生成出库单和入库单。 经理:负责审核通过出库单和入库单。 第二章需求分析 2.1 系统基本功能 本系统有以下的功能模块: (1)登录功能:登录系统为身份验证登录。分为管理员和经理。不同的用户对于系统有不同的操作权限。 (2)客户管理功能:对客户的基本信息进行管理,可以对客户的信息进行增,删,查,改。(3)库存的查询功能:可以查看库存里面衣服的详细信息。 (4)货物出库功能对库存里面的衣服进行出库 (5)货物入库功能:对库存里面的衣服进行增加

数据库课程设计(完整版)

HUNAN CITY UNIVERSITY 数据库系统课程设计 设计题目:宿舍管理信息系统 姓名: 学号: 专业:信息与计算科学 指导教师: 20年 12月1日

目录 引言 3 一、人员分配 4 二、课程设计目的和要求 4 三、课程设计过程 1.需求分析阶段 1.1应用背景 5 1.2需求分析目标5 1.3系统设计概要 5 1.4软件处理对象 6 1.5系统可行性分析 6 1.6系统设计目标及意义7 1.7系统业务流程及具体功能 7 1.8.1数据流程图8 2.系统的数据字典11 3.概念结构设计阶段 13 4.逻辑结构设计阶段 15 5.物理结构设计阶段 18 6.数据库实施 18 7.数据库的运行和维护 18 7.1 解决问题方法 19 7.2 系统维护 19 7.3 数据库性能评价 19 四、课程设计心得. 20参考文献 20

引言 学生宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,并且具备修改功能,能够快速的查询学校所需的住宿信息。 面对目前学校发展的实际状况,我们通过实地调研之后,对宿舍管理系统的设计开发做了一个详细的概述。

数据库课程设计报告

数据库课程设计教学管理系统

前言 (4) 前言 (4) 相关技术介绍 (4) 第一章需求分析 (4) 1.1 任务概述 (5) 1.1.1 目标 (5) 1.1.2 运行环境 (5) 1.2 数据流图 (5) 1.3 数据字典 (6) 1.4 系统流程分析 (6) 第二章概念结构设计 (7) 第三章逻辑结构设计 (8) 3.1 逻辑结构设计 (8) 3.2 规范化处理 (10) 第四章数据库物理设计 (11) 4.1 索引表 (10) 4.2 系统配置 (11) 4.3 视图 (11) 第五章数据库的实施 (11) 5.1 创建数据库及数据库对象 (11) 5.2 完整性约束创建 (13) 5.3 数据库的维护及备份 (14) 5.3.1 维护 (14) 5.3.2 检测并改善数据库性能 (14) 5.3.3 备份 (14) 第六章前台用户界面 (14) 第七章结论与体会 (17) 参考文献

0、前言 0.1引言 数据库作为存取数据并对数据进行操作的工具在系统中所起到的作用至关重要。数据库设计是指对于一个给定的应用环境,构造优化的数据库逻辑模式和物理模式结果,并据此建立数据库及其应用系统,使之能有效地存储和管理数据,满足应用需求,包括信息管理要求和数据操作。信息管理要求是指在数据库中应该存储和管理哪些数据对象;数据操作要求是指对数据对象进行哪些操作,如查询、增、删、改、统计等操作。数据库设计地目标是维用户和各种应用系统提供的一个信息基础设施和高效率地运行环境。高效率的运行环境包括:数据库数据的存取速率、数据库存储空间的利用率、数据库系统运行管理的效率等都是高的。 为了使数据库的应用系统开发设计合理、规范、有序、正确、高效进行,现在广泛采用的是工程化6阶段开发设计过程与方法,它们是需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施、数据库系统运行与维护阶段。我按照以上几点开发了学生选课管理系统数据库。 0.2相关技术介绍 0.2.1MYSQL概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在WEB 应用方面MySQL 是最好的RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不

图书馆管理信息系统实验报告完整版

图书馆管理信息系统实 验报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

管理信息系统实验报告 系部名称:国际学院 专业名称:会计 班级:0911 姓名: 第一章图书馆管理信息系统的系统规划 图书馆管理项目开发背景及开发目的 传统的图书馆管理工作主要是由于书籍管理、借阅管理、图书管理查询。该工作主要由学校图书管理人员来完成。近年来,随着招生规模的持续壮大,图书馆的容量也不断增加,有关图书的各种信息量也成倍的增加。面对庞大的信息量,传统的人工式的管理导致工作繁重,人力物力过多的浪费,图书馆的管理成本高,然而工作效率却不高,工作质量也难以得到可靠的保证,从而影响了整个图书馆的运作及管理。 时代的进步,计算机越来越广泛的运用,原先主要由手工操作的图书管理,正在慢慢的由计算机代替,并且日益完善。图书管理系统就是为了解决和减轻繁琐的手工管理,使图书馆可以上升到一个完善的电子化,信息化管理。在全球信息化的今天,是同计算机进行生产和管理已经成为一种趋势。计算机可以为我们选择最优的方案来达到我们的要求。在图书馆这一环境中,使用计算机管理可以最大程度减少操作难度,减轻工作人员的劳动负担。实现“以人为本,科学管理,创建新型现代化学校图书馆”的目标 图书馆管理可行性分析 图书馆是图书馆管理系统是利用计算机技术使书籍管理、借阅管理、图书管理查询等有机的结合在一起方便图书管理人员进行统一高效率的管理。对于系统的结构特性设计,应遵循提高系统实用性和操作简便灵活性的设计的原则。在业务流程上遵循了手工管理时的操作流程,使学生很快掌握操作程序等。 经济性可行性研究

大数据库课程设计——图书管理系统

数据库系统原理课程设计 课题名称:图书信息管理系统 姓名: 班级: 学号: 指导老师: 2014年 01月 02日

目录 1.绪论------------------------------------------------------------ 3 1.1背景介绍------------------------------------------------------ 3 1.2开发背景的选用及介绍------------------------------------------ 3 2.需求分析-------------------------------------------------------- 4 2.1系统分析------------------------------------------------------ 4 2.2系统目标------------------------------------------------------ 4 2.3总体需求------------------------------------------------------ 4 3.概念设计阶段---------------------------------------------------- 5 3.1实体E-R图---------------------------------------------------- 5 3.2数据流程图---------------------------------------------------- 8 4.逻辑结构设计阶段------------------------------------------------ 8 4.1E-R图转换为关系模型 ------------------------------------------ 8 4.2数据字典------------------------------------------------------ 9 5.物理结构设计阶段---------------------------------------------- 10 5.1物理设计阶段的目标和任务------------------------------------- 10 5.2数据存储方面------------------------------------------------- 10 6.数据库实施与维护----------------------------------------------- 10 6.1创建数据库,数据表------------------------------------------- 10 6.2创建视图----------------------------------------------------- 12 6.3创建索引----------------------------------------------------- 13 6.4创建触发器--------------------------------------------------- 13 6.5数据表的初始化----------------------------------------------- 14 6.6初始表的显示------------------------------------------------- 16 7.数据库界面实现------------------------------------------------ 19 7.1系统总的功能模块图------------------------------------------- 19 7.2系统的实现--------------------------------------------------- 19 8.心得体会------------------------------------------------------- 25

数据库课程设计报告户籍管理系统完整版

. 中北大学 数据库课程设计 说明书 班 级: 学号: 姓 名: 学 专 方 向: 指导教师: 企业信息化软件开发与应用

成绩: 2014 年 6 月 1.需求分析 随着城市人口规模的扩大和公安部门对城市及农村人口管理工作规性的逐渐增强,户籍管理工作的业务量急剧增大。传统的手工方法,存在效率低、易出错等缺点,已经难以满足当前户籍管理工作的要求。 因此,结合当前日益成熟的计算机相关技术,开发一个专门针对户籍管理的系统已经非常必要了。户籍管理信息系统是公安部门不可缺少的一部分,更是适应现代户籍制度并推动户籍管理走向科学化、规化、自动化的必要条件。该管理系统能够为用户提供充足的信息和快捷的查询手段,以帮助用户了解户籍工作的情况。它大大改善了公安部门管理、查询户籍的基础工作环境,在一定程度上反映出户籍管理的现代化管理模式。因此人口户籍管理信息系统的开发迫在眉睫。 该课程设计就户籍的迁入、迁出、注销,身份证的办理、领取做了简单地设计。 1.1项目开发背景 近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,随着人口的不断增长,户籍管理部门也应得到良好的发展,利用现代化管理工具使其变成半自动化必定会提高其工作效率。 1.2项目开发目的 户籍管理系统是针对户籍管理部门而开发的,为其改变人口信息仍需要手动处理和查询,个人的信息在处理中丢失或者不明确等现象而设计的。通过这个户籍管理系统,可以让

户籍管理部门提高工作质量和效率,从而达到更快捷、更准确、更方便的目的。 1.3需求分析阶段的目标与任务 1.3.1划分功能模块 在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求化分系统功能模块,这样就把一个大的系统分解为几个小的系统。经过调查分析,户籍信息管理系统应具有以下功能: (1)对户籍的变动进行处理。任何管理部门的户籍信息不会是一成不变的,总是在不断的变化:有迁出、有迁入、户口合并,也有因故注销。因此,设计系统时应考虑到这些情况,实现户籍的日常管理工作。 (2)对所管辖户籍所分离出的个人信息的计算、统计。找到符合条件的个人,进行核对无误后,生成档案文件进行转存,保证数据的安全完整,以此来实现身份证的办理与领取。 (3)查询统计功能。要求即可以单项查询,比如查看某个人工的户口情况等;也可以多项查询,比如同一户口特征的户口浏览,并按照所需的要求进行数据的转存。 1.3.2处理对象 户籍信息:户籍号,户主姓名 户籍成员信息:姓名,户主关系,性别,民族,籍贯,住址,身份证号,文化程度,职业,户籍号,迁入时间,迁出时间,迁入地,迁出地 身份证:姓名,身份证号,性别,民族,地址

相关主题