System Design

What is System Design ?


System design is the process of defining the architecture, components, modules, interfaces, and data for a system to satisfy specified requirements. It involves analyzing requirements, determining system functionality, allocating resources, and establishing constraints to create a blueprint for the construction and operation of a complex system. System design aims to optimize the system's performance, reliability, scalability, maintainability, and other quality attributes while considering factors such as cost, time, and available technology. It encompasses various activities, including conceptual design, detailed design, and implementation planning, with the goal of creating a solution that meets stakeholders' needs effectively and efficiently.

"System analysis" concentrates on "what" the system should do to meet the requirements of users and "system design" identifies "how" the system will accomplish this change. This phase proceeds after "system analysis" phase.

An analyst engages in the following actions during the system design phase:

1) Plans design activities.
2) Works with the user to decide the different data inputs to the system.
3) Draw models of the new system by using data flow diagrams and ERD. 
4) Clearly describes the data requirements with a data dictionary.
5) Writes down program specifications.
6) Recognizes and orders hardware and software whenever required.

System design includes both logical and physical design. Both produce the system specifications according to the system requirements, as identified in the system analysis phase.

Objectives of System Design 


The objectives of system design are as follows:

1) Supports Business Activities: 
One of the primary objectives in designing information systems is to ensure that the system supports the business activity for which it is being developed. The results that system has to produced should be given major importance rather than the computer and communication technology stated in the design.

For example, if it is very essential for an organisation to transfer the information very fast then the system design specification must be developed around this business objective to survive in the competition.

The design must fit the process (approach of organisation to do its business). For example, if a sales system is developed that works best for orders paid in cash and the company offers a "sales-on-credit" policy, then the business objectives will not be met. It is necessary for a system to fulfil the business requirements. Therefore, design decisions should be directed by the business objectives.

2) Ensures that User Requirements are met: 
The design phase converts the user requirements into system characteristics. User requirements are met in an information system if the following are accomplished:
  • The right procedures are executed efficiently.
  • Information and instructions are presented in an acceptable and efficient manner.
  • Accurate results are generated.
  • User-friendly interface and mode of interaction is offered.
  • Users perceive it as a reliable system.

3) Provides Ease of Use: 
The analyst designs the system by including the ergonomic features so that the users find it easy to use.

4) Specifies the Logical Design Elements: 
System design includes the description of detailed design that consists of features like input, output, files, databases procedures, etc.

5) Provides Software Specification: 
System design phase also requires the formulation of software specifications. Selection of programming languages, software packages and utilities are done during logical design phase and recommendations related to them are included in software specifications. Input, output, processing functions and algorithms should be clearly specified along with what functions each must perform and the procedures for achieving them are clearly mentioned. These are monitored by software modules and routines.

6) Conforms to Design Standards: 
The system design objectives are vast and affect the different aspects of both the application and the organisation, which adopts this system. Information systems groups maintains the system development standards and the system design specifications are developed to conform these standards.

System Design Methods


There are many popular techniques of designing system:

System Design Methods

1) Problem Partitioning: 
If the problem is small, it can be solved easily. But while dealing with big problems, the thought applied is, "divide into smaller pieces, so that each piece can be conquered separately." This means that big problems are divided into smaller portions where each is dealt separately. This is because the complexities of large problems are very high.
However, breaking down of a larger problem into small parts also has some pitfalls. The restriction of solving each small part separately makes dividing into the pieces of a complex task. as well. The cost of solving the entire problem is also more than the cost of solving all the pieces separately. Also, the smaller parts cannot be independent of each other. They need to cooperate and communicate with each other to solve the larger problems. The communication between small parts also increases the complexity, when large system is partitioned.

2) Top-Down Design: 
This method uses the process of task decomposition and successive refinement to design all types of system. This design method first identifies the whole system functions and breaks them into less complex sub-functions where each sub-function performs a specific task. These sub-functions are further broken down to even lesser complex sub- functions. This process continues until low complexity sub-functions are reached, which are easy to implement.

3) Structured Design: 
Structured design employs structured chart in implementing a system. The major steps are as follows:

