Software Development is a type of computer project that focuses on the creation or development of software. Software development can again be detailed in a process: 1) the creation of software to meet human needs, software design 2), 3) the development of software for business applications, or 4) the development of the platform (Wales, 2012).
Because it focuses on the invisible (software), software development is a more difficult level of work. No wonder so many software development fail because the process is not as expected. An additional criterion for the release of software development is the software's ability to further develop. This is the main difficulty that the creator must be able to document every source code to be understood by others.
In general, software development is divided into several stages, namely:
A stadium early to start software development. The purpose of this step is to produce: 1) a clear working process between each member, schedule 2) and 3) of budget funds. At this stage also, the project manager coordinates with stakeholders to make a clear work contract. In addition to containing the estimated funds, the employment contract must also have clear construction limits. This is done so that the project team is not bound by additional modules that could occur later.
Requirements and Specifications
This step is performed to determine the appropriate features and system requirements for the software to create. This step can be done with interviews, field observations and literature studies.
Architecture and Design
Is a step to determine the details of the system to use. This step is to determine the overall design of the software, including: conceptual databases, security systems, and interfaces.
Implementation and Testing
The implementation phase is implemented the step of software based on the previous steps. While the testing phase is a series of tests given to software to determine its capabilities. Tsting can be divided into: 1) safety tests, performance tests 2), stress tests 3), 4) recovery tests.
Deployment and Maintenance
The last two steps are the steps where the software has started to be used by users. There are 2 important things that exist at this stage, including: 1) training in the use of software and 2) monitoring software. The check is performed to see if the software is stable or not. This stability can be assessed by the absence of bugs that appear during use.
Several methods have been made to implement the above steps, including:
Cascade. The above steps are performed sequentially
Prototype. It was a prototype or software before being developed, so that the observation phase does not need to be done.
Incremental. The total time worked on the project is divided into smaller sections, then the above steps are performed sequentially. With this method, all the functionality is not done directly in a phase, but is divided into several periods.
Spiral. It is roughly the same as the incremental method, but it is possible to make repairs, so it repeats and resembles a spiral. With this production method takes very little time.