实验四 图书借阅管理系统功能设计与实现

实验四 图书借阅管理系统功能设计与实现

package com.bbm.view;

import javax.swing.*;

import com.bbm.db.BookDao;

import java.awt.event.*;
import java.awt.*;
@SuppressWarnings("serial")
public class BookAdd extends JFrame {
	private JLabel isbnJL,typeJL,booknameJL,autherJL,productJL,dateJL,idJL,priceJL;
	private	JPanel northJP,southJP;
	private JTextField isbnJTF,booknameJTF,autherJTF,productJTF,dateJTF,idJTF,priceJTF;
	private JComboBox jcb;
	private JButton addJB,resiteJB,closeJB;
	
	 BookAdd(){
		northJP=new JPanel();
		southJP=new JPanel();
		northJP.setLayout(new GridLayout(4,4));
		
		
		
		isbnJL=new JLabel("ISBN");
		isbnJL.setHorizontalAlignment(SwingConstants.CENTER);
		northJP.add(isbnJL);
		isbnJTF=new JTextField();
		isbnJTF.setColumns(15);
		northJP.add(isbnJTF);
		
		typeJL=new JLabel("类别");
		typeJL.setHorizontalAlignment(SwingConstants.CENTER);
		northJP.add(typeJL);
		jcb=new JComboBox();
		jcb.addItem("计算机");
		jcb.addItem("java");
		jcb.addItem("数据结构");
		northJP.add(jcb);
		
		booknameJL=new JLabel("书名");
		booknameJL.setHorizontalAlignment(SwingConstants.CENTER);
		northJP.add(booknameJL);
		booknameJTF=new JTextField();
		booknameJTF.setColumns(15);
		northJP.add(booknameJTF);
		
		autherJL=new JLabel("作者");
		autherJL.setHorizontalAlignment(SwingConstants.CENTER);
		northJP.add(autherJL);
		autherJTF=new JTextField();
		autherJTF.setColumns(15);
		northJP.add(autherJTF);
		
		
		
		productJL=new JLabel("出版社");
		productJL.setHorizontalAlignment(SwingConstants.CENTER);
		northJP.add(productJL);
		productJTF=new JTextField();
		productJTF.setColumns(15);
		northJP.add(productJTF);
		
		dateJL=new JLabel("出版日期");
		dateJL.setHorizontalAlignment(SwingConstants.CENTER);
		northJP.add(dateJL);
		dateJTF=new JTextField();
		northJP.add(dateJTF);
		
		idJL=new JLabel("版次");
		idJL.setHorizontalAlignment(SwingConstants.CENTER);
		northJP.add(idJL);
		idJTF=new JTextField(); 
		idJTF.setColumns(15);
		northJP.add(idJTF);
		
		priceJL=new JLabel("定价");
		priceJL.setHorizontalAlignment(SwingConstants.CENTER);
		northJP.add(priceJL);
		priceJTF=new JTextField();
		priceJTF.setColumns(15);
		northJP.add(priceJTF);
		
		addJB=new JButton();
		addJB.setText("添加");
		addJB.addActionListener(new addAction());
		southJP.add(addJB);
		resiteJB=new JButton();
		resiteJB.setText("重置");
		resiteJB.addMouseListener(new resiteAction());
		southJP.add(resiteJB);
		closeJB=new JButton();
		closeJB.setText("关闭");
		closeJB.addMouseListener(new closeAction());
		southJP.add(closeJB);
		
		this.add(northJP,BorderLayout.CENTER);
		this.add(southJP,BorderLayout.SOUTH);
		this.setVisible(true);
		setTitle("图书信息添加");
		setResizable(false);
		this.setBounds(15, 15,600, 200);

	}
	 class addAction implements ActionListener
	 {
		public void actionPerformed(ActionEvent e) {
			String i=isbnJL.getText().trim();
			String name=booknameJTF.getText().trim();
			String a=autherJTF.getText().trim();
			String m=idJTF.getText().trim();
			String p=priceJTF.getText().trim();
			if (name.length()==0){
				JOptionPane.showMessageDialog(null,"书名不能为空");
				BookAdd.this.setVisible(false);
			}if (a.length()==0){
				JOptionPane.showMessageDialog(null,"作者不能为空");
				BookAdd.this.setVisible(false);
			}if (m.length()==0){
				JOptionPane.showMessageDialog(null,"出版社不能为空");
				BookAdd.this.setVisible(false);
			}if (p.length()==0){
				JOptionPane.showMessageDialog(null,"定价不能为空");
				BookAdd.this.setVisible(false);
			}if (i.length()<=13){
				JOptionPane.showMessageDialog(null,"请输入13位ISBN码");
				BookAdd.this.setVisible(false);
			}else if(i.length()==13){
				String isbn=isbnJTF.getText().trim();
				String typename=(String) jcb.getSelectedItem();
				String bookname=booknameJTF.getText().trim();
				String author=autherJTF.getText().trim();
				String press=productJTF.getText().trim();
				String date=dateJTF.getText().trim();
				String edition=idJTF.getText().trim();
				Double price=Double.parseDouble(priceJTF.getText().trim());
				int j=BookDao.insertBook(isbn, typename, bookname, author, press, date, edition, price);
				if(j>0){
					JOptionPane.showMessageDialog(null,"添加成功");
					BookAdd.this.setVisible(false);
				}
			}
		}
	 }
	class resiteAction extends MouseAdapter
	{
		@Override
		public void mouseClicked(MouseEvent e) {
			// TODO Auto-generated method stub
			super.mouseClicked(e);
			if(e.getSource()==resiteJB){
				isbnJTF.setText("");
				jcb.setSelectedItem("计算机");
				autherJTF.setText("");
				productJTF.setText("");
				idJTF.setText("");
				dateJTF.setText("");
				priceJTF.setText("");
				booknameJTF.setText("");
			}
		}
	}
	class closeAction extends MouseAdapter
	{
		public void mouseClicked(MouseEvent e) {
			super.mouseClicked(e);
			BookAdd.this.setVisible(false);
		}
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new BookAdd();
	}

}

