HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Also available in other formats.
Register your product to gain access to bonus material or receive a coupon.
Learn Generative Analysis--a New Method of Object-Oriented Analysis--to Keep Pace with How Generative AI Is Transforming the Face of Software Engineering
Generative AI is revolutionizing software engineering--many aspects of manual coding are becoming automated, and the skills needed by software engineers, developers, and analysts are evolving. Anyone who writes or works with code will need to produce precise analysis artifacts to feed the AI code-generation process. Enter generative analysis: a precise, structured way for software engineers, programmers, and analysts to transition to this new, AI-enhanced software engineering world.
In Generative Analysis, experts Jim Arlow and Ila Neustadt leverage Literate Modeling, M++, and multivalent logic to lay out a step-by-step approach to object-oriented analysis that produces clear and unambiguous results suitable for further processing into code by generative AI systems such as Copilot, ChatGPT, and Gemini. Prepare for the challenge of the future by understanding the flexibility you already have at hand using generative analysis.
This guide teaches advanced, precise, and sophisticated analysis techniques that will allow you to thrive in the new world of software engineering with generative AI.
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Preface xiv
About the Authors xix
Chapter 1: Generative Analysis for Generative AI 1
1.1 Introduction 1
1.2 Chapter contents 2
1.3 Communication and neuro linguistic programming (nlp) 3
1.4 Abstraction 7
1.5 Finding the right level of abstraction for Generative AI 14
1.6 Choice of Generative AI 14
1.7 Applying Generative AI to an example problem domain 15
1.8 Modeling in Generative Analysis 42
1.9 Chapter summary 51
Chapter 2: Launching OLAS, the example project 53
2.1 Introduction 53
2.2 Chapter contents 54
2.3 OLAS, the problem domain 55
2.4 Software engineering processes 55
2.5 The Unified Process (UP) 57
2.6 UP structure 60
2.7 UP workflows 62
2.8 UP phases 64
2.9 The UP phases in the world of Generative AI 68
2.10 The OLAS Inception phase 69
2.11 The OLAS Vision Statement 72
2.12 Keep all documents as concise as possible 73
2.13 Chapter summary 74
Chapter 3: Capturing information in Generative Analysis 77
3.1 Introduction 77
3.2 Chapter contents 78
3.3 Capturing informal, unstructured information 79
3.4 Mind mapping 82
3.5 Concept mapping 90
3.6 Dialog Mapping 107
3.7 Antipatterns in mapping meetings 114
3.8 Generative AI and mapping meetings 115
3.9 Structured writing 117
3.10 Structured documents 119
3.11 Principles for structuring information 120
3.12 Structured writing example 127
3.13 Complexity versus profundity 129
3.14 Chapter summary 132
Chapter 4: OLAS Elaboration phase 133
4.1 Introduction 133
4.2 Chapter contents 134
4.3 Concept-mapping OLAS 135
4.4 Creating a first-cut Logical Architecture 147
4.5 Using Generative AI to kick-start the OLAS Logical Architecture 151
4.6 How to validate the first-cut Logical Architecture 158
4.7 Chapter summary 158
Chapter 5: Communication 159
5.1 Introduction 159
5.2 Chapter contents 160
5.3 Communication in Generative Analysis 161
5.4 Flexibility is the key to excellent communication 162
5.5 Semiotics and the structure of meaning 164
5.6 Ontology 168
5.7 Metaphor 172
5.8 Constructing the Generative Analysis model of human communication 178
5.9 The Generative Analysis communication model 182
5.10 Chapter summary 187
Chapter 6: M++ 189
6.1 Introduction 189
6.2 Chapter contents 189
6.3 The nlp Meta Model and M++ 190
6.4 The M++ pattern template 192
6.5 Deletion 192
6.6 Generalization 209
6.7 Distortion 219
6.8 Presuppositions 235
6.9 Using M++ in Generative Analysis 239
6.10 Key points for applying M++ 240
6.11 Chapter summary 241
Chapter 7: Literate Modeling 243
7.1 Introduction 243
7.2 Chapter contents 244
7.3 Limitations of visual models as conveyors of meaning 245
7.4 The solution: Literate Modeling 247
7.5 Creating a Business Context Document (BCD) 249
7.6 Structure of the BCD 253
7.7 Learn Literate Modeling by example 255
7.8 Leveraging Generative AI for Literate Modeling 255
7.9 Integrating engineered prompts with BCDs 265
7.10 Chapter summary 266
Chapter 8: Information in Generative Analysis 267
8.1 Introduction 267
8.2 Chapter contents 268
8.3 Conversations with Generative AI 269
8.4 The Generative Analysis Information Model 271
8.5 Classifying information 274
8.6 Information 275
8.7 Resource 276
8.8 Question 277
8.9 Proposition 280
8.10 Idea 287
8.11 Requirement 288
8.12 Term 293
8.13 Chapter summary 297
Chapter 9: Generative Analysis by example 299
9.1 Introduction 299
9.2 Chapter contents 300
9.3 How to perform Generative Analysis 301
9.4 Identifying the Information Types 302
9.5 Semantic Highlighting 302
9.6 Finding Resources using Generative AI 304
9.7 Finding Terms 309
9.8 Key Statement analysis 316
9.9 Line-by-line Generative Analysis of the OLAS Vision Statement 321
9.10 Publishing your Generative Analysis results 326
9.11 Controlling the GA activity 326
9.12 Chapter summary 328
Chapter 10: OLAS use case modeling 331
10.1 Chapter contents 332
10.2 The first-cut use case model 333
10.3 Avoiding analysis paralysis in use case modeling 333
10.4 How to produce the first-cut use case model 334
10.5 Creating a use case model for OLAS 338
10.6 Using Generative AI in use case modeling 350
10.7 Patterns in use case modeling: CRUD 350
10.8 Structuring the use case model 351
10.9 The homonym problem 353
10.10 Common mistakes in use case modeling 358
10.11 Next steps in Generative Analysis of OLAS 359
10.12 Chapter summary 359
Chapter 11: The Administration subsystem 361
11.1 Introduction 361
11.2 Chapter contents 362
11.3 Elaborating the Administration subsystem 363
11.4 Writing CRUD use cases 364
11.5 Administration: Create 364
11.6 Administration: Read 383
11.7 Administration: Update 387
11.8 Administration: Delete 393
11.9 Administration use cases wrap-up 395
11.10 Use case realization for the Administration use cases 399
11.11 Creating a class diagram 417
11.12 Administration wrap-up 420
11.13 Generating a behavioral prototype 420
11.14 Chapter summary 433
Chapter 12: The Security subsystem 435
12.1 Introduction 435
12.2 Chapter contents 436
12.3 The Security subsystem 436
12.4 OLAS security policy 437
12.5 LogOn use case specification 439
12.6 UnfreezeAccount use case specification 445
12.7 LogOff use case specification 445
12.8 Use case realization for the Security subsystem 447
12.9 Creating sequence diagrams 448
12.10 Chapter summary 455
Chapter 13: The Catalog subsystem 457
13.1 Introduction 457
13.2 Chapter contents 459
13.3 The Normal and Restricted Collections 460
13.4 Modeling the Normal and Restricted Catalogs 461
13.5 The Type/Instance pattern 469
13.6 Type/Instance: Elements Similar for the OLAS catalogs 475
13.7 Creating a class model for the catalogs 476
13.8 The NormalCatalog subsystem use case model 486
13.9 Reuse with modification strategy for the RestrictedCatalog subsystem 504
13.10 The RestrictedCatalog subsystem use case model 505
13.11 Generative AI for use case realization 511
13.12 Catalog subsystem wrap-up 511
13.13 Chapter summary 514
Chapter 14: The Loan subsystem 515
14.1 Introduction 515
14.2 Chapter contents 516
14.3 Loan subsystem CRUD analysis 516
14.4 What is a loan? 517
14.5 Loan subsystem: Create 521
14.6 State machines for the Loan subsystem 530
14.7 Loan subsystem: Read 532
14.8 Fines 536
14.9 OLASUser class state machine 542
14.10 Loan subsystem: Update 546
14.11 Loan subsystem: Delete 546
14.12 Library vacations 551
14.13 LibraryVacation: Use case model 552
14.14 Trust no one 558
14.15 Loan subsystem wrap-up 564
14.16 Chapter summary 564
Chapter 15: The Innsmouth interface 567
15.1 Introduction 567
15.2 Chapter contents 567
15.3 Exchanging catalog information 568
15.4 How should the catalog sharing be handled in OLAS? 575
15.5 Updating the InnsmouthInterface use case model 577
15.6 Getting the Gilman Catalog 577
15.7 Generating the OLAS export mechanism for the restrictedCatalog 589
15.8 Innsmouth interface wrap-up 594
15.9 Chapter summary 594
Chapter 16: Milton++ 595
16.1 Introduction 595
16.2 Chapter contents 596
16.3 Communication trances 598
16.4 Rapport 601
16.5 Your unconscious mind 604
16.6 Trance and Generative AI 607
16.7 The Milton Model and Milton++ 615
16.8 Distortion, deletion, and generalization in Milton++ 616
16.9 Distortion 617
16.10 Deletion 622
16.11 Generalization 629
16.12 Chapter summary 634
Summary 635
Bibliography 637
Index 641