项目管理资源网

您的位置:项目管理资源网 >> 研发制造项目管理

论软件产品设计中的需求分析

2009/2/6 9:09:56 |  3866次阅读 |  来源:网友转载   【已有0条评论】发表评论

 软件产品是指软件开发商根据市场需要开发的、具有一定适用性和潜在客户的、可销售的软件成品。它区别于应特定客户需求或根据订单开发的软件商品,通常应具有更高的通用性和适应性。但它的通用性和适应性不是轻而易举就能达到的。要实现软件的产品化,就必须在软件产品的设计上下一番功夫。
本文结合一个"多媒体远程教学系统"实例,探讨软件产品设计中的一些经验与看法。
一、软件产品设计的重要意义
    所谓软件产品设计,在本文中指对软件产品的功能与架构进行设计。用传统的软件工程术语来说,它覆盖软件工程的可行性研究、需求分析、系统设计几个阶段。用RUP(Rational Unified Process-统一软件过程)术语来说,它是需求定义与软件构架设计的结果。
  软件产品设计包括了需求分析、功能定义、技术方案以及需求管理的策略。
    我们可以看见很多这样的例子:企业做完一个产品后,便不得不长期甚至永久地投入几个人(通常还是曾参与研发的技术骨干)对产品进行维护、跟踪和服务;企业在做同类项目时,还不得不投入几乎相等的资源;系统集成企业或以管理类项目为主的研发企业长期为工程所困,良好的市场需求并不能带来利润回报的规模增加,等等。造成以上现象,一是由于企业的软件过程成熟度不高,另一个原因,就是缺乏清晰、深入的软件产品设计。优秀的产品设计可能是软件企业发展的重要契机。好的产品设计可能使企业走向产品系列化、服务规范化、内部管理规范化的良性发展之路;而差的产品设计不仅将造成现实的资源浪费,甚至有可能使产品从此成为软件企业的一个枷锁。
  其实,产品设计的来源最终都是市场。设计的好与不好,反映了设计者对技术、业务、以及用户需求诸方面的现状以及变化规律把握的结果。下面从功能定位入手,探讨怎样进行产品设计。我们所举的例子的主体假设是一个典型的系统集成企业,在多媒体系统集成项目上有较多的工程经验,在软件研发上也小有积累,市场研究认为多媒体技术在培训、教学领域将大有可为。
二、软件产品的分类及定位
    与一般的针对用户明确需求的软件项目的需求分析稍有不同,软件产品的功能定义更多的是一种"定义",而不象面向特定用户的系统,其需求定义是一种记录、归纳和分析的过程。它看起来的自由度比较大。正是这种自由度可以带来产品的升华,使工程产品化。即使对于特定用户的软件需求,我们也有必要在满足特定用户的特定需求的同时,对相关技术和业务进行适当的分析和预期,使得项目的成果具有更好的适用性和重用价值。
    软件产品可以分为两种:面向最终用户的和面向软件开发或集成商的。第一种主要指面向不限于计算机技术人员、完成一定应用功能的系统;后者指供专业的软件开发人员使用、用于构造第一种产品的"中间"产品,它可能是一个完整的系统平台,也可能是一个开发包或一个小的程序工具。不同种类的产品具有不同的特性要求:面向集成商/开发商的产品要求可靠、可扩充、有详尽的技术说明、有一定的技术适应性;面向最终用户的产品则要求功能完整、可靠、可维护、有较好的应用适应性。
  其实,设计人员还可以根据市场形式开发介于以上二者之间的"半产品",即通过简单定制可以"生产"出应用系统的"半成品",但又不同于严格意义上的开发平台或是零散的开发工具包。这种"半成品"很实用,不仅可以提高本企业的生产率,为产品系列化打好伏笔,还可以在适当的市场时机作为商品提供给系统集成商,为企业带来额外的利益。
    到底要开发什么类型的产品,是软件产品设计的第一个重要决策。
  我们假设的"多媒体远程教学系统"定位在"半成品"上,希望开发出能直接用于某种应用场合(如企业培训),但可以根据应用需要进行定制

    项目经理胜任力免费测评PMQ上线啦!快来测测你排多少名吧~

    http://www.leadge.com/pmqhd/index.html

“项目管理生根计划”
企业项目经理能力培养和落地发展方案下载>>

分享道


网站文章版权归原作者所有,如有认为侵权请联系我们,将于1个工作日内作出处理!
网友评论【 发表评论 0条 】
网友评论(共0 条评论)..
验证码: 点击刷新

请您注意护互联网安全的决定》及中华人民共和国其他各项有关法律法规或间接导致的民事或刑事法律责任
·您在项目管理资源网新闻评论发表的作品,项目管理资源网有权在网站内保留、转载、引用或者删除
·参与本评论即表明您已经阅读并接受上述条款