学习高校课程-软件工程-流程模型(ch4)
4.1 PRESCRIPTIVE PROCESS MODELS
A process model provides a specific roadmap for software engineering work.
过程模型为软件工程工作提供了特定的路线图
The Waterfall Model 瀑布模型
sometimes called the classic life cycle ,suggests a systematic, sequential approach to software development that begins with customer specification of requirements and progresses through planning, modeling, construction, and deployment, culminating in ongoing support of the completed software
有时被称为经典生命周期,它提出了一种系统的、顺序的软件开发方法,从客户的需求规范开始,逐步进行规划、建模、构建和部署,最终为已完成的软件提供持续支持
A variation in the representation of the waterfall model is called
the V-model.
瀑布模型表示的一种变体称为 V 模型。
!
Among the problems that are sometimes encountered when the waterfall model is applied are:
应用瀑布模型时有时会遇到的问题有:
① Real projects rarely follow the sequential flow that the model proposes. As a result, changes can cause confusion as the project team proceeds.
实际项目很少遵循模型提出的顺序流程,因此,随着项目团队的进展,变化可能会导致混乱。
② It is often difficult for the customer to state all requirements explicitly. The waterfall model requires this and has difficulty accommodating the natural uncertainty that exists at the beginning of many projects
客户通常很难明确地陈述所有要求。瀑布模型需要这一点,并且难以适应许多项目开始时存在的自然不确定性。
③ The customer must have patience. A working version of the program(s) will not be available until late in the project time span.
顾客一定要有耐心。程序的工作版本要到项目时间跨度后期才会可用
Incremental Process Models 增量过程模型
the incremental model applies linear sequences in a staggered fashion as calendar time progresses. Each linear sequence produces deliverable “increments” of the software.When an incremental model is used, the first increment is often a core product. That is, basic requirements are addressed but many supplementary features (some known, others unknown) remain
undelivered.
增量模型随着日历时间的推移以交错方式应用线性序列。每个线性序列都会产生可交付的软件“增量”。当采用增量模型时,第一个增量往往是核心产品。也就是说,基本需求已得到满足,但许多补充功能(一些已知,另一些未知)仍未交付。
Evolutionary Process Models 演化过程模型
Prototyping 原型制作
什么时候用:
a customer defines a set of general objectives for software, but does not identify detailed requirements for functions and features
客户定义了一组软件的总体目标,但没有确定功能和特性的详细要求
a developer may be unsure of the efficiency of an algorithm, the adaptability of an operating system, or the form that human-machine interaction should take
开发人员可能不确定算法的效率、操作系统的适应性或人机交互应采取的形式
The Spiral Model 螺旋模型
Unlike other process models that end when software is delivered,the spiral model can be adapted to apply throughout the life of the computer software. Therefore, the first circuit around the spiral might represent a “concept development project” that starts at the core of the spiral and continues for multiple iterations until concept development is complete
与其他在软件交付时结束的流程模型不同,螺旋模型可以适应计算机软件的整个生命周期。因此,围绕螺旋的第一个回路可能代表一个“概念开发项目”,该项目从螺旋的核心开始,并继续进行多次迭代,直到概念开发完成。