Muutke küpsiste eelistusi

E-raamat: Software Patterns, Knowledge Maps, and Domain Analysis [Taylor & Francis e-raamat]

, , , (San José State University, Charles W. Davidson College of Engineering, Computer Engineering, California, USA),
  • Formaat: 448 pages, 27 Tables, black and white; 100 Illustrations, black and white
  • Ilmumisaeg: 12-Oct-2017
  • Kirjastus: CRC Press
  • ISBN-13: 9780429101878
  • Taylor & Francis e-raamat
  • Hind: 216,96 €*
  • * hind, mis tagab piiramatu üheaegsete kasutajate arvuga ligipääsu piiramatuks ajaks
  • Tavahind: 309,94 €
  • Säästad 30%
  • Formaat: 448 pages, 27 Tables, black and white; 100 Illustrations, black and white
  • Ilmumisaeg: 12-Oct-2017
  • Kirjastus: CRC Press
  • ISBN-13: 9780429101878

Software design patterns are known to play a vital role in enhancing the quality of software systems while reducing development time and cost. However, the use of these design patterns has also been known to introduce problems that can significantly reduce the stability, robustness, and reusability of software. This book introduces a new process for creating software design patterns that leads to highly stable, reusable, and cost-effective software. The basis of this new process is a topology of software patterns called knowledge maps.

This book provides readers with a detailed view of the art and practice of creating meaningful knowledge maps. It demonstrates how to classify software patterns within knowledge maps according to their application rationale and nature. It provides readers with a clear methodology in the form of step-by-step guidelines, heuristics, and quality factors that simplify the process of creating knowledge maps.

This book is designed to allow readers to master the basics of knowledge maps from their theoretical aspects to practical application. It begins with an overview of knowledge map concepts and moves on to knowledge map goals, capabilities, stable design patterns, development scenarios, and case studies. Each chapter of the book concludes with an open research issue, review questions, exercises, and a series of projects.

