
Software Design Methodology Software Design Methodology Hong Zhu AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO Butterworth-Heinemann An imprint of Elsevier Linacre House, Jordan Hill, Oxford OX2 8DP 30 Corporate Drive, Burlington MA 01803 First published 2005 Copyright © 2005, Hong Zhu. All rights reserved The right of Hong Zhu to be identified as the author of this work has been asserted in accordance with the Copyright, Designs and Patents Act 1988 No part of this publication may be reproduced in any material form (including photocopying or storing in any medium by electronic means and whether or not transiently or incidentally to some other use of this publication) without the written permission of the copyright holder except in accordance with the provisions of the Copyright, Designs and Patents Act 1988 or under the terms of a licence issued by the Copyright Licensing Agency Ltd, 90 Tottenham Court Road, London, England W1T 4LP. Applications for the copyright holder's written permission to reproduce any part of this publication should be addressed to the publisher Permissions may be sought directly from Elsevier’s Science and Technology Rights Department in Oxford, UK: phone: (+44) (0) 1865 843830; fax: (+44) (0) 1865 853333; e-mail: [email protected]. You may also complete your request on-line via the Elsevier homepage (http://www.elsevier.com), by selecting ‘Customer Support’ and then ‘Obtaining Permissions’ The following figure supplied courtesy of Diagram Visual Information Ltd Figure 4.2 The following figures supplied courtesy of ACM Publications Figures 4.9, 4.10, 4.12, 4.13, 4.16 The following figure supplied courtesy of AAAI Press Figure 5.10 British Library Cataloguing in Publication Data A catalogue record for this book is available from the British Library Library of Congress Cataloguing in Publication Data A catalogue record for this book is available from the Library of Congress ISBN 0 7506 6075 9 For information on all Butterworth-Heinemann publications visit our website at www.books.elsevier.com Printed and bound in Great Britain Table of Contents Preface x 1 Basic Concepts of Design 1 1.1 Introduction ............................................................................................................2 1.2 Characteristics of design activities .........................................................................4 1.2.1 The input and start point of designs.............................................................4 1.2.2 The outcome and results of designs .............................................................4 1.2.3 Transformation of data.................................................................................5 1.2.4 Generation of new ideas ..............................................................................5 1.2.5 Problem solving and decision making .........................................................5 1.2.6 Satisfying and discovering constraints.........................................................6 1.2.7 Evolution and optimisation in a solution space of diversity ........................6 1.3 Essential elements of designs .................................................................................7 1.3.1 Statement of design problem and objectives................................................7 1.3.2 Constraints .................................................................................................11 1.3.3 Description of product ...............................................................................11 1.3.4 Rationale....................................................................................................13 1.3.5 Plan of production......................................................................................14 1.3.6 Description of usage ..................................................................................15 1.4 The factors that affect designs ..............................................................................16 Summary ..............................................................................................................21 Exercises...............................................................................................................23 2 Design Quality 27 2.1 Software quality models .......................................................................................28 2.1.1 Hierarchical models ...................................................................................28 2.1.2 Relational models ......................................................................................29 2.2 The effect of design on software quality...............................................................33 2.2.1 Efficiency...................................................................................................33 2.2.2 Correctness and reliability .........................................................................35 2.2.3 Portability ..................................................................................................35 2.2.4 Maintainability...........................................................................................36 2.2.5 Reusability .................................................................................................36 ii Table of Contents 2.2.6 Interoperability ..........................................................................................37 2.3 Quality attributes of software design....................................................................39 2.3.1 Witt, Baker and Merritt’s design objectives ..............................................39 2.3.2 Parnas and Weiss’s requirements of good designs ....................................40 2.3.3 Quality of development process.................................................................41 Summary ..............................................................................................................43 Exercises...............................................................................................................44 3 Design Principles 47 3.1 Basic rules of software design ..............................................................................48 3.1.1 Causes of difficulties .................................................................................48 3.1.2 Vehicles to overcome difficulties ..............................................................51 3.1.3 Basic rules of software design ...................................................................53 3.2 Design processes ..................................................................................................55 3.2.1 The context of design in software development process............................55 3.2.2 Generic design process: descriptive models ..............................................58 3.2.3 Design strategies: prescriptive models.......................................................60 3.3 Structure of software design methods...................................................................66 Summary ..............................................................................................................68 Exercises...............................................................................................................68 4 Software Architecture 73 4.1 The notion of architecture.....................................................................................74 4.1.1 Architecture in the discipline of buildings.................................................74 4.1.2 Architecture in the discipline of computer hardware.................................77 4.1.3 The general notion of architecture .............................................................82 4.2 The notion of software architecture......................................................................84 4.2.1 Prescriptive models....................................................................................85 4.2.2 Descriptive models ....................................................................................86 4.2.3 Multiple view models ................................................................................87 4.2.4 The roles of architecture in software design ..............................................92 4.3 Software architectural style ..................................................................................94 4.3.1 Introductory examples ...............................................................................94 4.3.2 The notion of software architectural style................................................101 Summary ............................................................................................................104 Exercises.............................................................................................................106 5 Description of Software Architectures 111 5.1 The visual notation .............................................................................................112 5.1.1 Active and passive elements ....................................................................112 5.1.2 Data and control.......................................................................................113 5.1.3 Relationships............................................................................................114 Software Design Methodology iii 5.1.4 Decomposition/composition of architectural elements............................115 5.2 Example 1: www client-server
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages357 Page
-
File Size-