Muutke küpsiste eelistusi

E-raamat: Stable Design Patterns for Software and Systems

(San José State University, California)
  • Formaat: 445 pages
  • Ilmumisaeg: 01-Sep-2017
  • Kirjastus: Auerbach Publishers Inc.
  • ISBN-13: 9781351645676
  • Formaat - EPUB+DRM
  • Hind: 58,49 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: 445 pages
  • Ilmumisaeg: 01-Sep-2017
  • Kirjastus: Auerbach Publishers Inc.
  • ISBN-13: 9781351645676

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Attention to design patterns is unquestionably growing in software engineering because there is a strong belief that using made to measure solutions for solving frequently occurring problems encountered throughout the design phase greatly reduces the total cost and the time of developing software products. Stable Design Patterns for Software and Systems presents a new and fresh approach for creating stable, reusable, and widely applicable design patterns. It deals with the concept of stable design patterns based on software stability as a contemporary approach for building stable and highly reusable and widely applicable design patterns.

This book shows that a formation approach to discovering and creating stable design patterns accords with Alexanders current understanding of architectural patterns. Stable design patterns are a type of knowledge pattern that underline human problem solving methods and appeal to the pattern community.

This book examines software design patterns with respect to four central themes:









How do we develop a solution for the problem through software stability concepts? This book offers a direct application of using software stability concepts for modeling solutions. How do we achieve software stability over time and design patterns that are effective to use? What are the unique roles of stable design patterns in modeling the accurate solution of the problem at hand and in providing stable and undisputed design for such problems? This book enumerates a complete and domain-less list of stable patterns that are useful for designing and modeling solutions for frequently recurring problems. What is the most efficient way to document the stable design patters to ensure efficient reusability? This book is an extension to the contemporary templates that are used in documenting design patterns.