i) Constructs a Structure Chart: The structure chart is constructed to show the hierarchical relationship and structure of all the data flows. In this step, control flows are also added to assist further systems development.

ii) Examines the Coupling (Interdependency) Relationships: One of the major objectives of structured design is to define loosely coupled, independent modules. Degree of independence of a module is inversely proportional to the number of data elements which flow between the module and the remaining system. This step helps to increase independence of modules by finding and restructuring them with excessive data flows.

iii) Examines Module Cohesion: Another major objective of structured design is to define cohesive modules that perform a complete function. This step helps in combining modules that perform common functions, thus consolidating functions in order to minimize the number of interfaces and relocating modules to increase the efficiency of the system.

iv) Refines the Structure Chart: A final structure chart is prepared using the results of the previous two steps.

v) Performs Transform Analysis: Processes (or modules) that manipulate a specific set of data or data structure are grouped, using transform analysis.

vi) Performs Transaction Analysis: The purpose of this analysis is to group all processes (or modules) which had triggered in response to the same transaction, forming a transaction centre. For example, all the tasks performed with an order placed by a supplier are related The control centre acts as the control module.

vii) Creates Module Specifications: The elements of the Data Flow Diagram (DFD) are defined by logical sequence, selection and repetition blocks.

viii) Packages the Physical Modules: This step ensures that the parent-child relationships between modules are preserved at the time of grouping of procedures to form physical load modules. This is done for efficient execution on a computer. A procedural analysis is done to determine which procedures are to be grouped within the same load module, in order to avoid undesirable execution and testing errors.

Stages of System Design 


System design comprises of the following two stages:

Stages of System Design

1) Conceptual System Design:


Conceptual/logical design is based on the specifications of the major features required to meet the objectives of the new system. The outcome of this design can be referred to as the 'blueprint of the proposed system'. The design phase starts after the system plan for the organisation is finalized and priority of the new system components are decided.

Before designing an information system, it is important to decide that the correct solution is being given to the problem. This can only be ensured by proper definition of the problem, identification of objectives and the limitations which might restrict organisation to attain its objectives. Therefore, various alternative systems are explored and the best system is chosen.

Logical system design refers to a broad design which covers the total organisational system. This is also called as 'feasibility design', 'gross design' or 'high level design. Conceptual system design is prepared before deciding on various designs for the different sub-systems.

Stages of Conceptual Design


The process of designing MIS includes the following stages:

1) Define the Problems: 
To define the problem first it is required to understand the business objectives of the customer organisation. The vision and mission statements of an organisation help to get an overview of business objectives and business plans. The understanding of business objectives helps to achieve proper planning of the required system. The required system needs to be planned by understanding the information needs. These information needs are the problems that are to be solved by the proposed MIS product. The iterative process of problem defining includes following steps:
  • Outlining the information needs,
  • Questioning about the information need,
  • Suggestions and interpretations of the information need,
  • Describing the original outlines,
  • Reviewing the descriptions of information need along with management.
The above listed steps are iteratively followed until a real understanding of the information need and the problem is achieved.

2) Set System Objectives: 
System objectives needs to not clear its acquisition only quantitatively which can be in terms of Department, Group, Function or Manager. Or we can say that when the manger gets all the information requirements, what should be his next system objectives. These objectives should be defined in terms of quantity not in quality, so that the alternate design of the system and its performance can be effectively judged. Following are some features of system objective:
  • Less costly,
  • Supporting operational controls,
  • Enhancing data flow,
  • Achieving requirements of customers.

3) Establish System Constraints: 
System constraints provide a guideline about boundaries or limitations of the system and enable the developer to know about the condition under which system objectives are to be achieved. In other words, Constraints are the boundaries or restrictions of the system design under which objectives are to be attained.

Classification of Constraints
  • External Constraints: These are limitations which are external to the organisation. For example, constraints due to the interface requirements for customers, the restrictions imposed by government laws and the limitations due to interaction with suppliers.
  • Internal Constraints: These are limitations arises within the organisation. For example, if the support of top management is not obtained and coordination between the different departments is not achieved, then there may be some limitations in the design.

