贯彻《企业知识产权管理规范》国家标准信息系统设计

编辑:来源:13人阅2017-06-05 18:29:07

何向繁 江西省工业和信息化技术创新推进中心 南昌 330029
 
摘要:
本文运用现代的信息管理理论,结合具体情况,通过分析国内外信息管理系统现状,实现了一个基于java的贯标管理信息系统,主要内容有:企业贯标手册文件管理,贯标制度文件管理,贯标记录文件管理,用户管理等。系统的建立旨在将与贯标管理有关的网络数据统一起来,形成一个统一的网络共享数据源,并能帮助企业的贯标管理人员进行信息化贯标管理。
关键词:贯标管理系统 MySql java JFace/SWT
0、 引言
进入信息时代以来,随着电脑与网络技术的日逐发达,网络信息运用空前发展,企业管理也逐步进入信息化轨道,贯彻《企业知识产权管理规范》国家标准信息系统就应运而生。贯标管理系统是企业进行信息化管理的重要组成部分,是为了提高企业管理水平和管理效率而设计开发的。系统设计的目标是实现对企业贯标相关信息进行统一管理,提供贯标手册文件信息,实现不同部门人员之间的协同工作。贯标管理系统在资源共享、知识产权相关文件管理等方面的功能具有现实意义。知识产权是企业最重要的资源,对知识产权相关文件及记录的有效管理是企事业管理工作中的一项重要职能,是加强竞争能力的有效保障。贯标管理系统的使用有利于提升企业管理效率,有利于企业在知识产权管理上获得提升,能帮助企业专利、商标等申请的数量和质量上一个新台阶,能帮助建立一套合法、科学、完整、实用的知识产权管理制度,并且通过程序化的实施,让企业知识产权的创造纳入流程管理,能建立良性的知识产权创造模式(自主研发、合作开发、购买、许可使用等),本文即是在上述意义的基础上,设计了一套合理的、易于维护的贯彻《企业知识产权管理规范》国家标准信息系统。
 
1、 系统设计
 
1.1课题的研究意义
本文是介绍贯彻《企业知识产权管理规范》国家标准信息系统V1.0,该系统主要用于贯彻《企业知识产权管理规范》国家标准信息化管理,因为企业贯标是一个持续的过程,贯标文件完成后在企业运行也会产生相应的文件表单,为便于贯标服务机构或者主管部门不定期的帮助或审核企业的贯标文件及其表单,所以设计了该系统,该系统解决了企业有贯标文件更改需要重新打印邮寄等繁琐的过程,而是企业根据实际情况修改并提交了,服务机构或者主管部门立即就能看到,省去了中间繁杂的过程,节约了企业的成本,同时也提高了贯标的效率。
1.2系统设计的目标
贯标管理系统的设计,应该达到以下目标:
1.2.1 系统设计应符合企业实际需求,切合实际,能够提高企业贯标管理水平,提高工作效率,降低成本。
1.2.2企业可以根据自己的实际情况做出修改,并保存提交。
1.2.3 系统根据用户实际设计,使用方便,设计统一的贯标管理系统界面
1.2.4 能够及时更新维护相关数据,贯标服务机构和主管部门能随时查看到最新状态
1.2.5 系统运行稳定、安全可靠。
1.3系统功能结构设计
贯标管理系统是针对企业贯彻《企业知识产权管理规范》国家标准的一个管理平台,系统主要包括以下功能模块:
1.3.1 用户管理:主要分为三类用户,第一类是管理员用户,第二类是主管部门或服务机构用户,第三类是企业用户。
1.3.2 权限管理:主要是管理员用于设置相关用户的权限,决定指定用户可查看的范围。
1.3.2 手册管理:主要管理企业的知识产权管理工作手册,查看、修改、添加以及删除相关内容。
1.3.3 制度管理:主要管理企业的知识产权管理制度,查看、修改、添加以及删除相关内容。
1.3.4 表单管理:主要管理企业的知识产权记录表单,查看、修改、添加以及删除相关内容。
1.4系统界面实现
 
