You don't need a computer to run your model railway, whether you're using DCC or not. But once you've progressed to a DCC system then linking a computer into the set-up certainly becomes tempting...
Part of the reason for this is the fact that the DCC system is already using the same kind of technology as a computer so it's not a great leap. The DCC system is already doing the bulk of the work, anyway, so the computer's job is simple - it just needs to send the DCC system a few commands here and there, basically telling it to get on with the job and come back and let me know when you've finished. For this reason you don't need an especially powerful computer to run things, which makes it an attractive, low-cost option for someone like me. I've binned far more old computers than I've ever thrown away model trains!
Assuming you've already got a DCC operated layout and access to a suitable computer then you need just two things:
The software I use (having tried them all) is TrainController from Freiwald Software's Railroad & Co range, a product that I can confidently recommend.
Originally I'd just planned to use a computer to operate the points, signals and interlocking, effectively replacing the miles of wire and dozens of switches involved in traditional model railway control panels. The computer would pretty much play the part of a power signal box and leave me to the serious business of playing trains. This seemed entirely logical to me, although a little short-sighted as it turns out. You can do a lot more than that at no extra cost, which is always a pleasant suprise.
There isn't a lot to setting up the basic track diagrams, to be honest, and I was up and running in under an hour - try comparing that to building a control panel. As the first train moved around the layout the track circuit indicators illuminated nicely and when I threw a point using my finger (naughty, naughty!) it updated on the display, which was useful.
What I hadn't expected (as you might have guessed from other parts of this site) was the ease of automation to be had from this kind of set-up. Although, personally, I don't want the layout to be automatic, (I like to drive the trains, thank you very much), it's very nice having the computer work additional traffic for me. I like the idea of driving a freight and being held at a red signal while the computer controlled local service crosses into platform 3. I'm still experimenting with this side of things (it's a whole new world to me) but initial results are very, very encouraging - I don't think I've been this enthusiastic about anything on a trainset for about 20 years. The computer takes nothing away from the layout, but adds an awful lot - far more than I imagined possible. I've being saying 'WOW!' a lot...
Assuming you've got your DCC controlled layout operational, including the ability to control the points, setting up a control panel is as easy as:
Draw the track diagram on screen. The program works like many drawing programs, with a pallette of options you can choose from.
Open the properties box for each of the points and tell the program the point's number on your layout (under DCC points have numbers in the same way that locos do).
Drop some route selector buttons onto your diagram, using the pallette again. Open the properties box for each of these in turn and click on the record button.
Draw the desired route over the track diagram using the mouse pointer (it's represented by the yellow line in the picture and tends to 'snap' to where you've drawn the actual track) and click the stop button when you're finished. That's it. Job done.
It really is that simple. Obviously most layouts are far more complicated than that and you'll want to do a lot more, but in essence it's just a lot of simple steps as shown. Clicking on those route buttons will set the whole route, throwing each point in sequence. The route is locked until you press the button again, so conflicting routes can't be set. You can also throw individual points by clicking them with the mouse pointer (assuming the route isn't locked) but using the route buttons is much easier.
Do I want to go back to building old style control panels? About as much as I want an outside toilet...
I'm going to cheat a bit now and jump right through to the other end of the process - train automation. I'm missing out quite a lot of intermediate steps in doing so. I'm also simplifying things considerably in order to illustrate the overall process rather than all of the details, but then I'm not trying to write a manual for the software. The following example shows how my fiddle yard is automated - I've cleaned the diagram up a lot and renamed things to make it easier to follow, so unfortunately it won't quite match any files elsewhere on the site, but it shows the key building blocks of the process well enough:
The lower line in the photo is 'Slow 1' in my lower fiddle yard and is divided into 5 track sections, individual circuits that the DCC system knows about thanks to the track-circuit modules wired in. And if the DCC system knows about them, the computer knows about them by default. They're represented on the diagram by the dark-red dots (bright red when occupied), known as contact indicators to the software.
A selection of individual 'schedules' are created. A schedule is a bit like a movement on the real railway, such as Walsall to Birmingham, but not as specific as the 10:22 Walsall to Birmingham. In this case the schedules are just small steps, section 1/1 to section 1/2, section 1/2 to section 1/3, and so on.
Finally these schedules are assigned to the various track circuits (contact indicators as the software calls them) in the fiddle yard road. In the diagram the second section is having the schedule linked to it that will move a train up from the first section into the second. The clever bit is the fact that the schedule is linked to the 'off' state of the indicator, which effectively means that every time a train leaves the section 1/2 the computer will try and shuffle a train up from section 1/1.
All this is done with a few mouse-clicks, basically, and you repeat the process along the line until you've got a completely automatic fiddle yard road. If I drive a train out of the end of road 'Slow 1' the computer shuffles the trains along to take it's place. Nice. In fact, nice and simple.
I've simplified things considerably, of course, (the above deals with just shuffling along and not through running), but it shows the key concept. Further features are added in the same way - by mouse-clicks.
If you go back to the first diagram you'll see I've got the two outer roads of the fiddle yard set up like this, broken into 5 sections each to hold multiple units. I use them to feed the units to the layout automatically while I get on with running the more interesting trains...