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

Analysis Modeling
The written word is a wonderful vehicle for communication, but it isn't necessarily the best way to represent the requirements for computer software. Analysis modeling uses a combination of text and diagrammatic forms to depict requirements for data, function, and behavior in a way that is relatively easy to understand, and more important, straightforward to review for correctness, completeness and consistency. This section presents resources for conventional and object-oriented analysis (OOA) methods as well as resources for UML.

Analysis modeling is an extremely robust subject. This set of resources has been organized into the following topic areas:

Requirements Analysis - General

Scenario-Based Modeling

Data Modeling

Flow-Oriented Modeling (Structured Analysis)

Object-Oriented Modeling

Behavioral Modeling


Requirements Analysis - General

Requirements Templates
A set of requirements templates and checklists can be downloaded from this site.

Requirement Specification Template
A comprehensive requirement specification template (with detailed explanatory text) can be found here.

Requirements Modeling Examples
A discussion of a variety of different requirement modeling methods with examples.

Requirements Study Guides and Case Studies
Mark Ridley has developed a "distilled set of experiences and best practice techniques, applicable to most data processing environments" as ppt presentations.

Requirements Patterns
This paper discusses "how event/use case modeling can be used to identify, define and access requirements patterns."

Agile Analysis Modeling
Scott Ambler discusses an agile approach to analysis modeling. Recommended.

Requirements Analysis Tutorial and Guidelines
Mark Ridley has developed an in-depth tutorial (with slides) that discusses the requirements analysis process with special emphasis on third party developed systems in an IT environment. Recommended.

.UML-Based Modeling

Unified Modeling Language (UML)
An reasonably detailed discussion at Wikipedia.

UML Resource Page
Home of everything UML.

UML Resources-I
An extensive collection of resource links.

UML Resources-II
Pointers to tools, training, processes, publications and more.

UML Resource Center
Sponsored by Rational Software Corp., this site contains a wide variety of information about the Unified Modeling Langue and its application.

The UML Bibliography
Contains over 300 linked references.

Unified Modeling Language (UML) Tutorial-I
A indepth tutorial. Requires a lot of reading, but worthwhile.

Unified Modeling Language (UML) Tutorial-II
Another tutorial for UML.

Tutorial - UML Notation
Introduction to basic OOA concepts and UML notation

UML basics: An introduction to the Unified Modeling Language
A worthwhile introduction.

Modeling Style Guidelines
Guidleines for good UML style.

How to Draw Uml Diagrams
An in-depth tutorials. Recommended.

Introduction to the Diagrams of UML 2.0
Detailed discussion of UML 2.x diagrams.

Why Model With UML?
Discusses the benefits of UML modeling. Contains links to useful diagram tutorials.

UML Modelling Learning Trail
Pointers to tutorials, articles and Applications.

Software Development Magazine Design Center
Many useful articles on UML.

Tutorial - OOA/OOD with UML
Detailed tutorial by the Rational Corp.

OOA/OOD with UML - 1
A detailed tutorial by the Ratio Group.

Analysis model example using UML
A student project that is worth a look.

pdf: Using UML for Modeling Complex Real-Time Systems
The paper "describes a set of constructs that facilitate the design of software architectures in this domain."

Modeling Web Application Design with UML
Provides a reasonably detailed look at UML and WebApp modeling.

List of UML tools
An abbreviated list of tools.

Video: UML Fundamentals
A brief video that describes basic concepts (6:09)

Video: UML: Architecture, Domain and Class Diagrams 1 of 2
First of two parts that discusses a set of UML diagrams

Scenario-Based Modeling and Use-Cases

Use-Cases - Overview
A concise description of what a use case is, how you create one and what it describes.

Use-Case Zone
Many useful resources and pointers.

Use-Cases - When are we finished?
A set of useful guidelines from Pete McBreem on comp.object.

Use-Cases - A survey of approaches
A detailed paper that discusses different approaches for developing use-cases.

Use-Cases - A comprehensive example
A comprehensive example of use-case realization of design documents. Recommended.

Use-Cases - Pros and cons
A discussion by Donald Firesmith of the pros and cons of use-cases. See also an editorial - Are use-cases the death of good UI design?

Use-Cases - Top 10 mistakes
A three-part tutorial (pointers to first 2 parts are included) that concludes with this article.

Constantine and Lockwood, Ltd.
Many useful papers of use-case methods and related subjects.

Functional Requirements and Use-Cases
A brief overview by Bredermeyer Consulting.

Unified Scenario-Based Design, Part 1: Methodological principles
"Unified Scenario-Based Design is an end-to-end methodology that addresses how to provide crisp requirements to system architects, designers, and developers?"

pdf: System Architecture: the Context for Scenario-based Model Synthesis
From the paper: "Our aim is to facilitate model construction. Scenarios provide simple, intuitive, example based descriptions of the behaviour of component instances in the context of a simplified architecture instance.

pdf: Modeling and Composing Scenario-Based Requirements with Aspects
This paper focuses on "on scenario-based requirements and show how to compose aspectual and non-aspectual scenarios so that they can be simulated as a whole."

