需求分析辅助工具的研究与实现

上传人:w****i 文档编号:117601033 上传时间:2019-12-05 格式:PDF 页数:49 大小:4.89MB
返回 下载 相关 举报
需求分析辅助工具的研究与实现_第1页
第1页 / 共49页
需求分析辅助工具的研究与实现_第2页
第2页 / 共49页
需求分析辅助工具的研究与实现_第3页
第3页 / 共49页
需求分析辅助工具的研究与实现_第4页
第4页 / 共49页
需求分析辅助工具的研究与实现_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《需求分析辅助工具的研究与实现》由会员分享,可在线阅读,更多相关《需求分析辅助工具的研究与实现(49页珍藏版)》请在金锄头文库上搜索。

1、华中科技大学 硕士学位论文 需求分析辅助工具的研究与实现 姓名:沈伟伟 申请学位级别:硕士 专业:计算机软件与理论 指导教师:徐政权 20090526 华 中 科 技 大 学 硕 士 学 位 论 文 I 摘 要 摘 要 需求工程是软件工程的一个子学科。需求工程的目的是给待开发或改造的预期 软件一个清晰、完整的,精确且没有二义性的描述。而需求工程的核心则是工具, 过程和标记。 研究了需求的获取、描述、一致性检查等问题。其中,重点研究了需求描述和 需求一致性检查。将需求分析过程分为需求获取、需求理解和需求分析三个阶段。 采用华中科技大学软件工程实验室提出的基于自然语言的半形式化需求描述语言 (ND

2、L 语言) 对需求进行描述。 为了提高 NDL 语言的描述能力, 提出了一种对 NDL 语言进行扩充的机制。考虑到难以事先得出需求中所有可能存在的不一致性种类, 将需求一致性检查分为两部分:基础一致性检查和规则库检查。基础一致性检查检 查事先已经预料到了的不一致。规则库检查则可以在系统运行过程中不断提高系统 的不一致性检查能力。研究了对基于 NDL 语言描述的需求进行分析以生成目标系统 控制结构、数据结构和操作结构的方法。 最后,基于上述的研究结果开发了需求分析辅助工具。该工具是 SoftMaker 的重 要组成部分,支持从多角度获取需求,并对用 NDL 语言描述的需求进行一致性检查 和分析,

3、给出待开发系统的控制结构、数据结构和操作结构,并提供对 NDL 语言进 行扩充和添加新的一致性检查方法的功能。 关键词:需求工程;需求描述;一致性检查;需求分析 华 中 科 技 大 学 硕 士 学 位 论 文 II Abstract Requirements Engineering is a subset of Software Engineering disciplines. The purpose of Requirements Engineering is give the developed or modified software a clear, complete, accurat

4、e and not ambiguity description. The core of Requirements Engineering is tools, processes, and tag. Thesis examined the requirements elicitation, requirements specification and consistency check. Among them, the discuss focused on requirements specification and consistency check. Divided requirement

5、s process into requirements elicitation, requirements analysis and requirements understand three stages. Use a based on natural languages semi-formal requirements specification language NDL which proposed by Laboratory of Software Engineering, Computer School, Huazhong University of Science and Tech

6、nology to description the needs of software. Research a mechanism to expand NDL language. Account to the limited capacity of formal language to describe requirements and difficult to anticipate all types of inconsistencies that may exist, divided consistency into two parts: the basis of consistency

7、checks and the rules of Treasury checks. The basis of consistency checks check the anticipate inconsistency. Rules of Treasury checks is used to continuously improve the systems capacity of inconsistency check in running. Finally, developed a requirements analysis tool to support the requirements el

8、icitation from different perspectives, do consistency check and requirements analysis to given the control structure, data structure and operation structure of the developed system. Key Words: Requirements Engineering, Requirements Specification, Consistency Check, Requirements Analysis 独创性声明独创性声明 本

9、人声明:所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的 研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人 或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已 在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。 本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用

10、影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密,在_年解密后适用本授权书。 本论文属于 不保密。 (请在以上方框内打“”) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 华 中 科 技 大 学 硕 士 学 位 论 文 1 1 绪论 1.1 课题背景 需求分析是软件开发过程中最为关键的阶段。 根据研究发现, 软件项目中 40% 60%的错误都是在需求的分析和获取阶段产生的1。根据 Standish 小组的报告分析, 70%的软件项目是失败的, 而这些项目失败的最主要原因就是需求阶段的规格说明不 完整2。 20 世纪 90 年代,需求分析不再是软件开发生命周期

