7. Introduction to Analysis and Modeling
DE + IA (INFO 243) - 7 February 2007
Bob Glushko
Plan for Today's Class
- Models and modeling
- The classical modeling approach
- Modeling for analysis; physical models
- Modeling for design; conceptual models
- Real-world and pseudo-real-world modeling
- Methodologies for modeling
- Discussion of Assignment 1
Not A Model of Wonton Soup
What is a Model?
- Models are simplified descriptions of a subject that abstract from its complexity to emphasize some features or characteristics while intentionally de-emphasizing others
- Models enable us to describe and communicate systems regardless of
the specific domain or discipline that they represent
- A model can represent a human activity, a natural system,
or a designed system
- We can model structures – objects, their characteristics, their static relationships with
each other like hierarchy, and reference
- We can model functions, processes, behaviors – dynamic activities that create and affect structures
Recipes as Everyday Models
- A recipe describes both objects and structures (ingredients) and the processes (instructions)
for creating a food dish
- Important characteristics and uses of the recipe model are:
- You can FOLLOW the recipe to create the dish
- You can COMMUNICATE the recipe to someone else
who can then create the same dish
- You can use the recipe as a GUIDE FOR EXPERIMENTATION
with the objects or the processes in the recipe to create alternative dishes
"Static" or "Structure" Recipe Model: The Ingredients
"Dynamic" or "Process" Recipe Model: The Instructions
The Classical Modeling Approach
External View of Wonton Soup
Physical Modeling for Analysis [1]
- The primary purpose of modeling is to better understand some existing
system or environment and its entities ("the things that exist in it that contain or embody relevant information") and to describe this understanding so it can be communicated
- Models of things as they currently exist are Physical or As-Is models
- This modeling activity is usually called "systems analysis" or simply "analysis"
- A basic task of modeling for analysis is capturing the languages and practices of the people who work with the instances and artifacts in the "real world"
Physical Modeling for Analysis [2]
- Any system (especially business ones) has groups of stakeholders who do not fully
understand the "big picture" – an analysis model can be used to prevent or repair misunderstandings
- A physical model synthesizes different views or observations into a more complete or generic perspective that accurately accounts for all of them
Physical View of Wonton Soup
Conceptual Modeling for Design or Re-Design [1]
- The next purpose of modeling is to assist in the design or re-design of a system or set of artifacts
- This modeling activity is usually called "systems design" or simply "design"
- Models of things as they could be are Conceptual or To-Be models
- Design abstracts away or generalizes from the technology and implementation details in the physical model to create a conceptual model
Conceptual Modeling for Design or Re-Design [2]
- A conceptual model that is implementation-independent is often easier to talk about than one that is encoded in a specific technology context
- When technologies change, the implementation model may change but the conceptual model won't.
- When implementations in different technologies are based on the same conceptual models, they can more readily understood because of their common conceptual components.
Conceptual View of Wonton Soup
Using Conceptual Models
- Objects can be manipulated as conceptual components without impacting the real world that they describe, or in ways that are impossible in the real world
- This encourages the re-use of common components via
standardization, patterns and libraries
- It facilitates the rationalization of components and the removal of redundancies and inefficiencies
The Modeling Gaps
- There is an essential difference or gap between the real world being modeled and any models of it,
or else the models would serve no purpose
- Likewise, there is always a gap between a physical model and a conceptual
model, because an analysis model is often most useful when it isn't tied to specific
or feasible implementations or technologies
- But this means we can sometimes see what the current world looks like
and what we would like it to be without being able to see how to get from one to the other
- Put a different way, this means that models can be designed that are
impossible to implement
Implementing a Conceptual Model as a Physical One
- A model is purely theoretical until it is encoded in a technology that lets it operate in the real world again.
- This is often a two-stage process: encoding conceptual models as physical ones, and then applying transformations to create instances with desired properties (e.g., implementing / formatting / rendering in some concrete medium / syntax / technology)
- When instances implemented in different technologies are generated or re-generated from models, they can more readily interoperate because of their common conceptual components
Applying the New Conceptual Model of Wonton Soup
Adapting the Classical Modeling Approach to Document Engineering [1]
- In Document Engineering context we can analyze a domain and analyze its entities and their processes or behaviors as we would in any other modeling activity
- But what we generally care more about is the information or intangible content about the entities in the domain
- Or put another way, we only model those entities and their properties that convey information that is relevant
- So we are more likely to engage in "pseudo-real-world" modeling than "real-world-modeling"
Real-World Modeling of a Library System
Pseudo-Real-World Modeling of a Library System
So We Model the Information, not the Things
Document Instances are External Views
Physical Model Encoded as XML Schema
Conceptual Model Encoded as XML Schema
Methodologies – Disciplines for Modeling [1]
- When we create a model we follow – implicitly or explicitly – some steps or techniques for analysis, design, and implementation
- This is called the modeling methodology
- Methodologies can be formal, prescriptive, step-by-step, documented and auditable or they can
be the opposite: informal, ad hoc, "seat of the pants" with no trace other than the model artifact itself
Sequential, Iterative, and Artifact-Centered Methodologies
- A methodology's process describes the work to be done and the order in which it is to be done (the modeling workflow)
- Many methodologies prescribe a Sequential process -- the "waterfall" model
- Other methodologies are more iterative or recursive -- like the "spiral" model of progressive refinement or "agile" modeling
- Other methodologies are looser about the modeling activities but emphasize the results that must be obtained at each step or phase
Methodologies – Disciplines for Modeling [2]
- A methodology can contain or define:
- Meta-models
- Processes / Activities / Steps
- Notations
- Tools
- and how these are applied or fit together to produce:
Recurring Themes in the News Stories and Case Studies
- Standards for information components and document types to enable validation and reuse
- Automation and integration of information systems; creating the "paperless {office, factory, ...}
- Tracking and traceability of things, people, information; security and privacy concerns
- Legacy technologies, people, and organizational models
- Co-evolution of technology and process; technology per se not the key contributor to business value
- Conflict or different perspectives by the participants / stakeholders
Readings for 12 February
- Chapter 7 of Document Engineering