Structured analysis is a development strategy that focuses on modeling the requirements of a system in a clear, organized, and understandable way. Its key features help analysts understand the system's processes, data flow, and requirements before development begins.
Here are some of the distinct features of the structured analysis development strategy:
Key Characteristics
Structured analysis employs several characteristics to achieve its goals of clarity, completeness, and correctness in system requirements:
- Graphical Representation: A significant feature is its use of graphic tools to specify how the application functions and is presented. This visual approach makes complex systems easier to understand for both technical and non-technical stakeholders. Diagrams like Data Flow Diagrams (DFDs) are central to this aspect.
- Process Decomposition: It systematically divides the system into smaller, more manageable processes. This breakdown provides a clear picture of the system flow, illustrating how data moves between different parts of the system and how processes transform data. This top-down approach helps in managing complexity.
- Logical Modeling: Structured analysis is inherently logical rather than physical. This means the analysis focuses on what the system does and how data flows, independent of the specific technology, vendor, or hardware that will eventually implement it. This makes the analysis flexible and reusable.
Core Components and Tools
To support these features, structured analysis typically utilizes several core components and graphical tools:
- Data Flow Diagrams (DFDs): These are the primary graphical tools used to represent the flow of data through a system. They show processes (transformations of data), data stores (data at rest), external entities (sources/sinks of data), and data flows (movement of data). DFDs exemplify the graphic feature and help illustrate process division and system flow.
- Data Dictionary: A centralized repository containing precise definitions of all data elements, data flows, and data stores used in the system. It ensures consistency and clarity regarding data.
- Process Specifications (Mini-Specs): Descriptions of the logic performed by the lowest-level processes shown in the DFDs. These can be written using structured English, decision tables, or decision trees.
- Entity-Relationship Diagrams (ERDs): While sometimes considered separate or part of data modeling, ERDs are often used alongside DFDs in structured analysis to model the static structure of data and relationships between entities.
Logical vs. Physical View
The distinction between logical and physical views is a cornerstone of structured analysis:
Aspect | Logical View | Physical View |
---|---|---|
Focus | What the system does and needs (requirements) | How the system is or will be implemented |
Dependency | Independent of technology, vendor, hardware | Dependent on specific technology, hardware, etc. |
Goal | Understanding requirements | Designing the solution |
Represented By | Logical DFDs, Data Dictionary | Physical DFDs, specific file structures, hardware configurations |
Structured analysis primarily builds the logical model, providing a stable foundation before delving into the details of the physical design and implementation.
Benefits and Practical Insight
The features of structured analysis offer practical benefits:
- Improved Understanding: The graphical nature and process division make the system easier to visualize and understand for all stakeholders, reducing misinterpretations.
- Better Communication: Standard diagrams and a data dictionary provide a common language for analysts, developers, and users.
- Reduced Errors: By focusing on logical requirements independent of implementation, structured analysis helps identify inconsistencies and omissions early in the development lifecycle.
- Maintainability: A clear model of the system's requirements makes future modifications and maintenance easier.
For instance, using DFDs allows an analyst to visually trace the path of a customer order from submission through processing, inventory check, and shipping. Breaking down the "Process Order" high-level process into sub-processes like "Verify Customer," "Check Stock," and "Generate Invoice" demonstrates the process division feature, offering a detailed view of the system flow without worrying about how the database stores customer data or which printer generates the invoice (the logical focus).
In summary, structured analysis provides a rigorous yet understandable approach to defining system requirements through graphic modeling, systematic decomposition, and a focus on logical independence, laying a solid foundation for system design and implementation.