167x 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.