对于一个企业信息管理系统,简洁明了的页面风格和严谨的逻辑是必不可少的,下面来介绍一下各个模块设计的页面
1.4.1、登录系统                                                                                                                                                                                  
贯彻信息管理系统的登录界面如下图1.1和图1.2所示,
\
图1.1贯标信息管理系统程序启动界面
启动程序,系统开始自动导入,程序代码如下:
public class Index extends JWindow implements Runnable{
JProgressBar jpb;
JLabel jl1; 
int width,height; 
public static void main(String []args){
Index index=new Index();
Thread t=new Thread(index);
t.start();
}
public Index()
{  
ImageIcon image1=new ImageIcon("images/index_1.gif");
jl1=new JLabel(image1);
jpb=new JProgressBar();
jpb.setStringPainted(true); 
jpb.setIndeterminate(false); 
jpb.setBorderPainted(false); 
jpb.setBackground(Color.darkGray); 
this.add(jl1,BorderLayout.NORTH);
this.add(jpb,BorderLayout.SOUTH);
this.setSize(400,263);
width=Toolkit.getDefaultToolkit().getScreenSize().width;
height=Toolkit.getDefaultToolkit().getScreenSize().height;
this.setLocation(width/2-200,height/2-150);
this.setVisible(true);
}
public void run() {
int []progressValue={0,1,5,8,14,17,26,35,38,43,49,56,
65,71,75,78,86,94,98,99,100};
for(int i=0;i<progressValue.length;i++)
{
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
jpb.setValue(progressValue[i]); 

new Login();
this.dispose();
}
}
程序完成导入后自动跳转到相应的登录界面,如下图:
\
图1.2贯标信息管理系统用户登录界面
登录界面源代码如下:
public class Login extends JDialog implements ActionListener {
JLabel jl1,jl3;
JTextField jname;
JPasswordField jpasswd;
JButton jlog,jcancle; 
Font f1;
public static void main(String []args)
{
Login login=new Login();
}
public Login()
{
jl1=new JLabel("用户名:");
jl1.setForeground(Color.white);
jl1.setBounds(78, 158, 150, 30);
jl1.setFont(MyFont.f00);
this.add(jl1);
jl3=new JLabel ("密  码:");
jl3.setForeground(Color.white);
jl3.setBounds(79,200,120,30);
jl3.setFont(MyFont.f00);
this.add(jl3);
jname=new JTextField(20);
jname.setFocusable(true);
jname.setBounds(149,158,152,30);
jname.setFont(MyFont.f0);
this.add(jname);
jname.setBorder(BorderFactory.createLoweredBevelBorder());
jpasswd=new JPasswordField();
jpasswd.setFocusable(true);
jpasswd.setBounds(149,200,152,30);
jpasswd.setFont(MyFont.f0);
this.add(jpasswd);
jpasswd.setBorder(BorderFactory.createLoweredBevelBorder());
jlog=new JButton("确 定");
jlog.addActionListener(this);
jlog.setBounds(105,295,75,30);
jlog.setFont(f1);
jlog.setForeground(Color.blue);
this.add(jlog);
jcancle=new JButton("取 消");
jcancle.addActionListener(this);
jcancle.setBounds(215,295,75,30);
jcancle.setFont(f1);
jcancle.setForeground(Color.blue);
this.add(jcancle);
this.setLayout(null);
BackImage bi=new BackImage();
bi.setBounds(0,0,406,336);
this.add(bi);
this.setUndecorated(true);
this.setSize(406, 336);
int width=getToolkit().getDefaultToolkit().getScreenSize().width;
int height=getToolkit().getDefaultToolkit().getScreenSize().height;
this.setLocation(width/2-200,height/2-200);
this.setVisible(true);
}
class BackImage extends JPanel
{
Image im;
public BackImage(){
try
{
im=ImageIO.read(new File("images/index_login.gif"));
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void paint(Graphics g) 
{
g.drawImage(im,0,0,406,336,this);
}
}
public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource()==jlog)
{  
           int login_times=3;  
String userName=this.jname.getText().trim();
String passwd=new String(this.jpasswd.getPassword());
UserModel um=new UserModel();
String login_info=um.checkUser(userName, passwd);
if(login_info.equals("true"))
{
new Window_gb();
this.dispose();
}
else{ 
this.dispose();
}

}
else if(arg0.getSource()==jcancle)
{
this.dispose();
}
}

}
class UserModel {
public String checkUser(String user_name,String pass_wd)
{
String zhiwei="";
String login_pwd="";
SqlHelper sh=null;
try { 
String sql="select userKey from user_login where userName=? ";
String paras[]={user_name};
sh=new SqlHelper();
ResultSet rs=sh.query(sql, paras);
if(rs.next())
{
login_pwd=rs.getString(1);
}
} catch (Exception e) {
e.printStackTrace();
}
finally 
{
sh.close();
}
if(login_pwd.equals(pass_wd)){
return "true";
}
else{
return "false";
}
}
 
}
登入成功后就能进入贯标信息管理系统管理界面。如下图1.3
 \

图1.3贯标信息管理系统用户管理界面
2、 主要技术
2.1数据库连接
本系统数据库连接采用的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查、增、删、改等操作,JDBC 是个"低级"接口,也就是说,它用于直接调用 SQL 命令。在这方面它的功能极佳,并比其它的数据库连接 API 易于使用。同时通过正则表达式对用户的输入进行校验,引入防注入机制,提升安全性。 
2.2 管理界面
本系统管理界面的实现主要是SWT/Jface。SWT,即Standard widget Toolkit。用SWT设计出来的GUI程序是完全本地化的。也就是说它设计出的程序的外观会随着操作系统的变化而变化,不再象swing一样一成不变。高效性能也是SWT的优势之一,为了避免SWT设计出来的程序过于复杂,代码量很大的缺的而使用了JFace,SWT不依赖于任何 JFace 或平台代码。JFace 用来在 SWT 库顶部提供常见的应用程序 UI 功能。JFace 并不试图“隐藏”SWT 或者替换它的功能。它提供一些类和接口,以处理与使用 SWT 来对动态 UI 编程相关联的许多常见任务。JFace仅仅是作为对SWT的部分功能扩展,但不是全部,并且JFace并不会替代SWT中的任何功能,出于易用性等方面的考虑,在设计GUI的时候能用JFace的组件就不用使用SWT。只有当JFace不能满足设计的需要的时候才考虑使用SWT的组件,因此贯标信息管理系统设计是SWT和JFace混合使用的,用Jface实现整体管理框架的设计,用SWT实现Word OLE的调用既实现了程序管理界面的word内嵌。效果见图1.3。关键代码如下:
  protected Control createContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NULL);
    composite.setLayout(new FillLayout());
    oleFrame = new OleFrame(composite, SWT.NULL);
    if (getMenuBarManager() != null) {
      MenuItem windowMenu =new MenuItem(getMenuBarManager().getMenu(), SWT.CASCADE);
      windowMenu.setText("[Window]");
      MenuItem containerMenu =new MenuItem(getMenuBarManager().
getMenu(), SWT.CASCADE);
      containerMenu.setText("[Container]");
      MenuItem fileMenu =new MenuItem(getMenuBarManager().getMenu(), SWT.CASCADE);
      fileMenu.setText("[File]");
      oleFrame.setWindowMenus(new MenuItem[] { windowMenu });
      oleFrame.setContainerMenus(new MenuItem[] { containerMenu });
      oleFrame.setFileMenus(new MenuItem[] { fileMenu });
    }
    clientSite=new OleClientSite(oleFrame, SWT.NULL, new File("test.doc"));
    clientSite.doVerb(OLE.OLEIVERB_SHOW);
    return composite;
  }
