Real-Time Systems Development

Traditional SA/SD methods need extending to deal with real-time systems and multi-tasking implementations. Splitting a project into concurrent tasks during the preliminary phase of systems design can be difficult. A few guidelines can be offered to assist with this activity. Task diagrams can provide a good system overview by expressing task functions and communication channels. When dealing with multi-tasking software, there are some special requirements to be kept in mind when selecting languages and compilers.
All software designers need guidelines, derived from the functional specification, which will shape the emerging software structure. In this vein, the Jackson Structured Programming (JSP) method proposes that the static patterns of input and output data files should be matched to identify correspondences which effectively give the fundamental code structure. In a similar way, SA/SD starts with the context diagram which ties down the terminal ends of the DFD pipelines with the external data sources and sinks. These are primary constraints on the subsequent code structure. The SA/SD methodology as described in Chapter 11 involves drawing up a top-level DFD, and then expanding and partitioning it into lower-level DFDs in preparation for implementation. In general, we could look at the choices involved in the decomposition process from the same point of view as a cook preparing green beans. This poses the lifestyle dilemma of whether to cross-chop or length-slice the bean pods. The cross-chopping method is how SA/SD advises programmers to partition a process pipeline, so you...