Wednesday, December 27, 2006
Real Work..Insight
Insight on Software Architecture.
1. Simple Control Flow description can provide great insight to programmers. When programmer starts to work on existing source code, his/her first job is to find the starting point of execution and later flows. Data structures and algorithms are next issues.
2. Control/Data Flow diagram is designed to solve the problem presented in (1). Its main purpose is to describe the control flow of the software in various stages (Business Process -> Component -> Function -> Detail Implementation). The control flow description is complemeted by accompanying Data Flow. Thus, programmer can easily understand the control flow of the program and data generated and consumed.
3. Implementation Issue.
DATA is actually a named object of certain class(type). The programmer defines the class of the object.
PROCESSOR is an entity which do something useful. Programmer can use eitehr CDF diagram or text code to design the PROCESSOR. If the PROCESSOR defines a rather large component, CDF diagram is preferred. If the PROCESSOR defines a low-level operation, programmer can directly write function code for it.
DECISION is used to split control flow of the software. Basically, it tests an boolean expression and select proper execution path depending on true/false value of the expression.
In summary, CDF diagram is composed of DATA, PROCESSOR and DECISION entities. With DATA, the programmer can provide the type information (design it). The PROCESSOR can be designed hierarchically. At intermediate levels, it is represented by another CDF diagram. However, at the bottom, the PROCESSORs provide real code in a programming language.