Preface xvii
Acknowledgments xxi
Authors xxiii
Section I: Introduction
Chapter 1 An Overview of Knowledge Maps
5(24)
1.1 Introduction: Key Concepts-Software Stable Models, Knowledge Maps, Pattern Language, Goals, Capabilities (Enduring Business Themes + Business Objects)
5(1)
1.2 The Motivation
6(1)
1.3 The Problem
7(1)
1.4 The Objectives
7(1)
1.5 Overview of Software Stability Concepts
8(1)
1.6 Overview of Knowledge Maps
8(1)
1.7 Pattern Languages versus Knowledge Maps: A Brief Comparison
9(2)
1.8 The Solution
11(1)
1.9 Knowledge Maps Methodology or Concurrent Software Development Model
11(3)
1.10 Why Knowledge Maps?
14(2)
1.10.1 Research Methodology Undertaken
14(1)
1.10.2 Research Verification and Validation
15(1)
1.10.3 The Stratification of This Book
15(1)
Summary
16(1)
Open Research Issues
16(3)
Review Questions
19(1)
Exercises
20(1)
Projects
20(9)
Chapter 2 Abstraction: Knowledge Maps, Stability, and Patterns
29(20)
2.1 Introduction
29(1)
2.2 Levels of Abstraction in Knowledge Maps
30(1)
2.3 Mapping Elements in Knowledge Maps to Software Stability Concepts and Patterns
31(1)
2.4 The Software Stability Model
32(7)
2.4.1 Goals
33(1)
2.4.2 Capabilities
34(1)
2.4.3 Knowledge Maps: Formation and Stable Architectural Patterns
35(1)
2.4.4 Development Scenarios
36(2)
2.4.5 Deployment and Verification and Validation
38(1)
Summary
39(1)
Open Research Issues
39(1)
Review Questions
40(1)
Exercises
41(1)
Projects
41(8)
Section II: Goals of the Knowledge Maps
Chapter 3 The Goals: Significance and Identification
49(24)
3.1 Introduction
49(1)
3.2 Significance of Goals
50(3)
3.2.1 An Example: A Simple E-Commerce Application
52(1)
3.3 Dealing with Goals: Extraction and Assessment
53(2)
3.4 Extracting the Goals of a Discipline: The Process
55(3)
3.4.1 Dealing with Subgoals
57(1)
3.5 Goals of Knowledge Maps
58(4)
3.5.1 Goal 1: Learning
58(2)
3.5.2 Goal 2: Discovery
60(1)
3.5.3 Goal 3: Knowledge
60(2)
3.6 Subgoals
62(1)
3.6.1 Use an Analogy: Marriage or Friendship
62(1)
Summary
63(1)
Open Research Issues
63(1)
Review Questions
64(1)
Exercises
65(2)
Projects
67(6)
Chapter 4 Discovery Stable Analysis Pattern
73(36)
4.1 Introduction
73(1)
4.2 Discovery Stable Analysis Pattern
74(25)
4.2.1 Pattern Name: Discovery Stable Analysis Pattern
74(1)
4.2.2 Known As
74(1)
4.2.3 Context
75(1)
4.2.4 Problem
75(3)
4.2.4.1 Functional Requirements
76(2)
4.2.4.2 Nonfunctional Requirements
78(1)
4.2.5 Challenges and Constraints
78(2)
4.2.5.1 Challenges
79(1)
4.2.5.2 Constraints
79(1)
4.2.6 Solution
80(6)
4.2.6.1 CRC Cards
83(3)
4.2.7 Consequences
86(1)
4.2.8 Applicability
86(4)
4.2.8.1 Case Study 1: Discovery of a New Vitamin K
86(4)
4.2.9 Related Patterns and Measurability
90(2)
4.2.9.1 Related Pattern
90(1)
4.2.9.2 Measurability
91(1)
4.2.10 Modeling Issues, Criteria, and Constraints
92(1)
4.2.10.1 Modeling Heuristics
92(1)
4.2.11 Design and Implementation Issues
92(2)
4.2.11.1 Delegation versus Inheritance
93(1)
4.2.11.2 Model Implemented with Delegation
93(1)
4.2.12 Testability
94(1)
4.2.13 Formalization Using Object Constraint Language, Z++ or Object Z, and/or Extended Backus-Naur Form
95(2)
4.2.14 Business Issues
97(1)
4.2.14.1 Business Rules
97(1)
4.2.14.2 Business Integration
98(1)
4.2.14.3 Business Enduring Themes
98(1)
4.2.15 Known Usages
98(1)
4.2.16 Tips and Heuristics
99(1)
Summary
99(1)
Open Research Issues
100(1)
Review Questions
101(2)
Exercises
103(2)
Projects
105(4)
Chapter 5 The Knowledge Stable Analysis Pattern
109(26)
5.1 Introduction
109(1)
5.2 Pattern Documentation
110(18)
5.2.1 Pattern Name: Knowledge Stable Analysis Pattern
110(1)
5.2.2 Known As
110(1)
5.2.3 Context
111(1)
5.2.4 Problem
111(2)
5.2.4.1 Functional Requirements
111(2)
5.2.4.2 Nonfunctional Requirements
113(1)
5.2.5 Challenges and Constraints
113(1)
5.2.6 Solution: Pattern Structure and Participants
114(6)
5.2.6.1 Structure
114(1)
5.2.6.2 Participants
115(1)
5.2.6.3 CRC Cards
115(5)
5.2.7 Applicability with Illustrated Examples
120(7)
5.2.7.1 Scenario 1-Autonomic Computing Context
120(3)
5.2.7.2 Scenario 2-CRM System
123(4)
5.2.8 Related Patterns and Measurability
127(1)
5.2.8.1 Measurability
127(1)
5.2.9 Known Usages
128(1)
Summary
128(1)
Open Research Issues
129(1)
Review Questions 129 Exercise
130(1)
Projects
130(5)
Section III: Knowledge Map Capabilities
Chapter 6 Capabilities: The Heart of Business
135(22)
6.1 Introduction
135(9)
6.1.1 The Heart of the Business
135(2)
6.1.2 Work Flow Metaphor-Workhorses
137(1)
6.1.3 Dealing with Capabilities: Identification and Assessment
137(2)
6.1.3.1 The Impact of BO on Creating Multiple Applications: Generality
139(1)
6.1.3.2 BO = Stable Design Patterns
139(1)
6.1.3.3 Essential Properties of BO
139(1)
6.1.4 A Goal with No Capability
139(1)
6.1.5 A Capability with No Goal
140(1)
6.1.6 Identification Process of Capabilities: An Example
141(3)
6.2 Capabilities of Knowledge Maps
144(4)
6.2.1 Capability 1
144(1)
6.2.2 Capability 2
145(1)
6.2.3 Capability 3
146(1)
6.2.4 Capability 4
147(1)
Summary
148(1)
Open Research Issues
149(1)
Review Questions
149(1)
Exercises
150(2)
Projects
152(5)
Chapter 7 AnyMap Stable Design Pattern
157(58)
7.1 Introduction
157(3)
7.2 Pattern Documentation
160(47)
7.2.1 Pattern Name: AnyMap Stable Design Pattern
160(1)
7.2.2 Known As
160(1)
7.2.3 Context
161(1)
7.2.4 Problem
162(7)
7.2.4.1 Functional Requirements
162(6)
7.2.4.2 Nonfunctional Requirements
168(1)
7.2.5 Challenges and Constraints
169(2)
7.2.5.1 Challenges
169(1)
7.2.5.2 Constraints
170(1)
7.2.6 Solution Structure and Participants
171(7)
7.2.6.1 Structures
171(1)
7.2.6.2 Participants
171(1)
7.2.6.3 CRC Cards
172(6)
7.2.7 Consequences
178(1)
7.2.8 Applicability with Illustrated Examples
178(10)
7.2.8.1 Case Study 1: Navigation-Google Road Map for Planning Driving Routes
178(4)
7.2.8.2 Case Study 2: Mathematical Mapping
182(6)
7.2.9 Related Patterns and Measurability
188(3)
7.2.9.1 Traditional Model versus SSM
188(2)
7.2.9.2 Measurability
190(1)
7.2.10 Modeling Issues, Criteria, and Constraints
191(2)
7.2.10.1 Abstraction
191(2)
7.2.11 Design and Implementation Issues
193(1)
7.2.12 Formalization
194(8)
7.2.13 Testability
202(1)
7.2.14 Business Issues
203(2)
7.2.15 Known Usage
205(1)
7.2.16 Tips and Heuristics
206(1)
Summary
207(1)
Open Research Issues
207(1)
Review Questions
207(2)
Exercises
209(1)
Research and Development
210(1)
Indexing and Dictionary Search
210(1)
Site Map Development
211(1)
Projects
211(4)
Chapter 8 AnyContext Stable Design Pattern
215(16)
8.1 Introduction
215(1)
8.2 Pattern Documentation
216(10)
8.2.1 Pattern Name: AnyContext Stable Design Pattern
216(1)
8.2.2 Known As
216(1)
8.2.3 Context
217(1)
8.2.4 Problem
217(1)
8.2.5 Challenges and Constraints
218(1)
8.2.5.1 Challenges
218(1)
8.2.5.2 Constraints
218(1)
8.2.6 Solution: Pattern Structure and Participants
218(14)
8.2.6.1 CRC Cards
220(1)
8.2.6.2 Consequences
221(1)
8.2.6.3 Applicability with Illustrated Examples
221(5)
Summary
226(1)
Open Research Issues
226(1)
Review Questions
226(1)
Exercises
227(1)
Projects
227(4)
Section IV: Knowledge Maps, Development, and Deployment
Chapter 9 Knowledge Maps: System of Patterns
231(32)
9.1 Introduction
231(1)
9.2 Representation of Knowledge Maps: Structure, Quality Factors, and Properties
232(15)
9.2.1 Structure of the Knowledge Maps
233(15)
9.2.1.1 The Notation Used in Knowledge Map Structures
233(1)
9.2.1.2 Knowledge Map Template
234(2)
9.2.1.3 Structure of Knowledge Maps and Its Relationship with UML
236(3)
9.2.1.4 Quality Factors in Knowledge Maps
239(1)
9.2.1.5 Properties of Knowledge Maps
240(7)
9.3 Knowledge Maps versus Traditional Pattern Languages
247(1)
9.4 Samples of SArchPs
248(3)
9.4.1 Architecture 1
248(2)
9.4.2 Architecture 2
250(1)
Summary
251(1)
Open Research Issues
251(2)
Review Questions
253(2)
Exercises
255(1)
Projects
255(8)
Chapter 10 Development Scenarios: Setting the Stage
263(18)
10.1 Introduction
263(1)
10.2 Implementation Issues of the Knowledge Maps
264(8)
10.2.1 Type versus Class within TOP
264(2)
10.2.2 Design Type Specification Template
266(1)
10.2.2.1 Design Type Specification Template 1: EBT
267(1)
10.2.2.2 Design Type Specification Template 2: BO
267(1)
10.2.3 The Uses of Contracts in the Specification of Design Types
267(1)
10.2.4 The Hook Specification Template
268(1)
10.2.5 Specification of the User Model or Storyteller
268(3)
10.2.5.1 Packages Overview
269(2)
10.2.6 Components
271(1)
10.3 Aspect-Oriented Modeling
272(6)
10.3.1 Aspects as Core Design Features in a System
273(1)
10.3.2 Difference between the Aspect-Oriented Design Approach and SSM
274(2)
10.3.3 Identification of Whether Aspects Will Be All the EBTs and All the BOs in a System
276(1)
10.3.4 Understanding Whether Aspects in AOP Will Represent either EBTs or BOs of SSM in a System
277(1)
10.3.5 Comparison between Extraction of Aspects in AOP, EBTs, and BOs in SSM
277(1)
10.3.6 Modeling EBTs and BOs as Aspects
278(1)
Summary
278(1)
Open Research Issues
279(1)
Review Questions
279(1)
Exercises
279(1)
Projects
280(1)
Chapter 11 Deployment, Verification and Validation, and Quality Factors
281(10)
11.1 Introduction
281(1)
11.2 Deployment of Knowledge Maps
282(2)
11.2.1 The Conceptual Point of View of Deployment
282(1)
11.2.2 The Practical Point of View of Deployment
283(1)
11.3 The Quality Factors of Deployment
284(1)
11.4 Deployment-V&V Process
285(2)
Summary
287(1)
Open Research Issues
287(1)
Review Questions
287(1)
Exercises
288(1)
Projects
288(3)
Section V: Case Studies of the Knowledge Maps
Chapter12 Knowledge Map Engine: Initial Work
291(12)
12.1 Introduction
291(1)
12.2 Interfaces Supported by the Knowledge Map Engine
291(1)
12.3 Implementations of the Interfaces
292(2)
12.4 Structures of Types
294(3)
12.5 Construction Heuristics of Engines
297(1)
12.6 The Hooking Facility of the Knowledge Map Engine
298(3)
12.6.1 An Example: Creating Associations between BOs and IOs
300(1)
Summary
301(1)
Open Research Issues
302(1)
Review Questions
302(1)
Exercises
302(1)
Projects
302(1)
Chapter 13 CRC Cards Knowledge Map
303(34)
13.1 Introduction
303(1)
13.2 What Makes Effective CRC Cards
304(1)
13.3 CRC Cards Knowledge Classification
305(2)
13.4 Toward a Knowledge Map for CRC Cards
307(2)
13.4.1 Goals or Classification
307(1)
13.4.2 Capabilities or Properties
307(1)
13.4.3 Development Scenarios
308(1)
13.4.4 Deployment
308(1)
13.4.5 Family of Patterns-Bird's-Eye View
308(1)
13.5 Knowledge Map for CRC Cards
309(16)
13.5.1 The Main Step in the Classification
309(1)
13.5.2 Pattern 1-Brainstorming Stable Analysis Pattern
310(3)
13.5.2.1 Context
311(1)
13.5.2.2 Problem
311(1)
13.5.2.3 Solution
311(2)
13.5.2.4 Example
313(1)
13.5.3 Pattern 2-Engagement Stable Analysis Pattern
313(2)
13.5.3.1 Context
313(1)
13.5.3.2 Problem
314(1)
13.5.3.3 Solution
314(1)
13.5.3.4 Example: Conceptual Map Creation
314(1)
13.5.4 Pattern 3-CRC Card Modeling Stable Analysis Pattern
315(4)
13.5.4.1 Context
315(1)
13.5.4.2 Problem
316(1)
13.5.4.3 Forces
317(1)
13.5.4.4 Solution
317(2)
13.5.5 The Main Step in the Capability
319(1)
13.5.6 Pattern 4-Effective CRC Card Format Pattern
319(42)
13.5.6.1 Context
319(1)
13.5.6.2 Problem
319(1)
13.5.6.3 Forces
320(1)
13.5.6.4 Solution
321(1)
13.5.6.5 Example
321(4)
Summary
325(1)
Open Research Issues
325(1)
Review Questions
325(2)
Exercises
327(8)
Projects
335(2)
Chapter 14 Future Work and Conclusions
337(4)
14.1 Future Work
338(1)
Summary
339(1)
Review Questions
340(1)
Exercises
340(1)
Projects
340(1)
Appendix A: Pattern Documentation Templates 341(10)
A.1 Pattern Documentation-Detailed Template (Preferred)
341(9)
A.2 Pattern Documentation-Short Template
350(1)
Appendix B: Other Templates 351(6)
B.1 Fayad's Class Responsibility and Collaboration Card Layout
351(1)
B.2 Fayad's Use Case Template
351(1)
B.3 Fayad's Stable Analysis/Design/Architectural Patterns (Layout)
352(1)
B.3.1 Stable Analysis Pattern or Stable Design Pattern Layout (1 EBT and 2-14 BOs)
352(1)
B.3.2 Stable Architectural Patterns Layout (2-5 EBTs Where 3 Is the Most Common)
353(1)
B.4 Fayad's Stable Analysis/Design Pattern Applications Layout
353(1)
B.4.1 Stable Analysis Pattern or Stable Design Pattern Applications Layout
353(1)
B.4.2 Stable Architectural Pattern Applications Layout
354(1)
B.5 Fayad's Knowledge Map Template
354(3)
Appendix C: Stable Patterns Catalog 357(2)
C.1 Stable Analysis Patterns
357(1)
C.2 Stable Design Patterns
357(2)
Appendix D: Sample Requirements 359(46)
D.1 Ocean Resources Management System
359(6)
D.1.1 Introduction
359(1)
D.1.2 Description of Domain
359(1)
D.1.3 Block Diagram
360(1)
D.1.4 Description of the Program That Is Wanted
360(1)
D.1.5 Detailed Requirements
361(2)
D.1.5.1 Functional Requirements
361(2)
D.1.5.2 Nonfunctional Requirements
363(1)
D.1.6 Use Case and User Context
363(2)
D.1.6.1 Use Case 1
363(1)
D.1.6.2 Use Case 2
363(1)
D.1.6.3 Use Case 3
364(1)
D.1.6.4 Use Case 4
364(1)
D.1.6.5 Use Case 5
364(1)
D.1.6.6 Use Case 6
364(1)
D.1.6.7 Use Case 7
364(1)
D.1.6.8 Use Case 8
364(1)
D.1.6.9 Use Case 9
364(1)
D.1.6.10 Use Case 10
365(1)
Sources
365(1)
D.2 Dengue Fever Prevention and Outbreak Management System
365(4)
D.2.1 Introduction
365(1)
D.2.2 Description of Domain
365(1)
D.2.3 Description of the Program That Is Required
366(1)
D.2.4 Detailed Requirements
366(1)
D.2.5 Use Cases and User Context
367(2)
Sources
369(1)
D.3 Organizing Cricket World Cup
370(6)
D.3.1 Domain Description
370(1)
D.3.2 Description of the Program That Is Wanted
370(1)
D.3.3 Detailed Requirements
371(2)
D.3.4 Use Cases and User Context
373(3)
D.3.4.1 Use Case 1
373(1)
D.3.4.2 Use Case 2
373(1)
D.3.4.3 Use Case 3
373(1)
D.3.4.4 Use Case 4
373(1)
D.3.4.5 Use Case 5
374(1)
D.3.4.6 Use Case 6
374(1)
D.3.4.7 Use Case 7
374(1)
D.3.4.8 Use Case 8
374(1)
D.3.4.9 Use Case 9
375(1)
D.3.4.10 Use Case 10
375(1)
D.3.4.11 Use Case 11
375(1)
D.3.4.12 Use Case 12
375(1)
Sources
376(1)
D.4 Pollution Management
376(5)
D.4.1 Description of Domain
376(1)
D.4.2 Block Diagram
377(1)
D.4.3 Description of the Program That Is Wanted
377(1)
D.4.4 Detailed Requirements
377(1)
D.4.4.1 Functional Requirements
377(1)
D.4.4.2 Nonfunctional Requirements
378(1)
D.4.5 Use Cases and User Context
378(3)
D.4.5.1 Use Case 1
378(1)
D.4.5.2 Use Case 2
378(1)
D.4.5.3 Use Case 3
379(1)
D.4.5.4 Use Case 4
379(1)
D.4.5.5 Use Case 5
379(1)
D.4.5.6 Use Case 6
379(1)
D.4.5.7 Use Case 7
379(1)
D.4.5.8 Use Case 8
380(1)
D.4.5.9 Use Case 9
380(1)
D.4.5.10 Use Case 10
380(1)
D.4.5.11 Use Case 11
380(1)
D.4.5.12 Use Case 12
380(1)
D.4.5.13 Use Case 13
380(1)
D.4.5.14 Use Case 14
381(1)
D.4.5.15 Use Case 15
381(1)
D.4.6 Interfaces
381(1)
Sources
381(1)
D.5 Natural Disaster Tracking System
381(6)
D.5.1 Goals/Purposes
381(1)
D.5.2 Motivations
381(1)
D.5.3 Brief Description
382(1)
D.5.4 Challenges
382(1)
D.5.5 Accomplishments
382(1)
D.5.6 Project Results
383(1)
D.5.7 Description of the Domain
383(1)
D.5.8 Block Diagram
383(1)
D.5.9 Use Cases and User Context
384(2)
D.5.9.1 Use Case: Gather Satellite Information
384(1)
D.5.9.2 Use Case: Communicate with Media
384(1)
D.5.9.3 Use Case: Manage and Model Data
384(1)
D.5.9.4 Use Case: Backup and Transfer Information
384(1)
D.5.9.5 Use Case: Monitor in Real Time
385(1)
D.5.9.6 Use Case: Gather Remote Aerial Sensor Data
385(1)
D.5.9.7 Use Case: Correlate Information
385(1)
D.5.9.8 Use Case: Allocate and Manage Resources
385(1)
D.5.9.9 Use Case: Track Natural Disasters
386(1)
D.5.10 Detailed Requirements
386(1)
D.5.10.1 Nonfunctional Requirements
386(1)
D.5.10.2 Functional Requirements
386(1)
D.5.11 Interface
387(1)
Sources
387(1)
D.6 Global Warming Control System
387(6)
D.6.1 Description of the Domain
389(1)
D.6.2 Description of the Program That Is Required
389(1)
D.6.3 Detailed Requirements
390(1)
D.6.3.1 Functional Requirements
390(1)
D.6.3.2 Nonfunctional Requirements
391(1)
D.6.4 Use Cases
391(2)
D.6.4.1 Use Case 1
391(1)
D.6.4.2 Use Case 2
392(1)
D.6.4.3 Use Case 3
392(1)
D.6.4.4 Use Case 4
392(1)
D.6.4.5 Use Case 5
392(1)
D.6.4.6 Use Case 6
392(1)
D.6.5 Interfaces
393(1)
Sources
393(1)
D.7 Circus
393(5)
D.7.1 Description of the Domain
393(1)
D.7.2 Description of the Program That Is Wanted
394(1)
D.7.2.1 Detailed Requirements
395(1)
D.7.3 Use Cases and User Context
395(3)
D.7.3.1 Use Case 1
396(1)
D.7.3.2 Use Case 2
396(1)
D.7.3.3 Use Case 2.1
396(1)
D.7.3.4 Use Case 3
396(1)
D.7.3.5 Use Case 3.1
396(1)
D.7.3.6 Use Case 4
397(1)
D.7.3.7 Use Case 4.1
397(1)
D.7.3.8 Use Case 4.2
397(1)
D.7.3.9 Use Case 5
397(1)
D.7.3.10 Use Case 6
397(1)
D.7.3.11 Use Case 7
398(1)
Sources
398(1)
D.8 Jurassic Park
398(7)
D.8.1 Goals/Purposes
398(1)
D.8.2 Motivation
398(1)
D.8.3 Description of Domain
398(1)
D.8.4 Jurassic Park Block Diagram
399(3)
D.8.4.1 Description of the Program That Is Wanted
399(1)
D.8.4.2 Detailed Requirements
400(2)
D.8.5 Use Cases
402(2)
D.8.5.1 Use Case 1: Attack by Velociraptor, While Releasing
402(1)
D.8.5.2 Use Case 2: Tour at the Park
402(1)
D.8.5.3 Use Case 3: Attempt to Steal Dinosaur Embryo
402(1)
D.8.5.4 Use Case 4: Attack Due to Park's Shut Down Security System
402(1)
D.8.5.5 Use Case 5: Visiting Paleontologist and Children Hike to Safety
403(1)
D.8.5.6 Use Case 6: Attempt to Restart Computer and Power
403(1)
D.8.5.7 Use Case 7: Children and Visiting Paleontologist Reach the Shelter
403(1)
D.8.5.8 Use Case 8: Children Are Attacked by Raptors
403(1)
D.8.5.9 Use Case 9: Raptors Attack the Control Room
403(1)
D.8.5.10 Use Case 10: Escape from the Island
404(1)
Sources
404(1)
References 405(12)
Index 417
Dr. Mohamed E. Fayad is currently a full professor of computer engineering at San Jose State University, from 2002 to present. He was a J.D. Edwards Professor, Computer Science and Engineering, at the University of Nebraska, Lincoln, from 1999 to 2002; an associate professor at the computer science and computer engineering faculty at the University of Nevada, from 1995 to 1999; and an editor-in-chief for IEEE Computer Society PressComputer Science and Engineering Practice Press, from 1995 to 1997. He has 15+ years of industrial experience. Dr. Fayad is an IEEE distinguished speaker, an associate editor, editorial advisor, a columnist for the Communications of the ACM (Thinking Objectively), and a columnist for the Al-Ahram newspaper (two million subscribers); he was a general chair of IEEE/Arab Computer Society International Conference on Computer Systems and Applications (AICCSA 2001), Beirut, Lebanon, June 2629, 2001; he is the founder of Arab Computer Society (ACS), being its president 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. Dr. Fayad was a guest editor on 12 theme issues: CACMs OO Experiences, October 1995; IEEE Computers Managing OO Software Development Projects, September 1996; CACMs Software Patterns, October 1996; CACMs OO Application Frameworks, October 1997; ACM Computing SurveysOO Application Frameworks, March 2000; IEEE SoftwareSoftware Engineering in-the-Small, September/October 2000; International Journal on Software Practice and Experiences, July 2001; IEEE Transaction on Robotics and AutomationObject-Oriented Methods for Distributed Control Architecture, October 2002; Annals of Software Engineering JournalOO Web- Based Software Engineering, October 2002; Journal of Systems and Software, Elsevier, Software Architectures and Mobility, July 2010; and Pattern Languages: Addressing the Challenges, Wiley Software: Practice and Experience, MarchApril 2012.

