1、Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1Software Processes (软件过程 )l Coherent sets of activities for specifying, designing, implementing and testing software systemsl ( 定义、设计、实现和测试等一系列活动)Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 2Generic
2、software process models( 一般软件过程模型)l The waterfall modell ( 瀑布模型)l Evolutionary developmentl ( 进化式模型)l Formal systems developmentl ( 形式化模型)l Reuse-based developmentl ( 面向复用模型)Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 3Waterfall model( 瀑布模型)需求定义系统和软件设计编码和单元测试集成和系统测试运行和维护I
3、an Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 4Waterfall model problems( 瀑布模型的问题)l Inflexible partitioning of the project into distinct stages( 僵化的阶段划分)l This makes it difficult to respond to changing customer requirements( 不适应需求变化)l Therefore, this model is only appropriate
4、 when the requirements are well-understoodl ( 适用于需求明确的系统)Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 5Evolutionary development( 进化开发)l Exploratory development ( 演化开发) Objective is to work with customers and to evolve a final system from an initial outline specification. S
5、hould start with well-understood requirements l Throw-away prototyping( 抛弃开发) Objective is to understand the system requirements. Should start with poorly understood requirementsIan Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 6Evolutionary development( 进化开发)Ian Sommerville 20
6、00 Software Engineering, 6th edition. Chapter 1 Slide 7Evolutionary development( 进化开发)l Problems( 问题) Lack of process visibility( 过程不可见) Systems are often poorly structured( 系统结构不好) Special skills (e.g. in languages for rapid prototyping) may be required( 需要一些技巧)l Applicability( 适用于) For small or me
7、dium-size interactive systems 中等规模的交互系统 For parts of large systems (e.g. the user interface) 大系统的一部分 For short-lifetime systems 生命周期短的系统Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 8Formal systems development( 形式化系统开发)l Based on the transformation of a mathematical specifi
8、cation through different representations to an executable program ( 基于数学模型)l Transformations are correctness-preserving so it is straightforward to show that the program conforms to its specification ( 正确转换)l Embodied in the Cleanroom approach to software development( 净室方法)Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 9Formal systems development( 形式化系统开发)需求定义 形式化描述 形式化转换 集成和系统测试Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 10Formal transformations( 形式化转换)形式描述 可执行系统