Home

  About Us

  Products

  Process Models

  SE Resources

  Commentary

  Contact us

Breaking News!

A new blog ... visit OnCenter, Roger Pressman's running commentary on the world at large

A new edition ... the 6th edition of Software Engineering is available now

A first novel ... Roger Pressman's first novel is a technothriller -- The Aymara Bridge

A new training curriculum! RSP&A has partnered with QAI to develop a comprehensive Internet-based software engineering curriculum.

A redesigned Web site ... we've done a major redesign and added many new features

 
Reference Library
Prescriptive Process Models

This page provides access to a variety of downloadable papers that address prescriptive process models. The following topics are considered:

Process Models Unified Process



Process Models

A Collaborative Spiral Software Process Model Based on Theory W [PDF]
Barry Boehm and Prasanta Bose

This paper presents an extension of the Spiral Model, called the Next Generation Process Model (NGPM), which uses the Theory W (win-win) approach to converge on a system's next-level objectives, constraints, and alternatives. This paper provides a summary of the resulting NGPM. It reports on experiences in applying it to a large Department of Defense program; in developing and experimenting with an initial support system for it; and in developing a refined model and support system based on the results of the experiment. The paper also compares the NGPM approach with related work in collaborative software processes and computer supported cooperative work (CSCW), and presents a set of conclusions from the work to date.

An Iterative-Cyclic Software Process Model [PDF]
Matthias Rauterberg

The current state of traditional software development is surveyed and essential problems are investigated on the basis of system theoretical considerations. The concept of optimisation cycle is presented. The relationship between several different kinds of local optimisation cycles with known techniques for user-participation is discussed and integrated into a general concept of participatory software development. The pros and cons of essential problems known to obstruct optimal software development and possible ways of solving them are considered.

A Model of the Software Development Process Using Both Continuous and Discrete Models [PDF]
Robert Martin and David Raffo

Discrete event models describe process steps, but may not have enough events to represent feedback loops accurately. The authors have developed a combined model that represents the software development process as a series of discrete process steps executed in a continuously varying project environment. They demonstrate the feasibility of this model by combining a discrete event model of the ISPW6 software process example with the system dynamics model developed by Abdel-Hamid and Madnick.

A Reflexive Formal Software Process Model [PDF]
J. Sa and B.C. Warboys

In this paper a very simple reflexive formal software development method is described. The method is called OBM which provides a formal specification language. This paper demonstrates that the OBM development method can be defined as a process model in the OBM language. An example is used to illustrate how to develop and modify applications using the OBM development method.

A Software Process Model to Support Learning of COTS Products [PDF]
Letizia Jaccheri and Marco Torchiano

This paper proposes a learning phase that supplements a more traditional acquisition approach. This learning phase provides support for COTS products discovery and manages qualitative data coming together with COTS products and the relationship between the architecture of the final system and the selected COTS products. This learning phase is described by a software process model and results from the execution of this process model are presented.

A Spiral Model of Software Development and Enhancement [PDF]*FEE*
Barry W. Boehm

A short description is given of software process models and the issues they address. An outline is given of the process steps involved in the spiral model, an evolving risk-driven approach that provides a framework for guiding the software process, and its application to a software project is shown. A summary is given of the primary advantages and implications involved in using the spiral model and the primary difficulties in using it at its current incomplete level of elaboration.

Computer - Aided Verification of Software Process Model Properties [PDF]
Alfred Bröckers and Volker Gruhn

This paper introduces an approach to computer-aided verification of software process model properties. This paper focuses on the verification of static and dynamic software process model properties and defines some software process model properties and introduces the notion of coverability trees for FUNSOFT nets. Also the paper discusses how a verification component for FUNSOFT nets is integrated into the software process management environment MELMAC.

Modeling of Integrated Product Development Processes [PDF]
Herbert Negele, Ernst Fricke, Lutz Schrepfer and Nicole Härtlein

The analysis of models and textual documentation of the engineering processes in an automotive company revealed the special need for modeling concurrent engineering processes. Existing methods didn't support these needs sufficiently. Therefore, a single method for mapping and interconnecting the processes of all different engineering disciplines was agreed upon, which describes inputs and outputs (e.g. informational objects) for every process. The paper d escribes the reasons for an engineering process driven modeling method, the method itself and its application. Also, lessons learned from this approach are described.

Problems of Scale and Process Models [PDF] *FEE*
Dewayne E. Perry

This position paper first presents a sociological metaphor, which the author found useful in characterizing software development environments, and applying it to software process models. Next, the paper discusses the problems inherent in managing generic process models and their evolution in the context of this metaphor. Finally, the requirements that the problems of scale and generic process models place on the supporting environment are considered.

