System Development Life Cycle
System development includes the phases that a system developers must go through when they develop a hardware or software system.
The System Development Life Cycle (SDLC) generally includes five phases:
Analysis Design Implementation Testing Evaluation
This five phases are called a cycle because there might not be a final product at the end of one cycle. Then I will discuss these stages in detail.
Analysis
Before developing a new and better system, we should first learn about systems that are already exists. We should firstly know “what is wrong about the current system.”
Then, how to get information about the current system?
Methods of Gathering Information from Existing System
First, we can do interviews. It’s a direct way of getting the raw data from the stakeholders of the current system. By interviewing operators, supervisors, or managers of the current system, we can know what the problems are, what they require from a new system.
To specify how the interview works, there are two types of interviews: Structured Interview and Unstructured Interview. For structured interview, the questions are predefined and are presented in the same manner to all interviewees. In contrast, unstructured interview allow interviewees to freely express their thoughts and personal feelings.
However, interview is a way of getting the first feeling of the problems of the current system, and it is very time consuming. Also, some details might be skipped in the processing of getting information from interviewing.
So we can do direct observation. In this way, professional system analysts may walk around the organization and try to see how the staff work as well as their working practices. How can the efficiency of the system be improved? From observation, we can get the first hand and unbiased information about the current system. Also, we may notice many details which may point out the bottle neck that the current system has. However, it is also very time consuming to directly observe, and people may not work like they normally do if there are people observing.
To get a wider view, we need quantitative data. Questionnaires is a very good way of getting a huge amount of data. Questionnaires or surveys are cost-efficient and time-saving, comparing to the the previous methods. However, it also has its limitations, since it is hard to ask the right question, and the information is limited by the content of the questionnaires. Additionally, people who fill in the questionnaires may not take it seriously.
There are also two types of questionnaires:
Closed or restricted questionnaires only allow “yes” or “no” answers.It is good for statistical analysis. Open or unrestricted questionnaires includes free response questions. It allows people to express their deeper thoughts, but the answers are difficult to interpret.
The final method is the examination of documentation. Systems analysts will look in the documents in the archive of the organization and find out how the current system operates. The documentation includes reports, guidelines, or planning documents used by the organization. The advantage of this method is that, we can get very detailed information about the current system. Therefore, it is usually used in the process of system analysis.
Design
Analysis is all about the current system, while design is about the new system.
The process of designing determines how to create the new system and how it will operate. The design should not be like a “screenshot” of the real program. Instead, the design should be a general layout of the program.
The process of design involves three or four parts. The first one is user interface. The second part is the process of developing the program. The third part is about the data storage requirements of the program. If there is a fourth part, it should be test design, which designs the how the test will operate.
Here is an example of test design. which should be filled out at the design stage (except for the actual outcome, which will be filled during the test).
#number | Short Description | Input data | Expected outcome | Actual outcome (leave it blank) | F. #. |
F. 1.2 |
Implementation
Implementation is the process of really getting to create the program. It might involve creating or installing the hardware, but it is not required for IB IA.
In the implementation stage, software and maybe hardware is installed. Also, data files are prepared and users are trained. Also, it involves writing the system documentation, which is the documents that specifies how the system works.
And at the same time, system developers should make sure that the system that they build fits in with what they designed.
Testing
In general, there are three types of testing.
Black box testing: Only look at the input and output without testing the inside of the program
White box testing: Not only do we look at the input and output, but also we look at the inside of the program.
Dry run testing: looking at each instruction step by step.
The dry run testing is the most tedious and time-consuming one. However, it is usually used because of its strictness – no error should be skipped.
Evaluation
Evaluation is the process of reflecting on how successful the operational system is. We can ask questions like:
Does the new system meet its original system objectives and requirements?
How effective is the new system in solving the original problem?
If the answers are negative, the system should be analyzed and improve. Even if the system meets the standard or requirement, there should always be a recommendation of further improvement.
Group work: Development Models
Here is a poster that we made that demonstrates the three development models.
Stakeholders & End-Users
Stakeholder are people who have an interest or concern in a project or something about the project, or they are individuals, teams, groups or organizations who might be affected by the outcome of a project.
Stakeholders can generally be divided into two types:
Internal
- Employees
- Manager
- Owners
External:
- Suppliers
- Society(community)
- Government
- Creditors (like ibo)
End users are people who will use the product of the project. Therefore, a stakeholder might be an end-user at the same time.
The role of the end-user must be considered when planning a new system
This sentence stresses the importance of considering the role of the end-user so that the program will meet their needs.
When developers develop a product, there are 3 important questions:
-
Who will the end-user be?
-
What are their needs?
-
Any other stakeholders?
Answering these questions will help the developer create programs that most of the important people like.
Besides, there are some parties that are usually involved in a System:
System analyst
End user
Software manufacture
Client company
Actually these parties are all stakeholders of the product. When we do the Internal Assessment, we should definitely consider these parties and communicate with them.
Leave a comment