Topic: data-driven design

topics > computer science > programming > Group: program design


automated testing
business application language
CADES structural modeling with holons
design for change
data flow languages
database as a model of reality
descriptive languages
entity-relationship database model
I/O streams
programming with data
semantic grammar
state machine
top-down vs. bottom-up design


Data-driven design starts with data stream or data entities, and designs functions to manipulate the data. These functions will reflect the structure of the data, without assuming the existence of other data items.

Data entities can organize as a hierarchy with each layer using the next lower layer and sometimes the current layer.

Data-driven design encourages realistic solutions which are easily modified.

Some examples of data-driven design methods are Jackson's design method, Warnier-Orr Diagrams, and CADES' Structural Modeling. (cbb 6/83)

Subtopic: program as model up

Quote: a software engineer creates models of physical situations in software [»fairRE_1985]
Quote: a program's processes can model entities if their structures are based on the grammars for input and output data streams [»jackMA5_1976]
Quote: data structures model the problem environment; good foundation from program structures [»jackMA_1975]
Quote: instead of designing a system by its functions should view it as a model of reality [»jackMA5_1976]
Quote: model the world as a network of processes, one for each entity, communicating and synchronizing by serial data streams [»jackMA5_1976]
Quote: if program's processes model entities, the program's activity corresponds to the entity's actual activity [»jackMA5_1976]

Subtopic: data for design decisions up

Quote: require data for resolving design issues; establish a data-driven culture; data forces the right questions [»colwRP_2006]

Subtopic: data-driven design up

Quote: AED is a system for problem solving by lexical, parsing, modeling, and analysis phases; machine and language independence by changing the control information for each phase [»rossDT_1967]
Quote: programming by data organization: decide on modules and partition program to hide data in modules [»stroB5_1989]
Quote: data-driven design starts with the input data; avoids the unlimited wish list of functional design [»joneTC4_1979b]
Quote: define your variables and their logical relationships before using them [»grieD_1981]
Quote: a brief data structure description or half-page diagram was more helpful than detailed pseudocode or detailed flowchart [»shneB1_1982]
Quote: an iteration of data records prevents the expression of important relationships between records [»jackMA_1975]
Quote: many programs become an iteration over data records; this is wrong [»jackMA_1975]

Subtopic: result-oriented design up

Quote: design a survey by first agreeing on what the result tabulations should look like [»joneTC4_1979b]
Quote: data-driven design from output to input often works better then working from front to back [»joneTC4_1979b]

Subtopic: data-driven hierarchy up

Quote: determine the hierarchical structure of a program from the input data [»warnJD_1974]
Quote: subdivide an input data set when sub-sets are repeated; write down the input order [»warnJD_1974]
Quote: design hierarchically with repetitive and alternative structures; clear organization, economical, easier debugging and maintenance [»warnJD_1974]

Subtopic: state-driven program up

Quote: Cleanroom's state-box view defines system responses in terms of state data and the current stimuli; data-driven, captures stimuli history [»cobbRH11_1990]

Subtopic: abstract data type up

Quote: programming by abstract data types: decide on types and define a full set of operations for each type [»stroB5_1989]

Subtopic: data streams up

Quote: data-driven programs simplify correctness proofs, use data streams instead of elements; queuing-network analysis, and microcomputer networks [»dennPJ_1980]

Subtopic: data flow up

Quote: system designers like data flow diagrams for communication and system documentation; easy to construct [»bansJP4_1993]
Quote: Structured Analysis tools include data flow diagrams, dictionaries, decision tables, and structured English

Subtopic: data structures vs. functions up

Quote: design code for manipulation of data structures instead of designing data structures for functional codifications [»pearDJ7_1973]
Quote: with a functional design it is difficult to determine the cost of making a change [»jackMA5_1976]

Subtopic: data structure up

Quote: a data structure should contain all relationships relevant to the program [»jackMA_1975]
Quote: a data structure reflects the problem; this includes error handling [»jackMA_1975]
Quote: both accessing and modifying a data structure can be associated with its components [»jackMA_1975]

Subtopic: Jackson design method up

Quote: Jackson describes a problem by its grammar which becomes a model for its solution as a program
Quote: a data stream is described by a producing grammar and a consuming grammar which both describe the same result [»jackMA5_1976]
Quote: Jackson specifies a program as an LL(1) parser for a problem's grammar; allows optional backtracking [»hehnEC3_1983]
Quote: program by writing a grammar and embedding processing within the grammar [»hehnEC3_1983]
Quote: JSD first models the external events, their associated attributes and mutual orderings [»cameJR2_1986]
Quote: instead of using end-of-file, introduce end-of-day markers to initiate once a day processing [»jackMA5_1976]

Subtopic: CADES up

Quote: CADES formal design describes interaction of holons and how they manipulate data items [»pearDJ7_1973]
Quote: in a good CADES design, each holon manipulates a small subset of data items provided by its parent holon [»pearDJ7_1973]
Quote: stage two of CADES structural modeling is designing the data structures [»pearDJ7_1973]
Quote: stage three of CADES structural modeling is defining the system's levels and functions [»pearDJ7_1973]
Quote: stage four of CADES structural modeling is defining a holon tree [»pearDJ7_1973]
Quote: stage five of CADES structural modeling is narrative descriptions of each holon which relate it to other holons

Related Topics up

Group: data   (140 topics, 3126 quotes)

Topic: automated testing (25 items)
Topic: business application language (11 items)
Topic: CADES structural modeling with holons (24 items)
Topic: design for change (76 items)
Topic: data flow languages (33 items)
Topic: database as a model of reality (25 items)
Topic: descriptive languages (22 items)
Topic: entity-relationship database model (22 items)
Topic: I/O streams (17 items)
Topic: programming with data (16 items)
Topic: semantic grammar (23 items)
Topic: state machine (67 items)
Topic: top-down vs. bottom-up design
(30 items)

Updated barberCB 2/06
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.