System development is the process of defining, designing, testing and implementing a software application. Learn about the phases of systems development and some of the specific tools used to support the activities of each phase in this video lesson.
Information systems are implemented using specialized software. Some information systems rely on software that can be purchased from third-party vendors. However, many information systems need to be adapted to the needs of a particular organization. This may involve customizing existing software or developing software from scratch. Even when relatively standard software is acquired from a vendor, it may need to be integrated with the other systems within the organization. All of these different scenarios fall under system development.
System Development is the process of defining, designing, testing and implementing a software application. This includes the internal development of customized systems as well as the acquisition of software developed by third parties. System development is also referred to as software development, software engineering or application development. System development includes the management of the entire process of the development of computer software.
Consider the example of a large organization that wants to streamline purchase orders. Right now every department has its own systems in place, which includes a variety of approaches that have been developed over the years. After a few serious errors, senior management has decided to centralize the ordering process into a single system that every department will have access to.
Phases of System Development
A system development project includes a number of different phases, such as feasibility analysis, requirements analysis, software design, software coding, testing and debugging, installation and maintenance.
Phase One: A feasibility study is used to determine whether a project should go ahead. This will include an initial project plan and budget estimates for future stages of the project. In the example of the development of a central ordering system, a feasibility study would look at how a new central ordering system might be received by the various departments and how costly the new system would be relative to improving each of these individual systems.
Phase Two: Analysis identifies the requirements for the system. This includes a detailed analysis of the particular problem being addressed or the expectations of a particular system. In other words, analysis will articulate what the system is supposed to do. For the central ordering system, the analysis would carefully examine existing ordering systems and how to utilize the best aspects of those systems, while taking advantage of the potential benefits of more centralized systems.
Phase Three: The design phase includes determining what programs are needed and how they are going to interact, how each individual program is going to work, what the software interface is going to look like and what data will be required. System design may use tools like flowcharts and pseudo-code to develop the specific logic of the system. For this central ordering system, the design phase would lay out the detailed steps of how orders would take place and who in the organization would be involved at each step.
Phase Four: In the implementation stage, the design is translated into code. This requires selecting the most appropriate programming language and writing the actual code needed to the make the design work. In this phase, the central ordering system is actually coded using a particular programming language. This would also include developing a user interface that the various departments are able to use effectively.
Phase Five: Testing and debugging involves testing individual modules of the system as well as the system as a whole. This includes making sure the system actually does what is expected and that it runs on intended platforms. Testing during the early stages of a project may involve using a prototype, which meets some of the very basic requirements of the system but lacks many of the details. Testing of the central ordering system could take place in one department or use only a few key individuals. That makes it possible to identify needed improvements before implementation in all departments.
Phase Six: Installation includes implementing the system so that it becomes part of the workflows of the organization. A certain amount of training may be necessary to make sure employees get comfortable with using the system. At this stage the central ordering system is installed in all departments, replacing the older system.
Phase Seven: All systems require some form of maintenance. This may consist of minor updates to the system or more drastic changes due to unexpected circumstances. As the organization and its departments evolve, the ordering process may require some modifications. This makes is possible to get the most out of a new centralized system.
System development uses a number of tools to support the various phases. Following are some of the most widely used tools:
- Flowcharting uses diagrams to represent a process. Steps are represented by boxes and these boxes are connected with arrows. The system design phase of system development often relies on a flowchart to represent the logic of the system in a series of steps.
- Pseudo-code describes what a computer program does. It is written in English so that humans can easily understand it, but it looks like programming. Pseudo-code is not an actual programming language, but it is part of the system design phase to prepare for actual coding.
- Computer Aided Software Engineering, or CASE, uses structured methods for system development to ensure high quality systems. CASE tools refer to software that supports many activities of system development. These specialized software applications assist with things like creating flowcharts, developing and testing of prototypes, developing user interfaces, creating documentation and doing other tasks. One very important part of CASE tools is the use of Unified Modeling Language, or UML. This provides the standard modeling language to describe elements of a system and how these elements relate to each other.
- A Software Development Kit, or SDK, provides development tools for a specific platform. For example, let's say you wanted to develop an application for a mobile phone using the Android operating system. You would download the Android SDK, which provides many tools for application development specifically for that operating system. SDKs are typically made available for free by the companies creating the platforms to encourage the development of applications.
System development is the process of defining, designing, testing and implementing a software application. A system development project includes a number of different phases, such as feasibility analysis, requirements analysis, software design, software coding, testing and debugging, installation and maintenance. Specific tools exist to support the various phases of system development. These include flowcharting, pseudo-code, CASE tools and SDKs.
After completing this lesson, you should be able to:
- Identify the possible needs for a system development
- Recognize the phases for any development project
- Detail the tools necessary for proper system development