文档介绍:用例建模在软件需求分析中的应用
【摘要】:由于需求分析在软件工程中占有非常重要的地位,近年来受到广泛的关注和研究。软件需求的首要任务是明确的定义边界,然后对需求给予清晰的、确定的以及通俗的定义。统一建模语言作为当今比较重要的一种建模语言,可以对软件密集型系统进行可视化、详述、构造和文档化,用例在需求分析中应用相当广泛。文章重点阐明用例进行建模的方法,用例建模的步骤。分析了针对不同应用的用例建模方式,提出了一些基本的建模原则。文章同时对用例建模的一些缺陷进行了讨论。
【关键词】:用例;需求分析;统一建模语言;软件工程
中图分类号:TP391 文献标识码:A 文章编号:1002-6908(2007)1110047-02
当前,软件业的发展已经超越了个人英雄主义的时代。单靠某一个人或者是某几个人的作坊式开发已经越来越不适应新世纪的软件业,而软件业也越来越重视软件工程。软件需求分析是软件工程中相当重要的一部分。良好的需求可以为软件的代码度量,软件的计划,软件的测试提供良好的基础。
在软件的设计过程中,需求分析,概要设计,详细设计是软件设计本身在不同层次的抽象。目前的共识是,在需求分析的阶段,应该将整个软件系统看作黑盒,设计者应该将重点放在实现了哪些功能,而不是怎么实现功能上。
让人感觉到意外的是,目前为止还没有一个清晰,毫无二义性的"需求"定义存在。在本文中给出如下的需求定义:
需求是用户和软件开发人员达成的共识。这种共识描述了软件系统的功能、特点、性能、行为以及属性。这种共识必须形成文档说明。
对软件开发人员来说,重要的是要有这样一个概念:需求分析是一个系统功能的收集过程,而不是一个系统功能的设计过程。
虽然软件需求到目前为止还无法有一个清晰的定义,软件工程的研究者们还是列举出了很多良好需求的特征。在本文中不对良好需求的所有特征进行说明,仅对作者认为特别重要的部分进行说明。
良好的需求首先要有清晰明确的边界。边界意味着软件将作为一个独立实体,与外界进行交互。对于某个特定的软件,这个外界可能是一个软件系统,也可能是人。需求分析需要对穿越这个软件,和外界的所有交互进行准确的描述。只有清晰的定义了边界才能够对需求进行有效的挖掘和甄别。
需求还需要进行确定的定义。虽然需求分析时对如何完成一个功能并不关心,但是对功能的性能参数必须能够确定下来。这事实上是对需求的量化,也是在今后进行设计的技术目标或者是技术限制。这就要求在需求文档中不能出现诸如"大约","可能"以及"左右"等模糊性的表述词汇。
需求还必须通俗。这一点很容易被人忽视。需求分析不仅仅是为了指导开发人员进行软件的开发,而需求分析本身也不是结果。需求分析最终需要形成一个可以完整表达分析结果的文档,而需求分析文档可以看作是用户和开发者在所有技术、性能问题上达成的契约。显然,既然是契约,就应该让双方都清楚的明白在约定中承诺的各项指标含义。因此,需求文档必须在组织结构上非常清晰,避免过多的技术术语导致文档难以理解。
在用户看来,需求文档应该清晰的描述