Huseyin
I think you have got this exactly right.
One of the purpose of CRUD matrices in structured techniques was to support
maintenance by identifying functions where entities were impacted.
However, they offer only a coarse granularity of classification of the
nature of that impact.
As you say, it is more useful to know more details on the nature of a
Create, Read, Update or Delete (less so for Delete).
For some simple entities, CRUD is sufficient.
For more complex entities, finer distinction is required.
E.g. in Pankaj's original example, in many systems Cancel Existing Orders
will not result in a DELETE. Instead, it will change the status of the Order
(i.e. a CHANGE). The DELETE is typically performed by an Archive Orders use
case.
James Shields
........................................................................
In the example that you gave, the difference is really only in the name,
probably. However, that may hide something deeper: "Create user" sounds like
one solution to a problem, whereas "Grant access to new users" may be actual
business functionality required, which may be done by a solution other than
creating a user.
The important thing is to phrase the use cases so that you mention what the
business wants, rather than which solution the business is getting.
On the other hand, there are cases when all that the business wants is to
create things. But while the "Create user" case is trivial, "Create
substation" and "Create power generator" are not trivial cases, and quite
appropriate to an electricity distribution control system.
In fact, control systems are perfect examples of CRUD functionality that is
neither trivial nor purely implementation related.
I can see the next question coming from a mile off. How do we represent
these?
Huseyin Angay
Karabash Ltd.
www.karabash.co.uk
> ----------
> From: Pankaj Chatterjee[SMTP:[EMAIL PROTECTED]]
> Reply To: Pankaj Chatterjee
> Sent: 20 March 2001 5:36
> To: 'Rose Forum'
> Subject: (ROSE) CRUD and Use Cases
>
> Hi everyone,
>
> Just wanted a new approach
>
> Sometime back I had put up a question in the Rose forum on whether or not
> we should define use cases for CRUD functions. The general concensus was
> that we should not as in general CRUD type use cases do not add value to
> the system. However, in most of the applications we develop, there is a
> lot of create,update,delete and retreive activity. All persistent object
> that we develop require CRUD functionality. So what's wrong in this
> approach?
>
> Consider this
> 1) A system has an Administrator, The administrator can grant access to
> new users, revoke access permission from existing users, modify existing
> user profile.
> 2) A order fullfilment system allows sales persons to - Accept new Orders,
> Cancel existing orders, Change Ordered Items
>
> If these are not example of CRUD functionality then what are they? I could
> have written - An Administrator can - Create User, Update User, Delete
> User and the end functionality could still be the same. So whats the
> difference between 'Create User' and 'Grant Access to new Users'?
>
> Thanks in advance
>
> Pankaj
>
>
************************************************************************
* Rose Forum is a public venue for ideas and discussions.
* For technical support, visit http://www.rational.com/support
*
* Admin.Subscription Requests: [EMAIL PROTECTED]
* Archive of messages:
http://www.rational.com/products/rose/usergroups/rose_forum.jtmpl
* Other Requests: [EMAIL PROTECTED]
*
* To unsubscribe from the list, please send email
*
* To: [EMAIL PROTECTED]
* Subject:<BLANK>
* Body: unsubscribe rose_forum
*
*************************************************************************
************************************************************************
* Rose Forum is a public venue for ideas and discussions.
* For technical support, visit http://www.rational.com/support
*
* Admin.Subscription Requests: [EMAIL PROTECTED]
* Archive of messages:
http://www.rational.com/products/rose/usergroups/rose_forum.jtmpl
* Other Requests: [EMAIL PROTECTED]
*
* To unsubscribe from the list, please send email
*
* To: [EMAIL PROTECTED]
* Subject:<BLANK>
* Body: unsubscribe rose_forum
*
*************************************************************************