时间:2022-03-07 18:16:03
开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇人员需求分析报告,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。
一、项目实施方案概述
软件产品,特别是行业解决方案软件产品不同于一般的商品,用户购买软件产品之后,不能立即进行使用,需要软件公司的技术人员在软件技术、软件功能、软件操作等方面进行系统调试、软件功能实现、人员培训、软件上线使用、后期维护等一系列的工作,我们将这一系列的工作称为软件项目实施,软件项目计划书。大量的软件公司项目实施案例证明,软件项目是否成功、用户的软件使用情况是否顺利、是否提高了用户的工作效率和管理水平,不仅取决于软件产品本身的质量,软件项目实施的质量效果也对后期用户应用的情况起到非常重要的影响。项目实施规范主要包括项目启动阶段、需求调研确认阶段、软件功能实现确认阶段、数据标准化初装阶段、系统培训阶段、系统安装测试及试运行阶段、总体验收阶段、系统交接阶段等八个阶段工作内容,每个阶段下面有不同的工作事项,各个阶段之间都是承上启下关系,上一阶段的顺利完成是保证下一阶段的工作开展的基础。下面将按照每个项目实施阶段分别介绍。
二、项目实施方案介绍
(一)项目启动阶段
此阶段处于整个项目实施工作的最前期,由成立项目组、前期调研、编制总体项目计划、启动会四个阶段组成。
此阶段主任务:
公司:在合同签定后,指定项目经理,成立项目组,授权项目组织完成项目目标。
公司项目组:进行前期项目调研,与用户共同成立项目实施组织,编制《总体项目计划》,召开项目启动会。
商务经理:配合公司项目组,将积累的项目和用户信息转交给项目组。将项目组正式介绍给用户,配合项目组建立与用户的联系。
用户:成立项目实施组织,配合前期调研和召开启动会,签署《总体项目计划》和《项目实施协议》。
1、成立项目组
部门经理接到实施申请后,任命项目经理,指定项目目标,由部门经理及项目经理一起指定项目组成员及成员任务,并报总经理签署《项目任务书》。
2、前期调研
项目经理及项目组成员,在商务人员配合下,建立与用户的联系,对合同、用户进行调研。填写《用户及合同信息表》。在项目商务谈判中,商务经理积累了大量的信息,项目组首先应收集商务和合同信息,并与商务经理一起识别那些个体和组织是项目的干系人,确定他们的需求和期望,如何满足和影响这些需求、期望以确保项目能够成功。
3、编制《项目总体计划》
《项目总体计划》是一个文件或文件的集合,随着项目信息不断丰富和变化,会被不断变更,主要介绍项目目标、主要项目阶段、里程碑、可交付成果。通常包括以下几方面内容:
项目描述,项目目标、主要项目阶段、里程碑、可交付成果。所计划的职责分配(包括用户的);
沟通管理计划,确定项目干系人对信息和沟通的需要:即什么人何时需要什么信息以及通过什么方式将信息提供给他们。质量管理计划,确定适合于项目的质量标准和如何满足其要求。如果有必要,可以包括上述每一个计划,详细程度根据每个具体项目的要求而定。未解决事宜和未定的决策。
4、启动会
项目组与用户共同召开的宣布项目实施正式开始的会议。
会程安排如下:
共同组建项目实施组织,实施组织的权利和职责;双方签署《项目实施协议》。
项目组介绍《项目总体计划》和《项目实施协议》,包括以下内容:
项目目标、主要项目阶段、里程碑、可交付成果。所计划的职责分配(包括用户的);
项目实施中项目管理的必要性和如何进行项目管理,项目的质量如何控制;
项目实施中用户的参与和领导的支持的重要作用;
阶段验收、技术交接和项目结束后如何对用户提供后续服务。
(二)需求调研确认阶段
此阶段的主要工作是软件公司的项目实施人员向用户调查用户对系统的需求,包括管理流程调研、功能需求调研、报表要求调研、查询需求调研等,实施人员调研完成后,会编写《需求调研分析手册》,并交付用户进行确认,待用户对《需求调研分析手册》上所提到的需求确认完毕后,项目实施人员将以此为依据进行软件功能的实现,工作计划《软件项目计划书》。如果用户又提出新的需求,实施人员将分析需求的难度及对整个系统的影响程度来确定是否给予实现。需求调研阶段具体包括如下内容:
1、进行需求调研准备
2、编制《需求调研计划》
3、内部评审是否通过《需求调研计划》,项目组、部门经理、商务等人员根据合同要求和项目实际情况对《需求调研计划》草稿进行评审,如评审通过,则在稍后的时间内签署,如评审不通过则重新修改。
4、用户是否签署《需求调研计划》,如用户签署《需求调研计划》,则作为以后需求调研工作的指南。否则重新修改。
5、《需求调研计划》是否有变更,如果计划存在变更,则执行变更控制流程,否则按计划进行后续工作。
6、编写及发出《需求调研通知》,项目组编写《需求调研通知》,确定进行需求调研的相关事宜,发给用户,为顺利完成需求调研工作做准备
7、需求调研,项目组以《需求调研手册》为依据,从业务流程、单据使用、打印格式、报表查询几个方面展开深入和全面的调研,并搜集用户的个性化需求。
8、需求调研分析根据调研的结果,项目组和公司其他技术部门将进一步进行分析,确定合理、可行的需求,将分析结果形成《需求分析报告》草稿。
9、内部评审是否通过《需求分析报告》。项目组、部门经理、公司其他技术部门的人员对《需求分析报告》草稿进行评审,如评审通过,则在稍后由用户签署,如评审不通过则重新修改,直至内部评审通过。
10、编写及发出《需求分析报告确认通知》。项目组编写《需求分析报告确认通知》,发给用户,确定进行需求确认的相关事宜,告之相关部门及人员安排好工作,准时参与需求确认工作,为顺利完成需求确认工作做准备。
11、用户是否确认《需求分析报告》。如果用户确认,并签署了《需求分析报告》,则需求调研阶段工作结束,进行后续的软件功能实现的工作;如没有确认,则进一步进行调研、分析,直至用户最终确认并签署《需求分析报告》。双方签署了《需求分析报告》,需求调研工作结束之后,如果用户提出新的需求或是变更已有的需求,则执行需求新增及变更流程。
(三)软件功能实现确认阶段
此阶段的主要工作是项目实施人员根据需求调研阶段确认的《需求调研分析手册》中的用户需求内容进行具体软件功能的实现工作。在软件功能实现的过程中,项目实施人员将记录软件实现的详细过程。便于公司售后服务之用。每一个实施技术人员必须严格按照要求记录、存档。按照调研要求的所有功能实现完毕后,项目实施人员将编制《软件功能确认表》,将定制好软件功能待用户确认,用户根据《软件功能确认表》上的功能逐一确定软件功能是否达到要求,对不满足要求的功能,项目实施人员将会记录下来并进行功能修改,直到满足用于要求。
(四)数据标准化初装阶段
此阶段的主要工作是项目实施人员指导用户进行系统标准化资料的准备工作,并对用户进行初装资料的软件操作培训,以便用户能够及时的将标准资料录入系统,初装完成后,项目实施人员会对资料初装的情况进行核查,为以后具体业务功能的开展做好基础。
(五)系统培训阶段
系统培训阶段工作是整个项目实施工作中比较重要的工作,用户对软件的操作功能是否熟练将直接影响到后面的软件应用效果,所以软件公司和用户双方要对此阶段的工作给予足够的重视。要充分认识培训的重要性和艰巨性。在项目实施之前对用户的相关人员进行系统和规范的产品培训是非常必要的,达到让用户了解软件产品,最终自己能够解决使用中的具体的问题。
此阶段的培训工作中将用户参加产品培训的人员划分为三个层次:决策层、技术层、操作层,对不同层次的用户参加产品培训人员的培训内容分别是:
决策层:领导在实施中的作用与重要性、决策查询。
维护层:系统维护知识、操作方法。
操作层:操作方法。
具体的培训工作流程为:
1、调研培训信息:在培训开始前3天由用户实施负责人,将参加培训的部门和人员情况填入《受训部门汇总表》、《受训人员情况一览表》。
2、编制培训计划:结合调研结果,与用户实施负责人商议具体培训内容、时间,场地,人员等。项目组编制《培训计划》。
3、签署培训计划:用户签署《培训计划》,进一步确认培训安排。
4、发培训通知:培训开始前2天,按照签署的《培训计划》,将培训内容、时间,场地,人员等信息通知用户实施负责人。
5、搭建培训环境:公司项目组在培训开始前,将培训环境搭建及检查妥当,将培训提纲及培训手册准备好。
6、组织培训:公司项目组培训负责人与用户实施负责人组织相关人员参加培训,按培训制度严格考核。由用户将考勤情况填入《培训人员签到表》。
7、培训考核:公司项目组培训负责人与用户实施负责人组织受训人员参加上机及理论考试。
8、培训总结:公司项目组培训负责人与用户实施负责人一起将出勤情况及考核情况做出总结,填入《培训及考核统计表》,及时向相关负责人汇报。
软件开发模型是计算机应用开发迅速发展形成的产物,目的是为了更快更好的开发出符合用户需求的软件。我们所熟知的软件开发模型有,瀑布模型、快速原型模型、增量模型、螺旋模型、混合模型等等。而近年来,敏捷软件开发模式被越来越多的大公司所采用,我们所熟知的,Google、Facebook、Youtube、Baidu、Amazon、Taobao等众多知名公司,无一例外。本文将介绍敏捷开发模式的特点及其在web开发中的应用。
1 敏捷开发模式的意义
众所周知,敏捷(Agile)一词来自于2001年初美国犹他州雪鸟滑雪圣地的一次敏捷方法发起者和实践者的聚餐。而早在1990年起,人们就开始寻求一种可以应对迅速变化的需求的软件开发方式。敏捷开发模式能够使得团队频繁交付新软件,减少快速变化的需求带来的困扰,并且迅速提高团队成员的编程能力。
2 敏捷开发模式的原则和方法
敏捷开发模式之所以能够应对快速变化的需求,依赖于以下几个必要原则。
2.1 尽早获取用户需求并不断交付有价值的软件
在一个项目组中,会有不同的角色承担不同的任务。首先是项目经理(Project manager),其主要负责确定用户需求,制定项目开发计划,协调团队成员在规定期限内完成项目开发和交付。当项目经理与用户沟通获取项目目标并制定项目开发计划之后,就需要业务分析师(Business analyst)与用户进行沟通,获得项目开发的具体需求,用户体验设计师(User experience designer)根据需求分析设计界面,软件开发者(Developer)进行软件开发,软件开发完成后交给测试人员(Tester)进行软件测试,从而交付软件。在以前的软件开发模式中,普遍依赖业务分析师和用户沟通所完成的需求分析报告而进行软件开发和交付。这样做的弊端在于,用户在提出需求和得到交付软件之间对需求本身可能发生变化,业务分析师在与用户沟通并创建需求分析报告时对需求本身也可能产生误解,而开发者本身对需求分析也会产生误解。这就使得花费大量人力物力所开发的软件最终不能被用户所接受。而采用敏捷开发可以避免这种情况。
敏捷开发中有一种叫做Scrum的迭代增量式开发过程。其目的在于缩短交付周期,不断交付有价值的软件,使得在软件最终交付时最大程度满足用户需求。这就需要改变传统的软件交付模式,当项目经理和用户沟通时,需要设定阶段行的目标和任务,由业务分析师和用户就已经确定的需求进行需求分析并且在制定需求分析的同时与开发人员及时沟通,避免软件过度开发,这样就可以缩短软件交付期限。将原本一年甚至几年的开发周期缩短至两个星期到一个月,每次交付部分有价值的软件,这样用户可以尽早体验并及时提出问题和调整需求。
2.2 制定详尽的开发和交付流程
将软件开发周期从几年缩短到一个月甚至两个星期,这需要制定详尽的软件开发和交付流程。而详尽的软件开发和交付流程也是实现Scrum所必须遵守的。
在Scrum中一个交付周期被称为一个Sprint。在每个Sprint开始之前,要有一个Sprint的计划会议(Sprint plan meeting)。Sprint计划会议是在业务分析师和用户确定好当前阶段的需求分析之后,将可以进行开发的部分按照需求的优先级顺序排列好开发任务(Story), 再由开发人员对任务进行难度评分,最后团队根据可变因素如团队成员情况,开发环境状态等确定下一个Sprint的任务。为了加强团队内部的沟通和及时掌握开发交付情况,Scrum要求团队每日开站立会议(Stand up meeting),站立会议通常1到2分钟每人,主要说明前一天的工作内容,存在什么问题,以及今天的工作计划。当然在每个Sprint快结束的前一天,要开评审会议,来报告进度,通常情况下是软件会议制定软件当前Sprint的软件计划。中国有句古话叫做“吾日三省吾身”,每个Sprint结束还有一个最为重要的会议就是回顾会议(Retrospective meeting)。回顾会议主要是总结上一个Sprint,保持优点,克服缺点。确保每个会议的有效性是Scrum实现的基础。
2.3 结对编程,提高软件开发效率
当需求明确且计划详细之后,对于软件开发最重要的就是提高开发效率。只有提高开发效率才能在短时间内向用户提供有价值的交付软件。对于提高软件开发效率,敏捷开发有一个很好的方式叫做结对编程(Pair programming)。所谓结对编程,就是一个任务交给两个开发人员,两个开发人员同时坐在一台电脑前面,一个人编程,另一个人实时检查,然后互换角色。当然,也可以和测试驱动设计(Test Driven Design)相结合,一个写测试用例,另一个通过实现代码使测试通过,然后互换角色。结对编程的好处在于,与传统开发一个人一个任务相比,两个人一起协作,可以尽快确定测试用例和程序接口,实时检查代码减少代码调试时间,互相学习软件开发设计技术,避免因成员变动阻碍开发进度。对于结对编程的两个人,只要两个人有互补,就可以在一起结对编程。例如,一个开发人员可以和一个需求分析师一起结对编程,需求分析师了解任务需求,可以负责编写测试用例,开发人员实现测试用例,从而使开发更满足需求。用户体验师也可以和开发人员结对编程,开发人员每实现一个功能块,用户体验师都可以进行实时的检查,从而更满足用户的体验。结对编程,看似浪费人员,因为同一时间做的任务变少,但是却能够大大提高编程效率和开发质量,是敏捷开发中重要的实现方法之一。
关键词:全台网;技术管理;人员管理;节目资源共享
中图分类号:TB文献标识码:A文章编号:1672-3198(2012)19-0183-01
目前,我台所有前期拍摄设备和后期制作设备都归技术中心统一调配、管理,但由于台内对节目生产成本没有进行考核管理,各部室人员使用设备没有直接和经济效益挂钩,导致记者领用设备外出采访结束不能及时归还,以及在节目制作中长时间占用、使用编辑设备等现象发生,这样一是设备磨损严重,二是设备利用率不高,我台本身缺少制作设备,经常出现人等设备的情况,极大影响整个生产流程。2008年,我台进行了数字化改造,搭建了制播局域网,但由于经费紧缺,没有搭建TVS设备管理系统便于对全台设备进行统一管理。随着电视事业的发展壮大,采访制作量不断增加,现在的设备管理模式已经表现出它的不合理、不完善。
2009年,阿拉善盟随着新传媒大楼的建设项目启动,阿拉善盟广播电视台面临着实现全台网的机遇,由台领导班子牵头成立了项目设计小组,并抽调台内技术骨干和宁夏电视台技术人员与中广电设计院工程技术人员多次讨论完成全台网设计大纲,为新传媒大楼制定我台新的技术方案。
作为一名技术骨干,我们深知责任的重大,将决定节目生产流程,进而影响到我台发展规模和管理体制。本着对阿拉善广播电视台未来高度负责的精神于2010年6月开始这项重要工作,工作分为以下四个阶段进行。
1需求调研阶段
1.1发放调查问卷
我们根据需要了解各部门的情况和将来发展需求,例如总编室主要了解节目编排和各部门的接口关系,对新闻中心将重点了解网络化制作的安全性和稳定性,对各栏目制作模式度进行详细了解。
1.2分析调查问卷
收回问卷后,我们马上进行调查问卷的分析工作,归纳总结出节目共性需求和个性需求,将调查问卷中回答的不详细和需要进一步深入了解的问题归类。
1.3深入各部门进行调研工作和节目流程跟踪工作
重点进行了总编室、新闻中心、蒙编部、栏目、播控中心等的调研工作,由于领导重视、工作人员积极配合,在项目小组成员耐心细致的工作下,这项工作在两周内完成,得到了十分详细的资料,为下一步工作提供了准确的数据。
1.4分析归纳各种调查数据,形成《需求调研报告》
根据得到的各部门现实状况和自办节目的种类、设备使用情况、成片比、未来发展方向、未来需求等数据,最后制定出五年后阿拉善盟广播电视台节目规模和设备规模的《需求调研报告》。
2需求分析报告阶段
2010年3月5日至16日是联合设计工作的第二阶段。该阶段台内技术小组成员和宁夏电视台的工程技术人员及中广电设计院的工程技术人员通力合作,在《需求调研报告》的基础上,对各主体业务的数据信息进行周密细致的统筹分析考虑,形成《需求分析报告》,该报告囊括了台内主体业务的流程、功能、规模、接口四个方面的汇总分析,为下一阶段的设计大纲和设计方案的编写提供了必要的分析数据和整体设计依据。
3设计大纲阶段
2010年4月10日至16日是联合设计工作的第三阶段。该阶段历史7天,联合设计小组按照“整体规划”的设计原则,具体采用“先总体后分系统、先设计图后文字描述”的循序渐进工作方式,不断充实和完善形成了图集和文字方案组成的《设计大纲》。
4设计方案阶段
从2010年4月17日起,阿拉善盟电视台全台网项目联合设计工作已经进入最后阶段,在设计方案阶段,联合设计工作小组重点是以《设计说明书》为框架指导和内容基础,通过内容补充完善和修订的方式来形成最终的《设计方案》。在启动具体的编写工作之前,联合设计工作小组进行了内部的多次沟通和讨论,形成了补充完善和修订的要点,为后续的具体编写工作指明了方向。
对于现存的微电子设计软件进行大量分析调查后,我们发现现存的微电子设计软件都不能满足印刷微电子的设计要求,因为印刷微电子与传统微电子在生产工艺上存在很大的区别。我们计划在传统微电子设计软件的基础上,增加印刷微电子设计的个性化的软件,这就要求我们向软件开发人员提供明确的软件功能需求报告,这对大部分微电子工作人员来说,都是一项极具挑战性的工作,这就要求我们具备相当完善的知识体系,掌握计算机应用等相关学科的知识。如果缺乏对印刷微电子的全面、深入的认识,就不可能提交高质量的印刷微电子设计软件的需求分析报告。缺乏准确、全面的需求分析报告,必然会成为制约软件设计的因素,以至于软件设计人员只能借由自己对印刷微电子的主观认识和有限了解来构建软件,最终导致设计的软件并不适合于实际生产应用。为了解决这一问题,笔者在阅读大置有关印刷微电子方面资料的基础上,结合需求分析的相关知识,总结得出了,印刷微电子设计的主要流程,确定了印刷微电子设计软件的基本功能,并对印刷微电子的设计流程以及软件的功能需求做出了详细、全面的描述。
一、确定印刷微电子设计流程
如果使用传统的微电子设计软件,势必不能满足全印刷微电子设计的需求,要实现微电子全印刷,就需要在传统微电子设计软件中将印刷微电子设计的功能就加入到软件中,实现传统微电子设计与全印刷微电子设计的集成,从系统论的角度对微电子设计的流程进行整体规划,使软件的功能更加全面、强大。印刷微电子,顾名思义就是基于印刷原理的电子学。既然是以印刷的方式实现微电子制造,在电路设计之初就要考虑到印刷方面的问题:哪些器件可以由印刷的方式实现,由哪种印刷工艺实现印刷,以及印刷参数设置等。所以印刷微电子设计与传统的微电子设计存在很多不同之处,传统的微电子设计软件并不能满足印刷微电子设计。
传统PCB板的设计流程是:
1、设计目标,比如草图、器件的资料准备。
2、原理图封装准备,如果库里有的可以直接用,没有的直接绘制图形,也可以建立自己的库文件。
3、原理图绘制,将所需器件都摆好,然后根据电路要求连线。
4、原理图检查,比如连线是否正确、标号调整、封装制定等等,或使用DRC功能检查。
5、检查无误进行下一步。
6、PCB封装准备,这一步也可与第2步同时进行。
7、板框准备,将器件从原理图或网络表里导入到PCB软件里面,并设置设计规则。
8、布局,然后布线。
9、敷铜,检査。
10、生产文档准备,如器件列表,贴装图等。
而全印刷微电子的电路全部利用印刷方式来实现,原理图设计部分与传统PCB的原理图设计基本相同。与传统PCB所不同的是,在PE图设计的过程中,就要对元器件的材料、打印时序、线宽、印刷工艺、固膜方式等进行设置,无需敷铜的检查。
所以,全印刷微电子的设计流程是:
1、设计目标,比如草图、器件的资料准备。
2、原理图封装准备,如果库里有的可以直接用,没有的直接绘制图形,也可以建立自己的库文件。
3、原理图绘制,将所需器件都摆好,然后根据电路要求连线。
4、原理图检查,比如连线是否正确、标号调整、封装制定等等,或使用DRC功能检查。
5、检查无误进行下一步。
6、元件封装与放置,元件参数设置,包括材料选择,印刷时序,印刷方式和固化工艺等。
7、导线参数设置,包括材料,线宽,印刷时序,印刷方式和固化工艺等。
8、线路检查。
.9、电路仿真。
10、生产文档生成,驱动印刷设备。
与传统的生产工艺相比,全印刷微电子在生产过程中更具有连贯性,效率更高。全印刷微电子设计软件与传统的PCB设计软件相比,更方便,将电路设计的大部分工作交由软件完成,电路设计完成之后,剩下的工作就可以由打印机自动完成,省去了人力。
二、印刷微电子设计软件功能需求分析
1.印刷微电子设计软件功能需求报告是在印刷微电子需求分析的基础上结合微电子设计的特点提出来的,主要用于提交给软件开发人员来直接指导软件设计和开发的文档。印刷电子既然要以印刷的方式实现,再设计的过程中必然要考虑印刷制造的因素。以导线为例进行说明,在连接导线的过程中,除了传统微电子设计时需要的相应的参数设置外,还要对导线的印刷参数进行设罝,包括:印刷材料选择,导线的印刷尺寸(长、宽、后),印刷温度,印刷方式以及固膜方式等,同时还要考虑到印刷对导线的电性能可能造成的影响因素,并尽可能选择影响最小的印刷制造方式。
2.目前,国内有关印刷微电子设计软件功能需求的分析还不够成熟更完善具体的软件功能需求分析需要在实践中不断的总结升华。笔者主要以本研究团队的实践,以及微电子和印刷方面的知识为基础,将印刷微电子设计除去传统微电子设计的功能之外的部分概括如下:印刷材料参数设置,印刷尺寸的确定,印刷工艺设置,打印时序设置。
3.材料参数设置是在电路图设计过程中,元器件可以选择库中存在的并根据数据自己配》,也可以自己配置且满足参数要求,其中材料参数设置主要包括:材料的组成,材料的印刷尺寸以及材料的使用温度范围。
印刷工艺可以由系统根据前面材料参数的设置自动给出,用户也可以根据方便性原则手动设置,但是所选印刷方式一定要符合材料的要求。印刷工艺选择是的主要内容是:印刷方式、固化方式。其中印刷方式可以是:喷墨印刷、丝网印刷、ro11-2-roll、柔印、热转印等印刷方式。固化方式可以是UV固化或高温煅烧。不管是印刷工艺还是固化方式都回对最终电路的性能产生影响,可以将印刷和固化对电路的影响以影响因子的方式给出,已选择最合适的印刷和固化方式。
打印时序主要是根据材料的印刷层次先后结合温度、印刷方式,给出最快捷、最高效的印刷制造顺序,系统可根据之前的参数设置给出可选项,设计人员也可以自行设定或在系统给出的可选项中选择并修改。
【关键词】人事档案;身份证读卡器;数据库【中图分类号】R132
【文献标识码】A
【文章编号】1672-5158(2012)10-0002-02
1 引言
随着信息技术的不断发展,以计算机技术为主体的各类高新技术已经将触角深入到国民经济的方方面面。以往,我们的档案系统主要通过初办时个人获得的档案号,或者通过姓名来查找个人信息。这些方法,在档案数量较少或个人办理初期,弊端尚不明显,而一旦库容量达到一定的数量级,或者随着时间的推移,其不足就显现了出来。主要表现在两个方面:
同一份档案重复力理,造成数据冗余。随着人才的频繁流动,很多人会把转出的档案重新转回,从而会重新办理,这样就会造成同一份档案在数据库里有多条记录。目前系统中这样的冗余数据很多。
一无法迅速定位。由于档案数量巨大,通过姓名查找存在重名问题。目前系统中经常有这样的情况出现:录入姓名,一下子跳出几十条同名数据,需要工作人员再次核对生日,院校等信息才能确认某档案,大大影响效率。
随着社会的进步和发展,二代身份证在我们的生活中起到越来越重要的作用,二代身份证具有唯一性。本文作者根据自己多年的档案工作经验和一定的计算机知识,提出了在当前的人事系统中增加使用二代身份证读卡器来完成数据的采集、查询的新方法,彻底解决了这一难题。
2 系统设计
系统设计是本系统开发的重要阶段,它直接影响到目标系统的安全和稳定,是整个系统开发工作的核心。
2.1 系统体系结构设计
原应用系统采用的是两层C/S计算机结构体系,由客户端和数据库服务器组成。身份证读卡器系统配有SDK软件开发包,对原有的业务系统可以做到良好兼容,将证件识别采集程序嵌入到原来各种应用系统中即可进行数据采集。其模式结构图见图1。
2.2 系统流程设计
根据中心业务的工作方式,针对二代身份证可进行机读识别的特点,借助二代身份证读卡器,采用“联机模式方案”,实现中心对客户身份证信息的采集及有效性验证。简单地讲,就是将身份证读卡器与PC通过串口或USB口直接相连,PC上加载加密模式的读卡器驱动软件及身份识别应用程序,应用程序将二代身份证中IC的信息(公民身份号码、姓名、性别、民族、出生日期、住址、签发单位、签发日期、有效期截止日期、照片)传输到PC中。同时,柜台工作人员通过PC的显示来核对机读的信息与身份证印刷信息是否一致。针对中心的需求实现二次应用程序开发,如将已识别的用户身份信息的保存、查询和索引等。
2.3 系统功能模块设计
系统主要包含信息读取、身份验证、将采集到的信息和原系统进行匹配从而实现数据查询等功能。
2.3.1 自动查询
工作人员进入客户端应用程序后,程序自动检测身份证读卡器工作状态,如果感应到有身份证靠近,会直接将身份证号码这一唯一信息读入系统,免去手工操作,提高了录入速度和准确性。系统通过网内线路将采集到的身份证号码上传到档案数据库,与库里的信息进行对比查询,如果查询到库中无该客户记录,则提示档案库不存在此人档案,可再通过姓名查询的方式进行二次核查,防止数据库中身份证数据信息有误;如果查询到库中有该客户记录,如果只有一条则直接显示,如果有重复数据(此档案重复在该中心办理),只需选择正确的一条即可。
2.3.2 双重验证
身份真伪通过视读和机读双重验证,确保用户身份真实准确。具体讲就是系统会通过身份证读卡器获取照片信息,然后和事人员进行比对,即可一目了然断定身份真伪。
2.3.3 信息采集
对于初次办理的人员,只有将将身份证放在读卡器上,应用程序会自动采集芯片中的用户身份信息,从而实现保存、查询和索引等功能。在采集的过程中,系统会自动判断档案数据库中是否有重复的身份证号码,如果存在则提示工作人员,以防重复办理。这样既能保证数据真实有效,同时又能防止产生冗余数据。
3 关键技术分析
人才档案系统的服务内容繁多,涵盖了,户籍,保险公积金等各项业务,业务流程不尽相同,根据各业务特点,在开发期间拟解决以下几个关键问题。
3.1 需求分析与功能抽象技术
通过深入调研,首先弄清楚人才中心档案管理和档案服务的基本需求,完成系统功能分析,初步确定体系结构,包括对原系统的改进和待实现功能的定义。在这一过程中要需要整理出详尽的需求分析报告,尽可能做到完备。根据需求分析报告设计业务系统流程、划分具体功能,并通过系统信息需求分析的结论,设计本系统的E-R模型,即将业务的需求与表述转化为数据库设计专用语言与流程,清晰反映数据及数据之间的联系与传递关系,这个阶段是整个系统开发的基础。在以后的开发过程中还需要根据实际需求变化不断更改。
3.2 主要技术分析
3.2.1 图像采集
通过二代身份证读卡器,可将二代身份证中的加密照片信息读取到本地指定目录并存放成图片文件zp.bmp,应用程序可以显示改照片信息,并且保存到数据库中,完成照片的采集。
3.2.2 封装对象
在PowerBuilder中我们还可以创建自己的用户对象。我们可以利用面向对象方法中的对象的封装性、继承性、多态性等特点使得我们开发的应用程序具有极大的可重用性和可扩展性,而这一点正是软件工程中对应用程序所提出的重要目标。
在原有的信息管理系统中,多个业务(档案查询,初办,户籍查询,户籍办理等)需要调用身份证读卡器供应商提供的动态链接文件,为了提高系统的开发效率,使得开发人员无须重复编码,直接定义了一个不可视控件,将相关函数封装在该对象中,这样开发人员使用时只需要声明变量,系统将自动调用相应的服务例程处理,使用起来简洁高效。
4 结语
使用身份证读卡器信息技术辅助人事档案管理,可有效地解决管理弊端,使数据库与身份证信息准确。这一技术首先被应用在南京某人才服务机构的档案管理中,取得了良好的效果。近年来,该技术被迅速推广到全国其它近二十家人才服务机构,信息管理部门借助“客户身份证自动采集设备+电子数据库”的方案对原办事流程进行改造,从而实现对初办、后续服务等关键环节一劳永逸的立体化管理。通过使用该技术手段,实现了大容量档案库房的有序管理,极大的提高了单位的工作效率和服务质量。
参考文献
计算机专业英语是一门交叉的学科,把英语这一工具运用到计算机专业这一领域,解决计算机的问题。目前多数高校计算机专业英语的教学仅停留在课文阅读与翻译层次,对口语表达、文献撰写等能力普遍缺乏培养。根据课程的教学定位和专业人才培养目标,在张新红等人提出的虚拟情景教学的基础上进一步改革和提高,为每个授课环节模拟一个实际工作环境,结合软件工程的一般过程,提出一种提高学生的语言应用能力的可行解决方案。
关键词:
计算机专业英语;虚拟情境;语言应用能力;口语表达;软件工程
1概述
软件开发人员为跟上软件开发技术的发展节奏,需要阅读大量英语文献和代码;软件外包服务企业,要求软件工程师能够用专业英语书写诸如需求分析报告、设计说明书、测试报告等各类软件项目中常见的文档。外企的要求则更高,如索尼、微软等公司要求招聘的员工能够用英语进行技术交流讨论。国内各高校虽普遍开设了计算机专业英语课程,却普遍停留在课文阅读与翻译层次。这就迫切需要一种兼顾文献阅读、文献撰写、口语交流等各个不同应用领域的专业英语实践教学模式。本文模拟计算机专业新人进入职场后的各个阶段并参考软件工程一般过程设置情境,每个情境自然地引入文献阅读、文献撰写和口语交流等实际任务,不同情境各有侧重点,真正做到面向实际应用的综合性的专业英语能力培养。
2教学内容和教学情境设计
教学内容包括情境介绍、交流环节、教材讲授、新文献阅读环节。教学中的情境设计以一个大学生从刚应聘到外企工作到他成为独当一面的开发人员的成长历程为线索。情境介绍主要是营造一个学生容易融入的背景,让他们明白学习的内容可以运用到工作中的什么地方。交流环节包括与同事、客户的对话以及需求分析报告、设计说明书、测试报告等专业文档的写作;教材讲授部分即教师根据所选的教材,摘取其中典型的内容进行简略的讲解,重点引入专业英语中使用的大量专业术语,并与其他领域的释义进行比较,加深学生的印象。新文献阅读是在教师的指导下,学生阅读与情境和教学内容相关的最新专业文献。各情境的划分与主要内容见表1。
3情境教学的具体实施
3.1新人第一天情境介绍:刚刚进入公司,新人充满了紧张与期待,与同事合作的第一步,让他们了解自己。交流环节:学生自我介绍的重点是讲解自己学习过的专业课程和专业知识,掌握的专业技能。涉及到大量的计算机专业术语。学生交流中肯定会存在很多问题,正好让他们在接下来的教材讲授环节带着目的去学习,提升学习效果。教材讲授:重点讲解计算机专业学科分类和各学科的主要研究内容,把整本教材各个章节联系到一起,也给学生一个计算机专业的总体印象。
3.2新人培训情境介绍:软件公司对于软件应用有着比学校更高的要求和针对性,通常都会对新人进行针对性的培训。交流环节:学生扮演部门经理,简略讲解C++语言的相关知识点。这一过程综合考验了学生专业知识的掌握程度、计算机语言相关术语的掌握情况和英语表达能力,让学生充分发挥又认识到自己的不足。提升学生的学习欲望。教材讲授:以C++语言为例,讲解计算机语言的发展简史和各主要知识点,以及编程的一些策略和原则。既是讲授专业英语知识,也是对学生专业知识的一种扩展。
3.3项目需求分析情境介绍:软件永远都是要服务用户的,因此弄清楚用户的需求至关重要,这也是需求分析的目的。交流环节:学生分别扮演用户与开发人员,用户从自身使用的角度用非专业的语言描述自身的需求。开发人员在听取用户需求之后尽可能引导用户把功能描述放入软件工程的框架,将用户的功能需求转换成能指导软件开发的专业需求。教材讲授:讲解软件工程的第一阶段需求分析,要求学生结合学过的专业知识来听课,既学习了新的术语也巩固了专业知识,达到双赢的目标。
3.4软件设计情境介绍:将用户的需求细化之后会形成一个整体的大系统,但大系统不利于开发,需要经由软件设计将大系统拆分成一个个小系统,明确每个小系统的功能,才能进行后续的开发过程。交流环节:学生扮演项目经理,将软件项目的拆分情况、每个模块的详细功能和各开发小组的分工布置下去。这样的过程不仅训练了学生软件工程方面的专业技能,对于英语口语表达也有较高的要求。学生总结自身在过程中存在的问题,自然会要求自己在两方面都有所提高。教材讲授:讲解软件设计过程,也即是总体任务细化为每个模块的过程。对于每个模块自身的功能和输入输出如何用专业的语言去描述。
3.5数据库设计情境介绍:任何大型软件系统都离不开数据库系统,用于存储每天产生的大量数据,方便日常的快速检索和使用。交流环节:学生扮演项目组中的数据库设计人员,向组员们讲解自己设计的数据库,包括E-R模型、关系表、关系设计等等内容。将自身所熟悉的数据库知识用英语表达出来,提升自身的专业英语能力。教材讲授:讲解数据库相关知识点。让学生们学会用英语来表达熟悉的数据库知识。
3.6网络设计情境介绍:大型软件为使用方便,通常都需要应用于网络环境(互联网或公司局域网),网络方面的优化尤其是网络安全策略更是重中之重。交流环节:学生扮演项目组中的网络安全设计人员,向组员们讲解自己的设计,采用了哪些可行的安全策略和加密手段来保证所有用户都在权限范围内操作系统,避免非法用户进入系统。用英语进行网络安全策略描述难度较大,事先可以召集负责的学生与教师一起讨论,在教师的指导下完成。教材讲授:讲解互联网相关的网络层次结构、协议、安全策略等知识。
3.7软件测试情境介绍:软件各模块功能是否正常,软件总体是否达到用户的需求,如何改进,这些问题都需要软件测试来回答。交流环节:此环节分成两个部分,第一部分学生扮演测试人员与开发人员,测试人员向开发人员描述软件存在的错误和问题,开发人员则基于描述询问一些问题的细节;第二部分学生扮演开发人员和用户,开发人员向用户描述目前软件的所有功能,用户通过询问了解软件设计的不足并提出改进意见。教材讲授:讲解软件的单元测试和整体测试等知识点,向学生们强调软件测试的重要性。
3.8软件维护情境介绍:软件维护通常是软件生命周期中时间最长、成本最高的一个阶段,其中的关键则是开发人员与用户之间的有效沟通。交流环节:学生扮演用户和开发人员,用户提出使用过程中出现的问题和对软件进一步的功能需求,开发人员则通过询问进一步明确问题和需求,并整理成专业需求,用以指导后续工作。接下来可以让双方各自描述自己所理解的需求,明确有哪些理解上的偏差。让学生们直观的感受用户与开发人员的相互理解难在哪里,今后学习和工作中针对性的去解决。教材讲授:讲解软件测试相关策略和技术。扩大学生的眼界和知识储备。
4结论
本文从提高学生专业英语听说读写全方面能力这一目标出发,通过设置情境的方式展开教学,让学生学习的过程有参与感、有面向实际工作的感觉也得到全方位的锻炼。此教学方法可以让学生们学习起来有乐趣,也能让他们充分认识到自身的不足,从而调动学生们的学习积极性,学习的过程也更有目的性。通过这种学习过程,学生们能学习到真正的专业英语知识,为将来的工作尤其是到外包企业和外企工作做好准备。
参考文献:
[1]张新红,白艳玲,陈利国.计算机专业英语课程的教学研究与改革[J].电子商务,2013(10):91-92.
[2]刘艺,王春生.计算机英语[M].北京:机械工业出版社,2013.
[3]金志权,张幸儿,张景祥.计算机专业英语教程[M].6版.北京:电子工业出版社,2015.
[4]杨涛.对计算机专业英语教学的几点思考[J].计算机时代.2015(1):62-63.
[5]刘洋.计算机专业英语教学改革分析[J].商品与质量:消费研究,2015(7):170-170.
[6]易丛琴,周汝雁.计算机专业英语教学改革探索[J].教育教学论坛,2015(48):97-98.
[7]崔玉宝.谈计算机专业英语的学与教[J].华北航天工业学院学报,2003,13(4):60-62.
关键词:软件质量;ISO9001;质量控制;见证点
中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)09-2142-03
Software Development Process's Quality Management
LIU Yun-jie
(Beris Engineering and Research Corporation, Baotou 014010, China)
Abstract: Although the growth of demand for software is very fast during the information-based process in the current society,every walk of life is carrying out the development and production of application software. But many developed softwares have not been integrated flexibly and effectively with the habits of manual operation;Some software can not be able to realize the function of regulatory business and enhance the efficiency;And some software cannot be applied after huge development costs and let the matter rest. Therefore, improving the software quality management level is a pressing problem for interrelated enterprises, and the use of quality control method used is an effective way to solve the problem.
Key words: software quality; quality control; witness point
ISO9001:是指由国际标准化组织(ISO)所属的质量管理和质量保证技术委员会ISO/TC176工作委员会制定并颁布的关于质量管理体系的族标准的统称。ISO9001是ISO9000族标准所包括的一组质量管理体系核心标准之一。
质量控制:为达到规范或规定对数据质量要求而采取的作业技术和措施。 这就是说,质量控制是为了通过监视质量形成过程,消除质量环上所有阶段印起不合格或不满意效果的因素。
1 概述
软件质量,概括地说就是“软件与明确地和隐含地定义的需求相一致的程度”。具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。
在现代社会中,随着计算机技术的发展,软件规模越来越大,复杂性越来越高,而软件的开发能力却远远跟不上应用需求的速度扩展,出现了所谓的“软件危机”。时至今日,计算机在在工业控制、医疗、通讯、交通、航空、航天、经济、金融等领域的应用中,对软件的质量提出了前所未有的挑战,软件失效逐渐成为系统瘫痪的主要原因。因此,软件质量成为人们越来越关注的问题。
目前,国内大多数软件企业首先选择了ISO9001质量管理体系标准,作为提高软件产品的质量和提高生产率的过程改进框架,都取得了一定的成效。
ISO9001用于证实组织具有提供满足顾客要求和适用法规要求的产品的能力,目的在于增进顾客满意。随着商品经济的不断扩大和日益国际化,为提高产品的信誉、减少重复检验、削弱和消除贸易技术壁垒、维护生产者、经销者、用户和消费者各方权益,这个第三认证方不受产销双方经济利益支配,公证、科学,是各国对产品和企业进行质量评价和监督的通行证;作为顾客对供方质量体系审核的依据;企业有满足其订购产品技术要求的能力。
2 问题分析
影响软件质量的主要因素,这些因素是从管理角度对软件质量的度量。可划分为三组,分别反应用户在使用软件产品时的三种观点。正确性、健壮性、效率、完整性、可用性、风险(产品运行);可理解性、可维修性、灵活性、可测试性(产品修改);可移植性、可再用性、互运行性(产品转移)。
通常所理解的软件开发,大部分是指编码。而实际工作中,一般将软件开发周期划分了六个阶段――计划、需求分析、设计、编码、测试、运行维护。各个阶段都有独立的人任务,也就涉及到了任务完成得质量。也就是说,软件系统表现的程序中的错误,并不一定是编码引起的,很可能是在设计过程中或者需求分析阶段产生的问题引起的。这样,对软件质量的度量决不能限于程序本身,而编码以前所完成的各个阶段的工作质量同样至关重要。
3 解决策略
那么如何在控制风险,提高软件开发质量,提高软件开发过程的透明度?这就要求在开发过程中的各个阶段,严格按照相关规范和标准中的“质量控制”进行操作和管理。
在国际上,质量控制对象根据它们的重要程度和监督控制要求不同,可以设置“见证点”或“停止点”。“见证点”和“停止点”都是质量控制点,由于它们的重要性或其质量后果影响程度有所不同,它们的运作程序和监督要求也不同。为了方便理解,就“见证点”和“停止点”做以下说明。
见证点的运作程序和监督要求如下:
1) 施工单位应在到达某个见证点之前的一定时间,书面通知监理工程师,说明将到达该见证点准备施工的时间,请监理人员届时现场进行见证和监督。
2) 监理工程师收到通知后,应在“施工跟踪档案”上注明收到该通知的日期并签字。
3) 监理人员应在约定的时间到现场见证。监理人员应对见证点实施过程进行监督、检查,并在见证表上作详细记录后签字。
4) 如果监理人员在规定的时间未能到场见证,施工单位可以认为已获监理工程师认可,有权进行该项施工。
5) 如果监理人员在此之前已到现场检查,并将有关意见写在“施工跟踪档案”上,则施工单位应写明已采取的改进措施,或具体意见。
停止点:
停止点是重要性高于见证点的质量控制点,它通常是针对“特殊过程”或“特殊工艺”而言。凡列为停止点的控制对象,要求必须在规定的控制点到来之前通知监理方派人对控制点实施监控,如果监理方未能在约定的时间到现场监督、检查,施工单位应停止进入该控制点相应的工序,并按合同规定等待监理方,未经认可不能越过该点继续活动。通常用书面形式批准其继续进行,但也可以按商定的授权制度批准其继续进行。
在软件开发周期中,该方法同样适用。
4 过程分析
下面就各个软件开发周期的各个阶段,如何进行质量控制所所设置的见“见证点”或“停止点”。
4.1 计划
计划也是总体规划。软件系统的规划是软件系统开发的起始阶段,它的基础是需求分析计划的作用主要有:
1) 指明软件系统在企业经营战略中的作用和地位;
2) 指导软件系统的开发;
3) 优化配置和利用各种资源,包括内部和外部资源;
4) 通过规划过程规范企业的业务流程。
一个比较完整的计划,应当包括软件系统开发的目标,软件系统的总体框架、软件系统的组织结构和管理流程、软件系统的实施计划和相关的技术规范等。
本阶段在确定软件实施计划时,需要确认一个见证点――可行性报告。也就是说,在确定软件开发的实施计划过程中,需要相关领导和该软件系统的策划人员和设计人员分别依据各自所掌握的业务信息,评估并确认该软件系统实施计划的客观性和可行性。一旦发现该计划风险过高,例如:工期过紧或复杂度过高,需重新审议,决定是否实施该项目或者改变实施计划。
4.2 需求分析
软件系统需求分析阶段的目标是为软件设计极端提供系统的逻辑模型,是以企业的业务流程分析为基础,规划即将建设的软件系统的基本架构。它是企业的管理流程和信息流程的交汇点。
需求分析的内容主要包括:组织结构分析、业务流程分析、数据和数据流程分析、系统初步方案等。
在需求分析阶段,主要是和顾客交流沟通,充分掌握顾客基本信息,准确理解顾客需求,客观分析业务流程和数据流,结合软件系统开发特点,形成详细的严谨的顾客需求分析文档。形成文档后,需要顾客的确认,保证调研人员理解的正确性和描述的准确性。如果该文档不能得到顾客确认,后续的软件开发工作即存在巨大风险。所以,该需求分析文档即是客户的“见证点”。
本阶段,在软件开发过程中,是至关重要的。很多软件后期无法继续运作或者后期开发修改量过大,基本都是由于在需求分析阶段不充分或者不精准,造成了人力、物力和财力上的过多浪费。如果,在后续开发过程中,需求不明确、新增需求或者需求发生变更,要及时与顾客沟通并确认。
4.3 设计
软件系统设计阶段是根据系统分析的结果,设计出软件系统的实施方案。软件系统设计的主要内容包括系统架构设计、数据库设计、处理流程设计、功能模块设计、安全控制方案设计、系统管理流程设计等等。
在设计阶段,需要全面理解需求分析报告的内容,进行合理化、科学化设计是保证后续软件编码高效、系统运行通畅的保证。
因为本阶段所涉及的软件设计分类内容很多,在此,以功能模块设计和数据库设计加以说明。
1) 功能模块设计分概要设计和详细设计。概要设计,主要是根据需求分析文档,划分出软件系统所需要完成的功能模块。而详细设计,就是该模块在软件实现中所需要的细节。通常,概要设计是由调研人员完成或参与完成;而详细设计实在该概要设计的指导下,参照需求分析文档完成。这时候,“见证点”是,概要设计文档和详细设计文档,需要调研人员、设计人员、编码人员的确认。当设计文档不符合需求分析文档的内容时,需重新设计;当设计出来的模块功能,编码人员无法从技术上实现时,需要设计人员重新从技术立场更改设计方案。
2) 数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。
在我们进行数据库设计中,首先设计的是逻辑数据库。也就是根据需求报告,设计数据库的结构和整体性能。然后根据逻辑数据库实现数据库物理设计,包括选择数据库产品,确定数据库实体属性(字段)、数据类型、长度、精度等。
数据库逻辑设计决定了数据库及其应用的整体性能,调优位置。如果数据库逻辑设计不好,则所有调优方法对于提高数据库性能的效果都是有限的。为了使数据库设计的方法走向完备,数据库的规范化理论必须遵守。规范化理论为数据库逻辑设计提供了理论指导和工具,在减少了数据冗余的同时节约了存储空间,同时加快了增、删、改的速度。
另外,在规范的数据库逻辑设计时,还应考虑适当地破坏规范规则,即反规范化设计,来降低索引、表的数目,降低连接操作的数目,从而加快查询速度。常用的反规范技术有增加冗余列、增加派生列、重新组表等。
增加冗余列:有时要进行查询的列分布在不同的表中,如果这个连接查询的频率比较高,那就可以根据需要,把其它表中的这一列加进来,从而使得多个表中具有相同的列,它常用来在查询时避免连接操作。但它的坏处就是需要更多的磁盘空间,同时因为完整性问题需要增加维护表的工作量。
此时,“见证点”在数据字典上。需要确认的人员是软件开发过程中所涉及的各个人员。因为数据库设计,是整个软件系统的基础,数据库设计质量好坏,直接关系到软件系统的质量,所以,该处也可以设置“停止点”。
4.4 编码
软件编码是将上一阶段的详细设计得到的处理过程的描述转换为基于某种计算机语言的程序,即源程序代码。
编码是实现系统功能的阶段。在本阶段中,代码错误是每个程序员都会遇见的问题,可以在编码调试中解决。而算法错误的检查,在后续的测试或者编码人员自测中发现并解决。
在整个软件系统中,个人认为,编码阶段是最单纯的阶段,完全由编码人员根据详细设计文档,结合数据库设计文档,实现模块乃至系统功能。编码过程的功能过程实现代码“见证点”,由编程人员个人设定。在检查编码的规范性、可读性性、效率时,“见证点”可由相关检查人员设定。如果在编码过程中发现某些设计功能过于复杂时,需要向设计人员提出申请,设计人员可以设定改模块的代码实现过程的“见证点”。
4.5 测试
软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。
使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
通常软件测试的目的如下:
1) 测试是为了发现程序中的错误而执行程序的过程;
2) 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;
3) 成功的测试是发现了至今为止尚未发现的错误的测试。
不过,这种观点指出测试是以查找错误为中心,而不是为了演示软件的正确功能。只从字面意思理解,可能会产生误导,认为发现错误是软件测试的唯一目的,查找不出错误的测试就是没有价值的测试,实际上并非如此。我们其实应该这样理解:
1) 测试并不仅仅是为了找出错误,通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;
2) 这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性;
3) 没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。
测试的“见证点”是测试报告。
4.6 运行维护
软件系统运行维护是在指软件产品交付后,进行的活动。这个阶段主要是以顾客为主导地位,软件开发人员辅助该使用软件系统。这时,一份完好软件系统验收报告,无疑是最好的“见证点”。当然,该阶段一本详实的使用说明文档同样很重要。
通过质量控制,对软件开发质量加以管理,在一定的程度上可以规范开发流程、节约开发成本、提高开发效率。通过质量控制,提高软件开发过程的科学性、客观性、可控性和追溯性,保证软件开发产品的可靠性和可适用性,已成为越来越多的软件公司管理软件开发质量的重要和有效手段。
参考文献:
[1] 黄庭满.国内商企应加快发展“信息流”[J].经济参考报.2004,11(6).
[2] 王洪海,周祖德,陈幼平,等.基于Agent 的虚拟企业信息集成技术的研究[J].中国机械工程,2006,2(4):372-375.
[4] 翁佳.信息生命周期管理[J]情报科学,2005(6) .
关键词:软件需求分析;二义性;建模工具;快速需求分析方法;需求获取
0 引言
需求分析是软件工程的首要阶段,软件工程失败与需求分析在完整性、准确性、可验证性及一致性等方面的缺陷有较高相关性。需求分析不足可能表现在以下几个方面:①用户对自身需求比较模糊;②非核心需求过度膨胀;③需求完整度较难把握,用户需求经常变动;④需求分析不够详细,需求文档描述的多义性,使后续工程理解偏离;⑤忽视用户的行业特点与文化程度,没有挖掘用户的核心需求;⑥需求分析的时间不足,等等。
常见的需求分析方法有3种:问题分析法、界面原型法以及可运行原型系统法。按方法的特点来分,有形式化的、非形式化的和基于知识表示的需求分析和规格说明技术。形式化方法可以严格地描述所开发的软件功能,既减少二义性,又可以自动对需求分析进行推理验证,实现软件分析的自动化。但形式化方法往往难以掌握,且不易理解以及难以和用户沟通,目前应用还有局限性。非形式化方法采用了易于掌握的分割、抽象、投影等适合处理复杂问题的策略,尽管还存在某些不足或缺陷, 但在当前软件开发中仍然是广为使用的需求描述机制。基于知识表示的分析和规格说明方法是专家系统在软件需求工程中的一项应用,但是前期要由专家组进行知识的整理和合理表达,对一般软件工程准备期较长。每种方法都有其优缺点,很多情况下,软件开发项目组会根据项目的具体情况主要使用一种或同时几种分析方法。如赵占梁等在中采用尝试通过自然语言逻辑形式和语言形式加以一定的限制来减少其歧义性,增强其准确表达能力;罗慧慧结合自然语言处理技术,对需求分析辅助生成方法进行了研究,给出了一个能将受限汉语书写的需求分析报告自动转换成符合国家标准的软件需求规格说明书的系统;倪世道在中提出一个系统的基于知识支持和面向目标建模分析方法GONFR。
1 快速需求分析方法概述
针对上节提到的需求分析不足的几类表现,结合国内软件开发业的实际,本文从实践的角度提出了一种快速需求分析方法。这种方法旨在消除使用自然语言的需求分析说明书的二义性,又避免了一些工具软件偏向软件开发人员的缺点。其核心思想是使用包含专业术语的自然语言和原形界面设计相结合的模式,快速完成需求分析,缩短整个软件开发周期。该方法分为四个阶段,分别是需求预获取阶段、初次交流阶段、扩充交流阶段和需求验证阶段。需求预获取阶段先了解用户行业需求和单位特点,提出预想需求;然后与开发团队内部交流。初次交流阶段则是把预想需求与用户代表面对面交流,取得用户的修正意见;接着把用户意见反映到需求说明书和原型界面运行系统中,与开发团队内部交流,同时开展后续设计、开发。扩充交流阶段是把用户意见、团队的取舍加入需求分析中,再次与用户进行详细交流。需求验证阶段由用户、项目组、评审人员参加,确定用户最终需求,并对需求合理性进行验证。至此,在短时间内完成了2~3次需求分析的迭代,需求分析完成,部分模块已经进入设计或开发阶段。
2 具体实现
2.1 需求预获取阶段
(1)需求分析员以项目开发意向为基础,了解用户所属的行业、单位初步情况、用户单位的高层次及一些特定需求。根据用户所属行业查阅该行业的相关规范,了解该行业业务流程,查找该行业成功的软件开发案例及需求分析说明书。这样就从内外两个方面粗略地获取该单位的工作运行模式和企业部分特色。从系统完整性设计思路出发,将用户行业、单位的一般性需求作为骨架,根据用户特色需求合理地补充、预想用户可能的需求细节,把这两方面结合起来,形成一个与用户行业标准或规范匹配的《用户需求分析说明书》,并根据该说明书制作一个可演示的原型界面系统。
(2)与项目团队进行交流。目的有两个,一是让项目团队的经理、系统分析师(架构师)、程序员等对用户项目有前期的了解,二是根据《用户需求分析说明书》和原型界面运行系统,探讨项目难点、人员、工期、可利用模块等问题,还要涉及可能遗漏的功能性和非功能性需求。完善后进入第二阶段。
2.2 初次交流阶段
(1)需求分析员与用户代表(最好包含决策者),就原型界面运行系统和《用户需求分析说明书》初稿进行面对面交流。首先概述系统的整体功能、结构层次、特色,接着主要通过原型界面运行系统的图形化展示,分层次地讲解系统各项功能和性能指标,可边讲边讨论,重点记录用户对软件系统的理解、修改意见及补充要求。同时收集用户方的相关文档。交流结束前,整理出用户的修改意见和补充要求文档,并取得用户的认可。
(2)了解了用户需求的细节情况后,经整理和提炼,把形成的修改意见分别加入到原型界面运行系统和《用户需求分析说明书》,再次与项目团队交流。实现3个目的,一是让项目团队成员对用户项目有进一步的理解;二是在人员和工期确定的情况下,去除无法完成的功能和部分非重点需求,并给出合适的理由,以利于取得用户方理解;三是促使项目团队根据修正的《用户需求分析说明书》和原型界面运行系统,进行后续设计,开展技术攻关和部分模块开发。把内部会议的结果完善,反映到《用户需求分析说明书》和原型界面运行系统,然后进入第三阶段。
2.3 扩充交流阶段
(1)需求分析员及相关人员再次与用户代表(包含上次参加者),就补充了用户意见和项目团队理解的原型界面运行系统和《用户需求分析说明书》进行交流。着重阐述开发后系统的整体功能、结构层次等方面的修改情况和各项功能、性能指标的变化,然后诚恳地向用户解释去除的部分模块和功能,取得用户方理解,进一步挖掘用户的细节需求,记录用户对软件系统的补充修改意见,整理成文档,取得用户认可。
(2)经过此次交流,用户需求细节基本掌握,用户修改意见分别加入到原型界面运行系统和《用户需求分析说明书》,然后与项目团队进行交流,确定项目的大部分细节需求,进行详细设计、编程。
2.4 需求验证阶段
(1)整理好《用户需求分析说明书》,编写《需求分析规格说明书》,完善原型界面运行系统。与用户进行第三次交流,包括需求的验证与确认,除用户方、项目开发方之外,还需邀请评审人员。原型界面运行系统形象反映了软件系统部署后的功能和性能指标,《用户需求分析说明书》和《需求分析规格说明书》作为原型界面运行系统的辅助发挥作用。需求验证的关键是需求分析有没有真正反映用户的需求、完不完整,而不是某些学者强调的需求分析与详细设计是否一致,后者是项目团队内部的事。图文并茂的模式能够较好地验证用户的需求,也有助于双方就需求达成一致,从而在完成需求验证的同时,确定用户最终需求。
(2)按照需求验证的规范,完善验证文档需求。验证文档经三方签字认可,需求分析阶段就基本结束了。《用户需求分析说明书》、《需求分析规格说明书》和原型界面运行系统作为需求分析的最终材料伴随软件的设计、开发、测试与集成。
另外,如果在第二阶段交流中用户提出的补充需求较少,那么第三阶段和第四阶段可以合并。上半段进一步挖掘用户的细节需求,快速完善进原型界面运行系统和相关文档,下半段邀请评审人员进行需求验证。
3 举例
某单位做商务公开网站,项目组首先收集与该单位相关的文件和网站信息,利用UIDesigner设计如图1的第一版功能界面(由于篇幅所限只展示首页面),该界面可进行模拟操作,同时配以《用户需求分析说明书》。然后与单位用户代表结合,用户代表由单位分管领导、纪委、组织科、职工代表组成。项目组充分采纳了各方建议,比如党务公开等栏目在首页面取消tab页、主要显示更新及重要内容、详细分类移至二级页面等。项目组迅速做出第二版(如图2),经第二次讨论,当场修改首、二、三级页面和具体功能、性能指标,取得用户单位认可。接着就进入了实际开发。
4 特点及合理性分析
软件工程逐渐从顺序的过程向开发过程的流水线(如敏捷开发方法)过渡,快速需求分析方法实现了需求分析、设计与编程的部分并行。本方法还有以下三个特点:①既有效去除自然语言的二义性,又有利于双方交流;②原型界面运行系统一直作为软件开发的参考,减少转换环节中理解的走形;③兼容性强,可以与多种设计或开发方法结合。下面就方法的合理性进行分析。
4.1 去除自然语言的二义性
一般用户对软件工程比较生疏,这也造成用户方很难拿出项目的完整需求。一些软件工程行业的需求分析及设计工具对需求分析的挖掘和合理细化相当有效,但它们对一些程序员新手来说都有难度,让用户在短时间内掌握基本不可行。即使经过培训,用户也无法像软件工程设计人员那样熟练使用工具、完整地表述自己的需求。问题产生了:用户不愿使用特定工具,倾向于使用自然语言,项目组为了去除自然语言的二义性而推荐使用特定工具。这将引起交流不畅,导致需求分析的反复、拖延。能不能找出一种方法既能让用户积极参与,又能去除自然语言的二义性呢?[3]和[5]讨论的方法都需要进一步的规范,取得行业的认可,并取得用户和项目组的认可,这对于一般的软件开发项目前期准备工作难度较大。本文提出的方法从可运行的图形和文字及流程说明文档两方面出发,两方面相互限制、相互验证。可运行的图形有利于用户的参与,文字及流程说明文档便于后续的设计与开发。由于图文并茂,二义性产生的概率大大降低。经少数几次迭代后,就能快速、较完整地引导挖掘出用户实际需求。避免了用户学习特定工具产生的延期和表达的不准确,同时也降低了项目团队成员对项目理解和把握的难度。
4.2 预测用户需求的可行性
用户所在行业有成熟的行业规范,用户单位也有规定的业务流程,这些都是需求要抓的共性。用户的合理需求不会偏离共性太多。项目合作意向中提供的高层次及一些特定需求给预测用户的需求提供了更细节的信息。在工作、生活实际中我们处处面临决策,都是依据少量信息作出预判。因此需求分析员能根据共性、个性加上自己的经验与预想,做出第一版需求分析。项目团队对项目需求的理解和对软件系统的形象化描述,有利于引导和激发用户的需求。从认知角度看,一个人愿意与知音进行交流,没人乐意对牛弹琴;对一个成型的东西,特别是图形图像,让合作者去指出哪些地方要不要、应该如何改,比让他自己设计难度要低得多;用户看到了接近最终交付物的界面系统,心中有底。
4.3 促进软件工程的并行
需求分析员每一次与用户、与项目团队的交流,都是围绕着原型界面运行系统《用户需求分析说明书》和《需求分析规格说明书》进行,也就是围绕逐步接近用户实际需求的材料来进行。由于原型界面运行系统是用户和项目团队越来越认可的对最终交付物的描述,而前述论证中提到的行业共性使得部分功能模块可以提早进行设计,并便一些技术难点能够尽早懂到确定和攻克。在需求分析进程中,逐步地深入设计和编程基本不会造成时间的浪费,因为用户需求是在需求分析员和项目团队引导下形成的,框架和基本需求在项目团队的掌控中。如果以前开发过类似的项目,则可复用部分设计及代码。
4.4 原型界面运行系统避免软件走形
由于始终有原型界面运行系统作为参照,又有需求分析相应文档的指引,从系统设计、编程、测试到集成、交付,最终交付物必须完整地实现原型界面运行系统,并且要从功能、性能上有提升,也就是最终交付物“≥” 原型界面运行系统。相当于需求分析一直伴随软件开发的全过程,这正是软件工程最核心的要求,也是许多软件开发项目中容易忽略的地方。
4.5 与多种设计或开发方法结合
本方法没有限定详细设计、编程等具体方法,因此在软件开发实践中,只要遵循本方法的基本原理,通过《用户需求分析说明书》、《需求分析规格说明书》和原型界面运行系统使用大多数设计与开发工具均可。
5 结论
本文提出的方法既消除了需求分析中使用自然语言造成的二义性,又避免了一些工具软件偏向软件开发人员的缺点,促进了软件开发过程的部分并发,有效缩短了需求分析和软件开发周期,在规范性自然语言未取得编程行业及专业领域普遍认可的情况下,成为一种较为实用的快速需求分析方法。本方法在一定程度上吸收了敏捷开发的思想,又可以应用于传统开发模式和面向对象程序设计模式。但该方法把任务更多地压在了需求分析员身上,需要这个角色具有从用户角度思考问题的立场、积极获取并理解用户行业规范的能力、一定的预测能力、较高的沟通水平、奉献精神。该方法也有待于在实践中继续完善。
参考文献:
\[1\] 蒋海昌.降低软件需求分析风险之探索[J].计算机时代,2010(10).
[2] 王晓宁.关于如何做好软件需求分析的探讨.科技资讯[J].2010(34).
[3] 王迅冉,王春霞.基于Z语言的形式化需求分析[J].商丘师范学院学报,2007(3).
[4] 蔡文青,常浩娟,秦怀斌.软件需求分析作为过程实现[J].福建电脑,2007(10).
[5] 罗慧慧.需求分析辅助生成系统的探讨与构建[J].仲恺农业技术学院学报,2006(4).
【关键词】医保 信息 系统
铜川市在1996年被确定为“两江经验”扩大试点城市之一,市本级医疗保险管理信息系统于1997年4月1日正式启动运行。随着社会保障事业的不断发展,经办机构承担的业务从原来单一的职工医疗保险扩大到工伤保险、生育保险,尤其是2008年启动实施的城镇居民基本医疗保险和城镇职工基本医疗保险市级统筹,老的系统已不能适应新的业务需求,更新换代势在必行。
经过与项目建设单位的精诚协作,建成了以两台IBM小型机和五台应用服务器、VPN服务器、负载均衡为基础的数据中心,采用ORACLE数据库和C/S/S三层架构的新系统于2008年7月1日正式上线。新系统涵盖了职工医保、居民医保、工伤保险、生育保险的所有经办业务,并全部实现市级统筹;7个经办机构、97个社区医疗保险经办点、140多家双定单位或光纤或宽带全部联网、一卡结算,形成了基础资料共享、业务经办并网、数据向上集中、服务向下延伸的网络体系。
本文结合铜川市在医疗保险管理信息系统建设过程中遇到的难点问题进行分析,并就这些问题进行思考,提出解决方案,供各位同行参考。
1 医疗保险管理信息系统建设面临的难点分析
1.1 医疗保险政策体系繁杂,经办业务众多
医疗保险政策体系涉及三大目录管理、基金收支余管理、待遇支付政策管理等多个方面,政策体系繁杂。
1.2 医疗保险政策体系面临不断完善和改良的情况
铜川市基本医疗保险制度改革自1996年被纳入“两江经验”扩大试点之后,已经陆续建立了城镇职工基本医疗保险、大额医疗补助、城镇居民基本医疗保险等制度。
1.3 基本医疗保险涉及面广
基本医疗保险涉及到广大参保单位和参保群众的切身利益,同时所实行的定点医疗机构、定点零售药店管理进一步扩大了基本医疗保险的业务经办覆盖面。2008年起实施的城镇居民基本医疗保险试点和城镇职工基本医疗保险市级统筹更进一步地将区县及社区经办服务机构纳入了基本医疗保险管理信息系统的覆盖范围。
1.4 基本医疗保险业务数据量庞大
在各项业务经办过程中,基本医疗保险将形成政策参数、三大目录、基金收支余、待遇发放等数据,而保证这些数据的安全、有序运行并能被应用于各项分析、监控是基本医疗保险管理信息系统需要解决的首要问题。
2 基本医疗保险管理信息系统建设的建议
2.1 准确到位的需求分析是信息化建设的前提
(1)经办机构应在对全市各级经办机构信息化建设现状进行认真调研的基础上,根据医疗保险信息化建设的特性,对工作人员按照决策成员、业务骨干、一般经办人员、技术人员进行分类,组织相关专业人员展开具有不同针对性的需求分析培训,要求各类人员根据各自的关注点结合多年来的业务经办实践,提出各自对于管理信息系统建设的要求,并明细到业务经办需采集的数据资料、经办程序、最终实现的目标以及对于操作界面的要求。通过培训,使各级工作人员对系统建设目标、方法、步骤能够做到统一认识,形成人人参与、人人建言的良好局面。
(2)在全员培训、全员参与的基础上,应组织部分业务骨干和相关专业人员对各类人员有关管理信息系统建设的需求进行准确分析、提炼,以基本医疗保险基金流向为主线,根据参保登记、费用征缴、基金管理、待遇支付等进行相关业务划分,对各项业务经办进行认真的归纳、拆分、整理,最终形成科学规范、标准统一的需求分析说明。
(3)在做好需求分析报告的基础上,经办机构也应加强与项目建设单位的充分沟通,必要时应组织业务骨干、技术人员与项目建设单位的技术人员进行座谈,力求使项目建设单位能够充分准确地理解业务需求。
2.2 科学规范的业务经办规程是信息化建设的基础
面对庞杂的政策体系和业务经办范围,制订一个科学规范的业务经办规程是基本医疗保险各项工作包括信息化建设的基础。
经办机构应对现有业务经办规程进行认真梳理,同时抽调业务骨干对政策执行、业务开展、待遇项目等情况进行调研,通过召开业务经办座谈会、专项业务培训会等多种形式,全面了解和掌握了业务经办现状。
2.3 准确安全的数据质量是信息化建设的生命线
信息化建设就其本质而言就是对数据的操作,无论是数据的采集、加工处理以至数据的输出,整个过程都围绕数据这一核心展开。因此保证数据的可用性、可信性、安全性就成为信息化建设成败的关键。
(1)在系统建设过程中应从建立规范的数据标准入手,加强数据的可用性。在需求分析阶段,经办机构可组织专业人员按照部颁LB101-2000标准及全省统一的指标体系对医疗保险数据标准及定义加以明确,并按照统一的标准和定义制作数据采集表格、输出表格及处理流程,确保入库数据的真实性和准确性。
(2)在制订科学规范的医疗保险操作规程基础上,对数据加工处理过程应提出明确规定,保证数据的可信性。管理信息系统操作实践的经验证明,仅靠软件不能完全保证数据的可信性。为此,经办机构在建设信息系统时应结合业务开展情况,对各业务操作的所需资料、办理程序、时限要求、权限设置提出明确规定。
2.4 灵活方便的参数设置是医保信息化建设的重要基石
医疗保险政策性强,同时由于医疗保险制度目前仍处于改革和完善阶段,且还将持续相当长一段时间,政策需要不断调整、完善,覆盖人群还需要不断扩大,而各项保障制度也在逐渐完善。
2.5 实时高效的系统性能是信息化建设需要考虑的重点环节
医疗保险需要建立的个人账户和需要处理的数据特别多,支付、按比例划分等业务都比较复杂,特别是数据实时传输的要求,对医疗保险管理信息系统的高效运行提出了较高的要求。
3 结束语
医疗保险管理信息系统是一项复杂的系统工程。随着医疗保险制度改革的继续深入,医疗保险政策的不断完善,参保覆盖范围的持续扩大,以及信息技术发展的日新月异,特别是社会保险法的实施,都将对医疗保险管理信息系统提出更多更高的要求。经办机构也应结合自身工作实际,科学规划,精心组织,努力打造规范实用的医疗保险管理信息系统。
1 信息系统实施过程中的项目管理
项目管理指的就是有效地将相关的专业知识、技术、工具及方法等等应用到项目活动中,促使项目在有限的资源条件下,实现甚至是超过项目预期的需求和期望。项目管理包括:范围管理,时间管理,成本管理,质量管理,人力资源管理,沟通管理,风险管理,采购管理,集成管理。
项目管理从本质上看来,它是一项系统整合工作,项目生命周期就是项目管理中的各个逻辑阶段组合而成的整体。而信息系统中的项目管理指的就是要运用正确的项目管理方法,进一步地提高正在运行中的信息系统项目的成功率。信息系统的实施过程是按照生命周期法进行分阶段实施,它主要分为以下六个阶段:项目准备——分析需求——设计方案——系统实现——系统上线——项目验收、上线评估。下文针对每个阶段的工作任务以及工作所要达到的成效进行简单的分析:
1.1 项目准备
工作任务:在项目准备阶段当中,工作人员需要明确项目组织、宣传项目、制定项目总体计划、明确项目章程、培训项目相关工作人员,这些都是信息系统实施所必须的工作,是保证信息系统实施成功的必要前提。
工作成效:制定合理的项目总体计划;建立合理的项目总体章程;有效地培养项目工作人员,并收集记录他们的培训资料。
1.2 分析需求
工作任务:在分析需求这个阶段当中,最主要的任务就是认真地调查分析项目实施有关方面的现状以及各级用户的需求,最后再将调查分析内容整理成报告。
工作成效:撰写项目业务需求分析的报告。
1.3 设计方案
工作任务:在设计方案阶段中,工作人员需要依据所选定的系统,并要是在“分析需求”的基础之上,进一步地明确细化设计信息系统实施的一切细节,这些细节中主要包括业务的流程、数据架构、运用架构等等,最后认真撰写系统设计的说明书。
工作成效:形成标准模板的流程定义文件;撰写方案设计说明书。
1.4 系统实现
工作任务:在系统实现阶段中,工作人员务必要根据前几个阶段中所形成的需求分析报告以及方案设计说明书的内容,认真地配置、研发、测验已经选定好的信息系统,以此来明确信息系统的功能等是否能满足企业的相关业务所需,并且要保证其能正常运行。另外,工作人员不应该过问生产环境,因为配置、研发工作应该是在开发环境中进行。
工作成效:建立系统配置文档;撰写开发功能说明书;记录系统测验案例;建立权限设计;建立测试文档;撰写系统单元及集成测验报告;完成最终用户的培训手册。
1.5 系统上线
工作任务:在系统上线阶段中,工作人员需要依据全新的组织结构和相关的管理流程,要求企业单位进行最终用户的培训活动,并且还要明确各个用户授权与岗位责任是否一致。另外在所有相关数据明确之后,工作人员才能转换数据,才能切换系统。
工作成效:完成系统运行的切换计划;明确用户的系统帐号以及与之相应的操作权限;建立系统的运行支持策略。
1.6 项目验收、上线评估
工作内容:项目验收、上线评估是整个项目的最后阶段,这个阶段的主要任务就是记录各种成果的记录,例如项目各个阶段中所产生的相关文档、在项目管理过程中的各个文档等等。
工作成效:填写系统的验收报告;完善系统的评估报告。
2 如何在信息系统实施过程进行正确的项目管理
2.1 重视信息系统,进而提高对项目管理的重视度
前文已经有所提到,信息系统在企业单位中处于非常重要的地位,它可以完整地建立关于企业的正确数据,然后企业就可以依据这些数据进行更加正确的决策,进而提高企业单位的管理水平以及经济效益。但是由于诸多主客观缘由,某些企业单位对信息系统的实施不加以重视,在无形中丧失了提高自身竞争力和经济效益的机会。所以企业务必要意识到信息系统实施的重要性,增加对其人力、物力、财力的投入,按时、按需保障信息系统在实施过程中所需要的各种资源。只有提高了信息系统实施的重要性,才能进一步重视信息系统实施过程中的项目管理,加大项目管理中所需的各种资源的投入,保障其更加完美地进行。
2.2 建立健全项目管理制度
俗话说:“无方圆不成规矩”,想要在信息系统实施过程中进行更加正确的项目管理,就必须进一步地建立健全项目管理制度,将相关制度更加细化、完美化。为此相关的工作人员可以依据项目管理原则、企业的独特之处、项目的性质、企业的文化底蕴等等来制定项目管理制度,必要之时,也要学会灵活变通,针对性地制定相应的项目管理制度,并可以通过培训、试行、修改来贯彻落实项目管理制度。
一个单位发展所需的人才,不仅是靠人才引进,更重要的是来自单位有意识有计划的培养。而培养方式,除了单位业务实践的锻炼之外,培训无疑是提高员工素质和人力资源增值的重要途径,是提高企业核心竞争力的重要手段。“经营之神”松下幸之助认为:“企业中各方面的钱都可以省,惟独研发费和培训费绝对不能省。”
本文根据二所培训现状及培训模型的应用,就如何确保培训效果提出意见。
一、二所培训现状与分析
近几年,二所的科研任务饱满,纵横向任务相比以前有较大增长。为适应业务工作开展需要和发展要求,开展了大量的试验前培训、重点岗位资质培训,以及新员工入职培训、质量程序、环境安全、保密等管理培训。
根据从事培训管理的实际情况,及统计显示可见:
第一,培训计划数和执行数逐年提高。
2011年培训计划数接近2008年培训计划数的两倍,说明随着科研任务的增多,配套的培训也在逐年增多,满足了业务发展的需要。
第二,培训需求调查分析合理性逐步提高,但还不够清晰。
2009年起,培训计划变动率从43.2%逐步下降到32.8%,说明依据培训需求调查制定的培训计划与实际需求地符合程度,在逐年提高,但仍需改进。
目前二所培训需求调查主要是基于开展本年度科研任务的强制性质量管理要求提出,从各科室收集、整理、汇总而来,员工个人、项目主管、职能部门、所领导较少参与培训需求调研分析与计划制定,渠道比较单一,导致了每年至少有1/3以上的培训与计划不相吻合。
第三,培训渠道还需要进一步拓宽。
送外培训从2008年到2011年数量几乎没有增加,占培训总数比例不断下降;同时,内培主要采取课题讲授式培训,更为灵活、实用的基于业务或专业的互动式团队学习型培训较少。
培训工作光是靠内部培训是不够的,需要吸取专业培训机构的先进理念和专业知识,才能向专业化方向迈进。目前二所的培训以内培为主,外培所占比例较低。
第四,员工素质培训所占比例较低,结构有失衡倾向。
培训内容结构主要是知识技能培训和强制性管理规章制度培训两大类,基于员工综合素质提升的培训一直不多。
素质培训包括员工的学习力、企业文化的传承、单位内聚力的加强、员工工作热情的激发、员工压力管理等等。二所近四年的培训实施主要是满足眼前需求和短期需求,即科研活动需要的知识技术和管理技能培训,但长期规划较少,对员工的素质培训缺乏系统安排。
第五,培训成果缺乏转化机制与环境。
要促使培训效果有效转化到实际工作中去,需要上级领导的支持,同事间的沟通、互助,资金、配套设施及时间等因素的共同作用。单位因为时间紧迫、科研项目进度紧张等情况,培训后常常没有对员工提出更高的岗位工作要求,没有后续转换的机制安排与环境,导致培训效果转化率低。
第六,培训管理与单位管理体系脱节。
所管理体系没有对培训结果的指标达成情况进行评估与考量,也没有对评估结果实施奖惩等措施。目前,我所的培训工作与员工业绩和晋升影响不大,因此培训对员工没有形成有效的激励。
二、影响培训效果的主要因素及模型
第一,培训需求分析的准确度。
培训需求分析是整个培训管理工作的第一个环节,其准确度直接影响了培训的有效性。
目前学术界普遍认同的培训需求分析经典模型是Goldstein分析模型,如图1所示。
图1 Goldstein分析模型
第二,培训方法的多样性。
培训方法是调动学员兴趣,确保培训达到预期效果的关键环节。目前流行的培训方法体系从培训主题和培训方式两个维度进行划分,将培训方法方式归为四类,如图2所示。
图2 培训方法坐标图
第三,培训成果的转化。
员工培训后,需要将培训所学到的知识、技能及行为等内容应用到实际工作中。Timothy Baldwin和Kevin Ford提出了培训转化过程模型的基础模型,如图3所示。
图3 培训转化过程基础模型
第四,培训结果的评估。
培训效果评估是通过一系列的信息、资料、数据对培训的效果进行定性定量的评价,以提高培训质量的过程。威斯康辛大学的唐纳德.L.柯克帕特里克(Donald.L.Kirkpatrick)教授提出的柯氏四级评估模型是目前世界上应用最广泛的培训评估工具,如表1所示。
表1 柯氏四级评估模型
三、提升培训效果的途径
根据目前我们所的培训现状,想要达到较理想的培训效果,有必要参照影响培训效果的主要因素的相关理论模型,具体应用到培训实践中去,从培训目的到培训成果转换的各阶段进行精心设计和严谨实施。
第一,详细进行培训需求分析。
围绕整个单位战略发展的需要,对组织内各部门及员工的目标、任务、知识、技能等方面进行系统的调查与分析,从而确定是否需要培训、谁需要培训、何时需要培训、需要何种培训。
常用的收集培训需求方法包括:申报法、问卷法、访谈法、档案法、集体座谈法、测试法。申报法针对方向是单位总体需求,如质量管理规程、环境安全体系培训等;问卷法针对方向是员工个人需求;访谈法针对方向是岗位技能培训等;档案资料法是根据岗位职责和任职资格确定培训需求的,针对方向是员工岗位授权、特种作业操作培训等;集体座谈法针对方向是项目试验前培训等;测试法针对方向是员工综合素质培训等。
根据具体情况交叉使用一些方法,来明确培训需求。针对个体需求,可采用访谈法、问卷法和测试法,针对项目任务需求,可采用集体座谈法,针对部门需求,可采用申报法等。
明确培训需求后,需要结合单位人力资源年龄结构、人员类别结构情况、人员培训状况对收集的需求数据进行定性和定量的分析,制定出详细的员工需求分析表和较准确的员工培训需求分析报告。
第二,明确培训目的。
培训目的是衡量培训工作效果的标准。每个培训项目都有明确目的。培训目的要简洁,具有可操作性,并明确地记录下来,以便有效检查人员培训的效果和培训效果评估。
记录内容应明确各类人员参加相应培训的学时、培训的原因、预期达到的培训效果等。同时培训管理应与整个管理体系联系在一起,有明确的管理规定强制要求特定人员的培训内容和学时。比如人员晋升前必须经过相应岗位资质培训,培训合格后才能颁证上岗、提干,新的项目投入试验研究前必须进行试验前培训,可优化人岗匹配度。
第三,精心设计培训内容。
员工培训内容包括知识培训、技能培训和素质培训。知识培训是员工培训中的第一个层次,应占全部培训的50%。知识培训有利于理解概念,增强对新环境、新技术、新知识的掌握能力。技能培训是第二个层次,应占全部培训的30%。招进新员工、采用新设备、引进新技术等都要求进行技能培训。素质培训是最高层次,应占全部培训的20%。
选择针对性强的培训内容,分层次地为不同部门、不同层次、不同岗位的员工培训。即使是同一个员工,在不同的时间点,需要接受的培训也是不相同的。以知识和技能培训为例,针对高层管理者的培训内容是经营理念、企业文化、领导力等,针对中层管理者的培训内容是人际关系、指导工作和解决问题的能力等,针对研究室员工的培训内容是岗位相关的科学技术知识、岗位技能和实际操作等,针对机关职能部门的培训内容是专业技能培训,如财务管理、人力资源管理、项目管理等。
第四,不断优化培训方法。
培训的方法有很多种,我们应根据不同的培训对象、不同的培训内容选择不同的培训方法。
讲授法。培训师系统地向学员传授知识、重要观念,有利于培训学员系统地学习掌握新的技术知识。适合技术知识类培训。
演示法。运用实物和教具进行演示,通过示范和学员试做,使学员掌握工作技能方法。适合岗位技能类培训。
研讨法。通过培训师与培训学员之间或培训学员之间讨论解决疑难问题,引发培训学员积极思考,开发培训学员的能力。适合学术研究类的培训。
视听法。使用幻灯、电影、录像等视听教材进行培训。目前我所新员工入职培训主要采用这个方法。
角色扮演法。设定一个培训环境,指定参加者扮演某种角色,借助角色演练来理解培训内容,提高学员的观察能力、沟通能力和解决问题能力。可用于管理类培训。
案例分析法。利用书或影片描述实际或想象的情况,主要是对过去所发生的事情作诊断或解决特别的问题。质量管理程序培训、环境与安全培训、保密培训等培训可使用这种方法。
为提高培训效果,可根据培训内容的特点将各种方法配合运用,充分调动培训学员参与的积极性。
第五,深入开展培训效果评估。
应用柯氏四级评估模型的四个层次进行评估,如表3所示。对整个部门或整个单位进行的培训,运用第一层评估;要求培训学员掌握的知识或技能的培训进行第二层评估;对培训周期较长、企业投入较大、旨在解决企业内部关键问题、企业决策层比较重视或关注的、培训效果对企业发展很关键的等培训项目进行第三、第四层评估。
表2 四级评估表
培训效果评估需要撰写评估报告,完整的培训效果评估报告包括:培训实施过程、培训学员出勤率与表现、评估方式、评估结果、总结并提供参考意见等。
第六,重视培训成果转化。
培训后,员工所学的知识并没有直接转化成单位或团队的知识,我们要尽量转化培训获得的知识技能来提高工作绩效,因此在培训后要完成以下工作:
首先,完成培训总结。总结内容包括提炼培训的关键内容、关键理念、心得体会及工作改进计划,工作改进计划要切合实际并且具体化。
其次,可持续的工作行动。要求员工按照书面的工作改进计划,采取行动落实下来,培训组织部门在培训结束后的一段时间内,对培训改进计划的落实情况进行检查总结。
最后,培训成果的认定和表彰。定期将员工培训总结在我所内网进行评选,评选和表彰培训成果转化得最好的员工。培训成果的认定和表彰要有组织、有制度、定期进行,并与绩效考核挂钩,可提高员工参与培训的积极性,培养整个单位良好的学习培训风气。
在软件开发的每一个阶段中,人员的参与都是离不开的部分,而人的工作以及人们之间的通信质量有很难做到完美无缺,这就导致了错误是不可避免的。另外,伴随着计算机控制对象越来越复杂,且软件的功能及规模也在不断的提升,这也使得错误相对而言更容易发生,比如对于WindowsNT操作系统来说,其代码约为3200万行。总体来看,在软件设计阶段,人们所犯的错位是引起软件失效的主要原因,而软件缺陷的根源则在于软件的复杂性。在确保软件可靠性以及质量的过程中,软件测试属于最为主要的手段,以当前的软件工程来看,多以结构化分析及设计作为核心,因此在开发阶段,需求分析以及设计都是以工程管理以及技术评审作为质量的保障手段,而工程管理以及技术评审又存在着主观上的缺陷,很容易遗漏错误使其延续至开发阶段。客观来说,软件测试在发掘软件中隐藏缺陷的过程中的确有着很好的效果,以英国的SHOLIS项目来看,这一项目使用形式化方法对软件规约进行描述及证明,而且利用程序正确性证明方法对前期的很多缺陷进行排除,但是通过软件测试却依旧发现了整个过程15.175%的缺陷。此外,随着人们对软件测试重要性的认识越来越深,其所在软件开发周期中所占的比例也越来越高,当前很多软件开发机构已经将其40%的研制力量投放到了软件测试中,而对一些比较重要的软件来说,其测试的费用往往会高达其他阶段费用的3至5倍,由此可见,不管从哪个角度出发,软件测试都是非常重要的。
2软件测试分类
当前的软件测试技术主要可以分为动态测试以及静态测试,其中,静态测试主要是指在不执行程序代码的情况下找到程序中有可能存在的缺陷或者对程序代码进行评估的过程中,广义上看,静态测试还包括软件需求分析以及技术评审。至于动态测试,则是通过抽样测试数据对程序进行运行以起到检查程序中存在的缺陷。在动态测试的过程中,其核心内容主要包括测试用例、运行正与以及对于程序运行结果进行验证这3部分内容,此外还包括一些数据管理、文档编制、操作规程等辅助方面的工作。
3软件测试的对象
在软件测试的过程中,不单单进行一些比较简单的程序测试,也就是说仅对程序能否运行进行测试是远远不够的。具体来看,软件测试要贯穿在软件定义以及开发的整个过程中,因此软件测试的对象包括需求分析、系统设计、程序编码以及各阶段说明文档。此外,因软件开发过程中各个阶段之间有着非常金敏的衔接,因此如果前一阶段出现问题必然会对下一阶段段的工作造成影响,所以为了确保每一个阶段的正确性,我们要做好确认及验证工作。具体来看,确认主要是对需求规格以及程序进行确认,这既含有静态确认,又有动态确认,其中静态确认大多数是由人工进行分析,而动态确认则是利用动态分析以及程序测试对程序执行的情况进行检查。至于验证,则主要是采取一定手段对程序执行情况进行检查,进而证明软件各阶段中的完备性、正确性以及逻辑协调性。举例来说,我们验证的对象包括测试用户需求和系统分析员报告是否想和、设计说明书和测试需求说明书是否匹配等。
4软件测试目的及原则
4.1软件测试目的
测试目前因立场的不同又可以分为两种,从客户角度来看,总是会希望通过测试来发现软件中的缺陷及隐蔽错误。而从软件开发者角度来看的话,则是希望产品少出现错误,对软件已经符合客户需求进行验证,在这种思路下,测试人员会使用一些导致程序失效概率小的测试模块进行测试,并对容易导致错误暴露的测试用例进行回避,而且对于有可能出现副作用的语句也并不会去刻意的检查。基于此,在程序中,还存在很多预料不到的问题,而这类问题往往要在一些比较特殊的环境之下才能够表现出来。从以上分析我们可以看出,在对软件进行测试的过程中还是要更多的站在用户角度对问题进行考虑。
4.2软件测试原则
(1)“尽早和不断的进行软件测试”,只有时刻牢记这一原则才能够降低软件开发中由于工作多样化、人员配置复杂化所带来的不利影响。具体实践的时候,我们首先要端正态度,对各阶段技术审核要认真进行,另外,我们还要将软件测试贯彻到每一个环节中,进而早对错误进行发现和预防。
(2)测试用例选择的过程中要有输入数据和以及和输入数据相对应的预期输出结果,具体来看,在我们进行软件测试的过程中要选择比较适合程序段的测试用例,这些用例可以对程序员所编制的程序是否存在错误进行分析,而给出预期的输出结果则可以对程序段是否存在错误进行更为快捷的判断。
(3)要避免程序员对自己的程序进行测试,在软件测试的过程中,冷静的情绪以及客观的态度是不可避免的,而人又很难对自己的劳动成果进行否定,因此在程序员对自己程序进行检查的过程中会从主观上出现偏差,导致测试结果不准确、不客观。
(4)设计测试用例的过程中要注意使用不合理输入套件,所谓不合理输入条件主要包括输入异常或者会导致异变的条件。在软件正常使用的过程中,不合理输入是不可避免的,轻则会导致运算错误,严重的时候甚至会使软件失效。
(5)对测试工作中的群集现象进行注意,针对测试过程中错误较多的程序段,要对其进行详细认真的检查,这是因为从经验上看,程序段中残存的错误于已发现的错误往往会成正比。
(6)对测试要认真执行,这是指我们要做好一个详细的规划,具体来说,规划主要包括:软件功能、输入、输出以及每一功能测试的进度安排等。
(7)对测试计划、用例、出错统计以及分析报告等进行妥善的保管,进而为日后的软件维护提供更为便捷的服务。总体来看,在我们的工作中如果能够把握住以上原则必然能够对提升测试工作的效果起到很强促进作用。
5结语