Archive for November, 2006

Which next generation console?

Wednesday, November 15th, 2006

Although I do not really write about it here on my blog, I do like to keep up to date with what games and consoles are about to be released. I think it is now time to place my verdict on what you should get even if you could buy all three consoles Microsoft Xbox 360, Sony PlayStation 3 and Nintendo Wii.

Xbox 360

The Xbox 360 has been out a year already and is an excellent little machine and has impressive graphics to say the least but the technology but it is the first console out so it is hard to give an accurate comparison. Although I have to point out the technology that it is comprised of is a year old and with the PlayStation 3 not coming out until April next year it will probably suck but I have to congratulate Microsoft for having the HD-DVD player as an optional extra that can be bought IF you want it at a later date. I am sure that in the not to distant future it will be integrated into machine instead of as a separate drive.

PlayStation 3

I am worried about the PlayStation 3 from the offset because Sony only started to make it because they wanted it as a sales tool for their new technology Blu-Ray and not because the PlayStation 2 was out of date the PlayStation 2 has still not had its full potential fully unlocked. If you play the game Black and compare it to any game you have played before you will see how much can still be archive if game developers wanted too. The release date has been knocked back now about 3 times and it is all thanks to the Blu-Ray disk reader. However, the specification of the machine is phenomenal, it has 8 processors running at more than 4Ghz. If nothing else this would make an excellent Linux computer (which I believe is already available in the US).

Wii

This one has given a lot of people a laugh because Nintendo is giving Sony and Microsoft the finger the specification of the Wii is a light weight compared to the other two machines. It does not even have High-Definition support. However, the Wii has an ace up it’s sleeve the controller has 100s of sensors built into it which allows it to detect your movement so instead of pressing buttons you move the controller instead. The adverts have shown many uses of it from a sward to baton to control an orchestra.

My Verdict

I have not gone into very much detail about any of the consoles but I have given you a quick overview of them. I have to admit I am being biased against Microsoft just because it is Microsoft and have ruled the Xbox 360 for anything more than installing Linux Free60 on. The PlayStation 3 I know will be good but I am worried that it is to expensive at least to begin with so if Sony manage survive the amount of money they have lost on it and other project that have gone wrong I will be getting one sooner or later (probably much, much later). The underdog has won my heart on this one, Nintendo have not gone for incredible realism or fantastic graphics they have looked what scares people away from using games consoles and set about trying to make it easier and less scary. In doing so they have come up with something completely revolutionary (why did they change the name of the console?) and the Wii is the console I will be buying after Christmas, if I have any money left over that is.

Software Development Process, Requirements and Testing

Wednesday, November 1st, 2006

Table of Contents


Development Process

In the development of software there are different models that can be applied over the whole project to make it easier to finish. The main two models are the Waterfall Model (a sequential software development process) and the Evolutionary Model (an interactive software development model). Both have different advantages and disadvantages, which one is used can depend upon the project and often a mixture of models is required.


The Waterfall Development Model

Fig 1: The Waterfall Model
The waterfall model is a very simple process, you start at the top and work your way to the bottom consulting with the customer and signing off each stage before moving onto the next stage. In a real life development using this model each stage will bleed into the next but the borders of each stage are still clear. This model is very easy to keep track of because each stage is clearly labelled and an in-depth document is produced about the stage.

However, this kind of development does have disadvantages, if the customer realises that a requirement is missing and the stage has already been signed off it can be difficult and costly to go back and add the new requirement. This model should be used in developments where the customer and the developer are clear exactly what is required and the requirements are unlikely to change drastically.


The Evolutionary Development Model

Fig 2: The Evolutionary Model
The Evolutionary Development Model has the best success rate for developing software that meets the customers requirements. This is because the developers are continually talking to the customer, revising the requirements and altering the development until it is finished. This model is perfect for developments with customers who are not clear about what they need from the system. This is because the developers can try different methods for the system to work until they find the one that works best for the customer.

This development process also has problems. As the software is continually been changed during the development what is actually produced can be very different to where it started. This can mean that the system could be unstable and serious bugs can creep in very easily. It is also difficult to see how far the development is from finishing because the development goes around in a circle until it is finished which means it could become expensive if the circle goes round to many time.


Coding Standards

A coding standard also know as a programming style or coding convention, is a way to keep the source code of software uniform making it easier for developers (the original other or someone else) to quickly read through the code and modify it. Coding standards normally dictate how to

  • indent the code - commonly ether two or four spaces or one tab
    • Using

      if($hour < 19 && $day > 8 * 4) {
          return true;
      }
      else {
          return false;
      }

    • instead of

      if($hour < 19 && $day > 8 * 4) { return true; }
      else { return false; }

  • variable, function and class names
    • startingWordWithCapitals
    • using_underscore_instead_of_spaces
  • spacing

    • Using

      int $i;
      for($i = 0; $i < 10; $i++) {
          print(“%d”, $i);
      }

    • instead of

      int $i;
      for($i=0;$i<10;$i++){print(“%d”,$i);}


Requirements Analysis and Specification

The requirement specification should be signed off before starting the design stage of the development process so that both the developer and the customer have agreed exactly what the system should include. Once the requirement specification has been signed off the customer cannot change their mind about the requirements because they have agreed the requirement specification they have signed off is what they wanted and nothing need be changed.

The analysis stage of a development should be interactive because the developers do now know how the company works. If the developer build a system without consulting and discussing how the customer’s company works and what the system needs to be able to do, then it is unlikely they will be able to build a system that will be useful to the customer.


Figures

Fig 1: The Waterfall Model http://en.wikipedia.org/wiki/Waterfall_model 2006/10/29

Fig 2: The Evolutionary Model http://en.wikipedia.org/wiki/Iterative_and_incremental_development 2006/10/29


References

Sommerville (2007) Software Engineering 8th Edition ISBN 0-321-31379-8

Wikipedia.org