[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