About Us


  Process Models

  SE Resources


  Contact us

Breaking News!

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

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

A new book ... Roger Pressman and David Lowe on Web Engineering

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

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

A redesigned site! We've done a major redesign and added many new features for 2009 - 2010

Software Engineering Resources

Prescriptive Software Process Models

This page addresses software process models in the "prescriptive" category—that is, models that define a distinct series of activities, actions, and tasks, as well as a workflow that can be used to build computer software. The following topic categories are presented:

-- Process Models and Modeling
Process Patterns
Agile Process Models
Aspect-Oriented Programming
Component-Based Software
Concurrent Development
Formal Methods
Incremental Development
Rational Unified Process
Spiral Model
Waterfall Model

Just Released!
novel by
Roger Pressman!
Available in trade paperback and e-book editions. For more information, click here.

Process Models and Modeling

Process Model Comparison Table
A useful comparison of many important process models. Also contains an excellent glossary and other worthwhile information. Recommended.

Software Process Research Sites
The University of Massachusetts has compilers an extensive set of links to sites that address process modeling issues.

Process Modeling Tutorial
A brief tutorial on process modeling that covers each of the major prescriptive models.

Anchoring the Software Process
An older, but still useful, paper by Barry Boehm address the proliferation of process models and considers "common anchor points" among them.

Summary of Software Process Models
An in-depth, but somewhat dated discussion of software process models.

A software development process for small projects
This article describes "a software development process that is suitable for small software projects, of the type typically performed by postgraduate students."

A (Software) Process Bibliography
A selection of useful links and a paper bibliography developed by Mark Paulk.

pdf: Process Models in Software Engineering
An in-depth paper outlining many important software process models.

ppt: Software Process Models-Tutorial
This .ppt tutorial provides a useful overview of process models in a software engineering context.

pdf: Modeling Software Process Architectures
"In this paper, we describe our efforts in the development of an environment that supports the modeling, analysis and simulation of processes associated with software system acquisition activities."

Software Process Modeling
A paper that discusses a software process modeling case study conducted at the SEI.

A Modest But Practical Software Process Modeling Technique
This paper presents a simple methods for evaluating the efficacy of a software process. Free registration with BNET required.

Software Process Technology
A downloadable copy of a complete issue of "The European Journal for the Informatics Professional dedicated to software process technology

Process Patterns

The Process Patterns Resource Page
Scott Ambler has assembled a useful FAQ and pointers to patterns resources.

A List of Process Patterns Books
Pointers to recent books that address process patterns

pdf: Pattern-Oriented Approach to Software Process Evolution
This paper presents an approach for evolving software development processes using Software

pdf: Common Template for Software Development Process Patterns
The process template described in this document serves as one possibility to document a process model.

Processes + Patterns
An interesting slide presentation that argues that technical (e.g., analysis and design) patterns need process patterns and that process patterns improve technical patterns.

Process Patterns for Personal Practice
"Each of these patterns describes a personal process practice that is, something that you can actually do (alone, or in a group), which might help your software development - or at least help you to feel better about your software development."

pdf: Describing Process Patterns with UML
Describes an approach for using UML to describe process patterns.

Agile Process Models

Agile Process Models
RSP&A has developed a separate page for Agile resources.

Agile Software Development
An overview of all important aspects of ASD.

The OPEN Process Framework
The OPEN process framework contain much useful information (and pointers) about process meta-models, models, components, and classes. Worthwhile.

pdf: Six Aspects of An Agile Software Development Methodology
The purpose of this paper is to explicitly describe in detail these aspects that are part of our agile software solution framework (ASSF).

pdf: Agile software development and the nature of software development
A discussion of two properties of software development processes that are derived directly from its intangible nature and how agile software development helps us cope systematically with problems associated with these two properties.

Aspect-Oriented Modeling and Programming

• Resources

Aspect-Oriented Development-Hotlist
Links to many useful papers and resources for AOD.

Aspect-Oriented Software Engineering Special Interest Group
A few good paper bibliographies organized by date.

• Modeling

video: Aspect-Oriented Modeling - what it is and what it's good for
A general discussion of aspect-oriented modeling from a conference presentation

Aspect-Oriented Modeling-Hotlist
An extensive hotlist of AO links. Recommended.

Aspect Oriented Modeling
A discussion of AOM with downloads and examples.

Aspect-Oriented Software Development Examples
Three simple examples that illustrate the use of AOSD.

