既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
关系:就是用来用来描述角色与线条之间关系的,在用例图中用线条来表示。
线条是指角色与用例之间的线条,这些线条是用来联系角色(小人)和用例(圈圈)的,表示某某角色能“做”什么用例。
管理员用例图
管理员在整个管理系统中的权限主要包括保险信息管理,订单信息管理,赔偿信息管理,用户管理。其中保险信息管理主要包括查看新增保险信息和删除保险信息,订单信息管理包含查看订单信息,赔偿信息管理包含审批赔偿申请,用户管理主要包含查看新增用户和删除用户,管理员用例图如图4-4
4-4管理员用例图
客户的用例图:
客户是保险公司中最主要的资源。客户在登录自己的主业之后可以进行自己相关的权限操作,权限主要分为保险信息,订单信息,赔偿信息和个人信息管理四大模块,其中保险信息包括购买保险产品,订单信息包括确认取消订单信息,赔偿信息模块主要包括赔偿申请,个人信息管理模块用户可以修改和保存自己的个人信息。客户参与整个系统的用例图如图所示:
4-5客户用例图
二、系统详细设计与实现
(一)系统详细设计
保险业务管理系统设计共有3个数据字典,分别为:用户信息表(user_list),反馈评价信息表(product_list),软件信息表(order_list)。三个表底下分别有着不同的结构。
在普通用户的角度看起来,数据的逻辑关系模型就是一张简单的二维表,每一个表里面都保存着保险企业中涉及总体的业务的逻辑。该管理系统涉及到的主要实体及其属性如下:
1.数据库结构设计
用户信息表:user_list(主键、帐号、密码、姓名、性别、年龄、电话、地址、类型)
反馈评价信息表:product_list(主键、产品名称、产品内容、产品费用、发布时间)
软件信息表:order_list(主键、订单名称、订单金额、下单时间、下单人、下单人ID、订单状态、产品ID)
2.数据字典
数据字典是对于数据模型中的数据对象或者项目的描述的集合,这样做有利于程序员和其他需要参考的人。分析一个用户交换的对象系统的第一步就是去辨别每一个对象,以及它与其他对象之间的关系。这个过程称为数据建模,结果产生一个对象关系图。当每个数据对象和项目都给出了一个描述性的名字之后,它的关系再进行描述(或者是成为潜在描述关系的结构中的一部分),然后再描述数据的类型(例如文本还是图像,或者是二进制数值),列出所有可能预先定义的数值,以及提供简单的文字性描述。
保险业务管理系统设计共有3个数据字典,分别为:
表 1 user_list表
属性名 存储代码 数据类型 长度 备注
主键 user_id int 11 主键,唯一性
用户名 username varchar 45
密码 password varchar 45
姓名 name varchar 45
性别 sex varchar 45
年龄 age varchar 45
电话 phone varchar 45
地址 address varchar 45
类型 type varchar 45
用户信息表主要包括用户的个人信息,其中包含用户名(username),密码(password),姓名(name),性别(sex),年龄(age),电话(phone),地址(address)和类型(type)几大部分。
表 2 product_list表
属性名 存储代码 数据类型 长度 备注
主键 product_id int 11 主键,唯一性
产品名称 product_name varchar 100
产品内容 product_desc varchar 2000
产品费用 product_cost varchar 45
发布时间 product_time varchar 45
反馈评价信息表包含了险种的详细描述信息,主要是保险单号。其中产品名称(product_name),产品内容(product_desc),产品费用(product_cost),发布时间(product_time)。主要是用来反馈产品的信息。这个表里包含的是所有的保险业务的信息,是用来保存保险产品的。里面所含的各项信息是保险产品的各个内容。
表 3 order_list表
属性名 存储代码 数据类型 长度 备注
主键 order_id int 11 主键,唯一性
订单名称 order_name varchar 100
订单金额 order_cost varchar 45
下单时间 order_time varchar 45
下单人 order_uname varchar 45
下单人ID order_uid varchar 45
订单状态 order_state varchar 45
产品ID product_id varchar 45
软件信息表主要是包括用户的订单信息,其中包含了订单名称(order_name),订单金额(order_cost),下单时间(order_time),下单人(order_uname),下单人ID(order_uid),订单状态(order_state),产品ID(product_id)。这些信息都是和用户有着紧要关系的。用户下了订单之后的状态都是显示在这个表里。这个表示整个系统的核心,所有的业务实现基本都在这个表里面,所以这个表很重要。
(二)模块实现
1.登录模块
所有用户输入帐号、密码后,即可凭正确的信息登录系统。如图5-1所示
5-1 登陆界面
如通过管理员账号进入管理员界面,如图5-2所示
5-2 管理员界面
由用户账号登录进入用户界面,如图5-3所示
5-3用户界面
不同身份,功能的权限也不同。
登录所需代码:
public String login(){
UserList ul = userListService.login(userlist.getUsername(), userlist.getPassword(), “”);
if (ul.getUser_id() != 0) {
session.put(“login”, ul);
return SUCCESS;
}else{
response.setContentType(“text/html;charset=UTF-8”);
response.setCharacterEncoding(“UTF-8”);//防止弹出的信息出现乱码
try {
PrintWriter out = response.getWriter();
out.print(“”);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
2.保险信息模块
管理员登录进去所显示的界面,如图5-4所示
5-4管理员界面
管理员可以在保险信息管理中查询、新增或者删除保险产品信息。如图5-5所示
5-5 增加保险界面
客户可以在保险列表中查看所有保险产品。如图5-6所示
5-6 用户查看保险信息
客户选择需要购买的保险后,加入订单信息中,用户可以在订单中确认或取消订单。如图5-7所示
5-7 用户个人订单列表
public List<ProductList> selProductList() {
Session session = sessionFactory.openSession();
String sql="select * from product_list";
Transaction tran = session.beginTransaction();
SQLQuery sq = session.createSQLQuery(sql);
List<Object[]> list = sq.list();
List<ProductList> plist = new ArrayList<ProductList>();
for(Object[] obj : list){
ProductList pl = new ProductList();
pl.setProduct_id((Integer)obj[0]);
pl.setProduct_name((String)obj[1]);
pl.setProduct_desc((String)obj[2]);
pl.setProduct_cost((String)obj[3]);
pl.setProduct_time((String)obj[4]);
plist.add(pl);
}
tran.commit();
session.close();
return plist;
}
}
3.赔偿模块
客户确认购买保险后,可以申请赔偿。如图5-8所示
5-8 个人用户赔偿列表
管理员可以根据实际情况同意或者否决用户的赔偿申请,如图5-9所示。
5-9管理员赔偿管理列表
public List selOrderList(String uid, String state) {
Session session = sessionFactory.openSession();
String sql=“select * from order_list where order_uid = '”+uid+“’ and order_state in (”+state+“)”;
Transaction tran = session.beginTransaction();
SQLQuery sq = session.createSQLQuery(sql);
List<Object[]> list = sq.list();
List olist = new ArrayList();
for(Object[] obj : list){
OrderList ol = new OrderList();
ol.setOrder_id((Integer)obj[0]);
ol.setOrder_name((String)obj[1]);
ol.setOrder_cost((String)obj[2]);
ol.setOrder_time((String)obj[3]);
ol.setOrder_uname((String)obj[4]);
ol.setOrder_uid((String)obj[5]);
ol.setOrder_state((String)obj[6]);
ol.setProduct_id((String)obj[7]);
olist.add(ol);
}
tran.commit();
session.close();
return olist;
}
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!