some great tools for data modeling and analysis
but when it comes to keeping things simple it
is hard to beat the basic data flow diagram.
This is not a data flow diagram tutorial but
we can say how the diagrams improve your designs.
First of all remember a program consists of two
things, data and algorithms. So to understand
a program we have to understand the origin of
our data and what we are doing with it.
A complete example of a data flow diagram helps
our embedded software design work several ways:
1. Maps out the flow of data from process beginning
2. Segments data flow into logical processes
3. Helps to define data structures
4. Helps to efficiently define program functions
5. Avoids redundancy of program functions
6. Highlights missing data
7. Tests against the original requirements
8. Helps to keep your flow charts on the same
Control extensions can be used with real time
systems or in certain situations where we need
to demonstrate how the data is controlled.
Data flow diagrams can be modeled at different
levels of abstraction, where the lowest level
is at program function level and the highest level
is at library component level. With new development
work, lower level functionality is sometimes unknown,
and needs to be determined! So we start with a
top down approach and figure out the lower levels
as we go.
Not every single project is modeled but it does
help to define customer requirements, scope of
project, and the executive view of the embedded
software system, architectural design.