Do you always lean towards thinking of db schema when starting or planning a new project it or do you go the other way and start designing UI then moving down the stack?
Or do you have a different way of developing?
Not really an agile/waterfall/specs/stories question just a way of getting a handle on which way people lean when working on projects personal/professional or otherwise.
I have decided that both are the best ways in the past and am currently in the UI first camp but that can and will change!
Cheers John
+1: data first, everything else will follow logically from there. It comes down to whether you want the database to reflect the user's requirements, or have the GUI reflect your database design. Exactly backwards. Your unit tests will be determined by the UI, and the database needs to facilitate the tests.
User interface design is a three-step process: (1) analyze the DFDs and use cases; (2) develop the interface diagrams; and (3) create the interface design prototype.
User interface (UI) design is the process designers use to build interfaces in software or computerized devices, focusing on looks or style. Designers aim to create interfaces which users find easy to use and pleasurable. UI design refers to graphical user interfaces and other forms—e.g., voice-controlled interfaces.
To the average user, the UI IS the software. They don't care about how data is stored, what platform you use, etc. So if your software will be used by people, I strongly recommend starting with a UI- either a prototype or mock ups. Show that to the users and get feedback. Then build up the business layer and data layer.
I find this helps gather requirements. Non-technical users are much more likely to tell you "oh wait, we need another field on this page" than "we need another attribute in this table schema". They may also say "we need another button here", which usually translates to some additional business logic, etc.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With