1. 软件工程(P361)
由方法、工具和过程三个部分组成。
1.1. 软件生命周期
过程包含活动,活动包含任务。
生存周期包含5个基本过程,9个支持过程和7个组织过程。
1.2. 软件开发方法
形式化方法,非形式化方法。
自顶向下,自底向上。
1.2.1. 形式化方法
提供软件可靠性的一种重要性方法。建立严格的数学基础上,具有严格的语义。
-
形式化方法
-
净室软件工程
形式化开发方法。
逆向工程
软件开发模型
给出了软件开发活动各阶段的关系,是开发过程的概括【和抽象,是开发过程的方法论】。
概述
根据前期需求的情况分为三种类型:初始阶段需求确定的瀑布模型;初始阶段确定基本需求,采用迭代和渐进式开发,如喷泉、螺旋、统一和敏捷等;基于形式化的变换模型。
瀑布模型、演化模型、螺旋模型(瀑布结合演化,关注风险分析)、喷泉模型(需求和对象驱动,自底向上)、变换模型(基于形式化语言,变换为程序语言)、智能模型(结合专家系统)、V模型、
快速应用开发(RAD)
极端的开发周期。可复用构件。
统一过程(UP)
用例驱动、架构为核心、迭代和增量的。
初始阶段:建立业务模型,确定项目边界。分析风险。
细化阶段:分析问题域,建立完善的架构。
构件阶段:开发构件和系统功能。
移交阶段:交付
敏捷方法
是软件开发方法(注意:不是软件工程的方法)。
包括XP,自适应软件开发(ASD)、水晶(Crystal)、特性驱动(FDD)、动态开发方法(DSDM)、测试驱动(TDD)、敏捷数据库技术(AD)、精益软件开发。
软件开发环境和工具
软件开发环境
软件开发工具
软件过程管理
软件能力成熟度模型(CMM)
-
CMM等级
-
关键过程域
CMM 24个kpa。
-
能力成熟度模型集成(CMMI)
阶段式和连续式。
软件过程评估
根据过程模型对软件过程进行评估。
CMM模型、Trillum模型(嵌入式)、Bootstrap方法、ISO/IEC15504标准、SJT11234-2001标准。