软件工程需求分析方法探讨.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《软件工程需求分析方法探讨.pdf》由会员分享,可在线阅读,更多相关《软件工程需求分析方法探讨.pdf(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、信息技术与信息化软件工程2007年第6期74软件工程需求分析方法探讨Methods in RequirementsAnalysis张建成3 田 青3 3 李 刚3 董火民ZHANG Jian-chengTIAN Q ingLI GangDONG Huo-m in摘 要 用户需求不清楚往往是软件工程变更的主要原因,是否在需求阶段能准确得到用户的准确需求是项目成功的关键,本文章主要介绍需求分析的方法,力求使开发方能得到准确的用户需求。关键词 需求分析 信息工程 方法AbstractIt is one of primary reasons of soft ware engineering alter
2、ative that usersrequirement is unclear.Itis pivotal for projects success thatwhether or not get accurately usersrequirement in the stage of requirements a2nalysis.The article mainly introduces the methods of requirement analysis intended for developerwho can get thecorrect requirement.KeywordsRequir
3、ements analysisInformation engineeringMethod3 山东省计算中心 山东济南 2500143 3 山东省科学院能源所 山东济南 2500141 引言我国的信息化已经走过了20多年的历程,但许多软件开发公司仍不得不在收集、编写和管理产品需求中疲于奔命。而缺乏用户参与、不完整的需求及不断变更需求,是导致信息技术项目不能按进度安排和资金预算完成全部功能的主要原因。许多软件开发人员不能熟练地收集客户需求,很多开发者并不知道实用的需求工程技术,而且教学课程中也是技术主题比需求主题占有优势,工程参与者甚至连“需求”是什么也有不同的看法。所以,笔者将从什么是需求入手,
4、具体介绍需求分析的方法。2 什么是需求软件产业存在的一个问题就是缺乏统一定义的名词术语来描述我们的工作。客户所定义的“需求”对开发者似乎是一个较高层次的产品概念。而开发人员所说的“需求”对用户来说又像是详细设计了。实际上,软件需求包含着多个层次,不同层次是从不同角度与不同程度反映着细节问题。GB/T 11457-1995软件工程术语中定义“需求”为:a、用户为解决某一问题或达到某个目标所需要的条件或能力。b、系统或系统部件为满足或具有的条件或能力以满足合同、标准、规格说明或其它正式的强制性文件。所有需求的集合形成了以后开发系统或系统部件的基础。而实际工作中,我们更喜欢把它细化为三个层次,业务需
5、求、用户需求和功能需求(也包括非功能需求)。业务需求(businessrequirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。用户需求(user re2quirement)文档描述了用户使用产品必须要完成的任务,这在使用实例(use case)文档或方案脚本(scenario)说明中予以说明。功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。所谓特性(feature)是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求。软件需求各组成部分之间的
6、关系如图1所示。图1 软件需求各组成部分之间的关系 在软件需求规格说明(software requirements specification简称“SRS”)中说明的功能需求充分描述了软件系统所应具有的外部行为。软件需求规格说明在开发、测试、质量保证、项目管理以及相关项目功能中都起了重要的作用。作为功能需求的补充,软件需求规格说明还应包括非功能需求,它描述了系统展现给用户的行为和执行的操作等。它包括产品必须遵从的标准、规范和合约;外部界面的具体细节;性能要求;设计或实现的约束条件及质量属性。所谓约束是指对开发人员在软件产品设计和构造上所具有的选择限制。质量属性是通过多种角度对产品的特点进行描述
7、,从而反映产品功能,多角度软件工程信息技术与信息化752007年第6期描述产品对用户和开发人员都极为重要。下面以一个字处理程序为例来说明需求的不同种类。业务需求可能是:“用户能有效地纠正文档中的拼写错误”,该产品的包装盒封面上可能会标明这个满足业务需求的拼写检查器。而对应的用户需求可能是“找出文档中的拼写错误并通过一个提供的替换项列表来供选择替换拼错的词”。同时,该拼写检查器还有许多功能需求,如找到并高亮度提示错词的操作;显示提供替换词的对话框以及实现整个文档范围的替换。管理人员或市场分析人员会确定软件的业务需求,这有利于公司操作更加高效(对信息系统而言)或具有很强的市场竞争力(对商业软件产品
8、而言)。所有的用户需求必须与业务需求一致。用户需求允许需求分析者能从中得到一些功能需求以满足用户使用产品来完成其任务,而开发人员则利用功能需求来设计如何实现必须的功能。从以上定义可以发现,需求并未包括设计细节、实现细节、项目计划信息或测试信息。需求与这些没有关系,它关注的是充分说明你究竟想开发什么。下面具体介绍一下需求形成的步骤和方法。3 需求获取需求获取活动主要包括如下步骤:1)确定需求开发过程。确定如何组织需求的收集、分析、细化并核实的步骤,并将它编写成文档,对重要的步骤要给予一定指导,这将有助于分析人员的工作,而且也使收集需求活动的安排和进度计划更容易进行。2)编写项目视图和范围文档。项
9、目视图和范围文档应该包括高层的产品业务目标,所有的使用实例和功能需求都必须遵从能达到的业务需求。项目视图说明使所有项目参与者对项目的目标能达成共识。而范围则是作为需求或潜在特性的参考。3)将用户群分类并归纳各自特点。为避免出现疏忽某一用户群需求的情况,要将可能使用产品的客户分成不同组别。他们可能在使用频率、使用特性、优先等级或熟练程度等方面都有所差异。详细描述出它们的个性特点及任务状况,将有助于产品设计。4)选择每类用户的产品代表。为每类用户至少选择一位能真正代表他们需求的人作为那一类用户的代表并能作出决策。这对于内部信息系统的开发是最易实现的,因为此时,用户就是身边的职员。而对于商业开发,就
10、得在主要的客户或测试者中建立起良好的合作关系,并确定合适的产品代表。他们必须一直参与项目的开发而且有权作出决策。5)建立起典型用户的核心队伍。把同类产品或你的产品的先前版本用户代表召集起来,从他们那里收集目前产品的功能需求和非功能需求。这样的核心队伍对于商业开发尤为有用,因为你拥有一个庞大且多样的客户基础。与产品代表的区别在于,核心队伍成员通常没有决定权。6)让用户代表确定使用实例。从用户代表处收集他们使用软件完成所需任务的描述 使用实例,讨论用户与系统间的交互方式和对话要求。在编写使用实例的文档时可采用标准模版,在使用实例基础上可得到功能需求。7)召开应用程序开发联席会议。召开应用程序开发联
11、席会议是范围广的、简便的专题讨论会,也是分析人员与客户代表之间一种很好的合作办法,并能由此拟出需求文档的底稿。该会议通过紧密而集中的讨论得以将客户与开发人员间的合作伙伴关系付诸于实践。8)分析用户工作流程。观察用户执行业务任务的过程。画一张简单的示意图(最好用数据流图)来描绘出用户什么时候获得什么数据,并怎样使用这些数据。编制业务过程流程文档将有助于明确产品的使用实例和功能需求。你甚至可能发现客户并不真的需要一个全新的软件系统就能达到他们的业务目标。9)确定质量属性和其它非功能需求。在功能需求之外再考虑一下非功能的质量特点,这会使你的产品达到并超过客户的期望。这些特点包括性能、有效性、可靠性、
12、使用性等,而在这些质量属性上客户提供的信息相对来说就非常重要了。10)通过检查当前系统的问题报告来进一步完善需求。客户的问题报告及补充需求为新产品或新版本提供了大量丰富的改进及增加特性的想法,负责提供用户支持及帮助的人能为收集需求过程提供极有价值的信息。11)跨项目重用需求。如果客户要求的功能与已有的产品很相似,则可查看需求是否有足够的灵活性以允许重用一些已有的软件组件。4 需求分析需求分析包括提炼、分析和仔细审查已收集到的需求,以确保所有的风险承担者都明白其含义并找出其中的错误、遗漏或其它不足的地方。分析员通过评价来确定是否所有的需求和软件需求规格说明都达到了优秀需求说明的要求。分析的目的在
13、于开发出高质量的需求,这样你能作出实用的项目估算并可以进行设计、构造和测试。通常,把需求中的一部分用多种形式来描述,如同时用文本和图形来描述。分析这些不同的视图将揭示出一些更深的问题,这是单一视图无法提供的。分析还包括与客户的交流以澄清某些混淆,并明确哪些需求是更为重要的。其目的是确保所有风险承担者尽早地对项目达成共识并对将来的产品有个相同而清晰的认识。主要任务如下:1)绘制系统上下文示意图。这种示意图是用于定义系统与系统外部实体间的界限和接口的简单模型。同时它也明确了通过接口的信息流和物质流。2)创建用户接口原型。当开发人员或用户不能确定需求时,开发一个用户接口原型 个局部的可能实现 这样使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 需求 分析 方法 探讨
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内