Customers

Success Stories

Trevor G. Leybourne, PMP

Trevor is a Project Manager for a Legal Practice Management Software Development company based in Auckland, New Zealand, who has been developing software for over 25 years.

"IdeaBlade took away the tediousness of manually developing the data access layer and UI binding and left us to concentrate on the functional implementation." 
Trevor G. Leybourne, PMP

 





Solution Overview

The exam questions and answers needed to be in an easy to maintain format, but with multiple levels of categorization matching the categories defined by the PMI. The questions would be maintained by different people in a disconnected manner with the ability to synchronize any new or changed questions to a central database.

The idea was that a student could ask the application to generate a random exam using a multitude of criteria, which could include question level (beginner, advanced, expert), PMI process groups and PMI knowledge areas, how they had rated on questions before, or to weight the types of questions based on the results from previous test exams.

Once an exam had been generated, it would operate in a similar way to the real exam and would have a full review mode “post-grading” so that the student could review each exam, seeing where they had gone wrong, and why they had gone wrong.

Trevor also wanted to track each exam attempt so that the students could see progress and could compare exams and results over time.

Selection Process

The original idea was to use serializable entity objects, but once Trevor thought through the design further, it became obvious that this would make the development quite complex due to the way the data needed to be accessed and sorted, and to provide the ability to work offline and yet sync the data back to a central store. Trevor has been using IdeaBlade to develop a Project Management application for managing agile software development projects and so the selection of IdeaBlade was an obvious choice.

Once the database design was sketched out in SQL Server, it took less than an hour to use IdeaBlade to generate a data access layer over the database. The development of the initial UI was as easy as developing the data access layer thanks to the help of IdeaBlade. Using the ControlBindingManager, the UI was quickly mapped to entity objects in the database to build the question editor and the exam simulator and review screens. For the exam generator, a Wizard process was used which led the user through the different options to generate the questions which in turn built up an IdeaBlade “Query Object” to query the database for the random question selection.

Finally the application needed to be able to be used without a permanently connected database, but did need the benefits SQL server. Using the off line capabilities of IdeaBlade, the database structure was cached to an entity set which is used by the students for the normal operation of the application (disconnected). The various group mentors can then use the application offline to create and maintain the questions, and then connect to a central database to synchronize those changes.

Status/Result/Outcome

The simulator has been a huge success with the first study group, and it has been helping them to prepare for the upcoming exams. A second group is about to start to use the simulator after which time it will roll out to other groups.

Although this is not an overly complex application, it does have quite a few smarts that would have been difficult to accomplish without the use of IdeaBlade. It demonstrates how IdeaBlade removes the complexity and drudgery of managing the data layer and UI binding leaving the developer to focus on the functional requirements and design.

Having developed data access layers using both proprietary and open source solutions in the past, IdeaBlade has been joy to work with, and has made the process so much simpler and without the need to write XML to define entity to table mappers. The development of the simulator needed to occur in a very short time frame, and this would not have been possible without IdeaBlade generating the core of the application.

View a full size screen shot of their application