Re: Real world modeling.
From: Phlip (phlip_cpp_at_yahoo.com)
Date: 12/03/03
- Next message: Jay O'Connor: "Re: Does this object-oriented language or database exist?"
- Previous message: Universe: "Re: Does this object-oriented language or database exist?"
- In reply to: John Urberg: "Re: Real world modeling."
- Next in thread: Universe: "Re: Real world modeling."
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Wed, 03 Dec 2003 15:04:42 GMT
John Urberg wrote:
> Eric Evan's book has an example of working out a Cargo Router with a
> customer on page 27. It has two scenerios, one where there is minimal
> abstraction of the domain and the second where the domain model matches
> the domain expert's language. The first has a Cargo object that is passed
> into the Router which uses properties of Cargo to create CargoBookings.
> The second has a Cargo object with a Route Specification. The Router uses
> the Cargo's RouteSpecification to generate an Itinerary with multiple
> Legs.
>
> The first scenario passes all the tests; it is simpler and has no
> duplication -- kind of like the Bowling example. Of course, as an XP
> person, you are working on a regular basis with your customer -- the
> domain expert. It's a year later and the customer wants to enhance the
> Cargo Router. The customer writes a story card that talks about changing
> the way an Itinerary is generated from the Route Specification. Which
> scenerio would make it easier for the developer to discuss the change with
> the customer? Which scenerio would make it easier, less error prone and
> faster for the developer to implement the change?
By way of agreeing...
Consider a program whose Save feature always compiles a document as it
saves.
Then someone requests a feature "Save skip compiling". A programmer adds
this as a menu, indentifies that with IDM_SAVE_SKIP_COMPILING, and writes a
method SaveSkipCompiling.
Then someone fluent in English advises everyone to change the menu to say
"Save without Compiling".
That change request is not finished until the identifier and method are also
changed. Put another way, someone reading the users manual (in the
programmers' locale) should be able to search the source for the important
words, and find them.
-- Phlip
- Next message: Jay O'Connor: "Re: Does this object-oriented language or database exist?"
- Previous message: Universe: "Re: Does this object-oriented language or database exist?"
- In reply to: John Urberg: "Re: Real world modeling."
- Next in thread: Universe: "Re: Real world modeling."
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|