4) Determine Information Needs: 
The information needs can be determined when users provide information about the following things: 
  • What are their expectations from the proposed system?
  • To achieve their objectives what are the information items they need from the system?
It can be derived by studying the various processes and outputs of the current system. Gathering the user requirements is not an easy task because the users themselves are not very clear about their own requirements. Sometimes the users are not able to specify their requirements. The system developer must derive information needs to study the system thoroughly in order to achieve the proper system design.

A manager needs information to properly and efficiently run management process. There are two factors on which these requirements depend, which we as follows:

Personal Attributes
  • Previous knowledge of Information Systems
  • Style of Management
  • Own Perception of Information Needs

Organisational Environment
  • Nature of the Business or Organisation
  • Level of Management
  • Organisation Structure

5) Determine Information Sources: 
This is very crucial to consider about source of information because without it, determining information sends is incomplete. It depends on following types of information sources.

Types of Information Sources
  • Internal and External Records: The internal records are the previous records of the organisation in the form of files, correspondence, business reports etc. Examples of External records are business reports of other organisations, trade publications, socio- economic statistics provided by the various departments of government, etc.
  • Managers and Operating Personnel: The person who uses a system is normally well aware about the system so, the users, managers and the operating staff are important sources. Collecting the data from them requires techniques like interviewing of the personnel. These techniques need proper planning and skill.

6) Develop Alternative Conceptual Designs and Select One: 
A number of designs for the proposed information system are generally developed. Among which most suitable is chosen to get the optimal design. The optimal design is chosen by considering various factors like cost and efforts involved to develop, effectiveness of each alternative design. There are various approaches which can be employed to evaluate various such alternative systems. Each available alternative is required to be evaluated so that the but alternative can be chosen. Following are some methods to do so:
  • Intuition is the most common approach where a solution that appeals most, is selected.
  • Measuring the consequences is another approach.
There may be a vast number of such candidate system, so a preliminary evaluation is performed by the system specialists to shortlist them. They evaluate performance of system against the performance requirements set at feasibility study. The evaluation criteria find a close match which is practicable also and uses trade-off among various factors of measurement.

7) Document the Conceptual Design: 
The conceptual design process should also output conceptual system design document that must include the following content:
  • Problem Definition: Problem definition is a statement which defines the problem nature as perceived at initial fact finding study by system analyst.
  • System Constraints: System constraints are identified at the initial phase which is financial constraints, operational constraints. and technical constraints.
  • System Scope: System scope is the description about system that what it covers and what it does not
  • System Objectives: System objectives which are identified during initial study of the system.

2) Detailed System Design:


The quality of the design of the MIS determines its success. It will be easy to carry out modifications and to develop the system in a straightforward manner if the basic design is done well. The first phase of design of the system must be completed before the start of the appraisal stage. The completion must be effective in nature.

It is necessary to include the MIS as an integral part of the operations. Thus, it is necessary to start the detailed design when the indicators and the procedures for the project are prepared. If the team fails to do so, the project operations will slowdown. As the staff keep on learning the system on a continuous basis the operating procedures and the MIS should have to be adjusted on a regular basis.

In the design phase emphasis is given on how the system will be implemented in the way it has been suggested in the feasibility study phase of the development life cycle. The design phase starts when the management approves all the changes that have been proposed to the candidate system. A solution is obtained from the design as the system requirements are translated into ways that will allow the system to function.

Stages of Detailed System Design


The detailed design of MIS system is given below:

1) Project Management of MIS Detailed Design:
System design is very much similar to project management. One of the prime tasks of project management is to assign the key project personnel. Project management can be broadly classified into two broad classifications:
  • Project Planning: The objectives of the i project are formulated in this step. The tasks of the project are also defined. In order to show the parallel and sequential events, a network diagram of the activities and events is also prepared. Keeping in mind the requirements of the user, the work schedule is prepared. The project budget is also estimated.
  • Project Control: In this activity the defined technical plans, schedule and budget of the project is compared with the actual performance in terms of work, cost and time. In order to maintain control, corrective actions are taken whenever required.

