Table Of ContentAladdin Ayesh
Essential
UMCmfast
Using SELECT UseCaseTool
for Rapid Applications
Development
Springer
Aladdin Ayesh, BSc, MSc
Department of Computing Information Sciences, De Montfort University,
The Gateway, Leicester LE! 9BH
Series Editor
John Cowell, BSc (Hons), MPhil, PhD
Department of Computer Science, De Montfort University, The Gateway,
Leicester LE! 9BH
British Library Cataloguing in Publication Data
A catalogue record for this book is available from the British Library.
Library of Congress Cataloging-in-Publication Data
Ayesh,Aladdin,1972-
Essential UML fast: using SELECT use case tooI for rapid applications development I
Aladdin Ayesh.
p. cm. - (Essential series)
Includes bibliographical references and index.
ISBN 978-1-85233-413-0 ISBN 978-1-4471-0153-6 (eBook)
DOI 10.1007/978-1-4471-0153-6
1. Application software-Development. 2. UML (Computer science) I. Title. II.
Essential series (Springer-Verlag)
QA76.76.A65 A94 2002
005.1-dc21
2002021724
Apart from any fair dea1ing for the purposes of research or private study, or criticism or review, as
permitted under the Copyright, Designs and Patents Act 1988, this publication may only be repro
duced, stored or transrnÎtted, in any form or by any means, with the prior permission in writing of
the publishers, or in the case of reprographic reproduction in accordance with the terms of licences
issued by the Copyright Licensing Agency. Enquiries concerning reproduction outside those terms
should be sent to the publishers.
Essential series ISSN 1439-975X
http://www.springer.co.uk
© Springer-Verlag London 2002
Originally published by Springer-Ve r1ag London Limited in 2002
The Unified Modeling Language and UML are trademarks of the Object Management, Ine.
Select Enterprise and Select Component Factory are trademarks of the Aonix Corporation.
Microsoft, Wmdows and Windows NT are trademarks or registered trademarks of Microsoft
Corporation Ud.
The use of registered names, trademarks etc. in this publication does not imply, even in the absence
of a specific statement, that such names are exempt from the relevant laws and regulations and there
fore free for general use.
The publisher makes no representation, express or implied, with regard to the accuracy of the infor
mation contained in this book and cannot accept any legal responsibility or liability for any errors
or omissions that may be made.
Typesetting: Mac Style Ud, Scarborough, N. Yorkshire
3413830-543210 Printed on acid-free paper SPIN 10789834
Essential Series
Springer-Verlag London Ltd.
Alsoin thisseries:
John Cowell DavidThew
EssentialVisualBasic 5.0fast EssentialAccess2000fast
3-540-76148-9 1-85233-295-6
Duncan Reed and PeterThomas Ian Palmer
EssentialHTMLfast EssentialJava3Dfast
3-540-76199-3 1-85233-394-4
John Hunt MatthewNorman
EssentialJavaBeansfast EssentialColdFusionfast
1-85233-032-5 1-85233-315-4
JohnVince Ian Chivers
EssentialVirtualRealityfast EssentialLinuxfast
1-85233-012-0 1-85233-408-8
John Cowell Fiaz Hussain
EssentialVisual J++ 6.0fast Essential Flash 5.0fast
1-85233-013-9 1-85233-451-7
JohnCowell JohnVince
EssentialJava2fast EssentialMathematicsfor
1-85233-071-6 ComputerGraphicsfast
1-85233-380-4
John Cowell
EssentialVisual Basic6.0fast
John Cowell
1-85233-071-6 EssentialVB.NETfast
1-85233-591-2
Ian Chivers
EssentialVisual C++ 6.0fast
SimonStobart
1-85233-170-4
EssentialPHPfast
1-85233-578-5
JohnVince
EssentialComputerAnimationfast
Fiaz Hussain
1-85233-141-0
EssentialDreamweaver4.0fast
AladdinAyesh 1-85233-573-4
EssentialDynamicHTMLfast
1-85233-626-9
Contents
1. INTRODUCTION........................................ 1
Introduction 2
Analysisanddesignapproaches......................................................................................... 2
RapidApplicationDevelopment......................................................................................... 3
CASEtools,approachesandmethodologies 3
Whoisthisbookfor? 4
WhatdoyouneedtouseUMl? 5
2. INTRODUCTION TO MODELLING 7
Introduction 8
Businessmodelling 8
Structurevsbehaviour 9
Storyboarding...................................................................................................... 9
Hierarchies........................................................................................................... 10
Lifecycles 10
Traditionallifecycle 11
Prototypelifecycle 11
Spirallifecycle..................................................................................................... 12
V-shapedlifecycle............................................................................................... 13
UnifiedModellinglanguage 14
CASEtools............................................................................................................ 15
HowtochooseCASEtools.................................................................................... 15
3. OBJECT-ORIENTED TECHNOLOGy............ 17
Introduction 18
Structuredmodellingandobjectmodelling....................................................................... 18
Conceptsofobject-orientedtechnology............................................................................. 19
Classesandobjects 20
Inheritanceandrelationships 21
Polymorphism 22
~. ~ELECT ENTE~RI~E 2f5
Introduction 26
InstallingSElECTEnterprise 26
UsingtheEnabler 27
Creatinganewrepository.................................................................................... 28
Creatinganewmodel 29
StartingSELECTEnterprise 30
Commonerrors................................................................................................................... 32
fi. 11~~ ~~~~~ ••••••••••••••.••••••••.••••.••••••••••••.•••••• ~e;
Introduction 36
Whatisausecase?............................................................................................................ 36
Diagrammaticviews 36
Textualviews 37
Creatingausecase 38
Addinganactor 39
Addingaprocess.................................................................................................. 41
Linkinganactortoaprocess 43
Linkingusecases................................................................................................................ 44
Abstractanddetailedusecases 46
Requirementsgatheringandanalysis 47
6. CLASSES AND OBJECTS 49
Introduction 50
Classesandobjects............................................................................................................. 50
Classtypes.......................................................................................................................... 51
Classstructure 53
Creatingclassdiagrams...................................................................................................... 54
Browsingaclass 55
Addingattributes 56
Addingmethods.................................................................................................. 58
Classlinks........................................................................................................................... 59
Inheritance 60
Aggregationandcomposition 62
Addinginheritance 63
Addingrelationships............................................................................................ 63
Abstractanddetailedclassdiagrams 66
7. MODELLING INTERACTION........................ 67
Introduction 68
Modellingclassinteractions 68
Delegation 69
Timefactor 70
Collaborationdiagrams 70
Creatingacollaborationdiagram 71
Addingaclass...................................................................................................... 74
Deletingaclass.................................................................................................... 75
Editingrelationships............................................................................................ 76
Sequencediagrams 78
Creatingasequencediagram 79
Addinganddeletingclasses 80
Editingrelationships............................................................................................ 82
Addingasequencedescription 83
Addinginteractionbetweenclasses 85
Usesandextendsprobes 86
8. MODELLING BEHAVIOUR . 87
Introduction .. 88
Dynamicmodelling . 88
Statediagrams . 89
Creatingastatediagram .. 89
States . 91
Addinganddeletingstates .. 91
Editingstates . 93
Statemessages . 94
Events .. 95
Actions . 95
Activities . 96
Conditions .. 97
Transitions .. 97
Addinganddeletingtransitionsinastatediagram .. 98
Editingtransitions .. 99
Event/actionblocks .. 99
Creatingsuper-andsub-states .. 100
Sequentialstates .. 101
Concurrentstates .. 103
Activitydiagrams . 105
9. ~~~~~1r ~Jt1r~~•••••••••••••••••••••••••••••••••••••••• 107
Introduction . 108
GeneralGraphics . 108
StorageMapper . 108
UsingtheStorageMapper . 110
Managingmappingoptions .. 110
Managingprimekeys .. 111
Datadictionary .. 111
Checkingconsistency . 112
Codegenerators .. 114
Toolsandtoolscustomizer . 116
10. J?~1r1r~IlIff) •••••••••••••••••••••••••••••••••••••••••••••••• 117
Introduction .. 118
Analysispatterns . 118
Designpatterns . 120
Statepatterns .. 120
Compositepatterns . 121
RecordingpatternsusingUML .. 122
11. FROM ANALYSIS TO DESIGN 125
Introduction 126
Essentialandrealusecases................................................................................................ 126
Designclassdiagrams 127
Interactiondiagrams 129
Behaviourdiagrams 130
SELECTEnterprisesupportfordesignexpansion 130
12. 1)()Jv.[~!fJv.[()I>~~~I!fcr•••••••••••••••••••••••••••••••• 131
Introduction . 132
Domainmodelling . 132
Packagediagrams .. 134
Processhierarchydiagrams . 135
Creatingaprocesshierarchydiagram . 136
Editingaprocesshierarchydiagram . 137
Linkingbusinessprocesses . 139
Processthreaddiagrams .. 140
Creatingaprocessthreaddiagram . 141
Editingaprocessthreaddiagram .. 142
Addingaprocess .. 143
Usingtransitions . 143
Addinganexclusivearc .. 145
Addingaprocessbreak . 145
Addingaconcurrence . 146
Addinganiteration . 147
13. USER INTERFACE DESIGN 149
Introduction 150
Derivinguserinterfaceclasses 150
Userinterfacedesign.......................................................................................................... 151
Addinguserinterfaceclasses............................................................................... 151
Usinguserinterfacepackages 153
Prototyping 154
14. DATABASE MODELLING 157
Introduction 158
Typesofdatabases 158
Tablerelationshipsdiagrams.............................................................................................. 160
Creatingatablediagram 160
Addingatable 161
Deletingatable 163
Editingatable.................................................................................................................... 163
Workingwithcolumns......................................................................................... 163
Definingaprimarykey........................................................................................ 164
Indexingattributes 166
Relationships...................................................................................................................... 167
Converting00designintorelationaldatabasedesign 169
CorbaandORBpatterns 170
15. COMPLETING THE MODEL 173
Introduction 174
Modellingsub-systems 174
Systemmodellingviews..................................................................................................... 175
Topbottomview.................................................................................................. 175
Bottomtopview 175
Bi-directionalview 176
Componentsview 176
Modellingdiagrams 177
Object-orientedmodellingviews....................................................................................... 177
Responsibilityview 177
Usecaseview 178
Projectmanagement.......................................................................................................... 178
Managingtimeandtasks 178
Documentation.................................................................................................... 179
Workinginateam............................................................................................... 180
Checklistofmodels 181
16. IMPLEMENTATION ~ . 183
Introduction , .. 184
Controltechniques .. 184
Centralizedcontrol .. 184
Distributedcontrol.. . 185
Componentdiagrams .. 185
Reuseandcomponentsoftware .. 186
ActiveXandMicrosoftCOM . 186
JavaBeans . 187
Commonarchitectures . 187
Managingcomponents 188
Deploymentdiagrams 189
17. ~~Iv.[J»~~~•••••••••••••••••••••••••••••••••••••••••••••••• 191
Introduction .. 192
Employeedatabase . 192
Requirementsanalysisusingusecases . 193
Classidentification . 195
Securitysystem . 196
Requirementsanalysisusingusecases . 196
Classidentification . 198
Modellinginteraction .. 199
Modellingbehaviour .. 201
18. WHAT'S NEXT? 203
Introduction 204
ExtensionsofUML.............................................................................................................. 204
Real-timeUML 205
Whatisnext? 205
1~. ~~~~IiI)IJC ~ ~()~
Introduction 208
Webresources 208
Bookreferences 208
20. ~l?J?~IIJ)J)[II 2()~
Usecases............................................................................................................................ 210
Classdiagrams 210
Collaborationdiagrams 211
Sequencediagrams 211
Statediagrams 211
Activitydiagrams 212
INDEX 213