This book gives a pragmatic and a novel approach toward understanding the problem domain and in proposing stable solutions for engineering stable software systems, components, and frameworks.
Preface xxiii
Acknowledgments xxvii
Author xxix
Section I: Introduction
Chapter 1 Impact of Stability on Design Patterns' Implementation
3(8)
1.1 Overview of Stable Design Patterns
3(1)
1.2 Introduction
3(1)
1.3 Context
4(1)
1.4 Problem
4(1)
1.5 Solution
5(1)
1.6 Example
5(1)
1.7 Summary
6(1)
1.8 Review Questions
7(1)
1.9 Exercises
7(1)
1.10 Projects
7(1)
References
7(4)
Chapter 2 Pitfalls Categories Overview: Pitfalls in Traditional Software Patterns-The Factor of Immaturity
11(24)
2.1 Introduction
11(1)
2.2 Traditional Patterns' Pitfalls
12(20)
2.3 Summary
32(1)
2.4 Review Questions
32(1)
2.5 Exercises
33(1)
2.6 Projects
33(1)
Reference
33(2)
Chapter 3 Engineering Stable Atomic Knowledge Patterns
35(14)
3.1 Introduction
35(1)
3.2 Software Stability and Stable Patterns: An Overview
36(1)
3.3 SAK Patterns Concept
37(1)
3.4 Essential Properties of SAK Patterns
38(1)
3.5 Engineering Process for Developing SAK Patterns
39(2)
3.6 Example of the SAK Patterns: AnyParty SAK Patterns
41(1)
3.7 Summary
42(2)
3.8 Review Questions
44(1)
3.9 Exercises
44(1)
3.10 Projects
44(1)
References
44(5)
Chapter 4 Stable Analysis and Design Patterns: Unified Software Engine
49(10)
4.1 Introduction
49(1)
4.2 Developing Software with Patterns
50(1)
4.3 Stable Analysis Patterns
50(1)
4.4 Proposed USE
51(1)
4.5 Example
52(2)
4.6 Summary
54(1)
4.7 Review Questions
54(1)
4.8 Exercises
55(1)
4.9 Projects
55(1)
References
55(4)
Section II: SDPs' Detailed Documentation Template
Chapter 5 AnyActor Stable Design Pattern
59(26)
5.1 Introduction
59(1)
5.2 AnyActor Design Pattern Document
59(19)
5.2.1 Pattern Name: AnyActor Stable Design Pattern
59(1)
5.2.2 Known As
60(1)
5.2.3 Context
60(1)
5.2.4 Problem
60(2)
5.2.4.1 Functional Requirements
61(1)
5.2.4.2 Nonfunctional Requirements
61(1)
5.2.5 Challenges and Constraints
62(1)
5.2.5.1 Challenges
62(1)
5.2.5.2 Constraints
62(1)
5.2.6 Solution
62(3)
5.2.6.1 Pattern Structure and Participants
64(1)
5.2.6.2 Class Diagram Description
64(1)
5.2.6.3 CRC Cards
64(1)
5.2.7 Consequences
65(1)
5.2.7.1 Flexibility
65(1)
5.2.7.2 Reusability
65(1)
5.2.8 Applicability with Illustrated Examples
65(6)
5.2.8.1 Application No. 1: AnyActor in Musical Theater Context
65(3)
5.2.8.2 Application No. 2: AnyActor in the Network System
68(3)
5.2.9 Design and Implementation Issues
71(3)
5.2.9.1 Design Issues (Only Two of the Following Issues)
71(1)
5.2.9.2 Implementation Issues (Two of the Following Issues)
72(1)
5.2.9.3 Implementation Delegation Pattern
72(2)
5.2.10 Related Patterns and Measurability
74(3)
5.2.10.1 Traditional Model (Meta Model) versus Stable Model (Pattern)
74(3)
5.2.11 Business Issues (Two of the Following Issues)
77(1)
5.2.11.1 Business Rules
77(1)
5.2.11.2 Business Models
77(1)
5.2.11.3 Business Integration
77(1)
5.2.11.4 Business Transformation
77(1)
5.2.12 Known Usage
77(1)
5.3 Tips and Heuristics
78(1)
5.4 Summary
78(1)
5.5 Review Questions
78(1)
5.6 Exercises
79(1)
5.7 Projects
80(1)
References
80(5)
Chapter 6 AnyParty Stable Design Pattern
85(20)
6.1 Introduction
85(1)
6.2 AnyParty Design Pattern Document
86(13)
6.2.1 Pattern Name: AnyParty Stable Design Pattern
86(1)
6.2.2 Known As
86(1)
6.2.3 Context
86(1)
6.2.4 Problem
87(1)
6.2.4.1 Functional Requirements
87(1)
6.2.4.2 Nonfunctional Requirements
87(1)
6.2.5 Challenges and Constraints
88(1)
6.2.5.1 Challenges
88(1)
6.2.5.2 Constraints
88(1)
6.2.6 Solution
88(3)
6.2.6.1 Pattern Structure and Participants
90(1)
6.2.6.2 Class Diagram Description
90(1)
6.2.6.3 CRC Cards
90(1)
6.2.7 Consequences
91(1)
6.2.8 Applicability with Illustrated Examples
91(5)
6.2.8.1 Application No. 1: AnyParty in Political Scenario
91(2)
6.2.8.2 Application No. 2: AnyParty in the Context of Interaction between Two Countries
93(3)
6.2.9 Design and Implementation Issues
96(1)
6.2.9.1 Design Issues (Two or Three of the Following Issues)
96(1)
6.2.10 Related Pattern and Measurability
97(1)
6.2.10.1 Traditional Model (Meta Model) versus Stable Model (Pattern)
98(1)
6.2.10.2 Testability
98(1)
6.2.11 Business Issues
98(1)
6.2.11.1 Business Rules
98(1)
6.2.11.2 Business Models
98(1)
6.2.11.3 Enduring Business Theme
98(1)
6.2.11.4 Business Integration
98(1)
6.2.11.5 Business Transformation
99(1)
6.2.12 Known Usage
99(1)
6.3 Tips and Heuristics
99(1)
6.4 Summary
99(1)
6.5 Review Questions
100(1)
6.6 Exercises
101(1)
6.7 Projects
101(1)
References
101(4)
Chapter 7 AnyEntity Stable Design Pattern
105(26)
7.1 Introduction
105(1)
7.2 AnyEntity Design Pattern Document
106(20)
7.2.1 Pattern Name: AnyEntity Stable Design Pattern
106(1)
7.2.2 Known As
107(1)
7.2.3 Context
107(1)
7.2.3.1 Scout Movement
107(1)
7.2.3.2 Rotary International as a Universal Entity
107(1)
7.2.4 Problem
108(4)
7.2.4.1 Existence
108(1)
7.2.4.2 AnyEntity
108(1)
7.2.4.3 AnyParty
109(1)
7.2.4.4 AnyObject
110(1)
7.2.4.5 AnyState
110(1)
7.2.4.6 AnyType
110(1)
7.2.4.7 AnyResponsibility
110(1)
7.2.4.8 AnyView
110(1)
7.2.4.9 AnyData/AnyProperty
111(1)
7.2.4.10 Functional Requirements
111(1)
7.2.4.11 Nonfunctional Requirements
112(1)
7.2.5 Solution
112(2)
7.2.5.1 Class Diagram Description
112(1)
7.2.5.2 CRC Cards
113(1)
7.2.6 Consequences
114(1)
7.2.6.1 Flexibility
115(1)
7.2.6.2 Reusability
115(1)
7.2.6.3 Generic
115(1)
7.2.6.4 Easy to Integrate
115(1)
7.2.6.5 Stable Pattern
115(1)
7.2.7 Applicability with Illustrated Examples
115(6)
7.2.7.1 Application No. 1: Database
115(3)
7.2.7.2 Application No. 2: Healthcare
118(3)
7.2.8 Modeling Issues
121(1)
7.2.8.1 Abstraction
121(1)
7.2.9 Design and Implementation Issues
122(1)
7.2.10 Delegation Pattern
122(1)
7.2.11 Java Code example
123(1)
7.2.12 Testability
123(1)
7.2.13 Business Issues
124(2)
7.2.13.1 Business Models
124(1)
7.2.13.2 Enduring Business Theme
124(1)
7.2.13.3 Business Rules
125(1)
7.2.13.4 Business Model
126(1)
7.2.13.5 Business Integration
126(1)
7.2.13.6 Business Transformation
126(1)
7.2.14 Known Usage
126(1)
7.2.15 Related Pattern and Measurability
126(6)
7.2.15.1 Traditional Model (Meta Model) versus Stable Model (Pattern)
126(1)
7.3 Summary
126(1)
7.4 Open and Research Issues
127(1)
7.5 Review Questions
127(1)
7.6 Exercises
128(1)
7.7 Projects
129(1)
References
129(2)
Chapter AnyData Stable Design Pattern
131(20)
8.1 Introduction
131(1)
8.2 AnyData Design Pattern Document
132(14)
8.2.1 Pattern Name: AnyData Stable Design Pattern
132(1)
8.2.2 Known As
132(1)
8.2.3 Context
132(2)
8.2.4 Problem
134(2)
8.2.4.1 Functional Requirements
135(1)
8.2.4.2 Nonfunctional Requirements
135(1)
8.2.5 Challenges
136(1)
8.2.6 Solution
137(3)
8.2.6.1 Pattern Structure and Participants
137(1)
8.2.6.2 Class Diagram Description
138(1)
8.2.6.3 CRC Cards
138(2)
8.2.7 Consequences
140(1)
8.2.7.1 Reusability
140(1)
8.2.7.2 Flexibility
140(1)
8.2.7.3 Extensibility
140(1)
8.2.7.4 Adaptability
140(1)
8.2.8 Applicability with Illustrated Examples
140(1)
8.2.8.1 Application: AnyData in Healthcare to Prescribe Medicine
141(1)
8.2.8.2 Application: Collection of Data for Weather Forecast
141(1)
8.2.9 Modeling Issues
141(1)
8.2.9.1 Abstraction
141(1)
8.2.9.2 Simplicity versus Complexity
142(1)
8.2.10 Design and Implementation Issues
142(1)
8.2.10.1 Initialization Pattern
142(1)
8.2.10.2 Implementation Example
143(1)
8.2.11 Related Pattern and Measurability
143(2)
8.2.11.1 Traditional Model (Meta Model) versus Stable Model (Pattern)
144(1)
8.2.12 Business Issues
145(1)
8.2.12.1 Business Rules
145(1)
8.2.12.2 Business Model
145(1)
8.2.12.3 Business Integration
145(1)
8.2.12.4 Business Transformation
146(1)
8.2.13 Known Usage
146(1)
8.3 Summary
146(1)
8.4 Open and Research Issues
146(1)
8.5 Review Questions
147(1)
8.6 Exercises
148(1)
8.7 Projects
149(1)
References
150(1)
Chapter 9 AnyEvidence Stable Design Pattern
151(18)
9.1 Introduction
151(1)
9.2 AnyEvidence Design Pattern Document
152(12)
9.2.1 Pattern Name: AnyEvidence Stable Design Pattern
152(1)
9.2.2 Known As
152(1)
9.2.3 Context
153(1)
9.2.4 Problem
153(2)
9.2.4.1 Functional Requirements
154(1)
9.2.4.2 Nonfunctional Requirements
155(1)
9.2.5 Challenges and Constraints
155(1)
9.2.5.1 Challenges
155(1)
9.2.5.2 Constraints
156(1)
9.2.6 Solution
156(3)
9.2.6.1 "AnyEvidence" Stable Model
156(1)
9.2.6.2 Class Description
157(1)
9.2.6.3 CRC Cards
158(1)
9.2.7 Consequences
159(1)
9.2.8 Applicability with Illustrated Examples
159(2)
9.2.8.1 Case Study: A Hospital Scenario
159(1)
9.2.8.2 Scenario Use Case
159(2)
9.2.9 Modeling Issues
161(1)
9.2.9.1 Abstraction (for AnyEvidence BO)
161(1)
9.2.9.2 Use of a Static Model
161(1)
9.2.10 Implementation Issues
161(1)
9.2.11 Enduring Business Themes u
162(1)
9.2.12 Business Objects
162(1)
9.2.13 Business Issues
163(1)
9.2.14 Known Usage
163(1)
9.3 Tips and Heuristics
164(1)
9.3.1 For Every Pattern, There Should be Only One EBT
164(1)
9.3.2 Need Iteration to Build Stable Pattern
164(1)
9.3.3 There Should Not be Any Dependency between the Classes
164(1)
9.3.4 Design Heuristics
165(1)
9.4 Summary
165(1)
9.5 Open and Research Issues
165(1)
9.6 Review Questions
165(1)
9.7 Exercises
166(1)
9.8 Projects
166(1)
References
167(2)
Chapter 10 AnyPrecision Stable Design Pattern
169(28)
10.1 Introduction
169(1)
10.2 Pattern Documentation
170(22)
10.2.1 Name: AnyPrecision Stable Design Pattern
170(1)
10.2.2 Known As
170(1)
10.2.3 Context
170(1)
10.2.4 Problem
171(4)
10.2.4.1 Functional Requirements
171(1)
10.2.4.2 Nonfunctional Requirements
172(1)
10.2.4.3 Properties
173(1)
10.2.4.4 Constraints
174(1)
10.2.4.5 Example
174(1)
10.2.5 Challenges and Constraints
175(1)
10.2.5.1 Challenges
175(1)
10.2.5.2 Constraints
175(1)
10.2.6 Solution
175(2)
10.2.6.1 Class Diagram Description
175(1)
10.2.6.2 Pattern Structure and Participants
176(1)
10.2.6.3 CRC Cards
177(1)
10.2.7 Consequences
177(1)
10.2.7.1 Benefits
177(1)
10.2.7.2 Limitations
178(1)
10.2.8 Applicability with Illustrated Examples
178(7)
10.2.8.1 Case Studies 1: Precision Navigation
178(4)
10.2.8.2 Case Studies 2: Text Mining
182(3)
10.2.9 Related Patterns and Measurability
185(2)
10.2.9.1 Traditional Model versus Stable Model
185(1)
10.2.9.2 Measurability
186(1)
10.2.10 Modeling Issues, Criteria, and Constraints
187(1)
10.2.10.1 Abstraction
187(1)
10.2.11 Design and Implementation Issues
187(1)
10.2.12 Testability
188(1)
10.2.13 Formalization
189(1)
10.2.14 Business Issues
190(8)
10.2.14.1 Business Rules
190(2)
10.2.14.2 Known Usage
192(1)
10.3 Tips and Heuristics
192(1)
10.4 Summary
193(1)
10.5 Review Questions
193(1)
10.6 Exercises
194(1)
10.7 Projects
194(1)
References
195(2)
Chapter 11 AnyCorrectiveAction Stable Design Pattern
197(24)
11.1 Introduction
197(1)
11.2 Pattern Documentation
198(19)
11.2.1 Pattern Name: AnyCorrectiveAction Stable Design Pattern
198(1)
11.2.2 Known As
198(1)
11.2.3 Context
198(1)
11.2.4 Problem
199(2)
11.2.4.1 Functional Requirements
199(2)
11.2.4.2 Nonfunctional Requirements
201(1)
11.2.5 Challenges and Constraints
201(1)
11.2.5.1 Challenges
201(1)
11.2.5.2 Constraints
202(1)
11.2.6 Solution
202(2)
11.2.6.1 Pattern Structure
202(1)
11.2.6.2 Class Diagram Description
202(1)
11.2.6.3 Participants
202(1)
11.2.6.4 CRC Cards
203(1)
11.2.7 Consequences
204(1)
11.2.8 Applicability
205(2)
11.2.8.1 Application 1: Company Trying to Reduce Losses
205(2)
11.2.9 Related Pattern and Measurability
207(6)
11.2.9.1 Related Pattern: Traditional Model
207(2)
11.2.9.2 Comparison
209(1)
11.2.9.3 Measurability
209(4)
11.2.10 Modeling Issues, Criteria, and Constraints
213(1)
11.2.10.1 Abstraction
213(1)
11.2.10.2 Modeling Heuristics
213(1)
11.2.11 Design and Implementation Issues
214(2)
11.2.11.1 Design Issues
214(1)
11.2.11.2 Implementation Issues
214(2)
11.2.12 Business Issues
216(1)
11.2.12.1 Business Rules
216(1)
11.2.13 Known Usage
217(1)
11.3 Tips and Heuristics
217(1)
11.4 Summary
218(1)
11.5 Review Questions
218(1)
11.6 Exercises
219(1)
11.7 Projects
219(1)
References
219(2)
Chapter 12 AnyDebate Stable Design Pattern
221(22)
12.1 Introduction
221(1)
12.2 AnyDebate Design Pattern Document
222(14)
12.2.1 AnyDebate Stable Design Pattern
222(1)
12.2.2 Known As
222(1)
12.2.3 Context
223(1)
12.2.4 Problem
223(2)
12.2.4.1 Functional Requirements
223(1)
12.2.4.2 Nonfunctional Requirements
224(1)
12.2.5 Challenges and Constraints
225(1)
12.2.5.1 Challenges
225(1)
12.2.5.2 Constraints
225(1)
12.2.6 Solution
226(2)
12.2.6.1 Pattern Structure and Participants
226(1)
12.2.6.2 Class Diagram Description
226(1)
12.2.6.3 CRC Cards
227(1)
12.2.7 Consequences
228(1)
12.2.7.1 Flexibility
228(1)
12.2.7.2 Reusability
228(1)
12.2.8 Applicability with Illustrated Examples
228(3)
12.2.9 Related Pattern and Measurability
231(1)
12.2.9.1 Related Pattern
231(1)
12.2.9.2 Measurability
231(1)
12.2.10 Modeling Issues
232(1)
12.2.10.1 Abstraction
232(1)
12.2.10.2 No Dangling
232(1)
12.2.11 Design and Implementation Issues
233(2)
12.2.11.1 Delegation
233(1)
12.2.11.2 Common Interface
234(1)
12.2.12 Testability
235(1)
12.2.13 Business Issues
235(8)
12.2.13.1 Business Rules
235(1)
12.2.13.2 Business Integration
236(1)
12.3 Tips and Heuristics
236(1)
12.4 Summary
236(1)
12.5 Review Questions
236(3)
12.6 Exercises
239(1)
12.7 Projects
239(1)
References
240(3)
Section III: SDPs' Mid-Size Documentation Template
Chapter 13 AnyHypothesis Stable Design Pattern
243(10)
13.1 Introduction
243(1)
13.2 Pattern Documentation
243(7)
13.2.1 Name: AnyHypothesis Stable Design Pattern
243(1)
13.2.2 Context
244(1)
13.2.2.1 Understanding Current Age of Obesity
244(1)
13.2.2.2 Finding Cure for Cancer
244(1)
13.2.2.3 Creating a New Branch in Physics
244(1)
13.2.3 Problem
244(2)
13.2.3.1 Functional Requirements
245(1)
13.2.3.2 Nonfunctional Requirements
245(1)
13.2.4 Solution
246(1)
13.2.5 Different Applications or Applicability
247(7)
13.2.5.1 Class Diagram
250(1)
13.3 Summary
250(1)
13.4 Review Questions
251(1)
13.5 Exercises
252(1)
13.6 Projects
252(1)
References
252(1)
Chapter 14 AnyConstraint Stable Design Pattern
253(10)
14.1 Introduction
253(1)
14.2 Pattern Documentation
254(5)
14.2.1 Name: Constraint Stable Design Pattern
254(1)
14.2.2 Context
254(1)
14.2.3 Problem
254(2)
14.2.3.1 Functional Requirements
254(1)
14.2.3.2 Nonfunctional Requirements
255(1)
14.2.4 Solution
256(8)
14.2.4.1 More Applications
256(1)
14.2.4.2 Applicability
257(2)
14.3 Summary
259(1)
14.4 Review Questions
260(1)
14.5 Exercises
260(1)
14.6 Projects
261(1)
References
261(2)
Chapter 15 AnyInteraction Stable Design Pattern
263(10)
15.1 Introduction
263(1)
15.2 Pattern Documentation
264(7)
15.2.1 Pattern Name: Interaction (Stable Analysis Pattern)
264(1)
15.2.2 Context
264(1)
15.2.3 Problem
265(1)
15.2.3.1 Functional Requirements
265(1)
15.2.3.2 Nonfunctional Requirements
266(1)
15.2.4 Solution
266(1)
15.2.5 Applicability
267(7)
15.2.5.1 Class Diagram
269(1)
15.2.5.2 Sequence Diagram
269(2)
15.3 Summary
271(1)
15.4 Review Questions
271(1)
15.5 Exercises
271(1)
15.6 Projects
272(1)
Reference
272(1)
Chapter 16 AnyTranslation Stable Design Pattern
273(10)
16.1 Introduction
273(1)
16.2 Pattern Documentation
274(3)
16.2.1 Name: AnyTranslation Stable Design Pattern
274(1)
16.2.2 Context
274(1)
16.2.3 Problem
274(2)
16.2.3.1 Functional Requirement
275(1)
16.2.3.2 Nonfunctional Requirement
275(1)
16.2.4 Solution
276(1)
16.2.4.1 Applications
277(1)
16.2.5 Sequence Diagram
277(1)
16.3 Summary
277(3)
16.4 Review Questions
280(1)
16.5 Exercises
281(1)
16.6 Projects
281(1)
References
281(2)
Chapter 17 AnyArchitecture Stable Design Pattern
283(14)
17.1 Introduction
283(1)
17.2 Pattern Documentation
284(7)
17.2.1 Name: AnyArchitecture Stable Design Pattern
284(1)
17.2.2 Context
284(1)
17.2.3 Problem
285(2)
17.2.3.1 Functional Requirements
285(1)
17.2.3.2 Nonfunctional Requirements
286(1)
17.2.4 Solution
287(1)
17.2.5 Scenarios
288(1)
17.2.6 Applications
289(9)
17.2.6.1 Case Study
289(1)
17.2.6.2 Case Study Class Diagram
289(2)
17.2.6.3 Alternatives
291(1)
17.3 Summary
291(1)
17.4 Review Questions
292(1)
17.5 Exercises
292(1)
17.6 Projects
293(1)
References
293(4)
Section IV: SDPs' Short-Size Documentation Template
Chapter 18 AnyDecision Stable Design Pattern
297(6)
18.1 Introduction
297(1)
18.2 Pattern Name: Decision Stable Design Pattern
298(3)
18.2.1 Definition
298(1)
18.2.2 Context
298(1)
18.2.3 Problem
299(1)
18.2.3.1 Functional Requirements
299(1)
18.2.3.2 Nonfunctional Requirements
299(1)
18.2.4 Solution
300(4)
18.2.4.1 Class Diagram for Decision Stable Design Pattern
300(1)
18.3 Summary
301(1)
18.4 Review Questions
301(1)
18.5 Exercises
301(1)
18.6 Projects
302(1)
References
302(1)
Chapter 19 AnyConflict Stable Design Pattern
303(6)
19.1 Introduction
303(1)
19.2 Pattern Name: AnyConflict Stable Design Pattern
304(3)
19.2.1 Context
304(1)
19.2.2 Problem
304(2)
19.2.2.1 Functional Requirements
305(1)
19.2.2.2 Nonfunctional Requirements
305(1)
19.2.3 Solution
306(1)
19.3 Summary
307(1)
19.4 Review Questions
307(1)
19.5 Exercises
308(1)
19.6 Projects
308(1)
References
308(1)
Chapter 20 AnyView Stable Design Pattern
309(6)
20.1 Introduction
309(1)
20.2 Pattern Documentation
309(4)
20.2.1 Pattern Name: AnyView Stable Design Pattern
309(1)
20.2.2 Context
310(2)
20.2.2.1 Functional Requirements
310(1)
20.2.2.2 Nonfunctional Requirements
311(1)
20.2.3 Solution
312(1)
20.3 Summary
313(1)
20.4 Review Questions
313(1)
20.5 Exercises
313(1)
20.6 Projects
314(1)
References
314(1)
Chapter 21 AnyModel Stable Design Pattern
315(6)
21.1 Introduction
315(1)
21.2 Pattern Documentation
316(3)
21.2.1 Pattern Name: AnyModel Stable Design Pattern
316(1)
21.2.2 Context
316(1)
21.2.3 Functional Requirements
317(1)
21.2.4 Nonfunctional Requirements
317(1)
21.2.5 Solution
318(1)
21.3 Summary
319(1)
21.4 Review Questions
319(1)
21.5 Exercises
319(1)
21.6 Projects
320(1)
References
320(1)
Chapter 22 AnyReason Stable Design Pattern
321(6)
22.1 Introduction
321(1)
22.2 Pattern Documentation
322(2)
22.2.1 Name: Reason Stable Design Pattern
322(1)
22.2.2 Context
322(1)
22.2.2.1 Education
322(1)
22.2.2.2 Physical Fitness
322(1)
22.2.2.3 Workplace
322(1)
22.2.3 Problem
323(1)
22.2.3.1 Functional Requirements
323(1)
22.2.3.2 Nonfunctional Requirements
323(1)
22.2.4 Solution: Pattern Class Diagram
324(1)
22.3 Summary
324(1)
22.4 Review Questions
324(2)
22.5 Exercises
326(1)
22.6 Projects
326(1)
References
326(1)
Chapter 23 AnyConsequence Stable Design Pattern
327(6)
23.1 Introduction
327(1)
23.2 Pattern Documentation
328(3)
23.2.1 AnyConsequence Stable Design Pattern
328(1)
23.2.2 Context
328(1)
23.2.3 Legal Consequence
328(1)
23.2.4 Consequence of Substance Abuse
328(1)
23.2.5 Consequence of Failure
329(1)
23.2.6 Problem
329(1)
23.2.6.1 Functional Requirements
329(1)
23.2.6.2 Nonfunctional Requirements
329(1)
23.2.7 Solution
330(1)
23.2.7.1 Class Diagram
330(1)
23.2.8 Applications
331(1)
23.3 Summary
331(1)
23.4 Review Questions
331(1)
23.5 Exercises
332(1)
23.6 Projects
332(1)
References
332(1)
Chapter 24 AnyImpact Stable Design Pattern
333(6)
24.1 Introduction
333(1)
24.2 Pattern Documentation
334(2)
24.2.1 Pattern Name: AnyImpact Stable Design Pattern
334(1)
24.2.2 Known As
334(1)
24.2.3 Context
334(1)
24.2.4 Problem
335(5)
24.2.4.1 Detailed Requirements
335(1)
24.2.4.2 Functional Requirements
335(1)
24.2.4.3 Nonfunctional Requirements
336(1)
24.2.4.4 AnyImpact Stable Design Pattern
336(1)
24.3 Summary
336(1)
24.4 Review Questions
337(1)
24.5 Exercises
338(1)
24.6 Projects
338(1)
Reference
338(1)
Chapter 25 AnyHype Stable Design Pattern
339(6)
25.1 Introduction
339(1)
25.2 Pattern Documentation
340(2)
25.2.1 Name: AnyHype Stable Design Pattern
340(1)
25.2.2 Contexts
340(1)
25.2.3 Problem
340(1)
25.2.3.1 Functional Requirements
340(1)
25.2.3.2 Nonfunctional Requirements
341(1)
25.2.4 Solution
341(5)
25.2.4.1 Class Diagram
341(1)
25.3 Summary
342(1)
25.4 Review Questions
342(1)
25.5 Exercises
343(1)
25.6 Projects
343(1)
Reference
343(2)
Chapter 26 AnyCause Stable Design Pattern
345(6)
26.1 Introduction
345(1)
26.2 Pattern Documentation
346(2)
26.2.1 Name: AnyCause Stable Design Pattern
346(1)
26.2.2 Context
346(1)
26.2.2.1 Hospital
346(1)
26.2.2.2 High Court
346(1)
26.2.2.3 Police Arrest
347(1)
26.2.3 Problem
347(1)
26.2.3.1 Functional Requirement
347(1)
26.2.3.2 Nonfunctional Requirement
348(1)
26.2.4 Solution: Pattern Class Diagram
348(1)
26.3 Summary
348(1)
26.4 Review Questions
349(1)
26.5 Exercises
350(1)
26.6 Projects
350(1)
Reference
350(1)
Chapter 27 AnyCriteria Stable Design Pattern
351(6)
27.1 Introduction
351(1)
27.2 Pattern Documentation
352(2)
27.2.1 Name: AnyCriteria Stable Design Pattern
352(1)
27.2.2 Context
352(1)
27.2.3 Problem
353(1)
27.2.3.1 Functional Requirement
353(1)
27.2.3.2 Nonfunctional Requirement
353(1)
27.2.4 Solution
354(4)
27.2.4.1 Class Diagram of AnyCriteria Stable Design Pattern
354(1)
27.3 Summary
354(1)
27.4 Review Questions
355(1)
27.5 Exercises
355(1)
27.6 Projects
356(1)
Reference
356(1)
Chapter 28 AnyMechanism Stable Design Pattern
357(6)
28.1 Introduction
357(1)
28.2 Pattern Documentation
358(2)
28.2.1 Pattern Name: AnyMechanism Design Pattern
358(1)
28.2.2 Known As
358(1)
28.2.3 Context
358(1)
28.2.4 Problem
359(5)
28.2.4.1 Functional Requirements
359(1)
28.2.4.2 Nonfunctional Requirements
360(1)
28.3 Exercises
360(1)
28.4 Projects
361(1)
References
361(2)
Chapter 29 AnyMedia Stable Design Pattern
363(12)
29.1 Introduction
363(1)
29.2 Pattern Documentation
364(4)
29.2.1 Pattern Name: AnyMedia Stable Design Pattern
364(1)
29.2.2 Known As
364(1)
29.2.3 Context
364(1)
29.2.4 Problem
365(3)
29.2.4.1 Functional Requirements
367(1)
29.2.4.2 Nonfunctional Requirements
368(1)
29.2.5 Solution
368(1)
29.3 Summary
368(1)
29.4 Open and Research Issues
369(1)
29.5 Review Questions
370(1)
29.6 Exercises
370(1)
29.7 Projects
371(1)
References
372(3)
Chapter 30 AnyLog Stable Design Pattern
375(6)
30.1 Introduction
375(1)
30.1.1 Software Stability and Stable Analysis Patterns: Brief Background
375(1)
30.2 Pattern Documentation
376(2)
30.2.1 Pattern Name: AnyLog Stable Design Pattern
376(1)
30.2.2 Context
376(1)
30.2.3 Problem
376(1)
30.2.3.1 Functional Requirements
376(1)
30.2.3.2 Nonfunctional Requirements
377(1)
30.2.4 Solution
377(1)
30.3 Summary
378(1)
30.4 Review Questions
378(1)
30.5 Exercises
379(1)
30.6 Projects
380(1)
References
380(1)
Chapter 31 AnyEvent Stable Design Pattern
381(4)
31.1 Introduction
381(1)
31.2 Pattern Documentation
381(2)
31.2.1 Pattern Name: AnyEvent Stable Design Pattern
381(1)
31.2.2 Known As
381(1)
31.2.3 Context
381(1)
31.2.4 Problems
382(1)
31.2.4.1 Functional Requirements
382(1)
31.2.4.2 Nonfunctional Requirements
382(1)
31.2.5 Solution
383(1)
31.3 Summary
383(1)
31.4 Exercises
384(1)
31.5 Projects
384(1)
Reference
384(1)
Chapter 32 Conclusions
385(4)
32.1 Summary
385(1)
32.2 Outstanding Features
386(1)
32.3 Review Questions
386(1)
32.4 Exercise
386(1)
References
386(3)
Appendix A: Detailed Pattern Documentation Template (Preferred) 389(12)
Appendix B: Midsize Pattern Documentation Template 401(2)
Appendix C: Short Pattern Documentation Template 403(2)
Index 405
Dr. M.E. Fayad is a full professor of Computer Engineering at San Jose State University. He was a J.D. Edwards Professor in Computer Science & Engineering at the University of Nebraska, Lincoln, from 1999 to 2002, and an associate professor at the computer science and computer engineering faculty at the University of Nevada from 1995 - 1999. He has more than 15 years of industrial experience. Dr. Fayad is an IEEE Distinguished Speaker, and an associate editor, editorial advisor, a columnist for The Communications of the ACM and his column is Thinking Objectively; a columnist for Al-Ahram Egyptians Newspaper; an editor-in-chief for IEEE Computer Society Press - Computer Science and Engineering Practice Press (1995-1997); a general chair of IEEE/Arab Computer Society International Conference on Computer Systems and Applications (AICCSA 2001), Beirut, Lebanon; and the founder and president of Arab Computer Society (ACS) from April 2004 to April 2007.



Dr. Fayad is a known and well recognized authority in the domain of theory and the applications of software engineering. Fayads publications are in the very core, archival journals and conferences in the software engineering field.

Dr. Fayad has published more than 218 papers, 84 advanced articles in refereed conferences, more than 20 well-received and cited journal columns, 16 blogged columns; 11 well-cited theme issues in prestigious journals and flagship magazines, 24 different workshops in very respected conferences, and over 125 tutorials, seminars, and short presentations in more than 30 different counties. Dr. Fayad has also filed for eight patents and has developed over 800 stable software patterns. Dr. Fayad received an MS and a PhD in computer science from the University of Minnesota at Minneapolis. His research topic was OO Software Engineering: Problems & Perspectives. He is the lead author of several classic Wiley books.