2) Identify Dominant and Principal Trade-Off Criteria:

  • Dominant Criteria: Those activities that are so important that they can override any other activity are known as the dominant criteria. For example, one such criterion might be such that the stock might never go below a certain level. This activity would override the inventory cost minimization criterion.
  • Trade-Off Criteria: In such criteria it is necessary to increase or decrease the performance of an activity in order to make another activity more efficient. For example, the public image that has been gained by the firm for reducing environmental pollution has to be balanced in order to reduce manufacturing cost. On the other hand the low manufacturing and service costs must be balanced against the criterion of introducing new models and styles for different market segments.
So that decision centres comprising of computers and managers can be identified during designing the system in detail, it is necessary to identify the trade-off and dominant criteria. In order to carry out the trade-offs it is necessary to design the MIS in a way that it can provide information for decision making at both programmed and lower levels.

3) Define the Subsystems: 
Each system is broken down to identify the various inputs, outputs and the activities to be performed in the detailed system design phase. The following steps are carried out to decompose the system into operational activities: System, sub system, functional component, task, sub task, operation element.

4) Sketch Detailed Operating Subsystems and Information Flows: 
There are three levels to carry out the detailed design:
  • Subsystem,
  • Functional,
  • Task Levels
Following four types of systems flowcharts are used:
  • Task-Oriented Charts: These charts show the relationship among the activities. A flow process chart is used to show the basic activities that are needed to complete an activity in a step-by-step manner.
  • Forms-Oriented Charts: All the forms in a system are tracked by these charts. The chronological movement of various copies can be also traced with the help of form oriented charts.
  • Program Flowcharts: The logical sequence of the steps to be carried out is demonstrated using these charts. The logic used by the system can be also observed from these charts.
  • System Flowcharts: The flows and relationships are depicted in the system flowcharts. They are required for modeling both programmed and managerial decisions.

5) Determine the Degree of Automation of Each Operation: 
In order to determine the degree of automation that can be achieved, it is necessary to examine every operation in the flowchart. Preference is given to low level of automation in the following situations:
  • Problems are bad structured.
  • Incompletely defined decision criteria.
  • It is necessary to constantly change or modify the decision making rules.
  • Presence of gaps in the system used for entering data.
  • Unreliability, inconsistency and ambiguity are present in the data.
  • Fewer number of simple processing steps present.
  • Human labour is cheaper compared to equipment.
  • Negligible amount of space is required to store the data.

6) Inform and Involve the Organization: 
The top level of management is unable to take part in every step of the MIS development as they are engaged in taking tactical decisions most of the time. Thus, it is required to involve every level of management including the top most level in order to successfully complete the design of the MIS. There are various benefits associated with the involvement:
  • Resentment is avoided due to sense of involvement among all the employees.
  • It becomes easy to avoid resistance to change.
  • It becomes possible to mitigate the shock of implementing the new system.

7) Inputs and Outputs Processing: 
One of the important parts of the software is interface forms. The forms perform the task of taking inputs and showing the output to the user of the system. To carry out these tasks the input-output operations are required.

i) Input and Output: Forms
One of the standard ways of communicating with the system is the form. It serves as a link with the operating procedure. Input-Output forms have the following seven components:
  • Heading
  • Identification and access
  • Instructions
  • Body
  • Signature and verification
  • Totals
  • Comments

ii) Inputs and Outputs: Database
The detailed model of a database is prepared by a process known as 'database design'. The database designer carries out various steps that comprise the process of database design. The designer has to carry out the following tasks:
  • Find the relationship among the different data elements.
  • Depending on the relationships established a logical structure on the data can be superimposed.
A large collection of data is called database. It describes the operations performed by one or more organizations that are related. To develop the database the steps given below are to be followed:
  • Identification of Data Inputs
  • Preparation of Worksheet
  • Grouping Worksheets
  • Checking Duplication
  • Elimination of Duplication
  • Evaluation of Items

8) Early System Testing: 
To test a system there are three ways:

i) Modeling: The reliability and time responses, ranges of inputs and outputs and the relationships for the transfer functions are defined here. Both equation and decision tables are used to represent the decision models. "if" and "then" clauses are the components of the decision structure table. Conditions stub is the "if" part, while action stub is the "then" part.