pdf: From AOP to UML: Towards an Aspect-Oriented Architectural Modeling Approach
This paper explores and analyzes the suitability of UML for aspect-oriented architectural modeling. It takes a bottom-up approach, starting from the code level to the level of software architecture description, via aspect-oriented design, using standard UML.

pdf: Aspect-Oriented Modeling of Access Control in Web Applications
"Access control is only inadequately supported by the common design methods for Web applications. We propose an aspect-oriented technique for solving this problem. Our approach is an extension of UML-based Web Engineering. UML state machines are used to specify the access control rules of navigation nodes.

pdf: Aspect-Oriented Context Modeling for Embedded Systems
"In this paper we propose an aspect-oriented context modeling technique for embedded systems, in which we show a strategy to model embedded systems that have context-dependent nature."

pdf: How to Model Aspect-Oriented Web Services
In this paper, an MDA approach to modelling Web Services, in which aspect-oriented techniques are also applied, is provided.

pdf: Product Line Implementation using Aspect-Oriented and Model-Driven Software Development
An interest discussion of two important development paradigms.

pdf: Product Line Implementation using Aspect-Oriented and Model-Driven Software Development
fAn interest discussion of two important development paradigms.

• Programming

Aspect-Oriented Programming - 1
A useful set of links for aspect-oriented software development (AOSD)

Aspect-Oriented Programming - 2
A description of AOSD language constructs and semantics.

A short Intro to AOP
A brief introduction to aspect-oriented programming with a few simple examples.

A look at aspect-oriented programming
An intermediate level discussion of AOP.

Improve modularity with aspect-oriented programming
With the recent release of AspectJ by Xerox PARC, Java developers can now take advantage of the modularization AOP can provide. This article introduces AspectJ and illustrates the design benefits that result from its use.

Aspect-Oriented Programming and Security
An article that argues that "AOP can have a substantially beneficial impact on application security."

Video: Aspect-Oriented Programming
An hour long video lecture with an additional slide presentation.

Component-Based Software Engineering
see also our Component-Level Design page)

Component-Based Development HQ
A variety of different resources, papers and information that support the component-based process.

Component-Based Development - 1
This site addresses "software component" and contains useful links and resources.

Component-Based Development - 2
CETUS - objects and components provides hundreds of useful links.

Component-Based Development - 3
A paper by David Tanacea that discusses why the vision of CDB has not met reality.

An excellent introduction to CBSE. Recommended.

Introduction to CBSE
This introductory paper addresses "what" and "why." Also considers the CBSE process and domain engineering.

Component-Based Software Engineering-Slide Presentation
A introduction to CBSE.

Concurrent Development

Concurrent Development Projects
The authors of this paper address iteration management as a means for overcoming the 90% complete syndrome.

Formal Methods
see also our Formal Methods page)

Formal Methods
RSP&A has developed a separate page for Formal Methods resources.

Incremental Development

Iterative Software Development-Hotlist
Useful pointers for both iterative and incremental development.

Incremental Development
An excellent paper on incremental process models for small projects.

Iterative and incremental development
An in-depth introduction at Wikipedia.

Iterative and Incremental Development: A Brief History
A brief history of the volution of software engineering thinking as it applied to incremental development. Recommended.

Don't know what I want, but I know how to get it
An intertaining article that serves as an introduction and food for thought. Recommended.

Incremental Software Development-List of Papers
A list of papers with an ISD theme.

Incremental and Agile software development
The relation and differences between agile development and incremental development and where they intersect.

Iterative and incremental development explained
A brief article that serves as a useful introduction.

Incremental Software Development
An article with the provocative title: Going round and round and getting nowhere eXtremely fast?

'Growing' software - a metaphor for incremental software development
A dated but still interesting discussion.

Using Both Incremental and Iterative Development
An article by Alistair Cockburn. Recommended.

Video: Embrace Uncertainty, Part I (agile incremental approach)
"Jeff Patton's message is to question what you think you know if you want to avoid the troubles you could run if processes are followed by the book."


Prototyping Tutorial
Another in-depth tutorial (slide presentation) on prototyping

Prototyping Notes
A abbreviate set of lecture notes on prototyping.

Prototyping Bibliography
An extensive prototyping bibliography prepared by the SEI.

Software prototyping
An indepth introduction at Wikipedia.

ppt: Software Prototyping
A Powerpoint presentation covering many important aspects of the subject.

Top ten tips for software prototyping
The top ten tips to help you rapidly prototype software.

What is software prototyping?
An introductory discussion.

Software prototyping
A reasonably detailed discussion of the subject.

