CS 4393: Topics in User Interfaces
[Week 9] Use-case driven development and the ICONIX Process

Objectives:

Programming topic: Use case diagrams, domain models and robustness diagrams in Visual Paradigm

Assignment: Applying the ICONIX process to the photo-analyzer

Reading:

Class schedule:

Quote:

Brooks's Law /prov./ "Adding manpower to a late software project makes it later" -- a result of the fact that the expected advantage from splitting work among @Math{N} programmers is @Math{O(N)} (that is, proportional to @Math{N}), but the complexity and communications cost associated with coordinating and then merging their work is @Math{O(N^2)} (that is, proportional to the square of @Math{N}). The quote is from Fred Brooks, a manager of IBM's OS/360 project and author of "The Mythical Man-Month" (Addison-Wesley, 1975, ISBN 0-201-00650-2), an excellent early book on software engineering. The myth in question has been most tersely expressed as "Programmer time is fungible" and Brooks established conclusively that it is not. Hackers have never forgotten his advice; too often, management still does. See also creationism, second-system effect, optimism.

-- The New Hacker's Dictionary


Introduction to the ICONIX design process

We will use the ICONIX process to develop software (from Applying Use Case Driven Object Modeling with UML by Doug Rosenberg and Kendall Scott, Addison Wesley, 2001). We assume that we start the process with a problem statement and a (brief) set of functional requirements. As the process proceeds, the functional requirements list may be expanded.