Tuesday 31 March 2009

Prioritize Project

After a week of writing use cases, I had much more clear picture of my project. I decided to prioritize project as following:
  1. Review Game
  2. Teach Game
  3. Play & Observe Game
  4. Manage Dispute and Arbitration, Manage Rating, Ranking and Reputation
  5. Manage Message, Manage Account
I plan two (maybe more) weeks on designing first feature and then move on to the others. In the mean while, I probably need to investigate how peer-to-peer technology is going to benefit my project.

Friday 27 March 2009

A New Home for Go and Myself

While I was working on the new version of Mobile Go, I ran into a situation that I feel I should do much more than just writing a Go client. I eventually ended up with a goal, which is to build a totally different Go Sever (or more accurate Go System). That's why I have a new blog here. It will witness not only the new project, but the daily thoughts and experiences that I have regarding Go and software development as well.

I have to learn many things that I had never learned before as a programmer. I started learning Unified Process (UP), Object Oriented Design (OOD). I borrowed books from library and read them day and night. Here are what I have read or am reading so far:

  • Applying UML and Patterns - An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd)(2004), By Craig Larman, Addison Wesley, ISBN: 0-13-148906-2
  • Writing Effective Use Cases (Book Draft) ,By Alistair Cockburn, in preparation for Addison-Wesley Longman, Q3 2000
  • The Unified Modeling Language Reference Manual, Second Edition, By Jame Rumaugh, Ivar Jacobson and Grady Booch, Addison-Wesley, 2005, ISBN: 0-321-24562-8

They are excellent books. I wish I had three heads and six eyes to read them all soon.

In the mean while, I started working on the new project, which I don't have a firmed name for yet. Here are the artifacts I made so far.

  • Vision
  • User Story
  • Glossary
  • FURPS+
  • Use Cases

I'm refining couple major use cases and investigating some fundamental technologies right now.

Friday 6 March 2009

Work On Development Tools - Part Two: UMLet or Modeler

Before reading Mike's comment on my previous post, I was playing around with UMLet, an open source Java application that also has Eclipse plug-in. I thought UMLet was an execllent tiny tool that can help me. It's simple, very easy to use. I can even export diagrams as PDF, GIF or PNG format. However, it is just TOO SIMPLE too fit my need. For example, it does not provides all the notations out of box, though you can add those notions by creating by yourself. This just seems extra work for me.

Mike Milinkovich pointed me to the Eclipse Modeler, which is part of an open source project called Amalgamation. This package is not small. It is about 78M. However, according to the project's web site, it is "A lightweight set of modeling technologies delivered as an Eclipse product that focuses on the needs of a modeling Practitioner; that is, it provides UML and BPMN diagramming capabilities."

The download and installation were both straightforward. Within a few minutes, I was able to create my own diagrams. The package comes with plenty of examples covering classes, components, activities, state machines, composite structures, deployments and use cases. Thank God for helping me to make decision of sticking with Eclipse. It couldn't be easier than using it's Eclipse plug-in. Thank you Mike. You save my time.

Let's go back to work.

Wednesday 4 March 2009

Work On Development Tools - Part One: Eclipse or NetBeans

Both Eclipse and NetBeans are open source development environment. Because I have been working on Palm OS Developer Suite, which is based on Eclipse, it is by nature to stick with Eclipse to develop Mobile Go for J2ME. However, there are a lot of stuffs need to be done to get a complete environment for design, development, test and deployment.

First of all, I need a UML tool to model my software. I used Visual Paradigm for UML (Community Edition/evaluation copy) to design Mobile Go for Palm. I want a integrated tool to do my work this time. So I searched Eclipse's plug-ins. OMG, there are so many plug-ins. Which one should I choose? What I need is a tool that allows me doing diagrams. I don't really need auto code generation, reverse engine or CVS. I want it be easy to use, don't need to take days to install, configure and learn.

So, where is my baby?