Friday, July 15, 2016

Digging Into the Nitty Gritty: The Graphical User Interface

Over the past two weeks, we have discussed design philosophy database design and development and procedural or middle tier design and development.  Today we are going to discuss the Graphical User Interface (GUI) or Front End.  This is the only part the user sees, so a word to the wise: hire a graphic designer if you can afford one.  we are talking about development here, but you have to make it pleasing to the eye, trust us.  That said, here we go:

Graphical User Interface (UI or GUI) 
For the purposes of this discussion we are going to stick with Microsoft’s Model/View/Controller (MVC) framework since a discussion of both desktop and web is beyond the scope of this book. If you aren't familiar with it, click here.


Singular Objects  Singular objects should have partial views for CRUDS operations that feed the various complete views for the object. Collections related to the singular objects in the same view should be represented in a table/list/dropdown or grid. That means that a credit union object would have a table for the associated branches, with a link to go to the singular branch view in each.

Collection Objects  Collection objects should be the result of the search for the singular object. That means if we want a list of Cars with from a certain manufacturer we instantiate a new Car object, set its ManufacturerID property appropriately, pass it into the constructor that takes a SessionGUID and a Car object and it returns the list of cars from that manufacturer from the database. This is represented in the UI as a table/(dropdown) list box.

Reporting  

It now becomes possible to generate reports automatically as well. Well, semi-automatically.  We use SQL Server Reporting Services (SSRS).  There is no surprise there given our bent toward picking ONE technology.  No more spreadsheets, no more manual entry, no more copying and pasting. Once the report is defined, it just works. As executives, our efforts are dictated by reports. Sales reports, cost analysis, fixed/variable cost ratios, profit and loss are all things that do not require employees to produce and run. With this model these are all automated and can be run at any time. One note: SSRS does NOT play well with MVC.  You have to add a traditional ASP.NET web page inside your MVC application and call it from your controller, passing it the various parameters for your report.  That is probably another post.


Conclusion This all is probably a little confusing and it is complicated.  We've recommended some design decisions I'm sure some of you do not agree with.  there is a method to the madness.  In Monday's post (convenient that we cliffhang you over the weekend then drop the bomb first episode the new season, huh?) We are going to describe the reason we do things the way we do them: Automation. Yup, in Monday's post we are going to show you how we have automated the process of software development to produce about 80% of any given application in seconds with nothing more than a database design.  The last application that was commissioned took about four hours to design, 15 seconds to develop and a couple of weeks to make pretty.  ONE guy for a couple of weeks.

Stay tuned, Same Bat Time, same Bat Channel.

 

No comments:

Post a Comment