9-软件需求工程新进展 - 北京大学软件与微电子学院

Download Report

Transcript 9-软件需求工程新进展 - 北京大学软件与微电子学院

第九章
软件需求工程新进展
周立新 博士
北京大学软件与微电子学院
课程提纲
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
软件需求基本理论和概念
软件需求工程过程
软件需求获取
软件需求分析
软件需求规格说明
软件需求验证
软件需求管理
软件需求实现
软件需求工程新进展
软件需求开发与需求管理工具
内容提要
•
•
•
基于知识的需求工程
形式化需求分析方法
软件需求自动化
一. 基于知识的需求工程
基于知识的需求工程
•
把AI (Artificial Intelligence,人工
智能 )技术应用到需求工程领域,具有
一个知识库和推理机制,在此基础上进
行需求分析,检测其活动。
• AI中知识表示和知识获取、定向推理
等方法对于领域建模、问题理解和需求
获取的研究是有重要意义的。
基于知识的需求工程工具
• RA:MIT研究人员开发的基于知识的系统,为需
求的开发提供一个智能助手
• TMMRP:德国USU公司基于元模型对各种不同
需求进行管理的工具
• QARCC:美国南加州大学开发的一个基于知识
的需求检测工具
• PROMIS:中科院数学所设计的MIS开发环境
二. 形式化需求分析方法
形式化方法的定义
• 从广义上说,是应用数学的手段来
设计、模拟和分析,得到像数学公
式那样精确的表示。
• 从狭义上说,是使用一种形式化语
言进行语言公式的形式推理,用于
检查语法的良构性并证明某些属性。
引入形式化方法的目的
•
•
•
•
减少二义性
提高准确性
为验证打好基础
允许对需求进行推理
形式化需求分析方法注意事项
• 选择科学的过程模型
• 选择合适的需求表达技术
• 选择合理的形式化验证方法
科学的过程模型的内容
•
•
•
•
•
•
•
•
•
•
完整的生命周期
一组全面而有条理的概念和模型
一套完整的技术(规则,指导和启发)
一组详细说明的可交付产品
一种建模语言,具有元模型以及有效而直观的表示
方法
一组用于测试和确认的规格说明
保证质量的指导方针或建议
编码(及其它)标准
系统复用建议
项目管理指导方针(包括对工作小组的结构以及各
人的分工、程序和资源的分配和管理等)
形式化方法描述需求实例
将图书管理系统的规格划分为
Books,Readers,
LibrarySystem3个模块
LibrarySystem
Books
Readers
Books的形式化描述
三. 软件需求自动化
需求工程自动化的重要性
• 从非形式化的软件需求定义到形式
化的功能规约的自动转换仍是软件
自动化的一大难题
• 形式化是软件自动化发展的基础
• 需求工程将向着对象化、形式化和
自动化全面发展
需求工程自动化实例
• 需求分析自动化系统(NDRASS)
实现从DFD,ERD和STD,以及有关字典到Z
形式功能规约的自动转换
• 需求分析支撑系统(NDORASS)
包括一个需求定义支撑子系统(NDORS)和
一个需求定义自动转换子系统(NDFUNS)
• 软件需求功能的新发展所涉及到的:基于知识的
需求工程,面向方面的需求分析方法,基于MDA
的软件需求开发,形式化需求分析方法和软件需
求自动化等,主要查阅与参考了以下论文:
•
•
•
•
•
•
•
•
•
1.
2.
3.
4.
5.
6.
7.
8.
9.
MDA的梦想与实现--解救西西弗斯
MDA开发中的模型一致性检验
基于UML扩展的面相方面建模
基于形式化方法的需求分析
基于知识需求的主动式知识系统
具有用户参与的面向方面的工程项目管理需求分析
软件需求定义语言NDRDL
软件需求定义语言NDRDL的设计
软件需求工程--方法及工具评述
•
•
•
•
•
•
•
•
10.
11.
12.
13.
14.
15.
16.
17.
软件需求工程及其发展
软件需求工程新发展
软件需求规格自动生成工具
数字图书馆非功能性需求的面向方面建模
需求工程洋酒新进展
一种基于面向方面的统一过程软件开发方法
一种面向方面的非功能需求建模框架
支持MDA的交互式需求获取方法及辅助工具