Before reading, we recommend you have a look at our previous article: Stages of the software development cycle. Part 1
This stage is allocated rather conditionally, because, as we know, certain documents are created at all stages of the life cycle of the program. However, in addition to the project documentation and the entries accompanying the development, other text documents describe, for example, the functions of the program and how to use it.
There are four levels of documentation:
– Architectural (design) – for example, design specification. These are documents describing the models, methodologies, tools and development tools selected for this project.
– Technical – all the documentation that accompanies the development. This includes various documents explaining the development of the system at the level of individual modules. It is usually written in the form of comments to the source code, which are then structured as HTML documents.
– Custom – includes reference and explanatory materials needed by the end-user to work with the system. This is, for example, Readme and Userguide, the help section of the program.
– Marketing – includes promotional materials that accompany the release of the product. Its goal is to present the functionality and competitive advantages of the product vividly.
We have already considered the main stages of testing in the section Fundamental testing process.
The testers search for defects in the software and compare the behaviour of the system described in the requirements with the real one. In the testing phase, bugs are missed during development. When a defect is detected, the tester prepares a bug report, which is passed to the developers. The latter fixes it, after which the test is repeated – but this time to make sure that the problem has been fixed, and the correction itself did not cause new defects in the product.
Testing is repeated until the criteria for its completion are met. Types, methods and techniques of testing we will discuss in detail in this guide.
Implementation and support
When the program is tested and there are no serious defects left, it’s time to release and transfer it to end-users. After the release of the new version of the program, the technical support department will be launched. Its staff provides feedback, advice and support to users. If users detect certain post-release bugs, information about them is transmitted in the form of bug reports to the development team, which, depending on the severity of the problem, immediately releases a fix (so-called hot-fix), or postpones it until the next program version. In addition, the technical support team helps to collect and organize various metrics – indicators of the program in real conditions.
All stages of the software life cycle presented above are used in any development model, but their duration and procedure may differ.