论文部分内容阅读
摘要:随着互联网的不断普及,在线提供社区服务已经成为受居民欢迎、有效提升政府部门工作效力和质量的重要途径。另一方面,日益高涨的就业压力,也对政府特别是社区的就业管理提出了新要求。本文旨在通过合理应用软件工程相关原理,解决快速、安全、标准化地搭建社区就业管理平台的实际应用。
关键词:社区就业管理;软件工程;在线社区服务
中图分类号:TP3 文献标识码:A 文章编号:1009-0118(2012)-03-0-02
一、软件工程概述
软件产品或系统一系列相关活动的全周期。我国软件工程标准将软件生命周期分成以下几个阶段:
(一)问题定义。确定要解决的问题是什么,包括用户要求解决的性质、工程的目标和规模。
(二)可行性研究。围绕上一个阶段所确定的问题,针对是否有可行的解决办法开展,包括经济可行性、技术可行性、法律可行性、不同的方案。
(三)需求分析。为了解决这个问题,确定目标系统必须做什么,包括系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景,并出具规格说明书(specification)。
(四)总体设计(概要设计)。概括地确定目标系统需要实现的部分,设计出实现目标系统的几种可能的方案。从而推荐一个最佳方案。
(五)详细设计。确定如何具体地实现目标系统,设计出程序的详细规格说明。
(六)编码和单元测试。撰写正确的易于理解和维护的程序模块并仔细测试编写出的每一个模块。
(七)综合测试。集成测试和验收测试,现场测试或平行运行
(八)软件维护。使系统持久地满足用户的需要。包括改正性维护,适应性维护,完善性维护,预防性维护。
二、软件工程理论在社区就业管理系统中的应用
以下将沿着软件生命周期的各个阶段,结合社区就业管理系统的实际,具体分析软件工程在其中的应用。
(一)问题定义
据本人对现有社区层面就业管理的具体情况的了解,社区就业管理系统主要要承担三方面的任务:就业资讯公布,求职人员资料收集,求职人员求职资格的初步匹配和信息反馈。在就业资讯公布上,主要要包含数据获取,自动更新,简单查询等功能。在收集方面,主要包括求职人员的资料登陆,周期性的信息更新确认。在资格匹配和信息反馈,主要包含数据获取,数据筛选和信息发送功能。社区就业管理系统是在充分尊重求职者和企业意愿的基础上,尽可能拓宽企业与求职者的交流通道,使岗位信息有效快捷的在企业与求职者间传递。
(二)可行性分析
1、系统流程图。系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。根据问题定义给出以下社区求职管理系统流程:主要是围绕中心事务平台的一系列处理程序和相应的数据库出入,其核心计算集中在对求职者资料的处理上。
2、数据流图。数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。通常用数据流图建立软件系统的功能模型。结合系统流程图得出以下社区管理系统数据流图:
求职者数据登陆→与企业数据匹配→反馈求职者信息。通过确认从求职者以数据源身份登陆数据到求职者以接受者身份接收招聘信息数据流向,进一步论证项目的可行性,从而为下一步的工作打下基础。
(三)需求分析:状态转换图
状态转换图是通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。在状态图中定义的状态主要有:初态(即初始状态)、终态(即最终状态)和中间状态。在一张状态图中只能有一个初态,而终态则可以有0至多个。事件是在某个特定时刻发生的事情,它是对引起系统做动作或(和)从一个状态转换到另一个状态的外界事件抽象。经对社区现有就业管理状况的了解,考虑到管理成本,资源的最优化使用,在最大程度地服务求职者的同时,不进行无限度的匹配,不断地在匹配过程中给与求职者反馈,帮助求职者能快速有效地寻找到自身定位,修正求职资料,提高就职成功概率。所以就此社区就业管理系统而言,其主干的状态转化为:求职者将资料登陆,然后进行匹配,如果匹配成功,系统发送通知,求职者如确认接受匹配结果(想用人单位投递求职简历),数据进入缓存,等待下一次匹配,求职者不接受匹配结果,数据返回加入一个短时小缓存再次匹配。如果匹配不成功,也将数据返回加入一个短时小缓存等待再次匹配。在不同权重下累计次数(经过小缓存的次数加1,经过缓存的次数加0.5),当次数大于十次后,发送资料确认信息,求职者,可直接确认或者修改求职资料,数据再次进入匹配流程。若求职者不确认,数据将被丢弃。
(四)概要设计
使用层次图来描绘软件的层次结构。用一个方框代表一个模块,方框间的连线表示调用关系。其产生的过程主要是通过对系统流程图的功能划分,抽象出功能相对独立的模块,原本功能相近的地方将使用模块实现,减少代码量,提高代码使用效率,降低开发成本。
另外,层次化的过程,也是对之前可行性分析与需求分析最有效的验证,在此过程中,优化系统工作流程,提高(下转第199页)(上接第197页)系统性能。如发现系统设计的缺陷,能及时进行调整,避免后期实际开发后进行返工造成的开发成本的增加。根据对社区求职系统的系统流程图的划分,得到以下层次图:系统整体(社区就业管理系统)->功能层(信息发布,消息反馈)->实现层(新增,修改,删除)
(五)详细设计
详细设计的目标不但要在逻辑上正确地实现每个模块的功能,更重要的是使设计出的处理过程尽可能简明易懂。使用各种结构设计的控制结构描述模块实现的需求及规范。
结构程序设计的特点:自顶向下逐步求精;具有单入、单出的控制结构(取消GOTO语句);
任何单入口单出口的程序都可以由“顺序”、“选择”和“循环”三种基本结构实现。
(六)程序实现
考虑到社区就业管理系统将使用B/S架构,此处选用php为编码语言。再者,考虑到社区就业系统运行硬件的局限与打印纸制档案表格的需求,此处选用XML作为数据库文件,既可以以文本方式保存数据,较为方便的在各种环境下使用;又可以通过简单的css控制,转化为表格使用。
1、XML数据库结构
主要包含的字段有用户id,姓名,年龄,学历,求职岗位,使用的具体数据结构如下:
<?xml version="1.0" encoding="utf-8"?>
< jobhunter >0001 张三 25 男 sex>上海大学 eduction >< job >C++程序员 job > jobhunter > jobhunter s>
2、主要功能实现
(1)提取数据。主要使用SimpleXML解析XML:$doc=simplexml_load_file('jobhunter.xml');遍历后加入数组。
(2)数据匹配。$jobgroup=join(" ",$ jobarr);//将数组转化为字符串,提高匹配速度;preg_match(‘/$jobname/’,$jpbgroup))//使用正则表达式匹配。
(3)使用asXML写入XML。File_put_content(‘jobhunter.xml’, $document->asXML())。
三、结论
(一)软件工程指导软件设计的优势
软件工程作为一门指导计算机软件开发和维护的重要学科,通过工程的概念、原理、技术和方法,把握时间,人力的管理,贯穿软件开发的整个生命周期,以高效经济地方式开发维护高质量的软件,推动软件行业健康有序的发展。
(二)不足与改进
此社区就业管理系统的不足之处在于,缺乏与企业主动沟通的机制,我相信在国家相关政策的完善和社区大力宣达之下,在不久地将来会得到明显的改善。
对于社区就业系统的主要的展望:
1、在线面试的可行性研究。随着网络视频技术和带宽的发展,网上面试也成为企业减低人力成本,求职者提高求职效率的双赢模式。
2、就业呼叫系统的可行性研究。社区在帮助求职者找工作的同时,是否能收集所在小区人员的相关资料,为在职人员推荐更适合更有发展潜力的岗位,提升人才资源的优化整合,使社区就业管理成为人们职业规划的重要指导,逐步改善就业难、招工难的双重矛盾。
致谢 感谢辛明军教授对本工作的大力支持,在此表示感谢!
参考文献:
[1]Hebrew Bible,GENESIS 11,1-8.
[2]Sommerville,Software Engineering(Eighth Edition),北京.机械大学出版社,2006,(9).
[3]XML Signature WG,2001.12.11.
[4]Rasmus Lerdorf,Kevin Tatroe.Programming PHP Creating Dynamic Web Pages,电子工业出版社,2007,(3).
[5]Hugb E.Williams,David lane,Web Database Application with PHP & MySQL.東南大学出版社,2006.
关键词:社区就业管理;软件工程;在线社区服务
中图分类号:TP3 文献标识码:A 文章编号:1009-0118(2012)-03-0-02
一、软件工程概述
软件产品或系统一系列相关活动的全周期。我国软件工程标准将软件生命周期分成以下几个阶段:
(一)问题定义。确定要解决的问题是什么,包括用户要求解决的性质、工程的目标和规模。
(二)可行性研究。围绕上一个阶段所确定的问题,针对是否有可行的解决办法开展,包括经济可行性、技术可行性、法律可行性、不同的方案。
(三)需求分析。为了解决这个问题,确定目标系统必须做什么,包括系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景,并出具规格说明书(specification)。
(四)总体设计(概要设计)。概括地确定目标系统需要实现的部分,设计出实现目标系统的几种可能的方案。从而推荐一个最佳方案。
(五)详细设计。确定如何具体地实现目标系统,设计出程序的详细规格说明。
(六)编码和单元测试。撰写正确的易于理解和维护的程序模块并仔细测试编写出的每一个模块。
(七)综合测试。集成测试和验收测试,现场测试或平行运行
(八)软件维护。使系统持久地满足用户的需要。包括改正性维护,适应性维护,完善性维护,预防性维护。
二、软件工程理论在社区就业管理系统中的应用
以下将沿着软件生命周期的各个阶段,结合社区就业管理系统的实际,具体分析软件工程在其中的应用。
(一)问题定义
据本人对现有社区层面就业管理的具体情况的了解,社区就业管理系统主要要承担三方面的任务:就业资讯公布,求职人员资料收集,求职人员求职资格的初步匹配和信息反馈。在就业资讯公布上,主要要包含数据获取,自动更新,简单查询等功能。在收集方面,主要包括求职人员的资料登陆,周期性的信息更新确认。在资格匹配和信息反馈,主要包含数据获取,数据筛选和信息发送功能。社区就业管理系统是在充分尊重求职者和企业意愿的基础上,尽可能拓宽企业与求职者的交流通道,使岗位信息有效快捷的在企业与求职者间传递。
(二)可行性分析
1、系统流程图。系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。根据问题定义给出以下社区求职管理系统流程:主要是围绕中心事务平台的一系列处理程序和相应的数据库出入,其核心计算集中在对求职者资料的处理上。
2、数据流图。数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。通常用数据流图建立软件系统的功能模型。结合系统流程图得出以下社区管理系统数据流图:
求职者数据登陆→与企业数据匹配→反馈求职者信息。通过确认从求职者以数据源身份登陆数据到求职者以接受者身份接收招聘信息数据流向,进一步论证项目的可行性,从而为下一步的工作打下基础。
(三)需求分析:状态转换图
状态转换图是通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。在状态图中定义的状态主要有:初态(即初始状态)、终态(即最终状态)和中间状态。在一张状态图中只能有一个初态,而终态则可以有0至多个。事件是在某个特定时刻发生的事情,它是对引起系统做动作或(和)从一个状态转换到另一个状态的外界事件抽象。经对社区现有就业管理状况的了解,考虑到管理成本,资源的最优化使用,在最大程度地服务求职者的同时,不进行无限度的匹配,不断地在匹配过程中给与求职者反馈,帮助求职者能快速有效地寻找到自身定位,修正求职资料,提高就职成功概率。所以就此社区就业管理系统而言,其主干的状态转化为:求职者将资料登陆,然后进行匹配,如果匹配成功,系统发送通知,求职者如确认接受匹配结果(想用人单位投递求职简历),数据进入缓存,等待下一次匹配,求职者不接受匹配结果,数据返回加入一个短时小缓存再次匹配。如果匹配不成功,也将数据返回加入一个短时小缓存等待再次匹配。在不同权重下累计次数(经过小缓存的次数加1,经过缓存的次数加0.5),当次数大于十次后,发送资料确认信息,求职者,可直接确认或者修改求职资料,数据再次进入匹配流程。若求职者不确认,数据将被丢弃。
(四)概要设计
使用层次图来描绘软件的层次结构。用一个方框代表一个模块,方框间的连线表示调用关系。其产生的过程主要是通过对系统流程图的功能划分,抽象出功能相对独立的模块,原本功能相近的地方将使用模块实现,减少代码量,提高代码使用效率,降低开发成本。
另外,层次化的过程,也是对之前可行性分析与需求分析最有效的验证,在此过程中,优化系统工作流程,提高(下转第199页)(上接第197页)系统性能。如发现系统设计的缺陷,能及时进行调整,避免后期实际开发后进行返工造成的开发成本的增加。根据对社区求职系统的系统流程图的划分,得到以下层次图:系统整体(社区就业管理系统)->功能层(信息发布,消息反馈)->实现层(新增,修改,删除)
(五)详细设计
详细设计的目标不但要在逻辑上正确地实现每个模块的功能,更重要的是使设计出的处理过程尽可能简明易懂。使用各种结构设计的控制结构描述模块实现的需求及规范。
结构程序设计的特点:自顶向下逐步求精;具有单入、单出的控制结构(取消GOTO语句);
任何单入口单出口的程序都可以由“顺序”、“选择”和“循环”三种基本结构实现。
(六)程序实现
考虑到社区就业管理系统将使用B/S架构,此处选用php为编码语言。再者,考虑到社区就业系统运行硬件的局限与打印纸制档案表格的需求,此处选用XML作为数据库文件,既可以以文本方式保存数据,较为方便的在各种环境下使用;又可以通过简单的css控制,转化为表格使用。
1、XML数据库结构
主要包含的字段有用户id,姓名,年龄,学历,求职岗位,使用的具体数据结构如下:
<?xml version="1.0" encoding="utf-8"?>
2、主要功能实现
(1)提取数据。主要使用SimpleXML解析XML:$doc=simplexml_load_file('jobhunter.xml');遍历后加入数组。
(2)数据匹配。$jobgroup=join(" ",$ jobarr);//将数组转化为字符串,提高匹配速度;preg_match(‘/$jobname/’,$jpbgroup))//使用正则表达式匹配。
(3)使用asXML写入XML。File_put_content(‘jobhunter.xml’, $document->asXML())。
三、结论
(一)软件工程指导软件设计的优势
软件工程作为一门指导计算机软件开发和维护的重要学科,通过工程的概念、原理、技术和方法,把握时间,人力的管理,贯穿软件开发的整个生命周期,以高效经济地方式开发维护高质量的软件,推动软件行业健康有序的发展。
(二)不足与改进
此社区就业管理系统的不足之处在于,缺乏与企业主动沟通的机制,我相信在国家相关政策的完善和社区大力宣达之下,在不久地将来会得到明显的改善。
对于社区就业系统的主要的展望:
1、在线面试的可行性研究。随着网络视频技术和带宽的发展,网上面试也成为企业减低人力成本,求职者提高求职效率的双赢模式。
2、就业呼叫系统的可行性研究。社区在帮助求职者找工作的同时,是否能收集所在小区人员的相关资料,为在职人员推荐更适合更有发展潜力的岗位,提升人才资源的优化整合,使社区就业管理成为人们职业规划的重要指导,逐步改善就业难、招工难的双重矛盾。
致谢 感谢辛明军教授对本工作的大力支持,在此表示感谢!
参考文献:
[1]Hebrew Bible,GENESIS 11,1-8.
[2]Sommerville,Software Engineering(Eighth Edition),北京.机械大学出版社,2006,(9).
[3]XML Signature WG,2001.12.11.
[4]Rasmus Lerdorf,Kevin Tatroe.Programming PHP Creating Dynamic Web Pages,电子工业出版社,2007,(3).
[5]Hugb E.Williams,David lane,Web Database Application with PHP & MySQL.東南大学出版社,2006.