SOFTWARE DEVELOPMENT
MINISTRY OF HIGHER AND SECONDARY SPECIAL EDUCATION OF THE REPUBLIC OF UZBEKISTAN
NURAFSHAN BRANCH OF THE TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES NAMED AFTER MUHAMMAD AL-KHAREZMI
FACULTY "COMPUTER ENGINEERING"
BASIC SOFTWARE DEVELOPMENT PROCESSES
Specification development
Design and implementation
Certification
evolution
The software life cycle is a set of processes that take place from the moment when the decision to create the software is made before it is completely decommissioned CASCADING MODEL
Analysis and requirements formation
System Design and Software
Coding and testing of software modules
Build and test the system
The operation and
accompanying
CASCADE MODEL
Advantages:
Documentation of each stage
Flaws:
"Inflexible" division of the creation process into separate stages
Application:
The requirements are formulated quite clearly.
Widespread for the development of small systems that are part of a large project.
EVOLUTIONARY MODEL
Sketch description
Definition of specifications
Development
Certification
Initial
version
Intermediate version
Ultimate
version
Run in parallel
A prototype is an active software module that implements individual functions of the software being created.
EVOLUTIONARY MODEL
Advantages:
The specification is developed gradually, as required by the customer.
Flaws:
Many stages of software development are not documented.
The system often turns out to be poorly structured.
Special tools and technologies for software development are required.
Application:
Development of small systems (<100,000lines) or average(<500,000lines)with a relatively short lifespan.
FORMAL DEVELOPMENT
Advantages:
Exact conformity of the program to the specification.
Refusal to test individual modules.
Testing the entire system only after its assembly.
Flaws:
Require special knowledge and experience of use.
Do not give a significant gain in the cost of development.
Most complex systems are difficult to describe formally.
Application:
Clean room method(IBM).
STEP DEVELOPMENT MODEL
Advantages:
There is no need to wait for the complete development of the system.
You can use the components obtained in the first steps as prototypes.
Reduces the risk of system-wide errors.
System services with a high priority are developed first, and all subsequent ones are integrated with them. This reduces the likelihood of software errors in critical parts of the system.
Flaws:
The components obtained at each step are small in size.
It is difficult to determine the system-wide functions in the early stages.
It is impossible to immediately define a set of basic properties, which are often developed in conjunction with other parts of the system.
SPIRAL MODEL
Advantages:
There are no fixed stages.
This model can include any other models on each turn of the spiral -
prototyping can be used when requirements are not clearly defined;
Cascade model in case of successive execution of some stages;
Formal transformation model - if the requirements are clearly articulated.
Flaws:
Difficult to automate development processes.
A huge role in the development of the system is given to project management.