Table Of ContentObject-Oriented Analysis
and Design for
Information Systems
This pageintentionallyleftblank
Object-Oriented Analysis
and Design for
Information Systems
Modeling with UML, OCL,
and IFML
Raul Sidnei Wazlawick
AMSTERDAM(cid:129)BOSTON(cid:129)HEIDELBERG(cid:129)LONDON
NEWYORK(cid:129)OXFORD(cid:129)PARIS(cid:129)SANDIEGO
SANFRANCISCO(cid:129)SINGAPORE(cid:129)SYDNEY(cid:129)TOKYO
MorganKaufmannisanimprintofElsevier
AcquiringEditor:AndreaDierna
EditorialProjectManager:KaitlinHerbert
ProjectManager:PunithavathyGovindaradjane
Designer:MatthewLimbert
MorganKaufmannisanimprintofElsevier
225WymanStreet,Waltham,MA,02451,USA
r2013ElsevierEditoraLtda.
Copyrightr2014ElsevierInc.Allrightsreserved.
Nopartofthispublicationmaybereproducedortransmittedinanyformorbyanymeans,electronicormechanical,
includingphotocopying,recording,oranyinformationstorageandretrievalsystem,withoutpermissioninwritingfrom
thepublisher.Detailsonhowtoseekpermission,furtherinformationaboutthePublisher’spermissionspoliciesandour
arrangementswithorganizationssuchastheCopyrightClearanceCenterandtheCopyrightLicensingAgency,canbe
foundatourwebsite:www.elsevier.com/permissions.
ThisbookandtheindividualcontributionscontainedinitareprotectedundercopyrightbythePublisher(otherthanas
maybenotedherein).
Notices
Knowledgeandbestpracticeinthisfieldareconstantlychanging.Asnewresearchandexperiencebroadenour
understanding,changesinresearchmethodsorprofessionalpractices,maybecomenecessary.
Practitionersandresearchersmustalwaysrelyontheirownexperienceandknowledgeinevaluatingandusingany
informationormethodsdescribedherein.Inusingsuchinformationormethodstheyshouldbemindfuloftheirown
safetyandthesafetyofothers,includingpartiesforwhomtheyhaveaprofessionalresponsibility.
Tothefullestextentofthelaw,neitherthePublishernortheauthors,contributors,oreditors,assumeanyliabilityfor
anyinjuryand/ordamagetopersonsorpropertyasamatterofproductsliability,negligenceorotherwise,orfrom
anyuseoroperationofanymethods,products,instructions,orideascontainedinthematerialherein.
LibraryofCongressCataloging-in-PublicationData
Applicationsubmitted
BritishLibraryCataloguing-in-PublicationData
AcataloguerecordforthisbookisavailablefromtheBritishLibrary.
ISBN:978-0-12-418673-6
PrintedintheUnitedStatesofAmerica
14 15 16 17 18 10 9 8 7 6 5 4 3 2 1
ForinformationonallMKpublications
visitourwebsiteatwww.mkp.com
This book is dedicatedto my parents and ancestors;without them I would notexist.
This page intentionallyleftblank
Contents
Acknowledgments...............................................................................................................................xv
Aboutthe Author...............................................................................................................................xvii
Foreword.............................................................................................................................................xix
Preface................................................................................................................................................xxi
CHAPTER 1 Introduction................................................................................................1
1.1 This book....................................................................................................................1
1.2 Object-oriented systemsdevelopment........................................................................2
1.3 Unified Modeling Language (UML)..........................................................................3
1.4 Unified Process (UP)..................................................................................................3
1.5 Theprocess so far.......................................................................................................6
1.6 Questions.....................................................................................................................6
CHAPTER 2 Business Modeling....................................................................................7
2.1 Introductionto business modeling.............................................................................7
2.2 Generalview of the system........................................................................................9
2.3 Business use cases....................................................................................................13
2.3.1 Businessactors andbusiness workers............................................................15
2.3.2 Automation opportunities...............................................................................15
2.4 Business activitydiagram.........................................................................................18
2.4.1 Basic elements................................................................................................18
2.4.2 Controlflow nodes.........................................................................................20
2.5 State-dependent aspects ofa business......................................................................23
2.6 Remarks....................................................................................................................27
2.7 Theprocess so far.....................................................................................................27
2.8 Questions...................................................................................................................28
CHAPTER 3 High-Level Requirements.......................................................................29
3.1 Introductionto high-level requirements...................................................................29
3.2 System actors............................................................................................................30
3.3 System use cases.......................................................................................................31
3.3.1 Single session..................................................................................................33
3.3.2 Interactive.......................................................................................................35
3.3.3 Consistentresult.............................................................................................35
3.3.4 Essential..........................................................................................................36
3.3.5 Brief................................................................................................................37
3.3.6 System boundary............................................................................................37
viii Contents
3.4 How to find system use casesin the business model..............................................38
3.5 Requirements............................................................................................................41
3.5.1 Requirements elicitation.................................................................................41
3.5.2 Eliciting requirements is notdesign!.............................................................42
3.5.3 Requirements challenges................................................................................44
3.5.4 Evident andhiddenfunctional requirements.................................................45
3.5.5 Nonfunctional requirements...........................................................................45
3.5.6 Permanence and transience ofnonfunctional requirements..........................46
3.5.7 Mandatoryand desired requirements.............................................................47
3.5.8 Supplementary requirements..........................................................................47
3.6 Preliminary conceptualmodel..................................................................................52
3.7 Theprocessso far.....................................................................................................57
3.8 Questions...................................................................................................................57
CHAPTER 4 Use Case Based Project Planning (Online Chapter).............................59
CHAPTER 5 Expanded Use Cases...............................................................................61
5.1 Introduction toexpanded use cases..........................................................................61
5.2 Mainflow..................................................................................................................62
5.3 Alternate flows..........................................................................................................64
5.3.1 Scenarios.........................................................................................................65
5.3.2 Variants...........................................................................................................66
5.3.3 Exceptionhandling.........................................................................................69
5.4 Writingrecommendations........................................................................................74
5.4.1 Essential versus real use case.........................................................................75
5.4.2 Explicit information........................................................................................76
5.4.3 Identification and selection............................................................................77
5.4.4 Mandatorysteps..............................................................................................77
5.4.5 Complementary steps.....................................................................................81
5.4.6 Unsuitablesteps..............................................................................................82
5.5 Includeduse cases andfragments............................................................................83
5.6 Expansion ofstereotypeduse cases.........................................................................84
5.6.1 Report expanded.............................................................................................85
5.6.2 CRUD expanded.............................................................................................86
5.7 Other sectionsof anexpanded use case...................................................................89
5.7.1 Stakeholders....................................................................................................91
5.7.2 Preconditions..................................................................................................91
5.7.3 Success post-conditions..................................................................................92
5.7.4 Open issues.....................................................................................................92
5.8 System sequence diagrams.......................................................................................92
5.8.1 Elements ofa sequence diagram....................................................................93
5.8.2 Expandedusecases assystem sequencediagrams........................................95
Contents ix
5.8.3 Connectingthe interface tothe fac¸ade-controller..........................................97
5.8.4 Stateless strategy...........................................................................................101
5.8.5 Statefulstrategy............................................................................................103
5.8.6 Alternate flows in system sequence diagrams.............................................104
5.9 Theprocess so far...................................................................................................110
5.10 Questions.................................................................................................................111
CHAPTER 6 Conceptual Modeling: Fundamentals.................................................113
6.1 Introductionto conceptualmodeling.....................................................................113
6.2 Attributes.................................................................................................................115
6.2.1 Attribute types..............................................................................................116
6.2.2 Initial values.................................................................................................116
6.2.3 Derived attributes.........................................................................................117
6.2.4 Enumerations................................................................................................118
6.2.5 Primitive types..............................................................................................119
6.3 Concepts..................................................................................................................120
6.3.1 Unique attributes...........................................................................................121
6.3.2 System control class.....................................................................................121
6.4 Associations............................................................................................................122
6.4.1 Role multiplicity...........................................................................................124
6.4.2 Association direction....................................................................................126
6.4.3 Derived association.......................................................................................126
6.4.4 Aggregation andcomposition......................................................................129
6.4.5 n-ary associations.........................................................................................130
6.5 Collections..............................................................................................................132
6.5.1 Set.................................................................................................................133
6.5.2 Orderedset....................................................................................................134
6.5.3 Bag................................................................................................................134
6.5.4 Sequence.......................................................................................................134
6.5.5 Map...............................................................................................................135
6.5.6 Partition.........................................................................................................136
6.5.7 Relation.........................................................................................................137
6.6 Organizationofthe conceptualmodel...................................................................138
6.6.1 Generalization,specialization, and inheritance...........................................139
6.6.2 Association classes.......................................................................................141
6.6.3 Modal classes................................................................................................144
6.7 Invariants.................................................................................................................149
6.8 Iterative construction ofthe conceptual model......................................................152
6.8.1 How tofind concepts andattributes............................................................152
6.8.2 Dependentand independent concepts..........................................................156
6.8.3 How tofind associations..............................................................................157
6.8.4 Example ofiterativeconstruction ofthe conceptualmodel........................159
Description:This book is dedicated to my parents and ancestors; without them I would not exist. ades around the Unified Modeling Language (UML) and the Unified . approach to systems analysis and design using an object-oriented In a use case description the information does not appear from nowhere.