System Design: Concepts, Tools, and Phases in Information Systems Development
System design is a critical phase of the System Development Life Cycle (SDLC) that transforms business requirements into a structured blueprint for building an effective information system. While system design can be described using narrative documentation, the importance of diagrammatic representations cannot be overstated. Visual models provide a clear snapshot of how the entire system operates, making complex processes easier to understand for managers, analysts, developers, and end users alike.
Modern system design relies on a variety of diagrammatic and modeling tools—such as Data Flow Diagrams (DFDs), Entity Relationship Diagrams (ERDs), flowcharts, and use-case diagrams—to represent data movement, processing logic, and relationships within the system. These tools help ensure accuracy, consistency, and completeness before actual development begins.
Overview of System Design Using Data Flow Diagrams (DFDs)
A Data Flow Diagram (DFD) illustrates how data moves through a system, how it is processed, and where it is stored. For example, consider a simple accounting system for recording transactions and posting them to a general ledger.
In this process, the user or accountant refers to the chart of accounts to identify the relevant accounts and prepare appropriate vouchers. These vouchers represent business transactions that must be recorded. Once captured, the transactions are posted into the system, which updates the general ledger accordingly. A DFD provides a visual representation of these steps, highlighting data inputs, processing activities, and outputs.
19.1 Entity Relationship Diagram (ERD)
Another essential diagrammatic tool in system design is the Entity Relationship Diagram (ERD). ERDs are used to model the logical structure of a database by identifying entities, their attributes, and the relationships between them. They help designers understand how data elements are connected and how data integrity can be maintained.
For example, an ERD may represent organizational relationships such as:
- One department is supervised by one supervisor.
- A department may have multiple employees.
- An employee may belong to more than one department.
- An employee may not be assigned to any project, but every project must have at least one employee.
ERDs are also widely used to represent file and database structures. Consider a hotel booking system where entities such as Room, User, Reservation, Session, and Log are maintained separately. Each entity stores specific data fields, but logical relationships are established using common keys such as Room ID or User ID. This approach improves data consistency, reduces redundancy, and simplifies data retrieval across the system.
19.2 Design of the Information Flow
Designing the information flow is a major step in conceptual system design. It defines how data and information move across the system and how they are transformed at various processing points.
Key aspects covered in information flow design include:
- Flow of data and information between system components
- Identification of transformation and decision points
- Frequency and timing of data flows
- Degree of formality, such as input forms and report formats
A well-designed information flow ensures that the right information reaches the right users at the right time, supporting effective decision making.
19.3 Design of the Database
Database design focuses on defining the scope and structure of data storage. The scope determines whether the database is local or global. If organizational units are highly interdependent, a global database may be necessary to avoid sub-optimization and data inconsistency, even though it increases maintenance costs.
The structure of the database refers to how data is organized, partitioned, and sequenced. Designers may use normalization techniques, relational models, or other methodologies to create a structure that aligns with organizational needs and system objectives.
19.4 Design of the User Interface
User interface (UI) design defines how users interact with the information system. A well-designed interface improves usability, reduces errors, and increases user acceptance.
UI design may include:
- Source documents for capturing raw data
- Printed or digital output reports
- Screen layouts and inquiry screens
- Database query and interrogation languages
- Graphics, color displays, and icons
- Voice output or guidance systems
- Input methods such as mouse, keyboard, or touch-based tools
The design process begins by classifying system users—for example, infrequent new users versus expert users who interact with the system regularly—and tailoring interfaces to meet their specific needs.
19.5 Physical Design
In the physical design phase, the logical system design is converted into a detailed technical blueprint. Logical components are broken down into physical units such as programs, modules, files, and databases that can be implemented using specific technologies.
Design of the Hardware and Software Platform
A new system may require hardware and software resources that are not currently available in the organization. Examples include:
- Workstations to support office automation systems
- Servers or minicomputers to handle increased processing loads
- Database management systems and specialized application software
19.6 Program Development
Program development involves translating design specifications into executable software. Depending on organizational strategy, software may be custom-developed or acquired as a packaged solution.
Key programming activities include:
- Writing and testing source code
- Developing and refining test plans
- Reviewing and integrating program modules
- Testing interfaces between components and external systems
Throughout development, documentation and code reviews ensure alignment with design objectives.
19.7 Procedures Development
This phase focuses on preparing detailed documentation to support system operation and maintenance.
- Technical manuals: Describe system architecture, data flows, inputs, outputs, DFDs, ERDs, use cases, and test cases.
- User manuals: Explain system operation in simple terms, including installation, daily usage, and functional tasks.
Clear documentation reduces training time and improves system reliability.
19.8 Testing
Testing aims to identify errors and deficiencies before the system goes live. This includes checking:
- User interfaces
- Procedure manuals
- Job roles and workflows
- Organizational structure alignment
Not all issues can be detected initially; some problems emerge only after real-world usage, making testing and feedback an ongoing process.
Changeover Strategies
Changeover refers to replacing the existing system with the new system. Common strategies include:
- Abrupt changeover: Immediate replacement of the old system
- Phased changeover: Gradual implementation of system components
- Parallel changeover: Running both systems simultaneously for a defined period
19.9 Operations and Maintenance
Once operational, the system enters the maintenance phase, where it is continuously monitored and enhanced. Maintenance activities include:
- Correcting coding and logic errors
- Modifying the system to adapt to environmental changes
- Perfective maintenance to improve performance and efficiency
19.10 Evaluating the Waterfall Model
Arguments in Favor of the Waterfall Model
- Strong emphasis on documentation and structured development
- Clearly defined phases and milestones
- Simple, disciplined, and easy to understand
- Effective for stable and well-defined requirements
Arguments Against the Waterfall Model
- Limited flexibility to accommodate changing requirements
- Assumes requirements can be fully defined upfront
- Late discovery of implementation difficulties
- Minimal user involvement after the requirements phase
Due to these limitations, many organizations now adopt iterative, agile, or hybrid SDLC models. However, the waterfall model remains valuable for understanding fundamental system design concepts.
During documentation and data preparation in system design, developers and analysts often need to standardize text formats quickly. Tools such as an text case converter can be especially useful for converting headings, labels, and documentation content into consistent formats, improving clarity and professionalism across system artifacts.