![ERP通用信息管理系统开发平台范文教学文稿_第1页](http://file4.renrendoc.com/view/6cfad80bcaf89469c705f2dc114761a9/6cfad80bcaf89469c705f2dc114761a91.gif)
![ERP通用信息管理系统开发平台范文教学文稿_第2页](http://file4.renrendoc.com/view/6cfad80bcaf89469c705f2dc114761a9/6cfad80bcaf89469c705f2dc114761a92.gif)
![ERP通用信息管理系统开发平台范文教学文稿_第3页](http://file4.renrendoc.com/view/6cfad80bcaf89469c705f2dc114761a9/6cfad80bcaf89469c705f2dc114761a93.gif)
![ERP通用信息管理系统开发平台范文教学文稿_第4页](http://file4.renrendoc.com/view/6cfad80bcaf89469c705f2dc114761a9/6cfad80bcaf89469c705f2dc114761a94.gif)
![ERP通用信息管理系统开发平台范文教学文稿_第5页](http://file4.renrendoc.com/view/6cfad80bcaf89469c705f2dc114761a9/6cfad80bcaf89469c705f2dc114761a95.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Good is good, but better carries it.精益求精,善益求善。ERP通用信息管理系统开发平台范文ERP通用信息管理系统开发平台班级:专业:教学系:指导老师:完成时间2010年2月16日至2010年5月25日摘要随着以计算机技术、通信技术、网络技术为代表的现代信息技术的飞速发展,人类社会正在从工业时代阔步迈向信息时代,人们越来越重视信息技术对传统产业的改造以及对信息资源的开发和利用,一个国家、一个地区信息化水平的高低已成为衡量其现代化水平和综合国力的重要标志。在过去40年里,MIS对于企业完善管理、提高生产率和工作效率起到了一定的作用,随着信息时代的到来,MIS将对
2、我国的经济发挥起着越来越重要的作用企业的信息化建设在当今时代已经是非常的重要了,企业的管理者也注意到了这个问题,那么给我们软件开发者的要求就是如何才能提供一套更加快速开发的ERP软件开发平台,封装常用的数据库底层的操作,避免代码的重复编写,对于一个程序员来说是十分重要的,程序员应该想的是如何才能更少的写代码,增加代码利用率,让我们的企业软件的开发者,维护者能够更加快速的开发查询报表,操作界面,提高工作效率!本课题利用Delphi7开发前台界面程序,数据库的连接采用XML技术配置文件,采用SQLSERVER2008为后台数据库,进行数据的存储。对于企业个性化的管理信息化业务要求,融合企业的独特管
3、理模式和个性化要求,得到可裁减的系统,不但能够符合企业当前的需求,而且在企业的发展应用过程中,还能够对软件系统进行适当的改变和调整以适应变化了的环境。关键词:通用开发平台、基础功能类库、通用配置、C/S目录TOCohzuHYPERLINKl_Toc262905396第一章引言PAGEREF_Toc262905396h1HYPERLINKl_Toc262905397第二章系统需求分析PAGEREF_Toc262905397h2HYPERLINKl_Toc2629053982.1系统功能需求分析PAGEREF_Toc262905398h2HYPERLINKl_Toc2629053992.1.1功能
4、划分PAGEREF_Toc262905399h2HYPERLINKl_Toc2629054002.1.2功能描述PAGEREF_Toc262905400h2HYPERLINKl_Toc2629054012.2业务流程分析PAGEREF_Toc262905401h3HYPERLINKl_Toc2629054022.3数据流分析PAGEREF_Toc262905402h4HYPERLINKl_Toc262905403第三章系统总体设计PAGEREF_Toc262905403h6HYPERLINKl_Toc2629054043.1系统总体功能结构设计PAGEREF_Toc262905404h6HYP
5、ERLINKl_Toc2629054053.1.1系统结构PAGEREF_Toc262905405h6HYPERLINKl_Toc2629054063.1.2三层架构简介PAGEREF_Toc262905406h7HYPERLINKl_Toc2629054073.1.3基础功能类PAGEREF_Toc262905407h8HYPERLINKl_Toc2629054083.2系统后台数据库设计PAGEREF_Toc262905408h11HYPERLINKl_Toc2629054093.2.1系统主要功能数据表及其关系PAGEREF_Toc262905409h11HYPERLINKl_Toc26
6、29054103.2.2数据库表设计PAGEREF_Toc262905410h12HYPERLINKl_Toc2629054113.3系统开发工具PAGEREF_Toc262905411h15HYPERLINKl_Toc2629054123.3.1系统开发环境PAGEREF_Toc262905412h15HYPERLINKl_Toc2629054133.3.2系统调试运行环境PAGEREF_Toc262905413h16HYPERLINKl_Toc262905414第四章用户信息维护模块PAGEREF_Toc262905414h17HYPERLINKl_Toc2629054154.1用户信息维
7、护模块简介PAGEREF_Toc262905415h17HYPERLINKl_Toc2629054164.1.1用户信息维护模块PAGEREF_Toc262905416h17HYPERLINKl_Toc2629054174.1.2模块功能结构图PAGEREF_Toc262905417h17HYPERLINKl_Toc2629054184.2模块详细设计PAGEREF_Toc262905418h18HYPERLINKl_Toc2629054194.2.1用户注册界面PAGEREF_Toc262905419h18HYPERLINKl_Toc2629054204.2.3用户登录界面PAGEREF_T
8、oc262905420h19HYPERLINKl_Toc2629054214.2.4用户信息修改PAGEREF_Toc262905421h20HYPERLINKl_Toc2629054224.3主要代码分析PAGEREF_Toc262905422h21HYPERLINKl_Toc2629054234.3.1用户帐号开通界面主要代码分析PAGEREF_Toc262905423h21HYPERLINKl_Toc2629054244.3.2加密处理模块代码PAGEREF_Toc262905424h21HYPERLINKl_Toc2629054254.3.3邮件发送处理单元PAGEREF_Toc262
9、905425h23HYPERLINKl_Toc2629054264.3.4程序自动升级核心代码PAGEREF_Toc262905426h24HYPERLINKl_Toc262905427第五章系统基础功能管理模块PAGEREF_Toc262905427h26HYPERLINKl_Toc2629054285.1系统管理功能设计PAGEREF_Toc262905428h26HYPERLINKl_Toc2629054295.1.1系统管理模块简介PAGEREF_Toc262905429h26HYPERLINKl_Toc2629054305.1.2模块功能结构图PAGEREF_Toc262905430
10、h26HYPERLINKl_Toc2629054315.2模块详细设计PAGEREF_Toc262905431h26HYPERLINKl_Toc2629054325.2.1模块程序流程图PAGEREF_Toc262905432h26HYPERLINKl_Toc2629054335.2.2用户登录界面PAGEREF_Toc262905433h27HYPERLINKl_Toc2629054345.2.3用户管理PAGEREF_Toc262905434h27HYPERLINKl_Toc2629054355.2.4单表操作管理PAGEREF_Toc262905435h28HYPERLINKl_Toc2
11、629054365.2.5通用查询配置PAGEREF_Toc262905436h29HYPERLINKl_Toc2629054375.2.6权限管理模块PAGEREF_Toc262905437h29HYPERLINKl_Toc2629054385.2.7公司信息维护管理PAGEREF_Toc262905438h30HYPERLINKl_Toc2629054395.2.8部门信息管理PAGEREF_Toc262905439h30HYPERLINKl_Toc2629054405.2.9功能包管理PAGEREF_Toc262905440h30HYPERLINKl_Toc262905441第六章用户手
12、册PAGEREF_Toc262905441h32HYPERLINKl_Toc2629054426.1系统运行环境简介及功能介绍PAGEREF_Toc262905442h32HYPERLINKl_Toc2629054436.2系统配置与操作指南PAGEREF_Toc262905443h32HYPERLINKl_Toc2629054446.3系统性能要求PAGEREF_Toc262905444h32HYPERLINKl_Toc262905445第七章系统评价PAGEREF_Toc262905445h34HYPERLINKl_Toc2629054467.1系统特色PAGEREF_Toc2629054
13、46h34HYPERLINKl_Toc2629054477.2系统存在的不足PAGEREF_Toc262905447h34HYPERLINKl_Toc2629054487.3心得与体会PAGEREF_Toc262905448h35HYPERLINKl_Toc262905449结论PAGEREF_Toc262905449h36HYPERLINKl_Toc262905450致谢PAGEREF_Toc262905450h37HYPERLINKl_Toc262905451参考文献PAGEREF_Toc262905451h38第一章引言面对目前生产型企业ERP信息化建设还不成熟,各大小型系统开发结构不理
14、解,规范性不强,后期维护工作量大,代码可阅读性差,给IT部门程序员提供一个统一的开发平台就显示相当重要,也特别有必要,界面的统一规范,是一个现代信息化型企事业所必须的,从优化程序的角度看框架,功能设计,减少共性代码的开发是非常有必要的,现各大软件公司都提出开发平台的概念,其最核心的目标就是为了统一管理,便于维护,二次开发,一个大型的ERP系统是不可能不需要修改的,随着业务规则的变化,程序必定会跟随业务的变化及时做出调整,如果有了平台的概念,变更基础功能代码将变的更加简单。问题的提出在软件开发过程中往往是有很多可以通用的代码的,没有平台的概念,不将这些共性的代号,收集整理,分类封装,浪费软件开发
15、人员的时间,不能提高软件开发的效率,在没有一共通用的开发平台,往往一个中小型的项目可能需要十个人左右来共同开发,但如果有一个比较方便的基础平台,那就可以快速的实现开发,从而从很大程序上节省了开发的成本。可行性分析开发此平台无论从技术上还是实际需求两个层面都是可行的,经过长达一年的学习和公司研发部门的技术实力来分析,已经具备开发的能力,更为重要的一点是现在的行业内的主流所向,都渐渐有了选用开发平台来实施生产信息系统的意识,基于平台开发业务系统,开发速度快,简便。基于平台开发业务系统,只需要编写少量的代码,或实现零编码,编码的减少,可以有效减少系统中bug的存在,提高系统的稳定性。基于平台开发的业
16、务系统,具备统一的界面风格,统一的业务逻辑实现方式,这样除了具备统一的操作界面,使用户更容易操作外,更体现在后期维护方面,即使维护人员没有参与开发,只要掌握了平台的使用及业务规则,维护工作的难度将会大大降低因为同类的业务模块的实现模式是一样的。这点不同于传统的编码方式,读别人的代码,特别是不规范的代码,那是很痛苦的一件事,基于平台开发业务系统,维护方便,对于引擎类的开发平台更突出。通过开发平台,你可以在不停止应用服务的情况下,通过平台定制、修改、发布业务模块,包括查询统计,所见即所得,完全不像传统的方式,需要进行编码,打包重新发布,这样不但能快速响应新的需求,而且可以降低业务系统的维护费用。第
17、二章系统需求分析为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。需求分析是软件定义的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。根据第一章中可行性研究、分析阶段所定义的课题研究方向及目标,本章将对系统功能进行具体的需求分析,以下将从系统的性能需求、功能需求、可靠性和可用性需求等方面对系统的功能做了阐述。2.1系统功能需求分析本课题属于C/S结构信息管理开发平台,只有注册用户才能使用本系统。管理员可以对系统权限开通,及界面的配置权限等,增加对数据库的单表操作配置功能,配置成功后可直接引用,并实现操作,对于SQL语句,存储过程,水晶报表,可实现界面配置动态生成
18、功能,减少编写重复代码。2.1.1功能划分系统平台基础信息的管理功能本系统平台主要应用于生产型集团公司,平台支持分区(可用于区分不同地理区域,公司,部门),按照此三大类进行用户管理,由于本平台采用目录树结构,平台支持动态目录树的配置功能,由此展开来,权限的管理在本平台中也是按照菜单为单位进行管理。通用配置功能此模块主要功能提供单表的操作的可配置功能,从实际应用出来,对于字典表的维护,不再需要代码就可实现对单表的增删改功能。为业务层后期开发提供基础类库整理前期开发的经验对常用的功能类库进行汇总,归类,封装,写在一个单元文件中,实现函数或过程的调用,提高后期程序的开发效率。2.1.2功能描述通用配
19、置功能实现通用的单表操作与通用查询的配置功能,动态创建界面,实现动态的数据查询。配置单表操作(增删改)通过在配置界面中指定数据库服务器的IP地址,数据库名,所要操作的表名,即可实现通用字典表的配置界面,省去了编写代码的麻烦。通用查询配置功能目前此功能支持对水晶报表,存储过程,SQL语句的配置调用功用,只需指定相关参数信息,即可实现通用的查询功能,相当于报表中心。基础资料管理对基础信息的数据库表进行增删改功能,实现对平台基础信息功能的维护功能。菜单管理菜单中的目录结构,可实现增删改。功能包管理能以包为单位设定包在这常情况下的自动发送至对应的管理员的邮箱,实现灵活动态,符合生产实际的需要,在实际需
20、求中,一个大型的信息化系统维护人员会有多人来共同完成,此功能可以实现动态指定自动发送的邮箱地址。数据连接管理统内所有需要使用的数据库连接,此功能主要目的在于统一管理数据权限以便移植,更方便程序员在代码中调用,不再需要在代码中定义,动态灵活。分区管理维护分区字典表公司管理维护公司字典表。用户管理可开通用户帐号功能。权限管理可对不同用户开通使用权限。权限编辑现用户权限的复制操作。2.2业务流程分析在对系统的组织结构和功能进行分析时,需从一个实际业务流程的角度将系统调查中有关该业务流程的资料都串起来作进一步的分析。业务流程分析可以帮助我们了解该业务的具体处理过程,发现和处理系统的调查工作中的错误和疏
21、漏,修改和删除原系统的不合理部分,在新系统基础上优化业务处理流程。通过对系统的需求分析,系统的基本功能已确定,系统的业务流程及各个模块清楚的描述了彼此间的关系如图2.1所示。图2.1业务流程图2.3数据流分析数据流分析主要以数据流图来体现,数据流图由数据存储、接口、进程、数据流四个基本部分(图标如图2.2)组成。图2.2图例说明系统平台以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能如图2.3所示。图2.3系统平台数据流图第三章系统总体设计经过需求分析阶段的工作,系统必须“做什么”已经清楚了,而在系统设计阶段的主要任务是设计程序的体系结构,划分组成系统的物理元素
22、程序、文件、数据库、人工过程和文档等等。在这个阶段将具体描绘出程序的组成模块,以及各模块之间的关系。3.1系统总体功能结构设计3.1.1系统结构系统的用户界面配置信息以*.ini文件存在本地程序目录中。在界面显示时,由UIConfigmanager(用户界面配置管理器)类读取并初始化界面。系统的数据库连结信息以*.xml文件存在本地程序目录。在程序启动时,由DBConnectionManager(数据库连结管理器)类读取数据库连结字符串,并检测其合法性(注:平台中不使用静态的数据库连结控件)。系统的结构图如图3.1所示。图3.1系统平台结构图3.1.2三层架构简介软件集成平台采用目前较为流行的
23、逻辑三层系统架构,按照由高到低为用户界面层,业务功能层,数据访问层,SQLHelper架构图(如图3.2所示)。图3.2系统架构图上述结构使用户界面,业务逻辑,与数据库访问相分离,实现程序模块解耦,从而达到可以并行开发的目的。各层的访问关系如图3-3所示。图3.3各层关系图数据访问层处理所有与数据库访问相关的操作,完成数据的增添、删除、修改、更新、查找等功能。业务功能层主要实现业务功能,比如:新建生产单,添加用户等。用户界面层主要负责将数据展现给用户。平台提供独立的SQLHelper封装所有通用的数据库访问操作,供数据访问层使用。即将每个系统模块看成为一个小的三层结构的系统。平台也将按此架构实
24、现。用户界面包与平台本身目录分级管理,不属于平台系统目录也不属于平台系统包,在编译生成后的文件输出至OUTPUT文件夹中,可由开发人员自由选择所生成的目录地址。3.1.3基础功能类系统日期类系统日期类写在包pkExFoundationClass中的ExSystemDate单元文件中。示例说明:Date()函数获取当前系统日期值如2010-05-25Datetime()函数获取当前系统日期值如2010-05-2508:00DatetimeString()函数获取当前系统字符型日期值如2010-05-2508:00在相应外围程序中可直接根据需要调用符合返回值类型的函数具体见图3.4所示:图3.4E
25、xSystemDate类属性图表格(cxgrid)扩展操作类GridHelper类写在包pkExFoundationClass中的TEXGridHelper单元文件中,其封装了常用的表格编辑,导出,打印等功能。示例说明:ExportToExcel(参数)对Grid实现导出至Excel功能ExportToTXT(参数)对Grid实现导出至TXT文本文档功能具体见下图3.5所示:图3.5TEXGridHelper类图进度条窗体类进度条窗体写在包pkExFoundationClass中的ExProgress单元文件中,通过ShowProgress可调用此进度条,更新查询进度。示例说明:ShowPro
26、gress此函数为调用接口函数,引用此函数可初始化进度条窗体Closeprogress释放当前进度条窗体Updateprogress在初始化进度条后此方法实现进度条的移动具体见下图3.6所示:图3.6ExProgress进度条类图系统平台邮件发送类邮件发送类写在包pkExFoundationClass中的Texmail单元文件中,定义了邮件发送地址,发送内容,发送地址,端口等信息,函数调用发送,减少定义参数代码,编码快捷示例说明:FBody此字段属性定义用于邮件内容FSubject此字段属性定义用于邮件主题FUserName此字段属性定义用于用户名SendMail此方法为定义参数信息后执行发送
27、操作的执行函数见图3.7所示:图3.7发送邮件类图消息对话框窗体类消息对话框窗体写在包pkExFoundationClass中的ExMessageBox单元文件中,此单元文件中的各种对话框以函数方式调用,指定参数调用后返回值。示例说明:Show()方法重载指定不同参数可实现不同类型的消息对话框,可动态指定对话框标题内容,显示图片,确认和取消按钮的位置,个性化程度高。见图3.8所示:图3.8消息对话框类图3.2系统后台数据库设计由于系统属于集成平台,因此数据的访问量不大,重点在于表中数据的组织关系,将影响平台的正常运行,此开发平台运行对数据库的依赖性高,一个好的数据库是我们的目标,我们需要从这样
28、一些方面考虑建好数据库:数据库冗余度小函数依赖性明确数据库的表命名体现表的内容表中各属性的名称及类型体现该属性的含义建立好的索引选定适当的键设定各字段的约束规则表在减少冗余时应考虑实际使用时的方便性3.2.1系统主要功能数据表及其关系用户及对应用户权组权限管理相关的表的关系,如图3.9所示:图3.9用户及用户组表关系图系统菜单及基础功能包表的关系图3.10所示:图3.10系统菜单基础表及功能包关系3.2.2数据库表设计根据物理结构设计的三原则即尽可能减少数据冗余和重复;结构设计与操作设计相结合;数据结构要具有相对的稳定性,进行本系统中关系数据库表结构设计系统主要用户相关数据库表如下:表3-10
29、T_Ex_系统_用户表列名数据类型允许NULL值用户名nvarchar(50)Unchecked姓名nvarchar(50)Unchecked工号nvarchar(10)Unchecked密码nvarchar(50)Unchecked性别nvarchar(2)Unchecked部门编号nvarchar(50)Unchecked公司编号varchar(50)Checked手机号nvarchar(50)CheckedEMailnvarchar(50)Checked岗位nvarchar(50)Checked办公室电话nvarchar(50)Checked图片imageChecked签名图片image
30、Checked激活状态bitUnchecked表3-11T_Ex_系统_菜单表列名数据类型允许NULL值用户名nvarchar(50)Unchecked姓名nvarchar(50)Unchecked工号nvarchar(10)Unchecked密码nvarchar(50)Unchecked性别nvarchar(2)Unchecked部门编号nvarchar(50)Unchecked公司编号varchar(50)Checked手机号nvarchar(50)CheckedEMailnvarchar(50)Checked岗位nvarchar(50)Checked主要功能相关数据库表表3-12T_Ex
31、_系统_查询配置汇总字段表列名数据类型允许NULL值汇总序号intUnchecked查询序号intUnchecked汇总字段nvarchar(50)Unchecked汇总方式nvarchar(50)Unchecked显示位置nvarchar(50)Unchecked分组序号intUnchecked表3-13T_Ex_系统_查询配置主表列名数据类型允许NULL值查询序号intUnchecked窗体标题nvarchar(100)Unchecked查询类型nvarchar(50)Unchecked查询语句nvarchar(4000)Unchecked数据连接nvarchar(50)Unchecked
32、控件列数intUnchecked页汇总bitUnchecked组汇总bitUnchecked系统代码nvarchar(50)Checked添加人工号nvarchar(20)Checked修改人工号nvarchar(20)Checked修改时间datetimeChecked表3-16T_Ex_系统_错误反馈发件箱列名数据类型允许NULL值发件箱nvarchar(50)Unchecked用户名nvarchar(50)Unchecked密码nvarchar(50)Unchecked服务器nvarchar(50)Unchecked端口intUnchecked表3-17T_Ex_用户桌面_系统列名数据类
33、型允许NULL值GIDintUnchecked用户名nvarchar(50)Unchecked菜单代码intUnchecked使用时间datetimeUncheckedIPnvarchar(50)Unchecked3.3系统开发工具3.3.1系统开发环境系统开发环境及开发工具介绍Delphi这个名字源于古希腊的城市名。它集中了第三代语言的优点。以ObjectPascal为基础,扩充了面向对象的能力,并且完美地结合了可视化的开发手段。Delphi自1995年3月一推出就受到了人们的关注,并在当年一举夺得了多项大奖。Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤
34、之别。一个Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。您的工作只是在“骨架”中加入您的程序。缺省的应用程序是一个空白的窗体(Form),您可以运行它,结果得到一个空白的窗口。这个窗口具有Windows窗口的全部性质:可以被放大缩小、移动、最大最小化等,但您却没有编写一行程序。因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。面向对象的程序设计(Object-OrientedProgramming,简记为OOP)是Delphi诞生的基础。OOP立意于创建软件重用代码,具备
35、更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进Windows编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。同时,选用SQLSever2008作为系统后台数据库,开发中将用到以下主要几款开发工具,表3-1:系统开发环境表开发工具名称软件用途Microsoftvisio2007系统流程图的设计、数据流图的设计Delphi7.0工程管理、代码编写及调试SQL-Server2008建立系统的后台数据库photoshopcs图片处理Delphi7开发环境的优点Delphi7适用于中小型系统的开发,编译速度快,
36、在Win32编程中有绝对优势,第三方控件使用方便,属于面象对象的开发语言,其原生数据库控件功能强大,实现方式简单,采用编译方式,因此与源程序可以没有任何关联进行运行,执行响应速度快。SQLServer2008后台数据库的优点数据库保存着整个系统的重要信息,绝对不允许被他人恶意破坏。在Access、SQLServer2008、Oracle等诸多数据库中我们选择了SQLServer,原因如下:SQLServer2008是微软公司推出服务器产品,SQLServer2008除了具有扩展性、可靠性以外,还具有可以迅速开发新的因特网应用系统的功能,尤其是可以直接存储XML数据,可以将搜索结果以XML格式输
37、出等特点。SQLServer2008通过对高硬件平台以及最新网络和存储技术的支持,可以为大的应用系统和企业级的应用提供可扩展和高可靠性。3.3.2系统调试运行环境硬件环境:服务器端:推荐配置为2G内存,CPU为IntelPentium1700MHZ,硬盘容量为120G的微机,通信网络:局域网软件环境:操作系统:WindowsXPProfessionalSP3数据库:SQLSERVER2008第四章用户信息维护模块4.1用户信息维护模块简介在本系统中开通用户信息必须由管理员进行开通帐号,从安全性的角度不提供其它接品程序进行开通帐号,注册时用户的密码是加密后保存至数据库中,数据库维护人员是无法查看
38、到密码的,在用户输入用户名和密码后,程序会自动将录入的密码加密并与数据库的密码进行比较,如相等则进入权限验证模块,读到相关权限信息,进行用户操作界面。4.1.1用户信息维护模块用户只能修改密码信息,对于用户的个人信息暂不支持修改,如有变更需由管理员进行变更操作,如图(4.1)所示:图(4.1)用户信息维护4.1.2模块功能结构图该模块的结构如图4.2所示。图4.2用户管理功能模块结构图4.2模块详细设计4.2.1用户注册界面用户帐号开通界面设计效果如图4.3所示:图4.3用户帐号截图用户注册模块由pkExPlatFormManage包组成,管理员在注册页面按照提示输入用户名、真实姓名、工号、密
39、码、确认密码、性别、公司编号、部门编制号、手机、电子邮箱、岗位、办公电话。红色字项为必填部分,当为空时出现时会提示错误,错误页面如图4-4所示:(1)用户名为空。(2)真实姓名为空。(3)密码与确认密码不一致。(4)电子邮件地址格式不正确。如果不出现以上情况,则页面被提交。但是并不是所有提交的页面都可以通过注册。在后台处理程序中,要确认提交注册的用户名和邮件地址在系统中不存在,如果存在会弹出错误对话框,提示错误不能通过注册。错误页面如图4.4所示。图4.4注册提示错误页面4.2.3用户登录界面功能描述用户登录界面是定义在主程序中,当用户在此窗口按提示输入用户名以及密码,点击“登录”按钮,经过系
40、统验证之后,如果存在此用户则提示登录成功,否则则提示登录不成功。用户登录界面如图4.5所示。图4.5用户登录界面代码分析以下代码主要实现对用户输入的用户名和密码进行验证,验证失败则提示出错信息,验证成功后,则查找其用户的已开通权限,生成主界面中的树结构,该功能的实现主要代码:procedureTMainForm.btnEnterClick(Sender:TObject);varmsg:string;CanLogin:Boolean;beginifcheckLoginInfoIsWrongthenExit;SetLoginPanalState(False);CanLogin:=False;try
41、CanLogin:=TExUser.GetInstance.Login(Self.ButtonEditFenQu.EditValue,Self.medtUserID.Text,Self.medtUserPwd.Text,msg);ifCanLoginthenbeginTExLog.GetInstance.Info(用户登录.);InitUserMenu;InitSysCons;Self.pnlLogin.Visible:=False;Self.FormStyle:=fsMDIForm;InitWelcomePage;SetSysButtonList;SetStatusBarInfo;endel
42、sebeginApplication.MessageBox(PAnsiChar(msg),出错了,MB_OK+MB_ICONSTOP);end;finallySetLoginPanalState(True);ifnotCanLoginthenbeginSelf.medtUserPwd.SetFocus;Self.medtUserPwd.SelectAll;end;end;4.2.4用户信息修改个人信息维护界面定义在pkExPlatFormManage包中,用户成功登录后,并可看到如下效果图如图4.8所示。图4.8用户信息修改4.3主要代码分析4.3.1用户帐号开通界面主要代码分析验证输入信息是
43、否为空或是否已丰在函数的代码段如下:functionTfrmPlatFormSysUserInfo.UserInputIsRight:Boolean;beginResult:=True;ifTExGlobal.TextIsNull(self.DBMaskEditYongHuMing,用户名)orTExGlobal.TextIsNull(Self.DBMaskEditXinMing,姓名)orTExGlobal.TextIsNull(Self.DBMaskEditGongHao,工号)orTExGlobal.TextIsNull(Self.DBComboBoxXingBie,性别)orTExGl
44、obal.TextIsNull(Self.DBButtonEditGongSiBianHao,公司编号)orTExGlobal.TextIsNull(Self.DBButtonEditBuMenBianHao,部门编号)thenbeginResult:=False;Exit;end;ifSelf.FormModal=fmExNewthenbeginifTExSQLHelper.RecordExists(TExDBConnectionManager.GetInstance.PlatFormConnection,SELECT*FROMdbo.T_Ex_系统_用户表WITH(nolock)WHERE
45、工号=+Self.DBMaskEditGongHao.Text+)thenbeginApplication.MessageBox(工号已经存在.,出错了,MB_OK+MB_ICONSTOP);Result:=False;Exit;end;end;end;4.3.2加密处理模块代码以下代码对用户所输入的密码进行加密处理,可实现函数调用,函数返回加密后的字符串。代码段如下:/对String类型数据进行MD5转换classfunctionTExMD5.MD5String(constStr:string):string;varContext:TExMD5Context;Digest:TExMD5Dig
46、est;beginMD5Init(Context);MD5Update(Context,PAnsiChar(Str),Length(Str)*SizeOf(Char);MD5Final(Context,Digest);Result:=MD5DigestToString(Digest);end;classprocedureTExMD5.MD5Init(varContext:TExMD5Context);beginwithContextdobeginState0:=$67452301;State1:=$efcdab89;State2:=$98badcfe;State3:=$10325476;Cou
47、nt0:=0;Count1:=0;ZeroMemory(Buffer,SizeOf(TExMD5Buffer);end;end;classprocedureTExMD5.MD5Update(varContext:TExMD5Context;Input:PAnsiChar;Length:LongWord);varIndex:LongWord;PartLen:LongWord;I:LongWord;beginwithContextdobeginIndex:=(Count0shr3)and$3f;inc(Count0,Lengthshl3);ifCount0=PartLenthenbeginCopy
48、Memory(Context.BufferIndex,Input,PartLen);Transform(Context.Buffer,Context.State);I:=PartLen;whileI+63LengthdobeginTransform(InputI,Context.State);inc(I,64);end;Index:=0;endelseI:=0;CopyMemory(Context.BufferIndex,InputI,Length-I);end;/FinalizegivenContext,createDigestandzeroizeContextclassprocedureT
49、ExMD5.MD5Final(varContext:TExMD5Context;varDigest:TExMD5Digest);varBits:TExMD5CBits;Index:LongWord;PadLen:LongWord;beginDecode(Context.Count,Bits,2);Index:=(Context.Count0shr3)and$3f;ifIndex56thenPadLen:=56-IndexelsePadLen:=120-Index;MD5Update(Context,PADDING,PadLen);MD5Update(Context,Bits,8);Decode
50、(Context.State,Digest,4);ZeroMemory(Context,SizeOf(TExMD5Context);end;4.3.3邮件发送处理单元以下代码用于发系统内部自动发送邮件,定义了端口,用户名,密码,主题,内容等参数,预留函数接口调用,可以返回发送后返回的状态。具体格式如下:procedureTExMail.Send;beginIdSMTP1.Host:=FHost;IdSMTP1.Port:=FPort;IdSMTP1.Username:=FUsername;IdSMTP1.Password:=FPassword;IdMessage1.From.Address:=
51、FFromAddress;IdMessage1.Recipients.EMailAddresses:=FTargetAddress;IdMessage1.Subject:=FSubject;IdMessage1.Body.Text:=FBody;Application.ProcessMessages;iftrim(FFileName)thenTIdAttachment.Create(IdMessage1.MessageParts,FFileName);/附件Application.ProcessMessages;trytryIdSMTP1.Connect;ifIdSMTP1.AuthSchem
52、esSupported.IndexOf(LOGIN)-1thenbeginIdSMTP1.AuthenticationType:=atLogin;IdSMTP1.Authenticate;end;IdSMTP1.Send(IdMessage1);Application.ProcessMessages;exceptonE:ExceptiondoraiseException.Create(程序在试图发送邮件时出现错误!+#13+出错原因:+e.Message);end;finallyifIdSMTP1.ConnectedthenIdSMTP1.Disconnect;end;end;4.3.4程序自
53、动升级核心代码以下代码读取XML文件配置信息,以包为单位,每个包有一个对应的版本号,服务器上的版本号大于本地则程序会在打开登陆前自动检测升级,升级成功后,会自动重新启动当前主程序,重新登陆,具体格式如下:procedureTMainForm.UpgradeApp;beginGetUpgradeInfo(LFSoft.xml);self.AutoUpgraderLFSoft.VersionNumber:=0;self.AutoUpgraderLFSoft.InfoFileURL:=;Self.AutoUpgraderLFSoft.VersionNumberInfoFile:=;self.Auto
54、UpgraderLFSoft.VersionControl:=byVersionFile;/新增的枚举值,用于指定升级方式是用版本信息文件升级而不是以前的单个版本号;self.AutoUpgraderLFSoft.VersionDateAutoSet:=false;self.AutoUpgraderLFSoft.InfoFileURL:=FUpgradeInfo.InfoFileURL;self.AutoUpgraderLFSoft.VersionNumberInfoFile:=FUpgradeInfo.VersionNumberInfoFile;/新增属性,用于指定文件的本地版本信息文件名s
55、elf.AutoUpgraderLFSoft.CheckUpdate(false);Self.AutoUpgraderLFSoft.AutoCheck:=True;Self.AutoUpgraderLFSoft.AutoCheckDelay:=1000*60*30;end;procedureTMainForm.GetUpgradeInfo(constconnXMLFile:string);varxmlDoc:TXMLDocument;ANode:IXMLNode;beginxmlDoc:=TXMLDocument.Create(Application);xmlDoc.FileName:=con
56、nXMLFile;xmlDoc.Active:=true;tryANode:=xmlDoc.ChildNodes.FindNode(LFSoft);ifANode=nilthenraiseException.Create(配置文件出错!+#13+出错信息:没打到LFSoft根节点,请检查!);ANode:=ANode.ChildNodes.FindNode(UpgradeInfo);ifANode=nilthenraiseException.Create(配置文件出错!+#13+出错信息:没打到UpgradeInfo节点,请检查!);self.FUpgradeInfo.VersionNumbe
57、rInfoFile:=ANode.AttributesVersionNumberInfoFile;SELF.FUpgradeInfo.InfoFileURL:=ANode.AttributesInfoFileURL;finallyxmlDoc.Active:=False;xmlDoc.Free;end;end;第五章系统基础功能管理模块5.1系统管理功能设计5.1.1系统管理模块简介系统管理模块实现的功能包括:对用户的管理和对产品的管理。为了防止不明用户登录系统,因此在管理员端,也需要验证用户的身份。同时管理员的密码是通过加密存储在数据库中的。在管理员端的登录界面要输入管理员的名称和密码才可以
58、进入管理员端进行相应的管理员操作。5.1.2模块功能结构图系统管理主要功能为基础信息的管理,如用户管理,菜单配置管理,权限管理,公司管理,部门管理,数据连接管理等模块功能结构图如图5.1所示:图5.1系统管理模块功能结构图5.2模块详细设计5.2.1模块程序流程图此流程图描述了此平台的从验证到进入主界面的基本组成部分,如图5.2所示图5.2系统管理模块程序流程图5.2.2用户登录界面用户登录界面,在此界面输入用户名密码后登陆,具体界面如图5.3所示:图5.3登录界面按照登录界面的提示,输入用户名和密码,进入系统操作界面,如不能正确输入则会弹出相应的出错提示对话框,成功后才可进入系统界面,不同用
59、户所展现的菜单也不一样,基本效果如下图5.4所示图5.4登录成功后管理员的操作5.2.3用户管理在用户信息管理中,可以显示出当前系统的所有注册用户,管理员可以对下图5-5所显示的用户进行增删改功能,实现操作功能按钮为右第三栏上方的图标按钮。界面效果如图5.5所示:图5.5用户管理界面5.2.4单表操作管理在通用配置界面中,在配置相关信息后生成动态录入界面,减少大量代码,在此功能界面主要核心就在于从数据库读取相关的操作配置信息然后生成对应的控件,并对Enable为False的控件绑定,进入操作,代码主要为循环判断对系统中指认的数据类型进行动态创建控件,实现此功能的主要代码如下:functionT
60、frmCommonInputSingleTalbeExec.CreateQueryComponent(constAComponentType,AComponentName:string):TControl;varskinName:string;beginskinName:=Caramel;ifAComponentType=整数thenbeginResult:=TExGlobal.DynaCreateComponent(Self.tsQuery,TcxSpinEdit,AComponentName);TcxSpinEdit(Result).Style.LookAndFeel.SkinName:=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加入国旗护卫队申请书
- 用数据说话提升您企业年报的交互式信息呈现能力
- 现代商务礼仪在科技公司的作用与价值
- 现代舞美设计在多媒体时代的挑战与机遇
- 电商APP的用户体验设计与交互逻辑
- 2025年河南货物运输从业资格考试答题软件
- 2025年毫州b2货运资格证多少道题
- 物流业的教育与培训优化流程与效率
- 小学三下数学听评课记录
- 生态文明教育在学生生活中的实践与启示
- 《急性心力衰竭的急救处理》课件
- 小学六年级数学上册《简便计算》练习题(310题-附答案)
- 青海省西宁市海湖中学2025届中考生物仿真试卷含解析
- 2024年河南省《辅警招聘考试必刷500题》考试题库及答案【全优】
- -情景交际-中考英语复习考点
- 安全隐患报告和举报奖励制度
- 地理标志培训课件
- 2023行政主管年终工作报告五篇
- 2024年中国养老产业商学研究报告-银发经济专题
- 高教版2023年中职教科书《语文》(基础模块)下册教案全册
- 人教版英语七年级上册阅读理解专项训练16篇(含答案)
评论
0/150
提交评论