Structured Versus Object-Oriented Design

 

In response to the high failure rate for new systems, that is, many systems do not meet their original specifications or time and budget targets, we have seen the development of two approaches designed to improve the chances for successful development.  Both approaches emphasize logical and structured views of design. The first of these approaches is called structured design while the second is known as object-oriented design.

 

The Role of Structured Design: What is structure in design?  Basically, we try to take a disciplined, step-by-step approach to reduce complexity.  A good example is a top-down design; this philosophy means that the designer first concentrates on an overview, then moves to successive levels of detail.  If at any step the designer becomes confused, he or she backs up one level to a diagram with more of an overview.  The major purpose of this approach is to improve understanding and communication.

 

The process is very similar to the set of plans developed by an architect.  When a client asks for a new building to be designed, the architect develops rough sketches and adds detail over time. In presenting drawings to the client or even to construction workers, the architect does not provide a first page with the detail of the electrical wiring!  Instead, usually we find that the first page is a perspective of the building. The next page might be four side views, followed by a page with a high-level floor plan.  As each page is turned, we find more detail.

 

Data Flow Diagrams: One of the most popular structured approaches to design is the use of data flow diagrams.  Compared with traditional flowcharts, the data flow diagram (DFD) is far less complex, there are only four symbols defined for the highest level of detail.

 


Source or destination of data

 

Flow of data

 

Process that transforms flows of data

 

 

Data store

 

 

Data flow diagrams symbols

 

The DFD approach is more than just the symbols.  It is important for the analyst to exercise discipline in preparing the charts. The recommended strategy is top-down: begin with a high level diagram and place succeeding levels of detail on subsequent  pages.  In additions, as adding detail makes the drawing cluttered, the analyst should take one process or sub-systems and explode its detail on a separate sheet of paper.  DFDs can easily be read and prepared by users. One of their most important contributions is to facilitate understanding among all of those involved in a design project.

 

In later chapters we discuss computer-aided software engineering or CASE.  This approach to building systems tries to automate as much of system design as possible. An analyst uses structured design CASE software on a PC based workstation to construct DFDs, data dictionaries, and other components of a system.