Monday, January 4, 2010

Intelligent Software Design

At Charonite we believe that software developers and designers should always provide an intelligent solution to the user's needs, no matter how small or big the problem that needs to be solved. Intelligent design requires more effort and attention to detail, but keeps the end user satisfied.

The Obulus Platform was designed in a manner that encourages intelligent software design by providing ready-made solution templates, code and database design patterns that have been tested and designed in a flexible and scaleable manner.

The use of design patterns is encouraged by using the Obulus Platform, which utilises a loose Model-View-Controller pattern (with the Model and Controller generally coded in C/C++ and the View using PHP/C#) together with support creational, structural, behavioural and concurrency patterns.

A set of naming and coding conventions and emerging Quality Assurance documents that aid in guiding the whole development process ensure that the resulting solutions are of high quality and inbuilt intelligence. Software testing, adopted from Agile methodologies, is extensively used, and support for synthetic data generation capabilities is being added in the next generation of the Obulus Platform to help developers test their applications thoroughly with minimal test environment and test case setup effort.

Essentially the whole process boils down to incessantly answering a simple question: How can our application serve the customer intelligently?