Methodology is notation and process.

I support much of what "Prof Russel Winder  Professor of Computing
Science" said.

UML is notation, a Universal Modeling Language.

http://java.sun.com/docs/books/jls/html/j.preface.html#427034 "Java
is a general-purpose concurrent class-based object-oriented programming
language, specifically designed to have as few implementation dependencies
as possible. Java allows application developers to write a program once
and then be able to run it everywhere on the Internet."

Here is where Craig Larmen applies a process to produce artifacts which
use the UML notation.  This discussion is aimed at waterfall and where
EUP may belong (similar to what was suggested by Prof Russel Winder).

For later reference (do not look now.  keep reading, please.)
http://www.objectsbydesign.com/books/applying_uml.html
http://www.objectsbydesign.com/books/larman_process.html

Unfortunately, the website does not go into as much detail as I wish
regarding what I want to share.  So I must dive into the book.

pg 490-491 of Applying UML and Patterns by Craig Larman ISBN: 0137488807
contains pictures; Production Release 1, 2, 3.  A Production Release is
expanded into 4 things; Explore, Refine Plan, Build, Deploy.

Explore exands into "Plan and Elaborate" and "Build - Exploratory
Emphasis" Building happens at the beginning for exploratory purposes.
Let's ignore Refine Plan for the moment.

"Plan and Elaborate", "Build", and "Deploy" are what we're working
with now.  It is waterfallish in the constraints of one Production
Release, but it is cyclical in terms of the lifetime of a product (many
Production Releases).

Take a close look at Build.  It expands out into the following: Build -
Infrastructure Emphasis and Build - System Functions Emphasis.  Craig
Larmen also has Build expanding into Development Cycle 1, Development
Cycle 2, ... Development Cycle n.  Iteration over many waterfalls!
(Similar to Spiral processes.)

A Development Cycle expands into:

Refine Plan, Synchronize Artifacts, Analyze, Design, Construct, Test  <--
-a waterfall

"...a development cycle is assigned to implement one or more use
cases, or simplified versions of use cases,..." pg 75 of Larmen book
mentioned above.  Every development cycle handles a set of Use Cases.
A Use Case is an end-to-end process to get something done.  (Side Note:
Martin Fowler's UML Distilled (latest book ISBN: 020165783X) has a nice
description of a use case too.)

Iteration is achieved through applying many small waterfalls, Development
Cycles.

See below for more comments:

Michael Finney Sun Certified Programmer for the Java 2 Platform



Russel Winder wrote:

<clip>

> The waterfall model and stages
> comes from an outdated view of software engineering.  It has never been a real
> factor in programming.  Programming is very much:
>
>     while (not satisfied with the result) {
>         understand something of the problem
>         construct a partial solution architecture
>         design some aspect of the solution to the problem
>         implement some part of the design
>         test the implementation
>         check the continued consistency of the architecture, design and
> implementation
>         plan evolution of the solution
>     }
>
> In modern approaches to system development, design and implementation are both
> different tasks and the same task

<clip>


> The problem with EUP is that amateur developers are conned into thinking they
> can construct professional level systems that can be used for real live
> systems.

<clip>

>
> EUP clearly has a role in prototyping systems, the domain experts and real
> users can construct a prototype to show to the systems development
> professionals.

Yes, this could be done in the "Explore" stage mentioned earlier.
It could assist with both "Plan and Elaborate" and "Build - Exploratory
Emphasis" objectives.  <clip; the rest is below and uncommented.
One note: I sense that Professor Russel Winder has good insight and more
experience into some things than I.  >

> The systems development professionals then have an easier
> analysis job.  They can re-architect the system, design and implement from this
> and deliver a far better system that matches the users original vision.  Indeed
> one role of the systetems development professional is to show what the end user
> could do that they did not know they could.  All too often end users are stuck
> in a design/implementation rut and therfore produce cruddy systems.
>
> So EUP is really about an horizontal prototype, it is really about using design
> of the user interface to get an appreciation of the way the system must work.
> This can usually be done without actually building the real system.  So one way
> forward is to make the very best UI prototyping tools, EUP is not this at
> present.  This avoids the whole semantic issue.  Of course some aspects of the
> prototyping need semantics so this is not a foolproof way forward.
>
> On a political note:  The problem with many EUP advocates is that their hidden
> agenda is the removal of systems development professionals from the systems
> development process for whatever reason.
>
> My overall view:  EUP is a positive danger to society except where it is used
> as a tool in collaborative ventures between end users and professional systems
> developers.  I such a situation many of the issues that you mention are
> non-issues.
>
> Russel.
>
> PS  Many systems development professional need indoctinating with the above as
> well.  All too many of them are high-handed and arrogant when it comes to
> interacting with end users.  These people generally need removing from their
> posts.
>
> ========================================================================
>
> Prof Russel Winder  Professor of Computing Science
> Head of Department
> Department of Computer Science Phone: +44 20 7848 2679
> King's College London  Fax:   +44 20 7848 2851/+44 20 7848 2913
> Strand, London WC2R 2LS  [EMAIL PROTECTED]
> UK    http://www.dcs.kcl.ac.uk/staff/russel/

--
Michael Finney
Sun Certified Programmer for the Java 2 Platform

Reply via email to