| Week |
Lecture Topic |
Reading |
Tutorial |
|
1 (Sep17) |
Software overview
slides,
handout
About the coursework
slides
(only, since this
material is not examinable)
|
Required:
Suggested:
|
none |
| No lecture
|
none |
2 (Sep 24) |
Large(r) systems
slides,
handout
|
Suggested:
Blog on Chinook FADEC
CMU's page on ULSs
|
none |
Requirements engineering and use cases
slides,
handout
|
Required:
GSWEBOK
2004 Ch2
Suggested:
Stevens Ch7, Sommerville requirements chapters.
ATS User Stories.
BCS Response to NAO Investigation of NPfIT (See Problem/Solution 3).
|
3 (Oct1) |
Design
slides,
handout
Refactoring (may finish next lecture)
slides,
handout,
|
Required:
article on refactoring
Suggested:
GSWEBOK2004 Ch3, for an overview of the field
of software design
Stevens Ch3, a simple case study; Somerville Ch14 on OOD
(and nearby chapters, maybe)
Browse SEI's collection of architecture definitions
(architecture) Somerville ch 11-13
Browse Martin Fowler's refactoring page
|
none |
|
No lecture
|
None
|
4 (Oct8) |
(Maybe do/finish Refactoring, and then)
UML class diagrams
slides,
handout,
|
Suggested:
Stevens Ch5
|
Requirements (mostly)
solutions
|
Construction 1:
slides,
handout
|
Required:
Chapter 1, Fundamental Concepts
Suggested:
man rcsintro
Eclipse Team Programming with CVS
Tutorial about dVCS (Mercurial)
GIT Community Book and
list of GIT resources
browse JUnit site.
|
5 (Oct15) |
Construction 2
slides,
handout
|
Required:
Something thorough on Java packages e.g. this tutorial plus this page on access, or this chapter but be aware it's old - check the examples!
JavaDoc tutorial
Suggested:
Stevens Ch14 - 4 pages discussing UML's notion of
packages.
|
|
Interaction:
slides,
handout
and start
Verification, validation and testing:
slides,
handout
|
Required:
GSWEBOK2004 Ch11
Some JUnit information, see slides and here. You must know how to create and run a JUnit test for a method of a class - the best way to learn this is to do it.
Section 1 of "Design by contract with JML"
Suggested:
A Laboratory for Object-Oriented Thinking
The rest of "Design by contract with JML"
GSWEBOK2004 Ch5
Sommerville Ch22-24 and/or Stevens Ch19.
|
6 (Oct22) |
Finish VV and T, then
Deployment and maintenance:
slides,
handout
|
Suggested:
The Java webstart page
|
Writing good code (plus a
little design)
solutions
|
Processes:
slides,
handout
|
Suggested: browse the web to read more about the processes mentioned
|
7 (Oct29) |
Agile:
slides,
handout
|
none |
Quality:
slides,
handout
|
Required:
GSWEBOK2004 Ch11
(already listed in Week 6 but relevant here too)
Suggested:
Paulk paper
Sommerville
chapter 26
Sommerville \S5.4, Ch 27,28 and/or Stevens Ch19,20.
Sommerville Chs 4,5,17 and/or Stevens Ch 4.
CMMI vs. ISO 9001 case study
|
8 (Nov5) |
No lecture |
No new reading |
Testing and Sequence Diagrams
solutions
|
| No lecture |
No new reading |
9 (Nov12) |
The user's role:
slides,
handout
|
Required:
Equality Act 2010 article
How to
report bugs effectively
Suggested:
useit.com especially
Alertboxes
Smart
questions
W3C Web Content Accessibility Guidelines
|
none |
Non-functional requirements
slides,
handout
then
Security engineering
slides,
handout
|
Suggested:
Browse CWE/SANS Top 25 Most Dangerous Software Errors
Why Information Security is
Hard: an Economic Perspective
Secure Coding Guidelines for the Java Programming Language
|
10 (Nov19) |
Licensing, IP
slides,
handout
then
Ethics, including Therac-25 story
slides,
handout
|
Required:
The GPL
The LGPL
Open Source definition
Suggested:
Nancy Leveson's paper on the Therac-25 accidents.
|
Past
exam paper
(note: current exams are "Two questions out of three", not "as many questions as possible")
,
|
| No lecture |
No new reading |