Western Governor's University and
Excelsior (both non-profit) are the best online options, especially if you want self-paced. They are both very cost-effective and regionally accredited. You should check out the details of the programs that each offers to see if they provide what you want. I know WGU's IT programs are very solid, but I'm not sure about their software development options. I know they just recently added a Software Development concentration option for a Bachelor's degree, but the program guide hasn't been posted yet so I'm not sure of the exact courses offered.
If you end up getting your bachelor's,
Georgia Tech now offers their well-respected MS in CS degree online. The admissions requirements are stricter than the online-only schools, but not too onerous.
If you don't really want a degree, but would like some formal training,
Stanford and
MIT both have strong no-credit open course ware offerings - they also have paid-for online certificate programs.