5章 系统技术方案

5.1 注册CELL组件

由于CELL是一款收费软件,所以需要对CELL进行注册,而且每一个CELL对象创建后都要进行注册。正版Cell组件用户会有一份产品表示,上面有组件ID使用者自行设置自己的用户名,通过设定服务器的域名或者地址,用友华表公司将根据这三个信息生成关联的产品密码

注册函数:

Login(username As String, productid As String, password As String) As Long

5.2 业务流程管理

基于公司的管理制度,业务流程一般分为提交、批准、执行、库存四个环节。

比如采购管理,由采购部门内勤先开采购单,然后上级领导进行批准,如果批准通过则内勤根据采购单进行购买,购买完成后交给库管进行入库,并填写真正的入库数量。

生产流程,由上级领导下发生产计划,生产部门通过配配方获取原料种类与数量,然后领料、生产执行、生产入库。企业的业务流程的严格执行有助于企业运营的规范与流畅。采购流程如5-1所示。

 

 

 

 

 

 

 

 

 

5-1 采购流程图

5.3 重要数据加密

为了方便软件分发并使软件更具有可读性,连接数据库等信息使用ini文件进行配置。其中用户名和密码进行了MD5加密。加密算法如下:

 // MD5 加密

        public static string MD5(string strText)

        {

            string strResult = "";

// 加密密钥

            char[] keys = { '3', 'e', 'd', 'c', '1', 'q', 'a', 'z', '7', 'u', 'j', 'm','5', 't', 'g', 'z' };

 // 获取字符串

            byte[] source = Encoding.UTF8.GetBytes(strText);

            MD5CryptoServiceProvider MD5CSP = newMD5CryptoServiceProvider();

 // MD5的计算结果是一个128位的长整数,用字节表示就是16个字节

            byte[] tmp = MD5CSP.ComputeHash(source);

// 每个字节用16进制表示所以表示成16进制需要32个字符    

            char[] str = new char[16 * 2];

// 表示转换结果中对应的字符位置         

            int k = 0;

  // 循环                                 

            for (int i = 0; i < 16; i++)

            {

             // 取第i个字节

                byte byte0 = tmp[i];

// 取字节中高4位的数字转换,>>> 为补零右移(即无符号)                str[k++] = keys[byte0 >> 4 & 0xf];

// 取字节中低4位的数字转换    

                str[k++] = keys[byte0 & 0xf];

            }

// 换后的结果转换为字符串

            strResult = new String(str);                

            return strResult;

         }

5.4 初始化功能列表

系统通过用户表、角色表、功能表3张表实现了权限管理。其中用户表中有角色字段,一个用户可以有多个角色,角色表中有功能字段,一个角色可以包含多个功能。3张表连接起来可以得到用户的功能列表。

用户登录系统后,根据用户的角色信息,查询数据库得到用户拥有的功能项,然后利用用户拥有的功能实例化系统上方的功能列表。

5.5 本章小结

本章主要描述了本套系统的实现方案,包括使用的第三发工具,系统开发中使用到的一些算法,系统的主要工作流程分析。对于权限管理也进行了详细的介绍和方案可行性分析。

posted on 2025-01-06 15:35    阅读(10)  评论(0)    收藏  举报