当前位置: 首页 > news >正文

需求:需求获取技术之原型

  在需求:需求获取技术之访谈中介绍了访谈技术,本篇继续介绍原型技术。

目的

  原型是一种发现并且可视化高级别界面需求的技术

描述

  在需求入门: 原型开发中介绍过两种原型的分类:

  • 水平和垂直的原型

      水平原型也叫做“行为原型” (behavioral prototype),这是我们和业务人员经常谈到的原型 。探索预期系统的一些特定行为,并达到细化需求的目的。当用户在考虑原型中所提出的功能可否使他们完成各自的业务任务时,原型使用户所探讨的问题更加具体化。它更多从业务需求着手,应用在需求阶段。
      垂直原型(vertical prototype),也叫做结构化原型或概念的证明,实现了一部分应用功能。当预期实现阶段可能存在技术风险时,可以开发一个垂直原型。比起在软件的需求开发阶段,垂直原型更常用于软件的设计阶段以减少风险。

  • 抛弃型原型或进化型原型
      从原型存在生命时机考虑分为抛弃型原型和进行型原型,抛弃型原型不作为最终产品的一部分,只是作为探索性的回答一些需求问题,细化需求并提高需求质量。由于在开发阶段最终将抛弃这些原型,因此不需要花太大力气去建立该原型。
      进化型原型是在已经清楚地定义了需求的情况下,为开发渐进式产品提供了坚实的开发基础,作为产品的部分实现。与抛弃型原型的快速、粗略的特点相 比,进化式模型一开始就必须具有健壮性和产品质量级的代码。因此,对于描述相同的功能,建立进化型原型比建立抛弃型原型所花的时间要多。一个进化型原型必须设计为易于升级和优化的,因此,你必须重视软件系统性和完整性的设计原则。要达到进化型原型的质量要求并没有捷径。进化型原型一般在处理架构时会采用。

要点

  • 准备原型
    • 决定原型方法:抛弃型还是进化型原型?水平还是垂直型原型?
    • 标识需要建模的功能点
  • 制作原型
    • 构建原型是一个迭代的过程,开始先勾画出整个系统的轮廓,例如子系统、模块,然后再是具体模块逻辑、功能、规则等
    • 使用一致的界面样式
  • 评估原型
    • 从流程、数据和业务规则来验证原型是否捕获了用户的需要

使用时需要考虑的地方

  • 好处
    • 使用图形化表现,方便沟通,可以更有效地确认和发现需求
    • 原型允许用户早期交互和反馈
    • 抛弃型原型是一种快速发现和确认不同需求的方法
    • 垂直型原型能够表示现有技术的可行性
  • 坏处
    • 如果业务更关注“怎么做”而不是“做什么”时,使用原型会花费较多时间
    • 原型会误导用户对未来系统有不切实际的期望,例如性能、完整数据、可靠性等

 

 

推荐:你可能需要的在线电子书

 

欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ]

相关文章:

  • Windows Azure HandBook (4) 分析Windows Azure如何处理Session
  • 树莓派练习程序(声音检测)
  • .NET 4.0中的泛型协变和反变
  • flex 属性绑定
  • 常用方法
  • asp.net页面间传值的9种方式
  • 用操作符函数格式化(c++)
  • HDU4626+博弈
  • Android游戏快速入门(一):基础储备
  • 应用开发框架之——插件、包
  • SQL SERVER中强制类型转换cast和convert的区别
  • ASP.NET MVC中检测浏览器版本并提示下载更新
  • firdac支持的序列和还原格式
  • Online, Cheap -- and Elite
  • python datetime笔记
  • 深入了解以太坊
  • 《Java编程思想》读书笔记-对象导论
  • 【刷算法】求1+2+3+...+n
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • GraphQL学习过程应该是这样的
  • PermissionScope Swift4 兼容问题
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • webpack+react项目初体验——记录我的webpack环境配置
  • 创建一种深思熟虑的文化
  • 嵌入式文件系统
  • 设计模式走一遍---观察者模式
  • 学习笔记TF060:图像语音结合,看图说话
  • 一、python与pycharm的安装
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • raise 与 raise ... from 的区别
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • 说说我为什么看好Spring Cloud Alibaba
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • # Panda3d 碰撞检测系统介绍
  • #stm32整理(一)flash读写
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (12)Hive调优——count distinct去重优化
  • (ZT)一个美国文科博士的YardLife
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (简单) HDU 2612 Find a way,BFS。
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (原)本想说脏话,奈何已放下
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .NET 中的轻量级线程安全
  • .Net6使用WebSocket与前端进行通信
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .Net组件程序设计之线程、并发管理(一)
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • .sys文件乱码_python vscode输出乱码
  • @hook扩展分析
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell
  • [ACM] hdu 1201 18岁生日
  • [ACTF2020 新生赛]Upload 1