《软件工程卷1~3》是冯诺依曼奖章获得者、世界著名的计算机科学家Dines Bjorner教授的最新著作。这套丛书为读者理解软件和软件开发过程提供了一个“全新的视角”。这三卷书首次系统地论述了如何用形式方法来指导领域工程、需求工程和软件设计,即软件工程的三个相互关联并重叠的组成部分,或称之为软件工程的“三部曲”。在软件开发的各个阶段,如果都能够采用这种形式化的开发模式,将能够在极大程度上保证软件开发的正确性和有效性。这套丛书可以被视为软件工程史上里程碑式的著作。作者通过长达30年的程序设计方法论的研究与实践,加上长达25年不断完善的课程讲义汇编成这一套前后连贯、内容一致以及相对完整的软件工程著作。这套丛书的一个显著特点就是在这三卷书中,所有的原理、技术和工具都是通过大量的案例分析来进行阐述,并覆盖了所有主要的软件开发时期、阶段和步骤;同时,这些原理、技术和工具是能够应用在大型工业和商业软件的开发项目中去的。这套丛书不但可以作为高校计算机专业学生、教师以及研究人员的教材和必备参考书,而且在工业和计算机产业界也具有极大的实用价值。《软件工程卷1:抽象与建模》介绍了抽象与建模的基本原理和技术。首先,本卷给出了离散数学的基本介绍,包括数、集合、笛卡尔、类型、函数、入-演算、代数和数理逻辑,然后讲授基本的面向属性与面向模型的规约的基本原理和技术。一些其他的规约语言,比如B、VDM-SL和Z都具有面向模型的概念,本卷则通过RAISE规约语言RSL来讲解这个概念。本卷还介绍了有关应用式(函数式)、命令式和并发式(并行式)规约程序设计的基本原则。最后,本卷给出了一个全面的软件工程术语表以及大量的索引和参考文献。《软件工程卷2:系统与语言规约》介绍了描述系统与语言的规约的基本原理和技术。首先,本卷讲授一些高级的原理和技术:分层与组合、指称与计算以及构型:环境与状态的抽象与建模,然后讲授符号学建模的基本原理和技术:语用、语义以及系统和语言的句法。其中重要的一部分介绍了对空间和简单时态现象进行建模的基本原理和技术。本卷的主要章节用于介绍一些专门的主题,比如模块(包括UML的类图)、Petri网、活动序列图、状态图和时态逻辑(包括时段演算)。最后,本卷介绍了开发函数式,命令式以及并行程序设计语言的可靠和有效的解释器和编译器的基本原理和技术。本卷适合于作为高年级本科生和研究生,以及研究程序设计方法学的学者的教材或参考书。《软件工程卷3:领域、需求与软件设计》介绍了整体软件开发的基本原理和技巧:从领域描述,经过需求分析,直到软件设计。本卷倡导一种全新的软件工程开发模式:在需求被形式化之前,人们必须理解应用领域,因此本卷首先介绍领域描述的原理和技术,然后介绍从领域模型导出需求规则的原理和技术,最后介绍细化需求到软件设计的原理和技术:体系结构和组件设计。