Re: UMLish modellers?
Re: UMLish modellers?
- Subject: Re: UMLish modellers?
- From: jgo <email@hidden>
- Date: Tue, 25 Sep 2001 15:34:24 -0700
>
Drew McCormack <email@hidden> 2001-09-09 11:21:14 -0700
>
> ?? wrote:
>
> If there is no rational specification for a piece of software,
>
> there is no way to verify that the software meets the
>
> specification at the end of the project. What is the point
>
> of designing something that is not specified?
Part of the point is to develop a specification.
>
> How is a design evaluated without a specification to compare?
>
> Specifying non-trivial software a-priori is very hard!
>
Yes, I think you are right, but I don't think anyone that uses UML would
>
say you don't need a software requirements or specification document.
>
UML helps with the design phase, but doesn't mean you avoid the other
>
parts of the process.
>
I think the following is a typical software process:
>
User Requirements
>
Software Requirements
>
Software Specification
>
Software Design
>
Unit Testing
>
System testing
>
Acceptance testing
>
>
Something like that...
More like:
User has seen something a little like what s/he'd like...
only different.
User struggles to figure out what it is that s/he'd like better/different.
User seeks out folks who s/he thinks might be able to refer hir to
someone who might be able to help make it.
User expresses it as well as s/he can.
Analyst breaks it down into pieces that could possibly work.
Analysts talks with user again.
User says, "That's not what I had in mind. I'm not sure...
Maybe if it had/did this?"
Analyst breaks it down...
Developer makes a first pass, perhaps just draws images of
how parts would look at different times, perhaps a prototype.
They show it to the user.
User says, "That's not what I had in mind. I'm not sure..."
Developer & analyst prepare another prototype...
Developers develop prototype with partial functionality.
They show it to the user.
User says, "That's better, but it's not what I had in mind. I'm not sure..."
Developers make a more fully functional prototype adn try it.
It doesn't work. Different parts are incompatible.
They redesign it to bring the parts into harmony, but, in the interim,
a lot of it doesn't work at all.
User wonders why it's taking so long. S/he's over-spent hir initial budget
target. Why is it so complicated?
They get a seemingly working version, unit test it.
They fix some things, unit test, integration test.
They show it to the user...
IOW, it is an interative, interactive, experimental process,
preferably using scientific method to take advantage of what
is learned at each experimental step. Abstract concepts of
how people think it should work need frequent reality checks.
No one knows how many iterations it will take. No one knows
which experiments will involve code, hardware, etc., directly
usable in the final product.
One business model that I've seen work successfully is to
sell & bill for each step or iteration.
Yes, diagrams of various kinds can help clarify thinking and
speed development... in some cases, while delaying it in others.
John G. Otto, Eagle Scout, Knight, Cybernetic Praxeologist
Existence, Consciousness, Identity, Life, Liberty, Property, Privacy, Justice