2.4 PRACTICAL PROCESS MODELING(实际的过程模型)

Chapter 2
Modeling the Process and Life Cycle
2007/2008
Software Engineering
Learning objectives
Define what is meant by the term “process” and how it
applies to software development.
(过程的定义与其在软件开发中的应用)

Describe the activities, resources and products
involved in the software development process.
(软件开发过程中有关活动、资源与产品的描述)

Describe several different models of the software
development process and understand their drawbacks
and when they are applicable.
(描述了几个不同的软件开发过程模型,了解它们的缺点与适用
条件)

Describe the characteristics of several different
tools and techniques for process modeling.
(描述了过程模型中几个不同的工具与方法的特征)

2.1 THE MEANING OF PROCESS
(过程的含义)
① A process
A series of steps involving activities(活跃),
constraints(约束), and resources(资源) that produce
an intended(打算/计划) output of some kind.
2.1 THE MEANING OF PROCESS
②process characteristics
. The process prescribes(规定) all of the major process
activities.
. The process uses resources subject to a set of constraints
(such as a schedule), and produces intermediate(中间的) and
final products.
. The process may be composed(组成,构成) of subprocesses
that are linked in some way. The process may be defined as a
hierarchy(层次) of processes, organized so that each subprocess has its own process model.
. Each process activity has entry and exit criteria(准则,条
件), so that we know when the activity begins and ends.
2.1 THE MEANING OF PROCESS
②process characteristics
. The activities are organized in a sequence(顺序,时序),
so that it is dear when one activity is performed relative
to the other activities.
. Every process has a set of guiding(导向) principles that
explain the goals of each activity
. Constraints(约束条件) or controls may apply to an
activity resource, or product. For example, the budget or
schedule may constrain the length of time an activity may
take or a tool may limit the way in which a resource may
be used.
2.1 THE MEANING OF PROCESS
③software life Cycle
it describes the life of a software
product from its conception(构思) to
its implementation(实现),
delivery(交付), use(应用), and
maintenance(维护)
2.2 SOFTWARE PROCESS MODELS
(软件过程模型)

Waterfall Model(瀑布模型)
Requirements
Analysis
System
Design
Program
Design
Coding
Unit & Integration
Testing
System
Testing
Acceptance
Testing
Operation
& Maintenance
2.2 SOFTWARE PROCESS MODELS
Requirements
Analysis
Verify
System
Design
Program
Design
Validate
Coding
Prototyping
Unit & Integration Testing
System
Testing
Acceptance
Testing
Operation
& Maintenance
The waterfall model with prototyping
2.2 SOFTWARE PROCESS MODELS

V Model(V模型)
The V model is a variation(变种) of the waterfall model that
demonstrates(示范) how the testing activities are related to
analysis and design
Operation
& Maintenance
Requirements
Analysis
Acceptance
Testing
System
Design
System
Testing
Program
Design
Unit & Integration Testing
Coding
2.2 SOFTWARE PROCESS MODELS

Prototyping Model(原型模型)
List of
Revisions(修正)
revise
prototype
List of
Revisions
Prototype
Design
Prototype
System
user/
customer
review
Prototype
Requirements
System
Requirements
(sometimes
informal
or incomplete)
List of
Revisions
Test
Delivered
System
The prototyping model
2.2 SOFTWARE PROCESS MODELS

Operational Specification(操作规范)
Execute(执行) and
Revise
Operational
Specification
(problem-oriented)
System
Requirements
(sometimes
informal
or incomplete)
Transformed
Specification
(implementation
(实施)-oriented)
Test
Delivered
System
The operational specification model
2.2 SOFTWARE PROCESS MODELS

Transformational Model(转换模型)
Formal Development Record
Compare with
requirements;
update as needed
Sequence of transformation
Transform N
·
plus rationale for them
·
·
Formal
Specification
Transform 2
Test
Transform 1
System
Requirements
(sometimes
informal
or incomplete)
Delivered
System
The transformational model.
2.2 SOFTWARE PROCESS MODELS

Phased Development:
Increments and Interactions(分
阶段开发:增量交互)
2.2 SOFTWARE PROCESS MODELS

Spiral Model(螺旋模型)
2.3 TOOLS AND TECHNIQUES FOR PROCESS
MODELING (过程模型的工具与方法)
In particular, the elements(原理) of a process are viewed
in terms of seven types:
1. Activity: Something that will happen in a process. This
element can be related to what happens before and after,
what resources are needed, What triggers the activity's
start, what rules govern the activity, how to describe the
algorithms(运算法则) and lessons learned, and how to
relate the activity to the project team.
2. Sequence(顺序): The order of activities. The sequence
can be described using triggers(触发器), programming
constructs, transformations, ordering, or satisfaction of
conditions.
3. Process model: A view of interest about the system.
Thus, parts of the process may be represented as a
separate model, either to predict(预计,预言,预测)
process behavior or to examine certain characteristics.
To be continue….
2.3 TOOLS AND TECHNIQUES FOR
PROCESS MODELING
4. Resource: A necessary item (项目;条款,内容; 对象,数
据项), tool, or person. Resources can include equipment,
time, office space, people, techniques, and so on. The
process model identifies how much of each resource is
needed for each activity
5. Control: An external influence (外部影响) over process
enactment(设定, 制定). The controls may be manual or
automatic, human or mechanical.
6. Policy(政策): A guiding principle (指导原则). This highlevel process constraint influences process enactment. It
may include a prescribed development process, a tool
that must be used, or a mandatory management style.
7. Organization: The hierarchical structure (层次结构, 分级
结构) of process agents(代理(商)), with physical grouping
corresponding to logical grouping and related roles.
2.3 TOOLS AND TECHNIQUES FOR
PROCESS MODELING

Dynamic Modeling: System Dynamics
(动态模型:系统动态)
Structure of software development (Abdel-Hamid l996).
2.4 PRACTICAL PROCESS
MODELING(实际的过程模型)

Marvel Case Studies
1. a rule-based specification of process
behavior (一个基于规则的过程行为)
2. an object-oriented definition of the model's
information process(一个面向对象模型的信息过
程的定义)
3. a set of envelopes to interface between
Marvel and external software tools used to
execute the process.
2.4 PRACTICAL PROCESS MODELING
Desirable properties of Process Modeling
Tools and Techniques
(合乎过程模型要求的工具与方法的性质)
1. Facilitates human understanding and
communication. (易于理解与交流)
2. Supports process improvement. (支持过程的改进)

3. Supports process management. (支持过程管理)
4. Provides automated guidance in performing
the process. (在执行过程中自动给予指导)
5. Supports automated process execution. (支持
自动过程的运行)