“A good system shortens the road to the goal.” –Orison Swett Marden, author and founder of Success magazine
No field stresses the importance of a well-built system quite like computer science. Effective computer systems ensure a logical workflow, increase general efficiency and make it easier for companies to deliver high-quality products to their clients. The System Development Life Cycle is a process that involves conceptualizing, building, implementing, and improving hardware, software, or both. The System Development Life Cycle must take into consideration both the end user requirements and security concerns throughout all its phases. From banking to gaming, transportation to healthcare, the System Development Life Cycle is applicable to any field that requires computerized systems.
5 Phases of the System Development Life Cycle
Although there are numerous versions and interpretations of the System Development Life Cycle, below are five of the most commonly agreed upon phases and their characteristics. It is important to note that maintaining strong communication with end user clients is crucial throughout the entire process.
1.) Requirements Analysis/Initiation Phase
In this first phase, problems are identified and a plan is created. Elements of this phase include:
- Defining the objectives of the project, as well as end user expectations and requirements
- Identifying available resources, such as personnel and finances
- Communicating with clients, suppliers, consultants and employees to discover alternative solutions to the problem at hand
- Performing system and feasibility studies
- Studying how to make a product better than those of competitors
- Finding key areas where security is necessary in the system
- Evaluating information for security requirements
- Ensuring that everyone involved in the project has a common understanding of the security considerations
- Identifying the information system security officer, an individual responsible for overseeing all security considerations
The importance of the Requirements Analysis/Initiation phase cannot be overemphasized. Thorough planning saves time, money and resources, and it ensures that the rest of the System Development Life Cycle continues as smoothly as possible.
2.) Development/Acquisition Phase
Once developers reach an understanding of the end user’s requirements, the actual product must be developed. The Development/Acquisition phase can be considered one of conceptual design and may involve:
- Defining the elements required for the system
- Considering numerous components such as security level, modules, architecture, interfaces and types of data that the system will support
- Identifying and evaluating design alternatives
- Developing and delivering design specifications
- Conducting risk assessments
- Testing for system function and security
- Preparing initial documents for system certification and accreditation
- Designing security architecture
- Developing security plans
3.) Implementation Phase
In this phase, physical design of the system takes place. The Implementation phase is broad, encompassing efforts by both designers and end users. Elements include:
- Writing code
- Physical construction of the system
- Designing numerous items including output, input, databases, programs, procedures and controls
- Installing hardware and software
- Testing the system
- Potentially converting between old and new systems, depending on the project
- Training personnel on how to use the system
- Fine-tuning various systemic elements to work out all remaining issues
- Designers must ensure that all system elements meet security specifications and do not conflict with or invalidate any existing controls
- All security features are configured and enabled
- Functionality of all security features is tested
- Relevant personnel obtain formal authorization to implement these systems
This phase may also include testing and integration, or the process of ensuring that the entire system successfully works together as a single entity. Testing can be done by real users, trained personnel or automated systems; it is becoming an increasingly important process for purposes of customer satisfaction. Depending on the system in question, the Implementation phase may take a considerable amount of time.
4.) Operations Maintenance Phase
Once a system is delivered and goes live, it requires continual monitoring and updating to ensure it remains relevant and useful. Requirements of this phase may include:
- Periodically replacing old hardware
- Regularly evaluating system performance
- Providing updates for certain components to ensure they meet standards
- Delivering improved systems when necessary
- Analyzing whether or not certain elements remain feasible for the system’s continued use, such as its economic value, technical aspects, legal requirements, and scheduling and operation needs
- Continual monitoring of system to ensure that it remains consistent with the client’s established security requirements
- Security system modifications are incorporated when needed
- Configuration management activities are conducted to ensure consistency of the program
- Documenting any changes in the system and assessing their potential impacts
The Operations Maintenance phase continues indefinitely until a new problem is discovered. If it is determined that the system must be completely rebuilt, the Disposal phase begins.
5.) Disposal Phase
This phase represents the end of the cycle, when the system in question is no longer useful, needed or relevant. In this phase:
- Plans are created to discard system information hardware and software
- Arrangements are made to transition to a new system
- Information may be moved to the new system as well, or otherwise discarded, destroyed or archived
- For archived information, consideration is given to methods of future retrieval
Security considerations are aligned with the above actions. It must be noted that executing the Disposal phase correctly is crucial, as major errors at this juncture put companies at risk of exposing sensitive data.
After the Disposal phase, the System Development Life Cycle begins again. The cycle usually has no conclusive end. Instead, systems generally evolve to match improvements in technology or to meet changing needs.
Your Career in Computer Science
For anyone considering a job in computer science, the System Development Life Cycle is just one of many essential concepts required to know for a successful career. Programs like the online BA in Computer Science from Concordia University Texas offer the opportunity for students to gain a solid educational foundation, paving their way to achieve in the industries of the 21st century. The program offers rolling enrollment, allowing students to begin their education at a time that works for them.