2.3 eclipse 平台可行性
本系统开发平台选择了当今流行的eclipse开发环境来设计,使用MYsql数据库来存储数据,这些软件都是开源免费的,使用安全可靠,硬件方面,采用了4G内存,硬盘500G,可满足系统的设计开发,系统运行速度较快捷。
3、 总结
综上所述,本系统具有很好的操作界面,系统功能、显示内容简单明了,操作者不比具有较高的计算机专业知识,也不必进行专门培训,只要经过短时间的操作就可以很快掌握并熟练使用,加快公司的贯标管理,提高工作效率。此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快,因此该系统完全可行并对贯标信息管理具有实际意义。
 
参考文献
[1]埃史尔 (作者), 陈昊鹏 (译者)《 Java编程思想》(第4版) 机械工业出版社; 第1版 (2007年6月1日); 
[2]Joshua Bloch (作者), 杨春花 (译者), 俞黎敏 (译者)《Sun 公司核心技术》机械工业出版社; 第2版 (2009年1月1日)
[3] 张红《Java程序设计项目化教程》高等教育出版社; 第1版 (2012年4月1日)
[4] 黄明梁旭 《高等院校计算机专业毕业设计指导及开发实例丛书》 机械工业出版社; 第1版 (2004年1月1日)
[5] 哈诺德 (作者) 《Java网络编程》(第3版) 中国电力出版社; 第1版 (2005年11月1日)
[6] Jackwind Li Guojie (作者) Professional Java Native Interfaces with SWT / JFace (英语)
 Wrox; 1 (2004年11月19日)
[7] 叶核亚 (作者), 陈本林 (合著者)  数据结构(Java版)(第3版) 电子工业出版社; 第1版 (2011年8月1日)
[8] Joshua Marinacci (作者), Chris Adamson (作者) Swing Hacks: Tips and Tools for Killer GUIs (英语) O'Reilly Media; 1 (2005年6月30日)
[9] 陆阳 (作者) 《Eclipse RCP与Spring OSGi:技术详解与最佳实践》机械工业出版社; 第1版 (2013年1月1日) 
[10] Cay S. Horstmann, Gary Cornell 《Core Java, Volume II-Advanced Features,Ninth Edition》机械工业出版社; 第1版 (2014年2月1日)
[11]Heinz Kabutz, Stephen Harrison 《The Well-Grounded Java Developer: Vital Techniquesof Java 7 and Polyglot Programming》人民邮电出版社; 第1版 (2013年8月1日)