Process Design II - Queuing Theory [HTM] *FEE*
Jim Highsmith

Many rigorous approaches to process design (the Software Engineering Institute's Capability Maturity Model, for one) are based on deterministic mathematics, specifically statistical quality control techniques to systematically reduce variation and create "repeatable" processes. This article discusses two important properties of all queuing systems impact product development and factors that affect the size of queues.

Process Design III - Design the Process [HTML] *FEE*
Jim Highsmith

This article discusses process design. Achieving balance of flexibility and structure and how design of control and feedback systems impacts outcomes are discussed.

Software Process Models [PDF]
Author Unknown

This slide presentation covers the Waterfall Model and the Spiral Model.

Back to the top

Aspect-Oriented Programming

Alternatives to Aspect-Oriented Programming? [PDF]
David Bruce and Nick Exon

In the interest of stimulating debate, this paper presents a broad, all-inclusive view of aspect-oriented programming (AOP) and related initiatives. In particular, the paper contrast the compelling vision used to 'sell' the idea of AOP with the more finicky nature of its realizations to date. The authors outline a scenario and ask whether the direction it is currently following is likely to take us as far as we really need to go.

An Initial Assessment of Aspect-oriented Programming [PDF]
Robert J. Walker, Elisa L.A. Baniassad and Gail C. Murphy

In aspect-oriented programming, explicit language support is provided to help modularize design decisions that cross-cut a functionally-decomposed program. Aspect-oriented programming is intended to make it easier to reason about, develop, and maintain certain kinds of application code. To investigate these claims, the authors conducted two exploratory experiments that considered the impact of aspect-oriented programming, as found in AspectJ version 0.1, on two common programming activities: debugging and change. The experimental results provide insights into the usefulness and usability of aspect-oriented programming and also raise questions about the characteristics of the interface between aspects and functionally decomposed core code that are necessary to accrue programming benefits.

Chapter 7 Aspect-Oriented Decomposition and Composition [PS]
K. Czarnecki

This is a chapter from the book Generative Programming. It covers the basic concepts of AOP with examples in C++, Java, Smalltalk, and in AspectJ, Demeter, SOP and Composition Filters; and techniques for implementing weaving.

Aspect-Oriented Programming [PDF]
Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier and John Irwin

This paper presents an analysis of why some design decisions have been difficult to capture in code. Aspects are the properties the decisions address and they are difficult to capture because they "cross-cut the system's basic functionality". This paper introduces a new programming technique called aspect-oriented programming which makes it possible for programs with these aspects to be expressed.

Metrics for Aspect-Oriented Software Design [PDF]
Aida Atef Zakaria and Hoda Hosny

Aspect-Orientation (AO) aims at modularizing crosscutting concerns in software systems. Some OO metrics can be used to measure AO systems, since AO is an extension to OO. This paper describes the Chidamber and Kemerer (C&K) metrics suite, a suite of metrics for evaluating object oriented designs. This paper discusses the effect of AO on these metrics, and suggests some future work for defining AO metrics.

Back to the top

Unified Process

Applying UML in the Unified Process [PDF]
Ivar Jacobson

This slide presentation is on the Unified Modeling Language and The Unified Process. It contains models and diagrams, creating the unified process, lifecycle phases, major milestones, phases and iterations, iterations and workflow, workflows and models, use case model, analysis and design model, deployment and implementation model, test model, use cases drive iterations, architecture and models

How to Fail with the Rational Unified Process: Seven Steps to Pain and Suffering [PDF]
Craig Larman, Philippe Kruchten and Kurt Bittner

The Rational Unified Process® is a software development process which must be adapted to each project. This article shares some common pitfalls software teams have had while trying to adapt the RUP to their needs.

Chapter 2 Iterative Development and the Unified Process [PDF]
Craig Larman

This chapter is a sample chapter from Applying UML and Patterns - An Intro to OOA/D and the Unified Process. This chapter's objectives are: to provide motivation for the content and order of the subsequent chapters, define an iterative and adaptive process and define fundamental concepts in the Unified Process. Other chapters from this book can be viewed here.

Lecture 4
Process and Method: An Introduction to the Rational Unified Process [PPT]

Author Unknown

This PowerPoint presentation outlines the following: the waterfall method, the rational unified process, risk management, use cases and analysis model.

Rational Unified Process
Process Description and Workflows [PDF]

Mike Fourman

This slide presentation outlines the elements used in describing processes and also outlines the RUP workflows. The main focus on these slides is the Requirements Workflow which is described in detail. Use cases are also introduced.

Back to the top