pdf: Scenario-based design
A powerpoint presentation with examples.

pdf: Reusing Scenario Based Approaches in Requirement Engineering Methods
"In this paper we present a unified approach to using scenarios to support both the design, analysis and maintenance of software architectures, and examples from large-scale software development projects where we have applied the approach."

pdf: Scenario-Based Generation and Evaluation of Software Architectures
"This paper discusses an approach for generating architectures that can be evaluated with respect to functional and non-functional requirements.. It centers around a rich feature-solution graph which captures the evolving knowledge about requirements and solution fragments."

pdf: Toward a Discipline of Scenario-based Architectural Engineering
"The view developed in this paper is that scenario based approaches should be looked upon as reusable components."

Video: Creating UML Use Case Diagrams
Discusses the basics while introducing a drawing tool, called UModel (5:38)

Data Modeling

"The primary purpose of DataModel.Org is to provide a means of communicating the needs and experiences of Data Modelers, Database Designers and Data Architects."

Data Modeling Resources
A hotlist containing information sources and tools.

Data Modeling Resource Center
A broad array of links to various DM resources is provided at this site.

Data modeling
A worthwhile introduction at Wikipedia.

Data Modeling 101
An in-depth introduction.

Data Modeling: Finding the Perfect Fit
An older, but still useful intro to data modeling.

Data Modeling
A useful introduction with many examples.

How to read a data model
A simple tutorial.

Data Modeling Using Entity-Relationship Model
A useful tutorial for using the ERD.

"The Role of Data Modeling"
An in-depth paper discusses Why Model Data? What is a "Model"? What is Data Modeling? What are the benefits of Data Modeling? Where else to go from here?

Data Modeling
A detailed paper that discusses most important aspects of data modeling and ERDs.

The Role of Data Modeling
A worthwhile paper that discusses basic concepts

Data Modeling Whitepapers
A collection of data modeling papers written by staff and associates of Rational Corp.

Data Modeling and UML
Scott Ambler discusses data modeling within the context of UML and agile methods.

A UML Profile for Data Modeling
This page summarizes a data modeling profile for UML Class Diagrams.

Physical Data Models (PDMs)
"Physical data modeling is conceptually similar to design class modeling, the goal being to design the internal schema of a database, depicting the data tables, the data columns of those tables, and the relationships between the tables."

Advanced Data Model Patterns
A description of advanced patterns presented in David Hay's book, Data Model Patterns (see below).

Video: Data Modeling and Conceptual Sketching in the Design Process
"This talk delves into 5 interrelated keys that Microsoft teams focus on to elevate the impact of "design research". Namely how to: team insightfully as project teams; observe our users holistically; broker user and design patterns proudly; distill fresh insights collectively; and envision design essence vividly." (1:25:00)

Video: ER Model to Relational Model Mapping
ER modeling and its relationship to DBMS.

Flow-Oriented Modeling - Structured Analysis (SA)

Structured analysis
A reasonably comprehensive introduction at Wikipedia.

Structured Analysis
Another reasonably comprehensive description

SA Contributors and Work Products
An interesting diagram as well as general description.

Structured Analysis Wiki
The continuing evolution of Ed Yourdon's seminal text, Modern Structured Analysis.

Structured Analysis Links
List of sites that address Structured Analysis.

SA/SD Bibliography
A useful print bibliography of books dedicated to SA/SD.

Introduction to Structured Methods
A useful white paper that emphasizes the Hatley-Pirbhai method.

Tutorial on System Analysis and Design Concepts
An introductory tutorial on basic software engineering concepts and SA/SD.

Combining OOA and SA/SD
This downloadable paper discusses a process for combining elements of OOA with SA/SD.

Standards for SA Representations
Standards for all major SA diagrams and representation tools

Systems Analysis Methodology Sliding Backwards
A commentary on the state of system analysis.

Video: Process Modelling - DFD
sents DFDs and their use in functional decomposition. (56:28)

Book: Just Enough Structured Analysis
A e-Book written by one of the fathers of SA, Ed Yourdon. Downloadable after free registration.

Object-Oriented Analysis Modeling

• Domain Analysis

Before OOA can be conducted, it's a good idea to assess the application domain and identify objects that may be candidates for reuse across many applications within the domain.

Domain Analysis Tutorial
A worthwhile tutorial on domain analysis

Domain Analysis
A discussion of domain analysis (derived from de Champeaux et al).

Domain analysis slide presentation
A brief slide presentation on domain analysis.

• OOA methods and concepts

The Object-Oriented Page
All things object-oriented. Introductory concepts to advanced topics.

OOA Resources - 1
A list of OOA hotlinks that addresses a variety of different OOA methods

OOA Resources - 2
CETUS links is the Web's most comprehensive collection of hotlinks for OOA/OOD.

Object-Oriented Modeling Resources
Links to a short list of OO modeling methods and literature.

