In this article you will learn about the life cycle of a computer system , through which the need for automated information processing is satisfied.
Life cycle of a computer system
A computer system constitutes the solution to a problem of automated information processing, such as: reading an email, transcribing a text using a computer, entering a telephone number in an address book available at a mobile phone, or even the management and control of industrial machines programmed through computer applications.
In general terms, a computer system requires physical elements, called hardware, and an intangible part known as software or computer programs. Additionally, it involves the participation of human factors, who are responsible for the demand for services.
In this way, it can be said that a computer system is responsible for the collection, processing and transmission of data, once these have been converted into information, through the joint and coordinated work of people, machines and data processing methods.
On the other hand, in computer science, the life cycle of a computer system is called the set of phases that contribute globally to obtaining the intermediate products, necessary for the management of the process and the achievement of the final objectives. It usually goes from the conception of the need for a system to the birth of another to replace it.
From another point of view, the life cycle contains all the specifications related to the development, operation and maintenance of a software product.
Depending on the scope, characteristics and structure of a computer system, the following types of cycles stand out:
Linear life cycle
Due to its simplicity, it is the type of life cycle of a computer system that is used the most whenever possible. It implies the decomposition of the global activity in successive phases, each one of which is carried out only once, which allows to foresee the time of the process.
The execution of each phase is independent of the other, and requires prior knowledge of the result to be obtained in each of them. Additionally, it is not possible to access a phase if the previous one has not been completed.
Life cycle with prototyping
It is used when the really achievable results are unknown, or when completely new or little proven technology is to be used.
In addition, it is characterized by the establishment of basic specifications that allow the development of a prototype, which will serve as an intermediate and provisional product.
Unlike the linear life cycle, some phases must be carried out twice, once for the development of the prototype and another for the realization of the final product.
Spiral life cycle
It constitutes a generalization of the life cycle with prototyping, since the construction of the final product requires the successive elaboration of several prototypes, each of which represents an advance with respect to the previous one.
In this type of life cycle of a computer system, the product goes through several phases repeatedly, until it reaches the desired maturity. Generally, this is due to the lack of knowledge on the part of the client of what he really wants, as well as his indecision during the course of the various phases.
The life cycle of any computer system includes various stages, these are:
It refers to the initial tasks that will mark the development of a computer system project, among them are:
- Delimitation of the scope of the project: It contemplates the knowledge of the activity of the organization on which it is going to work, as well as the identification of the needs and problems inherent to the management of information. Expectations are assessed in accordance with the proposed action plan to follow.
- Feasibility study: The resources available to carry out the project are evaluated, in this case the time and money available for this purpose. Similarly, the institutional bibliography is consulted and interviews are carried out in order to identify the factors that could make the project fail.
- Risk analysis: Includes the evaluation and control of risks that could spoil the development and execution of the project. Once the possible risks have been identified, the probability that they actually happen is calculated, as well as the impact they could have. Finally, contingency plans are prepared as alternatives to the effective occurrence of the same.
- Estimate: Refers to the initial estimate of the cost and duration of the project. It is subject to the knowledge that one has of it and the experience of the estimator. It must necessarily entail a detailed study of the factors that could alter the development of the computer system, in order to reduce the level of uncertainty.
- Time planning and resource allocation: This is the timing of the project. It is generally done on a weekly basis, and can be adjusted according to the available resources and the particular circumstances that we are facing.
It is based on the establishment of the main objective of the project, in accordance with the discovery of the real needs and the determination of the characteristics that the system must possess.
It includes the development of graphs, diagrams, mind maps and flowcharts, capable of summarizing all the information collected, to the point of making it understandable for all team members.
It involves the design of the database and the applications that will allow the user to use the computer system. It is the result of the study of various implementation alternatives, after determining the general structure on which the project will be built. It should be based on the characteristics of the system that will facilitate its implementation.
Once the characteristics of the system have been analyzed and its design carried out, the next step is to build a quality computer system. It requires the selection of the appropriate tools, as well as the determination of the development environment on which the system should operate and the choice of the appropriate programming language for the type of system to be developed.
This phase also includes the acquisition of all the necessary resources for the computer system to function. Additionally, it involves the development of tests that allow checking the progress of the project as it is being developed.
The main objective of the tests is to detect the errors that may have been made during the previous stages of the project, which includes the respective correction of the same before the product is in the hands of the end user.
The different tests are carried out depending on the context and the phase of the project in which we are. In this way, unit and integration tests are carried out, as well as alpha tests within the software development organization, and beta tests aimed at end users other than the members of the project’s development team.
To learn more about this phase, you can read the article on types of existing software tests .
Finally, it is also possible to carry out an acceptance test, in order to officially declare the end of the system development process. Similarly, reviews of the intermediate products of the project are made in order to verify the correction of the errors found and proceed to their validation.
Installation or deployment
It refers to the commissioning of the computer system developed. It involves the specification of the operating environment that includes both the hardware and the software, the necessary equipment, the recommended physical configuration, the interconnection networks, the operating systems involved and the other components from third parties.
In some cases, this phase involves the transition from a pre-existing system to the new system to be implemented.
Use and maintenance
Once the new computer application has begun to be used, it requires the corresponding maintenance, which usually involves three stages:
- Corrective maintenance: It involves the elimination of defects that arise during its useful life.
- Adaptive maintenance: Refers to the need for the system to work on a new version of the original operating system, or when one of the hardware elements is modified.
- Perfective maintenance: It is carried out in order to add improvements and new functionalities to the existing computer system.
It is important to take into account the exclusive care of our computers to extend their useful life.