目录

第一章 课题概述 3

1.1选题背景及意义 3

1.2 实验的主要工作 3

1.3 实验报告的组织结构 3

第二章需求分析 5

2.1 系统总体需求 5

2.1.1 用户模块需求 5

2.1.2 管理员模块需求 6

2.2 本章小结 8

第三章 图书管理系统系统设计 9

3.1 总体系统功能设计 9

3.2体系结构设计 11

以三层C/S架构为主、面向对象为辅的混杂风格 11

3.3接口设计 11

3.5 本章小结 11

第四章 图书管理系统系统的模块设计与实现 11

4.1数据库的设计 11

4.2 用户模块的实现(侧重于服务器端的响应) 13

4.3 管理员模块的实现(侧重于服务器端的响应) 14

4.4 本章小结 15

第五章系统测试 16

5.1 登录…(或者其他启动方式) 16

5.2 各模块测试(用例测试) 17

第六章 实验小结 18

第三章 图书管理系统系统设计

本系统采用三层C/S架构,并采用了面向对象(OO)的风格。系统分为客户端(Client)和服务器端(Server)两个部分。在服务器端中,主线程负责监听端口及分配服务子线程,子线程利用面向对象中的多态,分别调用客户、管理员的处理函数,并对客户端的请求进行回复。客户端中,客户可以利用图形界面发起请求,客户端会根据服务器的返回信息进行提示,从而完成与客户的交互过程。

3.1 总体系统功能设计

本系统是基于Java开发的图书馆管理系统,用户登陆成功以后进入用户模块,可以完成用户的功能,如:借书还书续借缴费等。管理员登录成功进入管理员模块,可以协助用户完成:注销,缴费,退还押金等,同时还可以查询图书的相关信息并对图书进行管理。考虑到本系统的实际部署场景为图书馆内的自助借还电脑与管理员电脑,本系统仅需支持小规模的用户同时使用即可。本系统的总体设计如图3-1所示。

java cs架构用什么本地库 java实现cs架构_java

package client;


import javax.swing.*;

import java.awt.*;
import java.awt.event.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;

public class UserUIMain extends JFrame implements ActionListener{
	JPanel panel;  
    JLabel text;  
    JMenuBar bar;  
    JMenu menu; 
    JMenu pwdmenu;
    JMenu returnmenu;
    JMenuItem itemInitial;
    JMenuItem itemborrow,itemreturn,itemrenew,itemfind,itemperson,itempwd;  
    FlowLayout layout = new FlowLayout();  
    BorrowUI borrow;
    ReturnUI re;
    RenewUI renew;
    FindUI find;
    PersonUI person;
    PwdUI pwd;
    private BufferedReader in;
	private PrintWriter out;
    UserUIMain(BufferedReader input,PrintWriter output){  
    	this.in = input;
  	    this.out = output;
        init();  
        setBounds(300,300,700,550);  
        setVisible(true);  
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
    }  
    public void init() {  
        bar = new JMenuBar();  
        menu = new JMenu("操作菜单");  
        pwdmenu = new JMenu("修改密码");
        returnmenu = new JMenu("返回初始界面");
        itemInitial = new JMenuItem("初始界面");
        itemborrow = new JMenuItem("借书");  
        itemreturn = new JMenuItem("还书"); 
        itemrenew = new JMenuItem("续借");
        itemfind = new JMenuItem("查询书籍");
        itemperson = new JMenuItem("查询个人信息");
        itempwd = new JMenuItem("修改密码");

        panel = new JPanel();  
        text = new JLabel("欢迎来到图书管理系统用户界面");  
        text.setFont(new Font (Font.DIALOG, Font.BOLD, 20));
        
        borrow = new BorrowUI(in,out); 
        re = new ReturnUI(in,out);
        renew = new RenewUI(in,out);
        find = new FindUI(in,out);
        person = new PersonUI(in,out);
        pwd = new PwdUI();
       
        
        itemInitial.addActionListener(this);  
        itemborrow.addActionListener(this);  
        itemreturn.addActionListener(this);
        itemrenew.addActionListener(this);
        itemfind.addActionListener(this);
        itemperson.addActionListener(this);
        itempwd.addActionListener(this);
        
        bar.add(menu);  
        bar.add(pwdmenu);
        bar.add(returnmenu);
        
        menu.add(itemborrow); 
        menu.add(itemreturn);
        menu.add(itemrenew);
        menu.add(itemfind);
        menu.add(itemperson);
        menu.add(itempwd);
        pwdmenu.add(itempwd);
        returnmenu.add(itemInitial);  
                
        panel.setLayout(layout);  
        add(panel);  
        panel.add(text);  
        setJMenuBar(bar);  
    }  
    public void actionPerformed(ActionEvent e){  
        if(e.getSource() == itemborrow){  
            panel.removeAll();  
            panel.add("借书" ,borrow);//切换代码。  
            panel.validate();  
            repaint();  
        }  
        if(e.getSource() == itemreturn){  
            panel.removeAll();  
            panel.add("还书" ,re);//切换代码。  
            panel.validate();  
            repaint();  
        } 
        if(e.getSource() == itemrenew){  
            panel.removeAll();  
            panel.add("续借" ,renew);//切换代码。  
            panel.validate();  
            repaint();  
        } 
        if(e.getSource() == itemfind){  
            panel.removeAll();  
            panel.add("查询书籍" ,find);//切换代码。  
            panel.validate();  
            repaint();  
        } 
        if(e.getSource() == itemperson){  
            panel.removeAll();  
            repaint();
            panel.add("查询个人信息" ,person);//切换代码。  
            panel.validate();  
            repaint();  
        }  
        if(e.getSource() == itempwd){
            panel.removeAll();  
            panel.add("修改密码",pwd);  
            panel.validate();  
            repaint();  
        }
        if(e.getSource() == itemInitial){
            panel.removeAll();  
            panel.add(text);  
            panel.validate();  
            repaint();  
        }  
    }  

}

java cs架构用什么本地库 java实现cs架构_java_02


java cs架构用什么本地库 java实现cs架构_java_03


java cs架构用什么本地库 java实现cs架构_java_04


java cs架构用什么本地库 java实现cs架构_java cs架构用什么本地库_05


java cs架构用什么本地库 java实现cs架构_java cs架构用什么本地库_06


java cs架构用什么本地库 java实现cs架构_java cs架构用什么本地库_07


java cs架构用什么本地库 java实现cs架构_CS架构_08


java cs架构用什么本地库 java实现cs架构_三层架构_09


java cs架构用什么本地库 java实现cs架构_java cs架构用什么本地库_10


java cs架构用什么本地库 java实现cs架构_java cs架构用什么本地库_11


java cs架构用什么本地库 java实现cs架构_java_12


java cs架构用什么本地库 java实现cs架构_java cs架构用什么本地库_13


java cs架构用什么本地库 java实现cs架构_java_14


java cs架构用什么本地库 java实现cs架构_CS架构_15


java cs架构用什么本地库 java实现cs架构_java_16


java cs架构用什么本地库 java实现cs架构_CS架构_17


java cs架构用什么本地库 java实现cs架构_三层架构_18


java cs架构用什么本地库 java实现cs架构_java_19


java cs架构用什么本地库 java实现cs架构_图书管理系统_20


java cs架构用什么本地库 java实现cs架构_CS架构_21


java cs架构用什么本地库 java实现cs架构_java_22


java cs架构用什么本地库 java实现cs架构_CS架构_23