EE2.sad homepage

The University of Surrey

 EE2.sad:  Software Analysis & Design


 [ Home | Syllabus | Exercises | Coursework | Exams ]

 [ Timetable | Examples & links | Labs | Books ]
 

Welcome!

Here's the EE2.sad Software Analysis & Design website where you'll find information about lectures, handouts, exercises and solutions, labs, past papers, books and other sources of help. If you have a particular question about some aspect of the course you can email me.


Timetable

Lectures are mostly in the Lecture block: at 12pm in LT-F on Mondays, and at 5pm in LT-E or M on Thursdays. The examination will take place at 2:30pm on Wednesday 17 December in the Austin Pearce building AP 1/2.

 Week    Lectures   Exercise   Solution   Laboratory 
  1    L. 1 (12h Mon, LT-F) L. 2 (17h Thu, LT-E) L. 3 (09h Fri, LT-E)      
  2    L. 4 (12h Mon, LT-F) L. 5 (17h Thu, LT-E) L. 6 (09h Fri, LT-E) Ex. 2 Sol. 2   Lab. 0   
  3    L. 7 (12h Mon, LT-F) L. 8 (12h Thu, 04AZ01) L. 9 (17h Thu, LT-E)       Lab. 0   
  4    L.10 (12h Mon, LT-F)     Ex. 4 Sol. 4   Lab. 0   
  5    Linear systems, LT-F L.11 (17h Thu, LT-M)        
  6    L.12 (12h Mon, LT-F) L.13 (17h Thu, LT-M)   Ex. 6 Sol. 6   Lab. 1   
  7    L.14 (12h Mon, LT-F) L.15 (17h Thu, LT-M)         Lab. 1   
  8    L.16 (12h Mon, LT-F) L.17 (17h Thu, LT-M)   Ex. 8 Sol. 8   Lab. 1   
  9    L.18 (12h Mon, LT-F) L.19 (17h Thu, LT-M)         Lab. 2   
  10    L.20 (12h Mon, LT-F) L.21 (17h Thu, LT-M)   Ex. 10 Sol. 10   Lab. 2   
  11    L.22 (12h Mon, LT-F) Rev.1 (17h Thu, LT-M)         Lab. 2   
  12    Rev.2 (12h Mon, LT-F)     Ex. 12 Sol. 12  

Examples and links

There are exercises on this web page for you to do in your own time as the weeks go by. To help you convince yourself that you are keeping up with the material presented in the lectures, I have also produced solutions.

  • The module homepage, info.ee.surrey.ac.uk/Teaching/Courses/ee2.sad/
  • Mirror site under my personal homepage, personal.ee.surrey.ac.uk/Personal/P.Jackson/ee2.sad/
  • Dennis & Wixom student resources, wiley.com/college/info/dennis241008/resources/
     
  • Week 1:
    • Slides on Introduction to Software Analysis & Design (§1), s01sad.pdf (on campus only)
    • Slides on Design Methodology (§2), s02sad.pdf (on campus only)
  • Week 2:
    • Slides on Software Design Process (§3), s03sad.pdf (on campus only)
    • Slides on Alternative Design Examples, s05sad.pdf (on campus only)
    • Slides on SDLC Methodologies (Dennis & Haley-Wixom, ch.1), Dennis01a.ppt (on campus only)
    • Slides on Design Processes (§4), s04sad.pdf (on campus only)
    • Slides on Expressing ideas (§5), s06sad.pdf (on campus only)
  • Week 3:
    • Slides on Design representations, Pseudocode & DFDs (§§6 & 6.1), s07sad.pdf (on campus only)
    • Slides on Data-flow diagrams (Dennis & Haley-Wixom, ch.6), Dennis06a.ppt (on campus only)
    • Slides on Use cases and creating DFDs (Dennis & Haley-Wixom, ch.6), Dennis06bc.ppt (on campus only)
  • Week 4:
    • Slides on Data-modelling viewpoint (ERD), s10sad.pdf (on campus only)
    • Slides on Entity-relationship diagrams (Dennis & Haley-Wixom, ch.7), Dennis07a.ppt (on campus only)
  • Week 5:
    • Slides on Structural viewpoint (structure chart), s11sad.pdf (on campus only)
    • Slides on Structure charts (Dennis & Haley-Wixom, ch.12), Dennis13a.ppt (on campus only)
  • Week 6:
    • Slides on Jackson structure diagrams, s01sad_JSD.pdf (on campus only)
    • Slides on Behavioural viewpoint (STD & Petri net), s12sad.pdf (on campus only)
    • Slides on Design strategies, s13sad.pdf (on campus only)
    • Slides on System design - part 1 (Dennis & Haley-Wixom, ch.8), Dennis08a.ppt (on campus only)
  • Week 7:
    • Slides on Jackson Structured Programming (§8), s14sad.pdf (on campus only)
    • Slides on SSA/SD, s15sad.pdf (on campus only)
    • Slides on System design - part 2 (Dennis & Haley-Wixom, ch.8), Dennis08b.ppt (on campus only)
  • Week 8:
    • Slides on Transaction and Transform analyses, s16sad.pdf (on campus only)
    • Slides on HOOD, s17sad.pdf (on campus only)
  • Week 9:
    • Slides on Formal methods, s18sad.pdf (on campus only)
    • Slides on Design quality, s19sad.pdf (on campus only)
  • Week 10:
    • Slides on Coupling & cohesion, s20sad.pdf (on campus only)
    • Slides on White-box testing, s21sad.pdf (on campus only)
  • Week 11:
    • Slides on Black-box testing, s22sad.pdf (on campus only)

