A software development process, also known as a software development life-cycle (SDLC), is a set of steps that a software program goes through when developed. These are the activities and steps of this process that software developers often does:
- Requirements analysis in systems engineering and software engineering (SE), is the process of reviewing a business' processes to determine the business needs and functional requirements that a system must meet.
- In systems engineering and software development, functional specification is the documentation that describes in non-technical terms and illustrations how the requested behavior of an engineering system should work.
- The term software architecture of a computer program or software system is the structure or structures of system that aids in the understanding of how the system will behave.
- Software construction is the detailed creation of programs, processes and information used to perform various tasks within the building of a structure of meaningful software through a combination of coding, verification, unit testing, integration testing and debugging. It's one of the software engineering disciplines.
- Software design is about designing the individual modules or components. What responsibilities, functions, of module and of class are? What can it do, what's not and what design patterns can be used? It is very similar to systems design.
- Software testing is an investigation about the quality of the software product or service under test, to detect differences between given input and expected output.
- Debugging is a methodical process of identifying the number of errors such as bugs or defects, from a computer program or software to be fixed.
- Software deployment is all of the activities that get a software system ready for market. In other words, it is the process of making a computer program available for use.
- Software maintenance in software engineering is the activity of modifying a software product after delivery, in order to correct faults, to improve performance or other attributes.
Software Development Process Models
Software development models or software process models are the standardised formats or systems for planning, organising and running a development project. On the following writing below, you will see some common software process models.
Waterfall Model
The waterfall model is a traditional engineering approach applied to software engineering. The activities of the software development process represented in this model are display below.
Design⤵
Implementation⤵
Verification⤵
Maintenance
The waterfall model shows steps of a software development process, where developers are to follow these phases in order:
- Software requirements specification (SRS) is a comprehensive description of the intended purpose and environment for software system under development, or it can also be requirements analysis.
- Software design includes the process of implementing software solutions to one or more sets of problems.
- Production or implementation with system integration (SI) the process of implementing component subsystems into one system and ensuring that the subsystems function together as a system.
- Software testing and debugging or validation for verification.
- Including software deployment or installation in maintenance.
But of course, it's impossible for any quality project to finish a phase of a software product's life-cycle perfectly before stepping to the next phases and learning from them. So, if a software development team or developer need to make a change in the previous phase, it can be changed or revised.
Rapid Application Development
A programming system and the software development process model that enables developers to quickly build working computer programs, is rapid application development (RAD).
Planning
⇩
Cutover
These are the four phases of rapid application development that's on the graph above.
- 1. Requirements planning phase contains system planning the examination and evaluation of an operation to identify efficient methods, and contains systems analysis the process of studying what the system needs to do to meet the requirements of end users, which is closely related to requirements analysis.
- An RAD model have an iterative development that's dramatically compressed which only contains two phases in its standard generalized model:
- 2. User design phase is a continuous interactive process that allows users to learn, modify and eventually approve a working model of the system that meets their needs.
- 3. Construction phase contains software construction, computer programming and software application development.
- 4. Cutover phase is the final tasks on software development process activities that's compressed, including data conversion, testing, changeover to the new system and user training.
If you or your software development team want to follow a traditional engineering approach Waterfall model as your standardised format for development, go for it. Else if you want to build a non-trivial project in the fastest way, then choose rapid application development. Or else there are several software process models exist that's not mentioned here which you can also follow, go and search for them.
No comments:
Post a Comment
Please do not spam..