创新产品的需求分析:未来的图书会是什么样子?——高级软件工程课第七次作业
1.如何对需求不确定的创新产品进行分析和设计?简要总结一下有哪些方法和策略
产品的需求分析是整个产品生命周期的起始,它关系到产品的质量、交付日期、成本等等。对于需求的不确定性因素,它可能是由两种原因导致的:
第一,是产品研发人员获取需求的方法或者描述需求的形式不足够好导致。针对这种情况,我们可以通过各种形式化方法、非形式化方法等等工程化的规范形式来规范需求的获取和分析。将产品的不确定性因素尽量降低。第二,就是针对这里的不确定的创新产品,
它没有“前车之鉴”,市场上也没有相关的产品进行参考,它的需求不确定性较高且并不是由于需求获取的方式不规范、不科学导致的。
针对这种情况。我们可以:
1、采用概念验证原型,使用axure rp等原型设计先进行原型设计,把用户界面先做出原型,给用户确认并且从客户那里获得反馈进行改进,逐次迭代,逐渐向一个理想的版本靠近。开发采用快速迭代,先设计实现构思清楚了的部分。这里,举个例子,我的本科毕业设计的需求就是来源于实际——设计实现一个动脉血气指标评估的软件。动脉血气评估关系到十几个相关指标,如动脉氧气分压、动脉二氧化碳分压、剩余碱浓度以及各种离子等等。而评估的结果又分为离子水平评估、缺氧情况评估等等,且这些方面要求可以同时评估,也可以单独评估。这就带来了如何合理设计界面的问题,且几乎是没有已有的软件进行参考的。如何设计一个合理的界面就成了一个关键难题。针对此,我们课题小组和甲方——xx医院的医生多次进行视频会议和线下讨论,设计出了多个版本的界面,经过多次的反馈和修改,最终设计并实现出了一版人机交互体验较好的软件。这里,我们采用的就是概念验证原型,让用户对我们设计的原型进行反馈并多次迭代。
快速原型模型
快速迭代模型
2、在需求分析的流程中,文档化与顾客有关的过程。在软件能力成熟度模型CMM中指出“需求管理的目的是在顾客和软件项目之间建立对将由该软件项目处理的顾客需求的共同理解,与顾客的约定是策划和管理软件项目的基础”。通过与顾客的交流来获取需求,并进行有效的组织和记录;使顾客和项目团队在系统变更需求上达成一致。这样,对与顾客关系的控制依靠遵循有效的变更控制过程,并将其用文档化的程序加以规定,用过程的方法将需求过程加以管理,把需求的不确定因素纳入过程管理之中,加强对需求变更的控制。
3、技术上,尽可能地提高架构的耦合性,梳理出容易变动的部分和不容易变动的部分,用好架构,模式和各种效率工具。
2.以“未来的图书是什么样的?”为例给出您的分析和设计
1、书籍的发展历史