Book a Demo

Author Topic: Examples Improvements  (Read 3511 times)

F. Girault

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Examples Improvements
« on: February 24, 2010, 07:18:38 pm »
Hello,

I am new to EA, and I was following the example concerning the creation of an online bookstore, and I find there are confusing points in the example.

In "Requirements Model"->"Use Case Model"->"Manage Users Diagram", the use case description is as follow:
Quote
Basic Path
1. Use case begins when the Client selects the "Create Account" command.
2. The Client enters name, address, e-mail address, password and password confirmation.
3. Client presses Submit button.
4. Submitted details are validated.
5. Processing message is displayed to the Client.
6. New account is created in the database.
7. Success message is displayed to Client.

but on the diagram we can see that both "Create New Account" and "Submit New Account Detail" emerge from the "Create Account" command (step2).
So this suggests that "Create New Account" step can be accessed directly from the "Create Account" command, but this would be inconsistent with step3 which requires the user to submit (for validation) before creating anything.
So on the diagram, "Create New Account" should be after "Submit New Account Detail" shouldn't it?
Actually I don't really get the point on this diagram:
Is it supposed to represent what actions are performed by the user to create an account? In this case, the user just submit, and eventually receives an account, that is all.
But since validation has been separated from actual creation, this suggests that user performs a different operation for submitting or creating? In this case I don't understand the point.
Maybe the intent is to show that there is a case where submitting goes without creating an account?

Overall, I find this diagram very confusing. What is the intent of it? What is the standing point when watching it?
Sequence is well defined in the associated sequence diagram, so there is no real point on additional sequence information here.
Maybe activity? In that case why not use an activity diagram with base and alternative paths?

After re-thinking about it, the intent may be to informally represent the structural relationships between related concepts.
The goal would be in this case to show that "Submit New Account Detail" is a process which is independant from "Create New Account"?
In other words, the validation process simply filters the "Create Account" commands, and the command itself raises account creation if validation has been passed...
Putting it into meta-code that would be like:
Code: [Select]
void CreateAccount( AccountDetail details )
{
  if( SubmitNewAccount(details) )
  {
    Account act = new Account(details);
  }
}

Is that something like that?
With this vision, the analysis diagram would be something close to a call hierarchy? (saying that CreateAccount command uses "SubmitNewAccount" and "CreateNewAccount" which are not related to each-others?)