目录
前面内容请移步
资源+毕业设计+毕业论文+源代码请移步
第五章 系统的详细设计与实现
根据上文的功能分析和数据库的分析,在系统的实现阶段上采用当今开源的SSH(Struts+Hibernate+Spring)整合框架实现。其目的是降低个模块间的耦合度,使各个模块之间的功能相互独立、模块内部结构清晰。
系统架构如图所示。整个系统是有多个层次的,数据流动的顺序是从浏览器到数据库,再从数据库到浏览器,中间经过service层,action层和dao层。
图5.1系统架构
如图展示的是层次之间的走向是自左到右,每一个层次都是相互依赖的关系。
用户登录这个客户关系管理系统需要在自己的浏览器上访问特定的网址,然后点击某些功能键后系统在段时间内回复用户访问请求,调用逻辑业务层代码接收请求和妆发请求,在执行访问数据库底层代码,请求经过dao层查询数据库并取出数据一步一步返回给上一层,最终把结论呈现在原来的jsp网页给使用者看。
5.1 持久层设计
持久层的功能就是接收其他层的请求并且响应其他层次的功能对数据库的进行访问得到数据,持久层的设计就需要设定应用程序和数据库交流的实体类和进行交流的方法。那么这一层就大致有实体对象的持久化类,以及数据访问层接口的实现类等结构。特别说明,持久层使用了开发程序经常使用的Hibernate框架,框架的使用能大大的减小关系型数据库与对象应用程序之间的不能一一对应的缺点,可以把需要处理的数据封装成对象。并且设计的实体类(持久化类),他的结构大概是对象的属性,构造方法(有参和无参),还有自动生成了get()和set()函数。如图为各个功能的类图。
产品管理功能的类图如下
图5.2 产品管理类图
如下为实体类对应的代码:
产品类别:
private Integer id;
private HrEmployee hrEmployee;
private String productCategory;
private Integer parentid;
产品信息:
private Integer productId;
private CrmProductCategory crmProductCategory;
private String productName;
private String specifications;
private String status;
private String unit;
private String remarks;
private Double price;
角色管理类图
图5.3 角色管理类图
角色实体类的代码:
private Integer roleid;
private String rolename;
private String roledscript;
private String childmenus;
private String rolesort;
登录管理和客户管理的类图设计
图5.4 登录管理类图
如下为实体类的代码:
部门类:
private Integer id;
private String DName;
private Integer parentid;
private String DTelephone;
private String DAddress;
private String DEmail;
private String DDescription;
private String DOrder;
职务类:
private Integer id;
private String positionName;
private String positionOrder;
岗位类:
private Integer postId;
private HrPosition hrPosition;
private HrDepartment hrDepartment;
private String postName;
private String positionOrder;
private String postDescript;
员工类:
private Integer id;
private SysRole sysRole;
private HrPost hrPost;
private String uid;
private String pwd;
private String name;
private String idcard;
private Date birthday;
private String email;
private String sex;
private String telephone;
private String status;
private Integer sort;
private Date entrydate;
private String