邮寄管理系统的主要目的就是把人们从繁琐的每次查询都要到相关部门询问的人人交互变成相对简单的人机交互。并且系统同时可以进行修改、删除以及存储等功能。同时用计算机可以快速准确的进行档案资料的统计汇总工作以满足各类人得额不同需求。
1 数据库设计
本文采用了Mysql数据库,分别设计了用户注册表、用户个人信息表、物件信息表、信件信息表、省份地址表以及密保表,其中,用户注册表和用户个人信息表通过用户注册名(username)关联,而密保表怎通过用户的注册名(username)和用户信息表相关联便于用户在密码丢失以后,通过密保问题找回密码!
1.1用户注册表
用户注册表主要是收录用户的注册信息,方便于管理员对于注册用户的查询和管理,该表主要包括Id,用户名和密码,以及注册日期,Id本文采用的是自增长方式取值,每一个新用户加入则Id会自动加一,即使该用户被注销了,Id也不会回收,这样可以一目了然知道曾经共有多少用户注册使用过,而且用户名是无法重复的。密码方面本文采用的是16位的MD5码加密模式,所以即使是数据库被黑客突破,也无法从后台拿到用户的密码,黑客所能看到的只有加密后的16位MD5码,这可以很好的保护用户信息不被盗取盗用。
1.2用户个人信息表
用户信息表主要是每位用户在注册完成之后必须填写的一个表,已达到实名制的目的,防止不法分子利用系统去做违法之事。该表主要是记录用户的真实姓名、身份证号码,以防一旦发生法律事件时方便与公安方面交流信息,以及手机号码和邮箱,便于通知用户一些实时的、重要的消息。同时,此表通过外键用户注册名(username)和用户注册表相关联,通过唯一值确定每一个身份证只与一位用户关联,不可重复使用。
其实真正的业务逻辑下,会将用户的身份证号码进行比对,如果该用户的身份证号码不符合国家相关部门制定的身份证号码规则,则会被判定为非法的身份证号码,将不予注册,但是由于这个业务逻辑涉及的业务关系比较强大,暂时本文无法完成,或许会在日后的工作中继续完善,在此处,本文只是制定了一个简单的18位身份证号码位数的规则,若是注册的身份证号码位数不是18位,那么系统则会警告,此身份证号码是非法的身份证号码,将不不予注册。
1.3物件信息表&信件信息表
物件信息表和信件信息表是用来记录用户所有的收发邮件的历史记录,方便于用户查询自己的操作历史。两表主要包括id、省份地址、发件人、收件人、收件人详细住址,加急和保险,其中,物件表还包括质量这一属性,一旦超过基础质量,则视省份不同而制定每千克的额外收费标准,两表通过发件人姓名(sendname)关联用户个人信息表,一旦用户个人信息表被删除,则此表相关的内容一起消失。
同样的,两表的Id本文采用的也是自增长方式取值,每一个新记录加入则Id会自动加一,即使该记录被注销了,Id也不会回收,这样可以一目了然知道曾经共有多少条记录。并且,用户对于自己的记录拥有完全的支配权,可以行使删除权,且在用户删除该条记录之后,管理员在后台也将查询不了这条记录,也就是说这条记录永远的从数据库中消失了。
1.4省份地址表
省份地址表是一张参考表,主要用于邮件发往不同城市时,系统会根据该表记录的城市名称进行对比,一旦名称匹配,那么当用户进行物件邮寄时一旦质量超过基础质量则取该城市的用费标准进行付费计算。此表主要包括id、省份地址和收费标准。此表属于一种关系表,用户无权做任何修改,系统会在页面上的相关区域做出展示,便于用户在使用该系统时提前了解自己所需要支付的费用,以及和最终的付费账单进行核对。 java+Struts2智能化邮寄收费管理系统设计+源代码(2):http://www.youerw.com/jisuanji/lunwen_37902.html