package com.bbm.view;

import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Toolkit;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import com.bbm.model.Users;
import com.bbm.db.*;

/*登录窗体*/
public class Login extends JFrame{	
	private static final long serialVersionUID = 1L;
	private JPanel textJP,loginJP,buttonJP;
	private Font f1=new Font("黑体", Font.BOLD, 32);
	private JLabel textJL,usernameJL,passwordJL;
	private JTextField usernameJTF;
	private JPasswordField pwdJPF;
	private JButton confirmJB,resetJB;
	private static Users user;
	
	
	public Login(){	
		setSize(260,180); 
		//在整个界面的中间位置显示
		int width=Toolkit.getDefaultToolkit().getScreenSize().width;
		int height=Toolkit.getDefaultToolkit().getScreenSize().height;
		this.setLocation(width/2-200, height/2-150);		
		setTitle("图书借阅系统登录界面");
		
		textJP=new JPanel();//提示信息面板
		loginJP=new JPanel();//登录信息面板
		buttonJP=new JPanel();//登录取消按钮面板
		
		//提示信息面板
		textJL=new JLabel();
		textJL.setFont(f1);
		textJL.setText("图书借阅系统");
		textJP.add(textJL);
		this.add(textJP,BorderLayout.NORTH);
		
		//登录信息面板设计
		loginJP.setLayout(new GridLayout(2,2));
		usernameJL=new JLabel("用户名:");
		usernameJL.setHorizontalAlignment(SwingConstants.CENTER);
		
		usernameJTF=new JTextField();		
				
		passwordJL=new JLabel("密   码:");
		passwordJL.setHorizontalAlignment(SwingConstants.CENTER);
		
		pwdJPF=new JPasswordField();
				
		loginJP.add(usernameJL);
		loginJP.add(usernameJTF);
		loginJP.add(passwordJL);
		loginJP.add(pwdJPF);
		//登录取消按钮面板设计
		confirmJB=new JButton("登录");
		confirmJB.addActionListener(new LoginAction());
		resetJB=new JButton("重置");	
		resetJB.addActionListener(new ResetAction());
		buttonJP.add(confirmJB);
		buttonJP.add(resetJB);
				
		this.add(loginJP,BorderLayout.CENTER);
		this.add(buttonJP,BorderLayout.SOUTH);
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时,退出程序
		this.setVisible(true);//设置窗体显示,否则不显示。
		setResizable(false);//取消最大化		
	}
	public static void setUser(Users user) {
			Login.user = user;
	}
	public static Users getUser() {
	        return user;
	}
	
	
	class LoginAction implements ActionListener{
		public void actionPerformed(ActionEvent e){
			if(!"".equals(usernameJTF.getText())&&!"".equals(new String(pwdJPF.getPassword()))){
				user=UserDao.check(usernameJTF.getText(),new String(pwdJPF.getPassword()));
				if(user.getName()!=null){
					try {
						Library frame=new Library();
						frame.setVisible(true);
						Login.this.setVisible(false);
					} catch (Exception e1) {
						e1.printStackTrace();
					}
				}else{
				JOptionPane.showMessageDialog(null, "您输入的用户名或密码错误,不能登陆");
				usernameJTF.setText("");
				pwdJPF.setText("");
			}
			
		}else{
				JOptionPane.showMessageDialog(null, "请输入用户名和密码!");
		}
		}
		
		
	}
	class ResetAction implements ActionListener{
		public void actionPerformed(final ActionEvent e){
			usernameJTF.setText("");
			pwdJPF.setText("");
		}
	}
	public static void main(String[] args) {
		new Login();		
	}
}
  一、序言····················································································································· 4 二、需求分析说明书···································································································· 4 2.1系统介绍................................................................................................................................................. 4 2.2系统面向的用户群体............................................................................................................................. 4 2.3系统的功能性需求................................................................................................................................. 4 2.4系统的非功能性需求............................................................................................................................. 5 2.4.1用户界面需求.................................................................................................................................. 5 2.4.2软硬件环境需求.............................................................................................................................. 5 2.4.3软件质量需求.................................................................................................................................. 5 三、可行性分析报告···································································································· 5 3.1技术可行性............................................................................................................................................. 5 3.2人员可能性............................................................................................................................................. 5 3.3时间、设备可能性................................................................................................................................. 5 3.4系统工作量............................................................................................................................................. 5 3.5代码工作量............................................................................................................................................. 5 3.6文档要求................................................................................................................................................. 5 、开发环境与项目规划····························································································· 5 4.1开发环境................................................................................................................................................. 5 4.2项目规划与管理..................................................................................................................................... 5 4.2.1开发人员安排.................................................................................................................................. 5 4.2.2开发进度安排.................................................................................................................................. 6 五、软件界面设计标准与规范······················································································ 6 5.1编写目的................................................................................................................................................. 6 5.2界面设计思想......................................................................................................................................... 6 5.3界面设计原则......................................................................................................................................... 6 5.4界面设计样式......................................................................................................................................... 6 5.5常见提示信息样式................................................................................................................................. 6 5.6常见错误信息样式................................................................................................................................. 7 5.7其他界面约定......................................................................................................................................... 7 六、软件编码设计标准与规范······················································································ 7 6.1对象命名约定......................................................................................................................................... 7 6.2常量和变量命名约定............................................................................................................................. 8 6.3结构化编码约定..................................................................................................................................... 8 6.4数据源的约定......................................................................................................................................... 9 6.5数据库访问约定..................................................................................................................................... 9 6.6其他约定................................................................................................................................................. 9 七、数据库分析与设计································································································ 10 7.1数据库环境说明...................................................................................................................................... 10 7.2数据库命名标准与规范.......................................................................................................................... 10 7.3数据库逻辑设计...................................................................................................................................... 10 7.4数据库物理设计...................................................................................................................................... 10 7.4.1表、视图汇总.................................................................................................................................. 10 7.4.2各表、视图设计详解...................................................................................................................... 11 八、软件体系结构设计说明书······················································································ 15 8.1系统概述................................................................................................................................................. 15 8.2设计约束................................................................................................................................................. 15 8.3设计策略................................................................................................................................................. 15 8.4系统概要设计说明书............................................................................................................................. 16 8.4.1图例说明.......................................................................................................................................... 16 8.4.2系统总体结构图.............................................................................................................................. 16 8.4.3销售子系统流程图.......................................................................................................................... 17 8.4.4进货子系统流程图.......................................................................................................................... 17 8.4.5退货子系统流程图.......................................................................................................................... 17 8.5系统详细设计说明书............................................................................................................................. 17 8.5.1系统模块汇总.................................................................................................................................. 17 8.5.2系统核心模块详解.......................................................................................................................... 18 8.5.3系统模块详解.................................................................................................................................. 28 九、用户界面设计报告································································································ 42 9.1界面设计规范......................................................................................................................................... 42 9.2系统窗体汇总......................................................................................................................................... 42 9.3主界面设计............................................................................................................................................. 43 9.4子界面设计............................................................................................................................................. 43 9.5界面资源设计......................................................................................................................................... 44 十、软件测试分析报告································································································ 44 10.1测试范围与主要内容........................................................................................................................... 44 10.2测试方法............................................................................................................................................... 44 10.3测试报告............................................................................................................................................... 44 10.4改进建议与措施................................................................................................................................... 45 十一、软件使用说明书····························································&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轩辕椿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值