目前,国内外针对需求分析确定方法的研究较多围绕在产品需求和软件需求确定上,如公理设计理论、创新问题解决理论(TRIZ)、质量功能展开等。公理设计理论中映射过程出现错误可能会导致不正确不完整的需求,产生不必要的迭代,致使需求确定的过程复杂化。创新问题解决理论容易使需求确定的过程一般化,缺乏对动态变化的分析。质量功能展开广泛应用于工业、军事等领,但在用户要求不准确或者用户要求过多的情况下,展开将会产生巨大的工作量。 基于模型的系统工程是一套以模型分析系统、传递需求的方法论(注意:它是一套方法论的知识体系,而不是等同于SysML这样的工具),将其和需求工程相结合能够实现需求分析模型化、需求确定过程可视化。 一旦捕获和分析了某一领域的需求和约束,就要开展需求建模工作,这是确保需求的一致性和完整性的一项重要活动。有多种方法可以对功能、质量属性和约束进行建模。采取的适当方法将取决于系统的类型和组织标准,在某些情况下,它们是使用的特定领域的建模语言。这方面的一个重要方面是如何将一种类型的模型转换为另一种类型。可追溯性也是这方面的一个重要方面,因为一些项目需要将特定需求的交付映射到交付它的组件。 需求形式化是一项艰巨的任务,要求需求分析人员需同时具备形式化方法方面的专业知识和相关需求的领域知识。因此,形式化过程既耗时又容易出错。 针对将指定软件的自然语言需求转换为正式规范需求的研究难点,很多相关人员对其进行了研究,主要方法包括:
最常见的需求模型 领域模型 领域模型捕获产品或系统“处理”的所有事物(领域概念),即从业务角度表示和操作。为域概念捕获的信息是描述,通常还有属性及其相互关系。领域模型的目的是在所有利益相关者之间建立对业务领域静态方面的共同理解。领域模型通过在所有利益相关者之间建立通用词汇表来支持质量要求的创建,从而减少歧义和冗余。 因此,应考虑以下准则:
识别领域概念的一个明显方法是识别领域文本描述中的名词和短语。有关领域概念的信息可以来自现有文档、特定领域的行业标准文档以及需求获取的输出。 域模型可以用不同的方式表示。表示取决于项目中采用的方法和形式以及暴露于领域模型的利益相关者的经验。它可以从 Word 文档、Excel 表格、图表表示延伸到使用 UML 类图的完全详细的模型表示。 领域驱动设计方法是领域模型的扩展,以产生与领域不断发展的模型相关联的实现,它适用于高度复杂的领域并产生高度可维护的系统,实现可以由领域特定语。 用例模型 用例模型描述了新系统的建议功能。用例表示用户(称为演员)(人或机器)与系统之间的离散交互单元。此交互是一个有意义的工作单元,例如创建帐户或查看帐户详细信息。每个用例都描述了要在提议的系统中构建的功能,它可以包含另一个用例的功能或用自己的行为扩展另一个用例。 用例包含:
用例模型显示参与者如何与用例交互。 用于捕获功能的其他一些模型包括:
基于自然语言处理技术的方法: 将自然语言需求形式化为离散时间的时间逻辑的现有方法和潜在方法。证明自然语言语法结构的限制以及处理其歧义性仍是目前面临的重要问题。该方法主要是使用需求语句的语法结构从原始需求中获得正式规范需求。 自然语言需求语句情形定义及符号表示 基于自然语言处理( NLP) 的自然语言需求语句的语法分解和模式判定。 随着Agent技术的发展并逐步成为指导软件开发的主流方法,面向Agent的软件工程(Agent Oriented Software Engineering:AOSE)己经成为Agent技术研究中的一个非常活跃的领域。这一领域涉及软件工程问题的所有内容‚如需求、设计、构造、确认和认证、发布、重用等。 需求分析作为软件工程的一个重要阶段也必然地引入了这一概念。抛开Agent的具体类型和实现‚单从概念来看因为的使用非常广泛‚己经渗透到工业的各个领域了‚不同的用户对其有不同的定义,所以Agent的概念只能采用特定属性的描述来限定‚它不同于传统的对象或过程组件概念,更符合人们对事物的分类习惯以及事物相互交互关系的描述习惯。是一个比对象和类更加抽象的概念,适合作为需求分析的描述对象即在一个相对抽象的概念层次上对系统进行描述‚而不涉及系统实现的具体设计细节。 面向Agent的需求分析就是指基于这一概念、借助于面向计算范型的思想对系统进行工程化需求分析的方法学,它提供了良定义和结构化的过程以及相应的建模语言对面向的系统进行描述、分析和建模。这样就可以把软件工程中的需求分析工作完全从软件工程中分离出来,而不需要考虑系统的具体开发语言、开发平台以及总体设计和实现。 所以当概念引入到需求工程之后,使得需求工程的工作和研究有了快速的发展,随后各种开发平台也应运而生,各具特色,适用于不同的系统实现。 当用面向Agent方法开发系统时,需求分析工作需要更加充分‚应该彻底详细地了解用户的需求‚从而能够抽象出系统的元模型以及其组织结构。同样‚虽然在一个更加抽象的层次上分析和描述系统组件和组织形式‚但自然语言的描述语义还不足以胜任‚必须采用严格的形式化描述语言作为建立需求模型的基础。所以可以看出‚用自然语言来描述系统的需求是完全不够‚必须要形成一套规范的需求分析语言以及元模型结构。从一般语义描述的需求到分解出满足该需求的每一个相互交互的抽象及其相关协同模型‚仍然需要进行许多复杂的理解分析工作‚必须采用工程的概念‚使用工程语言进行精确地描述用户需求。 面向Agent系统的典型性系统框架 基于规则的方法:对机器翻译中语义网络技术( SWT) 使用的调查。 这项调查工作表明,SWT 技术处理需求中的歧义效果显著。主要研究与需求形式化相关的自然语言( NL) 处理方法,包括从自然语言需求以及形式化过程中生成本体和统一建模语言( UML) 类图的方法。提出了一种通过识别文本中的完整三元组和部分三元组来指导本体填充需求识别过程的方法,同时使用训练语料库中的循环句法语义形式形成提取规则,提取其中与属性实例相对应的三元组术语,得到形式化结果需求。 基于规则的方法主要使用人工智能理论从原始需求中衍生出正式规范需求,不需要语义分析。 国产MBSE软件供应商推荐
|
|