From the course: Generative Analysis: The Power of Generative AI for Object-Oriented Software Engineering with UML by Pearson
Generative analysis evolution and purpose - Unified Modeling Language (UML) Tutorial
From the course: Generative Analysis: The Power of Generative AI for Object-Oriented Software Engineering with UML by Pearson
Generative analysis evolution and purpose
The idea of generative analysis really started with our previous book Enterprise Patterns and MDA. MDA means model-driven architecture. In that book we presented techniques for code generation and more importantly, a set of very detailed archetype patterns that solve many common business problems. If you're not familiar with it, the idea of a pattern is very simple. It's been like a recipe, a set of instructions for creating something. Archetype patterns are a bit more complicated because, amongst other things, they allow for pattern variation and are therefore technically meta-patterns patterns that create patterns. We'll say more about that later. The archetype patterns have been very successful and have found themselves embedded in many business and many academic papers. In short, they work. Generative Analysis is the name we gave to the set of tools and techniques we used to to create those patterns In the context of generative AI,. What is special about archetype patterns is that while they are abstract analysis patterns that are readily understandable by business people, they are concrete enough to generate source code. To achieve this, we defined a very specific level of abstraction that crosses the boundary between business analysis and code generation. To achieve this, they are packaged as a literal model, which is a precise narrative that describes the pattern in text. This is exactly what we need as input to generative AI code generators. As we will see, We think that how we create the patterns is much more important than the patterns themselves. Generative analysis is a set of tools and techniques that allow you to create very precise narratives that describe software systems in sufficient detail to generate code and other artifacts. Clearly this is a natural fit with the new generative AI code generators. We find it amusing that the word generative is used for both the AIS and the analysis technique. We certainly didn't plan this because when we first coined the term generative analysis in 2010, we had not even heard of generative AI, as the term was first widely used around 2014. Generative analysis was actually inspired by generative programming, which is about automating the production of software systems by generating them from high-level specifications. As soon as we saw what the generative AIS could do on what the future of software engineering is going to look like, we realized that 2023 was the right time to share generative analysis with a wider audience. Whoever you are, the purpose of this book is to teach you generative analysis. If you're a programmer concerned about your future, generative analysis will enable you to work and think as a high-level abstraction,. Ready for this future? You may find this shift in levels challenging. If you're a business analyst, you may well be used to working at a high level of abstraction already, but currently that level is likely to be just out of reach of generative AI. You will not necessarily have to learn to think at a lower level of abstraction, but you will have to learn to be much more precise. Really, the ideal mindset is somewhere between those of the programmer and the business analyst. An almost excruciating level of attention to detail, but the ability to think and work at a high level of abstraction. Some people think that these two things are mutually exclusive, but they are not and never have been. The best models are abstract and precise, as we have demonstrated in Enterprise Patterns and MDA. The good news is that both programmers and analysts already have many of the requisite skills and attitudes, even though each comes at the problem from a different direction. If you are a student, welcome. Your future will be challenging and exciting, It always is. We hope that you enjoy and benefit from whatever aspects of this book are incorporated into your curriculum. This book can enable you to learn new ways of thinking that should stand you in good stead in the future, because a flexible mind is the key.