在程序员看来,显示身份档案这个功能实现为一个“信息列表”就足够了,因为一个列表(list)足以显示全部信息°。但是该档案也可能被显示在触摸屏、移动终端或者桌面电脑等设备中,因而对于实际的应用环境来说,“如何显示身份档案”是该应用的一个实际功能。这样的功能可能用户没有提出但使用环境有此要求,更可能“显示成何种形式”以及“如何操作它”已经包含在用户提交的功能需求当中。更进一步地:□用户可能要求同时显示指定个数的档案(列表);□用户可能要求显示档案信息的部分或全部(卡片或详情);□用户可能要求显示档案某一信息的局部或改换某种显示效果(显示头像);□用户可能要求显示档案能被持续更新(实时刷新);□用户可能要求某种或某类角色可以修改某些信息(操作员与主管);□用户可能要求使用某种装备来输入某些信息(OCR接口)。
□……在程序设计的阶段,我们可以将“信息列表”作为输出验证的手段,例如使用自动测试工具来验证接口(类似前面提到的Listcard()与Loadcard()函数)中数据返回的正确性。但是对应用开发来说,根据用户的实际需求而组织一个合理的展示与交互界面,是我们必须完成的功能。在某些情况下,应用程序并不要求有太独特的界面与交互,例如标准的Windows桌面程序就可以直接在Visual C++中用MFC标准组件完成。因此基于操作系统或特定环境下的界面与交互,“就程序员的感觉来说”,更像是一种实现的必需,很难被视为是用户功能性需求的一部分。
即便如此,对于一个真正意义上的应用软件产品来说,我们还是必须将界面与交互作为功能性需求。这种产品特性事实上构成了用户对功能的认识,例如界面是用户操作产品功能的一个不可或缺的部分,因此是功能性的。与之相对,安装过程与操作该产品的功能没有直接关系②,因此是非功能性的。
考察这一分歧,我们还必须留意到界面与交互带来的细分领域问题:当它作为操作系统(以及其开发标准)的一部分提供时,它与程序员所在的计算机环境是同一领域的;而当它是构成某个独立领域的用户认识的一部分时(例如工业控制界面,或户籍管理系统特有的身份证扫描界面),它就是该领域下的一些领域知识。这一观点用①想象一下把xml文件直接展示在文本编辑器或WEB浏览器中。
②张三也许并不知道“户籍管理系统”如何安装到他工作的机器上,但这并不妨碍他使用这个系统。
在桌面应用或后台应用开发①,以及其他种种软件开发活动中也是适合的。yipindushu.com
我需要进一步强调的是,程序员在界面开发中对界面绘制方式(或界面控件)的专业知识,在于“如何实现它”,而不是“如何让它表现得更符合用户需要”,后者是界面交互设计的职责。举例来说,作为程序员,如何在窗体中正确地层叠多张PNG图是你所必须掌握的技术,而其中某一张图是否漂亮美观或符合客户的审美情趣,就不是你必备的程序开发技能。
版权声明
本站素材均来源与互联网和网友投稿,欢迎学习分享
【节应用开发的背景与成因2:http://www.yipindushu.com/xuexifangfa/16578.html
推荐文章
12-07
1 如何调动学生学习的积极性12-01
2 企业如何有效构建学习型组织01-09
3 如何提高孩子学习主动性12-30
4 如何学习量化交易12-07
5 初中孩子学习方法