ebook img

Software patterns, knowledge maps, and domain analysis PDF

449 Pages·2015·3.112 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Software patterns, knowledge maps, and domain analysis

Software Patterns, Knowledge Maps, and Domain Analysis Mohamed E. Fayad • Huascar A. Sanchez Srikanth G.K. Hegde • Anshu Basia • Ashka Vakil CRC Press Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 © 2015 by Taylor & Francis Group, LLC CRC Press is an imprint of Taylor & Francis Group, an Informa business No claim to original U.S. Government works Version Date: 20141006 International Standard Book Number-13: 978-1-4665-7144-0 (eBook - PDF) This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been made to publish reliable data and information, but the author and publisher cannot assume responsibility for the valid- ity of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may rectify in any future reprint. Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or uti- lized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopy- ing, microfilming, and recording, or in any information storage or retrieval system, without written permission from the publishers. For permission to photocopy or use material electronically from this work, please access www.copyright.com (http:// www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. CCC is a not-for-profit organization that provides licenses and registration for a variety of users. For organizations that have been granted a photocopy license by the CCC, a separate system of payment has been arranged. Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identification and explanation without intent to infringe. Visit the Taylor & Francis Web site at http://www.taylorandfrancis.com and the CRC Press Web site at http://www.crcpress.com Dedication To the land of the Delta—Egypt, and the land of Dreams—The United States of America, and the love of science and humanity that they share . . . Pouring out a flood of knowledge for centuries and centuries between the Nile and the Mississippi . . . Between the millstones of my heart, Egypt and the United States of America . . . Mohamed E. Fayad To my wife, Claudia, and my two beautiful daughters, Isabella and Camilla. Huascar A. Sanchez To my wife, Kumuda. Srikanth G. K. Hegde To my family, for their encouragement and support. Ashka Vakil Contents Preface .............................................................................................................................xvii Acknowledgments ............................................................................................................xxi Authors ...........................................................................................................................xxiii Section i introduction Chapter 1 An Overview of Knowledge Maps ..................................................................5 1.1 Introduction: Key Concepts—Software Stable Models, Knowledge Maps, Pattern Language, Goals, Capabilities (Enduring Business Themes + Business Objects) ...............................5 1.2 The Motivation ....................................................................................6 1.3 The Problem ........................................................................................7 1.4 The Objectives .....................................................................................7 1.5 Overview of Software Stability Concepts ............................................8 1.6 Overview of Knowledge Maps ............................................................8 1.7 Pattern Languages versus Knowledge Maps: A Brief Comparison .....9 1.8 The Solution .......................................................................................11 1.9 Knowledge Maps Methodology or Concurrent Software Development Model ...........................................................................11 1.10 Why Knowledge Maps? .....................................................................14 1.10.1 Research Methodology Undertaken .....................................14 1.10.2 Research Verification and Validation ...................................15 1.10.3 The Stratification of This Book ............................................15 Summary .......................................................................................................16 Open Research Issues ....................................................................................16 Review Questions ..........................................................................................19 Exercises ........................................................................................................20 Projects ..........................................................................................................20 Chapter 2 Abstraction: Knowledge Maps, Stability, and Patterns .................................29 2.1 Introduction .......................................................................................29 2.2 Levels of Abstraction in Knowledge Maps ........................................30 2.3 Mapping Elements in Knowledge Maps to Software Stability Concepts and Patterns ........................................................................31 2.4 The Software Stability Model ............................................................32 2.4.1 Goals .....................................................................................33 2.4.2 Capabilities ...........................................................................34 2.4.3 Knowledge Maps: Formation and Stable Architectural Patterns .................................................................................35 v vi Contents 2.4.4 Development Scenarios ...........................................................36 2.4.5 Deployment and Verification and Validation ...........................38 Summary .......................................................................................................39 Open Research Issues ....................................................................................39 Review Questions ..........................................................................................40 Exercises ........................................................................................................41 Projects ..........................................................................................................41 Section ii Goals of the Knowledge Maps Chapter 3 The Goals: Significance and Identification ....................................................49 3.1 Introduction .........................................................................................49 3.2 Significance of Goals ...........................................................................50 3.2.1 An Example: A Simple E-Commerce Application ..................52 3.3 Dealing with Goals: Extraction and Assessment .................................53 3.4 Extracting the Goals of a Discipline: The Process ..............................55 3.4.1 Dealing with Subgoals .............................................................57 3.5 Goals of Knowledge Maps ..................................................................58 3.5.1 Goal 1: Learning......................................................................58 3.5.2 Goal 2: Discovery ....................................................................60 3.5.3 Goal 3: Knowledge ..................................................................60 3.6 Subgoals ...............................................................................................62 3.6.1 Use an Analogy: Marriage or Friendship ................................62 Summary .......................................................................................................63 Open Research Issues ....................................................................................63 Review Questions .........................................................................................64 Exercises ........................................................................................................65 Projects ..........................................................................................................67 Chapter 4 Discovery Stable Analysis Pattern ................................................................73 4.1 Introduction .........................................................................................73 4.2 Discovery Stable Analysis Pattern .......................................................74 4.2.1 Pattern Name: Discovery Stable Analysis Pattern ...................74 4.2.2 Known As ................................................................................74 4.2.3 Context .....................................................................................75 4.2.4 Problem ....................................................................................75 4.2.4.1 Functional Requirements ...........................................76 4.2.4.2 Nonfunctional Requirements .....................................78 4.2.5 Challenges and Constraints .....................................................78 4.2.5.1 Challenges .................................................................79 4.2.5.2 Constraints.................................................................79 4.2.6 Solution ....................................................................................80 4.2.6.1 CRC Cards.................................................................83 4.2.7 Consequences ..........................................................................86 Contents vii 4.2.8 Applicability ............................................................................86 4.2.8.1 Case Study 1: Discovery of a New Vitamin K ..........86 4.2.9 Related Patterns and Measurability .........................................90 4.2.9.1 Related Pattern ........................................................90 4.2.9.2 Measurability ...........................................................91 4.2.10 Modeling Issues, Criteria, and Constraints .............................92 4.2.10.1 Modeling Heuristics ................................................92 4.2.11 Design and Implementation Issues ..........................................92 4.2.11.1 Delegation versus Inheritance .................................93 4.2.11.2 Model Implemented with Delegation ......................93 4.2.12 Testability ................................................................................94 4.2.13 Formalization Using Object Constraint Language, Z++ or Object Z, and/or Extended Backus– Naur Form .................................................................95 4.2.14 Business Issues ........................................................................97 4.2.14.1 Business Rules .........................................................97 4.2.14.2 Business Integration ................................................98 4.2.14.3 Business Enduring Themes .....................................98 4.2.15 Known Usages .........................................................................98 4.2.16 Tips and Heuristics ..................................................................99 Summary .......................................................................................................99 Open Research Issues ..................................................................................100 Review Questions ........................................................................................101 Exercises ......................................................................................................103 Projects ........................................................................................................105 Chapter 5 The Knowledge Stable Analysis Pattern .....................................................109 5.1 Introduction .......................................................................................109 5.2 Pattern Documentation ......................................................................110 5.2.1 Pattern Name: Knowledge Stable Analysis Pattern ...............110 5.2.2 Known As ..............................................................................110 5.2.3 Context ...................................................................................111 5.2.4 Problem ..................................................................................111 5.2.4.1 Functional Requirements .......................................111 5.2.4.2 Nonfunctional Requirements .................................113 5.2.5 Challenges and Constraints ...................................................113 5.2.6 Solution: Pattern Structure and Participants ..........................114 5.2.6.1 Structure ................................................................114 5.2.6.2 Participants ............................................................115 5.2.6.3 CRC Cards.............................................................115 5.2.7 Applicability with Illustrated Examples ................................120 5.2.7.1 Scenario 1—Autonomic Computing Context ........120 5.2.7.2 Scenario 2—CRM System ....................................123 5.2.8 Related Patterns and Measurability .......................................127 5.2.8.1 Measurability .........................................................127 5.2.9 Known Usages .......................................................................128 viii Contents Summary .....................................................................................................128 Open Research Issues ..................................................................................129 Review Questions ........................................................................................129 Exercise .......................................................................................................130 Projects ........................................................................................................130 Section iii Knowledge Map capabilities Chapter 6 Capabilities: The Heart of Business ............................................................135 6.1 Introduction .......................................................................................135 6.1.1 The Heart of the Business .....................................................135 6.1.2 Work Flow Metaphor—Workhorses ......................................137 6.1.3 Dealing with Capabilities: Identification and Assessment ....137 6.1.3.1 The Impact of BO on Creating Multiple Applications: Generality ..........................................139 6.1.3.2 BO = Stable Design Patterns ...................................139 6.1.3.3 Essential Properties of BO ......................................139 6.1.4 A Goal with No Capability ....................................................139 6.1.5 A Capability with No Goal ....................................................140 6.1.6 Identification Process of Capabilities: An Example ..............141 6.2 Capabilities of Knowledge Maps .......................................................144 6.2.1 Capability 1 ...........................................................................144 6.2.2 Capability 2 ...........................................................................145 6.2.3 Capability 3 ...........................................................................146 6.2.4 Capability 4 ...........................................................................147 Summary .....................................................................................................148 Open Research Issues ..................................................................................149 Review Questions ........................................................................................149 Exercises ......................................................................................................150 Projects ........................................................................................................152 Chapter 7 AnyMap Stable Design Pattern ...................................................................157 7.1 Introduction .......................................................................................157 7.2 Pattern Documentation ......................................................................160 7.2.1 Pattern Name: AnyMap Stable Design Pattern......................160 7.2.2 Known As ..............................................................................160 7.2.3 Context ...................................................................................161 7.2.4 Problem ..................................................................................162 7.2.4.1 Functional Requirements .........................................162 7.2.4.2 Nonfunctional Requirements ...................................168 7.2.5 Challenges and Constraints ...................................................169 7.2.5.1 Challenges ...............................................................169 7.2.5.2 Constraints...............................................................170 Contents ix 7.2.6 Solution Structure and Participants .......................................171 7.2.6.1 Structures ...............................................................171 7.2.6.2 Participants ............................................................171 7.2.6.3 CRC Cards .............................................................172 7.2.7 Consequences ........................................................................178 7.2.8 Applicability with Illustrated Examples ................................178 7.2.8.1 Case Study 1: Navigation—Google Road Map for Planning Driving Routes ..................................178 7.2.8.2 Case Study 2: Mathematical Mapping ...................182 7.2.9 Related Patterns and Measurability .......................................188 7.2.9.1 Traditional Model versus SSM ..............................188 7.2.9.2 Measurability .........................................................190 7.2.10 Modeling Issues, Criteria, and Constraints ...........................191 7.2.10.1 Abstraction ............................................................191 7.2.11 Design and Implementation Issues ........................................193 7.2.12 Formalization ........................................................................194 7.2.13 Testability ..............................................................................202 7.2.14 Business Issues ......................................................................203 7.2.15 Known Usage ........................................................................205 7.2.16 Tips and Heuristics ...............................................................206 Summary .....................................................................................................207 Open Research Issues ..................................................................................207 Review Questions ........................................................................................207 Exercises .....................................................................................................209 Research and Development ...............................................................210 Indexing and Dictionary Search ........................................................210 Site Map Development ......................................................................211 Projects ........................................................................................................211 Chapter 8 AnyContext Stable Design Pattern ..............................................................215 8.1 Introduction .......................................................................................215 8.2 Pattern Documentation ......................................................................216 8.2.1 Pattern Name: AnyContext Stable Design Pattern ................216 8.2.2 Known As ..............................................................................216 8.2.3 Context ...................................................................................217 8.2.4 Problem ..................................................................................217 8.2.5 Challenges and Constraints ...................................................218 8.2.5.1 Challenges .............................................................218 8.2.5.2 Constraints .............................................................218 8.2.6 Solution: Pattern Structure and Participants ..........................218 8.2.6.1 CRC Cards .............................................................220 8.2.6.2 Consequences ........................................................221 8.2.6.3 Applicability with Illustrated Examples ................221 Summary .....................................................................................................226 Open Research Issues ..................................................................................226

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.