第一篇:XXX公司软件HIS实施人员面试题
CHISC.NET全国医疗信息化联盟 ,为全国医疗信息化人员提供最全面的资料下载平台
3、什么是PACS?
4、什么是LIS?
4、什么是RIS?
5、HIS系统能接驳那些系统?列举3种以上
6、什么是B/S和C/S结构?
7、什么是OA?
8、什么是ERP?
9、当安装xxx医院管理软件时,在安装服务器端提示安装失败,判断并解决?
10、请列举经营医院管理软件的公司5家以上。
业务知识
1、HIS的原英文拼写是什么?
2、我们常说的民营医院的标准名称是什么?
3、简述门诊处方要素?
4、什么是临时医嘱?
5、什么是长期医嘱?
6、医院都有那些评定等级?
7、在实施过程中,由于研发时的一个bug出现了严重的错误,导致医院在上线使用时出现了混乱并且医院方表示了不满情绪,这时你将如何解释?
8、假如你是技术支持工程师,你正在为一个重要客户处理问题,如果这个问题不能及时解决,我公司的产品在该地区的销售会受到极大影响.与此同时,另一个电话打进来,某医院系统完全瘫痪,必须及时解决.你将如何解决这两个问题?
数据库基础知识:
1、SQL2000数据库与SQL2005数据库之间的有什么优点与缺点?
2、如何设置SQL2000的自动备份?
3、压缩SQL2000的数据日志脚本是什么?
4、如何解决安装SQL2000挂起无法安装问题?
5、如何解决安装完SQL2000后无法远程连接问题?
6、使用SQL语句创建单位人员信息表person字段: 人员编号:ps_code姓名:ps_name性别: sex 身份证号:id_code出生年月日:birthday 年龄:age人员性质(在职,退休,离职):ps_kind所属部门(办公室,销售部,实施部,研发部):office(请设计各字段类型与长度)?
7、使用标准SQL语句 查询人员信息表中年龄大于25岁,人员性质为在职的所有人员的姓名与身份证号(person表)?
8、删除的所有销售部的人员(person表)?
9、查询实施部姓王的人员个数(person表)?
10、将销售部的所有人员性别修改为“女”(person表)?
三、HIS软件考核:
1、请总结并画出xxxHIS门诊部分业务流程图?
2、请画出药品的入出库流程,以及各个部门的关系?
3、请叙述xxxHIS药品盘点的步骤;
4、请简述xxxHIS系统门诊退方流程;
5、HIS操作演示。(实施工程师演示并讲解考官指定模块,考官根据实施工程师表现打分)
四、答辩题:(考官向实施工程师提问,考察实施工程师是否回答得体)
五、自我总结:
第二篇:软件测试外包公司面试题
1、试述软件的概念和特点?软件复用的含义?构件包括哪些? a)软件的概念:
软件是程序、数据结构和相关文档的集合,用于实现所需要的逻辑方法、过程或控制。软件是把知识与技术紧密结合的智力成果,是在研制、开发中被创造出来的一种信息产品。
b)软件的特点:
①抽象性软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。②不会磨损在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题,但软件 维护比硬件维护要负责的多。
③软件开发工作最大、开发效率低、成本高,但复制容易、成本极低。④对计算机系统的依赖性
⑤软件具有无形性,可以多次使用,但商业寿命较短。c)软件复用(SoftWare Reuse):
软件复用是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费,提高软件生产力和质量的一种重要技术。
d)构件:
构件是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口。构件代表系统中的一部分物理实施,包括软件代码(源代码、二进制代码或可执行代码)或其等价物(如脚本或命令文件)。
2、瀑布模型和螺旋模型的主要区别是什么?
瀑布模型强调的保证软件的质量,忽略人力,时间,资源等成本因素,以质量为第一目标,每次需求发生变更都要从头再来,适合于一些大型稳定的项目。
螺旋模型是一种增量迭代开发的模型,每一次循环都是一次版本的升级,可提高软件的适应能力。比较适合于前期需求不稳定,后期需求新增变更较多的项目。
瀑布模型是基于质量的, 是由文档驱动的。螺旋模型是风险驱动的,更需要经验丰富的风险评估知识和水平。
3、软件生存周期及其模型是什么?
a)软件生命周期是:计划-需求分析-软件设计-程序编码-软件测试-运行维护
b)常用的模型有:瀑布模型,螺旋模型,IPD流程,RUP流程
4、什么是软件测试?软件测试的目的与原则?
a)软件测试是在规定的条件下对程序进行操作,以发现错误,对软件质量进行评估
即软件测试是为了发现错误而执行程序的过程。
b)软件测试的目的是找出软件产品中的错误,是软件尽可能的符合用户的要求。当然 软件测试是不可能找出全部错误的。
软件测试的原则: 测试显示缺陷的存在(但不能证明系统不存在缺陷)穷尽测试是不可能的 测试尽早介入
缺陷集群性(80-20原则)杀虫剂悖论
测试活动依赖于测试背景 不存在缺陷的谬论
5、净室软件工程的策略是什么?
a)增量计划。开发一个采用增量策略的项目计划,建立每个增量的功能、它的项目大小、以及净室开发进度表。必须特别小心以保证通过认证的增量将被定时集成。
b)需求收集。使用类似于在第11 章引入的技术,为每个增量开发一个客户级需求的更详细的描述。
c)盒结构规约。使用一个运用盒结构的规约方法[HEV93]来描述功能规约。遵从操作分析原则,盒结构“在每一个精化级别上分离和分开行为、数据及过程的创造性定义”。
d)形式化设计。使用盒结构方法,净室设计是规约的自然的无缝的扩展。虽然,在两个活动间可进行清楚的区分,但是,规约(称为“黑盒”)是被递进地求精(在一个增量内)以成为类似于体系结构的和过程的设计(分别称为“状态盒”和“清晰盒”)。
e)正确性验证。净室小组对设计及代码进行一系列严格的正确性验证活动。验证从最高层次的盒结构(规约)开始,然后移向设计细节和代码。正确性验证的第一层次通过应用一组“正确性问题”[LIN88]来进行,如果这没有证明规约是正确的,则使用更形式化的(数过学的)验证方法。
f)代码生成、检查和验证。以某种专门语言表示的盒结构规约被转换为合适的程序设计语言。然后,使用标准的走查或检查技术来保证代码和盒结构的语义相符性,以及代码的语法正确性。然后,对源代码进行正确性验证。
g)统计性测试计划。分析软件的项目级使用情况,计划和设计一组执行用途的“概率分布”的测试用例。如图25-1 所示,这个净室活动是和规约、验证及代码生成并行进行的。
h)统计性使用测试。记住,对计算机软件进行彻底测试是不可能的,因此,总需要设计有限数量的测试用例。统计性使用技术[POO88]执行一系列由特定对象的所有用户的所有可能的程序执行的统计样本(上面提到的概率分布)所导出的测试。认证。一旦完成验证、检查和使用测试(并且所有错误被修正),则开始进行增量集成前的认证工作。
6、软件配置管理的作用 软件配置包括什么?
a)软件配置管理作为软件开发过程的必要环节和软件开发管理的基础,贯穿整个软件生命周期,同时对软件开发过程的宏观管理即项目管理也有重要的支持作用。一个软件开发组织真正有效的实施软件配置管理,将会使软件开发过程有更好的可预测性,使系统具有可重复性,大大提高软件组织的竞争力。
b)软件配置包括如下内容:
配置项识别
工作空间管理 版本控制 变更控制 状态报告 配置审计
7、简述需求分析的过程和意义?
1、明确需求以及测试范围
了解该需求是为了解决用户的什么问题 功能性需求:产品必须有的功能
非功能性需求:是否美观,用户体验,稳定性,易用性等
最容易忽略的一点:明确的需求背后所隐藏的需求(例如登录,明确的需求是,正确输入用户名,密码,才能登录。隐性需求:用户名字符类型,长度,是否可为空;密码字符类型,长度等)将问题在需求阶段暴露的成本最小
2、画业务流程图(流程图)根据需求中规定的业务流程 各业务流程分支的确定
由于业务原因规定不可使用的业务流程
3、功能点整理(思维导图)
业务功能:需求中所定义的实际业务直接相关的功能
数据约束:主要是用于控制在执行功能时,数据的显示范围、数据之间的关系等。
易用性需求:便于功能操作使用的一些细节,比如快捷键就是典型的易用性需求。
编辑约束:在功能执行时,对输入数据项目的一些约束性条件,比如只能输入数字。
权限需求:不同的权限所能操作的功能点的不同
4、提取测试点(测试需求文档)
根据整理的思维导图,去提取每一个功能点中的细节需求,例如新增员工,在思维导图中,最小的颗粒度就到新增员工了,但是新增员工这个功能仍然有很多的需求点,员工姓名唯一性判定,手机号码是否必填等,这些更细的需求点组合起来就形成了测试需求文档
5、确定测试范围
需求的确定,并不代表测试范围就是该需求的范围,很有可能一个需求分多个软件版本来实现,最后确定哪些需求是需要测试的。明确哪些测试目标优先级高,哪些目标优先级低 要完成哪些相应的测试任务才能确保目标的实现
总结: 需求分析的越详细,对业务的理解程度就越高,对设计测试用例的帮助就越大。测试的过程中就更有目的性。“磨刀不误砍柴工”,需求分析花的时间越多,之后测试的时间就越少。因为测试其实已经从需求阶段开始了。
8、什么是数据的对立性?有几个层次?
数据独立性是指:应用程序和数据库的数据结构之间相互独立,不受影响。分为物理独立性和逻辑独立性两个层次。
物理数据独立性:如果数据库的内模式要进行修改,即数据库的存储设备和存储方法有所变化,那么模式/内模式映象也要进行相应的修改,使概念模式尽可能保持不变。也就是对内模式的修改尽量不影响概念模式。
逻辑数据独立性:如果数据库的概念模式要进行修改,如增加记录类型或增加数据项,那么外模式/模式映象也要进行相应的修改,使外模式尽可能保持不变。也就是概念模式的修改尽量不影响外模式和应用程序。
9、网状、层次数据模型与关系数据模型的最大的区别是什么?
网状、层次数据模型与关系数据模型的最大区别在于表示和实现实体之间的联系的方法:网状、层次数据模型是通过指针链,而关系数据模型是使用二维表。
10、dbms读取一条记录时发生哪些事件?
用户程序A向DBMS发出读一条记录的指令,这时用户程序要给出外部文件名和记录的关键字值
DBCS分析所接到的指令,访问对应的外部模式
DBCS完成外部模式到概念模式的转换,决定访问哪个(些)概念文件 接着由DBSS完成概念模式到存储模式的转换,并决定访问哪个(些)存储文件
DBSS调用存取方法,通过操作系统将读取的记录送到系统缓冲区 用户程序从系统缓冲区得到所需记录和DBMS返回的状态信息 用户程序在工作区中使用所得到的记录
11、什么是软件质量 软件包是什么?
a)概括地说,软件质量就是“软件与明确地和隐含地定义的需求相一致的程度”。具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。
b)软件包(SoftWare Package)是指具有特定的功能,用来完成特定任务的一个程序或一组程序。软件包由一个基本配置和若干可选部件构成,既可以是源代码形式,也可以是目标码形式。用户手册和指南等文档是软件包的重要组成部分。
12、软件产品质量特性是什么? 确保软件质量优良程度的内部因素称为软件质量特性。比较权威的软件质量特性划分应推Boehm提出的十二个基本质量特性。分别为:设备无关性、完整性、精度、一致性、设备效率、可访问性、可通讯性、结构性、自说明性、简明性、易读性、可扩充性。
13、什么是软件质量保证 其主要任务是什么?
软件质量保证:为确保软件开发过程和结果符合预期要求而建立的一系列规程,以及依照规程和计划采取的一系列活动及其结果评价。
主要任务:
(1)用户要求定义(2)力争不重复劳动
(3)掌握开发新软件的方法(4)组织外部力量协作(5)排除无效劳动
(6)发挥每个开发者的能力(7)提高软件开发的工程能力(8)提高计划和管理质量
14、软件质量保证体系是什么? 国家标准中与质量保证管理相关的几个标准是什么 他们的编号和全称是什么?
为满足质量要求和实施质量管理,进行全部有计划和有系统的活动所需的组织结构、程序、过程和资源的总称。
GB/T 19001质量体系设计/开发、生产、安装和服务的质量保证模式(idtISO 9001)
GB/T 19002质量体系生产和安装的质量保证模式(idtISO 9002)
GB/T 19003质量体系最终检验和试验的质量保证模式(idtISO 9003)
GB/T 19004质量管理和质量体系要素指南(idt ISO9004)
15、软件测试的原则与策略是什么?
软件测试原则:
1、尽早和不断的测试。
2、程序员应该避免检查自己的程序,软件测试应该由第三方构造。
3、设计测试用例时应该考虑到合法的输入和不合法的输入以 及各种边界条件。
4、注意测试中的错误集中发生现象。
5、对测试错误结果有确认过程。
6、制定严格的测试计划,并把测试时间安排的尽量宽松。
7、回归测试的关联性,原有功能过滤
8、进行版本控制,制定变更测试文档的流程。
测试策略,在一定的软件测试标准、测试规范的指导下,依据测试项目的特定环境约束而规定的软件测试的原则、方式、方法的集合,需在测试计划文档中体现。
16、什么是测试用例 什么是测试脚本 两者的关系是什么? 测试用例是为特定目标而开发的一组测试输入、执行条件和预期结果,其目标可以是测试某个程序路径或核实是否满足某个特定的需求。
测试用例(TESt CASe)目前没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。
测试脚本就是用户对业务操作的记录,将测试用例用测试脚本表述出来,那我们就不用手工执行测试了,就可以通过执行测试脚本来执行测试
测试脚本是进行自动化测试时编写的脚本程序 测试脚本中要包含测试用例中的数据
17、简述什么是静态测试、动态测试、黑盒测试、白盒测试、a测试 b测试?
静态测试是指测试不运行的部分——只是检查和审核 动态测试是指通常意义上的测试——使用和运行软件
黑盒测试:不关心软件内部结构,只关心输入输出,主要测试依据是需求文档 白盒测试:关注软件的内部结构和程序的设计实现,主要测试依据是设计文档
α测试是软件开发公司组织内部人员,模拟各类用户,对即将上市的软件产品进行测试,试图发现错误并修复的过程。
β测试是由软件的多个用户在实际使用环境中进行的测试,这些用户返回有关错误信息给开发者。
18、测试问题的严重性分为几级 ?如何区分?
为了尽量准确的表示缺陷信息,通常将缺陷的严重性和优先级分成4级。如果分级超过4级,则造成分类和判断尺度的复杂程度,而少于4级,精确性有时不能保证。
具体的表示方法机可以使用数字表示,也可以使用文字表示,还可以数字和文字综合表示。使用数字表示通常按照从高到底或从低到高的顺序,需要软件测试前达成一致。例如,使用数字1,2,3,4分别表示轻微、一般、较严重和非常严重的严重性。对于优先级而言,1,2,3,4可以分标表示低优先级、一般、较高优先级和最高优先级。
微小的(Minor)一些小问题如有个别错别字、文字排版不整齐等,对功能几乎没有影响,软件产品仍可使用。
一般的(Major)不太严重的错误,如次要功能模块丧失、提示信息不够准确、用户界面差和操作时间长等。
严重的(Critical)严重错误,指功能模块或特性没有实现,主要功能部分丧失,次要功能全部丧失,或致命的错误声明
致命的(Fatal)致命的错误,造成系统崩溃、死机,或造成数据丢失、主要功能完全丧失等。
19、测试用例设计的原则是什么 目前主要的测试用例设计方法是什么? 测试用例设计的原则是:
代表性:能够代表并覆盖各种合理的和不合理、合法的和非法的、边界的和越界的、以及极限的输入数据、操作和环境设置等.可判定性:即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果.可再现性:即对同样的测试用例,系统的执行结果应当是相同的。方法有等价类、边界值、因果图、状态图、正交法、大纲法
20、结构化系统测试和功能性系统测试分别采用了哪些方法和技术?
a)结构化系统测试技术:
用于验证所开发的系统及程序的运行情况。目标是要确保产品设计在结构上合理,功能上正确。为确定实现的配置及其各功能共同作用以完成特定任务提供了一种机制。
结构化测试技术由以下几种:
压力测试:确定系统以期望的容量执行。
执行测试:系统能达到期望的熟练性。
恢复测试:系统失效之后可以恢复到可操作状态。操作测试:系统以正常操作状态执行。
一致性测试:系统的开发与标准和规程相一致。安全性测试:根据组织的重要性对系统进行保护。
b)功能性系统测试用于确保系统需求与定义都得到了满足。该过程通常包含创建用于评价应用程序正确性的测试条件。
用于执行功能测试的几种测试技术包括: 需求测试:系统按制定方式执行。
回归测试:验证系统中没有改变的部分仍能正确运行。错误处理测试:错误可以得到防止或检测,并被修复。
21、软件测试分为几个阶段 各阶段的测试策略和要求是什么?
软件测试分为单元测试、集成测试、系统测试、验收测试四个主要阶段:
单元测试:单元测试是针对软件设计的最小单位––程序模块甚至代码段进行正确性检验的测试工作,通常由开发人员进行。
集成测试:集成测试是将模块按照设计要求组装起来进行测试,主要目的是发现与接口有关的问题。由于在产品提交到测试部门前,产品开发小组都要进行联合调试,因此在大部分企业中集成测试是由开发人员来完成的。
系统测试:系统测试是在集成测试通过后进行的,目的是充分运行系统,验证各子系统是否都能正常工作并完成设计的要求。它主要由测试部门进行,是测试部门最大最重要的一个测试,对产品的质量有重大的影响。
验收测试:验收测试以需求阶段的《需求规格说明书》为验收标准,测试时要求模拟实际用户的运行环境。对于实际项目可以和客户共同进行,对于产品来说就是最后一次的系统测试。测试内容为对功能模块的全面测试,尤其要进行文档测试。
单元测试测试策略:
自顶向下的单元测试策略:比孤立单元测试的成本高很多,不是单元测试的一个好的选择。
自底向上的单元测试策略:比较合理的单元测试策略,但测试周期较长。
孤立单元测试策略:最好的单元测试策略。
集成测试的测试策略:
大爆炸集成:适应于一个维护型项目或被测试系统较小
自顶向下集成:适应于产品控制结构比较清晰和稳定;高层接口变化较小;底层接口未定义或经常可能被修改;产口控制组件具有较大的技术风险,需要尽早被验证;希望尽早能看到产品的系统功能行为。
自底向上集成:适应于底层接口比较稳定;高层接口变化比较频繁;底层组件较早被完成。
基于进度的集成
优点:具有较高的并行度;能够有效缩短项目的开发进度。
缺点:桩和驱动工作量较大;有些接口测试不充分;有些测试重复和浪费。
系统测试的测试策略:
数据和数据库完整性测试;功能测试;用户界面测试;性能评测;负载测试;强度测试;容量测试;安全性和访问控制测试;故障转移和恢复测试;配置测试;安装测试;加密测试;可用性测试;版本验证测试;文档测试
22、面向对象的测试用例设计有几种方法 如何实现?
给类中的每个构造函数设计一组测试用例 组合类中的类变量、实例变量 组合类中的各种方法
根据前置条件和后置条件设计测试用例 根据代码设计测试用例
23、在软件测试各个阶段通常完成什么工作 各个阶段的结果文件是什么 包括什么内容?
单元测试阶段:各独立单元模块在与系统地其他部分相隔离的情况下进行测试,单元测试针对每一个程序模块进行正确性校验,检查各个程序模块是否正确地实现了规定的功能。生成单元测试报告,提交缺陷报告。
集成测试阶段:集成测试是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。该阶段生成集成测试报告,提交缺陷报告。
系统测试阶段:将通过确认测试的软件,作为整个给予计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行全面的功能覆盖。该阶段需要提交测试总结和缺陷报告。
24、软件的安全性应从哪几个方面去测试?
用户认证机制:如数据证书、智能卡、双重认证、安全电子交易协议 加密机制
安全防护策略:如安全日志、入侵检测、隔离防护、漏洞扫描
数据备份与恢复手段:存储设备、存储优化、存储保护、存储管理 防病毒系统
25、LoadRunner分为哪三个模块?请简述各模块的主要功能。
Virtual User Generator:用于录制脚步
Mercury LoadRunner Controller:用于创建、运行和监控场景 Mercury LoadRunner Analysis:用于分析测试结果
第三篇:软件工程师面试题
1.C#中,string str = null 与 string str ="",请尽量用文字说明区别
2.Override, Overload,的区别?
3.a=10,b=15,在不用第三方变量的前提下,把a,b的值互换
4.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?
5.请编程实现一个冒泡排序算法?
6.描述以下几种连接方式,并加已说明(文字和SQL语句):
A:left outer join:
B:right outer join:
C:full outer join:
7.什么叫做SQL注入,如何防止?请举例说明。
8.有张订单表,需要实现它的编号,格式如下:201302010001(YYYYMMDD+4位流水号)等
第四篇:软件工程师面试题
软件工程师面试题
1,CString 和 char* 之间的相互转换?
2,虚函数WindowProc 与 DefWindowProc 功能上有什么不同?
3,如何保证在应用程序中使用的某个类只有一个实例?
4,请问如何定义一个整个程序运行过程中都可以使用的全局变量?
5,请写出以下几个类的构造函数的调用顺序
1),class X : public Y, public Z
X one;
2),class X : public Y, virtual public Z
X one;
6,遇到两个类互相为成员变量的事, 如何解决?
7,关键字static的作用是什么?(请至少说明两种)
8,写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值
int a = 4;
(A)a +=(a++);(B)a +=(++a);(C)(a++)+= a;(D)(++a)+=(a++);
a = ?
9,用宏定义写出swap(x,y)
10,描述一下进程间通信的方法
第五篇:如何做好一名软件项目实施人员
通过软件实施,使有经验的人员深深的感觉到,软件实施,其实并不是一件很容易的事,也许可算是一项挑战,很需要“明知山有虎,偏向虎山行”的信心和勇气。为什么这样说呢?因为,软件实施可以说是软件产品服务主线的一个决定性环节,软件的成功离不开实施。那什么才是成功的实施呢?我认为是要让用户真正使用起来,让用户满意,用户的成功也是软件公司的成功。只不过,软件要能真正使用起来,其实也不象想象中那么容易。对于实施不成功的情况,通过一些报导的调研这是经常发生的,而且比例很高。
鉴于以上实施的重要性和难度,那我们的实施就不再是简单的安装调试、用户培训、初始化、试运行支持等。因为,实施过程中会遇到各种样的问题,不同的客户可能遇到的问题也不同。我们的软件象媳妇见公婆,公婆总是很挑剔,总是说你这不好那不好。但尽管公婆挑剔,但我们还的见呀!俗话不是说“丑媳妇也的见公婆”吗?何况我们还不是那么丑。这就要讲究如何见的过程了。其实,对一个软件来说,最初的问题是这样酿成的。一开始市场人员出马,把好的吸引人的东西拼命向客户灌输,如果在演示中蹦出一两个Bug,相信销售人员总能沉着地在客户还没有反应过来之前化险为夷。销售人员总是承诺好的功能、性能和质量,引发出客户极大的兴趣,一切顺利的话,经理很快就可以出马签定购买和服务合同,于是,对软件公司来说,最重要的事情似乎就已经差不多了。然后,软件公司派遣实施人员去客户现场安装和演示,请注意,此时是产品最脆弱的时候。实施人员把整套产品拿到客户面前,终于,丑媳妇要掀开面纱让公婆看了。这时,问题如此之多,一时令人焦头烂额。所以说,问题即使很多,我们也需要一个一个去解决。这就要求我们技服人员必须具备以下素质才能应付自如,使客户满意。
首先实施人员应该具有基本的网络诊断与分析问题的能力,至少对问题作出比较正确的判断。因为,安装时可能遇到的意想不到的问题非常多。例如,服务器和网络环境比想象中要苛刻的多,和其它应用软件发生冲突等,甚至和杀毒软件有冲突。对于机器配置不够导致的问题,则可以列出清单,提交客户方的负责人,由其进行定夺。
其次,要对不同的问题要有相对应的解决方案。有时我们的客户端软件运行的速度实在令人尴尬,有时用户登陆就要花费很长时间,造成客户对软件的第一印象就是慢。甚至还会蹦出如超时之类的低层错误。对于这样的问题,应该从两方面着手,既应该注意到客户硬件环境的因素,向客户解释。也应该判断软件产品是否存在相关的问题,当然这个我们心里明白就行了,不要让客户知道,我们应反馈回公司让其改进。
另外,要学会和客户领导交往,领导就是领导,和普通员工就是不同。首先,领导没有耐心来看我们软件的具体功能,但他需要听到或看到很概括的展示,那我们就应投其所好了。也许,我们常常无法回答领导的某些问题。对于这样的问题,我们首先要理解领导的真实意图,这也是软件需求的重要来源。软件的使用对领导来说无非是要加强管理,不使用软件的时候,领导很多数据可能无从知道,当员工的工作数据融合到软件中来了以后,对领导应是很大的帮助。其它的对策包括,让低层员工为我们的软件说好,显然领导比较愿意相信自己单位人的判断。除此之外,我们的另一种回答可以是,软件将在使用后逐步完善。
只学会和客户领导交往还不行,最重要还的和客户员工相处好,前面也提到了领导比较愿意相信自己人的判断。从安装开始,部分用户就可能不配合。在培训课上,有可能前来参加的工作人员大多会对软件抵制。原因很简单,使用软件,增加了他们的工作量,中国是一个人治的社会,管理是模糊的不精确的,工作人员被严格管理起来是令他们所不能习惯的。而且人在本质上都是有些惰性的。因此,可想而知,用户们会指出很多和他们业务不同的,软件不一定能解决的东西,凡此种种,来证明这个软件无法使用。在这种情况下,我们只有尽力展示软件的某些功能,告诉他这个功能能帮他做什么,起到什么效果,那个功能又能帮他解决什么问题。这里你其实不必紧张,一定不要和客户发生争执,非分个清楚,在这里我们可以用难得湖涂。其实,一些用户只是发发牢骚而已,也许他们也知道,领导会强制他们使用。
最后,也是最重要的一点,我们要具有项目进度、优先级别、质量观念和服务意识。这一点我们应从以下几个方面做起:
第一、全面规划,分步实施,重点突破,效益优先。在实施开始的时候,应该站在客户立场上,对于信息化建设,进行辅助的整体规划,以避免实施过程中走弯路。要把产品视为客户最适合的应用解决方案。在整体规划的前提下,才有可能对分步实施进行计划。分步实施的价值在于合理分配,当你长跑的时候,如果把每一圈作为一个里程碑,那么心理负担就会减轻一些,实施工作在这一点上也是类似的。在规划分步实施的时候,为每一步骤设置里程碑,这样可以把问题分解,并且取得更多的成就感。一步一步成功,前一步的成功,能够及时得到领导的首肯,并鼓舞下一步的实施。重点突破也是软件实施的要旨之一。如果事先了解并考虑到当前客户的问题,抓住重点开展实施,那么软件实施成功的可能性就会大增。
第二、工作管理:计划、记录、讨论和小结。我们应该养成这样的工作习惯,即事先计划,过程中记录,事后总结。这一点我是完全感受到的,其实做的每件事都是有文本计划可寻的,这样的工作方式才能使人遇事不慌,不至于丢三落四。凡事预则立,不预则废。事先应进行精心的计划和准备,多方了解客户,做好最坏的打算和准备,考虑到实施中最可能发生的风险,设计好实施的优先级别等等。在前期的接触中,即应考虑到对方管理的变化方向,例如了解领导的管理思路和倾向,主要想解决的问题,客户内部的阻力,直接用户的素质等等,从而方能因地因人制宜,取得更好的效果。在另一方面,对自己的软件产品也要了如指掌,其中也包括针对竞争对手的优势,产品的薄弱环节等。
在工作过程中应做好工作记录,对遇到的问题及时填写问题报告,和客户交换的文件、计划、等都应该统一管理好。另外,如果有了整个工作过程的记录,在实施完成后进行总结应该是非常容易的。什么地方比较成功,什么地方做的不够,原因是什么,今后如何改进和避免,等等。
第三、处理好与用户的关系,用户满意了,软件实施的成功也就指日可待了。这个就不多说了,前面也提到了。
第四、我们应正确看待我们的产品,那我们该如何看待呢?也许已经有很多人说这个产品很滥,即便如此,我们也必须表现得非常热爱自己的产品。如果连你都觉得产品不好,用户自然就会觉得产品非常不好。软件产品的质量本应该是过硬的,但难免存在一些没有解决好的问题。如果遇到了问题,也不必紧张,可以先对问题进行分类,然后考虑各种解决的策略,例如,有些问题可以放在下一版本再改进,等等,不管如何,应该和用户达成一致的理解,即软件只是解决客户一部分的问题,而不可能包治百病。
第五、利用一切可利用的资源,如网络、公司、同事。在遇到阻力的时候,可以向公司提出支援,以寻求支持。客户的合理要求,要及时提缴公司修改,这也是促进我们软件进一步完善的最有效途径之一。例如:我们的系统今年就没少改进使他更加人性化,在市场中占有明显的优势,他的改进来源于那里呢,就是来源于客户的需求。
第六、三分软件,七分管理,十二分数据,这是我最近从网上看到的软件实施的著名原则。其意主要是保护好数据,保证其正确性。这也是任何实施的初始化的重要原则。在初试化的时候,即为用户设计好数据备份和恢复的手段,以防止任何的意外发生。
第七、用户经过培训后会了一些基本操作,但真正用的时候,肯定还会遇到问题。这就是我们已经把用户扶上了马,扶上马还不行我们还的看到他能驾驭整匹马,那接下来我们还的送他一程,也就是我们还可以帮助他做更多的事情,也许在培训内容以外,还有其它的软件功能。由此,展示我们的服务是高质量的。除此之外,“扶上马,送一程”的重要意义也在于推动软件的正式运转。很多用户将会不习惯改用软件来处理工作事务。毕竟使用习惯要改变并不容易。一方面我们可以通过对方的负责人去疏导,另一方面也可以先把问题列出来,一个一个解决,就象解开很多结一样。一边用户在使用,一边我们寻找问题并进行改进。在慈利的实施中我就体会到了这一点,适当地及时地处理一部分需求,可以使实施顺利进行下去,而且在和对方交涉的时候容易显示诚意,达到有理有利有节。否则会卡住在某一个局部而无法顺畅进行下去,最终客户是很满意的,从而才带来了新的项目。
总之、用户验收通过,对于我们实施人员来说,应该为自己庆祝了。验收报告是我们的答卷。同时,也不要忘记进行总结,软件实施,总是有得有失,有忧有喜,这就和我们的生活是一样的,不是么。最后,我把以下这句话送给所有实施人员,你可以这么想,也可以这么做,并且做到:去之能战,战之能胜!