1. Big Smokes Cigar Shop describes check out use case ( system authorizes credit card payment, send email confirmation,....etc.)
2. it mentions Customer and Payment and Order entities in Business Domain Model
But there is no mention of customer login or profile in requirments!
Since there is no mention of customer data how to recognize the customer, his delivery address etc. ?
Should I introduce Accounting module and show it in my architecture (for example, something like CreditCard, Address,Customer, AccountManager)
on the other hand, i was not asked about customer profile management.
Thanks in advance, guys! Looking forward to your wise advice!
I've interpreted the Payment part of the business model as simply the automation of the payments. That is, the submission of customer provided payment details to the merchant bank payment service. Each order will obviously be associated with a customer, and each payment with an order. I don't think you need to worry about how customer profiles get into the system, or how they're managed. This issue of logins is slightly different in that it depends on your assumptions, i.e. are customers required to login before adding an item to their basket or can they shop as a 'guest', only logging in immediately prior to checkout? Those are decisions/assumptions you have make yourself.
What about the Customer Service Representative Actor?
In my opinion this is totally out of scope Of course there's a lot more to an e-commerce site than the use cases described in the requirements, but that's where the line has been drawn. Stick to the use cases you've been asked to realise / design. Directly address the functional and non-functional requirements in that context.
Guys, I know that we shouldn't add complexity to the solution, but how about a local database to save the customer's order, customer's information and maybe for cigar catalog. There is no way to save our transactional data without a local database(or something similar) in my point of view.
Have you guys any thoughts about that?
J J Wright
Joined: Jul 02, 2008
how about a local database
If you don't include a database, you might as well just hand in a long list of assumptions.