Large software. It is easier to build a wall than a house or building, just as the software size becomes large, and engineering should do the scientific process.
Scalability – if the software process is not based on scientific and technical concepts, it would be easier to recreate new software than scaling the existing one.
Expenses. Since the equipment industry demonstrated its skills, and huge production reduced the prices for computer and electronic equipment. But the cost of software remains high if the proper process is not adapted.
Dynamic nature. The constantly growing and adapting nature of software largely depends on the environment in which the user works. If the nature of the software is constantly changing, it is necessary to make new improvements to the existing one. This is where the development of software plays a good role.
Quality management is the best software development process provides the best and high -quality software product.
Characteristics of good software
The software product can be judged by what it offers and how well it can be used. This software must satisfy the following grounds:
It is expected that well -designed and created software will have the following characteristics:
This tells us how well the software works in operations. This can be measured on:
This aspect is important when the software moves from one platform to another:
This aspect briefly describes how well the software can maintain itself in a constantly changing environment:
In short, software development is a branch of computer sciences that uses clearly defined development concepts necessary to create effective, reliable, scalable, budget and timely software products.
Life cycle of software development
The Life Development Cycle for SDLC is a clearly defined, structured sequence of software development for the development of the alleged software product.
SDLC offers a number of steps that must be performed for the effective development and development of a software product. The SDLC frame includes the following stages:
This is the first step when the user initiates a request for the desired software product. He is associated with the service provider and tries to agree on the conditions. He submits his request to the organization providing services in writing.
Collection of requirements
This step forward is a team of software developers is working on a continuation of the project. The team conducts discussions with various interested parties from the problem area and tries to provide as much information as possible about their requirements. Requirements are considered and divided into user requirements, system requirements and functional requirements. The requirements are collected using a number of methods, as indicated –
- study of the existing or outdated system and software,
- conducting user and developers surveys,
- referring to the database or
- Collection of answers from profiles.
- Technical and economic justification
After collecting the requirements, the team develops an approximate plan for the software development process. At this stage, the team analyzes whether it is possible to create software to satisfy all the user requirements and whether it is likely that the software will no longer be useful. It turns out whether the project is financially, practically technologically feasible for the organization. There are many available algorithms that help developers to conclude about the appropriateness of the software project.
At this stage, the developers decide their plan plan and try to find the best software model suitable for the project. System analysis includes an understanding of the limitations of a software product related to the training system, or changes that need to be done in existing systems, in advance, identifying and taking into account the impact of the project on the organization and personnel, etc. The project team analyzes the project scale and plans Schedule and resources, respectively.
Development of software
The next step is to complete knowledge of the requirements and analysis on the table and the development of a software product. Input data from users and information collected at the stage of collecting requirements are the input data of this stage. The result of this step is presented in the form of two projects; Logical design and physical design. Engineers produce metadata and data dictionaries, logical diagrams, data stream diagrams, and in some cases pseudo -codes.
This step is also known as the programming stage. The implementation of software development begins with writing software code in a suitable programming language and effective development of non -luxurious executive programs.
According to estimates, 50% of the entire software development process should be verified. Errors can spoil the software from a critical level before its removal. Software testing is performed by developers during coding, and thorough testing is carried out by experts at different code levels, such as module testing, program testing, product testing, internal testing and testing of the product on the user side. Early detection of errors and their elimination is the key to reliable software.
It may be necessary to integrate software with libraries, databases and other programs. This stage of SDLC is associated with the integration of software with objects of the outside world.
This means installing software on user computers. Sometimes software needs settings after installation on the user side. The software is tested for mobility and adaptability, and the problems associated with integration are solved during implementation.