educe, v.t.; to bring or draw out; to elicit; to evolve.
-- Webster's New Twentieth Century Dictionary - Unabridged - 2nd Edition
Software development methodologies
In this regard, OO methods are no better than structured methods.
People collaborate to specify and build software systems. See the associated software process model.
|
||
|
All participants need to share a common understanding, conceptual
models of both
the problem domain and how software solves the domain
problems.
The importance of effective communication between participants cannot be
overstated.
The quality of the communication between people determines their
commonality
Commonality ultimately determines the quality of the resulting software solution
The table below outlines the process steps and the results they produce. Note that the same process applies to both domain and usage analysis. See the associated analysis process diagrams. Note that some semantic explorations may enable certain kinds of syntactic normalization, and vice-versa. Thus, those two steps in the process may interact to create a useful conceptual model.
Process Step | Description | Product(s) |
Domain Elicitation Usage Elicitation |
Record discussions with domain experts Record discussions with usage stakeholders |
Initial Domain/Usage Narrative |
Syntactic Normalization | Simplify the syntax of domain/usage statements | Normalized Domain/Usage Statements |
Semantic Exploration | Refine the model through semantic analysis | Alternate Domain/Usage Statements Augmented Domain/Usage Statements |
Semantic Organization | Find stable domain/usage concepts and predicates | Stable Domain/Usage Vocabulary + Initial Conceptual Models |
Model Validation | Verify the conceptual models | Validated Conceptual Models + Validated Domain/Usage Vocabulary |
Model Integration | Develop an integrated overview | Integrated Domain/Usage Models + Regenerated Domain/Usage Narrative |
As an extensive example of this process, consider one of the problems used in the HP Fusion course - ECO Storage Depot. Also, you may find some background discussions on models interesting.
Domain/Usage Elicitation - Record discussions with domain experts or usage stakeholders
Syntactic Normalization - Simplify the syntax of domain/usage statements
Semantic Exploration - Refine the model through semantic analysis
Semantic Organization - Find stable domain/usage concepts and predicates
Model Validation - Verify models with feedback from domain experts and usage stakeholders
Model Integration - Develop an integrated overview