[Tutor] Recommended texts for self-study to master software engineering?

Alan Gauld alan.gauld at btinternet.com
Sat Dec 15 10:27:45 CET 2012


On 15/12/12 05:26, boB Stepp wrote:

> In my case what I would eventually like to be able to do is develop
> complex, graphically intensive educational software.

OK, the first thing to point out is that software engineering is not the 
same as programming. In the same way that civil engineering is not the 
same as bricklaying.

SE is about the skills and practices needed to run repeatable software 
projects. The focus is on techniques that apply regardless of the 
problem domain. The focus is also mainly on large scale projects 
involving teams of developers rather than a single individual
or even a few. This has typically led to practices that are overly 
onerous for small projects.

The recent trend to Agile has partially addressed the needs of small 
projects by introducing a parallel world of software practice that is 
more suited to small projects (usually cited as up to about 30 
developers). So if thats how you see your projects turning out then you 
should focus on material geared to Agile rather than traditional SE.

Many of the techniques are similar of course - the use of version 
control, automated testing, good design patterns etc. But traditional SE 
has a lot more in the way of heavyweight project management too, quality 
gates, peer reviews, project control files etc and encourages use of 
heavyweight tools (CASE, IPSE, Projet planning, Requirement mgt etc etc) 
Agile is more about getting a team talking and collaborating
directly with rapid development cycles and feedback.

On the assumption you fit the agile model I'd start with the Agile 
Manifesto:  http://agilemanifesto.org

and then read the wikipedia article:

http://en.wikipedia.org/wiki/Agile_software_development

The software engineering link box at the bottom offers a cornucopia of 
topics to research after that.

> textbooks would be for self-study. So my question is what would be a
> sequence of books to acquire the knowledge I would need that are
> especially well-suited to self-study?

Now to turn to this aspect, I'd recommend a few books for general good 
practice:

Structure and Interpretation of Computer Programs
(SICP - available online)

Code Complete

Object Oriented Analysis and Design

Programming Pearls (vols 1 & 2)

Then there are more topic specific texts but I can't personally 
recommend anything in your topic space so I'll let others comment
on that.

HTH

-- 
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/



More information about the Tutor mailing list