Dr. Fayad has published more than 218 high-quality papers, which include profound and well-cited reports (more than 50) in reputed journals, 84 articles in refereed conferences, more than 20 well-received and cited journal columns, 16 blogged columns; 12 well-cited theme issues in prestigious journals and flagship magazines; 24 different workshops in respected conferences; and over 125 tutorials, seminars, and short presentations in 30+ different countries, such as Hong Kong (3 times), Canada (12 times), Bahrain (2 times), Saudi Arabia (4 times), Egypt (30 times), Lebanon (2 times), UAE (2 times), Qatar (2 times), Portugal (2 times), Finland (2 times), United Kingdom (3 times), Holland (3 times), Germany (4 times), Mexico (1 time), Argentina (3 times), Chile (1 time), Peru (1 time), Spain (1 time), and Brazil (1 time). Dr. Fayad is founder of seven online journals, NASA Red Team Review of QRAS and NSF-USA Research Delegations Workshops to Argentina and Chile, and four authoritative books, of which three are translated into different languages, such as Chinese; over five books are currently in progress. Dr. Fayad is filing for eight valuable and innovative 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 title was OO Software Engineering: Problems and Perspectives. He is the lead author of several classic works: Transition to OO Software Development, August 1998; Building Application Frameworks, September 1999; Implementing Application Frameworks, September 1999; Domain-Specific Application Frameworks, October 1999. Dr. Fayads books in progress include Stable Analysis Patterns, Stable Design Patterns, Unified Software Architectures, Service and Production Engines, Moviemaking: UML and Knowledge Map in Action, UML in Action, Unified Software Engine, and Knowledge Map: True Domain Analysis Approach.

