前一段时间,俺和网友在QQ群里进行了几次热烈的讨论(怼,互怼,他说俺幼稚。俺翻了他20年前的聊天记录。没错俺和他的互怼可以追溯到20年前)。
网友是在国内的著名大公司(不是那几个大厂,但是他在的公司的工号已经排到了4万多号了)。
起因是他说测试组提交的很多问题都是些小事。界面没对齐了,啥显示的不清楚了,等等。
俺就怼他说;“界面的对齐、字体的选择、提示的标准化,这些都是最最基本的事情。这些都做不好,就确实需要认真对待”。
网友说:“功能最重要,客户关心的是有没有这个功能”
俺开怼 ,网友怼俺,此处省略 5000字,至于互怼的结果,俺也不知道,俺和他怼了20年了。
接下来俺开始说今天俺要说的事情了,“软件开发中需要遵循的标准”。
“软件开发中需要遵循的标准”, 并不是只为了过那些等保、互联互通、验收、评级等等才刻意去做的,而是在软件项目启动时就要做的一些重要的工作。在写出项目的第一行代码之前,就要去仔细研读的行业标准和各种规范。这个其实包含很多,框架设计、数据库设计、界面设计的等等。复杂的,我们先不说。就从很多人觉得不是很重要的“界面设计”开始说起。其实医疗行业的软件有“界面设计”的标准和规范。可能有朋友说,界面设计有啥标准?这和真有,可以看看医疗行业的NIST和CCHIT的标准。这里面有很多章节对界面设计做出了要求。下面俺说2个最简单的要求:
一、人类可读的设计(human readable)
显示的数据或者提示要满足“人类可读的设计”。各位客官可能说:“啥,俺写的这界面特漂亮,你说人类不人类的是啥意思?”。这个“人类可读的显示”,其实就是说界面上显示的内容要“容易被理解”。例如:所有显示编码的地方,必须有描述(长描述、短描述都可以)。假设某一步操作出错时。弹出的提示是“啥啥操作失败,请稍后再试,(错误代码:10086)”。这个提示就是不符合“人类可读的设计”的,因为10086这个没有描述。这个提示信息应该写成“啥啥操作失败,请稍后再试,(错误信息:10086 - 与第三方接口通讯失败)”。
再举个例子,在表格中显示数据时,显示“渠道类别”时,只显示了“1”,“3”,“9”这些编码,这就是不符合“人类可读的设计”的。应该显示 “1 - 支付宝”、“3 - 微信支付”、“9 - 银行POS机”
其实“人类可读”的界面设计,包含了很多很多。上面说的是最基础的要求。这个是程序设计或者界面设计时,需要遵循的设计规范。
二、查询
这个比上面的那个要求稍微复杂一点。有的客官可能说:“查询,俺上班第一天就能写的华丽无比,还用你瞎扯?”。好,俺就说说医疗行业软件的查询要求。其他的行业的俺先不说。
医疗行业中的NIST的标准上有很多关于查询的细节要求。
1、查询时要明确给出符合条件的记录集的信息。俺来详细说了。“仅显示符合条件的前2000行”,千万不要出现这个。出现这个就是直接犯规,红牌罚下。必须给出准确的总行数或者分页总数或者滚动条。再来说滚动条,如果有滚动条必须要直接显示,而不是像某些手机页面那样,手指滑动时才显示滚动条。
2、NIST对查询的条件的要求。“查询结果必须显示和查询条件的关系,并用不同的方式显示符合内容”。俺来举个例子:假设查询的条件是: 姓名 包含“三”的病人。符合条件的有 “李三”和“张三丰”这2个人。在显示时“三”字必须有特殊的显示,高亮也好,变色也好,粗体也好。只要是不同的显示就ok。例如
李三
张三丰
这种的细节还有很多,俺就不一一说明了。
其实很多设计行业都有各种标准和规范。例如医疗行业,把HL7先搞明白肯定是有好处的,俺家里还有一本1000多页的HL7的书。如果讲结构化的电子病历,看看CDA C32 C48也是有好处的。如果做医疗影像,熟悉DICOM标准也是必须的。如何做医疗软件的界面设计 NIST和CCHIT的标准也可以看一看,NIST里连时间的同步都要求,(不是那种,查询一下服务器的时间再设置一下本机的时间,这是不符合要求的。时间同步有标准协议的)。俺写了这些,不是要我们在设计上一定要满足这些要求(当然如果是完整的开发团队,人手充足的话可以考虑),而是说。我们知道有那些标准,我们在人手或者资源允许的情况下,尽量符合标准。
文章讨论了软件开发中遵循标准的重要性,尤其是界面设计的人类可读性和查询功能的细节。在医疗行业中,NIST和CCHIT提供了相关标准,强调显示数据的易理解性,如错误提示需包含详细描述,查询应显示准确记录数且条件关系明确。此外,文章提及了其他如HL7和DICOM等医疗领域的标准协议,强调了解和遵循标准能提升软件质量。
1205

被折叠的 条评论
为什么被折叠?