ii) Simulation: Simulation is carried out to test the functional components of very large systems as well as a variety of other systems and subsystems. Given below is the process of simulation modeling:
  • Step 1: Problem identification.
  • Step 2: Identification of decision variables and deciding decision rules and decision variables.
  • Step 3: Numerical model construction.
  • Step 4: Model verification.
  • Step 5: Designing of experiments.
  • Step 6: Running of Simulation Model.
  • Step 7: Examine the Results in Terms of Problem Solution.

iii) Planning to Test MIS: The questions given below must be asked to design a detailed test plan for the MIS:
  • Exactly which subsystems are available?
  • What are all external (user) interfaces?
  • What are the typical scenarios that can be tried out against the MIS?
  • Who are likely test subjects (users and managers)?

9) Software, Hardware Configuration:

i) Software Configuration: In this phase design of software should be done so al the appropriate time, it will be available for the merging. There are few steps that are principal in nature over which the management must maintain continuous surveillance with the help of the system designers.

ii) Tools: At the end, the system designers must start planning for the implementation phase. They have to find out whether any procedures, tools or methodologies are required or not.

iii) Hardware Configuration: The designers can take the help of the guidelines given below without putting much emphasis on the detail of choosing the computer hardware:
  • Buy sufficient computing resources to carry out the full task. Buy some additional computing power but keep in mind that the MIS department is a support function.
  • They must buy sufficient storage space so that the planned database and application can be stored. Must keep provision and space for growth.
  • The other peripherals must be bought to just support various problems being solved by the MIS such as displays for performing data entry and printing the various reports.
  • Buy required computer supplies (such as paper, ribbons, tapes, etc.).
  • Buy sufficient computer power for providing the response required by the user.
  • Buy the best documentation.
  • Buy a complete maintenance/support package.

10) Propose an Organisation to Operate the System: 
Before the actual system can be placed there are many hurdles that must be got rid of. The measures of the change management process must be declared by the MIS group. So that the system can be successfully used in organisation, it is necessary to build a new outlook. Instead of technical disciplines the organization must follow the MIS hierarchy. Assignments associated with the technical details must be performed at the low levels. Exceptions can be given to overlay systems like financial planning and control.

11) Document the Detailed Design: 
Finally, the end product of the detailed design phase documents that state the system specification, design justifications and operations. Documentation consists of:
  • A summary flowchart,
  • Detailed flowcharts,
  • Operations activity sheets that shows the inputs, outputs, and transfer functions,
  • Specification of the database or master file, 
  • Computer hardware requirements,
  • Software (programs),
  • Personnel requirements by type of skill or discipline,
  • Final (updated) performance specifications, 
  • Cost of installation and implementation of the system,
  • Cost of operating the system per unit of time, 
  • Program for modification or termination of the system,
Standardized formats are used for some of the documents. Examples of such forms are input- output-activity listings or diagrams. Guidelines must be given regarding the design of the flowcharts and standard symbols must be used.

Advantages of System Design


  1. Enhances scalability, making it easier to accommodate growth and changes in requirements.
  2. Improves maintainability by organizing code and components in a structured manner.
  3. Promotes reusability of components, reducing development time for future projects.
  4. Enhances performance through optimization and efficient resource utilization.
  5. Facilitates easier debugging and troubleshooting due to clear design patterns and architecture.
  6. Encourages collaboration among team members by providing a common understanding of the system's structure.
  7. Supports better documentation and knowledge sharing, aiding in onboarding new team members.

Disadvantages of System Design


  1. Initial setup and planning may require significant time and resources.
  2. Over-designing can lead to unnecessary complexity and overhead.
  3. Changes in requirements or technology may necessitate frequent revisions to the design.
  4. Learning curve for team members unfamiliar with the design patterns and architecture.
  5. Potential for miscommunication or misunderstandings among team members regarding the design decisions.
  6. Difficulty in accommodating unforeseen edge cases or future scalability needs.
  7. Risk of creating overly rigid systems that are difficult to adapt to evolving business needs.