Process for Specifying Software

Hello,

I am planning in developing an application for my final undergraduate project and I am thinking of using Ruby On Rails to implement it.

But I need to follow a kind of process or bibliography that can describe how to specify software development.

Does anybody knows any process that I can follow when programming Ruby On Rails applications?

As I am sure you know, there are many different processes for software development. They all have different characteristics which make some more suitable for any given application than others.

It sounds like the most important requirement for the process you need is that it fulfils your examiner's requirements. Some processes, for example, are less formal than others and you don't want to choose one so informal that it doesn't qualify from the point of view of your examiners.

Rails allows quick and clean development thanks largely to the nature of Ruby. So I suggest you choose a process which allows you to move quickly -- i.e. one with less formality or ceremony. So steer clear of, say, the Rational Unified Process and towards one of the ones falling under the Agile banner.

At the end of the day, different people will recommend different processes. There's no right or wrong answer. Personally I like Getting Real[1] but it might not meet either your examiner's requirements or your tastes.

Hope that helps, Andy Stewart

[1] http://gettingreal.37signals.com

Well Rails was designed to be usable in an agile context. From some war stories I have heard, you kill off any benefits to Rails (productivity) by not using it in an Agile context.

As for using UML to sketch MVC systems for Rails. I would backpedal on that. It would take you longer to model them than it would take to implement them in Rails, and then you can use Rails visualisation tools to extract a UML/visual representation from your code. As a side effect, you also have the entire skeleton of your app done.