本书结合IEEE最新发布的软件工程体系SWEBOK,和IEEE/ACM软件工程学科小组公布的软件工程教育知识体系SEEK,北大本科生指定教材。注重基础知识的系统性,选材的先进性及知识的应用。2009年出版
软件开发本质的认识,两大技术问题:开发逻辑、开发途径。
软件工程用于软件开发项目,包含,项目管理,实现,验收。对应到软件,即软件生存周期模型,软件开发方法学+测试。
1.1 软件工程概念与发展
软件危机,20世纪60年代,软件生产率、软件质量远远满足不了社会的需求。经常延期,超预算。
20世纪60年代到80年代,前期主要研究系统实现技术,后期关注软件质量和软件工程管理。
20世纪80年代以来,软件复用技术和软件生产管理研究实践,如软件生存周期过程、计算机辅助软件工程CASE、面向对象语言、软件组织和和过程成熟度评估。
1.2 软件开发本质
如何实现不同层面的映射:
模型是任一抽象,包括所有的基本能力、特性或一些方面,而没有任何冗余细节。进一步说,模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对系统边界的描述,给出系统内各模型元素以及它们之间的语义关系。
信用卡确认系统功能模型,采用UML作为建模工具。