Why is systems analysis and design important in the development of information systems?

Software engineering involves the application of a disciplined and systematic approach (IEEE, 1990) to produce high-quality, functional software. As a part of this systematic approach, software development is done using a pre-defined software development process, which is a set of connected activities, later broken down into tasks, which are geared towards producing a software product or system (Sommerville, 2016). Although software development processes may differ in terms of the order and naming of their activities, all processes in some way include the following activities:

  • System Analysis
  • System Design
  • Programming
  • Testing
  • Maintenance; and
  • Project Management.

System analysis is the first of these activities and forms the foundation for the rest of the software development process. System analysis outlines a proposed solution to a defined problem. Analysis means “to take apart” (Boehm, 2003), and so system analysis involves breaking down a system to identify its functions, roles, and the environment in which it will be expected to operate. Within this activity are the tasks of performing a feasibility study and requirements engineering. System analysis is therefore very important throughout any software development process as it plays a significant determining factor in the success of any software project in terms of usefulness and delivery within established constraints; and based on how well it is performed, it can make the difference between software products which are maintainable and those which quickly become obsolete.

Whether software is developed sequentially or iteratively, system analysis is performed in some way. The output of system analysis is a system specification document which becomes a major input into other software development process activities such as system design, programming, and testing. The specification document outlines in detail what the software product should do and often includes a project plan, software models, prototyping results, formal specifications, and verification test data. This information acts as a reference-point throughout the rest of software development. If follows, therefore, that if system analysis is not accurately undertaken, the other subsequent software development process activities will be done inaccurately. This can lead to disastrous outcomes, including customer dissatisfaction due to contextually useless software being delivered. Other negative effects occur when the inaccuracy is discovered, and include an increase in time, cost, and effort to produce correct software. The later down in the software development process an issue is found, the more re-work is required, and therefore the more costly it becomes to resolve that issue. For these reasons, system analysis is crucial to the success of any software delivery project.

System analysis is also critical to software maintenance/ evolution. System analysis uncovers what software does and how it should behave. This is important information when maintaining software to make corrections or add functionality. Software evolution includes modifications to software but should not compromise its functionality. Throughout software development, it is likely that those who build the software product will not be the ones to maintain it. It is therefore of paramount importance that a guideline exists for reference, so that the software evolves within the scope of its intended functionality. Without thorough system analysis, there is an increased risk of software becoming obsolete due to an inability to properly maintain the software, caused by a lack of understanding of the system specification.

In conclusion, system analysis is the first step in any software development process, whether sequential or iterative. It involves defining what software should do to be useful in solving an identified problem and its tasks result in a system specification document which feeds into subsequent software development process activities. The strategic position of system analysis in the software development process means it can largely affect the success of a software project in terms of usefulness, cost, schedule, and maintenance. If system analysis is done incorrectly, other process activities will suffer, which ultimately leads to customer dissatisfaction and extensive rework. After software is deployed, the system specification document becomes a guide for software maintenance without changing the system’s functionality. When system analysis is completed properly, the software project has the best chance of being undertaken successfully and within given constraints.

References 

Boehm, B. (2003). Balancing Agility and Discipline: A Guide for the Perplexed. Boston: Addison Wesley.

IEEE (1990). 610.12-1990: IEEE Standard Glossary of Software Engineering Terminology.

Sommerville, I. (2016). Software Engineering. (10th ed.). Harlow: Pearson Education.

What is the importance of system analysis and design in the development of a system?

Benefits of system analysis and design Enabling comprehension of complicated structures. Allowing for better management of any business changes. Aligning the organization with its environment and strategic priorities. Minimizing IT issues and reducing the workload of IT employees.

What is system design and system design is important?

System design is important for defining the product and its architecture. It is necessary for the interfaces, design, data, and modules to satisfy the system requirements. Thus, a good system design strategy is key for enabling optimal product development.

What is the purpose of systems analysis and design?

System analysis and design deal with planning the development of information systems through understanding and specifying in detail what a system should do and how the components of the system should be implemented and work together.