Originally posted by Ilja Preuss:
As an aside, I don't understand at all what this has to do with the analyst or requirements - the usage of MVC typically is a purely technical decision, as far as I can tell...
Thanks Ilja, The requirements determine what the application will do (at least its basic functionality) in very detailed way, if you put your design, then extra requirements appear this will lead to a need to change the design, especially in low level design (determine the API of each interface and class), for example in a Book Creation Application, I assumed that the View will handle the user actions in every page like change a font in a text, (and send any update to the model), while Controller will be responsible of determining which page will appear to the user now, the low level design is completed and Software specifications (How every thing works) is written, suddenly, I was told that page flow of one Book type is differ from another type, this information lead to x change to the design, after a while another piece of information appeared, it need y change, and because there was no really any kind of analysis and requirements, we need after one month to do a, b, c, d, e ,f , g, h, i, j and k changes, as a result program readability is destroyed and because a lot of changes and poor readability, you might face a lot of debugging problems, you cannot read it, you don't know where is the Controller and where is the Model, and where is the View, you cannot trace bugs, the project is not extensible (how you can extend thing you cannot understand how it works), we have to go for "though away prototyping software engineering Model" which is not acceptable for my company, there must be a good imagination for requirements written neatly on a piece of paper to avoid a lot of changes in the design.
For next versions, we should have another requirement file, and take a deep look to the design and decide, who will stay, and who should be re-created
Yes it has nothing to do with MVC except re-Creating MVC all over again.
Note that as I told you I am not sure if it is my design fault, or it is his fault, simply I have less than one year experience in professional Application development. But I am saying, simply If you don't know what exactly you should do, how you will do it??