Huascar A. Sanchez is a PhD candidate in the University of California Santa Cruzs Computer Science Department. His research interest includes software engineering, specifically source code curation, an approach to discovering, cleaning, and refining online code snippets upon which to build programs. Sanchez has an MS in software engineering from San Jose State University.

Srikanth G. K. Hegde is a professional Internet security consultant and a freelance writer with a masters degree to his credit. His areas of interest include Internet security, networking, social media marketing, antivirus software, adware, spyware removal and its management, Internet safety, network security policy, and broadband and Internet/security protocols. In addition, his domains of interest also include preparing articles, white papers, and status reports on diverse industries, businesses, global events, finance, and business management. Furthermore, he has published numerous articles on software patterns (analysis and design), pattern development, patterns composition, and knowledge maps, in association with Dr. Prof. M. E. Fayad. Srikanth is also an experienced freelance writer with more than 15 years of experience in writing books, articles, columns, critiques, and various other e-publications.

Anshu Basia is a software engineer with extensive experience and management skills. Her specialization includes analyzing, designing, and developing complex enterprise solutions in agile environments. Anshu is highly proficient in Java, Spring, Struts, HTML, JavaScript, Rest Web services, SQL, and a multitude of other technologies used in modern applications. Currently, Anshu works for Quisk, a global technology company that partners with financial institutions and others to digitize cash and provide safe, simple, and secure financial services and cashless transactions for anyone with a mobile phone number. Prior to joining Quisk, Anshu worked as a software engineer at A2Z (subsidiary of Amazon.com) now known as Amazon Music. Anshu completed her second masters in software engineering with focus on enterprise software technologies from San Jose State University, graduating with highest honors. Anshus first masters degree is in computer applications from Banasthali Vidyapith, India.

Ashka Vakil is an accomplished software engineer who specializes in building highly complex enterprise applications. Ashka has 8+ years of extensive experience in architecture, design, and agile development. Ashka is an expert in mobile application and cloud application development. Ashka is highly proficient in Java, HTML, JavaScript, web services, SQL, and a multitude of other technologies used in modern web applications. Currently, Ashka works for SAP, a German multinational software corporation that makes enterprise software to manage business operations and customer relations. As a senior software engineer, she is responsible for building custom enterprise-grade mobile applications for SAP customers. Prior to joining SAP, Ashka worked as a software engineer at Tata Consultancy Services, the largest India-based IT services company. Ashka holds a masters degree in software engineering with focus on enterprise software technologies from San Jose State University, graduating with highest honors.