System Design Summary Notes

Introduction to System Design

  • System Design begins after the requirement specification phase.

  • It defines the architecture, components, modules, interfaces, and data of a system.

  • Focuses on how to implement the system to satisfy specified requirements.


Phases of System Design

1. Logical Design

  • Describes what is to be accomplished using Data Flow Diagrams (DFD), Entity-Relationship diagrams (ER), etc.

  • Key elements include:

    • Inputs (sources)

    • Outputs (destinations)

    • Databases (data stores)

    • Procedures (data flows)

2. Physical Design

  • Focuses on how to accomplish the logical design through hardware, software, and user interfaces.

  • Concerns include user interface design, process design, and data design.


Design Models

1. System Implementation Model

  • Processor Model: Allocates essential models to processors and manages their communication.

  • Task Model: Assign processes and data stores to individual tasks after allocation.

2. Program Implementation Model

  • Structure chart shows hierarchical organization of modules within one synchronous task.


Stages in the Design Process

  1. Analyze the situation

  2. Write a brief

  3. Research the problem

  4. Write a specification

  5. Work out possible solutions

  6. Evaluate and redesign

  7. Select a preferred solution

  8. Implementation steps include:

    • Prepare working drawings and plans

    • Construct a prototype

    • Test and evaluate the design

    • Document the report


Functional Design

  • Translates System Requirements Specification (SRS) into usable actions.

  • Major activities include:

    • Defining software structure

    • Designing user interfaces

    • Conducting structured walkthroughs

    • Designing system inputs and outputs

    • Building data models


Program Design

  • Involves writing software modules specified in the system design phase.

  • Activities include:

    • Writing programs

    • Conducting unit testing

    • Developing training programs and operational documents

    • Planning transition to operational status


File Organization

  • Refers to how records are logically and physically arranged for storage.

Types of File Organization:
  1. Heap (Unordered): Simplest type; records are not organized, efficient for insertions, inefficient for retrieval.

  2. Sorted: Records are arranged by a key field, good for batch processing but inefficient for lookups.

  3. Index Sequential Access: Combines features of both sequential and direct access, permits efficient record access with an index.

  4. Direct/Random Access: Immediate record access using an identifying key; suitable for online applications, but costly and complex.


Normalization

  • Definition: The process of converting complex data structures into simpler ones to reduce redundancy.

  • Objectives:

    • To prevent undesirable database operations (insertion, update, deletion anomalies).

    • To establish stable relations among tables.

Types of Normalization:
  1. 1NF (First Normal Form):

    • No repeating groups, attributes must be atomic.

  2. 2NF (Second Normal Form):

    • No partial dependencies of non-key attributes on primary keys.

  3. 3NF (Third Normal Form):

    • Non-key columns must not depend on each other (no transitive dependencies).


Transforming ER Diagrams to Relations

  1. Represent entities as relations with a primary key.

  2. Represent relationships considering their cardinality and degree.

  3. Normalize the relations to eliminate redundancy.

  4. Merge the relations correctly to avoid overlaps and maintain clarity.


Designing Forms and Reports

  • Forms: Business documents with predefined data; allow users to input additional data. Examples include sign-in sheets, order forms.

  • Reports: Contain only predefined data, used for viewing purposes. Examples include sales summaries, invoices.

Common Types of Business Reports:
  • Scheduled Reports: Regularly produced for routine needs.

  • Exception Reports: Highlight significant deviations.

  • Ad-hoc Reports: Custom reports generated on demand.


Guidelines for Formatting

  • Use meaningful titles and clear, specific information.

  • Ensure balance in layout; clear navigation for users.

  • Highlight important information, using color thoughtfully for emphasis.

  • Avoid redundancy in files and maintain security measures during data access and updates.


Conclusion

  • System design is a crucial phase in software development, scaling from high-level logical considerations to detailed implementation plans.

  • Every step in the design process is aimed at fulfilling user requirements and ensuring efficiency, maintainability, and clarity in data representation.