Process Modeling


Process Basics

Framework Definitions

Basic Definitions
Software
Engineering
The disciplined application of engineering, scientific, and mathematical principles, methods, and tools to the economical production of quality software.
Software
Engineering
Process
The total set of software engineering activities needed to transform the user's requirements into software.
Software
Process
Architecture
A framework within which project-specific software processes are defined.
Software
Process
Model
One specific embodiment of a software process.
Software
Process
The set of activities, methods, and practicies that are used in the production and evolution of software.

Levels of Software Process Models

Model TypeCharacteristics
UniversalDescribes the basic process steps and provides gneral guidance on their role and order (e.g., Waterfall and Spiral Model).
Permit global understanding and provide a framework for establishing policies.
AtomicPrecise data definitions, algorithmic specifications, information flows and user procedures. Atomic process definitions are often embodied in process standards and conventions.
Provide atomic detail for training and task mechanization.
WorldlyGuides the sequence of tasks, defines task prerequisites and results, spcirfy who does what when, models anticipated results, measure and key checkpoints.
Guide daily work.

Software Process Architecture

The three levels must be present in the process framework giving policies, procedures and standards (corresponding to the three levels). The architectural framework provides a definition for the basic elements, how they relate and how they are decomposed into greater detail.

The basic element of the process model is the Unit Cell. A unit cell is defined to accomplish a specific task and is uniquely identified. Each cell has required entry conditions with inputs, task standards, procedures, methods, responsibilities, and measures. Exit conditions define the results produced, their level of validation, and any post-task conditions. Feedback is allowed to and from other unit cells.


Table 1: Basic Unit Cell Specification
Unit Cell
Specification
EntryConditions to be met before task initiation
ExitResults produced
FeedbackIN: Feedback from other cells
OUT: Feedback to other cells
TaskWhat is to be done (who, what, when)? Standards, procedures, and responsibilities.
MeasurementsTask, output, and feedback measures

The Table 2 provides an example that should highlight the modeling activity. In particular, Table 2 offers a model for what we normally refer to as the development cycle for small projects.


Table 2: Unit Cell Definitions for Process Model
Standard as Process
Cell001002003
EntryApproved requirements, changes and development planInspected and approved design and changesInspected and approved code and changes
ExitInspected and approved design and changesInspected and approved code and changesInspected, tested and approved software
Feedback
In
Design IssuesImplementation Issues
Feedback
Out
Requirements IssuesRequirements and Design IssuesRequirements, Design Issues, and implementation issues
TaskDesignImplementation, Inspection and unit testTesting: Integration, Function, System, and Acceptance
MeasuresResources, Product: Changes, Errors, Design, Document PagesResources, Product: Changes, Errors, Code, Document PagesResources, Product: Changes, Errors, Code, Document Pages, Test Suite

[Process Modeling Menu]
[AINSI] [Elicit]

Reference

Humphrey, W. (1989) Managing the Software Process. Reading, MA: Addison-Wesley. p. 247-286.


AINSI

Remarks on AINSI - An Inductive Software Process Improvement Method: Concrete Steps and Guidelines. (postscript)

1. What are the tasks in the process?
2. What are the dependencies between these tasks?
3. When do the tasks start and end?
4. Who are the actors that perform these tasks? What roles do these actors assume in the particular tasks?
5. What are the interdependencies between the actors?

The conceptual framework of Armitage and Kellner consists of three entity classes (agent, activity, artifact), and two aspects (relationships between and among entities, and behavior of enitities their relationships).

[Process Modeling Menu]
[Process Basics] [Elicit]

Elicit

The Elicit approach to process model elicitation is characterised by three dimensions: View (see Eliciting Formal Models of Software Engineering Processes, Method (see Elicit: A Method for Eliciting Process Models), and Tool.

The View dimension represents the different views from which one can visualise a process. In our projects, we generally use five perspectives:

  1. Process Steps that are carried out in the software process,
  2. Artifacts that are produced or consumed by the process steps,
  3. Roles that are played by human and other agents in the process,
  4. Resources that are necessary to carry out the process, and
  5. Constraints that are acting on the process.

View Model

Another dimension to view is property. The property dimension attempts to capture attributes that describe the process. Elicit support three types of properties: descriptive, static, and dynamic.

[Process Modeling Menu]
[Process Basics] [AINSI]
[Software Process Collection]
[Process Education] [Bibliographies] [Standards] [Research] [Resources]

To CIS Department at UMass Dartmouth
To UMass Dartmouth

Comments should be sent to

Richard Upchurch (rupchurch@umassd.edu)
or
webmaster@cis.umassd.edu
Computer and Information Science Department
University of Massachusetts Dartmouth
285 Old Westport Rd.
N. Dartmouth, MA 02747-2300
RUpchurch@umassd.edu

This document
Created: March 8, 1996
by RLU

Modified: August 6, 1996