Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I bridge the gap between my database design and the user interface design? [closed]

I know how that question looks, but I'm quite serious. I am trying to create an application that will help me in learning databases (sql, queries, proper database design, etc). I'm using a pet project at work so I have something to focus on with actual requirements. The original project was written ("Frankensteined together", as the original author said) via MS Access. I'd like to learn how to do it better via SQLite, but don't know how to recreate the other functionality Access provided.

Using this site as a way to interact with programmers and developers (I don't work with any), I've thus far read all of Database Design for Mere Mortals as recommended in this question. So, I've got a nice little database design that I plan to implement using SQLite.

I also checked out how to design a user interface for the app via using Balsamiq's Mockups, and submitted some ideas to my potential user base (my peers on my team) to have them give feedback.

            Database --> <insert code here> --> User Interface

However, the part that falls down for me is how to I bridge the gap between the two designs? I realize that's obviously where coding comes in, but to date I haven't made anything with a GUI. Searching around, I didn't seem to find anything as definitive to assist me (a book, a website, even a process to follow) in trying to actually write the app.

I know Perl to some degree, but have only used it for command-line apps; I could use the Win32::GUI module, but I don't really understand the differences between GUI programming and command-line programming, other than to just know that they are different.

Is there a model or a guide to follow regarding GUI development? Are there specific resources for tying an application to a database?

like image 698
romandas Avatar asked Nov 12 '09 18:11

romandas


People also ask

What are the two main factors that influence design of user interfaces?

There are three factors that should be considered for the design of a successful user interface; development factors, visability factors and acceptance factors. Development factors help by improving visual communication.

What is UI in database design?

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.


1 Answers

The general pattern that is followed nowadays is:

Database -> DAL -> BLL -> Controller -> View Model -> UI

Where

DAL == Data Access Layer (aka ORM, Object-Relational mapper)
BLL == Business Logic Layer

Googling each of these terms should give you a fairly good idea of where to get started. Note that you don't always need every layer. The BLL and View Model, for example, can be optional if the app is small enough.

See also Model View Controller (MVC) for web development, and Model View Presenter (MVP) or Model View ViewModel (MVVM) for desktop development.

Although the NerdDinner tutorial is Microsoft/Web specific, it contains all of these concepts in one place.

like image 180
Robert Harvey Avatar answered Nov 06 '22 17:11

Robert Harvey