Blog Home  Home RSS 2.0 Atom 1.0 CDF  
 
hoohee.com - MoneyMan Development Tools Search
 Sunday, April 23, 2006

In my endeavour to develop a simple to use, feature rich personal finance software, I had to trawl through the internet in search of the most convenient development tools, and here's my story.

After spending more than a couple of days searching, I eventually found what I'm looking for.

First I wanted a database to store the data in. With too many on the list to pick from, which would you have choosen? I have decided to settle on Firebird for a few reasons.

  • Can be embedded with my application
  • Has a small footprint
  • Mostly SQL compliant
  • Has .NET client library

Database: Firebird

Now that we've solved the data issue, let's move on to the next of kin, ORM.

Object-Relational Mapping is a requirement nowadays. The choices here are no lesser than the database arena. I have taken the easy solution approach to picking this one, dOOdads. dOOdads comes with the MyGeneration, code generation tool.

Other ORM options I have looked at include, Hibernate.NET and Gentle.NET. I personally prefer the Gentle.NET approach. Gentle.NET 2.0 is still in an early stage of development to be used with .NET 2.0.

ORM: dOOdads

A couple of main features I liked about the unit testing tools I've chosen, namely, VS.NET integration and perfornmance statistics on tests.

Unit Test: Zanebug

To integrate Zanebug with VS .NET, I had to use TestDriven.NET. One caveat, though, is that you cannot run VS.NET using a regular user account and get the VS.NET integration for Zanebug. You will have run VS.NET with a user account belonging to the Administrators of the machine to allow TestDriven.NET to start an external process.

Next comes the source control requirements. SVN was my choice. I haven't created the tree for MoneyMan yet, but will surely use SVN.

Source Control: Subversion (SVN)

It's a fact, software programs will have problems, unless you spend big $$$$$....$$$$ on development and especially QA. How long it will take to uncover an issue in a piece of software is, based on statistics, a matter of time and user engenuity. Our project is no exception, but I hope to keep bugs under control. To help manage this part of the development process, I picked BugNET for issue management.

Issue Management: Mantis

Check our the post on Installing Mantis.

TO DO: Look for a continuous integration engine. I'm in two minds between CruiseControl.NET and NANT.

What would you have picked?

4/23/2006 9:12:48 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0]   Money Man  | 
Copyright © 2008 Emile Bassil. All rights reserved.