Software Prototyping using Scripting Languages
A brief article describing the use of scripting languages (e.g., Perl, Python, PHP and Tcl ) for prototyping.

Rapid Software Prototyping
An introductory discussion.

Rapid prototyping
A 12 step approach.

Software Prototyping Stages
Discusses the three stages of prototyping activity.

Emergent Design vs. Early Prototyping
Emergent design (sometimes referred to as emergent architecture) is an evolutionary prototyping technique used to "evolve" a design, through refactoring, from code-with little or no significant up-front design. This article discusses the concept.

Independent Rapid Prototyping Software Providers
Links to tools vendors who specialize in prototyping tools.

Prototyping and JAD
With prototyping, your team works with the client to collect their requirements, normally done during JAD (Joint Application Development) sessions. As requirements are collected, your technical team should develop prototypes of the screens, reports, processes and the associated workflow.

Software Prototyping Technology
A brief list of papers and links.

The Perils of Prototyping
A dated but still worthwhile discussion of prototyping's dark side.

Paper Prototypes Work as Well as Software Prototypes
An argument in favor of paper prototypes.


Personal Software Process/Team Software Process (PSP/TSP) Support Tools
Information of the "software process dashboard" project - an attempt to provide support tools for PSP and TSP.

PSP/TSP papers
Detailed reports and guidelines for implementing PSP and TSP.

• Personal Software Process (PSP)

Personal Software Process
An introduction at Wikipedia

Overview of Team Software Process and Personal Software Process
A brief overview of TSP and PSP

Personal Software Process-Links
Pointers to books, articles, and resources.

Personal Software Process Resources
A discussion of PSP with appropriate links to paper and other resources.

The Software Process Dashboard
The Software Process Dashboard Project is an open-source initiative to create a PSP(SM) / TSP(SM) support tool.

PSP Resources Page
Links to docs, tools, forms, and other resources.

The Personal Software Process (PSP) Body Of Knowledge, Version 1.0
Designed to complement SWEBOK.

The Personal Software Process (PSP): An Empirical Study of the Impact of PSP on Individual Engineers
This report documents the results of a study that is important to everyone who manages or develops software. The study examines the impact of the Personal Software Process on the performance of 298 software engineers.

• Team Software Process (TSP)

Designing in UML With the Team Software Process
One of the ways TSP improves product quality is through emphasis on design. A heavy design emphasis is also the hallmark of the newer programming environments. This article examines how modern design techniques can be used on a TSP project.

TSP Resource List
An abbreviate list of TSP resources.

Video: Using the Team Software Process (TSP) to Improve Performance
An SEI webinar on TSP. In-depth. Recommended.

pdf: The Team Software Process
A worthwhile powerpoint presentation that describes all important aspects of TSP.

Implementing TSP process to build better software products
A brief description of TSP with a few useful links.

CMMI Level 5 and the Team Software Process
A discussion of CMM requirements and the TSP.

Comparing TSP with Agile Methods (Scrum and Crystal)
Downloadable powerpoint presentations addressing the comparisons noted.

TSP Evaluation Framework (TSP-EF)
TSP-EF is a tool to support SEI-authorized TSP Coaches in quantitatively analyzing how well their teams are adhering to the principles and practices of TSPSM and PSPSM.


Rapid Application Development (RAD) - 1
A reasonably detailed discussion of RAD has been developed by Walter Maner.

Rapid Application Development (RAD) - 2
Another reasonably detailed discussion of RAD has been developed by Walter Maner.

Rapid Application Development (RAD) - 3
A paper by Stephen Cross that discusses "disciplined" RAD.

RAD Tools
A representative RAD tool set. (Inclusion here does not represent an endorsement)

Rapid application development
A reasonably detail introduction presented at Wikipedia.

The ABCs of XP, RAD, and PSP
A brief survey of three important process models and methods.

pdf: What is RAD?
A white paper coverall most important aspects of RAD including benefits, history and key elements.

RAD (Rapid Application Development)
A brief overview of key elements and connection to key SE activities.

Rational Unified Process

The Rational Unified Process
A collection of white-papers written by staff and consultants at Rational on the RUP

IBM Rational Unified Process
In depth discussion presented at Wikipedia.

Video: Benefits of the RUP Software Development Model
A very brief discussion of benefits.

Rational Process Library
"Rational Process Library offers the industry's most robust collection of best practices guidance for software and systems development, management, and governance." Recommended.

A Manager's Introduction to RUP
A useful overview by Scott Ambler.

