软件需求工程学习笔记(二)
国外的软件需求工程研究片段
德国学者 Christof Ebert编著的《需求工程-实践者之路》从需求工程实践出发,着重论述了需求工程过程在软件项目周期的各个阶段与软件项目活动结合的问题。
德国学者 Klaus Pohl 编著的《需求工程 -基础、原理和技术》对需求工程中主要概念、方法、原理和技术进行了全面介绍,覆盖了面向目标的需求工程、基于场景的需求工程、面向方案的需求工程以及需求抽取、文档化、协商、确认和管理等需求工程活动。
英国学者Robertson夫妇编著的《掌握需求过程》分阶段论述了需求工程的活动过程,并给出了需求工程的知识模型和实用的需求规格说明的模板。
塞尔维亚学者Gojko Adzic编著的《实例化需求-团队如何交付正确的软件》总结了多个软件项目团队软件交付过程的经验,介绍了这些团队如何在很短的周期内说明需求、开发软件、并交付正确的、无缺陷的产品;为团队在实施实例化需求说明时使用的模式、想法和工件创建了一致的语言;展示了案例中的团队用来实现实例化需求说明原则的关键性实践;在案例分析部分展示了一些团队实施实例化需求说明的历程。
美国学者Dean Leffingwell编著的《敏捷软件需求-团队、项目群与企业级的精益需求实践》全面介绍了如何在敏捷环境中管理软件需求,提出了企业的敏捷需求全景图,针对项目团队、项目集和项目组合这三个级别描述了一个整体的敏捷需求过程模型。
20世纪90年代中期开始,M.Jackson和P.Zave等人在详细讨论和分析传统的结构化需求分析方法和面向对象需求分析方法的基础上,对需求工程的本质进行了深入思考。他们提出了面向问题域的需求分析方法。他们认为软件的本质是配置的机器M,在相关的域D内产生期望的效果R。机器M是可运行程序的计算机,包括输入/输出设备;期望的效果R即用户需求;与问题相关的域D即问题所处的客观世界。因此,需求工程的本质问题在于从待求解问题的角度,考虑待开发软件系统将在与待求解问题相关的域内产生的效果。
20年代90年代,A.Finkelstein和I.Sommerville等人正式提出了面向多视点的需求工程,采用视点的方式获取和组织不同用户的需求,并根据视点间的关系分析和处理需求的一致性问题,以保证用户需求的完整性和一致性。
国内的软件需求工程研究片段
中国科学院陆汝钤院士在《知识科学及其研究前沿》中提出了基于知识的软件工程概念。他指出“软件工程的实践告诉我们,软件开发失败的原因往往在于需求分析没有做好。而需求分析没有做好的原因又往往在于用户和软件工程师之间缺乏良好的合作。"为解决这个问题,他们在实践中开发了功能强大的知识库和类自然语言接口,提高了信息系统生成的自动化程度。通过项目实践,他指出“第一要区分应用软件中的两种知识:软件知识和领域知识。第二要有两支专业队伍:软件工程师和知识工程师。第三要从软件产业中分离出一种新的产业:知识产业。”在陆汝钤院士和金芝教授共同发表的《从基于知识的软件工程到基于知件的软件工程》进一步提出了知件、知识中间件和知件工程的基本定义,通过自动化的信息系统生成过程,清晰勾勒了领域知识和软件知识在软件工程过程中的位置和作用以及基于知识的软件工程在实际应用中的光明前景。
国防科技大学张维明教授在专著《军事信息系统需求工程》中指出了军事信息系统需求论证中存在的影响系统建设的不确定性因素和复杂性因素,这些困难的具体体现是需求获取困难、需求描述不统一、需求验证困难、需求跟踪管理困难等。为解决这些困难,张维明教授从军事信息系统需求工程总体框架、需求获取、需求建模、需求验证、需求管理和需求工程工具等领域的最新成果。值得一提的是,在张维明教授与人合著的《体系工程原理与技术》中,通过三部分的内容介绍了体系工程的基本原理与技术。第一部分是关于体系的理解与认识;第二部分介绍转换能力目标为高层体系需求(能力—需求转换)、理解体系的组成系统及其关系(体系的理解)、评估体系能力目标所需要的性能以及体系目前所拥有的性能(体系的性能评估)、开发和进化体系的体系结构(体系结构开发)、监控和评估变化/调整潜在的影响(体系变化监测)、评估需求和选择方案、体系升级演化的协同(体系的协同);第三部分介绍体系的系统工程方法、管理工程方法、体系的复杂网络分析技术、体系的建模与模拟技术、体系的设计与优化技术、体系的集成与交互技术、体系的测试与评估技术以及体系的演化规划技术。而杨克巍等人的专著《体系需求工程技术与方法》将武器装备体系作为主要研究对象,重点围绕体系需求工程研究的主要内容展开阐述,内容包括体系需求获取与表示技术、体系需求建模方法与技术、体系需求分析方法与技术、体系需求管理技术、体系需求演化方法等。
康雁等人在《软件需求工程》一书中提出了安全需求工程的概念。他们在书中提出了“从系统工程的观点出发,信息系统的建设首先是一项系统工程,它是信息系统功能工程和信息系统安全工程二者有机结合”的观点。此外,他们还提出了需求工程和CDIO工程教育模式结合的问题。
中国学者杨巨龙和周永利编著了《软件需求十步走-新一代软件需求工程实践指南》一书。书中对需求工程实践中的原理、知识、方法、规划、开发、管理和组织等问题做了系统全面的介绍。
中国学者徐峰在专著《软件需求最佳实践-SERU过程框架原理与应用》一书中提出了需求工程的SERU过程框架。
此外,中国学者潘加宇和于向东等人均从实践的角度出发,对需求工程的实践工具进行了汇集和介绍。