Coursework

The coursework for this module, which is worth 20% of the credit, comes as a design activity (8%) and two lab activities (6% each).

The design activity (worth 8% of module) was introduced two years ago to provide an opportunity of experiencing at first hand some of the difficulties of working in a team with changing requirements. Further details are available.

In the first lab (worth 6% of module), you will work on using Data Flow Diagrams (DFDs) and Entity Relationship Diagrams (ERDs) to produce a logical design, with a Computer-Aided Software Engineering (CASE) tool. This activity broadly corresponds to the Analysis stage in the software development lifecycle.

In the second lab (worth 6% of module), you will elaborate these diagrams to produce the system blueprints ready for implementation, in the form of a physical design, which corresponds to the Design stage in the SDLC.

The lab sessions take place in 32-BB-03 (the Penguin lab) at 2-3 p.m. on Monday afternoons; the first lab is in weeks 6-8, and the second in weeks 9-11. For each practical, you will be divided into three sessions according to your coursework groups. Each session is given a separate set of instructions (although the tasks you do are very similar), so make sure you are working from the correct version of the lab sheet that corresponds to your lab group. Instructions will be posted later.

If you cannot attend your allocated lab session, you must notify me (e-mail p.jackson@surrey.ac.uk) beforehand to avoid penalty. Check your lab group to see which day you are on:

 Groups   First lab   Second lab 
 Ada, C#, Fortran  2pm Mon 13 Oct (instructions) 2pm Mon 3 Nov (instructions)
 Java, .net, Perl  2pm Mon 20 Oct (instructions) 2pm Mon 10 Nov (instructions)
 SQL, VB, XML, Z  2pm Mon 27 Oct (instructions) 2pm Mon 17 Nov (instructions)

The deadlines are:

  • 22 Oct (lab 1) and 12 Nov (lab 2) for groups Ada, C# and Fortran
  • 29 Oct (lab 1) and 19 Nov (lab 2) for groups Java, .net and Perl
  • 5 Oct (lab 1) and 26 Nov (lab 2) for groups SQL, VB, XML and Z
You must submit your coursework to the undergraduate Teaching Support Office by 12pm on the deadline Wednesday.

Books

The book that is recommended for this course is from the US,

  • Dennis & Wixom: Alan Dennis and Barbara Haley Wixom, Systems Analysis and Design, 2nd ed., New York (NY): John Wiley & Sons, 2003 [ISBN 0-471-07322-9].
  • Dennis et al.: Alan Dennis, Barbara Haley Wixom, and Roberta M. Roth, Systems Analysis and Design, 3rd ed., New York (NY): John Wiley & Sons, 2005 [ISBN 0-471-72257-X].
The lecture notes were originally based around a more-traditional British book, which also has a newer edition,
  • Budgen: David Budgen, Software Design, Wokingham (UK): Addison-Wesley, 1993 [ISBN 0-201-54403-2]
  • Budgen: David Budgen, Software Design, Wokingham (UK): Addison-Wesley, 2nd ed., 2003 [ISBN 0-201-72219-4].
There are also other good software design texts for engineers,
  • Sommerville: Ian Sommerville, Software Engineering, 7th ed., Harlow (UK): Addison-Wesley (Pearson Education), 2004 [ISBN 0-321-21026-3].
  • Pressman: Roger S Pressman, Software Engineering: a practitioner's approach, 6th ed., Maidenhead (UK): Higher Education, 2004 [ISBN 0-071-23840-9].
  • Van Vliet: Hans Van Vliet, Software Engineering: Pinciples and Practice, 2nd ed., Chichester (UK): Wiley, 2000 [ISBN 0-471-97508-7].

I suggest you try to buy the one that your prefer - they all cost around £40. Budgen is useful for clearing up anything about the main concepts that you might not understand from the lecture notes; Dennis et al. has a more practical approach and is more in tune with current business practices (the old blue edition is still useful for some of the course, although many of the diagrams have changed).

Finally, for more practical advice on developing reuseable software designs, you might want to read up about the 23 design patterns as presented by the Group of Four:

  • Gamma et al.: Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, Design Patterns, Boston: Addison-Wesley, 1995 [ISBN 0-201-63361-2].



Dept.
[ CVSSP | Dept. | Fac. | Univ. ]

© 2002-8, maintained by Philip Jackson, last updated on 20 Nov 2008.


Faculty