Generative Analysis: The Power of Generative AI for Object-Oriented Software Engineering with UML

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

  1. Cover Page
  2. Title Page
  3. Contents
  4. Table of Contents
  5. Preface
    1. About this book
    2. Who this book is for
  6. About the Authors
  7. Chapter 1: Generative Analysis for Generative AI
    1. 1.1 Introduction
    2. 1.2 Chapter contents
    3. 1.3 Communication and Neuro Linguistic Programming (nlp)
    4. 1.4 Abstraction
    5. 1.5 Finding the right level of abstraction for Generative AI
    6. 1.6 Choice of Generative AI
    7. 1.7 Applying Generative AI to an example problem domain
    8. 1.8 Modeling in Generative Analysis
    9. 1.9 Chapter Summary
  8. Chapter 2: Launching OLAS, the example project
    1. 2.1 Introduction
    2. 2.2 Chapter contents
    3. 2.3 OLAS - the problem domain
    4. 2.4 Software engineering processes
    5. 2.5 The Unified Process (UP)
    6. 2.6 P structure
    7. 2.7 UP workflows
    8. 2.8 UP phases
    9. 2.9 The UP Phases in the world of Generative AI
    10. 2.10 The OLAS inception phase
    11. 2.11 The OLAS Vision Statement
    12. 2.12 Keep all documents as concise as possible
    13. 2.13 Chapter summary
  9. Chapter 3: Capturing information in Generative Analysis
    1. 3.1 Introduction
    2. 3.2 Chapter contents
    3. 3.3 Capturing informal, unstructured information
    4. 3.4 Mind Mapping
    5. 3.5 Concept Mapping
    6. 3.6 Dialog Mapping
    7. 3.7 Antipatterns in Mapping meetings
    8. 3.8 Generative AI and Mapping meetings
    9. 3.9 Structured writing
    10. 3.10 Structured Documents
    11. 3.11 Principles for structuring information
    12. 3.12 Structured Writing example
    13. 3.13 Complexity vs. profundity?
    14. 3.14 Chapter Summary
  10. Chapter 4: OLAS Elaboration Phase
    1. 4.1 Introduction
    2. 4.2 Chapter contents
    3. 4.3 Concept Mapping OLAS
    4. 4.4 Creating a first-cut logical architecture
    5. 4.5 Using Generative AI to kick-start the OLAS Logical Architecture
    6. 4.6 How to validate the First-Cut Logical Architecture
    7. 4.7 Chapter Summary
  11. Chapter 5: Communication
    1. 5.1 Introduction
    2. 5.2 Chapter contents
    3. 5.3 Communication in Generative Analysis
    4. 5.4 Flexibility is the key to excellent communication
    5. 5.5 Semiotics and the structure of meaning
    6. 5.6 Ontology
    7. 5.7 Metaphor
    8. 5.8 Constructing the Generative Analysis model of human communication
    9. 5.9 The Generative Analysis communication model
    10. 5.10 Chapter summary
  12. Chapter 6: M++
    1. 6.1 Introduction
    2. 6.2 Chapter contents
    3. 6.3 The nlp Meta Model and M++
    4. 6.4 The M++ pattern template
    5. 6.5 Deletion
    6. 6.6 Generalization
    7. 6.7 Distortion
    8. 6.8 More about propositional functions
    9. 6.9 Using M++ in Generative Analysis
    10. 6.10 Key points for applying M++
    11. 6.11 Summary
  13. Chapter 7: Literate Modeling
    1. 7.1 Introduction
    2. 7.2 Chapter contents
    3. 7.3 Limitations of visual models as conveyors of meaning
    4. 7.4 The solution—Literate Modeling
    5. 7.5 Creating a Business Context Document (BCD)
    6. 7.6 Structure of the BCD
    7. 7.7 Learn Literate Modeling by example
    8. 7.8 Leveraging Generative AI for Literate Modeling
    9. 7.9 Integrating engineered prompts with BCDs
    10. 7.10 Chapter summary
  14. Chapter 8: Information in Generative Analysis
    1. 8.1 Introduction
    2. 8.2 Chapter contents
    3. 8.3 Conversations with Generative AI
    4. 8.4 The Generative Analysis Information Model
    5. 8.5 Classifying information
    6. 8.6 Information
    7. 8.7 Resource
    8. 8.8 Question
    9. 8.9 Proposition
    10. 8.10 Idea
    11. 8.11 Requirement
    12. 8.12 Term
    13. 8.13 Chapter summary
  15. Chapter 9: Generative Analysis by Example
    1. 9.1 Introduction
    2. 9.2 Chapter contents
    3. 9.3 How to perform Generative Analysis
    4. 9.4 Identifying the Information types
    5. 9.5 Semantic highlighting
    6. 9.6 Finding Resources using Generative AI
    7. 9.7 Finding Terms
    8. 9.8 Key Statement analysis
    9. 9.9 Line-by-line Generative Analysis of the OLAS Vision Statement
    10. 9.10 Publishing your Generative Analysis results
    11. 9.11 Controlling the GA activity
    12. 9.12 Chapter summary
  16. Chapter 10: Use case modeling OLAS
    1. 10.1 Chapter contents
    2. 10.2 The first-cut use case model
    3. 10.3 Avoiding analysis paralysis in use case modeling
    4. 10.4 How to produce the first-cut use case model
    5. 10.5 Use case modelling OLAS
    6. 10.6 Using Generative AI in use case modelling
    7. 10.7 Patterns in use case modelling - CRUD
    8. 10.8 Structuring the use case model
    9. 10.9 The homonym problem
    10. 10.10 Common mistakes in use case modeling
    11. 10.11 Next steps in Generative Analysis of OLAS
    12. 10.12 Chapter summary
  17. Chapter 11: The Administration Subsystem
    1. 11.1 Introduction
    2. 11.2 Chapter contents
    3. 11.3 Elaborating the Administration subsystem
    4. 11.4 Writing CRUD use cases
    5. 11.5 Administration: Create
    6. 11.6 Administration: Read
    7. 11.7 Administration: Update
    8. 11.8 Administration: Delete
    9. 11.9 Administration use cases wrap up
    10. 11.10 Use case realization for the Administration use cases
    11. 11.11 Creating a class diagram
    12. 11.12 Administration wrap-up
    13. 11.13 Generating a behavioural prototype
    14. 11.14 Chapter Summary
  18. Chapter 12: The Security subsystem
    1. 12.1 Introduction
    2. 12.2 Chapter contents
    3. 12.3 The Security subsystem
    4. 12.4 OLAS security policy
    5. 12.5 LogOn use case specification
    6. 12.6 UnfreezeAccount use case specification
    7. 12.7 LogOff use case specification
    8. 12.8 Use case realization for the Security subsystem
    9. 12.9 Creating sequence diagrams
    10. 12.10 Chapter summary
  19. Chapter 13: The Catalog subsystem
    1. 13.1 Introduction
    2. 13.2 Chapter contents
    3. 13.3 The Normal and Restricted Collections
    4. 13.4 Modeling the Normal and Restricted Catalogs
    5. 13.5 The Type/Instance pattern
    6. 13.6 Type/Instance: Elements Similar for the OLAS catalogs
    7. 13.7 Creating a class model for the catalogs
    8. 13.8 The NormalCatalog subsystem use case model
    9. 13.9 Reuse with modification strategy for the RestrictedCatalog subsystem
    10. 13.10 The RestrictedCatalog subsystem use case model
    11. 13.11 Generative AI for use case realization
    12. 13.12 Catalog subsystem wrap-up
    13. 13.13 Chapter Summary
  20. Chapter 14: The Loan subsystem
    1. 14.1 Introduction
    2. 14.2 Chapter contents
    3. 14.3 The Loan subsystem CRUD analysis
    4. 14.4 What is a loan?
    5. 14.5 Loan subsystem: Create
    6. 14.6 State machines for the Loan subsystem
    7. 14.7 Loan subsystem: Read
    8. 14.8 Fines
    9. 14.9 OLASUser class state machine
    10. 14.10 Loan subsystem: Update
    11. 14.11 Loan subsystem: Delete
    12. 14.12 Library vacations
    13. 14.13 LibraryVacation: Use case model
    14. 14.14 Trust no one
    15. 14.15 Loan subsystem wrap-up
    16. 14.16 Chapter Summary
  21. Chapter 15: The Innsmouth interface
    1. 15.1 Introduction
    2. 15.2 Chapter contents
    3. 15.3 Exchanging catalog information
    4. 15.4 How should the catalog sharing be handled in OLAS?
    5. 15.5 Updating the InnsmouthInterface use case model
    6. 15.6 Getting the Gilman Catalog
    7. 15.7 Generating the OLAS export mechanism for the restrictedCatalog
    8. 15.8 The Innsmouth Interface wrap-up
    9. 15.9 Chapter summary
  22. Chapter 16: Milton++
    1. 16.1 Introduction
    2. 16.2 Chapter contents
    3. 16.3 Communication trances
    4. 16.4 Rapport
    5. 16.5 Your unconscious mind
    6. 16.6 Trance and Generative AI
    7. 16.7 The Milton Model and Milton++
    8. 16.8 Distortion, deletion, and generalization in Milton++
    9. 16.9 Distortion
    10. 16.10 Deletion
    11. 16.11 Generalization
    12. 16.12 Chapter summary
  23. Summary
  24. Bibliography

Product information

  • Title: Generative Analysis: The Power of Generative AI for Object-Oriented Software Engineering with UML
  • Author(s): Jim Arlow, Ila Neustadt
  • Release date: July 2024
  • Publisher(s): Addison-Wesley Professional
  • ISBN: 9780138291303