Agile Modeling and the Rational Unified Process (RUP)
An argument in favor of combining agility principles, agile modeling, and RUP.

The Rational Objectory Process - A UML-based Software Engineering Process
This paper presents "an overview of the Rational Objectory Process. The Rational Objectory Process is a full lifecycle software engineering process bringing Unified Modeling Language (UML) best practices to the fingertips of each software developer. Objectory is a controlled iterative process, with strong focus on architecture. It is a use-case driven, object-oriented process, using the UML as a notation for its models. Objectory can be configured to fit a wide range of projects."

Rational Unified Process for Systems Engineering
"This paper introduces a variant of the Rational Unified Process (RUP) that addresses the problem of system specification, analysis, design, and development. As a derivative of RUP, RUP SE consists of new artifacts as well as modifications of RUP the creation of those artifacts."

Spiral Model

The Spiral Model - a paper
A paper by Barry Boehm (the developer of the Spiral Model) published in Crosstalk.

The Spiral Model - case study
A paper from the IEEE Digital library (full paper required payment of a small fee).

Spiral Model
Good introduction to basic concepts at Wikipedia.

Spiral Model Snapshot
A one page snapshot that provides a capsule understanding of the spiral model.

Spiral Model and Agility-Commentary
A brief commentary of the subject.

pdf: A Spiral Model of Software Development and Enhancement
One of the seminal papers on the Spiral Model by Barry Boehm.

Balancing Discipline and Flexibility With the Spiral Model and MBASE
A discussion of the spiral model used in conjunction with Model-based Architecting and Software Engineering (MBASE).

The Spiral Model as a Tool for Evolutionary Acquisition
This paper provides clearer definitions of a set of six Spiral Model Essentials or critical success factors for spiral development. It illustrates each with examples, identifies the hazardous look-alikes to avoid, and provides guidelines for using the spiral model in support of evolutionary acquisition.

Waterfall Model

The Waterfall Model (Linear Sequential Model)
A quick summary of the waterfall model.

The waterfall model
An in-depth discussion presented at Wikipedia.

Water Fall
A discussion of the waterfall with a number of pointers to commentary and discussion. Recommended.

The waterfall model
A brief overview with discussion of advantages and disadvantages.

The Waterfall Model
A brief discussion and diagram.

The Waterfall Model Explained
A capsule discussion.

Understanding the pros and cons of the Waterfall Model
"This article provides a quick and dirty introduction to the model, explaining what it is, how it's supposed to work, describing the six phases, and why the model can fail."

Six Wise Blind Elephants and The Waterfall Model
Commentary. An allegory.

Waterfall development model considered harmful
Commentary and criticism.


In depth introduction to the V-Model at Wikipedia.

Introduction to the V-Model
A brief introduction to key elements.

The V Model
A general discussion of the V-Model as it's used by the German Federal Armed Forces.

The V Model
A collection of posts on the V-Model.


Most software engineering textbooks consider traditional process models in some detail. The following books consider tradition paradigms and discuss their strengths and weaknesses:

Software Engineering: A Practitioner's Aproach
Software Engineerin
Software Engineering: Theory and Practice
Object-Oriented and Classical Software Engineering

Software Engineering for Small Teams
uses a case study approach coupled with the application of the Unified Process as it is applied for small projects.

Software Process Dynamics
discusses modeling techniques that allow the interrelated technical and social elements of the software process to be analyzed. Workflow Modeling: Tools for Process Improvement and Application Development presents tools for modeling both software and business processes.
The Mythical Man-Month presents project wisdom that has everything to do with process.

Practical Software Reuse (Practitioner Series)
Software Reuse and
Software Reuse Techniques present much useful information on component-based development.
Component-Based Software Engineering describes the process required to implement component-based systems.
Software Process Quality: Management and Contro considers how quality management and process design are intimately connected to one another.

Software Process Technology and
Software Process: Principles, Methodology, and Technology present edited conference proceedings that cover many research and theoretical issues that a relevant to the software process.

The Unified Software Development Process is the seminal book on the Unified Process.
UML and the Unified Process and
The Unified Process provide excellent complementary information.
The Rational Unified Process is a worthwhile introduction to the UP.
Software Project Management: A Unified Framework presents project management within the context of the UP.

Site search! We've added links to a search engine that will enable you to search our entire site for information you need. Enter the appropriate word or phrase below.


Home About us Products Product Models SE Resources Commentary Contact us

Web site and all contents © R.S. Pressman & Associates, Inc. 2001 - 2010, All rights reserved.
Free website templates