I have passed the first step of
SCEA and I have received my assignment for the second step. The assignment is to prepare a new system for FlyByNight Inc - you probably know this assignment very well (I think so because there are many threads about this assignment in the forum).
After reading the requirements, use-cases and domain model I noticed that Customers and Travel Agents can use exactly the same set of functionalities of the new system - there is no special functionality that is used only by Customers, and there is no special functionality that is used only by Travel Agents. On UC diagaram actors Customer and Travel Agent are connected to the same use-cases, and in the use-case descriptions it very often happens that only "Customer" actor is mentioned. From all this observations I deduct that form the functional requirements point of view actor Customer is equal to actor Travel Agent.
In many threads in this forum the following opinion occurs: there should be web-browser/servlet&
JSP based client/presentation layer for the Customers and Swing based client/presentation layer for the Travel Agents. Both layers should access common
EJB based service layer. But I believe that there should be only one web-browser/servlet&jsp based client/presentation layer used by both Customers and Travel Agents. In my opinion this design choice is justified by two facts:
1. Customers can do the same things as Travel Agents (as I described above), so there is no point in creating two distinct client/presentation layer implementations.
2. The Customers have to access the application by web-browsers, and Travel Agents do not care about the way of access. That is why the web-browser/servlet&jsp client/presentation layer should be choosen and implemented.
What do you think about that? Do you agree with my observation about the functional requirements similarity of Customers and Travel Agents? Do you think that the solution with single web based client/presentation layer would be accepted by people that would check my assignment?
I am aware that my English is not perfect, so do not hesitate if you need more clarification/explanation. I would very appreciate your comments.