1、企业通讯
需求分析
1.操作简单,界面友好。
2.规范、完善的基础信息设置。
3.支持网络通信。
4.支持系统托盘和程序最小化功能,避免影响其他工作。
5.使用独立的本地数据库。
6.自动搜索和手动添加网络内的通信用户
7.提供用户的更名、删除等操作。
系统功能结构
系统业务流程
数据库设计
①tb_users表
ip:用户IP地址
host:主机名称
name:姓名
tooltip:提示文本
icon:头像
②tb_location表
xLocation:X轴坐标
yLocation:Y轴坐标
width:窗体宽度
heigth:窗体高度
主窗体设计
创建面板、按钮、数据库接口、套接字等关键属性——》编写窗体构造方法,包括开启套接字——》获取本地用户本信息——》记录窗体位置
公共模块设计、系统托盘模块设计、系统工具模块设计、用户管理模块设计和通信模块设计等详见下载。
部分源码如下,其余完整详见下载。
public class EQ extends Dialog { public static EQ frame = null;// 主窗体本类对象 private JTextField ipEndTField;// IP搜索范围结束值 private JTextField ipStartTField;// IP搜索范围开始值 private ChatTree chatTree;// 用户列表树 private JPopupMenu popupMenu;// 鼠标右键菜单(弹出式菜单) private JTabbedPane tabbedPane;// 主标签面板 private JToggleButton searchUserButton;// private JProgressBar progressBar;// 鼠标右键菜单(弹出式菜单) private JList faceList;// 界面风格集合 private JButton selectInterfaceOKButton;// 确定界面效果按钮 private DatagramSocket ss;// UDP套接字 private final JLabel stateLabel;// 底部状态栏标签 private Rectangle location;// 窗口位置对象 public static TrayIcon trayicon;// 系统托盘图标 private Dao dao;// 数据库接口 public final static Preferences preferences = Preferences.systemRoot();// 创建首选项对象,使用系统的根首选项节点。此对象可以保存我们偏好设置 private JButton userInfoButton;// 用户信息按钮 public static void main(String args[]) { try { String laf = preferences.get("lookAndFeel", "java默认"); if (laf.contains("当前系统"))// 如果字符串包含“当前系统”字样 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());// 获取本机的窗体外观 EQ frame = new EQ(); frame.setVisible(true); frame.SystemTrayInitial();// 初始化系统栏 frame.server();// 启动服务器 } catch (Exception e) { e.printStackTrace(); } }
2、快递打印系统
需求分析
1.操作简单,界面友好。
2.规范、完善的基础信息设置。
3.支持打印功能。
4.使用独立的本地数据库。
5.可以添加、维护快递单信息。
6.提供用户的添加、修改密码操作。
系统功能结构
数据库设计
①tb_user表
id:编号
username:用户名
password:密码
②tb_ receiveSendMessage表
id:流水号
sendName:寄件人姓名
sendTelephone:寄件人区号电话
sendCompary:寄件单位
sendAddress:寄件人地址
sendPostcode:寄件人邮编
receiveName:收件人姓名
recieveTelephone:收件人区号电话
recieveCompary:收件单位
receiveAddress:收件人地址
receivePostcode:收件人邮编
ControlPosition:打印位置
expressSize:快递单的尺寸
系统登录模块设计
设计界面——》调用后台数据库接口,校验用户身份——》跳转主页面
系统主界面模块设计
创建窗体——》设计菜单——》添加监听
添加快递信息模块设计
公共模块设计、修改快递信息模块设计、打印快递单与打印设置模块设计、添加用户窗体模块设计和修改用户密码窗体模块设计等详见下载。
部分源码如下,其余详见下载。
public class MainFrame extends JFrame { private static final long serialVersionUID = 1L; private JPanel jContentPane = null; private URL url = null;// 声明图片的URL private Image image = null;// 声明图像对象 private BackgroundPanel jPanel = null;// 声明自定义背景面板对象 private JMenuBar jJMenuBar = null; private JMenu jMenu = null;// 快递单管理 private JMenuItem addExpressMI = null;// 添加快递单 private JMenuItem updateExpressMI = null;// 修改快递单 private JMenu printManagementMenu = null;// 打印管理菜单 private JMenu systemMenu = null;// 系统菜单 private JMenuItem printMI = null;// 打印菜单 private JMenuItem changePasswordMI = null;// 修改密码菜单 private JMenuItem exitMI = null;// 退出菜单 private JMenuItem addUserMI = null;// 添加用户菜单 /** * 主窗体构造方法 */ public MainFrame() { super(); initialize(); } /** * 窗体初始化 */ private void initialize() { this.setSize(1017, 584);// 设置大小 this.setJMenuBar(getJJMenuBar());// 设置菜单栏 this.setTitle("蓝宇快递打印系统");// 标题 this.setContentPane(getJContentPane());// 设置主容器 } /** * 获取窗体主容器面板 */ private JPanel getJContentPane() { if (jContentPane == null) { jContentPane = new JPanel(); jContentPane.setLayout(new BorderLayout()); jContentPane.add(getJPanel(), BorderLayout.CENTER); } return jContentPane; } /** * 背景面板 */ private BackgroundPanel getJPanel() { if (jPanel == null) { url = MainFrame.class.getResource("/image/主界面.jpg"); // 获得图片的URL image = new ImageIcon(url).getImage(); // 创建图像对象 jPanel = new BackgroundPanel(image); jPanel.setLayout(null); } return jPanel; } /** * 获取菜单栏 */ private JMenuBar getJJMenuBar() { if (jJMenuBar == null) { jJMenuBar = new JMenuBar(); jJMenuBar.add(getJMenu()); jJMenuBar.add(getprintManagementMenu()); jJMenuBar.add(getsystemMenu()); } return jJMenuBar; }
3、开发计划管理系统
需求分析
1.操作简单方便,界面简洁大方。
2.保证系统的安全性。
3.支持对整个开发计划的管理。
4.支持对个人开发进度的管理。
5.支持对公司人员的管理。
6.支持对公司部门的管理。
7.支持用户添加和密码修改操作。
系统功能结构
数据库设计
部门信息表
图书计划表
公共模块设计
系统主窗体设计
系统登录模块设计、部门信息管理模块设计、基本资料模块设计和图书项目模块设计等详见下载。
部分源码如下,其余完整详见下载。
public class ProjectFrame extends JFrame { /** * 工具按钮的事件监听处理器 * * @author Administrator */ private final class ToolsButtonActionAdapter extends ActionAdapter { @Override public void actionPerformed(ActionEvent e) { String command = e.getActionCommand(); showPanel(command); } } private Point spoint; private static final long serialVersionUID = 1L; private BGPanel jContentPane = null; private BGPanel bgPanel = null; private GlassButton workSpaceButton = null; private GlassButton progressButton = null; private GlassButton bookProjectButton = null; private BGPanel jPanel = null; // @jve:decl-index=0:visual-constraint="10,678" private BGPanel leftPanel2 = null; private BGPanel functionPanel = null; private BGPanel locationPanel = null; private JLabel jLabel3 = null; private JLabel currentLocationLabel = null; private BGPanel mainPanel = null; private MyWorkspacePanel myWorkspacePanel = null; private ToolsButtonActionAdapter toolsButtonActionAdapter; // @jve:decl-index=0: private BookProjectPanel bookProjectPanel = null; private ProgressManagePanel progressManagePanel = null; private BGPanel jPanel4 = null; private BGPanel bgPanel2 = null; private BGPanel bgPanel1 = null; private SmallScrollPanel moduleButtonGroup = null; private GlassButton personnelManagerButton = null; private PersonnelPanel personnelPanel = null; private DeptPanel deptPanel = null; private GlassButton deptManageButton = null; private AlphaScrollPane jScrollPane = null; private ButtonGroup buttonGroup = null; // @jve:decl-index=0:visual-constraint="505,680" private JPanel workPanel = null; private BGPanel personnelManagePanel = null; private BGPanel loginInfoPanel = null; private ButtonGroup faceButtonGroup = null; // @jve:decl-index=0:visual-constraint="587,680" private JLabel jLabel = null; private PersonnelTree personnelTree = null; private BGPanel treeToolsBar = null; private JLabel jLabel1 = null; private JButton refrenshButton = null; private ClockPanel clockPanel = null; private JLabel jLabel2 = null; private JLabel jLabel4 = null; private JLabel jLabel5 = null; private JPanel jPanel1 = null; /** * This is the default constructor */ public ProjectFrame() { super(); toolsButtonActionAdapter = new ToolsButtonActionAdapter(); initialize(); }
4、酒店管理系统
系统功能概述
根据酒店管理的特点,可以将酒店管理系统划分为前台服务、后台管理、结账报表和系统安全四大功能模块,其中系统安全模块用来维护系统的正常运行,这些模块包含的具体功能如下图所示。
数据库设计
通用模块设计
本系统在数据持久层共包含三个类,分别为JDBC.java、BaseDao.java和Dao.java,这三个类均在com.mwq.dao包下JDBC类的主要功能是用来加载数据库驱动程序,并提供建立和关闭数据库连接的方法。其中加载数据库驱动程序的动作是在静态代码块中完成的,这样做的好处是只在该类第一次被加载(即第一次被调用)时执行加载数据库驱动程序的动作,避免了反复加载数据库驱动程序,从而提高了软件的性能BaseDao类的主要功能是用来封装访问数据库的方法,共有5个方法,在这5个方法中将调川JDBC类中的方法获得数据库连接,这5个方法的功能在后面将做详细介绍Dao类的主要功能是用来封装访问数据库的SQL语句,然后通过调用BaseDao类中的方法执行SQL语句。
系统主窗体设计
本系统的主窗体设计效果如下图所示,窗体的上半部分为开台签单工作区,下半部分的几列从左到右依次为系统信息区、自动结账工作区、后台管理工作区、结账报表工作区和系统安全工作区。
用户登录窗口设计、开台签单工作区设计、自动结账工作区设计、结账报表工作区设计和后台管理工作区设计等详见下载。
部分源码如下,其余详见下载。
package com.mwq; import java.awt.Dimension; import java.awt.Toolkit; import javax.swing.SwingUtilities; import javax.swing.UIManager; import com.mwq.frame.LandFrame; public class DrinkeryManage { public DrinkeryManage() { // Center the window Toolkit toolkit = Toolkit.getDefaultToolkit(); Dimension screenSize = toolkit.getScreenSize(); LandFrame landFrame = new LandFrame(); Dimension frameSize = landFrame.getSize(); if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } landFrame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); landFrame.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { try { UIManager.setLookAndFeel(UIManager .getSystemLookAndFeelClassName()); } catch (Exception exception) { exception.printStackTrace(); } new DrinkeryManage(); } }); } }
5、图书馆管理系统
系统功能概述
根据图书管理系统的特点,可以将本系统分为4大功能模块,分别为基础数据维护、图书借阅管理、新书订购管理、系统维护。本系统各个部分及其包括的具体功能模
块如下图所示。
数据库设计
图书信息管理模块设计
图书信息管理模块主要包括图书信息添加、图书信息修改两大功能。在图书信息添加窗体中管理员可以录入图书相关信息。进入图书信息修改窗体后首先窗体表格中显示所有图书的相关信息,管理员可以选择表格中需要修改的某一行数据,当管理员鼠标单击表格中的某一个行数据时,在窗体下方的文本框中显示相应的内容。
公共模块设计、主窗体设计、登录模块设计、图书借阅归还模块设计、图书查询模块设计和新书订购管理模块等详见下载。
6、学生成绩管理系统
需求分析
1.窗体界面设计友好、美观,方便管理员的日常操作。
2.基本信息的全面设置,数据录入方便、快捷。
3.数据检索功能强大、灵活,提高了日常数据的管理工作。
4.具有良好的用户维护功能。
5.最大限度地实现了系统易维护性和易操作性。
6.系统运行稳定、系统数据安全可靠。
系统结构功能
数据库设计
①tb_classinfo( 班级信息表)
②tb_examkinds(考试种类表)
③tb_ gradeinfo ( 年级信息表)
④tb_gradeinfo_sub ( 考试科目成绩表)
其余详见下载
主窗体模块设计
公共模块设计、系统登录模块设计、 班级信息设置模块设计、学生基本信息管理模块设计、学生考试成绩信息管理、基本信息数据查询模块设计和考试成绩班级明细查询模块设计等详见下载。
7、进销存管理系统
系统功能概述
根据企业进销存管理系统的特点,可以将本系统划分为基础信息、进货管理、销售管理、库存管理、查询统计、系统管理共计6大部分,其中各个部分及其包括的具体功能模块如下图所示。
数据库设计
供应商编号:供应商的ID编号是进销存管理系统中供应商的唯标识,不同的供应商可以通过该编号来区分,该编号是供应商信息表的主键。在本系统中对该编号的编码规则以字符串“gys"为编号前缀,加14为数字做编号的后缀,这4位数字从1000开始。例如( gys1001 )
客户编号:和供应商编号类似,客户的ID编号也是客户的唯标识, 不同的客户将以该编号进行区分,该编号作为客户信息表的主键,有数据的唯性的约 束条件,所以,在客户信息表中不可能有两个相同的客户编号。企业进销存管理系统对客户编号的编码规则以字符串“kh”为编号的前缀,加上4为数字做编号的后缀,这4位数字从1000开始。如kh1002。
销售单编号:销售单编号用于区分不同的销售凭据,该销售单编号的命名规则以“XS"字符串做前缀,加上销售单的销售日期,再以3为数字做后缀,如XS20071205001 。
入库编号:入库岛号用于区分不同的商品入库信息,该编号的命名规则以“RK"字符串做前缀,加上商品的入库日期,再以3为数字做后缀,例如RK20071109003。
入库退货编号:入库退货编号用于区分不同的入库退货信息,该编号的命名规则以"RT”字符串做前缀,加上商品入库的退货日期,再以3为数字做后缀,例如RT20071109001。
主窗体设计
主窗体界面也是该系统的欢迎界面,应用程序的主窗体必须设计层次清晰的系统菜单和工具栏,其中系统菜单包含系统中所有功能的菜单项,而工具栏主要提供常用功能的快捷访问按钮。企业进销存管理系统采用导航面板综合了系统菜单和工具栏的优点,而且导航面板的界面更加美观,操作更快捷。下面我们来看一下程序的运行效果。
公共模块设计、基础信息模块设计、进货管理模块设计、查询统计模块设计、库存管理模块设计和系统打包发布等详见下载。
8、神奇Book——图书商城
需求分析
1.统一友好的操作界面,具有良好的用户体验
2.图书分类详尽, 可按不同类别查看图书信息
3.最新 上架图书和打折图书的展示
4.会员信息的注册及验证
5.用户可通过关键 字搜索指定的产品信息
6.用户可通过购物车一次购买多件商品
7.实现收银台的功能,用户选择商品后可以在线提交订单.
8. 提供简单的安全模型,用户必须先登录,才允许购买商品
9. 用户可查看自己的订单信息
10.设计网站后台,管理网站的各项基本数据
11.系统运行安全稳定、响应及时
系统功能结构
系统流程图
首页模块设计
公共类设计、会员注册模块设计、会员登录模块设计、购物车模块和后台功能模块等详见下载。
9、企业门户网站
根据企业门户网站的特点,可以将网站分为前、后台两个部分。前台部分主要实现企业与客户交互,后台部分主要实现网站相关信息管理功能。网站前台部分主要包括企业新闻展示、商品信息介绍、公司文化、技术支持、管理员登录等功能模块。网站前台功能结构如下图所示。
网站后台部分主要包括企业新闻管理、商品管理、管理员注销等功能模块。网站后台功能结构如下图所示。
网站首页设计
公共模块设计、商品介绍模块设计、后台登录模块设计、商品管理模块设计和新闻管理模块设计等详见下载。
10、棋牌游戏系统之网络五子棋
相信每个人都会五子棋游戏,当游戏的一方构成5个连续的棋子,无论是水平方向、垂直方向,还是斜对角线方向,都表示获胜了。对于初学网络的开发人员来说,设计一个网络五子棋游戏再合适不过了。从规模上看,网络五子棋只需要包含客户端和服务器端两个窗口,规模比较小,而本模块设计的是独立运行的客户端,不需要服务器。从功能上看,网络五子棋涉及两台主机间的通信,相互需要传递棋子信息
、控制指令和文本信息,这需要定义一个应用协议来解释数据报,涉及网络开发的许多知识。
编写游戏主窗体,其余详见下载。
—