< Previous Lesson Lesson Plan Next Lesson >

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:

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:

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:

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:

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:

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.

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:

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:

19.9 Operations and Maintenance

Once operational, the system enters the maintenance phase, where it is continuously monitored and enhanced. Maintenance activities include:

19.10 Evaluating the Waterfall Model

Arguments in Favor of the Waterfall Model

Arguments Against the Waterfall Model

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.

< Previous Lesson Lesson Plan Next Lesson >