本 科 毕 业 设 计 第 48 页 共 48 页1 绪论1.1 课题背景随着我国改革开放的逐渐深化和社会主义市场经济体制的逐步完善,建立完备的劳动和社会保险制度成为我国现阶段各级劳动部门的工作重点统一的劳动和社会保险部门的管理使原有传统的劳动社会保险系统管理不能再适应新体制下的管理模式利用高新技术手段完成劳动社会保险系统的管理,建立基于计算机和科学系统管理基础之上的新型劳动管理信息系统己迫在眉睫为适应这项工作的发展,建设国家级劳动和社会保险管理信息系统,是国家对劳动和社会保险工作提出的新要求养老保险是劳动社会保险系统的重要组成部分,养老保险管理系统的建设是促进养老保险改革、完善养老保险制度的需要,是规范管理、提高工作效率和实现决策科学化的需要本系统的建设能使我们利用现代化的计算机通信技术和手段规范业务,提高管理水平,从而改变管理理念和管理方式,优化管理的组织结构,加速养老保险管理科学化的进程最好形成全国统一的网络管理和信息服务体系,这样不仅能更好地完成信息的收集、整理和上传下达,为制定养老保险政策的决策者和社会公众提供更好的服务,而且对各级政府全面、准确、及时掌握养老保险信息,提高决策的科学性具有重要意义。
1.2 课题目的和意义根据我国各项社会保险政策和劳动社会保障信息标准及信息结构,结合社会保险业务开展现状和发展趋势,为适应劳动和社会保障事业迅速发展的要求,进一步加强、规范劳动和社会保障基础工作,提高业务管理的现代化水平,劳动和社会保障局准备建设一个一体化的劳动和社会保障管理信息系统,能够方便、灵活严格地处理日常的社会保险业务,而且能够提供查询、辅助决策、信息发布与社会服务等功能即采用先进的计算机网络集成技术,建立统一的劳动和社会保障信息系统,实现劳动和社会保障信息的协同处理和资源共享,使劳动和社会保障部门可以更加准确地把握劳动力资源、社会保险和企业的发展状况,为劳动和社会保障工作的业务开展、重大决策、政策制定提供信息支持,更好地为社会、企业和劳动者服务国家也需要随时掌握社保资金的进展状况,更需要对社保资金进行科学、合理的利用,发挥资金的效益,实现科学的行政管理,为百姓提供合理有力的社会保障而要实现对社会保险资金的知情和调控,就必须加快社保行业信息化建设当前中国各地的社保信息管理系统有了一定的基础,而对于系统建设的重要性、必要性和紧迫性已经达成共识劳动和社会保障工作作为一项连接百姓生活,关系社会稳定和民众利益的事业,成功开发和推广比较完善的养老保险管理信息系统,是社会保险工作信息化道路上的重要里程碑。
1.3 管理信息系统基本理论及应用概述管理信息系统的开发是一个复杂的系统工程,它涉及到计算机处理技术、系统理论、组织结构、管理功能、管理知识等各方面的问题,至今没有一种统一完备的开发方法但是,每一种开发方法都要遵循相应的开发策略任何一种开发策略都要明确以下问题:a)系统要解决的问题:如采取何种方式解决组织管理和信息处理方面的问题,对企业提出的新的管理需求该如何满足等b)系统可行性研究:确定系统所要实现的目标通过对企业状况的初步调研得出现状分析的结果,然后提出可行性方案并进行论证系统可行性的研究包括目标和方案可行性、技术的可行性、经济方面的可行性和社会影响方面的考虑 c)系统开发的原则:在系统开发过程中,要遵循领导参与、优化创新、实用高效、处理规范化的原则d)系统开发前的准备工作:作好开发人员的组织准备和企业基础准备工作e)系统开发方法的选择和开发计划的制定:针对己经确定的开发策略选定相应的开发方法,是结构化系统分析和设计方法,还是选择原型法或面向对象的方法开发计划的制定是要明确系统开发的工作计划、投资计划、工程进度计划和资源利用计划管理信息系统开发方法主要有:结构化生命周期开发方法、原型法、面向对象的开发方法等。
管理信息系统起初应用于最基础的工作,如打印报表、计算工资、人事管理等,进而发展到企业财务管理、库存管理等单项业务管理,这属于电子数据处理(EDP,Electronic Data Processing)系统当建立了企业数据库,有了计算机网络从而达到数据共享后,从系统观点出发,实施全局规划和设计信息系统时,就达到管理信息系统的阶段随着计算机技术的进步和人们对系统的需求进一步提高,人们更加强调管理信息系统能否支持企业高层领导的决策这一功能,更侧重于企业外部信息的收集、综合数据库、模型库、方法库和其他人工智能工具能否直接面向决策者,这是决策支持系统(DSS,Decision Support System)的任务事务型管理信息系统事务型管理信息系统以事业单位为主,其对象是处理日常事务举例如:医院管理信息系统,饭店管理信息系统,学校管理信息系统由于事务不同,这些信息系统的逻辑模型不尽相同,但基本处理对象是事务信息这些管理信息系统要求实时性强,数据处理能力强,而数学模型的使用较少 行政机关办公型管理信息系统国家各级行政机关办公管理的自动化对提高办公质量和效率改进服务水平都具有重要意义办公管理信息系统的特点是办公自动化(OA,Office Automation),其特点和其它管理信息系统有较大不同。
在办公管理信息系统中,往往和计算机、局域网的应用、打印机等诸多办公技术联系在一起1.4 软件工程方法概述a)结构化生命周期开发方法目前较为流行的MIS(Management Information System)开发方法是结构化生命周期开发方法,其基本思想是:用系统的思想和系统工程的方法,按用户至上的原则,结构化、模块化地自上而下对生命周期进行分析与设计b)原型法 原型法在系统开发过程中也得到不少应用原型法的基本思想是系统开发人员凭借自己对用户需求的理解,通过强有力的软件环境支持,构造出一个实在的系统原型,然后与用户协商,反复修改原型直至用户满意 原型法的应用使人们对需求有了渐进的认识,从而使系统开发更有针对性另外,原型法的应用充分利用了最新的软件工具,使系统开发效率大为提高 c)面向对象系统开发方法 面向对象(OO,Object Oriented)的系统开发方法,是近年来受到关注的一种系统开发方法面向对象的系统开发方法的基本思想是将客观世界抽象地看成是若干相互联系的对象,然后根据对象和方法的特性研制出一套软件工具,使之能够映射为计算机软件系统结构模型和进程,从而实现信息系统的开发1.5 研究方法和技术路线本课题所采用的是面向对象开发方法,下面是将客观世界抽象成若干相互联系的对象的方法。
根据所归纳出来的方法来制定技术路线a)研究方法文献研究法:广泛利用报刊,杂志,网络收集与本课题相关的文献资料,学习研究相关的社会养老保险现阶段政策和现有系统的状态和技术成熟度行动研究法:将研究制定的实施方案贯彻落实到具体的模块功能中去,有计划,有步骤的在系统模块功能中开展;自然实验法:通过对社会养老保险的业务研究,探讨管理信息系统技术在养老保险工作中的功能以及操作流程的实施经验总结法:通过对管理信息系统和国家“金保工程”的具体情况进行归纳与分析,使之系统化,理论化,上升为实际信息管理系统并进行开发,找出不足之处,制定有效改进措施b)技术路线加强自身的软件编程素养,提高自身运用开发技术的能力,是实现系统成功开发的保证,是信息管理雄开发的根本,加强编程技术的加强使系统开发成功的必要条件运用软件工程的开发方法,严格按照软件工程的设计流程进行养老保险信息管理系统的设计保证硬件设施到位,为系统开发提供物质保障加强处理问题的能力,为系统开发按预期成果提供技术保障养老保险管理信息系统服从于劳动和社会保险管理信息系统的总体规划,系统建设坚持一体化的设计思想,结合着国家政策和对社保信息系统建设的规定进行实施。
本系统按以下原则进行:a)实用性:养老保险管理信息系统作为应用系统,以满足养老保险工作的业务需求为首要目标,避免盲目追求最新技术b)可靠性:采用稳定可靠的成熟技术,保证系统长期安全运行系统中的硬、软件及信息资源要满足可靠性设计要求c)先进性:在实用性的前提下,尽可能跟踪国内外先进的计算机硬软件技术、信息技术及网络通信技术,使系统具有较高的性能价格比采用先进的体系结构和技术发展的主流产品,保证整个系统高效运行d)开放性:技术上立足于长远发展,坚持选用开放性系统e)安全性:遵循有关信息安全标准,具有必要的安全保护和保密措施,以及对计算机犯罪和病毒的防范能力,确保数据永久安全f)可扩充性:应充分考虑到联网用户增加和业务扩展的情况,留有必要的扩充能力及接口g)可维护性:应用软件开发的模块化程度高,对不同业务流程和管理方式的适应能力强,软件维护方便h)易操作性:贯彻面向最终用户的原则,建立友好的用户界面,操作简单,直观灵活,易于学习掌握2 系统调研和需求分析不论采用何种开发MIS的方法,系统调研和需求分析都是必要十分重要的环节虽然,分析的具体方法和详尽程度可能不尽相同实践表明,此阶段工作的好坏,在很大程度上决定了系统的成败。
2.1 系统调研基本方法正式开发管理信息系统之前进行调研是非常必要的,其必要性主要表现在以下几个方面a)明确用户的要求,以根据调查结果进行可行性分析,确认系统的开发是否可行b)提出新系统的人员并不都是系统研究人员,有些人对于的功能和处理数据的方法没有明确的认识它们只是根据自己业务工作的需要提出了要求,系统开发人员要对此进行详细的调查和分析,确认用户的要求可以通过现有的计算机技术实现,保证开发的管理信息系统的功能与用户提出的要求相吻合c)养老保险部门的现行系统可能是手工系统,也可能是使用计算机的管理系统,无论是何种情况,都要详细地调查现行系统中信息处理的具体情况,系统内部功能结构,以便设计出一个合理的、好的新系统逻辑模型,为新系统的设计工作打好基础,保证整个系统开发的质量总之,必要对现行系统进行详细的调查,明确用户需求,保证开发的新系统的功能与用户的要求相吻合,避免耗费大量的人力、物力、财力,新系统的开发却失败的悲剧发生调研基本方法:a)调查表:经过仔细考虑的书面回答可能比会谈中的回答更加准确;b)收集分析客户使用的各种表格、有关工作责任、工作流程、工作规范、相关数据标准、业务标准的各种文字资料;c)收集同类相关产品的宣传资料、技术资料、演示程序或软件程序;d)情景分析:利用情景分析诱导用户能够把它们的需求告知分析员;e)可视化方法:结和情景分析,利用画用户界面图、业务流程图、功能结构图、时序图等图形与客户进行讨论。
调研基本策略:a)首先确定用户的软件开发目标,确定系统基本范围,然后围绕这一目标,确定要访问的部门和人员,要了解的业务,在基本范围内展开调研;b)以部门职责为基础搞清各种现有业务、要填写的表簿册文档报表等,其数据来源及去向;c)以业务为主线,搞清每个业务的每个环节的流程关系、涉及部门、输入输出项;d)以数据为主线,搞清数据采集方式、数据流向、数据之间的内在联系;e)搞清哪些业务或数据是已建系统的,它们和新系统的关系是衔接还是替换;f)应思考是否有新技术可以改进现有工作,用户提出的需求用现有技术能否实现2.2 需求分析基本理论及本课题分析方法2.2.1 需求分析基本理论需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程在这个过程中,用户的确是处在主导地位,需求分析工程师和项目经理要负责整理用户需求,为之后的软件设计打下基础从广义上理解:需求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程狭义上理解需求分析是指需求的分析、定义过程需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,他在软件开发的过程中具有举足轻重的地位。
大家一定要对需求分析具有足够的重视在一个大型软件系统的开发中,他的作用要远远大于程序设计2.2.2 本课题需求分析方法需求分析阶段的工作,可以分为四个方面:问题识别、分析与综合、制订规格说明、评审问题识别:就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准这些需求包括:功能需求、性能需求、环境需求、可靠性需求、安全保密需求、用户界面需求、资源使用需求、软件成本消耗与开发进度需求、预先估计以后系统可能达到的目标分析与综合:逐步细化所有的软件功能、找出系统各元素间的联系、接口特性和设计上的限制、分析他们是否满足需求、剔除不合理部分、增加需要部分最后,综合成系统的解决方案,给出要开发的系统的详细逻辑模型制订规格说明书:即编制文档,描述需求的文档称为软件需求规格说明书请注意,需求分析阶段的成果是需求规格说明书,向下一阶段提交评审:对功能的正确性,完整性和清晰性,以及其它需求给予评价评审通过才可进行下一阶段的工作,否则重新进行需求分析2.3 系统调研本系统的设计会涉及到一些相关的国家政策和法规,在一些功能的处理上也需要一些专业知识本课题严格按照调研的基本方法和策略对社会养老保险信息管理系统的相关知识进行了实地调研。
阅读了相关的政策法规,上网收集资料,了解了保险金缴纳和养老金发放的计算方法,基本知道了有关社会养老保险的相关知识和社会养老保险的管理流程,为需求分析作好了准备下面是调研之后的业务流程描述社会养老保险管理系统的业务流程是:首先由系统管理员登陆管理界面,录入系统的一些参保比例参数,并且录入操作员工作证号和初始密码系统管理员主要负责系统的维护,还可以管理发布的消息和操作员的信息然后由操作员凭借工作证号和初始密码登陆系统的操作界面,进行养老保险的管理操作员先录入参保者的基本信息,包括单位、在职职工和退休职工的档案在档案管理中,可对参保者的信息进行修改,当遇到在职职工退休的,在职职工、退休职工死亡的,可分别进行档案的转移操作员录入档案后就可以以月为时间单位,对参保的单位和其在职职工收缴保险金,对参保单位的退休职工发放养老金在收缴和发放过程中都要先进行养老保险金的计算,当保险金到账后再进行记账处理对参保单位迟缴养老金的进行补缴处理对死亡人员进行一次性后事费用的清算和发放在档案管理、保险金缴纳、养老金发放的操作过程中,操作员可随时进行信息查询,协助养老保险金的缴纳和发放管理例如参保者的基本信息、保险金的缴纳情况、养老金的发放情况和职工的个人账户金额等。
参加了养老保险的单位、在职和退休职工可分别根据单位号和身份证号登陆系统进行参保信息的查询操作另外操作员可以浏览消息和对登陆密码的修改通过以上调研,得出以下业务流程图业务流程图是用一些规定的符号及连接来表示具体的业务处理过程在对系统的组织结构和功能进行分析时,需从一个实际业务流程的角度将系统调查中有关该业务流程的资料都串起来作进一步的分析,可以帮助我们了解业务具体处理过程,优化业务处理流程本系统的业务流程图如图2.1图2.1 系统业务流程图2.4 可行性分析可行性研究是研究问题的范围,探索问题是否值得去解,是否有可行的解决方法,是一次大大压缩简化了的系统分析和设计的过程,也是在较高层次上比较抽象的方式进行的系统分析和设计的过程一般是从经济可行性、技术可行性和操作可行性三个方面来研究2.4.1 经济可行性该系统所需要的硬件和软件的环境对使用者不会造成经济负担,并且该系统建设能使我们利用现代化的手段规范业务,提高管理水平,从而改变管理理念和管理方式,优化管理的组织结构,加速养老保险管理科学化的进程,节省了人力和财力,并在为管理者带来便利的同时,也给养老保险的参保者带来了优质的服务,这其中的经济回报将远远超过支出。
2.4.2 技术可行性本系统的开发是基于B/S模式前台应用程序的开发采用ASP.NET技术ASP.NET是目前十分流行的一种技术,语法简单,书写容易,有强大的数据库支持,开发效率高,能快速学习,对于一个初学者来说ASP.NET是一个很好的起点[1]后台的数据库使用SQL Server 2005[2],它是比较流行的开发大中型管理信息系统的数据库而且经过之前的学习,我对ASP.NET技术和 SQL Server数据库的使用有了一定地了解所以从技术方面来讲,开发此系统是可行的2.4.3 操作可行性本系统是养老保险管理的有效工具,界面简单,操作方便,易于接受对于劳动保障部门的工作人员,只要简单地了解操作流程就可以方便地使用所以从操作方面来讲,开发此系统是可行的2.5 系统的需求分析2.5.1 系统基本需求分析社会养老保险管理系统的设计与实现主要完成以下几个功能:参保者的档案管理,保险金的缴纳管理,养老金的发放管理,信息查询和系统维护具体描述如下:a)参保者档案管理:对参保单位档案、在职职工档案、退休职工档案、死亡人员档案的管理,包括档案的增加、修改、转移等操作b)保险金缴纳管理:根据每月单位上缴的职工工资明细表进行保险金缴纳的计算和记账。
另外还包括补缴处理c)养老金发放管理:根据单位退休职工的待遇进行养老金数额的计算和记账,和死亡人员后事费用发放的计算和记账d)信息查询:包括单位基本信息和缴费情况的查询,在职职工缴费情况的查询,退休职工养老金发放情况的查询,参保者基本信息和其个人账户的查询,死亡及后事费用发放情况的查询等e)系统维护:由系统管理员来操作,包括系统参数的确定,操作员的管理,有关系统的一些消息管理和系统备份2.5.2 数据流分析数据流分析主要通过数据流图来实现数据流图描绘了信息流和数据从输入移动到输出的过程中所进行的变换,是数据在软件中的流动和被处理的逻辑过程,是对信息的流动、传递、处理、存储等的分析设计数据流图时只需考虑系统的基本逻辑功能,而不需要考虑怎样具体实现这些功能本系统的数据流图如下页的图2.2至图2.6所示图2.2 系统顶层数据流图社会养老保险管理系统的数据流程:在系统管理员录入操作员信息后,操作员根据自己负责的功能模块选择操作,进行档案管理,保险金缴纳管理,养老金发放管理,和一些相关信息的查询工作图2.3 档案管理数据流图图2.4 保险金的缴纳处理数据流图图2.5 养老金的发放处理数据流图图2.6 查询信息处理数据流图2.5.3 数据字典数据字典提供关于在软件分析和设计过程中数据的描述信息,是数据的信息集合,和数据流图构成系统的逻辑模型,作为分析阶段的工具。
本系统的数据字典主要包括如下所列内容:a)数据结构1)名字:档案文件别名:无描述:单位、在职、退休、死亡的基本信息定义:档案文件=单位档案文件+在职档案文件+退休档案文件+死亡档案文件位置:档案管理和查询2)名字:单位档案文件别名:无描述:单位的基本信息定义:单位代号+单位名称+单位电话+单位地址+单位邮编+法定代表+法定代表证件号+单位类型+单位所在区县+单位账户号+单位参保日期+缴费比率+封存理由+单位账户+单位状态位置:在职职工档案管理和查询3)名字:在职档案文件别名:无描述:在职职工的基本信息定义:在职档案文件=在职职工身份证号+姓名+所在单位代号+电话+地址+邮编+性别+出生日期+民族+用工形式+职务+参加工作时间+参保日期+账户号+个人账户+在职状态位置:在职职工档案管理和查询4)名字:退休档案文件别名:无描述:退休职工的基本信息定义:退休档案文件=退休职工身份证号+姓名+所在单位代号+电话+地址+邮编+性别+出生日期+民族+用工形式+职务+参加工作时间+退休时间+缴费年数+社会支付+账户号+个人账户+个人账户剩余金额+个人账户支付+退休状态位置:退休职工档案管理和查询5)名字:死亡档案文件别名:无描述:死亡人员的基本信息定义:死亡档案文件=死亡人身份证号+姓名+所在单位代号+性别+账户号+个人账户+待遇领取人身份证号+待遇领取人姓名+待遇领取人性别+待遇领取人电话+待遇领取人地址+待遇领取人邮编+丧葬补助费+抚恤费用+发放标志位置:死亡人员档案管理和查询、死亡后事费用发放管理和查询6)名字:单位保险金缴纳记录表别名:无描述:每月单位缴纳保险金的状态记录定义:单位代号+缴费日期+个人总金额+单位总金额+单位补缴费用+缴费标志位置:保险金缴纳管理和查询7)名字:在职保险金缴纳记录表别名:无描述:每月在职职工缴纳保险金的状态记录定义:在职职工身份证号+缴费日期+所在单位代号+本月工资+本月缴费工资基数+职工缴费+单位缴费+缴费标志位置:保险金缴纳管理和查询8)名字:退休养老金发放记录表别名:无描述:每月给退休职工发放养老金的状态记录定义:退休职工身份证号+发放日期+所在单位代号+本月发放养老金总金额+发放标志位置:养老金发放管理和查询9)名字:参数表别名:无描述:系统关于养老保险金额计算相关的参数定义:年度+上一年平均工资+社会统筹基金+个人缴费比例+划入个人账户比例+滞纳金比例+使用状态位置:系统计算所需相关参数的设置10)名字:信息表别名:无描述:发布的信息内容记录定义:信息代号+信息题目+信息内容+信息发布日期位置:信息管理 b)数据项1)名字:单位代号别名:无描述:唯一标识某一个单位定义:单位代号=1{数字}20位置:单位档案文件,单位档案管理和查询2)名字:身份证号别名:无描述:参保人的唯一标识定义:身份证号=[15{数字}15]| [18{数字}18]位置:单位、在职、退休、死亡档案文件,单位、在职、退休、死亡档案管理和查询3)名字:账户号别名:无描述:在职、退休、死亡拥有的账户识别号码定义:账户号=1{数字}20位置:单位、在职、退休、死亡档案文件,单位、在职、退休、死亡档案管理和查询4)名字:账户别名:无描述:参保者的个人账户数值定义:账户=1{数值}20位置:档案文件,缴纳管理和查询、发放管理和查询5)名字:信息代号别名:无描述:一条信息的唯一标识定义:信息代号=1{数字}20位置:信息表,信息的管理c)数据存储数据存储的名称: 数据库信息简述: 档案信息、缴纳记录、发放记录等等数据存储的组成: 各类信息相关联的处理:增加、修改、查询、删除档案信息,录入保险金缴纳记录,录入养老金发放记录d)数据处理1)处理逻辑名:保险金缴纳说明:对参保单位和在职职工的保险金缴纳进行的管理操作输入的数据流:缴纳信息处理过程:对参保单位和在职职工的保险金缴纳进行计算和记账输出的数据流:单位缴纳记录,在职缴纳记录处理频率:每月对参保的单位和在职职工缴纳处理一次2)处理逻辑名:养老金发放说明:对退休职工养老金和死亡人员后事费用的发放进行的管理操作输入的数据流:发放信息处理过程:对退休职工养老金和死亡人员后事费用进行计算和记账输出的数据流:养老金发放记录,后事费用发放记录处理频率:每月对退休职工养老金的发放处理一次,后事费用的发放依据要求处理2.5.4 数据实体及关系分析数据概念结构设计—E-R图。
概念结构设计要将需求分析得到的用户需求抽象为信息结构即概念模型,是数据库设计的关键概念模型是对信息世界的建模,主要用E-R图来表示,它提供了表示实体、属性和联系的方法表示如图2.7图2.7 社会养老保险管理系统E-R图系统部分实体属性图如图2.8至图2.11所示单位缴费记录实体属性图图2.8 单位缴费记录实体属性图在职缴费记录实体属性图图2.9 在职缴费记录实体属性退休发放记录实体属性图图2.10 退休发放记录实体属性后事费用发放记录实体属性图图2.11 后事费用发放记录实体属性3 系统总体设计系统总体设计阶段以比较抽象概括的方式提出了解决问题的办法系统总体设计的一条基本原理就是程序应该模块化,也就是一个大程序应该由许多规模适中的模块按合理的层次结构组织而成总体设计阶段的第二项主要任务就是设计软件的结构,也就是确定程序由哪些模块组成以及模块间的关系通常用层次图或结构图描绘软件的结构3.1 系统设计目标通过社会养老保险信息管理系统,使养老保险部门的业务管理系统化、规范化、自动化,从而达到提高管理效率的目的系统开发的总任务是解决操作员复杂的养老保险管理工作和与参保者及时沟通的问题;让操作员可以自己输入实际工作内容,通过操作员输入的工作信息计算出养老保险的发放,让工作量透明化,实现管理的规范化,从而使工作量审核工作变得简易。
3.2 开发设计思想本系统的开发采用的是Client/Server结合Browser/Server体系结构,利用了大型关系型数据库的优越性能,保证了数据的安全性、完整性、一致性更合理分配应用程序运行和数据处理,极大的提高了系统的工作效率系统采用C/S(Client/Server)体系结构作为管理员应用端,它能对操作员的信息进行管理、对年度参数管理等操作;B/S (Browser/Server)体系结构方法负责操作员登陆;修改、添加、删除参保者档案信息,管理保险金缴纳,养老金发放等C/S结构中,服务器非本地,要通过Internet进行访问系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充,维护3.3 系统模块总体设计系统总体设计就是确定系统的具体实现方案,制定出详细的计划,确定系统由哪些模块组成以及模块间的关系本系统主要包括参保者档案管理、保险金缴纳管理、养老金发放管理、信息查询管理、系统维护五个功能模块,如图3.1所示图3.1 养老保险功能结构图3.4 数据结构设计本系统的具体关系模式如下:a)工作人员表(工作证号,用户真实名字,密码,权限)b)单位档案表(单位代号,单位名称,单位电话,单位地址,单位邮编,法定代表,法定代表证件号,单位类型,单位所在区县,单位账户号,单位参保日期,缴费比率,单位账户,封存理由,单位状态)c)在职档案表(在职职工身份证号,姓名,所在单位代号,电话,地址,邮编,性别,出生日期,民族,用工形式,职务,参加工作时间,参保日期,账户号,个人账户,在职状态)d)退休档案表(退休职工身份证号,姓名,所在单位代号,电话,地址,邮编,性别,出生日期,民族,用工形式,职务,参加工作时间,退休时间,缴费年数,社会支付,账户号,个人账户,个人账户剩余金额,个人账户支付,退休状态)e)死亡档案表(死亡人身份证号,姓名,所在单位代号,性别,账户号,个人账户,待遇领取人身份证号,待遇领取人姓名,待遇领取人性别,待遇领取人电话,待遇领取人地址,待遇领取人邮编,丧葬补助费,抚恤费用,发放标志)f)单位保险金缴纳记录表(单位代号,缴费日期,个人缴费总金额,单位缴费总金额,单位补缴费用,缴费标志)g)在职保险金缴纳记录表(在职职工身份证号,缴费日期,所在单位代号,本月工资,本月缴费工资基数,职工缴费,单位缴费,缴费标志)h)退休养老金发放记录表(退休职工身份证号,发放日期,所在单位代号,本月发放养老金总金额,发放标志)i)信息表(信息代号,信息题目,信息内容,信息发布日期)j)参数表(年度,上一年月平均工资,社会统筹基金,个人缴费比例,划入个人账户比例,单位补缴滞纳金比例、使用状态)说明:下划线表示该数据项为主键,波浪线表示该数据项为外键。
4 系统详细设计及实施总体设计阶段以比较抽象概括的方式提出了解决问题的办法详细设计阶段的任务就是把解法具体化,这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明这种规格说明的作用很类似于其他工程领域中工程师经常使用的工程蓝图,它们应该包含必要的细节,程序员可以根据它们写出实际的程序代码4.1 系统开发环境和运行环境4.1.1 开发环境设计此系统是基于WEB的采用B/S三层体系结构实现的社会养老保险管理系统[3]三层体系结构的优势在于:客户端提供统一的用户界面,完成对用户请求的收集和结果显示;应用服务器处理用户请求,完成同客户之间的通信,建立与数据库服务器的协议连接,减轻客户端的维护工作量,有效降低网络负荷,增强应用程序的执行速度;数据库服务器则为应用服务器提供数据[4]本系统客户端的页面设计选择了Dreamweaver MX,脚本语言选择了JavaScript,服务器端程序的实现选用了 ASP.NET技术作为主要实现手段[5],服务器选用Windows XP作为操作系统平台,数据库软件选用SQL Server 2005ASP.NET是目前流行的一种制作动态网页的技术,它拥有C#编程语言“一次编写,各处运行”的特点,具有良好的移植性、健全性和安全性[6]。
整个ASP.NET页面的执行过程如图4.1所示图4.1 ASP.NET页面执行过程[7]WEB服务器在遇到访问ASP.NET网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求低[8]它主要运行与开发服务端的脚本程序和动态生成网站的内容ASP.NET技术和目前同样流行的JSP技术、PHP技术是同样性质的、更高一层次的,他们的作用是一样的[9]ASP.NET还有强大的数据库支持,ASP.NET可以和SQL Server的数据库建立连接,操纵数据库数据[10]4.1.2 运行环境设计本系统的运行需要有支持ASP.NET的浏览器,本系统运行的ASP.NET浏览器是IE但是要想在浏览器下正常运行ASP.NET,必须先安装IIS,本系统选用Windows XP系统版本里自带的IIS4.2 数据库设计根据E-R图和关系模式,系统创建一个数据库,名为ylbx该数据库由以下数据表组成:工作人员表(admit)、参数表(total)、单位档案表(company)、在职档案表(worker)、退休档案表(retired)、在职保险金缴纳记录表(workaccount) 、死亡档案表(dead)、信息表(messages)、退休养老金发放记录表(retiraccount)、退休养老金发放记录表(retiraccount) 、 单位保险金缴纳记录表(compaccount)。
具体设置如下:表4.1 工作人员表(admit)字段名数据类型字段长度主/外键说明usenamevarchar25主键工作证号namevarchar25用户真实名字passwordvarchar25密码priint2权限表4.2 参数表(total) 字段名 数据类型字段长度主/外键说明yearvarchar25主键使用年度averagesalaryfloat8上一年度月平均工资totalmoneyfloat8社会统筹基金work_ratiofloat8个人缴费比例workacc_ratiofloat8划入个人账户比例comp_lateratiofloat8单位补缴滞纳金比例stateint2使用状态表4.3 单位保险金缴纳记录表(compaccount)字段名数据类型字段长度主/外键说明comp_idvarchar25主键单位代号compacc_datedatetime8缴费日期workacc_totalmoneyfloat8个人缴费总金额compacc_totalmoneyfloat8单位缴费总金额compacc_latermoneyfloat8单位补缴费用compacc_flagint2缴费标志表4.4 单位档案表(company)字段名数据类型字段长度主/外键说明comp_idvarchar25主键单位代号comp_namevarchar50单位名称comp_phonevarchar25单位电话comp_addressvarchar50单位地址comp_postvarchar25单位邮编comp_lawvarchar25法定代表comp_lawidvarchar25法定代表证件号comp_typevarchar25单位类型comp_piecevarchar25单位所在区县comp_accidvarchar25单位账户号comp_datedatetime8单位参保日期comp_ratiofloat8缴费比率comp_covervarchar25封存理由comp_accountfloat8单位个人账户comp_stateint2单位状态表4.5 在职档案表(worker)字段名数据类型字段长度主/外键说明work_idvarchar25主键在职职工身份证号work_namevarchar25在职职工姓名comp_idvarchar25外键所在单位代号work_phonevarchar25在职职工电话work_addressvarchar50在职职工地址work_postvarchar25在职职工邮编work_sexvarchar2在职职工性别work_birthdatetime8在职职工出生日期work_nationvarchar2在职职工民族work_worktypevarchar25在职职工用工形式work_typevarchar25在职职工职务work_beginworkdatetime8在职职工参加工作时间work_begintimedatetime8在职职工参保日期work_accidvarchar25在职职工账户号work_accountfloat8在职职工个人账户work_stateint2在职状态表4.6 在职保险金缴纳记录表(workaccount)字段名数据类型字段长度主/外键说明work_idvarchar25主键在职职工身份证号workacc_datedatetime8缴费日期comp_idvarchar25外键所在单位代号work_salaryfloat8本月工资workacc_salaryfloat8本月缴费工资基数workacc_moneyfloat8职工缴费compacc_moneyfloat8单位缴费workacc_flagint2缴费标志表4.7 死亡档案表(dead)字段名数据类型字段长度主/外键说明dead_idvarchar25主键死亡人身份证号dead_namevarchar25死亡人姓名comp_idvarchar25外键所在单位代号dead_sexvarchar2死亡人性别dead_accidvarchar25死亡人账户号dead_accountfloat8死亡个人账户dead_relaidvarchar25待遇领取人身份证号dead_relanamevarchar25待遇领取人姓名dead_relasexvarchar2待遇领取人性别dead_relaphonevarchar25待遇领取人电话dead_relaaddresvarchar50待遇领取人地址dead_help1float8丧葬补助费dead_help2float8抚恤费用dead_flagint2发放标志表4.8 退休养老金发放记录表(retiraccount)字段名数据类型字段长度主/外键说明retir_idvarchar25主键退休职工身份证号retiracc_datedatetime8发放日期comp_idvarchar25外键所在单位代号retiracc_moneyfloat8本月发放养老总金额retiracc_flagint2发放标志表4.9 信息表(message)字段名数据类型字段长度主/外键说明idint4主键信息代号titlevarchar25信息题目contentvarchar50信息内容timedatetime8信息发布日期priint2权限使用表4.10 退休档案表(retired)字段名数据类型字段长度主/外键说明retired_idvarchar25主键退休职工身份证号retired_namevarchar25退休职工姓名comp_idvarchar25外键所在单位代号retir_phonevarchar25退休职工电话retir_addressvarchar50退休职工地址retir_postvarchar25退休职工邮编retir_sexvarchar2退休职工性别retir_birthdatetime8退休职工出生日期retir_nationvarchar25退休职工民族retir_worktypevarchar25退休职工用工形式retir_typevarchar25退休职工职务retir_beginworkdatetime8退休参加工作时间retir_begintimedatetime8退休职工参保时间retir_retirtimedatetime8退休职工退休时间retir_worktimeint8退休职工缴费年数averagesalary0float8社会支付retir_accidvarchar25退休职工账户号retir_accountfloat8退休职工个人账户retir_leftaccountfloat8退休职工个人账户剩余retir_totalfloat8个人账户支付retir_stateint2退休状态4.3 系统主界面设计本系统的主界面整体结构为上左右结构,上面部分显示系统名称,左面部分采用了树型层次结构罗列了系统的全部功能以及当前使用人员名称,中间部分为功能显示区,刚进入系统时显示滚动方式的最新政策公告。
在操作过程中显示当前操作的使用窗口系统主界面如图4.2所示图4.2 系统主界面4.4 参保者档案管理子系统的设计4.4.1 参保者管理功能参保者档案管理功能如图4.3所示图4.3 参保者档案管理的功能图4.4.2 参保者档案管理子系统的详细设计此界面主要功能是对参保者档案进行管理操作员根据社会保险登记证进行档案增加,录入参保单位信息,确定单位缴费比例然后再根据单位的情况录入其参保职工的基本信息参保单位在每月6日前提供其职工增减花名册,操作员根据花名册进行档案管理,包括职工档案的增加、修改、转移和删除等,删除功能针对职工转到外地工作的增加单位和职工时,系统会对其唯一识别号:单位号和身份证号进行判别,若有重复则有异常信息提示修改资料和档案转移时,先输入单位号或身份证号进行判别查询,若存在其档案可进行操作,若不存在其档案则出现错误提示以上操作都要连接数据库,对数据库中的信息进行修改,在提交前客户端对输入数据的有效性进行验证,然后通过post方法提交信息,服务器端通过getParameter()获得界面输入的参数,通过getString()调用数据库来查询数据库中的信息单位档案修改时,先输入单位号验证,若验证正确,则显示单位的基本信息,可在此基础上进行修改。
在单位档案保存后就可以进行在职和退休职工档案的增加、修改等操作根据职工花名册进行信息的填写退休档案管理和死亡人员档案管理的操作与其类似 //更新单位帐户 [System.ComponentModel.DataObjectMethod(System.ComponentModel.DataObjectMethodType.Update, false)] public bool UpdateCompanyTotal(EndowIpanyRow company) { int affectRow = Adapter.Update(company); return affectRow == 1; } //删除单位信息 [System.ComponentModel.DataObjectMethod(System.ComponentModel.DataObjectMethodType.Delete, true)] public bool DeleteCompany(string comp_id) { int affectRow = Adapter.DeleteCompany(comp_id); return affectRow == 1; } 4.5 保险金缴纳管理子系统的设计4.5.1 保险金缴纳管理功能保险金缴纳管理功能如图4.4所示。
图4.4 保险金缴纳管理功能图4.5.2 保险金缴纳管理流程保险金缴纳管理功能流程如图4.5所示图4.5 保险金缴纳管理流程图4.5.3 保险金缴纳管理模块的详细设计保险金缴纳管理包括职工工资的录入、保险金缴纳的计算、保险金缴纳的记账和补保缴纳的记账、暂停和恢复缴纳等几个功能首先进行职工的工资录入输入单位号和缴费月数,并选择此单位提交的EXCEL文件路径,使用getParameter()函数获得单位号校验,根据单位号连接数据库查询,如果单位号不存在,或这月工资已经录入,系统提示出错信息验证无异常后,依次获取EXCEL表中此单位的职工身份证和这月工资,并完成缴费的计算功能,然后连接数据库执行插入操作,将相关数据分别插入到单位和在职职工的缴费记录表中,缴纳状态为0职工工资的录入界面如图4.6 图4.6 职工工资录入界面此操作可用如下算法//导入单位员工工资方法 public static bool ImportSalary(string path, string comp_id, decimal comp_ratio, DateTime workacc_date) { bool retValue = false; OleDbConnection myConn = null; //定义一个连接 if (path != null && path.Trim() != "") { try { DataSet myDataSet = null; WorkerAccountBLL workerAccLogic = new WorkerAccountBLL(); string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + path + ";Extended Properties=Excel 8.0"; myConn = new OleDbConnection(strCon);//初始化连接 string strCom = " SELECT * FROM [Sheet1$] "; //从Excel中的第一个表单中取出数据的语句 myConn.Open();//打开数据链接,得到一个数据集 OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn); //创建一个DataSet对象 myDataSet = new DataSet(); //得到自己的DataSet对象 myCommand.Fill(myDataSet); DataTable tbSalary = myDataSet.Tables[0]; if (tbSalary != null) { retValue = worker。