Object-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: