Data Flow Diagram (DFD) Symbols, Structures, and Design
Data Flow Diagram (DFD) Symbols
Entity: Represents users interacting with the system.
Data Flow: Represents communication between DFD symbols.
Process: Represents the phases that a system undergoes, interacting with incoming and outgoing data.
Data Store: Represents where information is stored in the system, either permanently or temporarily.
Data Structures
Logical Data Structure: Describes all information related to the system’s operation, implementation, and business requirements.
Physical Data Structure: Focuses on the concrete implementation of the system’s requirements, such as entering customer data or creating tickets.
Data Store Description Format
A suggested format for describing a data store includes the following fields:
- ID
- Name
- Aliases
- Description
- Characteristics (File Type, File Format, File Size, Number of Records)
- Data Set Name
- Copy Member
- Data Structure
- Primary Key
- Secondary Key
- Comments
Process Specification Format
A process specification should include:
- Process Number
- Process Name
- Process Description
- Input Flows
- Output Flows
- Process Type (Batch, Online, Manual)
- Code Requirements (Including Subroutine Names)
- Process Logic (Policies and Business Rules)
- Decision Tree or Table
- Unresolved Issues
Formal Spanish Process Specification
This specification type uses formal logic and simple Spanish sentences for communication with users. It employs structured sequences, decision structures (IF-ELSE), iteration (DO WHILE), and case statements.
Building Decision Trees
Steps for building decision trees:
- Identify conditions.
- Identify actions.
- Identify condition rules.
- Identify possible actions.
Include information about the length of each component (conditions and actions). Represent the tree from left to right, using squares for decision nodes and circles for action nodes.
UML Overview
UML (Unified Modeling Language) is a standardized set of tools for documenting software system analysis and design. It uses object-oriented representation, focusing on things, relationships, and diagrams.
Class Diagrams
Class diagrams show the static characteristics of a system, including classes with their attributes and methods, and the relationships between them. Example: Car-Truck
Sequence Diagrams
Sequence diagrams illustrate the sequence of interactions between classes or object instances over time. They represent the procedures described in use case scenarios.
Activity Diagram: Illustrates the sequence of activities in a process, including sequential and parallel activities, as well as decisions. Developed for use cases to reflect different scenarios.
CRC Cards (Classes, Responsibilities, Collaborators)
CRC cards represent class responsibilities and interactions. They are based on scenarios that define system requirements.
Format: Class Name, Superclasses, Subclasses | Responsibilities, Collaborators, Perspective, Ownership
Reasons for DFD Partitioning
- User Groups
- Similar Tasks
- Synchronization
- Efficiency
- Data Consistency
- Security
Data Dictionary
A data dictionary is a reference containing information about collected data. It defines and coordinates specific terms, ensuring clear understanding.
Information and Data Storage
A data warehouse is a larger collection of data and information than a data dictionary. It stores information about data, procedure logic, screen and report designs, and more.
Advantages of the Data Flow Approach
- Flexibility in technical implementation during early stages.
- Deeper understanding of system and subsystem interactions.
- Clear communication with users about the current system’s operation.
- Analysis of proposed systems to ensure all necessary data and processes are defined.
- Conceptual freedom in using the four DFD symbols.