返回介绍

11.4 界面交互是功能性需求,但开发技术并非它的主要构成

发布于 2024-12-15 23:01:48 字数 1679 浏览 0 评论 0 收藏 0

界面交互是否算作功能性需求?

在程序员看来, 显示身份档案 这个功能实现为一个“信息列表”就足够了,因为一个列表(list)足以显示全部信息 9 。但是该档案也可能被显示在触摸屏、移动终端或者桌面电脑等设备中,因而对于实际的应用环境来说,“如何显示身份档案”是该应用的一个实际功能。这样的功能有可能是用户没有提出但使用环境有此要求的。更可能的情况下,“显示成何种形式”以及“如何操作它”已经包含在用户提交的功能需求当中。更进一步地:

  • 用户可能要求同时显示指定个数的档案(列表);
  • 用户可能要求显示档案信息的部分或全部(卡片或详情);
  • 用户可能要求显示档案某一信息的局部或改换某种显示效果(显示头像);
  • 用户可能要求显示档案能被持续更新(实时刷新);
  • 用户可能要求某种或某类角色可以修改某些信息(操作员与主管);
  • 用户可能要求使用某种装备来输入某些信息(OCR 接口)。
  • ……

程序设计 的阶段,我们可以将“信息列表”作为输出验证的手段,例如使用自动测试工具来验证接口(类似前面提到的 ListCard()LoadCard() 函数)中数据返回的正确性。但是对 应用开发 来说,根据用户的实际需求而组织一个合理的展示与交互界面,是我们必须完成的功能。在某些情况下,应用程序并不要求有太独特的界面与交互,例如标准的 Windows 桌面程序就可以直接在 Visual C++中用 MFC 标准组件完成。因此基于操作系统或特定环境下的界面与交互,“就程序员的感觉来说”,更像是一种实现的必需,很难被视为是用户功能性需求的一部分。

即便如此,对于一个真正意义上的应用软件产品来说,我们还是必须将界面与交互作为功能性需求。这种产品特性事实上构成了用户对功能的认识,例如界面是用户操作产品功能的一个不可或缺的部分,因此是功能性的。与之相对,安装过程与操作该产品的功能没有直接关系 10 ,因此是非功能性的。

考察这一分歧,我们还必须留意到界面与交互带来的细分领域问题:当它作为操作系统(以及其开发标准)的一部分提供时,它与程序员所在的计算机环境是同一领域的;而当它是构成某个 独立领域的用户认识 的一部分时(例如工业控制界面,或户籍管理系统特有的身份证扫描界面),它就是该领域下的一些领域知识。这一观点用在桌面应用或后台应用开发 11 ,以及其他种种软件开发活动中也是适合的。

我需要进一步强调的是,程序员在界面开发中对界面绘制方式(或界面控件)的专业知识,在于“如何实现它”,而不是“如何让它表现得更符合用户需要”,后者是界面交互设计的职责 12 。举例来说,作为程序员,如何在窗体中正确地层叠多张 PNG 图是你所必须掌握的技术,而其中某一张图是否漂亮美观或符合客户的审美情趣,就不是你必备的程序开发技能 13

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文