ebook img

Stable Design Patterns for Software and Systems PDF

447 Pages·2017·36.117 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 Stable Design Patterns for Software and Systems

Stable Design Patterns for Software and Systems Stable Design Patterns for Software and Systems Mohamed E. Fayad CRC Press Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 © 2018 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 Printed on acid-free paper International Standard Book Number-13: 978-1-4987-0330-7 (Hardback) 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 validity 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 utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including pho- tocopying, 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 To all the Software Engineering and Software Design Communities, especially the ones who apply my work. Contents Preface..........................................................................................................................................xxiii Acknowledgments ........................................................................................................................xxvii Author ...........................................................................................................................................xxix Section i introduction Chapter 1 Impact of Stability on Design Patterns’ Implementation .............................................3 1.1 Overview of Stable Design Patterns ..................................................................3 1.2 Introduction .......................................................................................................3 1.3 Context ...............................................................................................................4 1.4 Problem ..............................................................................................................4 1.5 Solution ..............................................................................................................5 1.6 Example .............................................................................................................5 1.7 Summary ...........................................................................................................6 1.8 Review Questions ..............................................................................................7 1.9 Exercises ............................................................................................................7 1.10 Projects ..............................................................................................................7 References ....................................................................................................................7 Chapter 2 Pitfalls Categories Overview: Pitfalls in Traditional Software Patterns—The Factor of Immaturity ..........................................................................11 2.1 Introduction .....................................................................................................11 2.2 Traditional Patterns’ Pitfalls ............................................................................12 2.3 Summary .........................................................................................................32 2.4 Review Questions ............................................................................................32 2.5 Exercises ..........................................................................................................33 2.6 Projects ............................................................................................................33 Reference ....................................................................................................................33 Chapter 3 Engineering Stable Atomic Knowledge Patterns .......................................................35 3.1 Introduction .....................................................................................................35 3.2 Software Stability and Stable Patterns: An Overview ....................................36 3.3 SAK Patterns Concept .....................................................................................37 3.4 Essential Properties of SAK Patterns ..............................................................38 3.5 Engineering Process for Developing SAK Patterns ........................................39 3.6 Example of the SAK Patterns: AnyParty SAK Patterns .................................41 3.7 Summary .........................................................................................................42 3.8 Review Questions ............................................................................................44 3.9 Exercises ..........................................................................................................44 3.10 Projects ............................................................................................................44 References ..................................................................................................................44 Chapter 4 Stable Analysis and Design Patterns: Unified Software Engine ................................49 4.1 Introduction .....................................................................................................49 vii viii Contents 4.2 Developing Software with Patterns .................................................................50 4.3 Stable Analysis Patterns ..................................................................................50 4.4 Proposed USE ..................................................................................................51 4.5 Example ...........................................................................................................52 4.6 Summary .........................................................................................................54 4.7 Review Questions ............................................................................................54 4.8 Exercises ..........................................................................................................55 4.9 Projects ............................................................................................................55 References ..................................................................................................................55 Section ii SDPs’ Detailed Documentation template Chapter 5 AnyActor Stable Design Pattern .................................................................................59 5.1 Introduction .....................................................................................................59 5.2 AnyActor Design Pattern Document ...............................................................59 5.2.1 Pattern Name: AnyActor Stable Design Pattern ................................59 5.2.2 Known As ...........................................................................................60 5.2.3 Context ...............................................................................................60 5.2.4 Problem ..............................................................................................60 5.2.4.1 Functional Requirements ....................................................61 5.2.4.2 Nonfunctional Requirements ..............................................61 5.2.5 Challenges and Constraints ................................................................62 5.2.5.1 Challenges...........................................................................62 5.2.5.2 Constraints ..........................................................................62 5.2.6 Solution ...............................................................................................62 5.2.6.1 Pattern Structure and Participants ......................................64 5.2.6.2 Class Diagram Description .................................................64 5.2.6.3 CRC Cards ..........................................................................64 5.2.7 Consequences .....................................................................................65 5.2.7.1 Flexibility ............................................................................65 5.2.7.2 Reusability ..........................................................................65 5.2.8 Applicability with Illustrated Examples ............................................65 5.2.8.1 Application No. 1: AnyActor in Musical Theater Context....65 5.2.8.2 Application No. 2: AnyActor in the Network System.........68 5.2.9 Design and Implementation Issues .....................................................71 5.2.9.1 Design Issues (Only Two of the Following Issues) .............71 5.2.9.2 Implementation Issues (Two of the Following Issues) ........72 5.2.9.3 Implementation Delegation Pattern ....................................72 5.2.10 Related Patterns and Measurability ...................................................74 5.2.10.1 Traditional Model (Meta Model) versus Stable Model (Pattern) ...................................................................74 5.2.11 Business Issues (Two of the Following Issues) ..................................77 5.2.11.1 Business Rules ....................................................................77 5.2.11.2 Business Models .................................................................77 5.2.11.3 Business Integration ............................................................77 5.2.11.4 Business Transformation ....................................................77 5.2.12 Known Usage .....................................................................................77 5.3 Tips and Heuristics ..........................................................................................78 5.4 Summary .........................................................................................................78 Contents ix 5.5 Review Questions ............................................................................................78 5.6 Exercises ..........................................................................................................79 5.7 Projects ............................................................................................................80 References ..................................................................................................................80 Chapter 6 AnyParty Stable Design Pattern .................................................................................85 6.1 Introduction .....................................................................................................85 6.2 AnyParty Design Pattern Document ...............................................................86 6.2.1 Pattern Name: AnyParty Stable Design Pattern .................................86 6.2.2 Known As ...........................................................................................86 6.2.3 Context ...............................................................................................86 6.2.4 Problem ..............................................................................................87 6.2.4.1 Functional Requirements ....................................................87 6.2.4.2 Nonfunctional Requirements ..............................................87 6.2.5 Challenges and Constraints ................................................................88 6.2.5.1 Challenges...........................................................................88 6.2.5.2 Constraints ..........................................................................88 6.2.6 Solution ...............................................................................................88 6.2.6.1 Pattern Structure and Participants ......................................90 6.2.6.2 Class Diagram Description .................................................90 6.2.6.3 CRC Cards ..........................................................................90 6.2.7 Consequences .....................................................................................91 6.2.8 Applicability with Illustrated Examples ............................................91 6.2.8.1 Application No. 1: AnyParty in Political Scenario .............91 6.2.8.2 Application No. 2: AnyParty in the Context of Interaction between Two Countries ....................................93 6.2.9 Design and Implementation Issues .....................................................96 6.2.9.1 Design Issues (Two or Three of the Following Issues) .......96 6.2.10 Related Pattern and Measurability .....................................................97 6.2.10.1 Traditional Model (Meta Model) versus Stable Model (Pattern) ..............................................................................98 6.2.10.2 Testability ...........................................................................98 6.2.11 Business Issues ...................................................................................98 6.2.11.1 Business Rules ....................................................................98 6.2.11.2 Business Models .................................................................98 6.2.11.3 Enduring Business Theme ..................................................98 6.2.11.4 Business Integration ............................................................98 6.2.11.5 Business Transformation ....................................................99 6.2.12 Known Usage .....................................................................................99 6.3 Tips and Heuristics ..........................................................................................99 6.4 Summary .........................................................................................................99 6.5 Review Questions ..........................................................................................100 6.6 Exercises ........................................................................................................101 6.7 Projects ..........................................................................................................101 References ................................................................................................................101 Chapter 7 AnyEntity Stable Design Pattern ..............................................................................105 7.1 Introduction ...................................................................................................105 7.2 AnyEntity Design Pattern Document ............................................................106 7.2.1 Pattern Name: AnyEntity Stable Design Pattern .............................106

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.