Object-Oriented Modeling: A Roadmap
"This paper presents a list of requirements for an ideal object-oriented modeling language and compares it with the achievements of UML and other object-oriented modeling approaches."

Fundamentals of Object Oriented Modelling
A worthwhile introduction of basic techniques and terms.

Reasons for Object Oriented Business Modelling
A brief discussion of OO modeling in a business context.

Basic OOA/OOD Concepts
Short form explanations of important concepts.

OOA Overview
A brief paper developed by the SEI that discusses OOA

OOA with UML Lecture Notes
A useful collection of lecture notes by J.W. Schmidt.

OOA/OOD articles
Applying OOA/OOD in a Java environment

An OOA Example
A complete analysis of an air traffic control system.

Introducing UML: Object-Oriented Analysis and Design
Good discussion of OO modeling and the use of UML.

Flaws of Object Oriented Modeling

Class-responsibility-collaborator (CRC) modeling

CRC Tutorial
A brief tutorial on the use of CRC cards for OOA is presented.

"CRC Modeling Bridging the Communication Gap Between Developers and Users"
A downloadable paper by Scott Ambler

Behavioral Modeling

Introduction to Behavioral Modeling
A brief but useful discussion of concepts, terminology and diagrams.

Behavioral Modeling Guide
A reasonably detailed discussion of behavioral modeling.

Three Kinds of Behavior Model
Discusses the behavioral context of OO modeling.

State Diagrams
The generic behavioral modeling diagram at Wikipedia.

State Diagram in UML
Basic concepts and a discussion of diagrammatic elements.

UML behavioral modeling
A brief Wiki introduction with links.

UML Collaboration Diagram, State Chart, Activity Diagram
An overview of these diagrammatic types.

State Transition Diagram
A description of this generic behavioral modeling notation.

pdf: Behavioral Modeling in an Object Modeling Context
A slide presentation of statecharts and activity diagrams.

Weaving With Statecharts
This paper shows show "how to model and interweave the different sub-models that represent different concerns using UML's Statecharts and Class Diagrams.

A Novel Method for Behavior Modeling in Uncertain Information Systems
This paper addresses situation in which behavioral requirements are "fuzzy."

pdf: Statecharts: A Visual Formalism for Complex Systems
David Harel's seminal paper on an alternative behavioral modeling format.

ppt: Software models and analysis Analysis pattern of Behavioral Modeling
A slide presentation that addresses behavioral model and the patterns that can be applied when creating behavioral models.

Video: Working with State Diagrams
A lecture. Heavy accent requires concentration. (45:56)

Dozens of books have been published on structured analysis. All cover the subject adequately, but only a few do a truly excellent job. Among them:

Structured Analysis and System Specification
Modern Systems Analysis and Design
Systems Analysis and Design
The Information System Consultant's Handbook
A Professional's Guide to Systems Analysis

Modern Structured Analysis
remains among the most comprehensive coverage published to date.

Book: Just Enough Structured Analysis

Many variations on structured analysis have evolved over the last few decades. Among the more interesting:

Structured Systems Analysis and Design MethodologySSADM for the Advanced Practitioner
describes SSADM, a variation on structured analysis that is widely used in the United Kingdom and Europe.

A number of books present detailed tutorials for creating industry-quality data models:

Data Modeling for Everyone
Data Modeling Essentials
Data Modeling Handbook

Data Modeling Patterns
presents typical data model patterns that are encountered in many different businesses.
Behavior Models: Specifying User’s Expectations presents a detailed treatment of behavioral modeling.

Use cases can serve as the foundation for all requirements modeling approaches.
The following books provide worthwhile guidance in the creation and use of this important requirements elicitation and representation mechanism:

Use Case Driven Object Modeling with UML
Succeeding with Use Cases: Working Smart to Deliver Quality
Scenarios, Stories, Use Cases
Use Case Modeling
Writing Effective Use Cases
Advanced Use-Case Modeling: Software Systems
Use Cases: Requirements in Context
Use Case Driven Object Modeling with UML
Applying Use Cases

UML has become the modeling notation of choice for most applications and domains. Some of the books that cover UML in depth are:

UML and the Unified Process
Teach Yourself UML in 24 Hours
UML Distilled
The UML User Guide
The Unified Modeling Language Reference Manual

The underlying analysis and design methods that support the Unified Process are discussed in:

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process
System Analysis and Design: An Object-Oriented Approach with UML
Use-Case Driven Object Modeling with UML

Executable UML: A Foundation for Model Driven Architecture
discusses the overall semantics of UML, the models that can be created, and a way to consider UML as an executable language
Executable UML: How to Build Class Models provides useful guidelines and detailed suggestions for creating effective analysis and design classes.
The UML Profile for Framework Architectures presents a useful discussion of architecture and the methods that can be used to derive it.

Behavioral modeling presents an important dynamic view of system behavior. The following books present thorough discussion of state diagrams and other behavioral representations:

Modeling Software with Finite State Machines: A Practical Approach
Abstract State Machines: A Method for High-Level System Design and Analysis

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