One can ignore the DIP switch in the design. It is also not so dissimilar from the schematics on the official MIDI.org MIDI electrical specifications site.
Although this project only needs the MIDI in, I would probably include the MIDI out in order to pass thru the MIDI signal for chaining. Or I might try to implement it as per the official MIDI spec above (it it in the OPTIONAL box.)
Now, as far as software goes, there is a very nice MIDI library available from Fourty Seven Effects and included in the Arduino Playground that you can very easily use. It has recently been updated to use the MIT license which makes it available even for commercial, non-open source projects! There are plenty of examples that come with it to show you how to use it.