353x Filetype PDF File size 0.33 MB Source: london.ac.uk
Software engineering,
algorithm design and analysis
Volume 1
T. Blackwell
CO2226
2007
Undergraduate study in
Computing and related programmes
This is an extract from a subject guide for an undergraduate course offered as part of the
University of London International Programmes in Computing. Materials for these programmes
are developed by academics at Goldsmiths.
For more information, see: www.londoninternational.ac.uk
This guide was prepared for the University of London International Programmes by:
Tim Blackwell
This is one of a series of subject guides published by the University. We regret that due to pressure of work the author is
unable to enter into any correspondence relating to, or arising from, the guide. If you have any comments on this subject
guide, favourable or unfavourable, please use the form at the back of this guide.
University of London International Programmes
Publications Office
32 Russell Square
London WC1B 5DN
United Kingdom
www.londoninternational.ac.uk
Published by: University of London
© University of London 2007
The University of London asserts copyright over all material in this subject guide except where otherwise indicated. All rights
reserved. No part of this work may be reproduced in any form, or by any means, without permission in writing from the
publisher. We make every effort to respect copyright. If you think we have inadvertently used your copyright material, please
let us know.
Contents
Introduction iii
I Principles 1
1 Software Engineering 3
1.1 Whatis a good system? . . . . . . . . . . . . . . . . . 3
1.2 Theproblem . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Building systems with objects . . . . . . . . . . . . . . 5
1.4 OOdesign . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 DevelopmentProcessand Modelling 11
2.1 Iterative and waterfall processes . . . . . . . . . . . . . 11
2.2 Design and modelling . . . . . . . . . . . . . . . . . . 12
2.3 Aunifiedmodelling language: UML . . . . . . . . . . . 13
2.4 Fitting UML into a process . . . . . . . . . . . . . . . . 14
2.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 16
II UML 17
3 UseCases 19
3.1 Requirements capture . . . . . . . . . . . . . . . . . . 19
3.2 Thebasic technique . . . . . . . . . . . . . . . . . . . 20
3.3 Whentouseusecases . . . . . . . . . . . . . . . . . . 21
3.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 21
4 Class Diagrams: The basic technique 23
4.1 Class identification . . . . . . . . . . . . . . . . . . . . 23
4.2 Properties . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3 Properties as code . . . . . . . . . . . . . . . . . . . . 25
4.4 Adding more information to the class model . . . . . . 26
4.5 Whentouseclass diagrams . . . . . . . . . . . . . . . 27
4.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 27
5 SequenceDiagrams 29
5.1 Thebasic technique . . . . . . . . . . . . . . . . . . . 29
5.2 Advanced techniques . . . . . . . . . . . . . . . . . . . 30
5.3 Whentousesequencediagrams . . . . . . . . . . . . . 31
5.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 31
6 Class Diagrams: Advanced techniques 33
6.1 Responsibilities and collaborators . . . . . . . . . . . . 33
6.2 Static operations and attributes . . . . . . . . . . . . . 34
6.3 Aggregation and composition . . . . . . . . . . . . . . 34
6.4 Interfaces and abstract classes . . . . . . . . . . . . . . 34
i
CIS226 Software Engineering, Algorithm Design and Analysis Volume I
6.5 Classification . . . . . . . . . . . . . . . . . . . . . . . 35
6.6 Association classes and visibility . . . . . . . . . . . . . 36
6.7 Whentouseadvancedconcepts . . . . . . . . . . . . . 36
6.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 37
7 State Machine Diagrams 39
7.1 Thebasic technique . . . . . . . . . . . . . . . . . . . 39
7.2 Implementing state diagrams . . . . . . . . . . . . . . 40
7.3 Whentousestatediagrams . . . . . . . . . . . . . . . 41
7.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . 41
7.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 41
8 Activity Diagrams 43
8.1 Thebasic technique . . . . . . . . . . . . . . . . . . . 43
8.2 Advanced techniques . . . . . . . . . . . . . . . . . . . 44
8.3 Whentouseactivity diagrams . . . . . . . . . . . . . . 45
8.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 46
9 SummaryofUMLmodellingtechniques 47
III Quality 49
10 Product Quality 51
10.1 Verifying software . . . . . . . . . . . . . . . . . . . . 51
10.2 Validating software . . . . . . . . . . . . . . . . . . . . 52
10.3 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
10.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . 53
10.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 54
11 Process Quality 55
11.1 Project management . . . . . . . . . . . . . . . . . . . 55
11.2 Project planning . . . . . . . . . . . . . . . . . . . . . 56
11.3 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . 56
11.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 57
IV Resources 59
12 Analysis and design of a personal 0rganiser 61
12.1 Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . 61
12.2 Use cases . . . . . . . . . . . . . . . . . . . . . . . . . 61
12.3 Class Identification . . . . . . . . . . . . . . . . . . . . 62
12.4 UML diagrams . . . . . . . . . . . . . . . . . . . . . . 62
13 Sample examination paper 69
13.1 Advice . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
13.2 Questions . . . . . . . . . . . . . . . . . . . . . . . . . 69
13.3 Answers . . . . . . . . . . . . . . . . . . . . . . . . . . 71
ii
no reviews yet
Please Login to review.