• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Explaining Client Design?

 
Ranch Hand
Posts: 109
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Friends
My instructions say:

Your user interface should be designed with the expectation of future functionality enhancements, and it should establish a control scheme that will support this with minimal disruption to the users when this occurs.


How should i support this in my final design documents.I have used MVC pattern in my client implementation.What are the main points which should be included in design doc,regarding the avove quote
Kindly comment
VikasSood
 
Ranch Hand
Posts: 240
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
this is what I wondered. Any reply will be great helpful.
 
author and jackaroo
Posts: 12200
280
Mac IntelliJ IDE Firefox Browser Oracle C++ Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Vikas,
I think you need to consider what changes could happen, and what impact these changes would have on your program.
So what would happen if a column was added? Will your screen(s) attempt to display it?
What about column name changes? Will your searches still work?
Or even worse - columns being reorderd! It could happen - how much recoding would be needed? Any?
And if the system needed more data for a booking (for example with FBNS, if they decided that they needed to know whether the booking was Business class/Economy class or Adult/Child) how extensible is your design to handle the extra fields necessary? Would it require a complete redisign of some screens? If so, what happens to the poor user who now has to learn new screen formats?
There are many more changes that could happen in real life, but I think trying to cater for them would be impossible - the ones I mentioned are the ones that I think we should be able to handle without too much problem.
Regards, Andrew
 
Ranch Hand
Posts: 194
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I hope, the requirements indirectly says, MVC is must. As MVC is very flexible, future extensions is very easy to implement. Means, if datamodel changes, we need not change view, or controller. This is what I understood. Any comments?
Regards,
Ganapathy.
 
Andrew Monkhouse
author and jackaroo
Posts: 12200
280
Mac IntelliJ IDE Firefox Browser Oracle C++ Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Ganapathy,
Yes, the model can hide the implementation of the datamodel from the end user. So a change to the database schema could be hidden from the view(s) which display it. Or a change to the database type (for example currently flatfile, could become relational database) is likewise hidden from the view(s).
This is subset of one of the benefits of MVC: that each portion of the MVC is only doing one job. So the model is only concerned with providing access to the data source(s) - the model does not have to concern itself with how the data will be displayed. The view(s) are only concerned with displaying the data - they dont care about how to access the data.
Another benefit of the MVC is that you can have more than one view for any given model, So one view can be designed for an application that runs on a local PC (as our applications do), another view can be designed for a web interface, another view can be designed for a WAP interface etc. All these views can be connected to the one model.
Regards, Andrew
 
S. Ganapathy
Ranch Hand
Posts: 194
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Andrew,
You are right. Thankyou verymuch.
So I have some light to fine grain my client design.
Regards,
Ganapathy.
reply
    Bookmark Topic Watch Topic
  • New Topic