实时动态,深度解析,把握行业脉搏
实时动态,深度解析,把握行业脉搏
【编者按】
医疗信息化建设的主要任务是医疗信息系统的规划、设计、开发和部署。 如何开发设计出性能良好的医疗信息系统,对于提高医院临床科室的工作效率和医疗信息化工作水平具有十分重要的意义。
在本系列文章中,作者将围绕“如何开发性能良好的医疗系统软件”这一主题,结合自身的工作经验,从软件系统架构设计、程序开发设计、数据库设计开发、项目管理、典型案例等多方面分享总结相关经验教训。
需求分析是软件开发项目的第一步,也是极其关键的一步。 对于数据库设计,需求分析为后续的数据库设计阶段提供蓝图指导,直接影响到整个项目的质量和效果。 因此,需求分析对于数据库设计来说是非常重要的,也是数据库设计过程中牵涉到众多参与者的纽带。
软件开发人员与用户进行一系列沟通,以确定用户希望在系统中存储哪些数据以及他们希望如何使用这些数据。 整个数据需求分析大致可以分为两个过程:用户需求的获取和理解,业务规则的确定。 这篇文章主要讲“用户需求的获取和理解”。
无论是开发什么样的软件,甚至是设计生产任何一种非软件产品,设计师要做的就是用专业的方法和工具进行挖掘、整理、翻译,最后转化为实际的产品满足用户的想象。 在这个挖掘和转化用户想法的过程中,第一步是了解用户需求。 如果理解错了,比如一个电商销售系统最终的设计对医疗机构的用户来说是没有意义的,和他们预想的产品完全不一样。 这不仅影响工程进度,浪费金钱和时间,而且极大地损害了客户的利益。 需求分析非常重要,一定要详细规划,不能盲目开展相关活动。
制定需求分析计划后,按计划开展现场调研、与用户面对面交流、召开会议等一系列活动,逐步获取和挖掘客户需求。 以下 10 个步骤是一个可行的规划模板。 按照这些步骤开展活动,可以更好地了解用户需求,但在实际工作中,可以根据具体的项目需求进行,只要能够清楚地了解并挖掘用户需求即可。
1.问题预测
在与客户沟通之前,我们需要尽可能想象用户会问什么问题,确定问题的边界和范围。 为了在与用户沟通时争取更多的主动性,而不是完全依赖于用户的陈述,导致沟通效率低下,甚至产生很多误解。 在制定问题时,可以从以下几个方面入手:
(1) 系统功能
为什么要开发这个系统软件? 系统应该为用户提供哪些功能? 做什么? 谁是系统用户? 系统是什么样子的?系统需要提供什么样的查询报表? (二)资料要求
系统应该显示什么数据? 这些数据提供者是谁? 使用目的是什么? 这些数据是如何关联的? 这些数据来源在哪里? 目前是如何收集的? (3) 数据完整性
哪些数据信息是必须的(患者信息是否需要提供身份证号)? 如何限制数据字段的有效格式(电话号码的格式有没有固定的规则)? 您是否需要提供邮政编码、省市地址等规定格式的数据? 什么是订单状态信息? 状态信息如何影响业务流程? (4) 语境
您是否需要为不同的用户设置不同的密码? 密码格式有严格要求吗? 不同用户的数据访问是否受到严格控制? 系统用户需要分级吗? 每个级别的用户是谁? 存储在数据库中的数据是否需要加密? 哪些数据需要加密? 是否需要创建日志记录用户操作数据库的行为? 2.用户沟通
了解需求最准确的方法是咨询用户。 当然,与用户的沟通是一个漫长而繁琐的过程,非常考验需求收集者的耐心和毅力。 尤其是在医疗机构,主要用户是临床医务人员,他们往往工作非常忙碌,没有太多时间和耐心与开发者面对面详细沟通。 如果一直追着问用户,往往会让用户感到非常反感,甚至质疑开发团队的技术和管理能力。
针对这样的情况,开发者应该多一些耐心,可以分多次开会了解需求,每次就几个问题或流程咨询不同的用户。 最终目标是对我们要解决的问题有一个完整和透彻的了解。 这只是整个业务流程的一部分,如果可能的话,尽可能多地了解整个业务流程。
3.确定项目干系人
不同的用户可能对软件系统有不同的要求和期望。 开发者需要分清谁是领导者,谁是积极支持者,谁是旁观者,谁是反对者。 常见的利益相关者角色包括:
(1)项目发起人一般是管理层的某位领导者,是项目的最高推动者。 他会为项目协调资源,解决项目遇到的一些障碍,但不会参与项目的日常事务。
(2) 项目执行的负责人,最了解用户和整个业务的需求。 他是了解用户需求阶段最重要的人,他必须有足够的时间帮助开发团队定义项目目标和回答开发人员的问题。
(3) 客户代表,即回答我们问题的人,他们也可能成为系统的最终用户。 他们可能是某个业务领域(比如临床业务部门)的专家医疗信息系统,我们需要采访多个客户代表来了解业务的全貌。
(4) 利益相关者,即项目将影响的人,其中一些人也可能是用户代表。 这些人也可能对项目感兴趣,但他们可能在系统中没有发言权。 我们在设计系统时还需要考虑对这些人的影响(尤其是附带损害)。 用户体验是项目成功与否的直接体现。
(5) 反对者,这里有一些我们需要关注的人。 如果反对者只是让其他人理性或现实地看待项目,而不是直接反对项目,那么他将是我们非常好的资源,他将帮助我们说服其他对项目抱有错误幻想的客户。 而如果反对者对整个项目有抵触情绪,我们就得非常小心,有时需要项目实施的负责人出面协调这些人。 但对于医疗机构而言,个人异议者一般不会过多阻碍项目的开展,只要最终的资金接受和签字领导支持就足够了。
4.挖掘潜在需求
在了解了项目的相关干系人后,开发团队与项目执行负责人进行了更多的沟通。 在医疗机构中,项目执行的负责人可能是信息部门或业务部门的工作人员,负责对接软件公司。 在与项目执行负责人沟通时,需要讨论清楚客户最终的期望是什么,需要哪些数据信息,这些数据信息是如何关联的,数据是如何展示的。
当然,这些需求的获取来自于不同的用户。 如果需求讨论过程中出现问题或矛盾,可由项目执行负责人协调。 对于一些需求不明确或者对产品需求没有概念的用户,可以由项目执行负责人引导,挖掘用户需求。
5.了解用户的实际业务流程
初步了解需求后,如果还存在一些不明确、不明确的需求。 通过实地体验,真正了解用户的业务流程和操作步骤,比如挂号成为病人,实际一步步走完业务流程,让您对整个业务有一个非常清晰的认识. 通过现场参与,您可以作为客户工作人员帮助工作人员完成工作,也可以作为助理实习生,通过实际操作了解客户的实际业务操作步骤。
即使我们不能实际尝试客户的工作,我们也可以仔细观察,询问客户他们即将开发的产品如何提高他们的工作效率,以及他们急需解决的问题。 沿途做笔记并尽可能多地学习。 有时,局外人的观点可以变成客户永远不会想到的好主意。 了解客户目前使用的数据存储方式,可能是关系数据库系统也可能是电子表格或纸质文档。 了解这些数据的使用方式以及它们之间的关系。
6.需求思考与展望
在完成需求收集和业务流程理解后,下一步需要深入思考和展望,确保没有遗漏任何需求。 把项目执行的负责人和尽可能多的客户代表、干系人召集起来,向他们描述前期了解到的需求,然后让他们畅所欲言,说说哪里不对,哪里不对。
对于客户提出的需求,需要一一记录,确保用户提出的需求得到考虑。 切记不要马上答应客户,也不要马上答应客户,以后要和项目执行的负责人详细讨论分析。 同时问问客户他们的业务以后会不会有变化,或者以后希望系统包括什么功能,这样在设计数据库的时候就可以提前预留空间。 有时客户不了解他们的真正需求。 他们可以看到问题的症状,但不一定是根本原因。 开发人员需要帮助客户找到问题的根源,并针对问题的根源提出解决方案。
7.回应客户查询
对于开发商的设计方案,可能会遇到客户群的质疑,尤其是一些对技术稍有了解的客户代表。 站在开发人员的角度,你可能不理解客户的问题,甚至觉得很可笑。 然而,这些质疑也不容忽视。 我们应该仔细思考用户提出这些建议或质疑的深层原因。 客户比我们更了解业务,他们的建议或问题可能包含业务变化或一些我们尚未了解的特殊业务情况。
8.优先次序
经过以上步骤,可以大致列出数据库相关的需求清单。 其中一些功能可能不切实际或超出当前项目的范围。 为了使项目的规模易于管理,需要与客户一起定义功能的优先级。
一般来说,我们可以将功能分为三个层次:第一优先级是本阶段开发必须包含的功能,没有完成这些功能就意味着项目的失败; 第二优先级的功能可以放到下一阶段的开发中,当第一优先级的功能完成后,我们可以将第二优先级的一些功能提给当前开发; 第三优先级是那些相对不重要或超出项目范围的功能,我们可以忽略这些功能。
在某些情况下,优先级可能会颠倒。 当第一优先级的功能很难实现时,我们可以与客户沟通确认该功能是否如此重要,是否可以将其移至第二优先级,以免影响项目进度。 如果第二优先级中的某些功能易于实现,我们可以将此功能调整到第一优先级列表。 但在进行这些调整之前,有必要与客户进行沟通并获得他们的认可。
9.需求确认
梳理需求和业务,与客户一一确认。 对于之前客户提出的一些可有可无的要求,需要进一步确认,以确定是否需要或不需要。 特别是有一些例外情况,比如所有患者都必须先充值付费才能进行检查和检查,但是对于一些特殊的患者,检查和检查也可以不充值和付费。 与客户核实这些影响数据库设计的异常。 对于需求的优先级,从技术开发和业务需求两方面与客户达成一致。 技术上有前置关系的要求,需要向用户说明,并征得用户的理解和同意。
10.编写需求文档
需求文档,也称为需求规范,描述了项目开发和设计的系统。 需求文档应该明确我们要构建什么样的系统,系统要完成什么工作,包含哪些功能点,描述客户如何使用系统来解决他们的问题。 在需求文档中,需要定义每个阶段的里程碑,即每个阶段的可交付成果和最终项目的可交付成果。 在编写需求文档时,可以使用UML用例建模,通过用例图来分析和描述需求。 本文不详细描述需求文档的编写。 后面可以根据读者的需要,专门写一篇文章来讲解。
最近,我非常认同雅虎前总裁谢文提出的一些大数据思想。 不仅抢着订了一批大数据的书,我也开始意识到有必要把握电子商务作为个性化业务的本质,重新思考电子商务的发展路径。 于是我实现了一个命题:如何先做一个电商的导购系统。
导购系统其实就是一个大数据的集合。 这里先分享一个案例。 快里有一篇文章,讲的是两位16万美元起步的创业者,目前市值已经达到1亿美元。 这家所谓的公司去年的收入达到了 1400 万美元,预计今年将翻一番。 没错,他们主要做的就是导购系统。
他们的转折点是从邮件营销系统开始的。 目前,已有 150 万用户订阅了他们的电子邮件。 大家都知道最近阿里用简单粗暴的方式把雅虎的邮箱变成了阿里邮箱。 我认为没有必要猜测他们接下来会做什么。 在邮件营销系统的基础上,打通网站界面和电子商务渠道,“引导用户从自己的网站跳转到产品公司的销售页面,向商家收取20%-30%的费用费用。” 这里需要注意的是,邮件营销系统是一个非常个性化的营销系统,它是导购系统的基础,无论你的生意是大是小,都可以使用这种方式。
当当网的邮件营销系统没有亚马逊的好,我真的是因为亚马逊的推送才开始下单的,没想到是垃圾邮件。 电商企业要记住一句话:“更多的数据,更少的物流”。 基于大数据的竞争是电子商务竞争的重点。 问题是电子商务有一个天然的短板,就是只能依靠视觉营销、服务营销、搜索引擎营销等工具,线上的用户体验是不完整的。 比如一瓶酒电商平台系统,用户不喝一口就很难产生真正的销量。
由于技术原因,国外原装瓶装酒不能做成小包装产品进行线下配送和免费体验。 了解了这个案例之后,你会发现一个问题。 因为用户体验的不完整,目前电商的大数据营销也是不完整的。
解决这个问题,自然要谈及线下和线上资源的整合,打通各个环节的大数据接口。 这并不容易做到。 网上导购系统有以下几种形式:
首先是以美丽说为代表的人才经济模式。 但这款产品并不像豆瓣那样流畅自然,营造社区氛围是个难题。 豆瓣作为隐藏式导购系统有潜力,只是没有模块化。 导购系统必须模块化,强化某一方面的功能,做到极致。
第二个是蘑菇街,我查了一下。 这是数字导购的原型产品。 蘑菇街很容易被淘宝封杀。 你知道为什么。 但这也是问题所在。 如果平台提供商不开放,完全自己开发,这就不是真正的平台。 平台的升级就是数据的开放。 这一点对于京东商城尤为重要。 我查了一下,让很多业内人士不满,因为数据必须是中立的。 未来,像百度这样的大公司会越来越意识到数据中立的重要性。 如果百度不这样做,360会很乐意去摘桃子。
三是服务型导购。 今天看到一篇文章说电话呼叫中心没有消亡,而是发展的很好。 不管你信不信,反正我信了。 总裁谢家华在《三双鞋》一书中提到了电话导购的重要性,这比QQ通讯更人性化。 腾讯会不会在手机导购上布局,缓解与运营商的矛盾?
第四种是非常传统的导购。 康师傅在他的桶装水瓶盖上写了几个字:可以抽奖。 这很简单,也很有效。
五是APP导购。 Quick Carp 上有一篇文章值得一读。 《行走南锣鼓巷》是王新光于2012年8月成立“平安云翔”公司后推出的行走系列的第一款产品。在这个APP上,你可以看到南锣鼓巷的旅游攻略推荐、随手拍、创意店铺、热门活动和特别优惠。 App导购会越来越多,也会越来越有创意。
以上五种方式只是专业导购系统的初级阶段。 特别是尚未形成跨越线下和线上的大数据平台。 昨天的文章提到,只有能培育品牌的电商平台才有价值。 今天补充一点,只有具备大数据整合能力的平台,才能提供有效的品牌服务。 在市场容量有限的现状下,大数据营销和导购系统的突破性创新势在必行。 但这并不是一条简单的技术路线,要建设一个足球场那么大的数据中心。 就是真正洞察线下线上各种数据接口,形成新的商业模式。