Book description
Learn a new method of object-oriented analysis called generative analysis and keep your skill-set on pace with how generative AI is transforming the face of software engineering
Generative AI is revolutionizing many industries, including 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 to 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 precise and structured, 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.
Generative analysis artifacts feed generative AIs to generate code and UML models
Techniques feed into and refine each other until a precise analysis definition of a software system is achieved
Well-defined process has definite milestones and end points to eliminate "analysis paralysis"
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.
Table of contents
- Cover Page
- Title Page
- Contents
- Table of Contents
- Preface
- About the Authors
-
Chapter 1: Generative Analysis for Generative AI
- 1.1 Introduction
- 1.2 Chapter contents
- 1.3 Communication and Neuro Linguistic Programming (nlp)
- 1.4 Abstraction
- 1.5 Finding the right level of abstraction for Generative AI
- 1.6 Choice of Generative AI
- 1.7 Applying Generative AI to an example problem domain
- 1.8 Modeling in Generative Analysis
- 1.9 Chapter Summary
-
Chapter 2: Launching OLAS, the example project
- 2.1 Introduction
- 2.2 Chapter contents
- 2.3 OLAS - the problem domain
- 2.4 Software engineering processes
- 2.5 The Unified Process (UP)
- 2.6 P structure
- 2.7 UP workflows
- 2.8 UP phases
- 2.9 The UP Phases in the world of Generative AI
- 2.10 The OLAS inception phase
- 2.11 The OLAS Vision Statement
- 2.12 Keep all documents as concise as possible
- 2.13 Chapter summary
-
Chapter 3: Capturing information in Generative Analysis
- 3.1 Introduction
- 3.2 Chapter contents
- 3.3 Capturing informal, unstructured information
- 3.4 Mind Mapping
- 3.5 Concept Mapping
- 3.6 Dialog Mapping
- 3.7 Antipatterns in Mapping meetings
- 3.8 Generative AI and Mapping meetings
- 3.9 Structured writing
- 3.10 Structured Documents
- 3.11 Principles for structuring information
- 3.12 Structured Writing example
- 3.13 Complexity vs. profundity?
- 3.14 Chapter Summary
- Chapter 4: OLAS Elaboration Phase
-
Chapter 5: Communication
- 5.1 Introduction
- 5.2 Chapter contents
- 5.3 Communication in Generative Analysis
- 5.4 Flexibility is the key to excellent communication
- 5.5 Semiotics and the structure of meaning
- 5.6 Ontology
- 5.7 Metaphor
- 5.8 Constructing the Generative Analysis model of human communication
- 5.9 The Generative Analysis communication model
- 5.10 Chapter summary
- Chapter 6: M++
-
Chapter 7: Literate Modeling
- 7.1 Introduction
- 7.2 Chapter contents
- 7.3 Limitations of visual models as conveyors of meaning
- 7.4 The solution—Literate Modeling
- 7.5 Creating a Business Context Document (BCD)
- 7.6 Structure of the BCD
- 7.7 Learn Literate Modeling by example
- 7.8 Leveraging Generative AI for Literate Modeling
- 7.9 Integrating engineered prompts with BCDs
- 7.10 Chapter summary
- Chapter 8: Information in Generative Analysis
-
Chapter 9: Generative Analysis by Example
- 9.1 Introduction
- 9.2 Chapter contents
- 9.3 How to perform Generative Analysis
- 9.4 Identifying the Information types
- 9.5 Semantic highlighting
- 9.6 Finding Resources using Generative AI
- 9.7 Finding Terms
- 9.8 Key Statement analysis
- 9.9 Line-by-line Generative Analysis of the OLAS Vision Statement
- 9.10 Publishing your Generative Analysis results
- 9.11 Controlling the GA activity
- 9.12 Chapter summary
-
Chapter 10: Use case modeling OLAS
- 10.1 Chapter contents
- 10.2 The first-cut use case model
- 10.3 Avoiding analysis paralysis in use case modeling
- 10.4 How to produce the first-cut use case model
- 10.5 Use case modelling OLAS
- 10.6 Using Generative AI in use case modelling
- 10.7 Patterns in use case modelling - CRUD
- 10.8 Structuring the use case model
- 10.9 The homonym problem
- 10.10 Common mistakes in use case modeling
- 10.11 Next steps in Generative Analysis of OLAS
- 10.12 Chapter summary
-
Chapter 11: The Administration Subsystem
- 11.1 Introduction
- 11.2 Chapter contents
- 11.3 Elaborating the Administration subsystem
- 11.4 Writing CRUD use cases
- 11.5 Administration: Create
- 11.6 Administration: Read
- 11.7 Administration: Update
- 11.8 Administration: Delete
- 11.9 Administration use cases wrap up
- 11.10 Use case realization for the Administration use cases
- 11.11 Creating a class diagram
- 11.12 Administration wrap-up
- 11.13 Generating a behavioural prototype
- 11.14 Chapter Summary
-
Chapter 12: The Security subsystem
- 12.1 Introduction
- 12.2 Chapter contents
- 12.3 The Security subsystem
- 12.4 OLAS security policy
- 12.5 LogOn use case specification
- 12.6 UnfreezeAccount use case specification
- 12.7 LogOff use case specification
- 12.8 Use case realization for the Security subsystem
- 12.9 Creating sequence diagrams
- 12.10 Chapter summary
-
Chapter 13: The Catalog subsystem
- 13.1 Introduction
- 13.2 Chapter contents
- 13.3 The Normal and Restricted Collections
- 13.4 Modeling the Normal and Restricted Catalogs
- 13.5 The Type/Instance pattern
- 13.6 Type/Instance: Elements Similar for the OLAS catalogs
- 13.7 Creating a class model for the catalogs
- 13.8 The NormalCatalog subsystem use case model
- 13.9 Reuse with modification strategy for the RestrictedCatalog subsystem
- 13.10 The RestrictedCatalog subsystem use case model
- 13.11 Generative AI for use case realization
- 13.12 Catalog subsystem wrap-up
- 13.13 Chapter Summary
-
Chapter 14: The Loan subsystem
- 14.1 Introduction
- 14.2 Chapter contents
- 14.3 The Loan subsystem CRUD analysis
- 14.4 What is a loan?
- 14.5 Loan subsystem: Create
- 14.6 State machines for the Loan subsystem
- 14.7 Loan subsystem: Read
- 14.8 Fines
- 14.9 OLASUser class state machine
- 14.10 Loan subsystem: Update
- 14.11 Loan subsystem: Delete
- 14.12 Library vacations
- 14.13 LibraryVacation: Use case model
- 14.14 Trust no one
- 14.15 Loan subsystem wrap-up
- 14.16 Chapter Summary
-
Chapter 15: The Innsmouth interface
- 15.1 Introduction
- 15.2 Chapter contents
- 15.3 Exchanging catalog information
- 15.4 How should the catalog sharing be handled in OLAS?
- 15.5 Updating the InnsmouthInterface use case model
- 15.6 Getting the Gilman Catalog
- 15.7 Generating the OLAS export mechanism for the restrictedCatalog
- 15.8 The Innsmouth Interface wrap-up
- 15.9 Chapter summary
-
Chapter 16: Milton++
- 16.1 Introduction
- 16.2 Chapter contents
- 16.3 Communication trances
- 16.4 Rapport
- 16.5 Your unconscious mind
- 16.6 Trance and Generative AI
- 16.7 The Milton Model and Milton++
- 16.8 Distortion, deletion, and generalization in Milton++
- 16.9 Distortion
- 16.10 Deletion
- 16.11 Generalization
- 16.12 Chapter summary
- Summary
- Bibliography
Product information
- Title: Generative Analysis: The Power of Generative AI for Object-Oriented Software Engineering with UML
- Author(s):
- Release date: July 2024
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780138291303
You might also like
book
Machine Learning Design Patterns
The design patterns in this book capture best practices and solutions to recurring problems in machine …
book
Generative AI with LangChain
2024 Edition – Get to grips with the LangChain framework to develop production-ready applications, including agents …
book
Architecture Patterns with Python
As Python continues to grow in popularity, projects are becoming larger and more complex. Many Python …
book
Learning Algorithms
When it comes to writing efficient code, every software professional needs to have an effective working …