11、中的某一个阶段。它贯穿软 件开发整个生命周期,随着专门研究需求的国际期刊Requirement Engineering的 创办,需求工程便作为一门独立的学科正式形成了3。 “需求工程是指应用已证实有 效的原理、方法,通过合适的工具和记号,系统地描述待开发系统的行为特征和相 关约束” 4。从这个定义中可以得出软件需求中应该关注的三个最主要对象是功能需 求、非功能需求和目标。这三者是一个有机的整体3。功能性需求是待开发系统所具 有的行为特征,非功能性需求是对该系统的相关约束,目标则是连接前面两者的纽 带5。需求工程的主要目的是给予待开发或改造的预期软件一个完整、清晰、精确且 没有二义性的描述。该描

12、述以软件需求规格说明的形式来刻画出预期系统的所有特 性3。它也是需求分析阶段得出的最主要的文档6。通常用自然语言完整、准确、具 体地描述系统的数据需求、功能需求、性能需求、可靠性和可用性需求、出错处理 需求、接口需求、约束、逆向需求和将来可能提出的需求7。 1.1.1 多视点需求工程 “自然语言的表达能力强,便于交流,但其固有的不完全性、不一致性、亦此 亦彼性和演化使得确定的形式化表达几乎不可能” 8。由此而产生的需求之间的完整 性和一致性问题便成为了需求分析过程中需要解决的一个重要问题。 “因此要求需求 工程放弃确定性的约束,不回避不完全的、模糊的、演化的用户需求,生成能最大 满足当前环境,

13、并能随上下文演化的部分需求规格说明”8。因此,多视点需求工程 华 中 科 技 大 学 硕 士 学 位 论 文 2 便诞生了。 多视点需求工程将“视点”作为一类单独的实体加以考虑3。考虑每个视点对系 统的不同看法,从而形成一个个相对于每个视点的部分需求规格说明,虽然这些规 格说明是不全面的和不准确的。兼听则明,偏听则暗。从多个角度广泛的获取意见 并加以综合考虑,从而得到对事物全面而正确的认识,这是中国人一贯的处世哲学。 如果能够有机的将这些部分需求规格说明组合在一起,其相比于从一个角度单独考 虑而形成的需求规格说明要更加全面和正确。 现有的需求工程方法有 SADT、 CORE、 Leite、VO

14、RD 方法等9。 SADT 方法是由 Ross10-12等提出的,中文意思是结构化分析和设计技术。它采 用了分而治之的思想,以结构化分析为基础。将一个复杂的问题分解为几个易于掌 握的子问题,并分别对这些子问题和这些子问题相互之间的关系进行建模。但是它 并没有明确的提出“视点”的概念,真正第一次明确提出“视点”的是 CORE 方法。 CORE 即受控的需求表达,它定义了 2 种视点:定义视点(defining viewpoint) 和绑定视点(bounding viewpoint) 。CORE 方法总共有 7 步,识别视点、结构化视点、 收集表格、结构化数据、对单个视点建模、对复合视点建模、分析

15、约束条件。对于 识别视点 CORE 建议分析人员和用户通过沟通得到尽可能全面的视点。结构化数据 阶段则是通过采用结构方法将系统分解为一系列子系统,将每个子系统作为一个视 点,并一层层分解下去以保证每层中最多不要超过 5 个视点。收集表格阶段则是发 现和解决视点间的信息遗漏和相互冲突等问题的时候9,13。 Leite 方法即视点分析方法,它认为从多个角度收集信息更能保证需求的完整性 和正确性,并提出了一种形式化的多视点需求描述语言 VWPL。 VORD 方法是一个覆盖范围非常广的方法,包含了从需求的获取一直到系统建 模的全部过程。它定义的视点是由所有关系人、相关联的系统和其他一切对系统可 能产生

16、影响的实体,而视点与系统的关系则主要建立在视点对系统的要求和视点对 系统的交互上9。 华 中 科 技 大 学 硕 士 学 位 论 文 3 1.1.2 需求描述 需求的描述是指通过一个统一的方式对需求进行表述,以便后面的一致性检查 和需求分析。目前的需求描述语言大体可以分为三类:自然语言描述、以图形为基 础的或其他的半形式化描述语言以及建立在严格的数学基础上的形式化描述方法。 自然语言的表达能力强,相对来说可以很方便的表达出用户的需求,但其存在 着二义性,即使是对于我们人类来说也经常会产生误解。当面对一个拥有很多复杂 需求的大型系统时,分析人员对如此之多的需求之间的矛盾和冲突进行检查将是一 件非常头痛的事情,有时候甚至可能会有毫无头绪的感觉。这对任何一个分析人员 来说都是一种无法忘怀的痛苦经历。何况,当分析人员为了解决需求中的不一致性 而对需求进行修改过后,可能又产生了新的矛盾和错误。 形式化语言以严密的数学为基

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号